主题:SysConfig 中讨论的其他器件
工具/软件:
我们使用 Linux、希望使用 WKUP_GPIO0_71 作为 GPIO 输入引脚(以及其他几个引脚)。
我们已经有 WKUP_GPIO0_07 工作、并对 WKUP_GPIO0_71 进行了相同的器件树更改。 但这是不起作用的。
在数据表中、我们看到 WKUP_GPIO0_07 默认为 GPIO 引脚、但 WKUP_GPIO0_71 不是。 这是否是主要区别、因此需要特殊处理、而我们可能会遗漏这一点?
此致、
Frank
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.
工具/软件:
我们使用 Linux、希望使用 WKUP_GPIO0_71 作为 GPIO 输入引脚(以及其他几个引脚)。
我们已经有 WKUP_GPIO0_07 工作、并对 WKUP_GPIO0_71 进行了相同的器件树更改。 但这是不起作用的。
在数据表中、我们看到 WKUP_GPIO0_07 默认为 GPIO 引脚、但 WKUP_GPIO0_71 不是。 这是否是主要区别、因此需要特殊处理、而我们可能会遗漏这一点?
此致、
Frank
您好、
Linux 中的“defmem2 reg_address_physical w“
U-Boot 中的“md reg_address_physical 1“。
如果要在 Linux 中进行切换、您需要 DTS 具有 PADCONFIG。
- Keerthy
我们使用 WKUP_GPIO0_7(正在正常工作)和 WKUP_GPIO0_71:
WKUP_GPIO0_7 -> WKUP_PADCONFIG_55 -> 0x4301c0dc
WKUP_GPIO0_71 -> WKUP_PADCONFIG_77 -> 0x4301c134
u-boot 中的读取:
=> md 0x4301c0dc 1
4301c0dc: 00050007
=> md 0x4301c134 1
4301c134: 00000000
在 Linux 中读取寄存器(从 busybox 中使用 devmem):
~ # devmem 0x4301c0dc w
0x00050007
~ # devmem 0x4301c134 w
0x00000000
因此、我想不会为 WKUP_GPIO0_71 写入配置值。
在器件树中、我们提供:
J721S2_WKUP_IOPAD(0x074, PIN_INPUT, 7)
J721S2_WKUP_IOPAD(0x0cc, PIN_INPUT, 7)
彼此正下方的同一个块中。
Frank
Frank、

J721S2_WKUP_IOPAD(0x0cc, PIN_INPUT, 7)
您可以尝试以下操作:
J721S2_WKUP_IOPAD(0x134, PIN_INPUT, 7)
- Keerthy
Frank、
我抬头看了一眼 DTS:
wkup_pmx2: pinctrl@4301c068 {
compatible = "pinctrl-single";
/* Proxy 0 addressing */
reg = <0x00 0x4301c068 0x00 0x120>;
#pinctrl-cells = <1>;
pinctrl-single,register-width = <32>;
pinctrl-single,function-mask = <0xffffffff>;
};
0x134 偏移位于 wkup_pmx2 下。
因此 0x134 - 0x68 = 0xCC。
您使用的偏移正确。 因此、请分享您正在使用的完整补丁。 该偏移以 wkup_pmx2 为基准。 您是否使用过 wkup_pmx2 或 wkup_pmx0?
哪个器件还使用上述引脚多路复用节点?
例如:
&MAIN_uart8{
状态=“正常“;
pinctrl-names =“default";“;
pinctrl-0 =<& MAIN_uart8_pins_default >;
/*在此平台上与 TFA 共享*/
电源域=<&K3_PDS 357 TI_SCI_PD_Shared>;
全部引导;
};
如何连接 WKUP_GPIO0_71 引脚多路复用节点? 请分享完整的补丁、供我查看。
- Keerthy
&wkup_pmx1 { drx6_wkup_pmx1_default: drx6-wkup-pmx1-default-0 { pinctrl-single,pins = < J721S2_WKUP_IOPAD(0x00c, PIN_OUTPUT, 7) J721S2_WKUP_IOPAD(0x010, PIN_OUTPUT, 7) J721S2_WKUP_IOPAD(0x020, PIN_OUTPUT, 7) >; };};
&wkup_pmx2 { drx6_wkup_pmx2_default: drx6-wkup-pmx2-default-0 { pinctrl-single,pins = < J721S2_WKUP_IOPAD(0x054, PIN_INPUT, 7) J721S2_WKUP_IOPAD(0x068, PIN_INPUT, 7) J721S2_WKUP_IOPAD(0x06c, PIN_INPUT, 7) J721S2_WKUP_IOPAD(0x070, PIN_INPUT_PULLDOWN, 7) J721S2_WKUP_IOPAD(0x074, PIN_INPUT, 7) J721S2_WKUP_IOPAD(0x080, PIN_INPUT, 7) J721S2_WKUP_IOPAD(0x0cc, PIN_INPUT, 7) J721S2_WKUP_IOPAD(0x0d0, PIN_INPUT, 7) J721S2_WKUP_IOPAD(0x0d4, PIN_INPUT, 7) J721S2_WKUP_IOPAD(0x0d8, PIN_INPUT, 7) J721S2_WKUP_IOPAD(0x0dc, PIN_INPUT, 7) J721S2_WKUP_IOPAD(0x0e0, PIN_INPUT, 7) J721S2_WKUP_IOPAD(0x0e4, PIN_INPUT, 7) J721S2_WKUP_IOPAD(0x0e8, PIN_INPUT, 7) >; }; poe_pins_default: poe-default-pins { pinctrl-single,pins = < J721S2_WKUP_IOPAD(0x118, PIN_INPUT, 7) >; };};
&wkup_gpio0 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&drx6_wkup_pmx1_default>, <&drx6_wkup_pmx2_default>, <&poe_pins_default>; gpio-init-names = "default";};
这应该是器件树的相关部分。
Frank
J721S2_WKUP_IOPAD (0x074、PIN_INPUT、7)
设置正确。 您应该仔细看一下。
[引述 userid=“632291" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1533415/am68a-getting-wkup_gpio0_71-as-gpio-to-work/5900839 #5900839“]我们使用 WKUP_GPIO0_7(正在正常工作)和 WKUP_GPIO0_71:
WKUP_GPIO0_7 -> WKUP_PADCONFIG_55 -> 0x4301c0dc
我的另一个疑问是要检查您的设置中是否有任何其他 DTS 节点将其设置为 0、还是任何远程核心固件将其设置为 0?

您的设置中是否有可能使用 MCU_ADC0? 如果是、可以 在这里检查是否将其设置为 mode0。
请告诉我。
此致、
Keerthy
Frank、
[引述 userid=“632291" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1533415/am68a-getting-wkup_gpio0_71-as-gpio-to-work/5924415很抱歉这个问题的答案很晚、但我上周离开办公室了。
[/报价]没问题。
我禁用了远程内核的固件加载、但这会使 GPIO 无法正常工作。 我还检查了 dts 并加载了内核驱动程序、但我们不使用 MDC_ADC0。 未加载驱动程序 (ti_am335x_tscadc.ko)。
复位值通常为非零。 我来尝试一下 EVM 上是否有不同的连接。
此致、
Keerthy
Frank、
是的、您是对的。
MD 0x4301C134 1.
4301c134: 00000000
=> MW 0x4301C134 0x40007 1.
=> MD 0x4301C134 1
4301c134: 00000000
即使我尝试写入、也无法写入。 因此、如果无法修改、我将再次咨询硬件专家。 这可能是 DTS/Linux 无法像我在上述过程一样写入该寄存器的原因。
其他 WKUP_GPIO0 引脚不是 ADC、我可以写入它。
MD 0x4301C03c 1
4301c03c: 08214007 .@.
=> MW 0x4301C03c 0x40007 1.
=> MD 0x4301C03c 1
4301c03c:00040007
我将咨询硬件团队、然后重新获得该特定的引脚。
- Keerthy
我认为必须设置该位、才能指示 ADC 将 IO 视为 GPI
40F0 40B0h CFG0 CTRL_MMR_MCU_ADC0_CTRL
31:17 保留无 0h 保留
16 MCU_ADC0_CTRL_GPI_MODE_EN R/W 0h 启用 MCU_ADC0 数据引脚在设置时用作通用输入。 此信号连接到 MCU_ADC0 的 en_DIG_TEST 输入
15:5 保留无 0h 保留
4:0 MCU_ADC0_CTRL_TRIG_SEL R/W 0h “选择 ADC 硬件事件触发源