My hardware team selected SDMMC3 Pins as a module reset GPIOs. I need them to be output pins, but nothing it’s working. I can’t get 1V8. I’ve made some changes in the tegra210-porg-pinmux-p3448-0002-b00.dtsi as follows:
But when i export the sysfs GPIOs (pins 120,121,122,123,124,125) and set their value to 1, nothing happens. The output remais 0V. Any idea about what’s happening?
I don’t believe there is something about that, I use sysfs to other pins normally. These pins are connected to a communication module. Do they have a specific impedance requirement? The sysfspin 202, GPIO08, is connected to it and works.
Yes, that’s exactly what I’m saying. I can’t control sdmmc3_dat0_pp5 through sysfs (gpio125) even changing its functionality in pinmux, but the sysfs gpio202 works fine. I asked about the module impedance, because maybe for some reason the pin can’t trigger. About R32.7.4, I don’t get it.
According to the dtsi that you posted, it doesn’t seem that you actually changed the direction from the pin in the dtsi. If you want to set it as output change the AT column from the spreadsheet. Also change the Req. Initial State to Drive 1, in this way you will see a logic one on that pin just after the board boots up.
@OscarPorras, thank you for your response. I’ve followed the @KevinFFF instructions and generated other dtsi with the correct parameters, the problem remains the same.
@KevinFFF it’s not a sysfs user problem, I just made a mistake while writing to you here, but I know how to use it and I’m exporting correctly, it succeeded with other pins.
@WayneWWW that’s exactly what’s happening. I’m able to control other pins throught sysfs, the PZ2 GPIO8 (sysfs gpio202), for example, GPIO4, GPIO12, CAM0_MCLK and etc as well. But sdmmc3 pins just fail, even when I modify the pinmux dtsi as folllows:
Yes, and this for all the sdmmc3 pins: pp0, pp1, pp2, pp3, pp4 and pp5. As @OscarPorras suggested I configured them as drive 1, to init as 1V8, they initiate as 1V8 and I can change their state to 0V through sysfs, but I can’t change it to 1V8 again.
Is there an easy way to confirm that? I’ve changed the function of sdmmc3 as I printed above. Is there any other things that I need to do to disable it?
[ 0.592884] vddio-sdmmc-ap: 1800 ↔ 3300 mV at 3300 mV
[ 0.600227] vddio-sdmmc3-ap: 1800 ↔ 3300 mV at 2800 mV
[ 0.621847] tegra210_dvfs: no clock found for sdmmc2_ddr
[ 0.621861] tegra210_dvfs: no clock found for sdmmc4_ddr
[ 0.621905] tegra210_dvfs: no clock found for sdmmc1_ddr
[ 0.621919] tegra210_dvfs: no clock found for sdmmc3_ddr
[ 42.103003] vddio-sdmmc3-ap: disabling