工具/软件:
大家好!
当我 按 Enter 键进入 u-boot 时、运行 MD 0x600000、 GPIO in_data reg 不显示正确的值

当我运行 GPIO 状态命令、再次运行 MD 0x600000 命令时、 GPIO in_data 寄存器 diaplay 正确的值

为什么 GPIO in_data reg 在开始时不是 refrash 正确的值?
谢谢
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.
工具/软件:
大家好!
当我 按 Enter 键进入 u-boot 时、运行 MD 0x600000、 GPIO in_data reg 不显示正确的值

当我运行 GPIO 状态命令、再次运行 MD 0x600000 命令时、 GPIO in_data 寄存器 diaplay 正确的值

为什么 GPIO in_data reg 在开始时不是 refrash 正确的值?
谢谢
您好、
U-boot:
MD 0x600000
00600000: 44832905 00000001 00000000 00000000…………………………………………………………………
00600010:FFFFFFFF 00000000 00000000 ............
00600020:007f8000 00000000 00000000 ............
00600030:00000000 00000000 ffffffff 00000000 ............
Board_init_f 打印:
diff --git a/arch/arm/mach-k3/j722s/j722s_init.c b/arch/arm/mach-k3/j722s/j722s_init.c
index f48f5f64..218696d6 100644
--- a/arch/arm/mach-k3/j722s/j722s_init.c
+++ b/arch/arm/mach-k3/j722s/j722s_init.c
@@ -175,7 +175,7 @@ static __maybe_unused void enable_mcu_esm_reset(void)
void board_init_f(ulong dummy)
{
- int ret;
+ int ret, i = 0;
struct udevice *dev;
k3_spl_init();
@@ -192,6 +192,12 @@ void board_init_f(ulong dummy)
printf("Failed to probe am65_cpsw_nuss driver\n");
}
+ printf("In board_init_f\n");
+ while (i < 16) {
+ printf("value of gpio 0x%x\n", readl(0x600000 + i *4));
+ i++;
+ }
+
GPIO 0x44832905 的值
GPIO 0x1 的值
GPIO 0x0 的值
GPIO 0x0 的值
GPIO 0xffffffff 的值
GPIO 0x0 的值
GPIO 0x0 的值
GPIO 0x0 的值
GPIO 0x7f8000 的值
GPIO 0x0 的值
GPIO 0x0 的值
GPIO 0x0 的值
GPIO 0x0 的值
GPIO 0x0 的值
GPIO 0xffffffff 的值
GPIO 0x0 的值
我看到相同的值。
- Keerthy
您好、

上面的寄存器读取 board_init_f 中的 0x100000、但读取 0x3c100000。 board_init_f 是 SPL 序列中的第一个函数之一。 这意味着在初始化各种模块设置引脚多路复用器和 GPIO 值时 SPL/U-boot。 这是 board_init_f 处的预期状态为 0x100000、但与 SPL 和 U-Boot 执行时一样、外设将改变状态。
这是预期结果。 关闭此主题。
- Keerthy
我已作出上述详细解释:
回复:AM67:AM67 SDK 10 GPIO in_data reg 在 u-boot 中不显示正确的值
Board_init_f 是第一个函数之一。 然后、值会随着更多外设初始化而变化。
此致、
Keerthy
我已作出上述详细解释:
回复:AM67:AM67 SDK 10 GPIO in_data reg 在 u-boot 中不显示正确的值
Board_init_f 是第一个函数之一。 然后、值会随着更多外设初始化而变化。
此致、
Keerthy
您好、
例如:
静态 void __they_unused detect_enable_spinand (void *blob)
{
if (is_enabled (CONFIG_DM_GPIO)&& is_enabled (CONFIG_OF_LIBFDT){
结构 gpio_desc desc ={0};
char *ospi_mux_sel_GPIO =“GPIO@23_1“;
int nand_offset、nor_offset;
IF (dm_gpio_lookup_name (ospi_mux_sel_gpio、&desc))
返回;
if (dm_gpio_request (&desc、ospi_mux_sel_gpio))
返回;
if (dm_gpio_set_dir_flags (&desc、GPIOD_is_in))
返回;
NAND_OFFSET = FDT_NODE_OFFSET_BY_COMPatible (blob、–1、“spi-nand")“);
if (nand_offset < 0)
返回;
NOR_OFFSET = FDT_NODE_OFFSET_BY_COMPatible (blob、
fdt_parame_offset (blob、nand_offset)、
“JEDEC、SPI-NOR“);
文件: board/ti/j722s/evm.c
- Keerthy
Keerthy、
我在、之前尝试过这种方法、但它打印在日志下方、因此我想直接通过读取寄存器、但 ii 也不正确、
U-Boot SPL 2024.04 (2025 年 8 月 08 日 — 17:51:11 +0800)
SYSFW ABI:4.0(固件版本 0x000a '10.1.6--v10.01.06 (Fiery Fox)')
++K3_ddrss_probe
++DaVinci _GPIO_OF_TO_PLAT
++DaVinci _GPIO_probe
++DaVinci _GPIO_OF_TO_PLAT
TI_power_domain_of_xlate:无效的 dev-id:78
失败的 dm_gpio_lookup_name:–22
+++板 ID:–2
当输入 u-boot 而不是 SPL 时、就正确了:
U-Boot 2024.04 (2025 年 8 月 08 日 — 17:51:30 +0800)
SoC:J722S SR1.0 HS-SOC FS
型号:Texas Instruments J722S EVM
++DaVinci _GPIO_OF_TO_PLAT
++DaVinci _GPIO_probe
++DaVinci _GPIO_OF_TO_PLAT
++DaVinci _GPIO_probe
+++主板 ID:1.
您好 Keerthy、
这好像不是 arch/arm/mach-k3/r5/j722s/dev-data.c 文件中的 dev id 配置、但如何配置这个 dev id (78)?
静态结构 ti_dev soc_dev_list[]={
psc_dev (16、&soc_lpsc_list[0])、
psc_dev (77、&soc_lpsc_list[0])、
psc_dev (61、&soc_lpsc_list[0])、
PSC_DEV (178、&soc_lpsc_list[1])、
psc_dev (179、&soc_lpsc_list[2])、
psc_dev (57、&soc_lpsc_list[3])、
psc_dev (58、&soc_lpsc_list[4])、
PSC_DEV (161、&soc_lpsc_list[5])、
psc_dev (75、&soc_lpsc_list[6])、
psc_dev (36、&soc_lpsc_list[7])、
psc_dev (102、&soc_lpsc_list[7])、
psc_dev (146、&soc_lpsc_list[7])、
psc_dev (166、&soc_lpsc_list[8])、
PSC_DEV (135、&soc_lpsc_list[9])、
psc_dev (170、&soc_lpsc_list[10])、
psc_dev (177、&soc_lpsc_list[11])、
psc_dev (55、&soc_lpsc_list[12])、
};
您好、
TRM 链接: https://www.ti.com/de/lit/zip/sprujb3
寄存器映射 Excel 工作表: 90_PADCFG_CTRL0 选项卡
- Keerthy
您好、
数据表: https://www.ti.com/lit/ds/symlink/tda4ven-q1.pdf?ts = 1736198248639
第 24 页

希望澄清是您的问题。 我们可以关闭这个主题吗?
- Keerthy