GPIO request failures for Renesas rcar-gen3

Adam Ford aford173 at gmail.com
Thu Jun 18 23:29:54 CEST 2020


On Thu, Jun 18, 2020 at 4:20 PM Adam Ford <aford173 at gmail.com> wrote:
>
> 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/
>

I already submitted the board device tree stuff to the Linux community
and I am waiting for feedback to finalize it before attempting to post
here.  If it's helpful, I can post the rest of my series with the
board device tree and board files instead of waiting.


> 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