MA35D1部分GPIO无法控制

cwlin0 |浏览179次
收藏|2023/05/12 13:43

使用sysfs设定gpio的方法,目前测试设置一些gpio为输出然后"echo 1 >value"是只可以成功写入一部分gpio(例如port M) 但是 port E 0到6 使用kernel sysfs或者内部m4都无法控制。(已经检查设备树无其他设备正在使用port E 0到6),GPIOD测试也是一样。

满意回答

2023/05/12 13:48

PE有一部分是复用到网口,PD是复用到串口,这些都要注意,还有涉及到TFA。

比如PE1口,参考下列修改进行测试:


步骤1:

MA35D1_Buildroot\output\build\arm-trusted-firmware-custom\fdts\ma35d1.dtsi

 sspcc: sspcc@404F0000 {

                compatible = "nuvoton,ma35d1-sspcc";

                reg = <0x0 0x404F0000 0x0 0x1000>;

                config = <UART0_TZNS>,

                        <SDH0_TZNS>,

                        <SDH1_TZNS>,

                        <NAND_TZNS>,

                        <QSPI0_TZNS>,

                        <CRYPTO_TZNS>,

                        <WDTWWDT1_TZNS>,

                        <HSUSBD_TZNS>,

                        <PDMA0_TZNS>,

                        <PDMA1_TZNS>,

                        <TIMER01_TZNS>,

                        <UART16_SUBM>,

                        <TRNG_TZNS>;

                        gpio_s = <PE1_NS>;

        };


步骤2:

uboot关闭网口

output/build/uboot-custom/arch/arm/dts/ma35d1.dtsi


步骤3:

内核关闭网口

output/build/linux-custom/arch/arm64/boot/dts/nuvoton/ma35d1-iot-512m.dts


编译:

make uboot-rebuild

make arm-trusted-firmware-rebuild

make linux-rebuild

make


测试:

echo 1 > /sys/class/gpio/gpio65/value


nuvoton2022

其他回答(0)
0人关注该问题
+1
 加载中...