主题中讨论的其他器件:DA8XX
工具与软件:
您好、亲爱的专家。
我们需要将 MCU_ADC1_AIN0、 MCU_ADC1_AIN1、MCU_ADC1_AIN2 、 MCU_ADC1_AIN3设置为 GPIO
查看数据表后、我认为这些引脚仅支持 GPIO 输入。 引脚多路复用模式应为"7"(PADCONFIG 位0~位3)


但我仔细检查 TRM 寄存器的 PADCONFIG 位0~位3设置、发现这些位是保留位

我觉得有点混乱、这些引脚是否可以设置 GPIO?
谢谢!
Gibbs
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.
工具与软件:
您好、亲爱的专家。
我们需要将 MCU_ADC1_AIN0、 MCU_ADC1_AIN1、MCU_ADC1_AIN2 、 MCU_ADC1_AIN3设置为 GPIO
查看数据表后、我认为这些引脚仅支持 GPIO 输入。 引脚多路复用模式应为"7"(PADCONFIG 位0~位3)


但我仔细检查 TRM 寄存器的 PADCONFIG 位0~位3设置、发现这些位是保留位

我觉得有点混乱、这些引脚是否可以设置 GPIO?
谢谢!
Gibbs
尊敬的 Mark:

尊敬的 Mark:
我在 j721s2_init.c 中看到了 mMR_unlock API、我将在 ti-u-boot 中遵循相同的规则。
我在 MCU 端使用 GPIOPinREAD_V0、我在 ti-u-boot 中找不到类似的 API。
您能告诉我如何在 ti-u-boot 中从 GPIO 读取值吗?
如果我可以使用 MMR_UNLOCK 更改寄存器值、应该注意设备树吗?
尊敬的 Hans:
[报价 userid="634598" url="~/support/processors-group/processors/f/processors-forum/1456579/tda4al-q1-could-we-set-mcu_adc1_ainx-as-a-gpio/5598677 #5598677"]您能告诉我如何在 ti-u-boot 中从 GPIO 读取值吗?
[报价]您可以尝试 da8xx_gpio.c 驱动程序;这是常规 GPIO 使用的。 在设备树中查看 GPIO 的兼容性、您可以查找具有相应兼容性的驱动程序、在本例中为"ti、keystone-gpio"。
如果我可以使用 MMR_UNLOCK 来更改寄存器值、我该怎么办?
应该为 GPIO 添加一个设备树节点、以便探测驱动程序。
此致!
Jared
尊敬的 Jared、Mark、
解锁该寄存器并将 CSL_MCU_CTRL_MMR_CFG0_MCU_ADC1_CTRL 0x40f040b4设置 为 regVal:10001。
使用 value = readl (CSL_WKUP_GPIO0_BASE + MCU_ADC1_AIN0); 在 ti-u-boot 中、即使我将寄存器配置为 GPIO 输入、也无法从 GPIO 读取值。
但在 th MCU 侧使用 GPIOPinREAD_V0 (CSL_WKUP_GPIO0_BASE、MCU_ADC1_AIN0);它可以从 GPIO 读取值。
ti-u-boot 模式下的 MCU_ADC1_AIN0 WKUP_GPIO0_79寄存器地址是多少?
尊敬的 Hans:
CSL_WKUP_GPIO0_BASE + MCU_ADC1_AIN0不是引脚状态的地址。
GPIO 引脚的状态将在 GPIO 组4内、因为它是79号 GPIO。
| 银行编号 | GPIO 范围 |
| 0 | 15:0 |
| 1. | 31:16 |
| 2. | 47:32. |
| 3. | 63:48 |
| 4. | 79:64 |
WKUP_GPIO0组4的寄存器为0x42110070 [15:0];具体而言、引脚将为位15。
此致!
Jared