> Gesendet: Freitag, 12. April 2019 um 19:07 Uhr > Von: "Mike Looijmans" <mike.looijm...@topic.nl> > An: "Arno Steffens" <e...@gmx.de> > Cc: "meta xilinx" <meta-xilinx@yoctoproject.org> > Betreff: Re: Aw: Re: [meta-xilinx] Kernel version, xilinx git repo, yocto > kernel > > On 12-04-19 15:39, Arno Steffens wrote: > > > > > >> Gesendet: Mittwoch, 10. April 2019 um 07:39 Uhr > >> Von: "Mike Looijmans" <mike.looijm...@topic.nl> > >> An: "meta xilinx" <meta-xilinx@yoctoproject.org> > >> Betreff: Re: [meta-xilinx] Kernel version, xilinx git repo, yocto kernel > >> > >> On 07-04-19 11:41, Arno Steffens wrote: > >>> In fact, I think I have difficulties with glitches on the bus, but > >>> changes at the boards are much more expensive and time consuming - so > >>> I'll try to get a better stability with that gpio-bitbang driver. > >>> > >>> Thanks Mike, especially for the hints with devicetree. Are this GPIO > >>> numbers are same as MIO-Pin-numbers? I found that the base-include for > >>> zynq has been changed completly (at least in my eyes), so it will take > >>> some time to adapt it to a new kernel. > >>> I created a new bitstream (IO set to GPIO instead of I2C) and (not sure > >>> whether it is required) a new fsbl. I don't need I2c in Uboot, but I am > >>> wondering where this gets information about it. Including driver in > >>> kernel is smallest issue. So altogether this becomes quite a project for > >>> me ;) but I hope I learn a lot with that. Did all this steps just once or > >>> twice some time ago. > >>> > >> > >> GPIO and MIO pin numbers are the same. > >> > >> The bitstream has no efect whatsoever on the MIO pins (Xilinx is very > >> unclear > >> about this), so there's no need to change it. > >> > >> The "pinmux" settings let the kernel change the pin assignments, so there > >> is > >> also no need to alter the bootloader. On the 7-series at least the > >> bootloader > >> only needs enough to boot the system, the kernel can configure everything > >> else. > >> > > > > That partly comes to late for me. I digged around (run from one trouble to > > next with Vivado) but finally come to a simular but not same conclusion. In > > fact, bitstream doesn't contain pinmux, but FSBL. At least after changing > > just FSBL i2c doesn't work at all (with old cadence i2c-kernel/devicetree). > > So kernel/devicetree alone might not be enough (kernel 4.14) > > Yeah, Xilinx is very unclear about that stuff. Some of the PS settings > end up in the bootloader, but quite a lot (like the PS-PL > intercommunication) doesn't end up anywhere at all and just serves to > make Vivado show or hide pins on the processor IP. > > > I changed kernel for using bitbang instead of cadence i2c driver. But with > > devicetree I failed. I didn't get a clue how it works in detail and > > compiler is not very helpful with debug messages. Especially this mixture > > of zynq-7000.dtsi and dts. > > I finally end up with decompiling my previous devicetree, fiddling your > > miami devicetree to kernel, run dtbs and decompiled the dtb. > > So I have 2 simplier decompiled devicetrees for a better side by side > > comparison. > > With adding i2c stuff I get at least something compilable again (see > > attached), but kernel gives me > > > > i2c /dev entries driver > > cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer at df8f6000 with timeout > > 10s > > .... > > i2c-gpio gpios-i2c@22: could not find pctldev for node > > /amba/slcr@f8000000/pinctrl@700/i2c0-default, deferring probe > > i2c-gpio gpios-i2c@28: could not find pctldev for node > > /amba/slcr@f8000000/pinctrl@700/i2c1-default, deferring probe > > > > So I have I2C0 with GPIO22,23 and I2C1 with 28,29. > > > > (Without the last i2c entries in dts I don't get this messages, but in > > neither of the options an entry /dev/i2c-0,1 is created). > > What is wrong/missed? > > I think your kernel is lacking the zynq pinmux driver, run the kernel's > menuconfig and enable it.
Zync-Pinmux driver has been already enabled, just to be sure I added the CONFIG_GENERIC_PINMUX_FUNCTIONS: with no change. In a next attemped I changed back to the old FSBL (with pinmux to i2c hardware) - same. As mentioned I can get rid of this kernel-message by removing last line in devicetree - but no dev-node /dev/i2c-0 or 1 will be created. I added to kernel some debug statements and get in messages (just that with i2c in it): microzed-zynq7 user.debug kernel: bus: 'i2c': add driver rtc-pcf8563 microzed-zynq7 user.debug kernel: i2c-core: driver [rtc-pcf8563] registered microzed-zynq7 user.info kernel: i2c /dev entries driver microzed-zynq7 user.debug kernel: device class 'i2c-dev': registering microzed-zynq7 user.debug kernel: bus: 'i2c': add driver pmbus microzed-zynq7 user.debug kernel: i2c-core: driver [pmbus] registered microzed-zynq7 user.debug kernel: bus: 'i2c': add driver ucd9000 microzed-zynq7 user.debug kernel: i2c-core: driver [ucd9000] registered microzed-zynq7 user.debug kernel: bus: 'i2c': add driver ucd9200 microzed-zynq7 user.debug kernel: i2c-core: driver [ucd9200] registered microzed-zynq7 user.debug kernel: platform gpios-i2c@22: Retrying from deferred list microzed-zynq7 user.debug kernel: bus: 'platform': driver_probe_device: matched device gpios-i2c@22 with driver i2c-gpio microzed-zynq7 user.debug kernel: bus: 'platform': really_probe: probing driver i2c-gpio with device gpios-i2c@22 microzed-zynq7 user.info kernel: i2c-gpio gpios-i2c@22: could not find pctldev for node /amba/slcr@f8000000/pinctrl@700/i2c0-default, deferring probe microzed-zynq7 user.debug kernel: i2c-gpio gpios-i2c@22: no pinctrl handle microzed-zynq7 user.debug kernel: platform gpios-i2c@22: Driver i2c-gpio requests probe deferral microzed-zynq7 user.debug kernel: platform gpios-i2c@22: Added to deferred list microzed-zynq7 user.debug kernel: platform gpios-i2c@28: Retrying from deferred list microzed-zynq7 user.debug kernel: bus: 'platform': driver_probe_device: matched device gpios-i2c@28 with driver i2c-gpio microzed-zynq7 user.debug kernel: bus: 'platform': really_probe: probing driver i2c-gpio with device gpios-i2c@28 microzed-zynq7 user.info kernel: i2c-gpio gpios-i2c@28: could not find pctldev for node /amba/slcr@f8000000/pinctrl@700/i2c1-default, deferring probe microzed-zynq7 user.debug kernel: i2c-gpio gpios-i2c@28: no pinctrl handle microzed-zynq7 user.debug kernel: platform gpios-i2c@28: Driver i2c-gpio requests probe deferral microzed-zynq7 user.debug kernel: platform gpios-i2c@28: Added to deferred list microzed-zynq7 user.debug kernel: platform gpios-i2c@22: Retrying from deferred list ... > > If you've already changed the pinmux in the FSBL, you can remove the > pinmux references "pinctrl-names" and "pinctrl-0" from the gpio driver > and that should also work, without the pinmux driver that is. For now I would better keep it in, a reconfiguration again shoudn't matter. Just to be sure. Seems to be an easier task to switch to bitbang as it is in real... Found a patch (https://patchwork.kernel.org/patch/7464441/) from you, wondering if this becomes part of mainline (I am on 4.14.52 kernel.org) Cheers Arno > > > A nice weekend, > > Same! > > > > >>>> Gesendet: Freitag, 05. April 2019 um 07:44 Uhr > >>>> Von: "Mike Looijmans" <mike.looijm...@topic.nl> > >>>> An: "Arno Steffens" <e...@gmx.de> > >>>> Cc: "meta xilinx" <meta-xilinx@yoctoproject.org> > >>>> Betreff: Re: Aw: Re: [meta-xilinx] Kernel version, xilinx git repo, > >>>> yocto kernel > >>>> > >>>> On 04-04-19 14:03, Arno Steffens wrote: > >>>>> Thanks Mike for this clear (and surprising) words. > >>>>> The reason I thought it might help is that functions like this > >>>>> (cdns_i2c_init_recovery_info) has been added. > >>>> > >>>> Well if you need recovery, something is broken on the bus... > >>>> > >>>>> I'll check the bitbang option. Do I have to expect performance/timing > >>>>> issues? > >>>>> I guess I have to adjust devicetree for that too? Phuuuuu. Thats always > >>>>> magic to me. > >>>>> Kind regards, Arno > >>>> > >>>> Here's our devicetree that sets up the bitbank stuff: > >>>> > >>>> https://github.com/topic-embedded-products/linux/blob/topic-miami/arch/arm/boot/dts/topic-miami.dtsi > >>>> > >>>> Don't forget to activate the bitbang GPIO I2C driver in the "drivers" > >>>> section > >>>> of the kernel configuration as well. > >>>> > >>>>> > >>>>>> Gesendet: Donnerstag, 04. April 2019 um 07:31 Uhr > >>>>>> Von: "Mike Looijmans" <mike.looijm...@topic.nl> > >>>>>> An: "Arno Steffens" <e...@gmx.de>, "meta xilinx" > >>>>>> <meta-xilinx@yoctoproject.org> > >>>>>> Betreff: Re: [meta-xilinx] Kernel version, xilinx git repo, yocto > >>>>>> kernel > >>>>>> > >>>>>> Simple solution would be to just stop using the cadence driver. There > >>>>>> are > >>>>>> issues in the Zynq that cannot really be resolved in software > >>>>>> apparently, and > >>>>>> the only way around them we've found is to just use a bitbang GPIO > >>>>>> controller > >>>>>> on the same pins. That made all problems go away. > >>>>>> > >>>>>> Chances are that moving to a newer kernel will not resolve your I2C > >>>>>> issues anyway. > >>>>>> > >>>>>> On 03-04-19 13:53, Arno Steffens wrote: > >>>>>>> I need a more recent kernel (Zynq 7000) and wondering, what can I do. > >>>>>>> Why I am looking for that? > >>>>>>> I have I2C issues and guess I need the recovery functionality, but > >>>>>>> the Cadence I2c driver that supports it is only in the current xilinx > >>>>>>> master branch. Even not in mainline 4.19. > >>>>>>> > >>>>>>> Before this I2C issue popped up I took a kernel.org LTS kernel and > >>>>>>> patch/take over the qspi/dma stuff that I need from the xilinx > >>>>>>> kernel. But this time it will not work. What would you recommend me? > >>>>>>> > >>>>>>> Just take to master branch? That will probably never work with RT > >>>>>>> patches ... > >>>>>>> The xlx-kernel - Which kernel-org version it is based on? > >>>>>>> > >>>>>>> Best regards, Arno > >> > >> -- > >> _______________________________________________ > >> meta-xilinx mailing list > >> meta-xilinx@yoctoproject.org > >> https://lists.yoctoproject.org/listinfo/meta-xilinx > >> > > > > > -- > Mike Looijmans > -- _______________________________________________ meta-xilinx mailing list meta-xilinx@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-xilinx