
On Thu, Jun 18, 2020 at 4:00 PM Marek Vasut marek.vasut@gmail.com wrote:
On 6/18/20 10:33 PM, Adam Ford wrote:
I am trying to port U-Boot to a new product based on a Renesas RZ/G2M (rcar-gen3). We're have this working with Renesas' version from 2018.09, but I am trying to integrate it with U-Boot 2020.07-rc4
What's happening is that it seems like all GPIO are failing to be requested, so things like regulator-gpio fail, reset-gpios, etc. all return errors.
The dm tree and gpio status commands all appear to show gpio banks are enumerating, but since nothing can use the GPIO's it seems like the common thread is the gpio driver for the rcar3.
I was hoping someone might have some thoughts of things I could try or investigate. In order to properly set the voltage for the MMC card, I need "regulator-gpio" to operate correctly.
Note that RZ/G2M is not supported by mainline U-Boot.
Also note that the GPIO driver and PFC drivers are working together, grep for sh_pfc_config_mux_for_gpio(), so unless both work and probed, the GPIO driver will likely not work.
I just sent a series [1] for review for porting the PFC, clock drivers and MMC over.
[1] - https://patchwork.ozlabs.org/project/uboot/patch/20200618211444.391556-2-afo...
It looks to me like the gpio driver looks for "rcar-gen3-gpio" which is included in the SoC's DTSI file. I looked in Renesas' upstream repo, but I didn't find anything unique in the gpio driver, but maybe there is something in the gpio driver I missed.
Can you provide 'dm tree' output ?
=> dm tree Class Index Probed Driver Name ----------------------------------------------------------- root 0 [ + ] root_driver root_driver clk 0 [ ] fixed_rate_clock |-- audio_clk_a clk 1 [ ] fixed_rate_clock |-- audio_clk_b clk 2 [ ] fixed_rate_clock |-- audio_clk_c clk 3 [ ] fixed_rate_clock |-- can clk 4 [ + ] fixed_rate_clock |-- extal clk 5 [ + ] fixed_rate_clock |-- extalr clk 6 [ ] fixed_rate_clock |-- pcie_bus firmware 0 [ ] psci |-- psci clk 7 [ ] fixed_rate_clock |-- scif simple_bus 0 [ + ] generic_simple_bus |-- soc gpio 0 [ ] rcar-gpio | |-- gpio@e6050000 gpio 1 [ ] rcar-gpio | |-- gpio@e6051000 gpio 2 [ + ] rcar-gpio | |-- gpio@e6052000 gpio 3 [ ] rcar-gpio | |-- gpio@e6053000 gpio 4 [ ] rcar-gpio | |-- gpio@e6054000 gpio 5 [ ] rcar-gpio | |-- gpio@e6055000 gpio 6 [ + ] rcar-gpio | |-- gpio@e6055400 gpio 7 [ ] rcar-gpio | |-- gpio@e6055800 clk 8 [ + ] clk_r8a774a1 | |-- clock-controller@e6150000 i2c 0 [ ] i2c_rcar | |-- i2c@e6500000 i2c 1 [ ] i2c_rcar | |-- i2c@e6510000 i2c 2 [ ] i2c_rcar | |-- i2c@e66d8000 i2c 3 [ ] i2c_rcar | |-- i2c@e66e0000 eth 0 [ ] ravb | |-- ethernet@e6800000 serial 0 [ ] serial_sh | |-- serial@e6e60000 serial 1 [ + ] serial_sh | |-- serial@e6e88000 serial 2 [ ] serial_sh | |-- serial@e6f30000 usb 0 [ ] ehci_generic | |-- usb@ee080100 usb 1 [ ] ehci_generic | |-- usb@ee0a0100 phy 0 [ ] rcar-gen3-phy | |-- usb-phy@ee080200 phy 1 [ ] rcar-gen3-phy | |-- usb-phy@ee0a0200 mmc 0 [ + ] renesas-sdhi | |-- sd@ee100000 blk 0 [ ] mmc_blk | | `-- sd@ee100000.blk mmc 1 [ + ] renesas-sdhi | |-- sd@ee160000 blk 1 [ + ] mmc_blk | | `-- sd@ee160000.blk pci 0 [ ] rcar_gen3_pcie | |-- pcie@fe000000 pci 1 [ ] rcar_gen3_pcie | `-- pcie@ee800000 clk 9 [ ] fixed_rate_clock |-- usb3s0 clk 10 [ ] fixed_rate_clock |-- usb_extal clk 11 [ ] fixed_rate_clock |-- osc_32k regulator 0 [ + ] fixed regulator |-- regulator0 regulator 1 [ + ] fixed regulator |-- regulator1 regulator 2 [ ] fixed regulator |-- regulator_audio regulator 3 [ ] fixed regulator |-- regulator-lcd regulator 4 [ ] fixed regulator |-- regulator-lcd-reset regulator 5 [ ] fixed regulator |-- regulator_camera regulator 6 [ + ] gpio regulator |-- regulator-vccq-sdhi0 clk 12 [ ] fixed_rate_clock |-- x302-clock clk 13 [ ] fixed_rate_clock `-- x304-clock =>