This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3352: U-boot pin definitions

Part Number: AM3352

Hello,

i am using a Custom Board with the Sitara AM3352. The Board is working fine with a U-Boot 2014.04 all is working perfectly, including Pins and GPIO.

A while ago we updated our Board to U-Boot 2017.07. The U-Boot (SPL+U-Boot Image) is successfully booted via UART.

Seems like there is a Problem with Pins in General.

No i2c is detected and the defined GPIO Pins do not work.

I also tried to set the gpio pins (LEDs) with the GPIO command.
For example "gpio set 55", with U-Boot 2014.04 the command is working.
With the 2017.07 Version there is a error GPIO: '55' not found, failed: Error -22.

Tracking the error shows the gpio-uclass.c is used.
Probably because in the configuration the CONFIG_DM and CONFIG_DM_GPIO is enabled.

I did check the Pin mux and everything looks fine so far, besides the definitions are adapted from the working 2014.04 Version.

The mux.c was adapted from the 2014.04 Version.

The needed .dts File is used from a Linux System which is started from U-Boot 2014.04 and works fine there.

Is there anything about Pin definitions (mux/devicetree) I have to keep in mind when using the dm (Driver Model) ?

Maybe someone could guide me to what I can do to trace the Problem.

Or maybe someone had a similar problem and could help me fix it.



Thx for the help!

Best regards
Christoph

  • Hello,

    I tried to track the error and did some tests.

    The command "dm tree" does only show root, timer and serial but now gpio, i2c, mmc or something else.

    The command "dm uclass" does show some classes like timer, serial, i2c, gpio, mmc.

    But there are no uclass devices.

    I also tried to do a gpio_request() and it failed. Tracking the error it showed no uclass_first_device is found. (for UCLASS_GPIO for example)

    Anyone got some similar problems?

    I really would appreciate some help, thx!

    Best regards,

    Christoph

  • Did you re-use your .dts from 2014...did you just copy that to your 2017 code? If so, that could be the problem. Some node definitions might have changed.
  • No didnt re-use it, because there was no dts in the 2014 Version.

    The dts is from a working linux System running on the same hardware with the 2014 u-boot.

  • Hello,

    I fixed the problem with enabling the CONFIG_SIMPLE_BUS=y in the configuration.

    It is set in the am33xx.dtsi file for compatible of gpio,mmc, ...

    Best regards,
    Christoph