u-boot-2011.09-psp04.06.00.03
gpio64~gpio127寄存器读写卡死问题
在uboot中直接读写第二,第三组gpio寄存器出现卡死
gpio寄存器映射如下:
#define AM33XX_GPIO0_BASE 0x44E07000
#define AM33XX_GPIO1_BASE 0x4804C000
#define AM33XX_GPIO2_BASE 0x481AC000
#define AM33XX_GPIO3_BASE 0x481AE000
printf("BEGIN ***__raw_writel(0x1, 0x44e07190)\n");
__raw_writel(0x1, 0x44e07190);
printf("END ***__raw_writel(0x1, 0x44e07190)\n");
printf("BEGIN ***__raw_writel(0x1, 0x4804c190)\n");
__raw_writel(0x1, 0x4804c190);
printf("END ***__raw_writel(0x1, 0x4804c190)\n");
printf("*********************************\n");
printf("BEGIN ***__raw_writel(0x1, 0x481a0110)\n");
__raw_writel(0x1, 0x481a0110);
printf("END ***__raw_writel(0x1, 0x481a0110)\n");
printf("*********************************\n");
printf("*************mmc*****************\n");
printf("BEGIN ***__raw_writel(0x1, 0x481d8110)\n");
__raw_writel(0x1, 0x481d8110);
printf("END ***__raw_writel(0x1, 0x481d8110)\n");
printf("*************mmc*****************\n");
@@@@@@@@@以下这个开始出现卡死,也就是第三组的gpio
printf("BEGIN ***__raw_writel(0x1, 0x481ac190)\n");
__raw_writel(0x1, 0x481ac190);
printf("END ***__raw_writel(0x1, 0x481ac190)\n");
printf("BEGIN ***__raw_writel(0x1, 0x481ae190)\n");
__raw_writel(0x1, 0x481ae190);
printf("END ***__raw_writel(0x1, 0x481ae190)\n");
不知道到底什么原因
u-boot-2014.07-g7e537bf 这个版本的就不会出现,想依照这个版本的改,但是发现版本之间差别很大,比较难搞
有没有遇到过这样的情况的?
另外:u-boot-2011.09-psp04.06.00.03
这个版本的uboot有没有人调通过spi flash的呢?
Steven Liu1:
是不是没有打开GPIO对应的时钟域,就直接去操作内容了?如果这样是会死的,要先查对GPIO相关时钟域的使能。
user4932081:
回复 Steven Liu1:
uboot中是在哪里去查呢?
user4932081:
回复 Steven Liu1:
对了,还有个,就是spi flash的sdi sdo管脚接反了,我怎么在uboot和内核中更改呢?