GPIO request failures for Renesas rcar-gen3

Adam Ford aford173 at gmail.com
Thu Jun 18 23:20:56 CEST 2020


On Thu, Jun 18, 2020 at 4:00 PM Marek Vasut <marek.vasut at 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-aford173@gmail.com/

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 at e6050000
 gpio          1  [   ]   rcar-gpio             |   |-- gpio at e6051000
 gpio          2  [ + ]   rcar-gpio             |   |-- gpio at e6052000
 gpio          3  [   ]   rcar-gpio             |   |-- gpio at e6053000
 gpio          4  [   ]   rcar-gpio             |   |-- gpio at e6054000
 gpio          5  [   ]   rcar-gpio             |   |-- gpio at e6055000
 gpio          6  [ + ]   rcar-gpio             |   |-- gpio at e6055400
 gpio          7  [   ]   rcar-gpio             |   |-- gpio at e6055800
 clk           8  [ + ]   clk_r8a774a1          |   |--
clock-controller at e6150000
 i2c           0  [   ]   i2c_rcar              |   |-- i2c at e6500000
 i2c           1  [   ]   i2c_rcar              |   |-- i2c at e6510000
 i2c           2  [   ]   i2c_rcar              |   |-- i2c at e66d8000
 i2c           3  [   ]   i2c_rcar              |   |-- i2c at e66e0000
 eth           0  [   ]   ravb                  |   |-- ethernet at e6800000
 serial        0  [   ]   serial_sh             |   |-- serial at e6e60000
 serial        1  [ + ]   serial_sh             |   |-- serial at e6e88000
 serial        2  [   ]   serial_sh             |   |-- serial at e6f30000
 usb           0  [   ]   ehci_generic          |   |-- usb at ee080100
 usb           1  [   ]   ehci_generic          |   |-- usb at ee0a0100
 phy           0  [   ]   rcar-gen3-phy         |   |-- usb-phy at ee080200
 phy           1  [   ]   rcar-gen3-phy         |   |-- usb-phy at ee0a0200
 mmc           0  [ + ]   renesas-sdhi          |   |-- sd at ee100000
 blk           0  [   ]   mmc_blk               |   |   `-- sd at ee100000.blk
 mmc           1  [ + ]   renesas-sdhi          |   |-- sd at ee160000
 blk           1  [ + ]   mmc_blk               |   |   `-- sd at ee160000.blk
 pci           0  [   ]   rcar_gen3_pcie        |   |-- pcie at fe000000
 pci           1  [   ]   rcar_gen3_pcie        |   `-- pcie at 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
=>


More information about the U-Boot mailing list