工具/软件:
尊敬的专家:
我对 TDA4VM GPIO 引脚多路复用有疑问:
GPIO0[0:127]、 具有128个引脚
GPIO1[0:35]、 具有36个引脚
因此、 引脚总数(主域)为164。
为什么 PADCONFIG 寄存器的总数 达到173?
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.
您好、
您能给我们讲一讲您将用于工程的 TI SDK 吗?
有关如何执行此操作的信息取决于您计划用于 GPIO 的 SDK 和 TDA4VM 内核。
建议您了解此处提供的 TI SDK -> https://www.ti.com/tool/PROCESSOR-SDK-J721E
Unknown 说:为什么 PADCONFIG 寄存器总数 达到173?
请注意、引脚是多路复用的、并非所有引脚都可以配置为 GPIO。 请详细查看器件数据 表 TDA4VM 处理器数据表(修订版 K) 第5.4章中的所有引脚配置。
谢谢。
嗨、Praveen。
我使用 TI Linux SDK: TI-processor-sdk-linux-j7-evm-08_00_00_08
然后 我按以下方式修改了器件树文件:
&main_pmx0 { // ... deser0_ctrl_gpio_pins_default: deser0-gpio-pins-default { pinctrl-single,pins = < J721E_IOPAD(0x120, PIN_OUTPUT, 7) /* (AA28) GPIO0_71 */ J721E_IOPAD(0x230, PIN_OUTPUT, 1) /* (U2) GPIO1_11 */ J721E_IOPAD(0x188, PIN_INPUT | ST_EN, 7) /* (Y28) GPIO0_97 */ >; }; // ... }; // ... &main_i2c1 { pinctrl-names = "default"; pinctrl-0 = <&main_i2c1_pins_default>; clock-frequency = <400000>; #address-cells = <1>; #size-cells = <0>; // ... c3lync-deser@71 { compatible = "meritech,m65q6x"; // ... pinctrl-names = "default"; pinctrl-0 = <&deser0_ctrl_gpio_pins_default>; powerdown-gpios = <&main_gpio0 71 GPIO_ACTIVE_HIGH>; // ... }; }; // ... };
另一方面、 在驱动程序代码中:
static int m65q6x_probe(struct i2c_client *client) { // ... /* get power-down pin from DT */ priv->pd_gpio = devm_gpiod_get_optional(dev, "powerdown", GPIOD_OUT_HIGH); if (IS_ERR(priv->pd_gpio)) { ret = PTR_ERR(priv->pd_gpio); if (ret != -EPROBE_DEFER) dev_err(dev, "Cannot get powerdown GPIO (%d)", ret); return ret; } if (priv->pd_gpio) { gpiod_set_value_cansleep(priv->pd_gpio, 1); /* Wait at least 20ms before the I2C lines latch to the address */ usleep_range(20000, 25000); } // .... }
但我发现 GPIO0_71 (AA28)引脚的电平输出 一直处于低电平。
所以, 我没有找到问题的原因。 请给我一些建议。 非常感谢。
谢谢、
为了进一步详细说明 、我发现 PADCONFIG72寄存器 对应于 GPIO0_71 (在器件数据表 TDA4VM 处理器数据表(修订版 K) 第5.4章)
然后我通过 devmem2 0x0011c120读取 PADCONFIG72
返回值为0x00010007、 表示引脚功能配置正确。
不过、我通过 devmem2 0x00600060读取 GPIO_DIR45寄存器
返回值为0xFFFFFFFF、表示 GPIO0_71已配置为输入功能。
到目前为止、 我没有找到问题的原因。
您好、
[报价 userid="655800" url="~/support/processors-group/processors/f/processors-forum/1518238/tda4vm-how-to-configure-the-pinmux-function为什么 PADCONFIG 寄存器的总数 达到173?
[/报价]有些引脚可能不支持 GPIO 模式并与其他功能相关。 因此、我们可以拥有更多 PADCONFIGs。
但我发现 GPIO0_71 (AA28)引脚的电平输出 一直保持在低电平。
对于 GPIO、您需要在2个电平下处理引脚:
- Keerthy