summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
Diffstat (limited to 'board')
-rw-r--r--board/LaCie/net2big_v2/MAINTAINERS2
-rw-r--r--board/LaCie/netspace_v2/MAINTAINERS2
-rw-r--r--board/LaCie/wireless_space/MAINTAINERS2
-rw-r--r--board/Marvell/db64360/MAINTAINERS2
-rw-r--r--board/Marvell/db64460/MAINTAINERS2
-rw-r--r--board/Marvell/openrd/MAINTAINERS2
-rw-r--r--board/a3000/MAINTAINERS2
-rw-r--r--board/amcc/bluestone/MAINTAINERS2
-rw-r--r--board/amcc/bubinga/MAINTAINERS2
-rw-r--r--board/amcc/yucca/MAINTAINERS2
-rw-r--r--board/armltd/versatile/MAINTAINERS2
-rw-r--r--board/armltd/vexpress/MAINTAINERS4
-rw-r--r--board/armltd/vexpress64/Kconfig19
-rw-r--r--board/atmel/atngw100/MAINTAINERS2
-rw-r--r--board/atmel/atstk1000/MAINTAINERS2
-rw-r--r--board/atmel/sama5d3xek/sama5d3xek.c58
-rw-r--r--board/bc3450/MAINTAINERS2
-rw-r--r--board/boundary/nitrogen6x/nitrogen6x.c5
-rw-r--r--board/calao/sbc35_a9g20/MAINTAINERS2
-rw-r--r--board/calao/tny_a9260/MAINTAINERS2
-rw-r--r--board/canmb/MAINTAINERS2
-rw-r--r--board/cm-bf527/MAINTAINERS2
-rw-r--r--board/cm-bf533/MAINTAINERS2
-rw-r--r--board/cm-bf537e/MAINTAINERS2
-rw-r--r--board/cm-bf537u/MAINTAINERS2
-rw-r--r--board/cm-bf548/MAINTAINERS2
-rw-r--r--board/cm-bf561/MAINTAINERS2
-rw-r--r--board/cm41xx/MAINTAINERS2
-rw-r--r--board/cm5200/MAINTAINERS2
-rw-r--r--board/cmi/MAINTAINERS2
-rw-r--r--board/cobra5272/MAINTAINERS2
-rw-r--r--board/compulab/cm_fx6/Kconfig23
-rw-r--r--board/compulab/cm_fx6/MAINTAINERS6
-rw-r--r--board/compulab/cm_fx6/Makefile12
-rw-r--r--board/compulab/cm_fx6/cm_fx6.c483
-rw-r--r--board/compulab/cm_fx6/common.c84
-rw-r--r--board/compulab/cm_fx6/common.h37
-rw-r--r--board/compulab/cm_fx6/imximage.cfg8
-rw-r--r--board/compulab/cm_fx6/spl.c366
-rw-r--r--board/compulab/common/eeprom.c13
-rw-r--r--board/congatec/cgtqmx6eval/MAINTAINERS2
-rw-r--r--board/cpu87/MAINTAINERS2
-rw-r--r--board/cray/L1/MAINTAINERS2
-rw-r--r--board/dave/PPChameleonEVB/MAINTAINERS2
-rw-r--r--board/davinci/dm355evm/MAINTAINERS2
-rw-r--r--board/davinci/dm355leopard/MAINTAINERS2
-rw-r--r--board/davinci/dm365evm/MAINTAINERS2
-rw-r--r--board/davinci/dm6467evm/MAINTAINERS2
-rw-r--r--board/davinci/dvevm/MAINTAINERS2
-rw-r--r--board/davinci/schmoogie/MAINTAINERS2
-rw-r--r--board/davinci/sffsdr/MAINTAINERS2
-rw-r--r--board/davinci/sonata/MAINTAINERS2
-rw-r--r--board/earthlcd/favr-32-ezkit/MAINTAINERS2
-rw-r--r--board/eltec/elppc/MAINTAINERS2
-rw-r--r--board/eltec/mhpc/u-boot.lds82
-rw-r--r--board/embest/mx6boards/mx6boards.c5
-rw-r--r--board/emk/top860/u-boot.lds83
-rw-r--r--board/ep8260/MAINTAINERS2
-rw-r--r--board/ep82xxm/MAINTAINERS2
-rw-r--r--board/esg/ima3-mx53/MAINTAINERS2
-rw-r--r--board/espt/MAINTAINERS2
-rw-r--r--board/evb64260/MAINTAINERS2
-rw-r--r--board/exmeritus/hww1u1a/MAINTAINERS2
-rw-r--r--board/freescale/b4860qds/MAINTAINERS2
-rw-r--r--board/freescale/common/ics307_clk.c2
-rw-r--r--board/freescale/corenet_ds/MAINTAINERS2
-rw-r--r--board/freescale/ls1021aqds/MAINTAINERS1
-rw-r--r--board/freescale/ls1021aqds/ddr.c9
-rw-r--r--board/freescale/ls1021aqds/ddr.h10
-rw-r--r--board/freescale/ls2085a/Kconfig6
-rw-r--r--board/freescale/ls2085a/ddr.c34
-rw-r--r--board/freescale/ls2085a/ddr.h29
-rw-r--r--board/freescale/ls2085a/ls2085a.c21
-rw-r--r--board/freescale/m5208evbe/MAINTAINERS2
-rw-r--r--board/freescale/m5249evb/MAINTAINERS2
-rw-r--r--board/freescale/m5253evbe/MAINTAINERS2
-rw-r--r--board/freescale/m5272c3/MAINTAINERS2
-rw-r--r--board/freescale/m5275evb/MAINTAINERS2
-rw-r--r--board/freescale/m5282evb/MAINTAINERS2
-rw-r--r--board/freescale/m54418twr/MAINTAINERS2
-rw-r--r--board/freescale/m54451evb/MAINTAINERS2
-rw-r--r--board/freescale/mpc5121ads/MAINTAINERS2
-rw-r--r--board/freescale/mpc8313erdb/MAINTAINERS2
-rw-r--r--board/freescale/mpc8349itx/MAINTAINERS2
-rw-r--r--board/freescale/mpc8360erdk/MAINTAINERS2
-rw-r--r--board/freescale/mpc837xerdb/MAINTAINERS2
-rw-r--r--board/freescale/mpc8536ds/MAINTAINERS2
-rw-r--r--board/freescale/mpc8540ads/MAINTAINERS2
-rw-r--r--board/freescale/mpc8541cds/MAINTAINERS2
-rw-r--r--board/freescale/mpc8544ds/MAINTAINERS2
-rw-r--r--board/freescale/mpc8548cds/MAINTAINERS2
-rw-r--r--board/freescale/mpc8555cds/MAINTAINERS2
-rw-r--r--board/freescale/mpc8560ads/MAINTAINERS2
-rw-r--r--board/freescale/mpc8568mds/MAINTAINERS2
-rw-r--r--board/freescale/mpc8569mds/MAINTAINERS2
-rw-r--r--board/freescale/mpc8610hpcd/MAINTAINERS2
-rw-r--r--board/freescale/mpc8641hpcn/MAINTAINERS2
-rw-r--r--board/freescale/mx31ads/MAINTAINERS2
-rw-r--r--board/freescale/mx6qsabreauto/mx6qsabreauto.c7
-rw-r--r--board/freescale/mx6sabresd/mx6dlsabresd.cfg131
-rw-r--r--board/freescale/mx6sabresd/mx6sabresd.c7
-rw-r--r--board/freescale/mx6slevk/mx6slevk.c5
-rw-r--r--board/freescale/p1010rdb/MAINTAINERS2
-rw-r--r--board/freescale/p1023rdb/MAINTAINERS2
-rw-r--r--board/freescale/p1_p2_rdb/MAINTAINERS2
-rw-r--r--board/freescale/p1_p2_rdb_pc/MAINTAINERS2
-rw-r--r--board/freescale/p1_twr/MAINTAINERS2
-rw-r--r--board/freescale/p2020ds/MAINTAINERS2
-rw-r--r--board/freescale/p2041rdb/MAINTAINERS2
-rw-r--r--board/freescale/t1040qds/eth.c4
-rw-r--r--board/freescale/t104xrdb/MAINTAINERS3
-rw-r--r--board/freescale/t104xrdb/README23
-rw-r--r--board/freescale/t104xrdb/ddr.c4
-rw-r--r--board/freescale/t104xrdb/eth.c10
-rw-r--r--board/freescale/t104xrdb/t1042_pi_rcw.cfg7
-rw-r--r--board/freescale/t104xrdb/t1042_rcw.cfg8
-rw-r--r--board/freescale/t208xqds/MAINTAINERS2
-rw-r--r--board/freescale/t208xrdb/MAINTAINERS2
-rw-r--r--board/freescale/t4qds/MAINTAINERS2
-rw-r--r--board/funkwerk/vovpn-gw/MAINTAINERS2
-rw-r--r--board/gaisler/gr_cpci_ax2000/MAINTAINERS2
-rw-r--r--board/gaisler/gr_ep2s60/MAINTAINERS2
-rw-r--r--board/gaisler/gr_xc3s_1500/MAINTAINERS2
-rw-r--r--board/gaisler/grsim/MAINTAINERS2
-rw-r--r--board/gaisler/grsim_leon2/MAINTAINERS2
-rw-r--r--board/galaxy5200/MAINTAINERS2
-rw-r--r--board/gateworks/gw_ventana/eeprom.c3
-rw-r--r--board/gateworks/gw_ventana/gsc.c4
-rw-r--r--board/gateworks/gw_ventana/gw_ventana.c125
-rw-r--r--board/gateworks/gw_ventana/gw_ventana_spl.c189
-rw-r--r--board/gateworks/gw_ventana/ventana_eeprom.h1
-rw-r--r--board/genesi/mx51_efikamx/MAINTAINERS2
-rw-r--r--board/genesi/mx51_efikamx/efikamx.c5
-rw-r--r--board/icecube/MAINTAINERS2
-rw-r--r--board/imx31_phycore/MAINTAINERS4
-rw-r--r--board/ip04/MAINTAINERS2
-rw-r--r--board/ip860/u-boot.lds82
-rw-r--r--board/isee/igep00x0/MAINTAINERS2
-rw-r--r--board/ivm/u-boot.lds82
-rw-r--r--board/karo/tk71/MAINTAINERS2
-rw-r--r--board/kup/kup4k/u-boot.lds82
-rw-r--r--board/logicpd/imx31_litekit/MAINTAINERS2
-rw-r--r--board/lwmon/u-boot.lds82
-rw-r--r--board/manroland/hmi1001/MAINTAINERS2
-rw-r--r--board/manroland/uc100/u-boot.lds85
-rw-r--r--board/matrix_vision/mergerbox/MAINTAINERS2
-rw-r--r--board/matrix_vision/mvbc_p/MAINTAINERS2
-rw-r--r--board/matrix_vision/mvblm7/MAINTAINERS2
-rw-r--r--board/matrix_vision/mvsmr/MAINTAINERS2
-rw-r--r--board/mcc200/MAINTAINERS2
-rw-r--r--board/micronas/vct/MAINTAINERS2
-rw-r--r--board/motionpro/MAINTAINERS2
-rw-r--r--board/mpl/pati/MAINTAINERS2
-rw-r--r--board/munices/MAINTAINERS2
-rw-r--r--board/musenki/MAINTAINERS2
-rw-r--r--board/mvblue/MAINTAINERS2
-rw-r--r--board/netvia/u-boot.lds82
-rw-r--r--board/palmtreo680/MAINTAINERS2
-rw-r--r--board/pb1x00/MAINTAINERS2
-rw-r--r--board/pm828/MAINTAINERS2
-rw-r--r--board/ppmc7xx/MAINTAINERS2
-rw-r--r--board/ppmc8260/MAINTAINERS2
-rw-r--r--board/qemu-mips/MAINTAINERS2
-rw-r--r--board/renesas/MigoR/MAINTAINERS2
-rw-r--r--board/renesas/rsk7269/MAINTAINERS2
-rw-r--r--board/renesas/sh7752evb/MAINTAINERS2
-rw-r--r--board/renesas/sh7753evb/MAINTAINERS2
-rw-r--r--board/renesas/sh7757lcr/MAINTAINERS2
-rw-r--r--board/renesas/sh7785lcr/MAINTAINERS2
-rw-r--r--board/sacsng/MAINTAINERS2
-rw-r--r--board/sandbox/README.sandbox6
-rw-r--r--board/sandburst/karef/MAINTAINERS2
-rw-r--r--board/sandburst/metrobox/MAINTAINERS2
-rw-r--r--board/sandpoint/MAINTAINERS2
-rw-r--r--board/sbc405/MAINTAINERS2
-rw-r--r--board/socrates/MAINTAINERS2
-rw-r--r--board/spear/spear300/MAINTAINERS2
-rw-r--r--board/spear/spear310/MAINTAINERS2
-rw-r--r--board/spear/spear320/MAINTAINERS2
-rw-r--r--board/spear/spear600/MAINTAINERS2
-rw-r--r--board/st-ericsson/u8500/MAINTAINERS2
-rw-r--r--board/stx/stxgp3/MAINTAINERS2
-rw-r--r--board/stx/stxssa/MAINTAINERS2
-rw-r--r--board/tcm-bf518/MAINTAINERS2
-rw-r--r--board/tcm-bf537/MAINTAINERS2
-rw-r--r--board/ti/evm/MAINTAINERS2
-rw-r--r--board/ti/ks2_evm/ddr3_k2hk.c4
-rw-r--r--board/ti/ti816x/MAINTAINERS2
-rw-r--r--board/ti/tnetv107xevm/MAINTAINERS2
-rw-r--r--board/total5200/MAINTAINERS2
-rw-r--r--board/tqc/tqm5200/MAINTAINERS2
-rw-r--r--board/tqc/tqm8272/MAINTAINERS2
-rw-r--r--board/tqc/tqm834x/MAINTAINERS2
-rw-r--r--board/tqc/tqm8xx/MAINTAINERS2
-rw-r--r--board/ttcontrol/vision2/vision2.c5
-rw-r--r--board/v38b/MAINTAINERS2
-rw-r--r--board/woodburn/MAINTAINERS2
-rw-r--r--board/xaeniax/MAINTAINERS2
-rw-r--r--board/xes/xpedite517x/MAINTAINERS2
-rw-r--r--board/xes/xpedite520x/MAINTAINERS2
-rw-r--r--board/xes/xpedite537x/MAINTAINERS2
-rw-r--r--board/xes/xpedite550x/MAINTAINERS2
202 files changed, 1800 insertions, 952 deletions
diff --git a/board/LaCie/net2big_v2/MAINTAINERS b/board/LaCie/net2big_v2/MAINTAINERS
index 1afaa5ce5c..205c75e4cb 100644
--- a/board/LaCie/net2big_v2/MAINTAINERS
+++ b/board/LaCie/net2big_v2/MAINTAINERS
@@ -1,5 +1,5 @@
NET2BIG_V2 BOARD
-M: -
+#M: -
S: Maintained
F: board/LaCie/net2big_v2/
F: include/configs/lacie_kw.h
diff --git a/board/LaCie/netspace_v2/MAINTAINERS b/board/LaCie/netspace_v2/MAINTAINERS
index ad3dfa1565..55fd50d4eb 100644
--- a/board/LaCie/netspace_v2/MAINTAINERS
+++ b/board/LaCie/netspace_v2/MAINTAINERS
@@ -8,7 +8,7 @@ F: configs/netspace_max_v2_defconfig
F: configs/netspace_v2_defconfig
NETSPACE_LITE_V2 BOARD
-M: -
+#M: -
S: Maintained
F: configs/netspace_lite_v2_defconfig
F: configs/netspace_mini_v2_defconfig
diff --git a/board/LaCie/wireless_space/MAINTAINERS b/board/LaCie/wireless_space/MAINTAINERS
index 8b36bff32b..8a27b9a234 100644
--- a/board/LaCie/wireless_space/MAINTAINERS
+++ b/board/LaCie/wireless_space/MAINTAINERS
@@ -1,5 +1,5 @@
WIRELESS_SPACE BOARD
-M: -
+#M: -
S: Maintained
F: board/LaCie/wireless_space/
F: include/configs/wireless_space.h
diff --git a/board/Marvell/db64360/MAINTAINERS b/board/Marvell/db64360/MAINTAINERS
index 7383207f75..af3eb24a2b 100644
--- a/board/Marvell/db64360/MAINTAINERS
+++ b/board/Marvell/db64360/MAINTAINERS
@@ -1,5 +1,5 @@
DB64360 BOARD
-M: -
+#M: -
S: Maintained
F: board/Marvell/db64360/
F: include/configs/DB64360.h
diff --git a/board/Marvell/db64460/MAINTAINERS b/board/Marvell/db64460/MAINTAINERS
index 751aac2be3..a30c51c54b 100644
--- a/board/Marvell/db64460/MAINTAINERS
+++ b/board/Marvell/db64460/MAINTAINERS
@@ -1,5 +1,5 @@
DB64460 BOARD
-M: -
+#M: -
S: Maintained
F: board/Marvell/db64460/
F: include/configs/DB64460.h
diff --git a/board/Marvell/openrd/MAINTAINERS b/board/Marvell/openrd/MAINTAINERS
index 7a52a8eeee..7a189ab6d5 100644
--- a/board/Marvell/openrd/MAINTAINERS
+++ b/board/Marvell/openrd/MAINTAINERS
@@ -6,7 +6,7 @@ F: include/configs/openrd.h
F: configs/openrd_base_defconfig
OPENRD_CLIENT BOARD
-M: -
+#M: -
S: Maintained
F: configs/openrd_client_defconfig
F: configs/openrd_ultimate_defconfig
diff --git a/board/a3000/MAINTAINERS b/board/a3000/MAINTAINERS
index 2d8560f628..303e5fdacb 100644
--- a/board/a3000/MAINTAINERS
+++ b/board/a3000/MAINTAINERS
@@ -1,5 +1,5 @@
A3000 BOARD
-M: -
+#M: -
S: Maintained
F: board/a3000/
F: include/configs/A3000.h
diff --git a/board/amcc/bluestone/MAINTAINERS b/board/amcc/bluestone/MAINTAINERS
index 4a329e9738..9eb9bbd01b 100644
--- a/board/amcc/bluestone/MAINTAINERS
+++ b/board/amcc/bluestone/MAINTAINERS
@@ -1,5 +1,5 @@
BLUESTONE BOARD
-M: Tirumala Marri <tmarri@apm.com>
+#M: Tirumala Marri <tmarri@apm.com>
S: Orphan (since 2014-03)
F: board/amcc/bluestone/
F: include/configs/bluestone.h
diff --git a/board/amcc/bubinga/MAINTAINERS b/board/amcc/bubinga/MAINTAINERS
index 9d5ace2ae5..3299cc34e3 100644
--- a/board/amcc/bubinga/MAINTAINERS
+++ b/board/amcc/bubinga/MAINTAINERS
@@ -1,5 +1,5 @@
BUBINGA BOARD
-M: -
+#M: -
S: Maintained
F: board/amcc/bubinga/
F: include/configs/bubinga.h
diff --git a/board/amcc/yucca/MAINTAINERS b/board/amcc/yucca/MAINTAINERS
index 0663003984..1cbdb0e70d 100644
--- a/board/amcc/yucca/MAINTAINERS
+++ b/board/amcc/yucca/MAINTAINERS
@@ -1,5 +1,5 @@
YUCCA BOARD
-M: -
+#M: -
S: Maintained
F: board/amcc/yucca/
F: include/configs/yucca.h
diff --git a/board/armltd/versatile/MAINTAINERS b/board/armltd/versatile/MAINTAINERS
index f390e53307..a56dd99bb3 100644
--- a/board/armltd/versatile/MAINTAINERS
+++ b/board/armltd/versatile/MAINTAINERS
@@ -1,5 +1,5 @@
VERSATILE BOARD
-M: -
+#M: -
S: Maintained
F: board/armltd/versatile/
F: include/configs/versatile.h
diff --git a/board/armltd/vexpress/MAINTAINERS b/board/armltd/vexpress/MAINTAINERS
index e730f4f170..a6943d7426 100644
--- a/board/armltd/vexpress/MAINTAINERS
+++ b/board/armltd/vexpress/MAINTAINERS
@@ -1,12 +1,12 @@
VEXPRESS BOARD
-M: -
+#M: -
S: Maintained
F: board/armltd/vexpress/
F: include/configs/vexpress_ca15_tc2.h
F: configs/vexpress_ca15_tc2_defconfig
VEXPRESS_CA5X2 BOARD
-M: Matt Waddel <matt.waddel@linaro.org>
+#M: Matt Waddel <matt.waddel@linaro.org>
S: Orphan (since 2014-08)
F: include/configs/vexpress_ca5x2.h
F: configs/vexpress_ca5x2_defconfig
diff --git a/board/armltd/vexpress64/Kconfig b/board/armltd/vexpress64/Kconfig
index 94944095c3..7ebea6317f 100644
--- a/board/armltd/vexpress64/Kconfig
+++ b/board/armltd/vexpress64/Kconfig
@@ -1,24 +1,5 @@
if TARGET_VEXPRESS_AEMV8A
-config SYS_CPU
- default "armv8"
-
-config SYS_BOARD
- default "vexpress64"
-
-config SYS_VENDOR
- default "armltd"
-
-config SYS_CONFIG_NAME
- default "vexpress_aemv8a"
-
-endif
-
-if TARGET_VEXPRESS_AEMV8A_SEMI
-
-config SYS_CPU
- default "armv8"
-
config SYS_BOARD
default "vexpress64"
diff --git a/board/atmel/atngw100/MAINTAINERS b/board/atmel/atngw100/MAINTAINERS
index dd698eaac8..1c319f66b4 100644
--- a/board/atmel/atngw100/MAINTAINERS
+++ b/board/atmel/atngw100/MAINTAINERS
@@ -1,5 +1,5 @@
ATNGW100 BOARD
-M: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
+#M: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
S: Orphan (since 2014-06)
F: board/atmel/atngw100/
F: include/configs/atngw100.h
diff --git a/board/atmel/atstk1000/MAINTAINERS b/board/atmel/atstk1000/MAINTAINERS
index 76365b0c10..378e1b3dbc 100644
--- a/board/atmel/atstk1000/MAINTAINERS
+++ b/board/atmel/atstk1000/MAINTAINERS
@@ -1,5 +1,5 @@
ATSTK1000 BOARD
-M: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
+#M: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
S: Orphan (since 2014-06)
F: board/atmel/atstk1000/
F: include/configs/atstk1002.h
diff --git a/board/atmel/sama5d3xek/sama5d3xek.c b/board/atmel/sama5d3xek/sama5d3xek.c
index c835c12d02..f53754bc87 100644
--- a/board/atmel/sama5d3xek/sama5d3xek.c
+++ b/board/atmel/sama5d3xek/sama5d3xek.c
@@ -67,6 +67,61 @@ void sama5d3xek_nand_hw_init(void)
}
#endif
+#ifndef CONFIG_SYS_NO_FLASH
+static void sama5d3xek_nor_hw_init(void)
+{
+ struct at91_smc *smc = (struct at91_smc *)ATMEL_BASE_SMC;
+
+ at91_periph_clk_enable(ATMEL_ID_SMC);
+
+ /* Configure SMC CS0 for NOR flash */
+ writel(AT91_SMC_SETUP_NWE(1) | AT91_SMC_SETUP_NCS_WR(0) |
+ AT91_SMC_SETUP_NRD(2) | AT91_SMC_SETUP_NCS_RD(0),
+ &smc->cs[0].setup);
+ writel(AT91_SMC_PULSE_NWE(10) | AT91_SMC_PULSE_NCS_WR(11) |
+ AT91_SMC_PULSE_NRD(10) | AT91_SMC_PULSE_NCS_RD(11),
+ &smc->cs[0].pulse);
+ writel(AT91_SMC_CYCLE_NWE(11) | AT91_SMC_CYCLE_NRD(14),
+ &smc->cs[0].cycle);
+ writel(AT91_SMC_TIMINGS_TCLR(0) | AT91_SMC_TIMINGS_TADL(0) |
+ AT91_SMC_TIMINGS_TAR(0) | AT91_SMC_TIMINGS_TRR(0) |
+ AT91_SMC_TIMINGS_TWB(0) | AT91_SMC_TIMINGS_RBNSEL(0)|
+ AT91_SMC_TIMINGS_NFSEL(0), &smc->cs[0].timings);
+ writel(AT91_SMC_MODE_RM_NRD | AT91_SMC_MODE_WM_NWE |
+ AT91_SMC_MODE_EXNW_DISABLE |
+ AT91_SMC_MODE_DBW_16 |
+ AT91_SMC_MODE_TDF_CYCLE(1),
+ &smc->cs[0].mode);
+
+ /* Address pin (A1 ~ A23) configuration */
+ at91_set_a_periph(AT91_PIO_PORTE, 1, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 2, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 3, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 4, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 5, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 6, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 7, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 8, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 9, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 10, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 11, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 12, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 13, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 14, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 15, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 16, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 17, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 18, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 19, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 20, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 21, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 22, 0);
+ at91_set_a_periph(AT91_PIO_PORTE, 23, 0);
+ /* CS0 pin configuration */
+ at91_set_a_periph(AT91_PIO_PORTE, 26, 0);
+}
+#endif
+
#ifdef CONFIG_CMD_USB
static void sama5d3xek_usb_hw_init(void)
{
@@ -181,6 +236,9 @@ int board_init(void)
#ifdef CONFIG_NAND_ATMEL
sama5d3xek_nand_hw_init();
#endif
+#ifndef CONFIG_SYS_NO_FLASH
+ sama5d3xek_nor_hw_init();
+#endif
#ifdef CONFIG_CMD_USB
sama5d3xek_usb_hw_init();
#endif
diff --git a/board/bc3450/MAINTAINERS b/board/bc3450/MAINTAINERS
index e2a8363d8f..81a7076093 100644
--- a/board/bc3450/MAINTAINERS
+++ b/board/bc3450/MAINTAINERS
@@ -1,5 +1,5 @@
BC3450 BOARD
-M: -
+#M: -
S: Maintained
F: board/bc3450/
F: include/configs/BC3450.h
diff --git a/board/boundary/nitrogen6x/nitrogen6x.c b/board/boundary/nitrogen6x/nitrogen6x.c
index 60a09f4bb3..7edfe19367 100644
--- a/board/boundary/nitrogen6x/nitrogen6x.c
+++ b/board/boundary/nitrogen6x/nitrogen6x.c
@@ -328,6 +328,11 @@ int board_mmc_init(bd_t *bis)
#endif
#ifdef CONFIG_MXC_SPI
+int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+ return (bus == 0 && cs == 0) ? (IMX_GPIO_NR(3, 19)) : -1;
+}
+
iomux_v3_cfg_t const ecspi1_pads[] = {
/* SS1 */
MX6_PAD_EIM_D19__GPIO3_IO19 | MUX_PAD_CTRL(NO_PAD_CTRL),
diff --git a/board/calao/sbc35_a9g20/MAINTAINERS b/board/calao/sbc35_a9g20/MAINTAINERS
index d275230095..0ac8225d06 100644
--- a/board/calao/sbc35_a9g20/MAINTAINERS
+++ b/board/calao/sbc35_a9g20/MAINTAINERS
@@ -1,5 +1,5 @@
SBC35_A9G20 BOARD
-M: Albin Tonnerre <albin.tonnerre@free-electrons.com>
+#M: Albin Tonnerre <albin.tonnerre@free-electrons.com>
S: Orphan (since 2014-06)
F: board/calao/sbc35_a9g20/
F: include/configs/sbc35_a9g20.h
diff --git a/board/calao/tny_a9260/MAINTAINERS b/board/calao/tny_a9260/MAINTAINERS
index 5a71b8effc..1f24e3948b 100644
--- a/board/calao/tny_a9260/MAINTAINERS
+++ b/board/calao/tny_a9260/MAINTAINERS
@@ -1,5 +1,5 @@
TNY_A9260 BOARD
-M: Albin Tonnerre <albin.tonnerre@free-electrons.com>
+#M: Albin Tonnerre <albin.tonnerre@free-electrons.com>
S: Orphan (since 2014-06)
F: board/calao/tny_a9260/
F: include/configs/tny_a9260.h
diff --git a/board/canmb/MAINTAINERS b/board/canmb/MAINTAINERS
index aa4eb301c0..71750ead47 100644
--- a/board/canmb/MAINTAINERS
+++ b/board/canmb/MAINTAINERS
@@ -1,5 +1,5 @@
CANMB BOARD
-M: -
+#M: -
S: Maintained
F: board/canmb/
F: include/configs/canmb.h
diff --git a/board/cm-bf527/MAINTAINERS b/board/cm-bf527/MAINTAINERS
index 789f5c4769..fefcfcfb7d 100644
--- a/board/cm-bf527/MAINTAINERS
+++ b/board/cm-bf527/MAINTAINERS
@@ -1,5 +1,5 @@
CM-BF527 BOARD
-M: Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+#M: Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
S: Orphan (since 2014-03)
F: board/cm-bf527/
F: include/configs/cm-bf527.h
diff --git a/board/cm-bf533/MAINTAINERS b/board/cm-bf533/MAINTAINERS
index f643043d56..0bf51fb1ea 100644
--- a/board/cm-bf533/MAINTAINERS
+++ b/board/cm-bf533/MAINTAINERS
@@ -1,5 +1,5 @@
CM-BF533 BOARD
-M: Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+#M: Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
S: Orphan (since 2014-03)
F: board/cm-bf533/
F: include/configs/cm-bf533.h
diff --git a/board/cm-bf537e/MAINTAINERS b/board/cm-bf537e/MAINTAINERS
index 44735fafdb..63d242893e 100644
--- a/board/cm-bf537e/MAINTAINERS
+++ b/board/cm-bf537e/MAINTAINERS
@@ -1,5 +1,5 @@
CM-BF537E BOARD
-M: Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+#M: Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
S: Orphan (since 2014-03)
F: board/cm-bf537e/
F: include/configs/cm-bf537e.h
diff --git a/board/cm-bf537u/MAINTAINERS b/board/cm-bf537u/MAINTAINERS
index da925f87d6..a89cfcae74 100644
--- a/board/cm-bf537u/MAINTAINERS
+++ b/board/cm-bf537u/MAINTAINERS
@@ -1,5 +1,5 @@
CM-BF537U BOARD
-M: Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+#M: Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
S: Orphan (since 2014-03)
F: board/cm-bf537u/
F: include/configs/cm-bf537u.h
diff --git a/board/cm-bf548/MAINTAINERS b/board/cm-bf548/MAINTAINERS
index 4cd83df8bc..b7f5779cef 100644
--- a/board/cm-bf548/MAINTAINERS
+++ b/board/cm-bf548/MAINTAINERS
@@ -1,5 +1,5 @@
CM-BF548 BOARD
-M: Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+#M: Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
S: Orphan (since 2014-03)
F: board/cm-bf548/
F: include/configs/cm-bf548.h
diff --git a/board/cm-bf561/MAINTAINERS b/board/cm-bf561/MAINTAINERS
index a4606fff62..9c86c8d39a 100644
--- a/board/cm-bf561/MAINTAINERS
+++ b/board/cm-bf561/MAINTAINERS
@@ -1,5 +1,5 @@
CM-BF561 BOARD
-M: Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+#M: Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
S: Orphan (since 2014-03)
F: board/cm-bf561/
F: include/configs/cm-bf561.h
diff --git a/board/cm41xx/MAINTAINERS b/board/cm41xx/MAINTAINERS
index f308b0fb29..f10eeb58f3 100644
--- a/board/cm41xx/MAINTAINERS
+++ b/board/cm41xx/MAINTAINERS
@@ -1,5 +1,5 @@
CM41XX BOARD
-M: -
+#M: -
S: Maintained
F: board/cm41xx/
F: include/configs/cm41xx.h
diff --git a/board/cm5200/MAINTAINERS b/board/cm5200/MAINTAINERS
index 9fc5365148..1e1df3f6dc 100644
--- a/board/cm5200/MAINTAINERS
+++ b/board/cm5200/MAINTAINERS
@@ -1,5 +1,5 @@
CM5200 BOARD
-M: -
+#M: -
S: Maintained
F: board/cm5200/
F: include/configs/cm5200.h
diff --git a/board/cmi/MAINTAINERS b/board/cmi/MAINTAINERS
index ab33d5d02d..60701bfd99 100644
--- a/board/cmi/MAINTAINERS
+++ b/board/cmi/MAINTAINERS
@@ -1,5 +1,5 @@
CMI BOARD
-M: -
+#M: -
S: Maintained
F: board/cmi/
F: include/configs/cmi_mpc5xx.h
diff --git a/board/cobra5272/MAINTAINERS b/board/cobra5272/MAINTAINERS
index 00942fc2fc..a064da2f15 100644
--- a/board/cobra5272/MAINTAINERS
+++ b/board/cobra5272/MAINTAINERS
@@ -1,5 +1,5 @@
COBRA5272 BOARD
-M: -
+#M: -
S: Maintained
F: board/cobra5272/
F: include/configs/cobra5272.h
diff --git a/board/compulab/cm_fx6/Kconfig b/board/compulab/cm_fx6/Kconfig
new file mode 100644
index 0000000000..42a84380f2
--- /dev/null
+++ b/board/compulab/cm_fx6/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_CM_FX6
+
+config SYS_CPU
+ string
+ default "armv7"
+
+config SYS_BOARD
+ string
+ default "cm_fx6"
+
+config SYS_VENDOR
+ string
+ default "compulab"
+
+config SYS_SOC
+ string
+ default "mx6"
+
+config SYS_CONFIG_NAME
+ string
+ default "cm_fx6"
+
+endif
diff --git a/board/compulab/cm_fx6/MAINTAINERS b/board/compulab/cm_fx6/MAINTAINERS
new file mode 100644
index 0000000000..5b2623a664
--- /dev/null
+++ b/board/compulab/cm_fx6/MAINTAINERS
@@ -0,0 +1,6 @@
+CM_FX6 BOARD
+M: Nikita Kiryanov <nikita@compulab.co.il>
+S: Maintained
+F: board/compulab/cm_fx6/
+F: include/configs/cm_fx6.h
+F: configs/cm_fx6_defconfig
diff --git a/board/compulab/cm_fx6/Makefile b/board/compulab/cm_fx6/Makefile
new file mode 100644
index 0000000000..3e5c9034df
--- /dev/null
+++ b/board/compulab/cm_fx6/Makefile
@@ -0,0 +1,12 @@
+#
+# (C) Copyright 2014 CompuLab, Ltd. <www.compulab.co.il>
+#
+# Authors: Nikita Kiryanov <nikita@compulab.co.il>
+#
+# SPDX-License-Identifier: GPL-2.0+
+#
+ifdef CONFIG_SPL_BUILD
+obj-y = common.o spl.o
+else
+obj-y = common.o cm_fx6.o
+endif
diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c
new file mode 100644
index 0000000000..fdb8ebf9e7
--- /dev/null
+++ b/board/compulab/cm_fx6/cm_fx6.c
@@ -0,0 +1,483 @@
+/*
+ * Board functions for Compulab CM-FX6 board
+ *
+ * Copyright (C) 2014, Compulab Ltd - http://compulab.co.il/
+ *
+ * Author: Nikita Kiryanov <nikita@compulab.co.il>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <fsl_esdhc.h>
+#include <miiphy.h>
+#include <netdev.h>
+#include <fdt_support.h>
+#include <sata.h>
+#include <asm/arch/crm_regs.h>
+#include <asm/arch/sys_proto.h>
+#include <asm/arch/iomux.h>
+#include <asm/imx-common/mxc_i2c.h>
+#include <asm/imx-common/sata.h>
+#include <asm/io.h>
+#include <asm/gpio.h>
+#include "common.h"
+#include "../common/eeprom.h"
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#ifdef CONFIG_DWC_AHSATA
+static int cm_fx6_issd_gpios[] = {
+ /* The order of the GPIOs in the array is important! */
+ CM_FX6_SATA_PHY_SLP,
+ CM_FX6_SATA_NRSTDLY,
+ CM_FX6_SATA_PWREN,
+ CM_FX6_SATA_NSTANDBY1,
+ CM_FX6_SATA_NSTANDBY2,
+ CM_FX6_SATA_LDO_EN,
+};
+
+static void cm_fx6_sata_power(int on)
+{
+ int i;
+
+ if (!on) { /* tell the iSSD that the power will be removed */
+ gpio_direction_output(CM_FX6_SATA_PWLOSS_INT, 1);
+ mdelay(10);
+ }
+
+ for (i = 0; i < ARRAY_SIZE(cm_fx6_issd_gpios); i++) {
+ gpio_direction_output(cm_fx6_issd_gpios[i], on);
+ udelay(100);
+ }
+
+ if (!on) /* for compatibility lower the power loss interrupt */
+ gpio_direction_output(CM_FX6_SATA_PWLOSS_INT, 0);
+}
+
+static iomux_v3_cfg_t const sata_pads[] = {
+ /* SATA PWR */
+ IOMUX_PADS(PAD_ENET_TX_EN__GPIO1_IO28 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_EIM_A22__GPIO2_IO16 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_EIM_D20__GPIO3_IO20 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_EIM_A25__GPIO5_IO02 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ /* SATA CTRL */
+ IOMUX_PADS(PAD_ENET_TXD0__GPIO1_IO30 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_EIM_D23__GPIO3_IO23 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_EIM_D29__GPIO3_IO29 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_EIM_A23__GPIO6_IO06 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_EIM_BCLK__GPIO6_IO31 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+};
+
+static void cm_fx6_setup_issd(void)
+{
+ SETUP_IOMUX_PADS(sata_pads);
+ /* Make sure this gpio has logical 0 value */
+ gpio_direction_output(CM_FX6_SATA_PWLOSS_INT, 0);
+ udelay(100);
+
+ cm_fx6_sata_power(0);
+ mdelay(250);
+ cm_fx6_sata_power(1);
+}
+
+#define CM_FX6_SATA_INIT_RETRIES 10
+int sata_initialize(void)
+{
+ int err, i;
+
+ cm_fx6_setup_issd();
+ for (i = 0; i < CM_FX6_SATA_INIT_RETRIES; i++) {
+ err = setup_sata();
+ if (err) {
+ printf("SATA setup failed: %d\n", err);
+ return err;
+ }
+
+ udelay(100);
+
+ err = __sata_initialize();
+ if (!err)
+ break;
+
+ /* There is no device on the SATA port */
+ if (sata_port_status(0, 0) == 0)
+ break;
+
+ /* There's a device, but link not established. Retry */
+ }
+
+ return err;
+}
+#endif
+
+#ifdef CONFIG_SYS_I2C_MXC
+#define I2C_PAD_CTRL (PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \
+ PAD_CTL_DSE_40ohm | PAD_CTL_HYS | \
+ PAD_CTL_ODE | PAD_CTL_SRE_FAST)
+
+I2C_PADS(i2c0_pads,
+ PAD_EIM_D21__I2C1_SCL | MUX_PAD_CTRL(I2C_PAD_CTRL),
+ PAD_EIM_D21__GPIO3_IO21 | MUX_PAD_CTRL(I2C_PAD_CTRL),
+ IMX_GPIO_NR(3, 21),
+ PAD_EIM_D28__I2C1_SDA | MUX_PAD_CTRL(I2C_PAD_CTRL),
+ PAD_EIM_D28__GPIO3_IO28 | MUX_PAD_CTRL(I2C_PAD_CTRL),
+ IMX_GPIO_NR(3, 28));
+
+I2C_PADS(i2c1_pads,
+ PAD_KEY_COL3__I2C2_SCL | MUX_PAD_CTRL(I2C_PAD_CTRL),
+ PAD_KEY_COL3__GPIO4_IO12 | MUX_PAD_CTRL(I2C_PAD_CTRL),
+ IMX_GPIO_NR(4, 12),
+ PAD_KEY_ROW3__I2C2_SDA | MUX_PAD_CTRL(I2C_PAD_CTRL),
+ PAD_KEY_ROW3__GPIO4_IO13 | MUX_PAD_CTRL(I2C_PAD_CTRL),
+ IMX_GPIO_NR(4, 13));
+
+I2C_PADS(i2c2_pads,
+ PAD_GPIO_3__I2C3_SCL | MUX_PAD_CTRL(I2C_PAD_CTRL),
+ PAD_GPIO_3__GPIO1_IO03 | MUX_PAD_CTRL(I2C_PAD_CTRL),
+ IMX_GPIO_NR(1, 3),
+ PAD_GPIO_6__I2C3_SDA | MUX_PAD_CTRL(I2C_PAD_CTRL),
+ PAD_GPIO_6__GPIO1_IO06 | MUX_PAD_CTRL(I2C_PAD_CTRL),
+ IMX_GPIO_NR(1, 6));
+
+
+static void cm_fx6_setup_i2c(void)
+{
+ setup_i2c(0, CONFIG_SYS_I2C_SPEED, 0x7f, I2C_PADS_INFO(i2c0_pads));
+ setup_i2c(1, CONFIG_SYS_I2C_SPEED, 0x7f, I2C_PADS_INFO(i2c1_pads));
+ setup_i2c(2, CONFIG_SYS_I2C_SPEED, 0x7f, I2C_PADS_INFO(i2c2_pads));
+}
+#else
+static void cm_fx6_setup_i2c(void) { }
+#endif
+
+#ifdef CONFIG_USB_EHCI_MX6
+#define WEAK_PULLDOWN (PAD_CTL_PUS_100K_DOWN | \
+ PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | \
+ PAD_CTL_HYS | PAD_CTL_SRE_SLOW)
+
+static int cm_fx6_usb_hub_reset(void)
+{
+ int err;
+
+ err = gpio_request(CM_FX6_USB_HUB_RST, "usb hub rst");
+ if (err) {
+ printf("USB hub rst gpio request failed: %d\n", err);
+ return -1;
+ }
+
+ SETUP_IOMUX_PAD(PAD_SD3_RST__GPIO7_IO08 | MUX_PAD_CTRL(NO_PAD_CTRL));
+ gpio_direction_output(CM_FX6_USB_HUB_RST, 0);
+ udelay(10);
+ gpio_direction_output(CM_FX6_USB_HUB_RST, 1);
+ mdelay(1);
+
+ return 0;
+}
+
+static int cm_fx6_init_usb_otg(void)
+{
+ int ret;
+ struct iomuxc *iomux = (struct iomuxc *)IOMUXC_BASE_ADDR;
+
+ ret = gpio_request(SB_FX6_USB_OTG_PWR, "usb-pwr");
+ if (ret) {
+ printf("USB OTG pwr gpio request failed: %d\n", ret);
+ return ret;
+ }
+
+ SETUP_IOMUX_PAD(PAD_EIM_D22__GPIO3_IO22 | MUX_PAD_CTRL(NO_PAD_CTRL));
+ SETUP_IOMUX_PAD(PAD_ENET_RX_ER__USB_OTG_ID |
+ MUX_PAD_CTRL(WEAK_PULLDOWN));
+ clrbits_le32(&iomux->gpr[1], IOMUXC_GPR1_OTG_ID_MASK);
+ /* disable ext. charger detect, or it'll affect signal quality at dp. */
+ return gpio_direction_output(SB_FX6_USB_OTG_PWR, 0);
+}
+
+#define MX6_USBNC_BASEADDR 0x2184800
+#define USBNC_USB_H1_PWR_POL (1 << 9)
+int board_ehci_hcd_init(int port)
+{
+ u32 *usbnc_usb_uh1_ctrl = (u32 *)(MX6_USBNC_BASEADDR + 4);
+
+ switch (port) {
+ case 0:
+ return cm_fx6_init_usb_otg();
+ case 1:
+ SETUP_IOMUX_PAD(PAD_GPIO_0__USB_H1_PWR |
+ MUX_PAD_CTRL(NO_PAD_CTRL));
+
+ /* Set PWR polarity to match power switch's enable polarity */
+ setbits_le32(usbnc_usb_uh1_ctrl, USBNC_USB_H1_PWR_POL);
+ return cm_fx6_usb_hub_reset();
+ default:
+ break;
+ }
+
+ return 0;
+}
+
+int board_ehci_power(int port, int on)
+{
+ if (port == 0)
+ return gpio_direction_output(SB_FX6_USB_OTG_PWR, on);
+
+ return 0;
+}
+#endif
+
+#ifdef CONFIG_FEC_MXC
+#define ENET_PAD_CTRL (PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \
+ PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
+
+static int mx6_rgmii_rework(struct phy_device *phydev)
+{
+ unsigned short val;
+
+ /* Ar8031 phy SmartEEE feature cause link status generates glitch,
+ * which cause ethernet link down/up issue, so disable SmartEEE
+ */
+ phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x3);
+ phy_write(phydev, MDIO_DEVAD_NONE, 0xe, 0x805d);
+ phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x4003);
+ val = phy_read(phydev, MDIO_DEVAD_NONE, 0xe);
+ val &= ~(0x1 << 8);
+ phy_write(phydev, MDIO_DEVAD_NONE, 0xe, val);
+
+ /* To enable AR8031 ouput a 125MHz clk from CLK_25M */
+ phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x7);
+ phy_write(phydev, MDIO_DEVAD_NONE, 0xe, 0x8016);
+ phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x4007);
+
+ val = phy_read(phydev, MDIO_DEVAD_NONE, 0xe);
+ val &= 0xffe3;
+ val |= 0x18;
+ phy_write(phydev, MDIO_DEVAD_NONE, 0xe, val);
+
+ /* introduce tx clock delay */
+ phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x5);
+ val = phy_read(phydev, MDIO_DEVAD_NONE, 0x1e);
+ val |= 0x0100;
+ phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, val);
+
+ return 0;
+}
+
+int board_phy_config(struct phy_device *phydev)
+{
+ mx6_rgmii_rework(phydev);
+
+ if (phydev->drv->config)
+ return phydev->drv->config(phydev);
+
+ return 0;
+}
+
+static iomux_v3_cfg_t const enet_pads[] = {
+ IOMUX_PADS(PAD_ENET_MDIO__ENET_MDIO | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+ IOMUX_PADS(PAD_ENET_MDC__ENET_MDC | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+ IOMUX_PADS(PAD_RGMII_TXC__RGMII_TXC | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+ IOMUX_PADS(PAD_RGMII_TD0__RGMII_TD0 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+ IOMUX_PADS(PAD_RGMII_TD1__RGMII_TD1 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+ IOMUX_PADS(PAD_RGMII_TD2__RGMII_TD2 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+ IOMUX_PADS(PAD_RGMII_TD3__RGMII_TD3 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+ IOMUX_PADS(PAD_RGMII_RXC__RGMII_RXC | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+ IOMUX_PADS(PAD_RGMII_RD0__RGMII_RD0 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+ IOMUX_PADS(PAD_RGMII_RD1__RGMII_RD1 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+ IOMUX_PADS(PAD_RGMII_RD2__RGMII_RD2 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+ IOMUX_PADS(PAD_RGMII_RD3__RGMII_RD3 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+ IOMUX_PADS(PAD_GPIO_0__CCM_CLKO1 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_GPIO_3__CCM_CLKO2 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD4_DAT0__GPIO2_IO08 | MUX_PAD_CTRL(0x84)),
+ IOMUX_PADS(PAD_ENET_REF_CLK__ENET_TX_CLK |
+ MUX_PAD_CTRL(ENET_PAD_CTRL)),
+ IOMUX_PADS(PAD_RGMII_TX_CTL__RGMII_TX_CTL |
+ MUX_PAD_CTRL(ENET_PAD_CTRL)),
+ IOMUX_PADS(PAD_RGMII_RX_CTL__RGMII_RX_CTL |
+ MUX_PAD_CTRL(ENET_PAD_CTRL)),
+};
+
+static int handle_mac_address(void)
+{
+ unsigned char enetaddr[6];
+ int rc;
+
+ rc = eth_getenv_enetaddr("ethaddr", enetaddr);
+ if (rc)
+ return 0;
+
+ rc = cl_eeprom_read_mac_addr(enetaddr);
+ if (rc)
+ return rc;
+
+ if (!is_valid_ether_addr(enetaddr))
+ return -1;
+
+ return eth_setenv_enetaddr("ethaddr", enetaddr);
+}
+
+int board_eth_init(bd_t *bis)
+{
+ int res = handle_mac_address();
+ if (res)
+ puts("No MAC address found\n");
+
+ SETUP_IOMUX_PADS(enet_pads);
+ /* phy reset */
+ gpio_direction_output(CM_FX6_ENET_NRST, 0);
+ udelay(500);
+ gpio_set_value(CM_FX6_ENET_NRST, 1);
+ enable_enet_clk(1);
+ return cpu_eth_init(bis);
+}
+#endif
+
+#ifdef CONFIG_NAND_MXS
+static iomux_v3_cfg_t const nand_pads[] = {
+ IOMUX_PADS(PAD_NANDF_CLE__NAND_CLE | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_NANDF_ALE__NAND_ALE | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_NANDF_CS0__NAND_CE0_B | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_NANDF_RB0__NAND_READY_B | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_NANDF_D0__NAND_DATA00 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_NANDF_D1__NAND_DATA01 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_NANDF_D2__NAND_DATA02 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_NANDF_D3__NAND_DATA03 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_NANDF_D4__NAND_DATA04 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_NANDF_D5__NAND_DATA05 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_NANDF_D6__NAND_DATA06 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_NANDF_D7__NAND_DATA07 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD4_CMD__NAND_RE_B | MUX_PAD_CTRL(NO_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD4_CLK__NAND_WE_B | MUX_PAD_CTRL(NO_PAD_CTRL)),
+};
+
+static void cm_fx6_setup_gpmi_nand(void)
+{
+ SETUP_IOMUX_PADS(nand_pads);
+ /* Enable clock roots */
+ enable_usdhc_clk(1, 3);
+ enable_usdhc_clk(1, 4);
+
+ setup_gpmi_io_clk(MXC_CCM_CS2CDR_ENFC_CLK_PODF(0xf) |
+ MXC_CCM_CS2CDR_ENFC_CLK_PRED(1) |
+ MXC_CCM_CS2CDR_ENFC_CLK_SEL(0));
+}
+#else
+static void cm_fx6_setup_gpmi_nand(void) {}
+#endif
+
+#ifdef CONFIG_FSL_ESDHC
+static struct fsl_esdhc_cfg usdhc_cfg[3] = {
+ {USDHC1_BASE_ADDR},
+ {USDHC2_BASE_ADDR},
+ {USDHC3_BASE_ADDR},
+};
+
+static enum mxc_clock usdhc_clk[3] = {
+ MXC_ESDHC_CLK,
+ MXC_ESDHC2_CLK,
+ MXC_ESDHC3_CLK,
+};
+
+int board_mmc_init(bd_t *bis)
+{
+ int i;
+
+ cm_fx6_set_usdhc_iomux();
+ for (i = 0; i < CONFIG_SYS_FSL_USDHC_NUM; i++) {
+ usdhc_cfg[i].sdhc_clk = mxc_get_clock(usdhc_clk[i]);
+ usdhc_cfg[i].max_bus_width = 4;
+ fsl_esdhc_initialize(bis, &usdhc_cfg[i]);
+ enable_usdhc_clk(1, i);
+ }
+
+ return 0;
+}
+#endif
+
+#ifdef CONFIG_OF_BOARD_SETUP
+void ft_board_setup(void *blob, bd_t *bd)
+{
+ uint8_t enetaddr[6];
+
+ /* MAC addr */
+ if (eth_getenv_enetaddr("ethaddr", enetaddr)) {
+ fdt_find_and_setprop(blob, "/fec", "local-mac-address",
+ enetaddr, 6, 1);
+ }
+}
+#endif
+
+int board_init(void)
+{
+ gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
+ cm_fx6_setup_gpmi_nand();
+ cm_fx6_setup_i2c();
+
+ return 0;
+}
+
+int checkboard(void)
+{
+ puts("Board: CM-FX6\n");
+ return 0;
+}
+
+void dram_init_banksize(void)
+{
+ gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
+ gd->bd->bi_dram[1].start = PHYS_SDRAM_2;
+
+ switch (gd->ram_size) {
+ case 0x10000000: /* DDR_16BIT_256MB */
+ gd->bd->bi_dram[0].size = 0x10000000;
+ gd->bd->bi_dram[1].size = 0;
+ break;
+ case 0x20000000: /* DDR_32BIT_512MB */
+ gd->bd->bi_dram[0].size = 0x20000000;
+ gd->bd->bi_dram[1].size = 0;
+ break;
+ case 0x40000000:
+ if (is_cpu_type(MXC_CPU_MX6SOLO)) { /* DDR_32BIT_1GB */
+ gd->bd->bi_dram[0].size = 0x20000000;
+ gd->bd->bi_dram[1].size = 0x20000000;
+ } else { /* DDR_64BIT_1GB */
+ gd->bd->bi_dram[0].size = 0x40000000;
+ gd->bd->bi_dram[1].size = 0;
+ }
+ break;
+ case 0x80000000: /* DDR_64BIT_2GB */
+ gd->bd->bi_dram[0].size = 0x40000000;
+ gd->bd->bi_dram[1].size = 0x40000000;
+ break;
+ case 0xEFF00000: /* DDR_64BIT_4GB */
+ gd->bd->bi_dram[0].size = 0x70000000;
+ gd->bd->bi_dram[1].size = 0x7FF00000;
+ break;
+ }
+}
+
+int dram_init(void)
+{
+ gd->ram_size = imx_ddr_size();
+ switch (gd->ram_size) {
+ case 0x10000000:
+ case 0x20000000:
+ case 0x40000000:
+ case 0x80000000:
+ break;
+ case 0xF0000000:
+ gd->ram_size -= 0x100000;
+ break;
+ default:
+ printf("ERROR: Unsupported DRAM size 0x%lx\n", gd->ram_size);
+ return -1;
+ }
+
+ return 0;
+}
+
+u32 get_board_rev(void)
+{
+ return cl_eeprom_get_board_rev();
+}
+
diff --git a/board/compulab/cm_fx6/common.c b/board/compulab/cm_fx6/common.c
new file mode 100644
index 0000000000..1f3967995f
--- /dev/null
+++ b/board/compulab/cm_fx6/common.c
@@ -0,0 +1,84 @@
+/*
+ * Code used by both U-Boot and SPL for Compulab CM-FX6
+ *
+ * Copyright (C) 2014, Compulab Ltd - http://compulab.co.il/
+ *
+ * Author: Nikita Kiryanov <nikita@compulab.co.il>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/arch/sys_proto.h>
+#include <asm/gpio.h>
+#include <fsl_esdhc.h>
+#include "common.h"
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#ifdef CONFIG_FSL_ESDHC
+#define USDHC_PAD_CTRL (PAD_CTL_PUS_47K_UP | \
+ PAD_CTL_SPEED_LOW | PAD_CTL_DSE_80ohm | \
+ PAD_CTL_SRE_FAST | PAD_CTL_HYS)
+
+static iomux_v3_cfg_t const usdhc_pads[] = {
+ IOMUX_PADS(PAD_SD1_CLK__SD1_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD1_CMD__SD1_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD1_DAT0__SD1_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD1_DAT1__SD1_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD1_DAT2__SD1_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD1_DAT3__SD1_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+
+ IOMUX_PADS(PAD_SD2_CLK__SD2_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD2_CMD__SD2_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD2_DAT0__SD2_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD2_DAT1__SD2_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD2_DAT2__SD2_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD2_DAT3__SD2_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+
+ IOMUX_PADS(PAD_SD3_CLK__SD3_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD3_CMD__SD3_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD3_DAT0__SD3_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD3_DAT1__SD3_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD3_DAT2__SD3_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD3_DAT3__SD3_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD3_DAT4__SD3_DATA4 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD3_DAT5__SD3_DATA5 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD3_DAT6__SD3_DATA6 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+ IOMUX_PADS(PAD_SD3_DAT7__SD3_DATA7 | MUX_PAD_CTRL(USDHC_PAD_CTRL)),
+};
+
+void cm_fx6_set_usdhc_iomux(void)
+{
+ SETUP_IOMUX_PADS(usdhc_pads);
+}
+
+/* CINS bit doesn't work, so always try to access the MMC card */
+int board_mmc_getcd(struct mmc *mmc)
+{
+ return 1;
+}
+#endif
+
+#ifdef CONFIG_MXC_SPI
+#define ECSPI_PAD_CTRL (PAD_CTL_SRE_FAST | PAD_CTL_SPEED_MED | \
+ PAD_CTL_PUS_100K_DOWN | PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
+
+static iomux_v3_cfg_t const ecspi_pads[] = {
+ IOMUX_PADS(PAD_EIM_D16__ECSPI1_SCLK | MUX_PAD_CTRL(ECSPI_PAD_CTRL)),
+ IOMUX_PADS(PAD_EIM_D17__ECSPI1_MISO | MUX_PAD_CTRL(ECSPI_PAD_CTRL)),
+ IOMUX_PADS(PAD_EIM_D18__ECSPI1_MOSI | MUX_PAD_CTRL(ECSPI_PAD_CTRL)),
+ IOMUX_PADS(PAD_EIM_EB2__GPIO2_IO30 | MUX_PAD_CTRL(ECSPI_PAD_CTRL)),
+ IOMUX_PADS(PAD_EIM_D19__ECSPI1_SS1 | MUX_PAD_CTRL(ECSPI_PAD_CTRL)),
+};
+
+void cm_fx6_set_ecspi_iomux(void)
+{
+ SETUP_IOMUX_PADS(ecspi_pads);
+}
+
+int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+ return (bus == 0 && cs == 0) ? (CM_FX6_ECSPI_BUS0_CS0) : -1;
+}
+#endif
diff --git a/board/compulab/cm_fx6/common.h b/board/compulab/cm_fx6/common.h
new file mode 100644
index 0000000000..76097f80af
--- /dev/null
+++ b/board/compulab/cm_fx6/common.h
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2014, Compulab Ltd - http://compulab.co.il/
+ *
+ * Author: Nikita Kiryanov <nikita@compulab.co.il>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <asm/arch/mx6-pins.h>
+#include <asm/arch/clock.h>
+
+#define UART_PAD_CTRL (PAD_CTL_PUS_100K_UP | \
+ PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | \
+ PAD_CTL_SRE_FAST | PAD_CTL_HYS)
+
+#define CM_FX6_ECSPI_BUS0_CS0 IMX_GPIO_NR(2, 30)
+#define CM_FX6_GREEN_LED IMX_GPIO_NR(2, 31)
+#define CM_FX6_ENET_NRST IMX_GPIO_NR(2, 8)
+#define CM_FX6_ENET_NRST IMX_GPIO_NR(2, 8)
+#define CM_FX6_USB_HUB_RST IMX_GPIO_NR(7, 8)
+#define SB_FX6_USB_OTG_PWR IMX_GPIO_NR(3, 22)
+#define CM_FX6_ENET_NRST IMX_GPIO_NR(2, 8)
+#define CM_FX6_USB_HUB_RST IMX_GPIO_NR(7, 8)
+#define SB_FX6_USB_OTG_PWR IMX_GPIO_NR(3, 22)
+#define CM_FX6_SATA_PWREN IMX_GPIO_NR(1, 28)
+#define CM_FX6_SATA_VDDC_CTRL IMX_GPIO_NR(1, 30)
+#define CM_FX6_SATA_LDO_EN IMX_GPIO_NR(2, 16)
+#define CM_FX6_SATA_NSTANDBY1 IMX_GPIO_NR(3, 20)
+#define CM_FX6_SATA_PHY_SLP IMX_GPIO_NR(3, 23)
+#define CM_FX6_SATA_STBY_REQ IMX_GPIO_NR(3, 29)
+#define CM_FX6_SATA_NSTANDBY2 IMX_GPIO_NR(5, 2)
+#define CM_FX6_SATA_NRSTDLY IMX_GPIO_NR(6, 6)
+#define CM_FX6_SATA_PWLOSS_INT IMX_GPIO_NR(6, 31)
+
+
+void cm_fx6_set_usdhc_iomux(void);
+void cm_fx6_set_ecspi_iomux(void);
diff --git a/board/compulab/cm_fx6/imximage.cfg b/board/compulab/cm_fx6/imximage.cfg
new file mode 100644
index 0000000000..420947e9ca
--- /dev/null
+++ b/board/compulab/cm_fx6/imximage.cfg
@@ -0,0 +1,8 @@
+/*
+ * Copyright (C) 2014, Compulab Ltd - http://compulab.co.il/
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+IMAGE_VERSION 2
+BOOT_FROM sd
diff --git a/board/compulab/cm_fx6/spl.c b/board/compulab/cm_fx6/spl.c
new file mode 100644
index 0000000000..3948ba23ae
--- /dev/null
+++ b/board/compulab/cm_fx6/spl.c
@@ -0,0 +1,366 @@
+/*
+ * SPL specific code for Compulab CM-FX6 board
+ *
+ * Copyright (C) 2014, Compulab Ltd - http://compulab.co.il/
+ *
+ * Author: Nikita Kiryanov <nikita@compulab.co.il>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <spl.h>
+#include <asm/io.h>
+#include <asm/gpio.h>
+#include <asm/arch/mx6-ddr.h>
+#include <asm/arch/clock.h>
+#include <asm/arch/sys_proto.h>
+#include <asm/arch/crm_regs.h>
+#include <asm/imx-common/iomux-v3.h>
+#include <fsl_esdhc.h>
+#include "common.h"
+
+DECLARE_GLOBAL_DATA_PTR;
+
+enum ddr_config {
+ DDR_16BIT_256MB,
+ DDR_32BIT_512MB,
+ DDR_32BIT_1GB,
+ DDR_64BIT_1GB,
+ DDR_64BIT_2GB,
+ DDR_64BIT_4GB,
+ DDR_UNKNOWN,
+};
+
+/*
+ * Below DRAM_RESET[DDR_SEL] = 0 which is incorrect according to
+ * Freescale QRM, but this is exactly the value used by the automatic
+ * calibration script and it works also in all our tests, so we leave
+ * it as is at this point.
+ */
+#define CM_FX6_DDR_IOMUX_CFG \
+ .dram_sdqs0 = 0x00000038, \
+ .dram_sdqs1 = 0x00000038, \
+ .dram_sdqs2 = 0x00000038, \
+ .dram_sdqs3 = 0x00000038, \
+ .dram_sdqs4 = 0x00000038, \
+ .dram_sdqs5 = 0x00000038, \
+ .dram_sdqs6 = 0x00000038, \
+ .dram_sdqs7 = 0x00000038, \
+ .dram_dqm0 = 0x00000038, \
+ .dram_dqm1 = 0x00000038, \
+ .dram_dqm2 = 0x00000038, \
+ .dram_dqm3 = 0x00000038, \
+ .dram_dqm4 = 0x00000038, \
+ .dram_dqm5 = 0x00000038, \
+ .dram_dqm6 = 0x00000038, \
+ .dram_dqm7 = 0x00000038, \
+ .dram_cas = 0x00000038, \
+ .dram_ras = 0x00000038, \
+ .dram_sdclk_0 = 0x00000038, \
+ .dram_sdclk_1 = 0x00000038, \
+ .dram_sdcke0 = 0x00003000, \
+ .dram_sdcke1 = 0x00003000, \
+ .dram_reset = 0x00000038, \
+ .dram_sdba2 = 0x00000000, \
+ .dram_sdodt0 = 0x00000038, \
+ .dram_sdodt1 = 0x00000038,
+
+#define CM_FX6_GPR_IOMUX_CFG \
+ .grp_b0ds = 0x00000038, \
+ .grp_b1ds = 0x00000038, \
+ .grp_b2ds = 0x00000038, \
+ .grp_b3ds = 0x00000038, \
+ .grp_b4ds = 0x00000038, \
+ .grp_b5ds = 0x00000038, \
+ .grp_b6ds = 0x00000038, \
+ .grp_b7ds = 0x00000038, \
+ .grp_addds = 0x00000038, \
+ .grp_ddrmode_ctl = 0x00020000, \
+ .grp_ddrpke = 0x00000000, \
+ .grp_ddrmode = 0x00020000, \
+ .grp_ctlds = 0x00000038, \
+ .grp_ddr_type = 0x000C0000,
+
+static struct mx6sdl_iomux_ddr_regs ddr_iomux_s = { CM_FX6_DDR_IOMUX_CFG };
+static struct mx6sdl_iomux_grp_regs grp_iomux_s = { CM_FX6_GPR_IOMUX_CFG };
+static struct mx6dq_iomux_ddr_regs ddr_iomux_q = { CM_FX6_DDR_IOMUX_CFG };
+static struct mx6dq_iomux_grp_regs grp_iomux_q = { CM_FX6_GPR_IOMUX_CFG };
+
+static struct mx6_mmdc_calibration cm_fx6_calib_s = {
+ .p0_mpwldectrl0 = 0x005B0061,
+ .p0_mpwldectrl1 = 0x004F0055,
+ .p0_mpdgctrl0 = 0x0314030C,
+ .p0_mpdgctrl1 = 0x025C0268,
+ .p0_mprddlctl = 0x42464646,
+ .p0_mpwrdlctl = 0x36322C34,
+};
+
+static struct mx6_ddr_sysinfo cm_fx6_sysinfo_s = {
+ .cs1_mirror = 1,
+ .cs_density = 16,
+ .bi_on = 1,
+ .rtt_nom = 1,
+ .rtt_wr = 0,
+ .ralat = 5,
+ .walat = 1,
+ .mif3_mode = 3,
+ .rst_to_cke = 0x23,
+ .sde_to_rst = 0x10,
+};
+
+static struct mx6_ddr3_cfg cm_fx6_ddr3_cfg_s = {
+ .mem_speed = 800,
+ .density = 4,
+ .rowaddr = 14,
+ .coladdr = 10,
+ .pagesz = 2,
+ .trcd = 1800,
+ .trcmin = 5200,
+ .trasmin = 3600,
+ .SRT = 0,
+};
+
+static void spl_mx6s_dram_init(enum ddr_config dram_config, bool reset)
+{
+ if (reset)
+ ((struct mmdc_p_regs *)MX6_MMDC_P0_MDCTL)->mdmisc = 2;
+
+ switch (dram_config) {
+ case DDR_16BIT_256MB:
+ cm_fx6_sysinfo_s.dsize = 0;
+ cm_fx6_sysinfo_s.ncs = 1;
+ break;
+ case DDR_32BIT_512MB:
+ cm_fx6_sysinfo_s.dsize = 1;
+ cm_fx6_sysinfo_s.ncs = 1;
+ break;
+ case DDR_32BIT_1GB:
+ cm_fx6_sysinfo_s.dsize = 1;
+ cm_fx6_sysinfo_s.ncs = 2;
+ break;
+ default:
+ puts("Tried to setup invalid DDR configuration\n");
+ hang();
+ }
+
+ mx6_dram_cfg(&cm_fx6_sysinfo_s, &cm_fx6_calib_s, &cm_fx6_ddr3_cfg_s);
+ udelay(100);
+}
+
+static struct mx6_mmdc_calibration cm_fx6_calib_q = {
+ .p0_mpwldectrl0 = 0x00630068,
+ .p0_mpwldectrl1 = 0x0068005D,
+ .p0_mpdgctrl0 = 0x04140428,
+ .p0_mpdgctrl1 = 0x037C037C,
+ .p0_mprddlctl = 0x3C30303A,
+ .p0_mpwrdlctl = 0x3A344038,
+ .p1_mpwldectrl0 = 0x0035004C,
+ .p1_mpwldectrl1 = 0x00170026,
+ .p1_mpdgctrl0 = 0x0374037C,
+ .p1_mpdgctrl1 = 0x0350032C,
+ .p1_mprddlctl = 0x30322A3C,
+ .p1_mpwrdlctl = 0x48304A3E,
+};
+
+static struct mx6_ddr_sysinfo cm_fx6_sysinfo_q = {
+ .cs_density = 16,
+ .cs1_mirror = 1,
+ .bi_on = 1,
+ .rtt_nom = 1,
+ .rtt_wr = 0,
+ .ralat = 5,
+ .walat = 1,
+ .mif3_mode = 3,
+ .rst_to_cke = 0x23,
+ .sde_to_rst = 0x10,
+};
+
+static struct mx6_ddr3_cfg cm_fx6_ddr3_cfg_q = {
+ .mem_speed = 1066,
+ .density = 4,
+ .rowaddr = 14,
+ .coladdr = 10,
+ .pagesz = 2,
+ .trcd = 1324,
+ .trcmin = 59500,
+ .trasmin = 9750,
+ .SRT = 0,
+};
+
+static void spl_mx6q_dram_init(enum ddr_config dram_config, bool reset)
+{
+ if (reset)
+ ((struct mmdc_p_regs *)MX6_MMDC_P0_MDCTL)->mdmisc = 2;
+
+ cm_fx6_ddr3_cfg_q.rowaddr = 14;
+ switch (dram_config) {
+ case DDR_16BIT_256MB:
+ cm_fx6_sysinfo_q.dsize = 0;
+ cm_fx6_sysinfo_q.ncs = 1;
+ break;
+ case DDR_32BIT_512MB:
+ cm_fx6_sysinfo_q.dsize = 1;
+ cm_fx6_sysinfo_q.ncs = 1;
+ break;
+ case DDR_64BIT_1GB:
+ cm_fx6_sysinfo_q.dsize = 2;
+ cm_fx6_sysinfo_q.ncs = 1;
+ break;
+ case DDR_64BIT_2GB:
+ cm_fx6_sysinfo_q.dsize = 2;
+ cm_fx6_sysinfo_q.ncs = 2;
+ break;
+ case DDR_64BIT_4GB:
+ cm_fx6_sysinfo_q.dsize = 2;
+ cm_fx6_sysinfo_q.ncs = 2;
+ cm_fx6_ddr3_cfg_q.rowaddr = 15;
+ break;
+ default:
+ puts("Tried to setup invalid DDR configuration\n");
+ hang();
+ }
+
+ mx6_dram_cfg(&cm_fx6_sysinfo_q, &cm_fx6_calib_q, &cm_fx6_ddr3_cfg_q);
+ udelay(100);
+}
+
+static int cm_fx6_spl_dram_init(void)
+{
+ unsigned long bank1_size, bank2_size;
+
+ switch (get_cpu_type()) {
+ case MXC_CPU_MX6SOLO:
+ mx6sdl_dram_iocfg(64, &ddr_iomux_s, &grp_iomux_s);
+
+ spl_mx6s_dram_init(DDR_32BIT_1GB, false);
+ bank1_size = get_ram_size((long int *)PHYS_SDRAM_1, 0x80000000);
+ if (bank1_size == 0x40000000)
+ return 0;
+
+ if (bank1_size == 0x20000000) {
+ spl_mx6s_dram_init(DDR_32BIT_512MB, true);
+ return 0;
+ }
+
+ spl_mx6s_dram_init(DDR_16BIT_256MB, true);
+ bank1_size = get_ram_size((long int *)PHYS_SDRAM_1, 0x80000000);
+ if (bank1_size == 0x10000000)
+ return 0;
+
+ break;
+ case MXC_CPU_MX6D:
+ case MXC_CPU_MX6Q:
+ mx6dq_dram_iocfg(64, &ddr_iomux_q, &grp_iomux_q);
+
+ spl_mx6q_dram_init(DDR_64BIT_4GB, false);
+ bank1_size = get_ram_size((long int *)PHYS_SDRAM_1, 0x80000000);
+ if (bank1_size == 0x80000000)
+ return 0;
+
+ if (bank1_size == 0x40000000) {
+ bank2_size = get_ram_size((long int *)PHYS_SDRAM_2,
+ 0x80000000);
+ if (bank2_size == 0x40000000) {
+ /* Don't do a full reset here */
+ spl_mx6q_dram_init(DDR_64BIT_2GB, false);
+ } else {
+ spl_mx6q_dram_init(DDR_64BIT_1GB, true);
+ }
+
+ return 0;
+ }
+
+ spl_mx6q_dram_init(DDR_32BIT_512MB, true);
+ bank1_size = get_ram_size((long int *)PHYS_SDRAM_1, 0x80000000);
+ if (bank1_size == 0x20000000)
+ return 0;
+
+ spl_mx6q_dram_init(DDR_16BIT_256MB, true);
+ bank1_size = get_ram_size((long int *)PHYS_SDRAM_1, 0x80000000);
+ if (bank1_size == 0x10000000)
+ return 0;
+
+ break;
+ }
+
+ return -1;
+}
+
+static iomux_v3_cfg_t const uart4_pads[] = {
+ IOMUX_PADS(PAD_KEY_COL0__UART4_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
+ IOMUX_PADS(PAD_KEY_ROW0__UART4_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
+};
+
+static void cm_fx6_setup_uart(void)
+{
+ SETUP_IOMUX_PADS(uart4_pads);
+ enable_uart_clk(1);
+}
+
+#ifdef CONFIG_SPL_SPI_SUPPORT
+static void cm_fx6_setup_ecspi(void)
+{
+ cm_fx6_set_ecspi_iomux();
+ enable_cspi_clock(1, 0);
+}
+#else
+static void cm_fx6_setup_ecspi(void) { }
+#endif
+
+void board_init_f(ulong dummy)
+{
+ struct mxc_ccm_reg *mxc_ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
+
+ gd = &gdata;
+ /*
+ * We don't use DMA in SPL, but we do need it in U-Boot. U-Boot
+ * initializes DMA very early (before all board code), so the only
+ * opportunity we have to initialize APBHDMA clocks is in SPL.
+ */
+ setbits_le32(&mxc_ccm->CCGR0, MXC_CCM_CCGR0_APBHDMA_MASK);
+ enable_usdhc_clk(1, 2);
+
+ arch_cpu_init();
+ timer_init();
+ cm_fx6_setup_ecspi();
+ cm_fx6_setup_uart();
+ get_clocks();
+ preloader_console_init();
+ gpio_direction_output(CM_FX6_GREEN_LED, 1);
+ if (cm_fx6_spl_dram_init()) {
+ puts("!!!ERROR!!! DRAM detection failed!!!\n");
+ hang();
+ }
+
+ memset(__bss_start, 0, __bss_end - __bss_start);
+ board_init_r(NULL, 0);
+}
+
+void spl_board_init(void)
+{
+ u32 boot_device = spl_boot_device();
+
+ if (boot_device == BOOT_DEVICE_SPI)
+ puts("Booting from SPI flash\n");
+ else if (boot_device == BOOT_DEVICE_MMC1)
+ puts("Booting from MMC\n");
+ else
+ puts("Unknown boot device\n");
+}
+
+#ifdef CONFIG_SPL_MMC_SUPPORT
+static struct fsl_esdhc_cfg usdhc_cfg = {
+ .esdhc_base = USDHC3_BASE_ADDR,
+ .max_bus_width = 4,
+};
+
+int board_mmc_init(bd_t *bis)
+{
+ cm_fx6_set_usdhc_iomux();
+
+ usdhc_cfg.sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
+
+ return fsl_esdhc_initialize(bis, &usdhc_cfg);
+}
+#endif
diff --git a/board/compulab/common/eeprom.c b/board/compulab/common/eeprom.c
index 20fe3e1960..85442cd103 100644
--- a/board/compulab/common/eeprom.c
+++ b/board/compulab/common/eeprom.c
@@ -31,8 +31,19 @@ static int cl_eeprom_layout; /* Implicitly LAYOUT_INVALID */
static int cl_eeprom_read(uint offset, uchar *buf, int len)
{
- return i2c_read(CONFIG_SYS_I2C_EEPROM_ADDR, offset,
+ int res;
+ unsigned int current_i2c_bus = i2c_get_bus_num();
+
+ res = i2c_set_bus_num(CONFIG_SYS_I2C_EEPROM_BUS);
+ if (res < 0)
+ return res;
+
+ res = i2c_read(CONFIG_SYS_I2C_EEPROM_ADDR, offset,
CONFIG_SYS_I2C_EEPROM_ADDR_LEN, buf, len);
+
+ i2c_set_bus_num(current_i2c_bus);
+
+ return res;
}
static int cl_eeprom_setup_layout(void)
diff --git a/board/congatec/cgtqmx6eval/MAINTAINERS b/board/congatec/cgtqmx6eval/MAINTAINERS
index 53ad759c10..35f4a2a21a 100644
--- a/board/congatec/cgtqmx6eval/MAINTAINERS
+++ b/board/congatec/cgtqmx6eval/MAINTAINERS
@@ -1,5 +1,5 @@
CGTQMX6EVAL BOARD
-M: Leo Sartre <lsartre@adeneo-embedded.com>
+#M: Leo Sartre <lsartre@adeneo-embedded.com>
S: Orphan (since 2014-06)
F: board/congatec/cgtqmx6eval/
F: include/configs/cgtqmx6eval.h
diff --git a/board/cpu87/MAINTAINERS b/board/cpu87/MAINTAINERS
index 6e84f601f5..32804ea53c 100644
--- a/board/cpu87/MAINTAINERS
+++ b/board/cpu87/MAINTAINERS
@@ -1,5 +1,5 @@
CPU87 BOARD
-M: -
+#M: -
S: Maintained
F: board/cpu87/
F: include/configs/CPU87.h
diff --git a/board/cray/L1/MAINTAINERS b/board/cray/L1/MAINTAINERS
index e93819ecfa..e43e91febe 100644
--- a/board/cray/L1/MAINTAINERS
+++ b/board/cray/L1/MAINTAINERS
@@ -1,5 +1,5 @@
L1 BOARD
-M: David Updegraff <dave@cray.com>
+#M: David Updegraff <dave@cray.com>
S: Orphan (since 2014-03)
F: board/cray/L1/
F: include/configs/CRAYL1.h
diff --git a/board/dave/PPChameleonEVB/MAINTAINERS b/board/dave/PPChameleonEVB/MAINTAINERS
index 3af5b5704b..d43c6d03f2 100644
--- a/board/dave/PPChameleonEVB/MAINTAINERS
+++ b/board/dave/PPChameleonEVB/MAINTAINERS
@@ -1,5 +1,5 @@
PPCHAMELEONEVB BOARD
-M: -
+#M: -
S: Maintained
F: board/dave/PPChameleonEVB/
F: include/configs/CATcenter.h
diff --git a/board/davinci/dm355evm/MAINTAINERS b/board/davinci/dm355evm/MAINTAINERS
index ef586b3884..c017e09717 100644
--- a/board/davinci/dm355evm/MAINTAINERS
+++ b/board/davinci/dm355evm/MAINTAINERS
@@ -1,5 +1,5 @@
DM355EVM BOARD
-M: Sandeep Paulraj <s-paulraj@ti.com>
+#M: Sandeep Paulraj <s-paulraj@ti.com>
S: Orphan (since 2014-08)
F: board/davinci/dm355evm/
F: include/configs/davinci_dm355evm.h
diff --git a/board/davinci/dm355leopard/MAINTAINERS b/board/davinci/dm355leopard/MAINTAINERS
index 2fc1e00d5a..ed04d4354b 100644
--- a/board/davinci/dm355leopard/MAINTAINERS
+++ b/board/davinci/dm355leopard/MAINTAINERS
@@ -1,5 +1,5 @@
DM355LEOPARD BOARD
-M: Sandeep Paulraj <s-paulraj@ti.com>
+#M: Sandeep Paulraj <s-paulraj@ti.com>
S: Orphan (since 2014-08)
F: board/davinci/dm355leopard/
F: include/configs/davinci_dm355leopard.h
diff --git a/board/davinci/dm365evm/MAINTAINERS b/board/davinci/dm365evm/MAINTAINERS
index 0bfe02d0ea..97c3ed3b69 100644
--- a/board/davinci/dm365evm/MAINTAINERS
+++ b/board/davinci/dm365evm/MAINTAINERS
@@ -1,5 +1,5 @@
DM365EVM BOARD
-M: Sandeep Paulraj <s-paulraj@ti.com>
+#M: Sandeep Paulraj <s-paulraj@ti.com>
S: Orphan (since 2014-08)
F: board/davinci/dm365evm/
F: include/configs/davinci_dm365evm.h
diff --git a/board/davinci/dm6467evm/MAINTAINERS b/board/davinci/dm6467evm/MAINTAINERS
index bb4053626d..8ca53c43c8 100644
--- a/board/davinci/dm6467evm/MAINTAINERS
+++ b/board/davinci/dm6467evm/MAINTAINERS
@@ -1,5 +1,5 @@
DM6467EVM BOARD
-M: Sandeep Paulraj <s-paulraj@ti.com>
+#M: Sandeep Paulraj <s-paulraj@ti.com>
S: Orphan (since 2014-08)
F: board/davinci/dm6467evm/
F: include/configs/davinci_dm6467evm.h
diff --git a/board/davinci/dvevm/MAINTAINERS b/board/davinci/dvevm/MAINTAINERS
index 4b3ce45d4f..a718b90050 100644
--- a/board/davinci/dvevm/MAINTAINERS
+++ b/board/davinci/dvevm/MAINTAINERS
@@ -1,5 +1,5 @@
DVEVM BOARD
-M: -
+#M: -
S: Maintained
F: board/davinci/dvevm/
F: include/configs/davinci_dvevm.h
diff --git a/board/davinci/schmoogie/MAINTAINERS b/board/davinci/schmoogie/MAINTAINERS
index b1fc29c019..808e7fc046 100644
--- a/board/davinci/schmoogie/MAINTAINERS
+++ b/board/davinci/schmoogie/MAINTAINERS
@@ -1,5 +1,5 @@
SCHMOOGIE BOARD
-M: -
+#M: -
S: Maintained
F: board/davinci/schmoogie/
F: include/configs/davinci_schmoogie.h
diff --git a/board/davinci/sffsdr/MAINTAINERS b/board/davinci/sffsdr/MAINTAINERS
index 428d003abc..5c7e1324a9 100644
--- a/board/davinci/sffsdr/MAINTAINERS
+++ b/board/davinci/sffsdr/MAINTAINERS
@@ -1,5 +1,5 @@
SFFSDR BOARD
-M: -
+#M: -
S: Maintained
F: board/davinci/sffsdr/
F: include/configs/davinci_sffsdr.h
diff --git a/board/davinci/sonata/MAINTAINERS b/board/davinci/sonata/MAINTAINERS
index 625978ca62..40659e5210 100644
--- a/board/davinci/sonata/MAINTAINERS
+++ b/board/davinci/sonata/MAINTAINERS
@@ -1,5 +1,5 @@
SONATA BOARD
-M: -
+#M: -
S: Maintained
F: board/davinci/sonata/
F: include/configs/davinci_sonata.h
diff --git a/board/earthlcd/favr-32-ezkit/MAINTAINERS b/board/earthlcd/favr-32-ezkit/MAINTAINERS
index 30453c6b16..89ba862149 100644
--- a/board/earthlcd/favr-32-ezkit/MAINTAINERS
+++ b/board/earthlcd/favr-32-ezkit/MAINTAINERS
@@ -1,5 +1,5 @@
FAVR-32-EZKIT BOARD
-M: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
+#M: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
S: Orphan (since 2014-06)
F: board/earthlcd/favr-32-ezkit/
F: include/configs/favr-32-ezkit.h
diff --git a/board/eltec/elppc/MAINTAINERS b/board/eltec/elppc/MAINTAINERS
index 5258b3a7ca..e3b35f1101 100644
--- a/board/eltec/elppc/MAINTAINERS
+++ b/board/eltec/elppc/MAINTAINERS
@@ -1,5 +1,5 @@
ELPPC BOARD
-M: -
+#M: -
S: Maintained
F: board/eltec/elppc/
F: include/configs/ELPPC.h
diff --git a/board/eltec/mhpc/u-boot.lds b/board/eltec/mhpc/u-boot.lds
deleted file mode 100644
index 7ae91ffb2e..0000000000
--- a/board/eltec/mhpc/u-boot.lds
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * (C) Copyright 2001-2010
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-
-SECTIONS
-{
- /* Read-only sections, merged into text segment: */
- . = + SIZEOF_HEADERS;
- .text :
- {
- arch/powerpc/cpu/mpc8xx/start.o (.text*)
- arch/powerpc/cpu/mpc8xx/traps.o (.text*)
-
- *(.text*)
- }
- _etext = .;
- PROVIDE (etext = .);
- .rodata :
- {
- *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
- }
-
- /* Read-write section, merged into data segment: */
- . = (. + 0x00FF) & 0xFFFFFF00;
- _erotext = .;
- PROVIDE (erotext = .);
- .reloc :
- {
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
- __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
- __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
- .data :
- {
- *(.data*)
- *(.sdata*)
- }
- _edata = .;
- PROVIDE (edata = .);
-
- . = .;
-
- . = ALIGN(4);
- .u_boot_list : {
- KEEP(*(SORT(.u_boot_list*)));
- }
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
-
- . = ALIGN(256);
- __init_begin = .;
- .text.init : { *(.text.init) }
- .data.init : { *(.data.init) }
- . = ALIGN(256);
- __init_end = .;
-
- __bss_start = .;
- .bss (NOLOAD) :
- {
- *(.bss*)
- *(.sbss*)
- *(COMMON)
- . = ALIGN(4);
- }
- __bss_end = . ;
- PROVIDE (end = .);
-}
diff --git a/board/embest/mx6boards/mx6boards.c b/board/embest/mx6boards/mx6boards.c
index 530ea4f3c4..a725f15a2e 100644
--- a/board/embest/mx6boards/mx6boards.c
+++ b/board/embest/mx6boards/mx6boards.c
@@ -285,6 +285,11 @@ iomux_v3_cfg_t const ecspi1_pads[] = {
MX6_PAD_EIM_EB2__GPIO2_IO30 | MUX_PAD_CTRL(NO_PAD_CTRL),
};
+int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+ return (bus == 0 && cs == 0) ? (IMX_GPIO_NR(2, 30)) : -1;
+}
+
static void setup_spi(void)
{
imx_iomux_v3_setup_multiple_pads(ecspi1_pads, ARRAY_SIZE(ecspi1_pads));
diff --git a/board/emk/top860/u-boot.lds b/board/emk/top860/u-boot.lds
deleted file mode 100644
index 79fcbf4adc..0000000000
--- a/board/emk/top860/u-boot.lds
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * (C) Copyright 2000-2010
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-
-SECTIONS
-{
- /* Read-only sections, merged into text segment: */
- . = + SIZEOF_HEADERS;
- .text :
- {
- arch/powerpc/cpu/mpc8xx/start.o (.text*)
- arch/powerpc/cpu/mpc8xx/traps.o (.text*)
-
- *(.text*)
- }
- _etext = .;
- PROVIDE (etext = .);
- .rodata :
- {
- *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
- }
-
- /* Read-write section, merged into data segment: */
- . = (. + 0x00FF) & 0xFFFFFF00;
- _erotext = .;
- PROVIDE (erotext = .);
- .reloc :
- {
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
- __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
- __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
- .data :
- {
- *(.data*)
- *(.sdata*)
- }
- _edata = .;
- PROVIDE (edata = .);
-
-
- . = .;
-
- . = ALIGN(4);
- .u_boot_list : {
- KEEP(*(SORT(.u_boot_list*)));
- }
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
-
- . = ALIGN(256);
- __init_begin = .;
- .text.init : { *(.text.init) }
- .data.init : { *(.data.init) }
- . = ALIGN(256);
- __init_end = .;
-
- __bss_start = .;
- .bss (NOLOAD) :
- {
- *(.bss*)
- *(.sbss*)
- *(COMMON)
- . = ALIGN(4);
- }
- __bss_end = . ;
- PROVIDE (end = .);
-}
diff --git a/board/ep8260/MAINTAINERS b/board/ep8260/MAINTAINERS
index bb273df6d4..bfa923caf6 100644
--- a/board/ep8260/MAINTAINERS
+++ b/board/ep8260/MAINTAINERS
@@ -1,5 +1,5 @@
EP8260 BOARD
-M: Frank Panno <fpanno@delphintech.com>
+#M: Frank Panno <fpanno@delphintech.com>
S: Orphan (since 2014-06)
F: board/ep8260/
F: include/configs/ep8260.h
diff --git a/board/ep82xxm/MAINTAINERS b/board/ep82xxm/MAINTAINERS
index 822261be78..c053df9160 100644
--- a/board/ep82xxm/MAINTAINERS
+++ b/board/ep82xxm/MAINTAINERS
@@ -1,5 +1,5 @@
EP82XXM BOARD
-M: -
+#M: -
S: Maintained
F: board/ep82xxm/
F: include/configs/ep82xxm.h
diff --git a/board/esg/ima3-mx53/MAINTAINERS b/board/esg/ima3-mx53/MAINTAINERS
index c434eb93a3..96de0815c7 100644
--- a/board/esg/ima3-mx53/MAINTAINERS
+++ b/board/esg/ima3-mx53/MAINTAINERS
@@ -1,5 +1,5 @@
IMA3-MX53 BOARD
-M: -
+#M: -
S: Maintained
F: board/esg/ima3-mx53/
F: include/configs/ima3-mx53.h
diff --git a/board/espt/MAINTAINERS b/board/espt/MAINTAINERS
index ff6e20c067..fdbbc3eb45 100644
--- a/board/espt/MAINTAINERS
+++ b/board/espt/MAINTAINERS
@@ -1,5 +1,5 @@
ESPT BOARD
-M: -
+#M: -
S: Maintained
F: board/espt/
F: include/configs/espt.h
diff --git a/board/evb64260/MAINTAINERS b/board/evb64260/MAINTAINERS
index f8307ccf51..d50dda523e 100644
--- a/board/evb64260/MAINTAINERS
+++ b/board/evb64260/MAINTAINERS
@@ -6,7 +6,7 @@ F: include/configs/P3G4.h
F: configs/P3G4_defconfig
ZUMA BOARD
-M: Nye Liu <nyet@zumanetworks.com>
+#M: Nye Liu <nyet@zumanetworks.com>
S: Orphan (since 2014-04)
F: include/configs/ZUMA.h
F: configs/ZUMA_defconfig
diff --git a/board/exmeritus/hww1u1a/MAINTAINERS b/board/exmeritus/hww1u1a/MAINTAINERS
index e2fe2a6b66..b37f10b17a 100644
--- a/board/exmeritus/hww1u1a/MAINTAINERS
+++ b/board/exmeritus/hww1u1a/MAINTAINERS
@@ -1,5 +1,5 @@
HWW1U1A BOARD
-M: Kyle Moffett <Kyle.D.Moffett@boeing.com>
+#M: Kyle Moffett <Kyle.D.Moffett@boeing.com>
S: Orphan (since 2014-06)
F: board/exmeritus/hww1u1a/
F: include/configs/HWW1U1A.h
diff --git a/board/freescale/b4860qds/MAINTAINERS b/board/freescale/b4860qds/MAINTAINERS
index 9f9a612a61..ac02bb7e48 100644
--- a/board/freescale/b4860qds/MAINTAINERS
+++ b/board/freescale/b4860qds/MAINTAINERS
@@ -1,5 +1,5 @@
B4860QDS BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/b4860qds/
F: include/configs/B4860QDS.h
diff --git a/board/freescale/common/ics307_clk.c b/board/freescale/common/ics307_clk.c
index 6789efb9c3..e683be324a 100644
--- a/board/freescale/common/ics307_clk.c
+++ b/board/freescale/common/ics307_clk.c
@@ -67,7 +67,7 @@ unsigned long ics307_sysclk_calculator(unsigned long out_freq)
continue;
/* Calculate the temp out frequency */
tmp_out = input_freq * 2 * vdw / (rdw * od * 1000);
- diff = MAX(out_freq, tmp_out) - MIN(out_freq, tmp_out);
+ diff = max(out_freq, tmp_out) - min(out_freq, tmp_out);
/*
* calculate the percent, the precision is 1/1000
* If greater than 1/1000, continue
diff --git a/board/freescale/corenet_ds/MAINTAINERS b/board/freescale/corenet_ds/MAINTAINERS
index 841d82fdd8..c8ca6746f1 100644
--- a/board/freescale/corenet_ds/MAINTAINERS
+++ b/board/freescale/corenet_ds/MAINTAINERS
@@ -1,5 +1,5 @@
CORENET_DS BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/corenet_ds/
F: include/configs/P3041DS.h
diff --git a/board/freescale/ls1021aqds/MAINTAINERS b/board/freescale/ls1021aqds/MAINTAINERS
index 021d82b74d..ccf45131b8 100644
--- a/board/freescale/ls1021aqds/MAINTAINERS
+++ b/board/freescale/ls1021aqds/MAINTAINERS
@@ -4,3 +4,4 @@ S: Maintained
F: board/freescale/ls1021aqds/
F: include/configs/ls1021aqds.h
F: configs/ls1021aqds_nor_defconfig
+F: configs/ls1021aqds_ddr4_nor_defconfig
diff --git a/board/freescale/ls1021aqds/ddr.c b/board/freescale/ls1021aqds/ddr.c
index 679c654fb5..5898e33744 100644
--- a/board/freescale/ls1021aqds/ddr.c
+++ b/board/freescale/ls1021aqds/ddr.c
@@ -79,7 +79,6 @@ found:
*/
popts->wrlvl_override = 1;
popts->wrlvl_sample = 0xf;
- popts->cswl_override = DDR_CSWL_CS0;
/*
* Rtt and Rtt_WR override
@@ -89,9 +88,17 @@ found:
/* Enable ZQ calibration */
popts->zq_en = 1;
+#ifdef CONFIG_SYS_FSL_DDR4
+ popts->ddr_cdr1 = DDR_CDR1_DHC_EN | DDR_CDR1_ODT(DDR_CDR_ODT_80ohm);
+ popts->ddr_cdr2 = DDR_CDR2_ODT(DDR_CDR_ODT_80ohm) |
+ DDR_CDR2_VREF_OVRD(70); /* Vref = 70% */
+#else
+ popts->cswl_override = DDR_CSWL_CS0;
+
/* DHC_EN =1, ODT = 75 Ohm */
popts->ddr_cdr1 = DDR_CDR1_DHC_EN | DDR_CDR1_ODT(DDR_CDR_ODT_75ohm);
popts->ddr_cdr2 = DDR_CDR2_ODT(DDR_CDR_ODT_75ohm);
+#endif
}
#ifdef CONFIG_SYS_DDR_RAW_TIMING
diff --git a/board/freescale/ls1021aqds/ddr.h b/board/freescale/ls1021aqds/ddr.h
index 16d87cbe82..f819c99dba 100644
--- a/board/freescale/ls1021aqds/ddr.h
+++ b/board/freescale/ls1021aqds/ddr.h
@@ -30,6 +30,13 @@ static const struct board_specific_parameters udimm0[] = {
* num| hi| rank| clk| wrlvl | wrlvl | wrlvl | cpo |wrdata|2T
* ranks| mhz| GB |adjst| start | ctl2 | ctl3 | |delay |
*/
+#ifdef CONFIG_SYS_FSL_DDR4
+ {2, 1666, 0, 4, 7, 0x0808090B, 0x0C0D0E0A,},
+ {2, 1900, 0, 4, 6, 0x08080A0C, 0x0D0E0F0A,},
+ {1, 1666, 0, 4, 8, 0x090A0B0B, 0x0C0D0E0C,},
+ {1, 1900, 0, 4, 9, 0x0A0B0C0B, 0x0D0E0F0D,},
+ {1, 2200, 0, 4, 10, 0x0B0C0D0C, 0x0E0F110E,},
+#elif defined(CONFIG_SYS_FSL_DDR3)
{1, 833, 1, 6, 8, 0x06060607, 0x08080807, 0x1f, 2, 0},
{1, 1350, 1, 6, 8, 0x0708080A, 0x0A0B0C09, 0x1f, 2, 0},
{1, 833, 2, 6, 8, 0x06060607, 0x08080807, 0x1f, 2, 0},
@@ -39,6 +46,9 @@ static const struct board_specific_parameters udimm0[] = {
{2, 1350, 0, 6, 8, 0x0708080A, 0x0A0B0C09, 0x1f, 2, 0},
{2, 1666, 4, 4, 0xa, 0x0B08090C, 0x0B0E0D0A, 0x1f, 2, 0},
{2, 1666, 0, 4, 0xa, 0x0B08090C, 0x0B0E0D0A, 0x1f, 2, 0},
+#else
+#error DDR type not defined
+#endif
{}
};
diff --git a/board/freescale/ls2085a/Kconfig b/board/freescale/ls2085a/Kconfig
index 798b491dcc..f51afc8234 100644
--- a/board/freescale/ls2085a/Kconfig
+++ b/board/freescale/ls2085a/Kconfig
@@ -1,8 +1,5 @@
if TARGET_LS2085A_EMU
-config SYS_CPU
- default "armv8"
-
config SYS_BOARD
default "ls2085a"
@@ -19,9 +16,6 @@ endif
if TARGET_LS2085A_SIMU
-config SYS_CPU
- default "armv8"
-
config SYS_BOARD
default "ls2085a"
diff --git a/board/freescale/ls2085a/ddr.c b/board/freescale/ls2085a/ddr.c
index 257bc162d0..b4a3fc9a9e 100644
--- a/board/freescale/ls2085a/ddr.c
+++ b/board/freescale/ls2085a/ddr.c
@@ -30,9 +30,9 @@ void fsl_ddr_board_options(memctl_options_t *popts,
* to pbsp = rdimms[ctrl_num] or pbsp = udimms[ctrl_num];
*/
if (popts->registered_dimm_en)
- pbsp = rdimms[0];
+ pbsp = rdimms[ctrl_num];
else
- pbsp = udimms[0];
+ pbsp = udimms[ctrl_num];
/* Get clk_adjust, wrlvl_start, wrlvl_ctl, according to the board ddr
@@ -72,6 +72,12 @@ found:
pbsp->clk_adjust, pbsp->wrlvl_start, pbsp->wrlvl_ctl_2,
pbsp->wrlvl_ctl_3);
+ if (ctrl_num == CONFIG_DP_DDR_CTRL) {
+ /* force DDR bus width to 32 bits */
+ popts->data_bus_width = 1;
+ popts->otf_burst_chop_en = 0;
+ popts->burst_length = DDR_BL8;
+ }
/*
* Factors to consider for half-strength driver enable:
* - number of DIMMs installed
@@ -163,6 +169,10 @@ phys_size_t initdram(int board_type)
void dram_init_banksize(void)
{
+#ifdef CONFIG_SYS_DP_DDR_BASE_PHY
+ phys_size_t dp_ddr_size;
+#endif
+
gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
if (gd->ram_size > CONFIG_SYS_LS2_DDR_BLOCK1_SIZE) {
gd->bd->bi_dram[0].size = CONFIG_SYS_LS2_DDR_BLOCK1_SIZE;
@@ -172,4 +182,24 @@ void dram_init_banksize(void)
} else {
gd->bd->bi_dram[0].size = gd->ram_size;
}
+
+#ifdef CONFIG_SYS_DP_DDR_BASE_PHY
+ /* initialize DP-DDR here */
+ puts("DP-DDR: ");
+ /*
+ * DDR controller use 0 as the base address for binding.
+ * It is mapped to CONFIG_SYS_DP_DDR_BASE for core to access.
+ */
+ dp_ddr_size = fsl_other_ddr_sdram(CONFIG_SYS_DP_DDR_BASE_PHY,
+ CONFIG_DP_DDR_CTRL,
+ CONFIG_DP_DDR_NUM_CTRLS,
+ CONFIG_DP_DDR_DIMM_SLOTS_PER_CTLR,
+ NULL, NULL, NULL);
+ if (dp_ddr_size) {
+ gd->bd->bi_dram[2].start = CONFIG_SYS_DP_DDR_BASE;
+ gd->bd->bi_dram[2].size = dp_ddr_size;
+ } else {
+ puts("Not detected");
+ }
+#endif
}
diff --git a/board/freescale/ls2085a/ddr.h b/board/freescale/ls2085a/ddr.h
index 77f6aafe3d..9958a68e3e 100644
--- a/board/freescale/ls2085a/ddr.h
+++ b/board/freescale/ls2085a/ddr.h
@@ -33,6 +33,18 @@ static const struct board_specific_parameters udimm0[] = {
{}
};
+/* DP-DDR DIMM */
+static const struct board_specific_parameters udimm2[] = {
+ /*
+ * memory controller 2
+ * num| hi| rank| clk| wrlvl | wrlvl | wrlvl
+ * ranks| mhz| GB |adjst| start | ctl2 | ctl3
+ */
+ {2, 2140, 0, 4, 4, 0x0, 0x0},
+ {1, 2140, 0, 4, 4, 0x0, 0x0},
+ {}
+};
+
static const struct board_specific_parameters rdimm0[] = {
/*
* memory controller 0
@@ -45,12 +57,29 @@ static const struct board_specific_parameters rdimm0[] = {
{}
};
+/* DP-DDR DIMM */
+static const struct board_specific_parameters rdimm2[] = {
+ /*
+ * memory controller 2
+ * num| hi| rank| clk| wrlvl | wrlvl | wrlvl
+ * ranks| mhz| GB |adjst| start | ctl2 | ctl3
+ */
+ {4, 2140, 0, 5, 4, 0x0, 0x0},
+ {2, 2140, 0, 5, 4, 0x0, 0x0},
+ {1, 2140, 0, 4, 4, 0x0, 0x0},
+ {}
+};
+
static const struct board_specific_parameters *udimms[] = {
udimm0,
+ udimm0,
+ udimm2,
};
static const struct board_specific_parameters *rdimms[] = {
rdimm0,
+ rdimm0,
+ rdimm2,
};
diff --git a/board/freescale/ls2085a/ls2085a.c b/board/freescale/ls2085a/ls2085a.c
index a18db1d714..2c79a7181e 100644
--- a/board/freescale/ls2085a/ls2085a.c
+++ b/board/freescale/ls2085a/ls2085a.c
@@ -13,12 +13,18 @@
#include <fdt_support.h>
#include <libfdt.h>
#include <fsl_mc.h>
+#include <environment.h>
DECLARE_GLOBAL_DATA_PTR;
int board_init(void)
{
init_final_memctl_regs();
+
+#ifdef CONFIG_ENV_IS_NOWHERE
+ gd->env_addr = (ulong)&default_environment[0];
+#endif
+
return 0;
}
@@ -29,9 +35,20 @@ int board_early_init_f(void)
return 0;
}
+void detail_board_ddr_info(void)
+{
+ puts("\nDDR ");
+ print_size(gd->bd->bi_dram[0].size + gd->bd->bi_dram[1].size, "");
+ print_ddr_info(0);
+ if (gd->bd->bi_dram[2].size) {
+ puts("\nDP-DDR ");
+ print_size(gd->bd->bi_dram[2].size, "");
+ print_ddr_info(CONFIG_DP_DDR_CTRL);
+ }
+}
+
int dram_init(void)
{
- printf("DRAM: ");
gd->ram_size = initdram(0);
return 0;
@@ -88,6 +105,8 @@ void ft_board_setup(void *blob, bd_t *bd)
phys_addr_t base;
phys_size_t size;
+ ft_cpu_setup(blob, bd);
+
/* limit the memory size to bank 1 until Linux can handle 40-bit PA */
base = getenv_bootm_low();
size = getenv_bootm_size();
diff --git a/board/freescale/m5208evbe/MAINTAINERS b/board/freescale/m5208evbe/MAINTAINERS
index 65d04df250..c9c3c882e6 100644
--- a/board/freescale/m5208evbe/MAINTAINERS
+++ b/board/freescale/m5208evbe/MAINTAINERS
@@ -1,5 +1,5 @@
M5208EVBE BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/m5208evbe/
F: include/configs/M5208EVBE.h
diff --git a/board/freescale/m5249evb/MAINTAINERS b/board/freescale/m5249evb/MAINTAINERS
index 22301b770e..c2273c35e1 100644
--- a/board/freescale/m5249evb/MAINTAINERS
+++ b/board/freescale/m5249evb/MAINTAINERS
@@ -1,5 +1,5 @@
M5249EVB BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/m5249evb/
F: include/configs/M5249EVB.h
diff --git a/board/freescale/m5253evbe/MAINTAINERS b/board/freescale/m5253evbe/MAINTAINERS
index 1c21b03c38..74acd1eee5 100644
--- a/board/freescale/m5253evbe/MAINTAINERS
+++ b/board/freescale/m5253evbe/MAINTAINERS
@@ -1,5 +1,5 @@
M5253EVBE BOARD
-M: Hayden Fraser <Hayden.Fraser@freescale.com>
+#M: Hayden Fraser <Hayden.Fraser@freescale.com>
S: Orphan (since 2014-06)
F: board/freescale/m5253evbe/
F: include/configs/M5253EVBE.h
diff --git a/board/freescale/m5272c3/MAINTAINERS b/board/freescale/m5272c3/MAINTAINERS
index aa4739f744..e58663096d 100644
--- a/board/freescale/m5272c3/MAINTAINERS
+++ b/board/freescale/m5272c3/MAINTAINERS
@@ -1,5 +1,5 @@
M5272C3 BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/m5272c3/
F: include/configs/M5272C3.h
diff --git a/board/freescale/m5275evb/MAINTAINERS b/board/freescale/m5275evb/MAINTAINERS
index b87d52c64f..4e6dbb12d9 100644
--- a/board/freescale/m5275evb/MAINTAINERS
+++ b/board/freescale/m5275evb/MAINTAINERS
@@ -1,5 +1,5 @@
M5275EVB BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/m5275evb/
F: include/configs/M5275EVB.h
diff --git a/board/freescale/m5282evb/MAINTAINERS b/board/freescale/m5282evb/MAINTAINERS
index f945ab446b..305e748e74 100644
--- a/board/freescale/m5282evb/MAINTAINERS
+++ b/board/freescale/m5282evb/MAINTAINERS
@@ -1,5 +1,5 @@
M5282EVB BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/m5282evb/
F: include/configs/M5282EVB.h
diff --git a/board/freescale/m54418twr/MAINTAINERS b/board/freescale/m54418twr/MAINTAINERS
index 37b24c7be8..f88aed99d6 100644
--- a/board/freescale/m54418twr/MAINTAINERS
+++ b/board/freescale/m54418twr/MAINTAINERS
@@ -1,5 +1,5 @@
M54418TWR BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/m54418twr/
F: include/configs/M54418TWR.h
diff --git a/board/freescale/m54451evb/MAINTAINERS b/board/freescale/m54451evb/MAINTAINERS
index be145494cb..52a2681080 100644
--- a/board/freescale/m54451evb/MAINTAINERS
+++ b/board/freescale/m54451evb/MAINTAINERS
@@ -1,5 +1,5 @@
M54451EVB BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/m54451evb/
F: include/configs/M54451EVB.h
diff --git a/board/freescale/mpc5121ads/MAINTAINERS b/board/freescale/mpc5121ads/MAINTAINERS
index 0c7f682f95..d4aab8fb51 100644
--- a/board/freescale/mpc5121ads/MAINTAINERS
+++ b/board/freescale/mpc5121ads/MAINTAINERS
@@ -1,5 +1,5 @@
MPC5121ADS BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/mpc5121ads/
F: include/configs/mpc5121ads.h
diff --git a/board/freescale/mpc8313erdb/MAINTAINERS b/board/freescale/mpc8313erdb/MAINTAINERS
index 923ba95404..807fb0b6e9 100644
--- a/board/freescale/mpc8313erdb/MAINTAINERS
+++ b/board/freescale/mpc8313erdb/MAINTAINERS
@@ -1,5 +1,5 @@
MPC8313ERDB BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/mpc8313erdb/
F: include/configs/MPC8313ERDB.h
diff --git a/board/freescale/mpc8349itx/MAINTAINERS b/board/freescale/mpc8349itx/MAINTAINERS
index ed6e4e54dd..d0388ad6e5 100644
--- a/board/freescale/mpc8349itx/MAINTAINERS
+++ b/board/freescale/mpc8349itx/MAINTAINERS
@@ -1,5 +1,5 @@
MPC8349ITX BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/mpc8349itx/
F: include/configs/MPC8349ITX.h
diff --git a/board/freescale/mpc8360erdk/MAINTAINERS b/board/freescale/mpc8360erdk/MAINTAINERS
index cb075d62a9..e5b5995f78 100644
--- a/board/freescale/mpc8360erdk/MAINTAINERS
+++ b/board/freescale/mpc8360erdk/MAINTAINERS
@@ -1,5 +1,5 @@
MPC8360ERDK BOARD
-M: Anton Vorontsov <avorontsov@ru.mvista.com>
+#M: Anton Vorontsov <avorontsov@ru.mvista.com>
S: Orphan (since 2014-03)
F: board/freescale/mpc8360erdk/
F: include/configs/MPC8360ERDK.h
diff --git a/board/freescale/mpc837xerdb/MAINTAINERS b/board/freescale/mpc837xerdb/MAINTAINERS
index c216d8da06..8592a2c3c1 100644
--- a/board/freescale/mpc837xerdb/MAINTAINERS
+++ b/board/freescale/mpc837xerdb/MAINTAINERS
@@ -1,5 +1,5 @@
MPC837XERDB BOARD
-M: Joe D'Abbraccio <ljd015@freescale.com>
+#M: Joe D'Abbraccio <ljd015@freescale.com>
S: Orphan (since 2014-06)
F: board/freescale/mpc837xerdb/
F: include/configs/MPC837XERDB.h
diff --git a/board/freescale/mpc8536ds/MAINTAINERS b/board/freescale/mpc8536ds/MAINTAINERS
index 51d7cd7bac..953072cdd0 100644
--- a/board/freescale/mpc8536ds/MAINTAINERS
+++ b/board/freescale/mpc8536ds/MAINTAINERS
@@ -1,5 +1,5 @@
MPC8536DS BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/mpc8536ds/
F: include/configs/MPC8536DS.h
diff --git a/board/freescale/mpc8540ads/MAINTAINERS b/board/freescale/mpc8540ads/MAINTAINERS
index 41a2191577..acc48218d4 100644
--- a/board/freescale/mpc8540ads/MAINTAINERS
+++ b/board/freescale/mpc8540ads/MAINTAINERS
@@ -1,5 +1,5 @@
MPC8540ADS BOARD
-M: Kumar Gala <kumar.gala@freescale.com>
+#M: Kumar Gala <kumar.gala@freescale.com>
S: Orphan (since 2014-06)
F: board/freescale/mpc8540ads/
F: include/configs/MPC8540ADS.h
diff --git a/board/freescale/mpc8541cds/MAINTAINERS b/board/freescale/mpc8541cds/MAINTAINERS
index 073210d9ad..d421b1281b 100644
--- a/board/freescale/mpc8541cds/MAINTAINERS
+++ b/board/freescale/mpc8541cds/MAINTAINERS
@@ -1,5 +1,5 @@
MPC8541CDS BOARD
-M: Kumar Gala <kumar.gala@freescale.com>
+#M: Kumar Gala <kumar.gala@freescale.com>
S: Orphan (since 2014-06)
F: board/freescale/mpc8541cds/
F: include/configs/MPC8541CDS.h
diff --git a/board/freescale/mpc8544ds/MAINTAINERS b/board/freescale/mpc8544ds/MAINTAINERS
index 81b664c732..328be7fecc 100644
--- a/board/freescale/mpc8544ds/MAINTAINERS
+++ b/board/freescale/mpc8544ds/MAINTAINERS
@@ -1,5 +1,5 @@
MPC8544DS BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/mpc8544ds/
F: include/configs/MPC8544DS.h
diff --git a/board/freescale/mpc8548cds/MAINTAINERS b/board/freescale/mpc8548cds/MAINTAINERS
index 89b2425d0b..6f229227c0 100644
--- a/board/freescale/mpc8548cds/MAINTAINERS
+++ b/board/freescale/mpc8548cds/MAINTAINERS
@@ -1,5 +1,5 @@
MPC8548CDS BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/mpc8548cds/
F: include/configs/MPC8548CDS.h
diff --git a/board/freescale/mpc8555cds/MAINTAINERS b/board/freescale/mpc8555cds/MAINTAINERS
index 14470d72ee..1ef669000f 100644
--- a/board/freescale/mpc8555cds/MAINTAINERS
+++ b/board/freescale/mpc8555cds/MAINTAINERS
@@ -1,5 +1,5 @@
MPC8555CDS BOARD
-M: Kumar Gala <kumar.gala@freescale.com>
+#M: Kumar Gala <kumar.gala@freescale.com>
S: Orphan (since 2014-06)
F: board/freescale/mpc8555cds/
F: include/configs/MPC8555CDS.h
diff --git a/board/freescale/mpc8560ads/MAINTAINERS b/board/freescale/mpc8560ads/MAINTAINERS
index 836def2a27..96e6da2aad 100644
--- a/board/freescale/mpc8560ads/MAINTAINERS
+++ b/board/freescale/mpc8560ads/MAINTAINERS
@@ -1,5 +1,5 @@
MPC8560ADS BOARD
-M: Kumar Gala <kumar.gala@freescale.com>
+#M: Kumar Gala <kumar.gala@freescale.com>
S: Orphan (since 2014-06)
F: board/freescale/mpc8560ads/
F: include/configs/MPC8560ADS.h
diff --git a/board/freescale/mpc8568mds/MAINTAINERS b/board/freescale/mpc8568mds/MAINTAINERS
index 72c25f5f8e..379d8cc1d5 100644
--- a/board/freescale/mpc8568mds/MAINTAINERS
+++ b/board/freescale/mpc8568mds/MAINTAINERS
@@ -1,5 +1,5 @@
MPC8568MDS BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/mpc8568mds/
F: include/configs/MPC8568MDS.h
diff --git a/board/freescale/mpc8569mds/MAINTAINERS b/board/freescale/mpc8569mds/MAINTAINERS
index b5478dbc17..c181407f25 100644
--- a/board/freescale/mpc8569mds/MAINTAINERS
+++ b/board/freescale/mpc8569mds/MAINTAINERS
@@ -1,5 +1,5 @@
MPC8569MDS BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/mpc8569mds/
F: include/configs/MPC8569MDS.h
diff --git a/board/freescale/mpc8610hpcd/MAINTAINERS b/board/freescale/mpc8610hpcd/MAINTAINERS
index 993c02a15e..de6ab89299 100644
--- a/board/freescale/mpc8610hpcd/MAINTAINERS
+++ b/board/freescale/mpc8610hpcd/MAINTAINERS
@@ -1,5 +1,5 @@
MPC8610HPCD BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/mpc8610hpcd/
F: include/configs/MPC8610HPCD.h
diff --git a/board/freescale/mpc8641hpcn/MAINTAINERS b/board/freescale/mpc8641hpcn/MAINTAINERS
index 34bcc6cd0b..97902475ba 100644
--- a/board/freescale/mpc8641hpcn/MAINTAINERS
+++ b/board/freescale/mpc8641hpcn/MAINTAINERS
@@ -1,5 +1,5 @@
MPC8641HPCN BOARD
-M: Kumar Gala <kumar.gala@freescale.com>
+#M: Kumar Gala <kumar.gala@freescale.com>
S: Orphan (since 2014-06)
F: board/freescale/mpc8641hpcn/
F: include/configs/MPC8641HPCN.h
diff --git a/board/freescale/mx31ads/MAINTAINERS b/board/freescale/mx31ads/MAINTAINERS
index e9c8fe78e0..5f6ec268c7 100644
--- a/board/freescale/mx31ads/MAINTAINERS
+++ b/board/freescale/mx31ads/MAINTAINERS
@@ -1,5 +1,5 @@
MX31ADS BOARD
-M: (resigned) Guennadi Liakhovetski <g.liakhovetski@gmx.de>
+#M: (resigned) Guennadi Liakhovetski <g.liakhovetski@gmx.de>
S: Orphan (since 2013-09)
F: board/freescale/mx31ads/
F: include/configs/mx31ads.h
diff --git a/board/freescale/mx6qsabreauto/mx6qsabreauto.c b/board/freescale/mx6qsabreauto/mx6qsabreauto.c
index 928dadf809..836d7221b0 100644
--- a/board/freescale/mx6qsabreauto/mx6qsabreauto.c
+++ b/board/freescale/mx6qsabreauto/mx6qsabreauto.c
@@ -259,6 +259,13 @@ int board_init(void)
return 0;
}
+#ifdef CONFIG_MXC_SPI
+int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+ return (bus == 0 && cs == 0) ? (IMX_GPIO_NR(4, 9)) : -1;
+}
+#endif
+
#ifdef CONFIG_CMD_BMODE
static const struct boot_mode board_boot_modes[] = {
/* 4 bit bus width */
diff --git a/board/freescale/mx6sabresd/mx6dlsabresd.cfg b/board/freescale/mx6sabresd/mx6dlsabresd.cfg
new file mode 100644
index 0000000000..f35f22ea82
--- /dev/null
+++ b/board/freescale/mx6sabresd/mx6dlsabresd.cfg
@@ -0,0 +1,131 @@
+/*
+ * Copyright (C) 2014 Freescale Semiconductor, Inc.
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ *
+ * Refer docs/README.imxmage for more details about how-to configure
+ * and create imximage boot image
+ *
+ * The syntax is taken as close as possible with the kwbimage
+ */
+
+/* image version */
+
+IMAGE_VERSION 2
+
+/*
+ * Boot Device : one of
+ * spi, sd (the board has no nand neither onenand)
+ */
+
+BOOT_FROM sd
+
+/*
+ * Device Configuration Data (DCD)
+ *
+ * Each entry must have the format:
+ * Addr-type Address Value
+ *
+ * where:
+ * Addr-type register length (1,2 or 4 bytes)
+ * Address absolute address of the register
+ * value value to be stored in the register
+ */
+DATA 4 0x020e0774 0x000C0000
+DATA 4 0x020e0754 0x00000000
+DATA 4 0x020e04ac 0x00000030
+DATA 4 0x020e04b0 0x00000030
+DATA 4 0x020e0464 0x00000030
+DATA 4 0x020e0490 0x00000030
+DATA 4 0x020e074c 0x00000030
+DATA 4 0x020e0494 0x00000030
+DATA 4 0x020e04a0 0x00000000
+DATA 4 0x020e04b4 0x00000030
+DATA 4 0x020e04b8 0x00000030
+DATA 4 0x020e076c 0x00000030
+DATA 4 0x020e0750 0x00020000
+DATA 4 0x020e04bc 0x00000030
+DATA 4 0x020e04c0 0x00000030
+DATA 4 0x020e04c4 0x00000030
+DATA 4 0x020e04c8 0x00000030
+DATA 4 0x020e04cc 0x00000030
+DATA 4 0x020e04d0 0x00000030
+DATA 4 0x020e04d4 0x00000030
+DATA 4 0x020e04d8 0x00000030
+DATA 4 0x020e0760 0x00020000
+DATA 4 0x020e0764 0x00000030
+DATA 4 0x020e0770 0x00000030
+DATA 4 0x020e0778 0x00000030
+DATA 4 0x020e077c 0x00000030
+DATA 4 0x020e0780 0x00000030
+DATA 4 0x020e0784 0x00000030
+DATA 4 0x020e078c 0x00000030
+DATA 4 0x020e0748 0x00000030
+DATA 4 0x020e0470 0x00000030
+DATA 4 0x020e0474 0x00000030
+DATA 4 0x020e0478 0x00000030
+DATA 4 0x020e047c 0x00000030
+DATA 4 0x020e0480 0x00000030
+DATA 4 0x020e0484 0x00000030
+DATA 4 0x020e0488 0x00000030
+DATA 4 0x020e048c 0x00000030
+DATA 4 0x021b0800 0xa1390003
+DATA 4 0x021b080c 0x001F001F
+DATA 4 0x021b0810 0x001F001F
+DATA 4 0x021b480c 0x001F001F
+DATA 4 0x021b4810 0x001F001F
+DATA 4 0x021b083c 0x4220021F
+DATA 4 0x021b0840 0x0207017E
+DATA 4 0x021b483c 0x4201020C
+DATA 4 0x021b4840 0x01660172
+DATA 4 0x021b0848 0x4A4D4E4D
+DATA 4 0x021b4848 0x4A4F5049
+DATA 4 0x021b0850 0x3F3C3D31
+DATA 4 0x021b4850 0x3238372B
+DATA 4 0x021b081c 0x33333333
+DATA 4 0x021b0820 0x33333333
+DATA 4 0x021b0824 0x33333333
+DATA 4 0x021b0828 0x33333333
+DATA 4 0x021b481c 0x33333333
+DATA 4 0x021b4820 0x33333333
+DATA 4 0x021b4824 0x33333333
+DATA 4 0x021b4828 0x33333333
+DATA 4 0x021b08b8 0x00000800
+DATA 4 0x021b48b8 0x00000800
+DATA 4 0x021b0004 0x0002002D
+DATA 4 0x021b0008 0x00333030
+DATA 4 0x021b000c 0x3F435313
+DATA 4 0x021b0010 0xB66E8B63
+DATA 4 0x021b0014 0x01FF00DB
+DATA 4 0x021b0018 0x00001740
+DATA 4 0x021b001c 0x00008000
+DATA 4 0x021b002c 0x000026d2
+DATA 4 0x021b0030 0x00431023
+DATA 4 0x021b0040 0x00000027
+DATA 4 0x021b0000 0x831A0000
+DATA 4 0x021b001c 0x04008032
+DATA 4 0x021b001c 0x00008033
+DATA 4 0x021b001c 0x00048031
+DATA 4 0x021b001c 0x05208030
+DATA 4 0x021b001c 0x04008040
+DATA 4 0x021b0020 0x00005800
+DATA 4 0x021b0818 0x00011117
+DATA 4 0x021b4818 0x00011117
+DATA 4 0x021b0004 0x0002556D
+DATA 4 0x021b0404 0x00011006
+DATA 4 0x021b001c 0x00000000
+
+/* set the default clock gate to save power */
+DATA 4 0x020c4068 0x00C03F3F
+DATA 4 0x020c406c 0x0030FC03
+DATA 4 0x020c4070 0x0FFFC000
+DATA 4 0x020c4074 0x3FF00000
+DATA 4 0x020c4078 0x00FFF300
+DATA 4 0x020c407c 0x0F0000C3
+DATA 4 0x020c4080 0x000003FF
+
+/* enable AXI cache for VDOA/VPU/IPU */
+DATA 4 0x020e0010 0xF00000CF
+/* set IPU AXI-id0 Qos=0xf(bypass) AXI-id1 Qos=0x7 */
+DATA 4 0x020e0018 0x007F007F
+DATA 4 0x020e001c 0x007F007F
diff --git a/board/freescale/mx6sabresd/mx6sabresd.c b/board/freescale/mx6sabresd/mx6sabresd.c
index 80c8ebdafc..81dcd6e5dd 100644
--- a/board/freescale/mx6sabresd/mx6sabresd.c
+++ b/board/freescale/mx6sabresd/mx6sabresd.c
@@ -513,6 +513,13 @@ static int pfuze_init(void)
return 0;
}
+#ifdef CONFIG_MXC_SPI
+int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+ return (bus == 0 && cs == 0) ? (IMX_GPIO_NR(4, 9)) : -1;
+}
+#endif
+
#ifdef CONFIG_CMD_BMODE
static const struct boot_mode board_boot_modes[] = {
/* 4 bit bus width */
diff --git a/board/freescale/mx6slevk/mx6slevk.c b/board/freescale/mx6slevk/mx6slevk.c
index a990b4cea8..a0832f4a20 100644
--- a/board/freescale/mx6slevk/mx6slevk.c
+++ b/board/freescale/mx6slevk/mx6slevk.c
@@ -82,6 +82,11 @@ static iomux_v3_cfg_t ecspi1_pads[] = {
MX6_PAD_ECSPI1_SS0__GPIO4_IO11 | MUX_PAD_CTRL(NO_PAD_CTRL),
};
+int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+ return (bus == 0 && cs == 0) ? (IMX_GPIO_NR(4, 11)) : -1;
+}
+
static void setup_spi(void)
{
imx_iomux_v3_setup_multiple_pads(ecspi1_pads, ARRAY_SIZE(ecspi1_pads));
diff --git a/board/freescale/p1010rdb/MAINTAINERS b/board/freescale/p1010rdb/MAINTAINERS
index 579e775972..db001437b1 100644
--- a/board/freescale/p1010rdb/MAINTAINERS
+++ b/board/freescale/p1010rdb/MAINTAINERS
@@ -1,5 +1,5 @@
P1010RDB BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/p1010rdb/
F: include/configs/P1010RDB.h
diff --git a/board/freescale/p1023rdb/MAINTAINERS b/board/freescale/p1023rdb/MAINTAINERS
index 81501aa5fc..c06bac6d0d 100644
--- a/board/freescale/p1023rdb/MAINTAINERS
+++ b/board/freescale/p1023rdb/MAINTAINERS
@@ -1,5 +1,5 @@
P1023RDB BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/p1023rdb/
F: include/configs/P1023RDB.h
diff --git a/board/freescale/p1_p2_rdb/MAINTAINERS b/board/freescale/p1_p2_rdb/MAINTAINERS
index ad0a8589f4..aabf587dd6 100644
--- a/board/freescale/p1_p2_rdb/MAINTAINERS
+++ b/board/freescale/p1_p2_rdb/MAINTAINERS
@@ -1,5 +1,5 @@
P1_P2_RDB BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/p1_p2_rdb/
F: include/configs/P1_P2_RDB.h
diff --git a/board/freescale/p1_p2_rdb_pc/MAINTAINERS b/board/freescale/p1_p2_rdb_pc/MAINTAINERS
index 4d429fe9cf..c2e924798e 100644
--- a/board/freescale/p1_p2_rdb_pc/MAINTAINERS
+++ b/board/freescale/p1_p2_rdb_pc/MAINTAINERS
@@ -1,5 +1,5 @@
P1_P2_RDB_PC BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/p1_p2_rdb_pc/
F: include/configs/p1_p2_rdb_pc.h
diff --git a/board/freescale/p1_twr/MAINTAINERS b/board/freescale/p1_twr/MAINTAINERS
index 2d7d7e10c5..c19d43616b 100644
--- a/board/freescale/p1_twr/MAINTAINERS
+++ b/board/freescale/p1_twr/MAINTAINERS
@@ -1,5 +1,5 @@
P1_TWR BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/p1_twr/
F: include/configs/p1_twr.h
diff --git a/board/freescale/p2020ds/MAINTAINERS b/board/freescale/p2020ds/MAINTAINERS
index 42cb18dc8b..cb61fc51fb 100644
--- a/board/freescale/p2020ds/MAINTAINERS
+++ b/board/freescale/p2020ds/MAINTAINERS
@@ -1,5 +1,5 @@
P2020DS BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/p2020ds/
F: include/configs/P2020DS.h
diff --git a/board/freescale/p2041rdb/MAINTAINERS b/board/freescale/p2041rdb/MAINTAINERS
index bb5bb83f30..d93cb0bebb 100644
--- a/board/freescale/p2041rdb/MAINTAINERS
+++ b/board/freescale/p2041rdb/MAINTAINERS
@@ -1,5 +1,5 @@
P2041RDB BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/p2041rdb/
F: include/configs/P2041RDB.h
diff --git a/board/freescale/t1040qds/eth.c b/board/freescale/t1040qds/eth.c
index 1929bba20b..06d908658d 100644
--- a/board/freescale/t1040qds/eth.c
+++ b/board/freescale/t1040qds/eth.c
@@ -241,6 +241,8 @@ static void initialize_lane_to_slot(void)
break;
case 0xA7:
lane_to_slot[1] = 7;
+ lane_to_slot[2] = 6;
+ lane_to_slot[3] = 5;
lane_to_slot[7] = 7;
break;
case 0xAA:
@@ -410,6 +412,8 @@ void t1040_handle_phy_interface_sgmii(int i)
fm_info_set_phy_address(i, riser_phy_addr[1]);
if (FM1_DTSEC3 == i)
fm_info_set_phy_address(i, riser_phy_addr[2]);
+ if (FM1_DTSEC5 == i)
+ fm_info_set_phy_address(i, riser_phy_addr[3]);
mdio_mux[i] = EMI1_SLOT7;
fm_info_set_mdio(i, mii_dev_for_muxval(mdio_mux[i]));
diff --git a/board/freescale/t104xrdb/MAINTAINERS b/board/freescale/t104xrdb/MAINTAINERS
index 364b0a961e..b61e1c0254 100644
--- a/board/freescale/t104xrdb/MAINTAINERS
+++ b/board/freescale/t104xrdb/MAINTAINERS
@@ -6,12 +6,13 @@ F: include/configs/T104xRDB.h
F: configs/T1040RDB_defconfig
F: configs/T1040RDB_NAND_defconfig
F: configs/T1040RDB_SPIFLASH_defconfig
+F: configs/T1042RDB_defconfig
F: configs/T1042RDB_PI_defconfig
F: configs/T1042RDB_PI_NAND_defconfig
F: configs/T1042RDB_PI_SPIFLASH_defconfig
T1040RDB_SDCARD BOARD
-M: -
+#M: -
S: Maintained
F: configs/T1040RDB_SDCARD_defconfig
F: configs/T1042RDB_PI_SDCARD_defconfig
diff --git a/board/freescale/t104xrdb/README b/board/freescale/t104xrdb/README
index cdbe1fafd9..ac95b5e509 100644
--- a/board/freescale/t104xrdb/README
+++ b/board/freescale/t104xrdb/README
@@ -4,10 +4,23 @@ The T1040RDB is a Freescale reference board that hosts the T1040 SoC
(and variants). Variants inclued T1042 presonality of T1040, in which
case T1040RDB can also be called T1042RDB.
+The T1042RDB is a Freescale reference board that hosts the T1042 SoC
+(and variants). The board is similar to T1040RDB, T1040 is a reduced
+personality of T1040 SoC without Integrated 8-port Gigabit(L2 Switch).
+
The T1042RDB_PI is a Freescale reference board that hosts the T1042 SoC.
(a personality of T1040 SoC). The board is similar to T1040RDB but is
designed specially with low power features targeted for Printing Image Market.
+Basic difference's among T1040RDB, T1042RDB_PI, T1042RDB
+-------------------------------------------------------------------------
+Board Si Protocol Targeted Market
+-------------------------------------------------------------------------
+T1040RDB T1040 0x66 Networking
+T1040RDB T1042 0x86 Networking
+T1042RDB_PI T1042 0x06 Printing & Imaging
+
+
T1040 SoC Overview
------------------
The QorIQ T1040/T1042 processor support four integrated 64-bit e5500 PA
@@ -194,10 +207,10 @@ The below commands apply to the board
Commands for switching to alternate bank.
1. To change from vbank0 to vbank4
- => qixis_reset altbank (it will boot using vbank4)
+ => cpld reset altbank (it will boot using vbank4)
2.To change from vbank4 to vbank0
- => qixis reset (it will boot using vbank0)
+ => cpld reset (it will boot using vbank0)
NAND boot with 2 Stage boot loader
----------------------------------
@@ -259,15 +272,15 @@ Switch Settings: (ON is 0, OFF is 1)
===============
NAND boot SW setting:
SW1: 10001000
-SW2: 00111001
+SW2: 00111011
SW3: 11110001
SPI boot SW setting:
SW1: 00100010
-SW2: 10111001
+SW2: 10111011
SW3: 11100001
SD boot SW setting:
SW1: 00100000
-SW2: 00111001
+SW2: 00111011
SW3: 11100001
diff --git a/board/freescale/t104xrdb/ddr.c b/board/freescale/t104xrdb/ddr.c
index 34c9224adb..2c331eebf9 100644
--- a/board/freescale/t104xrdb/ddr.c
+++ b/board/freescale/t104xrdb/ddr.c
@@ -105,8 +105,8 @@ found:
popts->zq_en = 1;
/* DHC_EN =1, ODT = 75 Ohm */
- popts->ddr_cdr1 = DDR_CDR1_DHC_EN | DDR_CDR1_ODT(DDR_CDR_ODT_OFF);
- popts->ddr_cdr2 = DDR_CDR2_ODT(DDR_CDR_ODT_OFF);
+ popts->ddr_cdr1 = DDR_CDR1_DHC_EN | DDR_CDR1_ODT(DDR_CDR_ODT_75ohm);
+ popts->ddr_cdr2 = DDR_CDR2_ODT(DDR_CDR_ODT_75ohm);
}
phys_size_t initdram(int board_type)
diff --git a/board/freescale/t104xrdb/eth.c b/board/freescale/t104xrdb/eth.c
index 63e5f900da..c8b6c672a6 100644
--- a/board/freescale/t104xrdb/eth.c
+++ b/board/freescale/t104xrdb/eth.c
@@ -43,6 +43,16 @@ int board_eth_init(bd_t *bis)
CONFIG_SYS_SGMII1_PHY_ADDR);
break;
#endif
+#ifdef CONFIG_T1042RDB
+ case PHY_INTERFACE_MODE_SGMII:
+ /* T1042RDB doesn't supports SGMII on DTSEC1 & DTSEC2 */
+ if ((FM1_DTSEC1 == i) || (FM1_DTSEC2 == i))
+ fm_info_set_phy_address(i, 0);
+ /* T1042RDB only supports SGMII on DTSEC3 */
+ fm_info_set_phy_address(FM1_DTSEC3,
+ CONFIG_SYS_SGMII1_PHY_ADDR);
+ break;
+#endif
case PHY_INTERFACE_MODE_RGMII:
if (FM1_DTSEC4 == i)
phy_addr = CONFIG_SYS_RGMII1_PHY_ADDR;
diff --git a/board/freescale/t104xrdb/t1042_pi_rcw.cfg b/board/freescale/t104xrdb/t1042_pi_rcw.cfg
new file mode 100644
index 0000000000..57de89ad0e
--- /dev/null
+++ b/board/freescale/t104xrdb/t1042_pi_rcw.cfg
@@ -0,0 +1,7 @@
+#PBL preamble and RCW header
+aa55aa55 010e0100
+# serdes protocol 0x06
+0c18000e 0e000000 00000000 00000000
+06000002 00400002 e8106000 01000000
+00000000 00000000 00000000 00030810
+00000000 01fe0a06 00000000 00000000
diff --git a/board/freescale/t104xrdb/t1042_rcw.cfg b/board/freescale/t104xrdb/t1042_rcw.cfg
index a3ea8ada56..db4d52f397 100644
--- a/board/freescale/t104xrdb/t1042_rcw.cfg
+++ b/board/freescale/t104xrdb/t1042_rcw.cfg
@@ -1,7 +1,7 @@
#PBL preamble and RCW header
aa55aa55 010e0100
-# serdes protocol 0x66
+# serdes protocol 0x86
0c18000e 0e000000 00000000 00000000
-06000002 00400002 e8106000 01000000
-00000000 00000000 00000000 00030810
-00000000 01fe0a06 00000000 00000000
+86000002 80000002 ec027000 01000000
+00000000 00000000 00000000 00032810
+00000000 0342500f 00000000 00000000
diff --git a/board/freescale/t208xqds/MAINTAINERS b/board/freescale/t208xqds/MAINTAINERS
index 643926f4b0..deda092a6a 100644
--- a/board/freescale/t208xqds/MAINTAINERS
+++ b/board/freescale/t208xqds/MAINTAINERS
@@ -1,5 +1,5 @@
T208XQDS BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/t208xqds/
F: include/configs/T208xQDS.h
diff --git a/board/freescale/t208xrdb/MAINTAINERS b/board/freescale/t208xrdb/MAINTAINERS
index 598714356c..16428798cd 100644
--- a/board/freescale/t208xrdb/MAINTAINERS
+++ b/board/freescale/t208xrdb/MAINTAINERS
@@ -1,5 +1,5 @@
T208XRDB BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/t208xrdb/
F: include/configs/T208xRDB.h
diff --git a/board/freescale/t4qds/MAINTAINERS b/board/freescale/t4qds/MAINTAINERS
index da796bd5b6..f88ee7df9e 100644
--- a/board/freescale/t4qds/MAINTAINERS
+++ b/board/freescale/t4qds/MAINTAINERS
@@ -1,5 +1,5 @@
T4QDS BOARD
-M: -
+#M: -
S: Maintained
F: board/freescale/t4qds/
F: include/configs/T4240QDS.h
diff --git a/board/funkwerk/vovpn-gw/MAINTAINERS b/board/funkwerk/vovpn-gw/MAINTAINERS
index 9af5f7871b..34d1cc12ff 100644
--- a/board/funkwerk/vovpn-gw/MAINTAINERS
+++ b/board/funkwerk/vovpn-gw/MAINTAINERS
@@ -1,5 +1,5 @@
VOVPN-GW BOARD
-M: -
+#M: -
S: Maintained
F: board/funkwerk/vovpn-gw/
F: include/configs/VoVPN-GW.h
diff --git a/board/gaisler/gr_cpci_ax2000/MAINTAINERS b/board/gaisler/gr_cpci_ax2000/MAINTAINERS
index 493c31ecab..df55a4cc41 100644
--- a/board/gaisler/gr_cpci_ax2000/MAINTAINERS
+++ b/board/gaisler/gr_cpci_ax2000/MAINTAINERS
@@ -1,5 +1,5 @@
GR_CPCI_AX2000 BOARD
-M: -
+#M: -
S: Maintained
F: board/gaisler/gr_cpci_ax2000/
F: include/configs/gr_cpci_ax2000.h
diff --git a/board/gaisler/gr_ep2s60/MAINTAINERS b/board/gaisler/gr_ep2s60/MAINTAINERS
index 151bef1329..7acd5f44c6 100644
--- a/board/gaisler/gr_ep2s60/MAINTAINERS
+++ b/board/gaisler/gr_ep2s60/MAINTAINERS
@@ -1,5 +1,5 @@
GR_EP2S60 BOARD
-M: -
+#M: -
S: Maintained
F: board/gaisler/gr_ep2s60/
F: include/configs/gr_ep2s60.h
diff --git a/board/gaisler/gr_xc3s_1500/MAINTAINERS b/board/gaisler/gr_xc3s_1500/MAINTAINERS
index 187f32334d..c4179d29c0 100644
--- a/board/gaisler/gr_xc3s_1500/MAINTAINERS
+++ b/board/gaisler/gr_xc3s_1500/MAINTAINERS
@@ -1,5 +1,5 @@
GR_XC3S_1500 BOARD
-M: -
+#M: -
S: Maintained
F: board/gaisler/gr_xc3s_1500/
F: include/configs/gr_xc3s_1500.h
diff --git a/board/gaisler/grsim/MAINTAINERS b/board/gaisler/grsim/MAINTAINERS
index acb863c2f7..4b3312ef72 100644
--- a/board/gaisler/grsim/MAINTAINERS
+++ b/board/gaisler/grsim/MAINTAINERS
@@ -1,5 +1,5 @@
GRSIM BOARD
-M: -
+#M: -
S: Maintained
F: board/gaisler/grsim/
F: include/configs/grsim.h
diff --git a/board/gaisler/grsim_leon2/MAINTAINERS b/board/gaisler/grsim_leon2/MAINTAINERS
index 6da9b784cf..bf4a95001b 100644
--- a/board/gaisler/grsim_leon2/MAINTAINERS
+++ b/board/gaisler/grsim_leon2/MAINTAINERS
@@ -1,5 +1,5 @@
GRSIM_LEON2 BOARD
-M: -
+#M: -
S: Maintained
F: board/gaisler/grsim_leon2/
F: include/configs/grsim_leon2.h
diff --git a/board/galaxy5200/MAINTAINERS b/board/galaxy5200/MAINTAINERS
index f070132f37..614625d33f 100644
--- a/board/galaxy5200/MAINTAINERS
+++ b/board/galaxy5200/MAINTAINERS
@@ -1,5 +1,5 @@
GALAXY5200 BOARD
-M: Eric Millbrandt <emillbrandt@dekaresearch.com>
+#M: Eric Millbrandt <emillbrandt@dekaresearch.com>
S: Orphan (since 2014-06)
F: board/galaxy5200/
F: include/configs/galaxy5200.h
diff --git a/board/gateworks/gw_ventana/eeprom.c b/board/gateworks/gw_ventana/eeprom.c
index 3edc9151d9..ab3bab847a 100644
--- a/board/gateworks/gw_ventana/eeprom.c
+++ b/board/gateworks/gw_ventana/eeprom.c
@@ -80,6 +80,9 @@ read_eeprom(int bus, struct ventana_board_info *info)
case '4':
type = GW54xx;
break;
+ case '5':
+ type = GW552x;
+ break;
default:
printf("EEPROM: Unknown model in EEPROM: %s\n", info->model);
type = GW_UNKNOWN;
diff --git a/board/gateworks/gw_ventana/gsc.c b/board/gateworks/gw_ventana/gsc.c
index 1cf38d4046..a34a9a84c8 100644
--- a/board/gateworks/gw_ventana/gsc.c
+++ b/board/gateworks/gw_ventana/gsc.c
@@ -117,6 +117,10 @@ int do_gsc(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
read_hwmon("VDD_SOC", GSC_HWMON_VDD_SOC, 3, MINMAX(1375, 10));
read_hwmon("VDD_1P0", GSC_HWMON_VDD_1P0, 3, MINMAX(1000, 10));
break;
+ case '5': /* GW55xx */
+ read_hwmon("VDD_CORE", GSC_HWMON_VDD_CORE, 3, MINMAX(1175, 10));
+ read_hwmon("VDD_SOC", GSC_HWMON_VDD_SOC, 3, MINMAX(1175, 10));
+ break;
}
return 0;
}
diff --git a/board/gateworks/gw_ventana/gw_ventana.c b/board/gateworks/gw_ventana/gw_ventana.c
index a222921978..1038d9d975 100644
--- a/board/gateworks/gw_ventana/gw_ventana.c
+++ b/board/gateworks/gw_ventana/gw_ventana.c
@@ -31,6 +31,7 @@
#include <mmc.h>
#include <mtd_node.h>
#include <netdev.h>
+#include <pci.h>
#include <power/pmic.h>
#include <power/ltc3676_pmic.h>
#include <power/pfuze100_pmic.h>
@@ -299,6 +300,7 @@ int board_ehci_hcd_init(int port)
/* Reset USB HUB (present on GW54xx/GW53xx) */
switch (info->model[3]) {
case '3': /* GW53xx */
+ case '5': /* GW552x */
SETUP_IOMUX_PAD(PAD_GPIO_9__GPIO1_IO09 | DIO_PAD_CFG);
gpio_direction_output(IMX_GPIO_NR(1, 9), 0);
mdelay(2);
@@ -354,9 +356,14 @@ iomux_v3_cfg_t const ecspi1_pads[] = {
IOMUX_PADS(PAD_EIM_D16__ECSPI1_SCLK | MUX_PAD_CTRL(SPI_PAD_CTRL)),
};
+int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+ return (bus == 0 && cs == 0) ? (IMX_GPIO_NR(3, 19)) : -1;
+}
+
static void setup_spi(void)
{
- gpio_direction_output(CONFIG_SF_DEFAULT_CS, 1);
+ gpio_direction_output(IMX_GPIO_NR(3, 19), 1);
SETUP_IOMUX_PADS(ecspi1_pads);
}
#endif
@@ -392,7 +399,8 @@ int board_eth_init(bd_t *bis)
setup_iomux_enet();
#ifdef CONFIG_FEC_MXC
- cpu_eth_init(bis);
+ if (board_type != GW552x)
+ cpu_eth_init(bis);
#endif
#ifdef CONFIG_CI_UDC
@@ -614,15 +622,14 @@ static iomux_v3_cfg_t const gw53xx_gpio_pads[] = {
IOMUX_PADS(PAD_KEY_COL0__GPIO4_IO06 | DIO_PAD_CFG),
/* PANLEDR# */
IOMUX_PADS(PAD_KEY_ROW0__GPIO4_IO07 | DIO_PAD_CFG),
+ /* MX6_LOCLED# */
+ IOMUX_PADS(PAD_KEY_ROW4__GPIO4_IO15 | DIO_PAD_CFG),
/* IOEXP_PWREN# */
IOMUX_PADS(PAD_EIM_A19__GPIO2_IO19 | DIO_PAD_CFG),
/* IOEXP_IRQ# */
IOMUX_PADS(PAD_EIM_A20__GPIO2_IO18 | MUX_PAD_CTRL(IRQ_PAD_CTRL)),
/* DIOI2C_DIS# */
IOMUX_PADS(PAD_GPIO_19__GPIO4_IO05 | DIO_PAD_CFG),
-
- /* MX6_LOCLED# */
- IOMUX_PADS(PAD_KEY_ROW4__GPIO4_IO15 | DIO_PAD_CFG),
/* GPS_SHDN */
IOMUX_PADS(PAD_ENET_RXD0__GPIO1_IO27 | DIO_PAD_CFG),
/* VID_EN */
@@ -660,6 +667,30 @@ static iomux_v3_cfg_t const gw54xx_gpio_pads[] = {
IOMUX_PADS(PAD_DISP0_DAT23__GPIO5_IO17 | DIO_PAD_CFG),
};
+static iomux_v3_cfg_t const gw552x_gpio_pads[] = {
+ /* PANLEDG# */
+ IOMUX_PADS(PAD_KEY_COL0__GPIO4_IO06 | DIO_PAD_CFG),
+ /* PANLEDR# */
+ IOMUX_PADS(PAD_KEY_ROW0__GPIO4_IO07 | DIO_PAD_CFG),
+ /* MX6_LOCLED# */
+ IOMUX_PADS(PAD_KEY_ROW4__GPIO4_IO15 | DIO_PAD_CFG),
+ /* PCI_RST# */
+ IOMUX_PADS(PAD_ENET_TXD1__GPIO1_IO29 | DIO_PAD_CFG),
+ /* MX6_DIO[4:9] */
+ IOMUX_PADS(PAD_CSI0_PIXCLK__GPIO5_IO18 | DIO_PAD_CFG),
+ IOMUX_PADS(PAD_CSI0_DATA_EN__GPIO5_IO20 | DIO_PAD_CFG),
+ IOMUX_PADS(PAD_CSI0_VSYNC__GPIO5_IO21 | DIO_PAD_CFG),
+ IOMUX_PADS(PAD_CSI0_DAT4__GPIO5_IO22 | DIO_PAD_CFG),
+ IOMUX_PADS(PAD_CSI0_DAT5__GPIO5_IO23 | DIO_PAD_CFG),
+ IOMUX_PADS(PAD_CSI0_DAT7__GPIO5_IO25 | DIO_PAD_CFG),
+ /* PCIEGBE1_OFF# */
+ IOMUX_PADS(PAD_GPIO_1__GPIO1_IO01 | DIO_PAD_CFG),
+ /* PCIEGBE2_OFF# */
+ IOMUX_PADS(PAD_GPIO_2__GPIO1_IO02 | DIO_PAD_CFG),
+ /* PCIESKT_WDIS# */
+ IOMUX_PADS(PAD_GPIO_17__GPIO7_IO12 | DIO_PAD_CFG),
+};
+
/*
* each baseboard has 4 user configurable Digital IO lines which can
* be pinmuxed as a GPIO or in some cases a PWM
@@ -908,6 +939,44 @@ struct ventana gpio_cfg[] = {
.pcie_sson = IMX_GPIO_NR(1, 20),
.wdis = IMX_GPIO_NR(5, 17),
},
+
+ /* GW552x */
+ {
+ .gpio_pads = gw552x_gpio_pads,
+ .num_pads = ARRAY_SIZE(gw552x_gpio_pads)/2,
+ .dio_cfg = {
+ {
+ { IOMUX_PADS(PAD_SD1_DAT0__GPIO1_IO16) },
+ IMX_GPIO_NR(1, 16),
+ { 0, 0 },
+ 0
+ },
+ {
+ { IOMUX_PADS(PAD_SD1_DAT2__GPIO1_IO19) },
+ IMX_GPIO_NR(1, 19),
+ { IOMUX_PADS(PAD_SD1_DAT2__PWM2_OUT) },
+ 2
+ },
+ {
+ { IOMUX_PADS(PAD_SD1_DAT1__GPIO1_IO17) },
+ IMX_GPIO_NR(1, 17),
+ { IOMUX_PADS(PAD_SD1_DAT1__PWM3_OUT) },
+ 3
+ },
+ {
+ { IOMUX_PADS(PAD_SD1_CLK__GPIO1_IO20) },
+ IMX_GPIO_NR(2, 10),
+ { 0, 0 },
+ 0
+ },
+ },
+ .leds = {
+ IMX_GPIO_NR(4, 6),
+ IMX_GPIO_NR(4, 7),
+ IMX_GPIO_NR(4, 15),
+ },
+ .pcie_rst = IMX_GPIO_NR(1, 29),
+ },
};
/* setup board specific PMIC */
@@ -997,14 +1066,16 @@ static void setup_board_gpio(int board)
#endif
/* turn off (active-high) user LED's */
- for (i = 0; i < 4; i++) {
+ for (i = 0; i < ARRAY_SIZE(gpio_cfg[board].leds); i++) {
if (gpio_cfg[board].leds[i])
gpio_direction_output(gpio_cfg[board].leds[i], 1);
}
/* Expansion Mezzanine IO */
- gpio_direction_output(gpio_cfg[board].mezz_pwren, 0);
- gpio_direction_input(gpio_cfg[board].mezz_irq);
+ if (gpio_cfg[board].mezz_pwren)
+ gpio_direction_output(gpio_cfg[board].mezz_pwren, 0);
+ if (gpio_cfg[board].mezz_irq)
+ gpio_direction_input(gpio_cfg[board].mezz_irq);
/* RS485 Transmit Enable */
if (gpio_cfg[board].rs485en)
@@ -1092,6 +1163,35 @@ int imx6_pcie_toggle_reset(void)
}
return 0;
}
+
+/*
+ * Most Ventana boards have a PLX PEX860x PCIe switch onboard and use its
+ * GPIO's as PERST# signals for its downstream ports - configure the GPIO's
+ * properly and assert reset for 100ms.
+ */
+void board_pci_fixup_dev(struct pci_controller *hose, pci_dev_t dev,
+ unsigned short vendor, unsigned short device,
+ unsigned short class)
+{
+ u32 dw;
+
+ debug("%s: %02d:%02d.%02d: %04x:%04x\n", __func__,
+ PCI_BUS(dev), PCI_DEV(dev), PCI_FUNC(dev), vendor, device);
+ if (vendor == PCI_VENDOR_ID_PLX &&
+ (device & 0xfff0) == 0x8600 &&
+ PCI_DEV(dev) == 0 && PCI_FUNC(dev) == 0) {
+ debug("configuring PLX 860X downstream PERST#\n");
+ pci_hose_read_config_dword(hose, dev, 0x62c, &dw);
+ dw |= 0xaaa8; /* GPIO1-7 outputs */
+ pci_hose_write_config_dword(hose, dev, 0x62c, dw);
+
+ pci_hose_read_config_dword(hose, dev, 0x644, &dw);
+ dw |= 0xfe; /* GPIO1-7 output high */
+ pci_hose_write_config_dword(hose, dev, 0x644, dw);
+
+ mdelay(100);
+ }
+}
#endif /* CONFIG_CMD_PCI */
#ifdef CONFIG_SERIAL_TAG
@@ -1283,6 +1383,7 @@ int misc_init_r(void)
else if (is_cpu_type(MXC_CPU_MX6DL) ||
is_cpu_type(MXC_CPU_MX6SOLO))
cputype = "imx6dl";
+ setenv("soctype", cputype);
if (8 << (ventana_info.nand_flash_size-1) >= 2048)
setenv("flash_layout", "large");
else
@@ -1305,7 +1406,8 @@ int misc_init_r(void)
sprintf(fdt, "%s-%s.dtb", cputype, str);
setenv("fdt_file1", fdt);
}
- str[4] = 'x';
+ if (board_type != GW552x)
+ str[4] = 'x';
str[5] = 'x';
str[6] = 0;
if (!getenv("fdt_file2")) {
@@ -1341,10 +1443,11 @@ int misc_init_r(void)
* The Gateworks System Controller implements a boot
* watchdog (always enabled) as a workaround for IMX6 boot related
* errata such as:
- * ERR005768 - no fix
- * ERR006282 - fixed in silicon r1.3
+ * ERR005768 - no fix scheduled
+ * ERR006282 - fixed in silicon r1.2
* ERR007117 - fixed in silicon r1.3
* ERR007220 - fixed in silicon r1.3
+ * ERR007926 - no fix scheduled
* see http://cache.freescale.com/files/32bit/doc/errata/IMX6DQCE.pdf
*
* Disable the boot watchdog and display/clear the timeout flag if set
diff --git a/board/gateworks/gw_ventana/gw_ventana_spl.c b/board/gateworks/gw_ventana/gw_ventana_spl.c
index e943879303..9fc253bb82 100644
--- a/board/gateworks/gw_ventana/gw_ventana_spl.c
+++ b/board/gateworks/gw_ventana/gw_ventana_spl.c
@@ -201,55 +201,79 @@ static struct mx6_ddr3_cfg mt41k128m16jt_125 = {
.trasmin = 3500,
};
-/* GW54xx specific calibration */
-static struct mx6_mmdc_calibration gw54xxq_mmdc_calib = {
+/* MT41K256M16HA-125 */
+static struct mx6_ddr3_cfg mt41k256m16ha_125 = {
+ .mem_speed = 1600,
+ .density = 4,
+ .width = 16,
+ .banks = 8,
+ .rowaddr = 15,
+ .coladdr = 10,
+ .pagesz = 2,
+ .trcd = 1375,
+ .trcmin = 4875,
+ .trasmin = 3500,
+};
+
+/*
+ * calibration - these are the various CPU/DDR3 combinations we support
+ */
+
+static struct mx6_mmdc_calibration mx6dq_128x32_mmdc_calib = {
/* write leveling calibration determine */
- .p0_mpwldectrl0 = 0x00190018,
- .p0_mpwldectrl1 = 0x0021001D,
- .p1_mpwldectrl0 = 0x00160027,
- .p1_mpwldectrl1 = 0x0012001E,
+ .p0_mpwldectrl0 = 0x00190017,
+ .p0_mpwldectrl1 = 0x00140026,
/* Read DQS Gating calibration */
- .p0_mpdgctrl0 = 0x43370346,
- .p0_mpdgctrl1 = 0x032A0321,
- .p1_mpdgctrl0 = 0x433A034D,
- .p1_mpdgctrl1 = 0x032F0235,
+ .p0_mpdgctrl0 = 0x43380347,
+ .p0_mpdgctrl1 = 0x433C034D,
/* Read Calibration: DQS delay relative to DQ read access */
.p0_mprddlctl = 0x3C313539,
- .p1_mprddlctl = 0x37333140,
/* Write Calibration: DQ/DM delay relative to DQS write access */
- .p0_mpwrdlctl = 0x37393C38,
- .p1_mpwrdlctl = 0x42334538,
+ .p0_mpwrdlctl = 0x36393C39,
+};
+
+static struct mx6_mmdc_calibration mx6sdl_128x32_mmdc_calib = {
+ /* write leveling calibration determine */
+ .p0_mpwldectrl0 = 0x003C003C,
+ .p0_mpwldectrl1 = 0x001F002A,
+ /* Read DQS Gating calibration */
+ .p0_mpdgctrl0 = 0x42410244,
+ .p0_mpdgctrl1 = 0x4234023A,
+ /* Read Calibration: DQS delay relative to DQ read access */
+ .p0_mprddlctl = 0x484A4C4B,
+ /* Write Calibration: DQ/DM delay relative to DQS write access */
+ .p0_mpwrdlctl = 0x33342B32,
};
-/* GW53xx specific calibration */
-static struct mx6_mmdc_calibration gw53xxq_mmdc_calib = {
+static struct mx6_mmdc_calibration mx6dq_128x64_mmdc_calib = {
/* write leveling calibration determine */
- .p0_mpwldectrl0 = 0x00160013,
- .p0_mpwldectrl1 = 0x00090024,
- .p1_mpwldectrl0 = 0x001F0018,
- .p1_mpwldectrl1 = 0x000C001C,
+ .p0_mpwldectrl0 = 0x00190017,
+ .p0_mpwldectrl1 = 0x00140026,
+ .p1_mpwldectrl0 = 0x0021001C,
+ .p1_mpwldectrl1 = 0x0011001D,
/* Read DQS Gating calibration */
- .p0_mpdgctrl0 = 0x433A034C,
- .p0_mpdgctrl1 = 0x0336032F,
- .p1_mpdgctrl0 = 0x4343034A,
- .p1_mpdgctrl1 = 0x03370222,
+ .p0_mpdgctrl0 = 0x43380347,
+ .p0_mpdgctrl1 = 0x433C034D,
+ .p1_mpdgctrl0 = 0x032C0324,
+ .p1_mpdgctrl1 = 0x03310232,
/* Read Calibration: DQS delay relative to DQ read access */
- .p0_mprddlctl = 0x3F343638,
- .p1_mprddlctl = 0x38373442,
+ .p0_mprddlctl = 0x3C313539,
+ .p1_mprddlctl = 0x37343141,
/* Write Calibration: DQ/DM delay relative to DQS write access */
- .p0_mpwrdlctl = 0x343A3E39,
- .p1_mpwrdlctl = 0x44344239,
+ .p0_mpwrdlctl = 0x36393C39,
+ .p1_mpwrdlctl = 0x42344438,
};
-static struct mx6_mmdc_calibration gw53xxdl_mmdc_calib = {
+
+static struct mx6_mmdc_calibration mx6sdl_128x64_mmdc_calib = {
/* write leveling calibration determine */
.p0_mpwldectrl0 = 0x003C003C,
- .p0_mpwldectrl1 = 0x00330038,
- .p1_mpwldectrl0 = 0x001F002A,
+ .p0_mpwldectrl1 = 0x001F002A,
+ .p1_mpwldectrl0 = 0x00330038,
.p1_mpwldectrl1 = 0x0022003F,
/* Read DQS Gating calibration */
.p0_mpdgctrl0 = 0x42410244,
- .p0_mpdgctrl1 = 0x022D022D,
- .p1_mpdgctrl0 = 0x4234023A,
+ .p0_mpdgctrl1 = 0x4234023A,
+ .p1_mpdgctrl0 = 0x022D022D,
.p1_mpdgctrl1 = 0x021C0228,
/* Read Calibration: DQS delay relative to DQ read access */
.p0_mprddlctl = 0x484A4C4B,
@@ -259,51 +283,42 @@ static struct mx6_mmdc_calibration gw53xxdl_mmdc_calib = {
.p1_mpwrdlctl = 0x3933332B,
};
-/* GW52xx specific calibration */
-static struct mx6_mmdc_calibration gw52xxdl_mmdc_calib = {
- /* write leveling calibration determine */
- .p0_mpwldectrl0 = 0x0040003F,
- .p0_mpwldectrl1 = 0x00370037,
- /* Read DQS Gating calibration */
- .p0_mpdgctrl0 = 0x42420244,
- .p0_mpdgctrl1 = 0x022F022F,
- /* Read Calibration: DQS delay relative to DQ read access */
- .p0_mprddlctl = 0x49464B4A,
- /* Write Calibration: DQ/DM delay relative to DQS write access */
- .p0_mpwrdlctl = 0x32362C32,
-};
-
-/* GW51xx specific calibration */
-static struct mx6_mmdc_calibration gw51xxq_mmdc_calib = {
+static struct mx6_mmdc_calibration mx6dq_256x32_mmdc_calib = {
/* write leveling calibration determine */
- .p0_mpwldectrl0 = 0x00150016,
- .p0_mpwldectrl1 = 0x001F0017,
+ .p0_mpwldectrl0 = 0x001E001A,
+ .p0_mpwldectrl1 = 0x0026001F,
/* Read DQS Gating calibration */
- .p0_mpdgctrl0 = 0x433D034D,
- .p0_mpdgctrl1 = 0x033D032F,
+ .p0_mpdgctrl0 = 0x43370349,
+ .p0_mpdgctrl1 = 0x032D0327,
/* Read Calibration: DQS delay relative to DQ read access */
- .p0_mprddlctl = 0x3F313639,
+ .p0_mprddlctl = 0x3D303639,
/* Write Calibration: DQ/DM delay relative to DQS write access */
- .p0_mpwrdlctl = 0x33393F36,
+ .p0_mpwrdlctl = 0x32363934,
};
-static struct mx6_mmdc_calibration gw51xxdl_mmdc_calib = {
+static struct mx6_mmdc_calibration mx6dq_256x64_mmdc_calib = {
/* write leveling calibration determine */
- .p0_mpwldectrl0 = 0x003D003F,
- .p0_mpwldectrl1 = 0x002F0038,
+ .p0_mpwldectrl0 = 0X00220021,
+ .p0_mpwldectrl1 = 0X00200030,
+ .p1_mpwldectrl0 = 0X002D0027,
+ .p1_mpwldectrl1 = 0X00150026,
/* Read DQS Gating calibration */
- .p0_mpdgctrl0 = 0x423A023A,
- .p0_mpdgctrl1 = 0x022A0228,
+ .p0_mpdgctrl0 = 0x43330342,
+ .p0_mpdgctrl1 = 0x0339034A,
+ .p1_mpdgctrl0 = 0x032F0325,
+ .p1_mpdgctrl1 = 0x032F022E,
/* Read Calibration: DQS delay relative to DQ read access */
- .p0_mprddlctl = 0x48494C4C,
+ .p0_mprddlctl = 0X3A2E3437,
+ .p1_mprddlctl = 0X35312F3F,
/* Write Calibration: DQ/DM delay relative to DQS write access */
- .p0_mpwrdlctl = 0x34352D31,
+ .p0_mpwrdlctl = 0X33363B37,
+ .p1_mpwrdlctl = 0X40304239,
};
-static void spl_dram_init(int width, int size, int board_model)
+static void spl_dram_init(int width, int size_mb, int board_model)
{
- struct mx6_ddr3_cfg *mem = &mt41k128m16jt_125;
- struct mx6_mmdc_calibration *calib;
+ struct mx6_ddr3_cfg *mem = NULL;
+ struct mx6_mmdc_calibration *calib = NULL;
struct mx6_ddr_sysinfo sysinfo = {
/* width of data bus:0=16,1=32,2=64 */
.dsize = width/32,
@@ -329,29 +344,43 @@ static void spl_dram_init(int width, int size, int board_model)
/*
* MMDC Calibration requires the following data:
* mx6_mmdc_calibration - board-specific calibration (routing delays)
+ * these calibration values depend on board routing, SoC, and DDR
* mx6_ddr_sysinfo - board-specific memory architecture (width/cs/etc)
* mx6_ddr_cfg - chip specific timing/layout details
*/
- switch (board_model) {
- default:
- case GW51xx:
+ if (width == 32 && size_mb == 512) {
+ mem = &mt41k128m16jt_125;
if (is_cpu_type(MXC_CPU_MX6Q))
- calib = &gw51xxq_mmdc_calib;
+ calib = &mx6dq_128x32_mmdc_calib;
else
- calib = &gw51xxdl_mmdc_calib;
- break;
- case GW52xx:
- calib = &gw52xxdl_mmdc_calib;
- break;
- case GW53xx:
+ calib = &mx6sdl_128x32_mmdc_calib;
+ debug("2gB density\n");
+ } else if (width == 64 && size_mb == 1024) {
+ mem = &mt41k128m16jt_125;
if (is_cpu_type(MXC_CPU_MX6Q))
- calib = &gw53xxq_mmdc_calib;
+ calib = &mx6dq_128x64_mmdc_calib;
else
- calib = &gw53xxdl_mmdc_calib;
- break;
- case GW54xx:
- calib = &gw54xxq_mmdc_calib;
- break;
+ calib = &mx6sdl_128x64_mmdc_calib;
+ debug("2gB density\n");
+ } else if (width == 32 && size_mb == 1024) {
+ mem = &mt41k256m16ha_125;
+ if (is_cpu_type(MXC_CPU_MX6Q))
+ calib = &mx6dq_256x32_mmdc_calib;
+ debug("4gB density\n");
+ } else if (width == 64 && size_mb == 2048) {
+ mem = &mt41k256m16ha_125;
+ if (is_cpu_type(MXC_CPU_MX6Q))
+ calib = &mx6dq_256x64_mmdc_calib;
+ debug("4gB density\n");
+ }
+
+ if (!mem) {
+ puts("Error: Invalid Memory Configuration\n");
+ hang();
+ }
+ if (!calib) {
+ puts("Error: Invalid Board Calibration Configuration\n");
+ hang();
}
if (is_cpu_type(MXC_CPU_MX6Q))
diff --git a/board/gateworks/gw_ventana/ventana_eeprom.h b/board/gateworks/gw_ventana/ventana_eeprom.h
index d64b9107c6..af12711ac2 100644
--- a/board/gateworks/gw_ventana/ventana_eeprom.h
+++ b/board/gateworks/gw_ventana/ventana_eeprom.h
@@ -109,6 +109,7 @@ enum {
GW52xx,
GW53xx,
GW54xx,
+ GW552x,
GW_UNKNOWN,
GW_BADCRC,
};
diff --git a/board/genesi/mx51_efikamx/MAINTAINERS b/board/genesi/mx51_efikamx/MAINTAINERS
index a85df77982..f1398c4926 100644
--- a/board/genesi/mx51_efikamx/MAINTAINERS
+++ b/board/genesi/mx51_efikamx/MAINTAINERS
@@ -1,5 +1,5 @@
MX51_EFIKAMX BOARD
-M: -
+#M: -
S: Maintained
F: board/genesi/mx51_efikamx/
F: include/configs/mx51_efikamx.h
diff --git a/board/genesi/mx51_efikamx/efikamx.c b/board/genesi/mx51_efikamx/efikamx.c
index 16769e5332..137e4ed661 100644
--- a/board/genesi/mx51_efikamx/efikamx.c
+++ b/board/genesi/mx51_efikamx/efikamx.c
@@ -152,6 +152,11 @@ static iomux_v3_cfg_t const efikamx_spi_pads[] = {
* PMIC configuration
*/
#ifdef CONFIG_MXC_SPI
+int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+ return (bus == 0 && cs == 1) ? 121 : -1;
+}
+
static void power_init(void)
{
unsigned int val;
diff --git a/board/icecube/MAINTAINERS b/board/icecube/MAINTAINERS
index 02e6c049d4..8a24eb4699 100644
--- a/board/icecube/MAINTAINERS
+++ b/board/icecube/MAINTAINERS
@@ -6,7 +6,7 @@ F: include/configs/IceCube.h
F: configs/icecube_5200_defconfig
ICECUBE_5200_DDR BOARD
-M: -
+#M: -
S: Maintained
F: configs/icecube_5200_DDR_defconfig
F: configs/icecube_5200_DDR_LOWBOOT_defconfig
diff --git a/board/imx31_phycore/MAINTAINERS b/board/imx31_phycore/MAINTAINERS
index efd5e77c81..41f6cae81b 100644
--- a/board/imx31_phycore/MAINTAINERS
+++ b/board/imx31_phycore/MAINTAINERS
@@ -1,11 +1,11 @@
IMX31_PHYCORE BOARD
-M: -
+#M: -
S: Maintained
F: board/imx31_phycore/
F: include/configs/imx31_phycore.h
F: configs/imx31_phycore_defconfig
IMX31_PHYCORE_EET BOARD
-M: (resigned) Guennadi Liakhovetski <g.liakhovetski@gmx.de>
+#M: (resigned) Guennadi Liakhovetski <g.liakhovetski@gmx.de>
S: Orphan (since 2013-09)
F: configs/imx31_phycore_eet_defconfig
diff --git a/board/ip04/MAINTAINERS b/board/ip04/MAINTAINERS
index 278072bcd9..c37b0110f2 100644
--- a/board/ip04/MAINTAINERS
+++ b/board/ip04/MAINTAINERS
@@ -1,5 +1,5 @@
IP04 BOARD
-M: Brent Kandetzki <brentk@teleco.com>
+#M: Brent Kandetzki <brentk@teleco.com>
S: Orphan (since 2014-06)
F: board/ip04/
F: include/configs/ip04.h
diff --git a/board/ip860/u-boot.lds b/board/ip860/u-boot.lds
deleted file mode 100644
index 0eb2fba00c..0000000000
--- a/board/ip860/u-boot.lds
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * (C) Copyright 2000-2010
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-
-SECTIONS
-{
- /* Read-only sections, merged into text segment: */
- . = + SIZEOF_HEADERS;
- .text :
- {
- arch/powerpc/cpu/mpc8xx/start.o (.text*)
- arch/powerpc/cpu/mpc8xx/traps.o (.text*)
-
- *(.text*)
- }
- _etext = .;
- PROVIDE (etext = .);
- .rodata :
- {
- *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
- }
-
- /* Read-write section, merged into data segment: */
- . = (. + 0x00FF) & 0xFFFFFF00;
- _erotext = .;
- PROVIDE (erotext = .);
- .reloc :
- {
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
- __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
- __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
- .data :
- {
- *(.data*)
- *(.sdata*)
- }
- _edata = .;
- PROVIDE (edata = .);
-
- . = .;
-
- . = ALIGN(4);
- .u_boot_list : {
- KEEP(*(SORT(.u_boot_list*)));
- }
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
-
- . = ALIGN(256);
- __init_begin = .;
- .text.init : { *(.text.init) }
- .data.init : { *(.data.init) }
- . = ALIGN(256);
- __init_end = .;
-
- __bss_start = .;
- .bss (NOLOAD) :
- {
- *(.bss*)
- *(.sbss*)
- *(COMMON)
- . = ALIGN(4);
- }
- __bss_end = . ;
- PROVIDE (end = .);
-}
diff --git a/board/isee/igep00x0/MAINTAINERS b/board/isee/igep00x0/MAINTAINERS
index fe4a8cd445..3fc2c6cb9a 100644
--- a/board/isee/igep00x0/MAINTAINERS
+++ b/board/isee/igep00x0/MAINTAINERS
@@ -8,7 +8,7 @@ F: configs/igep0030_defconfig
F: configs/igep0032_defconfig
IGEP0020_NAND BOARD
-M: -
+#M: -
S: Maintained
F: configs/igep0020_nand_defconfig
F: configs/igep0030_nand_defconfig
diff --git a/board/ivm/u-boot.lds b/board/ivm/u-boot.lds
deleted file mode 100644
index 3d4fc8a2f5..0000000000
--- a/board/ivm/u-boot.lds
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * (C) Copyright 2000-2010
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-
-SECTIONS
-{
- /* Read-only sections, merged into text segment: */
- . = + SIZEOF_HEADERS;
- .text :
- {
- arch/powerpc/cpu/mpc8xx/start.o (.text*)
- arch/powerpc/cpu/mpc8xx/traps.o (.text*)
-
- *(.text*)
- }
- _etext = .;
- PROVIDE (etext = .);
- .rodata :
- {
- *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
- }
-
- /* Read-write section, merged into data segment: */
- . = (. + 0x0FF) & 0xFFFFFF00;
- _erotext = .;
- PROVIDE (erotext = .);
- .reloc :
- {
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
- __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
- __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
- .data :
- {
- *(.data*)
- *(.sdata*)
- }
- _edata = .;
- PROVIDE (edata = .);
-
- . = .;
-
- . = ALIGN(4);
- .u_boot_list : {
- KEEP(*(SORT(.u_boot_list*)));
- }
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
-
- . = ALIGN(256);
- __init_begin = .;
- .text.init : { *(.text.init) }
- .data.init : { *(.data.init) }
- . = ALIGN(256);
- __init_end = .;
-
- __bss_start = .;
- .bss (NOLOAD) :
- {
- *(.bss*)
- *(.sbss*)
- *(COMMON)
- . = ALIGN(4);
- }
- __bss_end = . ;
- PROVIDE (end = .);
-}
diff --git a/board/karo/tk71/MAINTAINERS b/board/karo/tk71/MAINTAINERS
index 39b2b1db35..ac85d6b44c 100644
--- a/board/karo/tk71/MAINTAINERS
+++ b/board/karo/tk71/MAINTAINERS
@@ -1,5 +1,5 @@
TK71 BOARD
-M: -
+#M: -
S: Maintained
F: board/karo/tk71/
F: include/configs/tk71.h
diff --git a/board/kup/kup4k/u-boot.lds b/board/kup/kup4k/u-boot.lds
deleted file mode 100644
index 0eb2fba00c..0000000000
--- a/board/kup/kup4k/u-boot.lds
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * (C) Copyright 2000-2010
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-
-SECTIONS
-{
- /* Read-only sections, merged into text segment: */
- . = + SIZEOF_HEADERS;
- .text :
- {
- arch/powerpc/cpu/mpc8xx/start.o (.text*)
- arch/powerpc/cpu/mpc8xx/traps.o (.text*)
-
- *(.text*)
- }
- _etext = .;
- PROVIDE (etext = .);
- .rodata :
- {
- *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
- }
-
- /* Read-write section, merged into data segment: */
- . = (. + 0x00FF) & 0xFFFFFF00;
- _erotext = .;
- PROVIDE (erotext = .);
- .reloc :
- {
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
- __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
- __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
- .data :
- {
- *(.data*)
- *(.sdata*)
- }
- _edata = .;
- PROVIDE (edata = .);
-
- . = .;
-
- . = ALIGN(4);
- .u_boot_list : {
- KEEP(*(SORT(.u_boot_list*)));
- }
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
-
- . = ALIGN(256);
- __init_begin = .;
- .text.init : { *(.text.init) }
- .data.init : { *(.data.init) }
- . = ALIGN(256);
- __init_end = .;
-
- __bss_start = .;
- .bss (NOLOAD) :
- {
- *(.bss*)
- *(.sbss*)
- *(COMMON)
- . = ALIGN(4);
- }
- __bss_end = . ;
- PROVIDE (end = .);
-}
diff --git a/board/logicpd/imx31_litekit/MAINTAINERS b/board/logicpd/imx31_litekit/MAINTAINERS
index 98cc7bd15c..8e3608e0af 100644
--- a/board/logicpd/imx31_litekit/MAINTAINERS
+++ b/board/logicpd/imx31_litekit/MAINTAINERS
@@ -1,5 +1,5 @@
IMX31_LITEKIT BOARD
-M: -
+#M: -
S: Maintained
F: board/logicpd/imx31_litekit/
F: include/configs/imx31_litekit.h
diff --git a/board/lwmon/u-boot.lds b/board/lwmon/u-boot.lds
deleted file mode 100644
index 90e2e2ed0c..0000000000
--- a/board/lwmon/u-boot.lds
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * (C) Copyright 2001-2010
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-
-SECTIONS
-{
- /* Read-only sections, merged into text segment: */
- . = + SIZEOF_HEADERS;
- .text :
- {
- arch/powerpc/cpu/mpc8xx/start.o (.text*)
- arch/powerpc/cpu/mpc8xx/traps.o (.text*)
-
- *(.text*)
- }
- _etext = .;
- PROVIDE (etext = .);
- .rodata :
- {
- *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
- }
-
- /* Read-write section, merged into data segment: */
- . = (. + 0x0FF) & 0xFFFFFF00;
- _erotext = .;
- PROVIDE (erotext = .);
- .reloc :
- {
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
- __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
- __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
- .data :
- {
- *(.data*)
- *(.sdata*)
- }
- _edata = .;
- PROVIDE (edata = .);
-
- . = .;
-
- . = ALIGN(4);
- .u_boot_list : {
- KEEP(*(SORT(.u_boot_list*)));
- }
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
-
- . = ALIGN(256);
- __init_begin = .;
- .text.init : { *(.text.init) }
- .data.init : { *(.data.init) }
- . = ALIGN(256);
- __init_end = .;
-
- __bss_start = .;
- .bss (NOLOAD) :
- {
- *(.bss*)
- *(.sbss*)
- *(COMMON)
- . = ALIGN(4);
- }
- __bss_end = . ;
- PROVIDE (end = .);
-}
diff --git a/board/manroland/hmi1001/MAINTAINERS b/board/manroland/hmi1001/MAINTAINERS
index bdfdc01861..a66a98178c 100644
--- a/board/manroland/hmi1001/MAINTAINERS
+++ b/board/manroland/hmi1001/MAINTAINERS
@@ -1,5 +1,5 @@
HMI1001 BOARD
-M: -
+#M: -
S: Maintained
F: board/manroland/hmi1001/
F: include/configs/hmi1001.h
diff --git a/board/manroland/uc100/u-boot.lds b/board/manroland/uc100/u-boot.lds
deleted file mode 100644
index 47f2de8e64..0000000000
--- a/board/manroland/uc100/u-boot.lds
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * (C) Copyright 2000
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-
-SECTIONS
-{
- /* Read-only sections, merged into text segment: */
- . = + SIZEOF_HEADERS;
- .text :
- {
- /* WARNING - the following is hand-optimized to fit within */
- /* the sector layout of our flash chips! XXX FIXME XXX */
-
- arch/powerpc/cpu/mpc8xx/start.o (.text*)
- arch/powerpc/cpu/mpc8xx/traps.o (.text*)
-
- *(.text*)
- }
- _etext = .;
- PROVIDE (etext = .);
- .rodata :
- {
- *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
- }
-
- /* Read-write section, merged into data segment: */
- . = (. + 0x00FF) & 0xFFFFFF00;
- _erotext = .;
- PROVIDE (erotext = .);
- .reloc :
- {
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
- __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
- __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
- .data :
- {
- *(.data*)
- *(.sdata*)
- }
- _edata = .;
- PROVIDE (edata = .);
-
- . = .;
-
- . = ALIGN(4);
- .u_boot_list : {
- KEEP(*(SORT(.u_boot_list*)));
- }
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
-
- . = ALIGN(256);
- __init_begin = .;
- .text.init : { *(.text.init) }
- .data.init : { *(.data.init) }
- . = ALIGN(256);
- __init_end = .;
-
- __bss_start = .;
- .bss (NOLOAD) :
- {
- *(.bss*)
- *(.sbss*)
- *(COMMON)
- . = ALIGN(4);
- }
- __bss_end = . ;
- PROVIDE (end = .);
-}
diff --git a/board/matrix_vision/mergerbox/MAINTAINERS b/board/matrix_vision/mergerbox/MAINTAINERS
index 22be98186b..20bd073b90 100644
--- a/board/matrix_vision/mergerbox/MAINTAINERS
+++ b/board/matrix_vision/mergerbox/MAINTAINERS
@@ -1,5 +1,5 @@
MERGERBOX BOARD
-M: Andre Schwarz <andre.schwarz@matrix-vision.de>
+#M: Andre Schwarz <andre.schwarz@matrix-vision.de>
S: Orphan (since 2014-03)
F: board/matrix_vision/mergerbox/
F: include/configs/MERGERBOX.h
diff --git a/board/matrix_vision/mvbc_p/MAINTAINERS b/board/matrix_vision/mvbc_p/MAINTAINERS
index 9e76b579fc..aad14ed079 100644
--- a/board/matrix_vision/mvbc_p/MAINTAINERS
+++ b/board/matrix_vision/mvbc_p/MAINTAINERS
@@ -1,5 +1,5 @@
MVBC_P BOARD
-M: Andre Schwarz <andre.schwarz@matrix-vision.de>
+#M: Andre Schwarz <andre.schwarz@matrix-vision.de>
S: Orphan (since 2014-03)
F: board/matrix_vision/mvbc_p/
F: include/configs/MVBC_P.h
diff --git a/board/matrix_vision/mvblm7/MAINTAINERS b/board/matrix_vision/mvblm7/MAINTAINERS
index 4f7ca503fc..947a14ed50 100644
--- a/board/matrix_vision/mvblm7/MAINTAINERS
+++ b/board/matrix_vision/mvblm7/MAINTAINERS
@@ -1,5 +1,5 @@
MVBLM7 BOARD
-M: Andre Schwarz <andre.schwarz@matrix-vision.de>
+#M: Andre Schwarz <andre.schwarz@matrix-vision.de>
S: Orphan (since 2014-03)
F: board/matrix_vision/mvblm7/
F: include/configs/MVBLM7.h
diff --git a/board/matrix_vision/mvsmr/MAINTAINERS b/board/matrix_vision/mvsmr/MAINTAINERS
index 9659730fb4..ae3cf9c0b2 100644
--- a/board/matrix_vision/mvsmr/MAINTAINERS
+++ b/board/matrix_vision/mvsmr/MAINTAINERS
@@ -1,5 +1,5 @@
MVSMR BOARD
-M: Andre Schwarz <andre.schwarz@matrix-vision.de>
+#M: Andre Schwarz <andre.schwarz@matrix-vision.de>
S: Orphan (since 2014-03)
F: board/matrix_vision/mvsmr/
F: include/configs/MVSMR.h
diff --git a/board/mcc200/MAINTAINERS b/board/mcc200/MAINTAINERS
index 3d02bc64bf..a59a498795 100644
--- a/board/mcc200/MAINTAINERS
+++ b/board/mcc200/MAINTAINERS
@@ -1,5 +1,5 @@
MCC200 BOARD
-M: -
+#M: -
S: Maintained
F: board/mcc200/
F: include/configs/mcc200.h
diff --git a/board/micronas/vct/MAINTAINERS b/board/micronas/vct/MAINTAINERS
index 4b825d3285..cbaa585134 100644
--- a/board/micronas/vct/MAINTAINERS
+++ b/board/micronas/vct/MAINTAINERS
@@ -1,5 +1,5 @@
VCT BOARD
-M: -
+#M: -
S: Maintained
F: board/micronas/vct/
F: include/configs/vct.h
diff --git a/board/motionpro/MAINTAINERS b/board/motionpro/MAINTAINERS
index 10a97cc4eb..2f8b5cb580 100644
--- a/board/motionpro/MAINTAINERS
+++ b/board/motionpro/MAINTAINERS
@@ -1,5 +1,5 @@
MOTIONPRO BOARD
-M: -
+#M: -
S: Maintained
F: board/motionpro/
F: include/configs/motionpro.h
diff --git a/board/mpl/pati/MAINTAINERS b/board/mpl/pati/MAINTAINERS
index f7c1bd800b..19ad05d274 100644
--- a/board/mpl/pati/MAINTAINERS
+++ b/board/mpl/pati/MAINTAINERS
@@ -1,5 +1,5 @@
PATI BOARD
-M: -
+#M: -
S: Maintained
F: board/mpl/pati/
F: include/configs/PATI.h
diff --git a/board/munices/MAINTAINERS b/board/munices/MAINTAINERS
index b8f57614bb..50d3e7ebda 100644
--- a/board/munices/MAINTAINERS
+++ b/board/munices/MAINTAINERS
@@ -1,5 +1,5 @@
MUNICES BOARD
-M: -
+#M: -
S: Maintained
F: board/munices/
F: include/configs/munices.h
diff --git a/board/musenki/MAINTAINERS b/board/musenki/MAINTAINERS
index 03a1fe7f04..4196c805cb 100644
--- a/board/musenki/MAINTAINERS
+++ b/board/musenki/MAINTAINERS
@@ -1,5 +1,5 @@
MUSENKI BOARD
-M: Jim Thompson <jim@musenki.com>
+#M: Jim Thompson <jim@musenki.com>
S: Orphan (since 2014-04)
F: board/musenki/
F: include/configs/MUSENKI.h
diff --git a/board/mvblue/MAINTAINERS b/board/mvblue/MAINTAINERS
index a809ba5a5c..5955f1a387 100644
--- a/board/mvblue/MAINTAINERS
+++ b/board/mvblue/MAINTAINERS
@@ -1,5 +1,5 @@
MVBLUE BOARD
-M: -
+#M: -
S: Maintained
F: board/mvblue/
F: include/configs/MVBLUE.h
diff --git a/board/netvia/u-boot.lds b/board/netvia/u-boot.lds
deleted file mode 100644
index 0dff5a4023..0000000000
--- a/board/netvia/u-boot.lds
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * (C) Copyright 2000-2010
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-
-SECTIONS
-{
- /* Read-only sections, merged into text segment: */
- . = + SIZEOF_HEADERS;
- .text :
- {
- arch/powerpc/cpu/mpc8xx/start.o (.text*)
- arch/powerpc/cpu/mpc8xx/traps.o (.text*)
-
- *(.text*)
- }
- _etext = .;
- PROVIDE (etext = .);
- .rodata :
- {
- *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
- }
-
- /* Read-write section, merged into data segment: */
- . = (. + 0x00FF) & 0xFFFFFF00;
- _erotext = .;
- PROVIDE (erotext = .);
- .reloc :
- {
- _GOT2_TABLE_ = .;
- KEEP(*(.got2))
- KEEP(*(.got))
- PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- _FIXUP_TABLE_ = .;
- KEEP(*(.fixup))
- }
- __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
- __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
- .data :
- {
- *(.data*)
- *(.sdata*)
- }
- _edata = .;
- PROVIDE (edata = .);
-
- . = .;
-
- . = ALIGN(4);
- .u_boot_list : {
- KEEP(*(SORT(.u_boot_list*)));
- }
-
-
- . = .;
- __start___ex_table = .;
- __ex_table : { *(__ex_table) }
- __stop___ex_table = .;
-
- . = ALIGN(256);
- __init_begin = .;
- .text.init : { *(.text.init) }
- .data.init : { *(.data.init) }
- . = ALIGN(256);
- __init_end = .;
-
- __bss_start = .;
- .bss (NOLOAD) :
- {
- *(.bss*)
- *(.sbss*)
- *(COMMON)
- . = ALIGN(4);
- }
- __bss_end = . ;
- PROVIDE (end = .);
-}
diff --git a/board/palmtreo680/MAINTAINERS b/board/palmtreo680/MAINTAINERS
index bdc034ed79..b0ff9d0283 100644
--- a/board/palmtreo680/MAINTAINERS
+++ b/board/palmtreo680/MAINTAINERS
@@ -1,5 +1,5 @@
PALMTREO680 BOARD
-M: Mike Dunn <mikedunn@newsguy.com>
+#M: Mike Dunn <mikedunn@newsguy.com>
S: Orphan (since 2014-06)
F: board/palmtreo680/
F: include/configs/palmtreo680.h
diff --git a/board/pb1x00/MAINTAINERS b/board/pb1x00/MAINTAINERS
index 6c5c2bb364..8326cc78cc 100644
--- a/board/pb1x00/MAINTAINERS
+++ b/board/pb1x00/MAINTAINERS
@@ -1,5 +1,5 @@
PB1X00 BOARD
-M: -
+#M: -
S: Maintained
F: board/pb1x00/
F: include/configs/pb1x00.h
diff --git a/board/pm828/MAINTAINERS b/board/pm828/MAINTAINERS
index 767a84da7a..97c1ccc595 100644
--- a/board/pm828/MAINTAINERS
+++ b/board/pm828/MAINTAINERS
@@ -1,5 +1,5 @@
PM828 BOARD
-M: -
+#M: -
S: Maintained
F: board/pm828/
F: include/configs/PM828.h
diff --git a/board/ppmc7xx/MAINTAINERS b/board/ppmc7xx/MAINTAINERS
index 5b21aa7042..a0c1f44e00 100644
--- a/board/ppmc7xx/MAINTAINERS
+++ b/board/ppmc7xx/MAINTAINERS
@@ -1,5 +1,5 @@
PPMC7XX BOARD
-M: -
+#M: -
S: Maintained
F: board/ppmc7xx/
F: include/configs/ppmc7xx.h
diff --git a/board/ppmc8260/MAINTAINERS b/board/ppmc8260/MAINTAINERS
index 768d0921a7..8b896af2c4 100644
--- a/board/ppmc8260/MAINTAINERS
+++ b/board/ppmc8260/MAINTAINERS
@@ -1,5 +1,5 @@
PPMC8260 BOARD
-M: Brad Kemp <Brad.Kemp@seranoa.com>
+#M: Brad Kemp <Brad.Kemp@seranoa.com>
S: Orphan (since 2014-04)
F: board/ppmc8260/
F: include/configs/ppmc8260.h
diff --git a/board/qemu-mips/MAINTAINERS b/board/qemu-mips/MAINTAINERS
index 079949a92a..334f9d8ee9 100644
--- a/board/qemu-mips/MAINTAINERS
+++ b/board/qemu-mips/MAINTAINERS
@@ -6,7 +6,7 @@ F: include/configs/qemu-mips.h
F: configs/qemu_mips_defconfig
QEMU_MIPSEL BOARD
-M: -
+#M: -
S: Maintained
F: configs/qemu_mipsel_defconfig
F: include/configs/qemu-mips64.h
diff --git a/board/renesas/MigoR/MAINTAINERS b/board/renesas/MigoR/MAINTAINERS
index 9368b0525e..21ee5e2754 100644
--- a/board/renesas/MigoR/MAINTAINERS
+++ b/board/renesas/MigoR/MAINTAINERS
@@ -1,5 +1,5 @@
MIGOR BOARD
-M: -
+#M: -
S: Maintained
F: board/renesas/MigoR/
F: include/configs/MigoR.h
diff --git a/board/renesas/rsk7269/MAINTAINERS b/board/renesas/rsk7269/MAINTAINERS
index d3c77c3c14..698fbdb1df 100644
--- a/board/renesas/rsk7269/MAINTAINERS
+++ b/board/renesas/rsk7269/MAINTAINERS
@@ -1,5 +1,5 @@
RSK7269 BOARD
-M: -
+#M: -
S: Maintained
F: board/renesas/rsk7269/
F: include/configs/rsk7269.h
diff --git a/board/renesas/sh7752evb/MAINTAINERS b/board/renesas/sh7752evb/MAINTAINERS
index 8910669002..9840477d7d 100644
--- a/board/renesas/sh7752evb/MAINTAINERS
+++ b/board/renesas/sh7752evb/MAINTAINERS
@@ -1,5 +1,5 @@
SH7752EVB BOARD
-M: -
+#M: -
S: Maintained
F: board/renesas/sh7752evb/
F: include/configs/sh7752evb.h
diff --git a/board/renesas/sh7753evb/MAINTAINERS b/board/renesas/sh7753evb/MAINTAINERS
index 03e6c8cdc4..b6c85eedab 100644
--- a/board/renesas/sh7753evb/MAINTAINERS
+++ b/board/renesas/sh7753evb/MAINTAINERS
@@ -1,5 +1,5 @@
SH7753EVB BOARD
-M: -
+#M: -
S: Maintained
F: board/renesas/sh7753evb/
F: include/configs/sh7753evb.h
diff --git a/board/renesas/sh7757lcr/MAINTAINERS b/board/renesas/sh7757lcr/MAINTAINERS
index bbdd6d0812..20aca678a6 100644
--- a/board/renesas/sh7757lcr/MAINTAINERS
+++ b/board/renesas/sh7757lcr/MAINTAINERS
@@ -1,5 +1,5 @@
SH7757LCR BOARD
-M: -
+#M: -
S: Maintained
F: board/renesas/sh7757lcr/
F: include/configs/sh7757lcr.h
diff --git a/board/renesas/sh7785lcr/MAINTAINERS b/board/renesas/sh7785lcr/MAINTAINERS
index 0d99de68d7..17578e036a 100644
--- a/board/renesas/sh7785lcr/MAINTAINERS
+++ b/board/renesas/sh7785lcr/MAINTAINERS
@@ -1,5 +1,5 @@
SH7785LCR BOARD
-M: -
+#M: -
S: Maintained
F: board/renesas/sh7785lcr/
F: include/configs/sh7785lcr.h
diff --git a/board/sacsng/MAINTAINERS b/board/sacsng/MAINTAINERS
index c2c8ee30e7..b76e462fd4 100644
--- a/board/sacsng/MAINTAINERS
+++ b/board/sacsng/MAINTAINERS
@@ -1,5 +1,5 @@
SACSNG BOARD
-M: Jerry Van Baren <gerald.vanbaren@smiths-aerospace.com>
+#M: Jerry Van Baren <gerald.vanbaren@smiths-aerospace.com>
S: Orphan (since 2014-06)
F: board/sacsng/
F: include/configs/sacsng.h
diff --git a/board/sandbox/README.sandbox b/board/sandbox/README.sandbox
index 529c447a5b..5f879f5506 100644
--- a/board/sandbox/README.sandbox
+++ b/board/sandbox/README.sandbox
@@ -19,7 +19,7 @@ create unit tests which we can run to test this upper level code.
CONFIG_SANDBOX is defined when building a native board.
The chosen vendor and board names are also 'sandbox', so there is a single
-board in board/sandbox/sandbox.
+board in board/sandbox.
CONFIG_SANDBOX_BIG_ENDIAN should be defined when running on big-endian
machines.
@@ -32,7 +32,7 @@ Basic Operation
To run sandbox U-Boot use something like:
- make sandbox_config all
+ make sandbox_defconfig all
./u-boot
Note:
@@ -41,7 +41,7 @@ Note:
build sandbox without SDL (i.e. no display/keyboard support) by removing
the CONFIG_SANDBOX_SDL line in include/configs/sandbox.h or using:
- make sandbox_config all NO_SDL=1
+ make sandbox_defconfig all NO_SDL=1
./u-boot
diff --git a/board/sandburst/karef/MAINTAINERS b/board/sandburst/karef/MAINTAINERS
index 4c29ae7b59..21510e85c0 100644
--- a/board/sandburst/karef/MAINTAINERS
+++ b/board/sandburst/karef/MAINTAINERS
@@ -1,5 +1,5 @@
KAREF BOARD
-M: Travis Sawyer <travis.sawyer@sandburst.com>
+#M: Travis Sawyer <travis.sawyer@sandburst.com>
S: Orphan (since 2014-03)
F: board/sandburst/karef/
F: include/configs/KAREF.h
diff --git a/board/sandburst/metrobox/MAINTAINERS b/board/sandburst/metrobox/MAINTAINERS
index f5734ba218..71d18f9186 100644
--- a/board/sandburst/metrobox/MAINTAINERS
+++ b/board/sandburst/metrobox/MAINTAINERS
@@ -1,5 +1,5 @@
METROBOX BOARD
-M: Travis Sawyer <travis.sawyer@sandburst.com>
+#M: Travis Sawyer <travis.sawyer@sandburst.com>
S: Orphan (since 2014-03)
F: board/sandburst/metrobox/
F: include/configs/METROBOX.h
diff --git a/board/sandpoint/MAINTAINERS b/board/sandpoint/MAINTAINERS
index f28c309e0d..569cf42e10 100644
--- a/board/sandpoint/MAINTAINERS
+++ b/board/sandpoint/MAINTAINERS
@@ -6,7 +6,7 @@ F: include/configs/Sandpoint8240.h
F: configs/Sandpoint8240_defconfig
SANDPOINT8245 BOARD
-M: Jim Thompson <jim@musenki.com>
+#M: Jim Thompson <jim@musenki.com>
S: Orphan (since 2014-04)
F: include/configs/Sandpoint8245.h
F: configs/Sandpoint8245_defconfig
diff --git a/board/sbc405/MAINTAINERS b/board/sbc405/MAINTAINERS
index dbb4451ceb..2abad25997 100644
--- a/board/sbc405/MAINTAINERS
+++ b/board/sbc405/MAINTAINERS
@@ -1,5 +1,5 @@
SBC405 BOARD
-M: -
+#M: -
S: Maintained
F: board/sbc405/
F: include/configs/sbc405.h
diff --git a/board/socrates/MAINTAINERS b/board/socrates/MAINTAINERS
index fc3e11dff0..293b8e6d01 100644
--- a/board/socrates/MAINTAINERS
+++ b/board/socrates/MAINTAINERS
@@ -1,5 +1,5 @@
SOCRATES BOARD
-M: -
+#M: -
S: Maintained
F: board/socrates/
F: include/configs/socrates.h
diff --git a/board/spear/spear300/MAINTAINERS b/board/spear/spear300/MAINTAINERS
index 15164fe3a3..07152aefba 100644
--- a/board/spear/spear300/MAINTAINERS
+++ b/board/spear/spear300/MAINTAINERS
@@ -6,7 +6,7 @@ F: include/configs/spear3xx_evb.h
F: configs/spear300_defconfig
SPEAR300_NAND BOARD
-M: -
+#M: -
S: Maintained
F: configs/spear300_nand_defconfig
F: configs/spear300_usbtty_defconfig
diff --git a/board/spear/spear310/MAINTAINERS b/board/spear/spear310/MAINTAINERS
index 3a7e610cb5..4f9aa15b83 100644
--- a/board/spear/spear310/MAINTAINERS
+++ b/board/spear/spear310/MAINTAINERS
@@ -6,7 +6,7 @@ F: include/configs/spear3xx_evb.h
F: configs/spear310_defconfig
SPEAR310_NAND BOARD
-M: -
+#M: -
S: Maintained
F: configs/spear310_nand_defconfig
F: configs/spear310_pnor_defconfig
diff --git a/board/spear/spear320/MAINTAINERS b/board/spear/spear320/MAINTAINERS
index 414becacc1..bf7809230f 100644
--- a/board/spear/spear320/MAINTAINERS
+++ b/board/spear/spear320/MAINTAINERS
@@ -6,7 +6,7 @@ F: include/configs/spear3xx_evb.h
F: configs/spear320_defconfig
SPEAR320_NAND BOARD
-M: -
+#M: -
S: Maintained
F: configs/spear320_nand_defconfig
F: configs/spear320_pnor_defconfig
diff --git a/board/spear/spear600/MAINTAINERS b/board/spear/spear600/MAINTAINERS
index a978fdd9f7..ddcd11a873 100644
--- a/board/spear/spear600/MAINTAINERS
+++ b/board/spear/spear600/MAINTAINERS
@@ -6,7 +6,7 @@ F: include/configs/spear6xx_evb.h
F: configs/spear600_defconfig
SPEAR600_NAND BOARD
-M: -
+#M: -
S: Maintained
F: configs/spear600_nand_defconfig
F: configs/spear600_usbtty_defconfig
diff --git a/board/st-ericsson/u8500/MAINTAINERS b/board/st-ericsson/u8500/MAINTAINERS
index 54e7921ae1..e2581eb2e4 100644
--- a/board/st-ericsson/u8500/MAINTAINERS
+++ b/board/st-ericsson/u8500/MAINTAINERS
@@ -1,5 +1,5 @@
U8500 BOARD
-M: -
+#M: -
S: Maintained
F: board/st-ericsson/u8500/
F: include/configs/u8500_href.h
diff --git a/board/stx/stxgp3/MAINTAINERS b/board/stx/stxgp3/MAINTAINERS
index 6f485d465d..bd5743c7de 100644
--- a/board/stx/stxgp3/MAINTAINERS
+++ b/board/stx/stxgp3/MAINTAINERS
@@ -1,5 +1,5 @@
STXGP3 BOARD
-M: Dan Malek <dan@embeddedalley.com>
+#M: Dan Malek <dan@embeddedalley.com>
S: Orphan (since 2014-06)
F: board/stx/stxgp3/
F: include/configs/stxgp3.h
diff --git a/board/stx/stxssa/MAINTAINERS b/board/stx/stxssa/MAINTAINERS
index f56adf0cf5..b7cc89bf73 100644
--- a/board/stx/stxssa/MAINTAINERS
+++ b/board/stx/stxssa/MAINTAINERS
@@ -1,5 +1,5 @@
STXSSA BOARD
-M: Dan Malek <dan@embeddedalley.com>
+#M: Dan Malek <dan@embeddedalley.com>
S: Orphan (since 2014-06)
F: board/stx/stxssa/
F: include/configs/stxssa.h
diff --git a/board/tcm-bf518/MAINTAINERS b/board/tcm-bf518/MAINTAINERS
index f649b06155..169012269f 100644
--- a/board/tcm-bf518/MAINTAINERS
+++ b/board/tcm-bf518/MAINTAINERS
@@ -1,5 +1,5 @@
TCM-BF518 BOARD
-M: Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+#M: Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
S: Orphan (since 2014-03)
F: board/tcm-bf518/
F: include/configs/tcm-bf518.h
diff --git a/board/tcm-bf537/MAINTAINERS b/board/tcm-bf537/MAINTAINERS
index 9ee557da45..1cd48451df 100644
--- a/board/tcm-bf537/MAINTAINERS
+++ b/board/tcm-bf537/MAINTAINERS
@@ -1,5 +1,5 @@
TCM-BF537 BOARD
-M: Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+#M: Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
S: Orphan (since 2014-03)
F: board/tcm-bf537/
F: include/configs/tcm-bf537.h
diff --git a/board/ti/evm/MAINTAINERS b/board/ti/evm/MAINTAINERS
index b2ebadcb40..d0b27882bc 100644
--- a/board/ti/evm/MAINTAINERS
+++ b/board/ti/evm/MAINTAINERS
@@ -6,7 +6,7 @@ F: include/configs/omap3_evm.h
F: configs/omap3_evm_defconfig
OMAP3_EVM_QUICK_MMC BOARD
-M: -
+#M: -
S: Maintained
F: include/configs/omap3_evm_quick_mmc.h
F: configs/omap3_evm_quick_mmc_defconfig
diff --git a/board/ti/ks2_evm/ddr3_k2hk.c b/board/ti/ks2_evm/ddr3_k2hk.c
index 21a5a0a252..6070a99770 100644
--- a/board/ti/ks2_evm/ddr3_k2hk.c
+++ b/board/ti/ks2_evm/ddr3_k2hk.c
@@ -81,4 +81,8 @@ void ddr3_init(void)
while (1)
;
}
+
+ /* Apply the workaround for PG 1.0 and 1.1 Silicons */
+ if (cpu_revision() <= 1)
+ ddr3_err_reset_workaround();
}
diff --git a/board/ti/ti816x/MAINTAINERS b/board/ti/ti816x/MAINTAINERS
index 8bf6122908..d3de144bc2 100644
--- a/board/ti/ti816x/MAINTAINERS
+++ b/board/ti/ti816x/MAINTAINERS
@@ -1,5 +1,5 @@
TI816X BOARD
-M: -
+#M: -
S: Maintained
F: board/ti/ti816x/
F: include/configs/ti816x_evm.h
diff --git a/board/ti/tnetv107xevm/MAINTAINERS b/board/ti/tnetv107xevm/MAINTAINERS
index 76ccfdc1e1..8a92c6bf87 100644
--- a/board/ti/tnetv107xevm/MAINTAINERS
+++ b/board/ti/tnetv107xevm/MAINTAINERS
@@ -1,5 +1,5 @@
TNETV107XEVM BOARD
-M: Chan-Taek Park <c-park@ti.com>
+#M: Chan-Taek Park <c-park@ti.com>
S: Orphan (since 2014-06)
F: board/ti/tnetv107xevm/
F: include/configs/tnetv107x_evm.h
diff --git a/board/total5200/MAINTAINERS b/board/total5200/MAINTAINERS
index 983b96d12c..afb0058d08 100644
--- a/board/total5200/MAINTAINERS
+++ b/board/total5200/MAINTAINERS
@@ -1,5 +1,5 @@
TOTAL5200 BOARD
-M: -
+#M: -
S: Maintained
F: board/total5200/
F: include/configs/Total5200.h
diff --git a/board/tqc/tqm5200/MAINTAINERS b/board/tqc/tqm5200/MAINTAINERS
index 581ef95453..d3eb543140 100644
--- a/board/tqc/tqm5200/MAINTAINERS
+++ b/board/tqc/tqm5200/MAINTAINERS
@@ -1,5 +1,5 @@
TQM5200 BOARD
-M: -
+#M: -
S: Maintained
F: board/tqc/tqm5200/
F: include/configs/aev.h
diff --git a/board/tqc/tqm8272/MAINTAINERS b/board/tqc/tqm8272/MAINTAINERS
index a660de19bc..988d2b189b 100644
--- a/board/tqc/tqm8272/MAINTAINERS
+++ b/board/tqc/tqm8272/MAINTAINERS
@@ -1,5 +1,5 @@
TQM8272 BOARD
-M: -
+#M: -
S: Maintained
F: board/tqc/tqm8272/
F: include/configs/TQM8272.h
diff --git a/board/tqc/tqm834x/MAINTAINERS b/board/tqc/tqm834x/MAINTAINERS
index 10c14f3e0b..543ab1b552 100644
--- a/board/tqc/tqm834x/MAINTAINERS
+++ b/board/tqc/tqm834x/MAINTAINERS
@@ -1,5 +1,5 @@
TQM834X BOARD
-M: -
+#M: -
S: Maintained
F: board/tqc/tqm834x/
F: include/configs/TQM834x.h
diff --git a/board/tqc/tqm8xx/MAINTAINERS b/board/tqc/tqm8xx/MAINTAINERS
index 161fa68e5b..fe4a212029 100644
--- a/board/tqc/tqm8xx/MAINTAINERS
+++ b/board/tqc/tqm8xx/MAINTAINERS
@@ -39,7 +39,7 @@ F: configs/virtlab2_defconfig
F: configs/wtk_defconfig
NSCU BOARD
-M: -
+#M: -
S: Maintained
F: include/configs/NSCU.h
F: configs/NSCU_defconfig
diff --git a/board/ttcontrol/vision2/vision2.c b/board/ttcontrol/vision2/vision2.c
index b4d3994158..b5249e74a7 100644
--- a/board/ttcontrol/vision2/vision2.c
+++ b/board/ttcontrol/vision2/vision2.c
@@ -144,6 +144,11 @@ static void setup_uart(void)
}
#ifdef CONFIG_MXC_SPI
+int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+ return (bus == 0 && cs == 1) ? 121 : -1;
+}
+
void spi_io_init(void)
{
static const iomux_v3_cfg_t spi_pads[] = {
diff --git a/board/v38b/MAINTAINERS b/board/v38b/MAINTAINERS
index 1b12d0bdad..d1a6ae6b2f 100644
--- a/board/v38b/MAINTAINERS
+++ b/board/v38b/MAINTAINERS
@@ -1,5 +1,5 @@
V38B BOARD
-M: -
+#M: -
S: Maintained
F: board/v38b/
F: include/configs/v38b.h
diff --git a/board/woodburn/MAINTAINERS b/board/woodburn/MAINTAINERS
index 715f2caa11..4fbf6bb88b 100644
--- a/board/woodburn/MAINTAINERS
+++ b/board/woodburn/MAINTAINERS
@@ -6,7 +6,7 @@ F: include/configs/woodburn.h
F: configs/woodburn_defconfig
WOODBURN_SD BOARD
-M: -
+#M: -
S: Maintained
F: include/configs/woodburn_sd.h
F: configs/woodburn_sd_defconfig
diff --git a/board/xaeniax/MAINTAINERS b/board/xaeniax/MAINTAINERS
index f2fa4bf905..44bb5883f2 100644
--- a/board/xaeniax/MAINTAINERS
+++ b/board/xaeniax/MAINTAINERS
@@ -1,5 +1,5 @@
XAENIAX BOARD
-M: -
+#M: -
S: Maintained
F: board/xaeniax/
F: include/configs/xaeniax.h
diff --git a/board/xes/xpedite517x/MAINTAINERS b/board/xes/xpedite517x/MAINTAINERS
index c74fdf4874..035cb1499a 100644
--- a/board/xes/xpedite517x/MAINTAINERS
+++ b/board/xes/xpedite517x/MAINTAINERS
@@ -1,5 +1,5 @@
XPEDITE517X BOARD
-M: -
+#M: -
S: Maintained
F: board/xes/xpedite517x/
F: include/configs/xpedite517x.h
diff --git a/board/xes/xpedite520x/MAINTAINERS b/board/xes/xpedite520x/MAINTAINERS
index 7f9bf9ae76..2fd4ac072d 100644
--- a/board/xes/xpedite520x/MAINTAINERS
+++ b/board/xes/xpedite520x/MAINTAINERS
@@ -1,5 +1,5 @@
XPEDITE520X BOARD
-M: -
+#M: -
S: Maintained
F: board/xes/xpedite520x/
F: include/configs/xpedite520x.h
diff --git a/board/xes/xpedite537x/MAINTAINERS b/board/xes/xpedite537x/MAINTAINERS
index a13dcf196c..45a420d11a 100644
--- a/board/xes/xpedite537x/MAINTAINERS
+++ b/board/xes/xpedite537x/MAINTAINERS
@@ -1,5 +1,5 @@
XPEDITE537X BOARD
-M: -
+#M: -
S: Maintained
F: board/xes/xpedite537x/
F: include/configs/xpedite537x.h
diff --git a/board/xes/xpedite550x/MAINTAINERS b/board/xes/xpedite550x/MAINTAINERS
index 12d321eddd..b22f0e6173 100644
--- a/board/xes/xpedite550x/MAINTAINERS
+++ b/board/xes/xpedite550x/MAINTAINERS
@@ -1,5 +1,5 @@
XPEDITE550X BOARD
-M: -
+#M: -
S: Maintained
F: board/xes/xpedite550x/
F: include/configs/xpedite550x.h