Part Number:AM5718
操作目的:想让uboot对GPIO1的引脚控制持续到系统运行后被应用程序接管;
为此进行了以下操作:
1# 配置内核dts属性
在gpio1节点下添加 “ti,no-reset-on-init;”;
2# 修改内核源码arch/arm/mach-omap2/omap_hwmod_7xx_data.c
static struct omap_hwmod dra7xx_gpio1_hwmod = {
.name = "gpio1",
.class = &dra7xx_gpio_hwmod_class,
.clkdm_name = "wkupaon_clkdm",
.flags = HWMOD_INIT_NO_RESET,//HWMOD_CONTROL_OPT_CLKS_IN_RESET,
.main_clk = "wkupaon_iclk_mux",
.prcm = {
.omap4 = {
.clkctrl_offs = DRA7XX_CM_WKUPAON_GPIO1_CLKCTRL_OFFSET,
.context_offs = DRA7XX_RM_WKUPAON_GPIO1_CONTEXT_OFFSET,
.modulemode = MODULEMODE_HWCTRL,
},
},
.opt_clks = gpio1_opt_clks,
.opt_clks_cnt = ARRAY_SIZE(gpio1_opt_clks),
};
以上任一操作均可对GPIO5组的GPIO控制保持,但无法使GPIO1组的控制保持,请问还有什么需要操作或注意的地方吗?
Shine:
请问是自己的板子吗?GPIO1和GPIO5在硬件上接法一样吗?
,
Chao D:
是自己的板子,两个GPIO组都是从CPU直接出来的。
,
Shine:
建议配置后比较一下GPIO5和GPIO1的各个寄存器值。