Hi Fabrizio, The Ethernet driver is starting to show its age. It should use the mux_sys subsystem that is passed in via the io_ops for initialising the pins.
I will create a ticket for this to be fixed, but I am afraid that it will not be high priority. - AlexK On Wed, 2017-06-21 at 18:54 -0400, Fabrizio Bertocci wrote: > Hi all, > I am facing an issue with our existing project (currently based on > seL4 1.0). > I am in the process of migrating our project to the latest version of > seL4. After all the required changes I am facing a problem I need some > help. > > > In our code, we use libplatsupport for timer & serial I/O as well as > the libethdriver in order to use the network interface of the IMX6 > board. > > > The problem appears that the IOMUX device registers are mapped twice. > A first time from libplatsupport (and never released): > > > -> sel4platsupport_new_io_ops() > -> calls: mux_sys_init() > -> calls the macro: MAP_IF_NULL(io_ops, IMX6_IOMUXC, > _mux.iomuxc); > > > This end up mapping the device region IMX6_IOMUXC: 0x20e0000 - > 0x20e100 (size_bits=12). > > > > So far so good... > but then they are mapped again from the ethernet driver: > ethif_new_lwip_driver_no_malloc() > -> call my initialization fn > -> call ethif_imx6_init() > -> call setup_iomux_enet() > that end up mapping again the region @ IOMUXC_PADDR = 0x20e1000 > > > This second time, the mapping function _utspace_split_alloc fails > because apparently the region 0x20e000 has been already mapped (and is > not in the regions available). > > > If I comment out the call to mux_sys_init() in > libsel4platsupport_new_io_ops() my ethernet driver successfully > initialize (but clearly that's not the correct workaround). > > > Any suggestions? > Regards, > Fabrizio Bertocci > Real-Time Innovations, Inc. > Sunnyvale, CA > > > > > _______________________________________________ > Devel mailing list > [email protected] > https://sel4.systems/lists/listinfo/devel _______________________________________________ Devel mailing list [email protected] https://sel4.systems/lists/listinfo/devel
