summaryrefslogtreecommitdiff
path: root/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/at91bootstrap-3.5.3-mtcdt.patch
blob: 0a1742c12a566007357ff8520a739546dad77dc7 (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
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,31 @@
 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.
+		 */
+		{"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));