F&S Bus accessing

  • We're trying to use the F&S Bus externally to PicoMOD6, in the same way that you're using it in SKIT-FSBUS-UART-Extension. So, we need to know the addressing maps or peripheral map, to use properly F&S Bus. Particularly the internal PicoMOD6 map in order to avoid conflicts while accessing this bus. Do you have any manual about this topic? We've read that the schematics of this extension board is available, so we're also asking for it. This extension is selled for running WindowsCE on PicoMOD6 can we run on the same way on Linux? We need more peripherals connected outside PicoMOD6, but we don't have enough information to perform it.


    Best regards, truly.

  • We've found no info about this topic. We're very interested in using Picomod6, but we need more communications capabilities (Ethernet, RS-232, ... etc). Has anobody used FSBus to connect some non-PCI interface?

  • Currently there is no driver for the FS-Bus on Linux yet. But we will work on it in the near future. We will release a new version tomorrow, but that will not have FS-Bus support (it is mainly directed at a new U-Boot), but the next release will already be in a few weeks and we'll try to have FS-Bus support by then.


    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • What's about this topic, we have develop a solution with an UART extension and another Ethernet driver using this expansion bus (FS-Bus), we need more information or support by F&S. Please give us some help, cause we are close to launch a first pre-production series of 15 equipments. Later, we'll have a 600 units per year typical production.


    If F&S does not give us support we will consider other embedded board options.


    Does any distributor from Spain is able to give us support or direct contact with your engineers team?


    Best regards.

  • We're sorry that this topic could not be handled yet. But it was really important for us to get the PicoCOM3 up and running with Linux.


    However I'd expect that the way we will implement this issue will not satisfy you anyway. Here is why. Our NetDCU boards always had an 8 bit parallel port with an additional 9th bit to select between addresses and data. This interface was called FS-Bus. So the idea was that you could either send an address (with address selection bit active) or send or receive some data (with address selection bit inactive). We have quite a few hardware extensions in our range of products that are using this simple 8 bit port. So when we talk about "supporting the FS-Bus", we are mainly talking about supporting this old-style format with 8 data and 1 selection bit, to make it possible to connect the existing extensions to the PicoMOD6 board.


    However this interface on the PicoMOD6 now supports 11 address bits, 16 data bits and a chip select. This is actually the address and data bus of the system that is available here. So it is possible to connect some hardware in a memory mapped manner. We may provide some additional generic driver in the future that allows to map this address region to user space with mmap(). This would allow the user to transfer data by simply writing to or reading from some (virtual) memory position. However he has to implement the whole protocol on his own then. If this protocol is more complex, like in case of an ethernet controller, this would be some kind of full blown user space ethernet driver with an interface to the networking layer of Linux itself. I can't estimate if this is even possible from user space, regarding all the necessary synchronization and interrupt work. So I would say such a generic memory mapped FS-Bus driver would only be usable for rather simple external hardware.


    We also think that the main reason for connecting some hardware to this system bus is speed. So usually it is essential for the customer to have a kernel mode driver for this hardware, running directly within the Linux kernel. But this is something we can not support in a general way anymore. It is impossible for us to know what hardware will be connected to this system bus by all our customers in the future and therefore we can not provide all the appropriate drivers in advance. So I believe the only possibility for you is to get some more in-depth knowledge of the Linux kernel and try to port some (hopefully existing) ethernet and UART drivers to the PicoMOD6 yourself. The only thing you have to know is the physical base address for this memory region, which is 0x10000000 in our case, and of course some GPIO setting and interrupt handling. If you think you can not do this on your own, you can also give us (probably via your distributor) all the specifications of your chips and then we can make a fix price offer of how much it would cost if we implement/port these drivers for you.


    Let me summarize: if we support the FS-Bus, we will either implement the old 8-bit FS-Bus protocol, or a generic driver to allow memory mapped access from user space. But neither of them will help you much in your task of accessing your Ethernet and UART chips. So you either have to port some kernel drivers yourself, or we can do it for you -- but unfortunately not for free anymore.


    Your F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.