[Letux-kernel] X1600 / LX16 support - here: adding MMC

Andreas Kemnade andreas at kemnade.info
Sat Feb 10 23:20:56 CET 2024


On Sat, 10 Feb 2024 21:23:21 +0100
"H. Nikolaus Schaller" <hns at goldelico.com> wrote:

> > Am 10.02.2024 um 17:58 schrieb Andreas Kemnade <andreas at kemnade.info>:
> > 
> > On Sat, 10 Feb 2024 14:53:47 +0100
> > "H. Nikolaus Schaller" <hns at goldelico.com> wrote:
> >   
> >> 
> >> If pinctrl is broken, this can explain other problems. Like no clock at msc1.
> >> Or why we have to disable the UART DTS nodes. In that case the U-Boot defaults likely survive.
> >> 
> >> Despite the pinctrl driver being part of the working 5.10.y it has got some (un)tested
> >> upstream work and adaptations for v6.8.
> >> 
> >> Some ideas:
> >> * check /sys/kernel/debug/gpio (if the gpio is configured as output)  
> > 
> > # cat /sys/kernel/debug/gpio 
> > gpiochip0: GPIOs 0-31, parent: platform/10010000.pinctrl, GPIOA:
> > 
> > gpiochip1: GPIOs 32-63, parent: platform/10010000.pinctrl, GPIOB:
> > 
> > gpiochip2: GPIOs 64-95, parent: platform/10010000.pinctrl, GPIOC:
> > gpio-64  (                    |led-0               ) in  lo 
> > gpio-92  (                    |bootsel1            ) in  lo IRQ 
> > gpio-95  (                    |WAKEUP              ) in  hi IRQ ACTIVE LOW
> > 
> > gpiochip3: GPIOs 96-127, parent: platform/10010000.pinctrl, GPIOD:
> > 
> > after unbinding led-gpio:
> > 
> > /sys/devices/platform/apb/10010000.pinctrl/gpiochip2/gpio/gpio64 # echo out >dir
> > ection 
> > /sys/devices/platform/apb/10010000.pinctrl/gpiochip2/gpio/gpio64 # cat direction
> > in  
> 
> Maybe an explanation is the attached hex dump of CGU, MSC0/1 and PC/PD pincrl
> (where the red LEDs and MMC0/1 are connected to). The dump starts right after
> entering jz4740_mmc_probe where I thing the pinctrl is already set up (and
> rewound if probe fails):
> 
busybox devmem 0x10010238 32 0x2
did the trick for the led, it clears the direction bit. Maybe there is some
issue with set/clear registers in the pinctrl driver.

/sys/devices/platform/apb/10010000.pinctrl/gpiochip2/gpio/gpio65 # cat direction
 
out
/sys/devices/platform/apb/10010000.pinctrl/gpiochip2/gpio/gpio65 # echo 0 >value
 
/sys/devices/platform/apb/10010000.pinctrl/gpiochip2/gpio/gpio65 # echo 1 >value
now finally toggles a red led.

Regards,
Andreas


More information about the Letux-kernel mailing list