summaryrefslogtreecommitdiff
path: root/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/at91bootstrap-3.5.3-mtcdt.patch
blob: 92a3a3bf8925b7746d73e1fd76dd1047b5b759f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
Index: git/board/at91sam9x5ek/at91sam9x5eknf_uboot_defconfig
===================================================================
--- git.orig/board/at91sam9x5ek/at91sam9x5eknf_uboot_defconfig	2015-01-13 13:31:45.162884794 -0600
+++ git/board/at91sam9x5ek/at91sam9x5eknf_uboot_defconfig	2015-01-13 13:45:17.967816395 -0600
@@ -1,6 +1,6 @@
 #
 # Automatically generated make config: don't edit
-# Thu Apr 11 16:45:29 2013
+# Tue Jan 13 13:09:23 2015
 #
 HAVE_DOT_CONFIG=y
 CONFIG_BOARDNAME="at91sam9x5ek"
@@ -42,7 +42,7 @@
 ALLOW_PIO3=y
 CONFIG_HAS_PIO3=y
 CPU_HAS_PMECC=y
-CONFIG_LOAD_ONE_WIRE=y
+# CONFIG_LOAD_ONE_WIRE is not set
 # CONFIG_MMC_SUPPORT is not set
 
 #
@@ -60,8 +60,8 @@
 # ALLOW_SDRAM_16BIT is not set
 # CONFIG_RAM_32MB is not set
 # CONFIG_RAM_64MB is not set
-CONFIG_RAM_128MB=y
-# CONFIG_RAM_256MB is not set
+# CONFIG_RAM_128MB is not set
+CONFIG_RAM_256MB=y
 # CONFIG_RAM_512MB is not set
 # CONFIG_DATAFLASH is not set
 # CONFIG_FLASH is not set
@@ -81,8 +81,8 @@
 #
 # PMECC Configuration
 #
-CONFIG_PMECC_CORRECT_BITS_2=y
-# CONFIG_PMECC_CORRECT_BITS_4 is not set
+# CONFIG_PMECC_CORRECT_BITS_2 is not set
+CONFIG_PMECC_CORRECT_BITS_4=y
 # CONFIG_PMECC_CORRECT_BITS_8 is not set
 # CONFIG_PMECC_CORRECT_BITS_12 is not set
 # CONFIG_PMECC_CORRECT_BITS_24 is not set
@@ -101,7 +101,7 @@
 # CONFIG_LOAD_64KB is not set
 CONFIG_IMG_ADDRESS="0x00040000"
 CONFIG_IMG_SIZE="0x00080000"
-CONFIG_JUMP_ADDR="0x26F00000"
+CONFIG_JUMP_ADDR="0x2EF00000"
 
 #
 # U-Boot Image Storage Setup
@@ -116,4 +116,4 @@
 # CONFIG_USER_HW_INIT is not set
 CONFIG_THUMB=y
 CONFIG_SCLK=y
-CONFIG_DISABLE_WATCHDOG=y
+# CONFIG_DISABLE_WATCHDOG is not set
Index: git/board/at91sam9x5ek/at91sam9x5ek.c
===================================================================
--- git.orig/board/at91sam9x5ek/at91sam9x5ek.c	2019-04-04 15:49:54.143358228 -0500
+++ git/board/at91sam9x5ek/at91sam9x5ek.c	2019-04-04 17:07:51.999219741 -0500
@@ -53,6 +53,32 @@
 extern void hw_init_hook(void);
 #endif
 
+
+static void initialize_mt_gpio(void)
+{
+ 	/* Configure DBGU pins */
+	const struct pio_desc mt_gpio_pins[] = {
+		/* Misc. pins -- Pins PD15-PD18 belong to PERIPH
+		 * B A20-A25 until bootstrap shuts them down.
+                 * This code prevents these pins from being used
+                 * during boot, since we do not
+                 * need these pins to boot the system and we
+                 * do not want resets to toggle needlessly.
+		 */
+		{"WFBT-RESET",AT91C_PIN_PD(14), 1, PIO_PULLUP, PIO_OUTPUT},
+		{"GNSS-RESET",AT91C_PIN_PD(15), 1, PIO_PULLUP, PIO_OUTPUT},
+		{"SECURE-RESET",AT91C_PIN_PD(16), 1, PIO_PULLUP, PIO_OUTPUT},
+		{"MTQ-RESET",AT91C_PIN_PD(17), 1, PIO_PULLUP, PIO_OUTPUT},
+		{"USBHUB-RESET",AT91C_PIN_PD(18), 1, PIO_PULLUP, PIO_OUTPUT},
+		{"GNSS-INT",AT91C_PIN_PD(19), 1, PIO_PULLUP, PIO_OUTPUT},
+		{"WIFI-BT-LPMODE",AT91C_PIN_PD(20), 0, PIO_PULLUP, PIO_INPUT},
+		{(char *)0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
+        };
+
+	pio_configure(mt_gpio_pins);
+}
+
+
 static void at91_dbgu_hw_init(void)
 {
 	/* Configure DBGU pins */
@@ -198,6 +223,9 @@
 	slowclk_enable_osc32();
 #endif
 
+        /* Initialize MT GPIO */
+        initialize_mt_gpio();
+
 	/* Initialize dbgu */
 	initialize_dbgu();
 
@@ -322,10 +350,8 @@
 
 	reg = readl(AT91C_BASE_CCFG + CCFG_EBICSA);
 	reg |= AT91C_EBI_CS3A_SM;
-	if (get_cm_rev() == 'A')
-		reg &= ~AT91C_EBI_NFD0_ON_D16;
-	else
-		reg |= (AT91C_EBI_DDR_MP_EN | AT91C_EBI_NFD0_ON_D16);
+	/* MTCDT */
+	reg |= (AT91C_EBI_DDR_MP_EN | AT91C_EBI_NFD0_ON_D16);
 
 	reg &= ~AT91C_EBI_DRV;
 	writel(reg, AT91C_BASE_CCFG + CCFG_EBICSA);
@@ -355,9 +381,7 @@
 		AT91C_BASE_SMC + SMC_CTRL3);
 
 	/* Configure the PIO controller */
-	if (get_cm_rev() == 'A')
-		pio_configure(nand_pins_lo);
-	else
+	/* MTCDT */
 		pio_configure(nand_pins_hi);
 
 	writel((1 << AT91C_ID_PIOC_D), (PMC_PCER + AT91C_BASE_PMC));