diff options
author | Minkyu Kang <mk7.kang@samsung.com> | 2014-10-07 19:14:03 +0900 |
---|---|---|
committer | Minkyu Kang <mk7.kang@samsung.com> | 2014-10-07 19:14:03 +0900 |
commit | 3cc83f9d08a80fddf4c1e8e766eff8273f30814c (patch) | |
tree | 831246a1b77d26d0296a84c90684e0fee0368737 /board | |
parent | 64f41212d880f3d00c6994d973aadeec5bda1b65 (diff) | |
parent | 6dd0e7c00bfa5ce861a72b8e4a3ef9e787306125 (diff) |
Merge branch 'uboot'
Diffstat (limited to 'board')
202 files changed, 1800 insertions, 952 deletions
diff --git a/board/LaCie/net2big_v2/MAINTAINERS b/board/LaCie/net2big_v2/MAINTAINERS index 1afaa5ce5cb..205c75e4cbe 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 ad3dfa1565d..55fd50d4eb1 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 8b36bff32bc..8a27b9a234a 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 7383207f756..af3eb24a2b0 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 751aac2be36..a30c51c54be 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 7a52a8eeeec..7a189ab6d52 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 2d8560f628f..303e5fdacb7 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 4a329e97384..9eb9bbd01ba 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 9d5ace2ae51..3299cc34e36 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 06630039847..1cbdb0e70db 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 f390e53307a..a56dd99bb33 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 e730f4f170b..a6943d74269 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 94944095c3f..7ebea6317f7 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 dd698eaac88..1c319f66b40 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 76365b0c10f..378e1b3dbc0 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 c835c12d02d..f53754bc874 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 e2a8363d8fc..81a70760931 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 60a09f4bb3e..7edfe193675 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 d2752300951..0ac8225d065 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 5a71b8effce..1f24e3948b1 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 aa4eb301c0a..71750ead478 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 789f5c47698..fefcfcfb7db 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 f643043d564..0bf51fb1eaa 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 44735fafdbf..63d242893e3 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 da925f87d6f..a89cfcae747 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 4cd83df8bc3..b7f5779cef1 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 a4606fff62b..9c86c8d39ac 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 f308b0fb29f..f10eeb58f36 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 9fc5365148c..1e1df3f6dcb 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 ab33d5d02d6..60701bfd999 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 00942fc2fc1..a064da2f15c 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 00000000000..42a84380f24 --- /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 00000000000..5b2623a664d --- /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 00000000000..3e5c9034df0 --- /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 00000000000..fdb8ebf9e75 --- /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 00000000000..1f3967995f9 --- /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 00000000000..76097f80af3 --- /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 00000000000..420947e9ca7 --- /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 00000000000..3948ba23ae9 --- /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 20fe3e19602..85442cd1031 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 53ad759c10d..35f4a2a21a9 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 6e84f601f5c..32804ea53c8 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 e93819ecfa8..e43e91febe9 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 3af5b5704be..d43c6d03f2b 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 ef586b3884d..c017e097178 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 2fc1e00d5a0..ed04d4354bd 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 0bfe02d0ea0..97c3ed3b69d 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 bb4053626d0..8ca53c43c80 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 4b3ce45d4f3..a718b900508 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 b1fc29c0196..808e7fc0468 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 428d003abcf..5c7e1324a9f 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 625978ca626..40659e5210f 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 30453c6b164..89ba862149f 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 5258b3a7ca6..e3b35f11012 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 7ae91ffb2e1..00000000000 --- 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 530ea4f3c48..a725f15a2eb 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 79fcbf4adc4..00000000000 --- 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 bb273df6d4d..bfa923caf6d 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 822261be782..c053df9160f 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 c434eb93a30..96de0815c7e 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 ff6e20c0679..fdbbc3eb454 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 f8307ccf514..d50dda523e2 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 e2fe2a6b669..b37f10b17ae 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 9f9a612a61e..ac02bb7e481 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 6789efb9c39..e683be324a9 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 841d82fdd8a..c8ca6746f19 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 021d82b74d3..ccf45131b87 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 679c654fb57..5898e337443 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 16d87cbe82f..f819c99dbaa 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 798b491dcc4..f51afc82344 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 257bc162d0a..b4a3fc9a9ed 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 77f6aafe3d9..9958a68e3ec 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 a18db1d7149..2c79a7181ec 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 65d04df2502..c9c3c882e60 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 22301b770e9..c2273c35e1d 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 1c21b03c380..74acd1eee50 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 aa4739f744c..e58663096d4 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 b87d52c64fb..4e6dbb12d99 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 f945ab446b1..305e748e740 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 37b24c7be8c..f88aed99d65 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 be145494cbd..52a26810809 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 0c7f682f95a..d4aab8fb51f 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 923ba95404c..807fb0b6e9e 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 ed6e4e54dd4..d0388ad6e55 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 cb075d62a9a..e5b5995f78d 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 c216d8da062..8592a2c3c18 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 51d7cd7bac1..953072cdd0f 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 41a21915775..acc48218d46 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 073210d9ad2..d421b1281b8 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 81b664c7323..328be7fecce 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 89b2425d0ba..6f229227c03 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 14470d72ee4..1ef669000fa 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 836def2a276..96e6da2aada 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 72c25f5f8ea..379d8cc1d5f 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 b5478dbc175..c181407f258 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 993c02a15e4..de6ab892997 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 34bcc6cd0b6..97902475ba8 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 e9c8fe78e0d..5f6ec268c7e 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 928dadf8093..836d7221b09 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 00000000000..f35f22ea827 --- /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 80c8ebdafcc..81dcd6e5ddb 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 a990b4cea8e..a0832f4a201 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 579e775972e..db001437b16 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 81501aa5fc5..c06bac6d0d8 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 ad0a8589f47..aabf587dd68 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 4d429fe9cf3..c2e924798e3 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 2d7d7e10c58..c19d43616b1 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 42cb18dc8b2..cb61fc51fbd 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 bb5bb83f306..d93cb0bebb6 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 1929bba20b3..06d908658da 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 364b0a961e1..b61e1c02540 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 cdbe1fafd9a..ac95b5e5094 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 34c9224adb6..2c331eebf9e 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 63e5f900da7..c8b6c672a68 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 00000000000..57de89ad0e7 --- /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 a3ea8ada56c..db4d52f397d 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 643926f4b04..deda092a6a0 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 598714356c4..16428798cd6 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 da796bd5b6a..f88ee7df9e6 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 9af5f7871b9..34d1cc12ff2 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 493c31ecabc..df55a4cc416 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 151bef13293..7acd5f44c6f 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 187f32334d4..c4179d29c0a 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 acb863c2f70..4b3312ef728 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 6da9b784cf1..bf4a95001b8 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 f070132f374..614625d33f4 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 3edc9151d99..ab3bab847a5 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 1cf38d4046a..a34a9a84c8f 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 a2229219786..1038d9d975a 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 e9438793036..9fc253bb828 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 d64b9107c6f..af12711ac26 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 a85df77982c..f1398c49269 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 16769e53327..137e4ed6610 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 02e6c049d42..8a24eb46995 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 efd5e77c812..41f6cae81b5 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 278072bcd9d..c37b0110f22 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 0eb2fba00c2..00000000000 --- 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 fe4a8cd445d..3fc2c6cb9a0 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 3d4fc8a2f5a..00000000000 --- 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 39b2b1db35d..ac85d6b44c5 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 0eb2fba00c2..00000000000 --- 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 98cc7bd15c3..8e3608e0af9 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 90e2e2ed0c3..00000000000 --- 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 bdfdc01861b..a66a98178c0 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 47f2de8e64a..00000000000 --- 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 22be98186b5..20bd073b90a 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 9e76b579fc8..aad14ed0790 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 4f7ca503fc4..947a14ed507 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 9659730fb4b..ae3cf9c0b2c 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 3d02bc64bf5..a59a4987957 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 4b825d32856..cbaa585134a 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 10a97cc4ebc..2f8b5cb580b 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 f7c1bd800bd..19ad05d2740 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 b8f57614bb9..50d3e7ebdaa 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 03a1fe7f040..4196c805cb7 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 a809ba5a5c0..5955f1a387e 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 0dff5a40231..00000000000 --- 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 bdc034ed791..b0ff9d02836 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 6c5c2bb3646..8326cc78ccf 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 767a84da7a9..97c1ccc595b 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 5b21aa70420..a0c1f44e00e 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 768d0921a76..8b896af2c46 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 079949a92af..334f9d8ee95 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 9368b0525ec..21ee5e27548 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 d3c77c3c140..698fbdb1df6 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 89106690020..9840477d7dd 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 03e6c8cdc4e..b6c85eedab7 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 bbdd6d08128..20aca678a67 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 0d99de68d75..17578e036a5 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 c2c8ee30e75..b76e462fd4e 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 529c447a5b3..5f879f55065 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 4c29ae7b594..21510e85c08 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 f5734ba2188..71d18f9186b 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 f28c309e0db..569cf42e10c 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 dbb4451cebf..2abad25997c 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 fc3e11dff0c..293b8e6d018 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 15164fe3a3d..07152aefbab 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 3a7e610cb58..4f9aa15b83b 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 414becacc18..bf7809230f7 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 a978fdd9f74..ddcd11a873c 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 54e7921ae19..e2581eb2e4b 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 6f485d465de..bd5743c7de1 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 f56adf0cf5b..b7cc89bf734 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 f649b061552..169012269f7 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 9ee557da456..1cd48451df1 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 b2ebadcb405..d0b27882bc2 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 21a5a0a252e..6070a997702 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 8bf61229082..d3de144bc21 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 76ccfdc1e1b..8a92c6bf874 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 983b96d12c3..afb0058d087 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 581ef954532..d3eb543140a 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 a660de19bc5..988d2b189bc 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 10c14f3e0b6..543ab1b5528 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 161fa68e5b6..fe4a2120292 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 b4d3994158d..b5249e74a77 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 1b12d0bdad8..d1a6ae6b2f7 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 715f2caa116..4fbf6bb88b0 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 f2fa4bf9050..44bb5883f20 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 c74fdf48740..035cb1499ad 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 7f9bf9ae76c..2fd4ac072d5 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 a13dcf196cf..45a420d11ab 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 12d321eddd8..b22f0e61738 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 |