diff --git a/arch/arm/boards/Makefile b/arch/arm/boards/Makefile index e3dcc6a..35b636f 100644 --- a/arch/arm/boards/Makefile +++ b/arch/arm/boards/Makefile @@ -15,7 +15,7 @@ obj-$(CONFIG_MACH_BEAGLEBONE) += beaglebone/ obj-$(CONFIG_MACH_CANON_A1100) += canon-a1100/ obj-$(CONFIG_MACH_CM_FX6) += cm-fx6/ -obj-$(CONFIG_MACH_NITROGEN6X) += boundarydevices-nitrogen6x/ +obj-$(CONFIG_MACH_NITROGEN6) += boundarydevices-nitrogen6/ obj-$(CONFIG_MACH_CCMX51) += ccxmx51/ obj-$(CONFIG_MACH_CCMX53) += ccxmx53/ obj-$(CONFIG_MACH_CFA10036) += crystalfontz-cfa10036/ diff --git a/arch/arm/boards/boundarydevices-nitrogen6/1066mhz_4x128mx16.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6/1066mhz_4x128mx16.imxcfg new file mode 100644 index 0000000..c5a286b --- /dev/null +++ b/arch/arm/boards/boundarydevices-nitrogen6/1066mhz_4x128mx16.imxcfg @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2013 Boundary Devices + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +wm 32 MX6_MMDC_P0_MDPDC 0x00020036 +wm 32 MX6_MMDC_P0_MDCFG0 0x555A7974 +wm 32 MX6_MMDC_P0_MDCFG1 0xDB538F64 +wm 32 MX6_MMDC_P0_MDCFG2 0x01FF00DB +wm 32 MX6_MMDC_P0_MDRWD 0x000026D2 +wm 32 MX6_MMDC_P0_MDOR 0x005A1023 +wm 32 MX6_MMDC_P0_MDOTC 0x09444040 +wm 32 MX6_MMDC_P0_MDPDC 0x00025576 +wm 32 MX6_MMDC_P0_MDASP 0x00000027 +wm 32 MX6_MMDC_P0_MDCTL 0x831A0000 +wm 32 MX6_MMDC_P0_MDSCR 0x04088032 +wm 32 MX6_MMDC_P0_MDSCR 0x00008033 +wm 32 MX6_MMDC_P0_MDSCR 0x00428031 +wm 32 MX6_MMDC_P0_MDSCR 0x19308030 +wm 32 MX6_MMDC_P0_MDSCR 0x04008040 +wm 32 MX6_MMDC_P0_MPZQHWCTRL 0xA1390003 +wm 32 MX6_MMDC_P1_MPZQHWCTRL 0xA1390003 +wm 32 MX6_MMDC_P0_MDREF 0x00005800 +wm 32 MX6_MMDC_P0_MPODTCTRL 0x00022227 +wm 32 MX6_MMDC_P1_MPODTCTRL 0x00022227 +wm 32 MX6_MMDC_P0_MPDGCTRL0 0x42720306 +wm 32 MX6_MMDC_P0_MPDGCTRL1 0x026F0266 +wm 32 MX6_MMDC_P1_MPDGCTRL0 0x4273030A +wm 32 MX6_MMDC_P1_MPDGCTRL1 0x02740240 +wm 32 MX6_MMDC_P0_MPRDDLCTL 0x45393B3E +wm 32 MX6_MMDC_P1_MPRDDLCTL 0x403A3747 +wm 32 MX6_MMDC_P0_MPWRDLCTL 0x40434541 +wm 32 MX6_MMDC_P1_MPWRDLCTL 0x473E4A3B +wm 32 MX6_MMDC_P0_MPWLDECTRL0 0x0011000E +wm 32 MX6_MMDC_P0_MPWLDECTRL1 0x000E001B +wm 32 MX6_MMDC_P1_MPWLDECTRL0 0x00190015 +wm 32 MX6_MMDC_P1_MPWLDECTRL1 0x00070018 +wm 32 MX6_MMDC_P0_MPMUR0 0x00000800 +wm 32 MX6_MMDC_P1_MPMUR0 0x00000800 +wm 32 MX6_MMDC_P0_MDSCR 0x00000000 +wm 32 MX6_MMDC_P0_MAPSR 0x00011006 diff --git a/arch/arm/boards/boundarydevices-nitrogen6/1066mhz_4x256mx16.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6/1066mhz_4x256mx16.imxcfg new file mode 100644 index 0000000..4d8a715 --- /dev/null +++ b/arch/arm/boards/boundarydevices-nitrogen6/1066mhz_4x256mx16.imxcfg @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2013 Boundary Devices + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +wm 32 MX6_MMDC_P0_MDPDC 0x00020036 +wm 32 MX6_MMDC_P0_MDCFG0 0x898E7974 +wm 32 MX6_MMDC_P0_MDCFG1 0xDB538F64 +wm 32 MX6_MMDC_P0_MDCFG2 0x01FF00DB +wm 32 MX6_MMDC_P0_MDRWD 0x000026D2 +wm 32 MX6_MMDC_P0_MDOR 0x008E1023 +wm 32 MX6_MMDC_P0_MDOTC 0x09444040 +wm 32 MX6_MMDC_P0_MDPDC 0x00025576 +wm 32 MX6_MMDC_P0_MDASP 0x00000047 +wm 32 MX6_MMDC_P0_MDCTL 0x841A0000 +wm 32 MX6_MMDC_P0_MDSCR 0x04088032 +wm 32 MX6_MMDC_P0_MDSCR 0x00008033 +wm 32 MX6_MMDC_P0_MDSCR 0x00428031 +wm 32 MX6_MMDC_P0_MDSCR 0x19308030 +wm 32 MX6_MMDC_P0_MDSCR 0x04008040 +wm 32 MX6_MMDC_P0_MPZQHWCTRL 0xA1390003 +wm 32 MX6_MMDC_P1_MPZQHWCTRL 0xA1390003 +wm 32 MX6_MMDC_P0_MDREF 0x00007800 +wm 32 MX6_MMDC_P0_MPODTCTRL 0x00022227 +wm 32 MX6_MMDC_P1_MPODTCTRL 0x00022227 +wm 32 MX6_MMDC_P0_MPDGCTRL0 0x43040319 +wm 32 MX6_MMDC_P0_MPDGCTRL1 0x03040279 +wm 32 MX6_MMDC_P1_MPDGCTRL0 0x43040321 +wm 32 MX6_MMDC_P1_MPDGCTRL1 0x03030251 +wm 32 MX6_MMDC_P0_MPRDDLCTL 0x4d434248 +wm 32 MX6_MMDC_P1_MPRDDLCTL 0x42413c4d +wm 32 MX6_MMDC_P0_MPWRDLCTL 0x34424543 +wm 32 MX6_MMDC_P1_MPWRDLCTL 0x49324933 +wm 32 MX6_MMDC_P0_MPWLDECTRL0 0x001a0017 +wm 32 MX6_MMDC_P0_MPWLDECTRL1 0x001F001F +wm 32 MX6_MMDC_P1_MPWLDECTRL0 0x00170027 +wm 32 MX6_MMDC_P1_MPWLDECTRL1 0x000a001f +wm 32 MX6_MMDC_P0_MPMUR0 0x00000800 +wm 32 MX6_MMDC_P1_MPMUR0 0x00000800 +wm 32 MX6_MMDC_P0_MDSCR 0x00000000 +wm 32 MX6_MMDC_P0_MAPSR 0x00011006 diff --git a/arch/arm/boards/boundarydevices-nitrogen6/1066mhz_4x512mx16-qp.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6/1066mhz_4x512mx16-qp.imxcfg new file mode 100644 index 0000000..6409b74 --- /dev/null +++ b/arch/arm/boards/boundarydevices-nitrogen6/1066mhz_4x512mx16-qp.imxcfg @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2016 Boundary Devices + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +/* NOC setup */ +wm 32 0x00bb0008 0x00000004 +wm 32 0x00bb000c 0x2891E41A +wm 32 0x00bb0038 0x00000564 +wm 32 0x00bb0014 0x00000040 +wm 32 0x00bb0028 0x00000020 +wm 32 0x00bb002c 0x00000020 + +/* Disable all MMDC arbitration and reordering controls */ +wm 32 0x021b0400 0x14420000 + +wm 32 MX6_MMDC_P0_MDPDC 0x00020036 +wm 32 MX6_MMDC_P0_MDSCR 0x00008000 +wm 32 MX6_MMDC_P0_MDCFG0 0x898E79A4 +wm 32 MX6_MMDC_P0_MDCFG1 0xDB538F64 +wm 32 MX6_MMDC_P0_MDCFG2 0x01FF00DD +wm 32 MX6_MMDC_P0_MDRWD 0x0f9f26d2 +wm 32 MX6_MMDC_P0_MDOR 0x008E1023 +wm 32 MX6_MMDC_P0_MDOTC 0x09444040 +wm 32 MX6_MMDC_P0_MDPDC 0x00025576 +wm 32 MX6_MMDC_P0_MDASP 0x00000047 +wm 32 MX6_MMDC_P0_MDCTL 0xC41A0000 +wm 32 MX6_MMDC_P0_MDSCR 0x04088032 +wm 32 MX6_MMDC_P0_MDSCR 0x0408803a +wm 32 MX6_MMDC_P0_MDSCR 0x00008033 +wm 32 MX6_MMDC_P0_MDSCR 0x0000803b +wm 32 MX6_MMDC_P0_MDSCR 0x00428031 +wm 32 MX6_MMDC_P0_MDSCR 0x00428039 +wm 32 MX6_MMDC_P0_MDSCR 0x19308030 +wm 32 MX6_MMDC_P0_MDSCR 0x19308038 +wm 32 MX6_MMDC_P0_MDSCR 0x04008040 +wm 32 MX6_MMDC_P0_MDSCR 0x04008048 +wm 32 MX6_MMDC_P0_MPZQHWCTRL 0xA1390003 +wm 32 MX6_MMDC_P1_MPZQHWCTRL 0xA1390003 +wm 32 MX6_MMDC_P0_MDREF 0x00007800 +wm 32 MX6_MMDC_P0_MPODTCTRL 0x00022227 +wm 32 MX6_MMDC_P1_MPODTCTRL 0x00022227 +wm 32 MX6_MMDC_P0_MPDGCTRL0 0x4327033b +wm 32 MX6_MMDC_P0_MPDGCTRL1 0x0324031a +wm 32 MX6_MMDC_P1_MPDGCTRL0 0x43240337 +wm 32 MX6_MMDC_P1_MPDGCTRL1 0x03210269 +wm 32 MX6_MMDC_P0_MPRDDLCTL 0x483c3e4a +wm 32 MX6_MMDC_P1_MPRDDLCTL 0x423a3848 +wm 32 MX6_MMDC_P0_MPWRDLCTL 0x33363a2c +wm 32 MX6_MMDC_P1_MPWRDLCTL 0x3e314137 +wm 32 MX6_MMDC_P0_MPWLDECTRL0 0x00200026 +wm 32 MX6_MMDC_P0_MPWLDECTRL1 0x00260021 +wm 32 MX6_MMDC_P1_MPWLDECTRL0 0x00180028 +wm 32 MX6_MMDC_P1_MPWLDECTRL1 0x000f001e +wm 32 MX6_MMDC_P0_MPMUR0 0x00000800 +wm 32 MX6_MMDC_P1_MPMUR0 0x00000800 +wm 32 MX6_MMDC_P0_MDSCR 0x00000000 +wm 32 MX6_MMDC_P0_MAPSR 0x00011006 diff --git a/arch/arm/boards/boundarydevices-nitrogen6/800mhz_4x128mx16.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6/800mhz_4x128mx16.imxcfg new file mode 100644 index 0000000..936a2f5 --- /dev/null +++ b/arch/arm/boards/boundarydevices-nitrogen6/800mhz_4x128mx16.imxcfg @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2013 Boundary Devices + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +wm 32 MX6_MMDC_P0_MDPDC 0x0002002D +wm 32 MX6_MMDC_P0_MDCFG0 0x40435323 +wm 32 MX6_MMDC_P0_MDCFG1 0xB66E8D63 +wm 32 MX6_MMDC_P0_MDCFG2 0x01FF00DB +wm 32 MX6_MMDC_P0_MDRWD 0x000026D2 +wm 32 MX6_MMDC_P0_MDOR 0x00431023 +wm 32 MX6_MMDC_P0_MDOTC 0x00333030 +wm 32 MX6_MMDC_P0_MDPDC 0x0002556D +wm 32 MX6_MMDC_P0_MDASP 0x00000027 +wm 32 MX6_MMDC_P0_MDCTL 0x831A0000 +wm 32 MX6_MMDC_P0_MDSCR 0x04008032 +wm 32 MX6_MMDC_P0_MDSCR 0x00008033 +wm 32 MX6_MMDC_P0_MDSCR 0x00048031 +wm 32 MX6_MMDC_P0_MDSCR 0x13208030 +wm 32 MX6_MMDC_P0_MDSCR 0x04008040 +wm 32 MX6_MMDC_P0_MPZQHWCTRL 0xA1390003 +wm 32 MX6_MMDC_P1_MPZQHWCTRL 0xA1390003 +wm 32 MX6_MMDC_P0_MDREF 0x00005800 +wm 32 MX6_MMDC_P0_MPODTCTRL 0x00022227 +wm 32 MX6_MMDC_P1_MPODTCTRL 0x00022227 +wm 32 MX6_MMDC_P0_MPDGCTRL0 0x420F020F +wm 32 MX6_MMDC_P0_MPDGCTRL1 0x01760175 +wm 32 MX6_MMDC_P1_MPDGCTRL0 0x41640171 +wm 32 MX6_MMDC_P1_MPDGCTRL1 0x015E0160 +wm 32 MX6_MMDC_P0_MPRDDLCTL 0x45464B4A +wm 32 MX6_MMDC_P1_MPRDDLCTL 0x49484A46 +wm 32 MX6_MMDC_P0_MPWRDLCTL 0x40402E32 +wm 32 MX6_MMDC_P1_MPWRDLCTL 0x3A3A3231 +wm 32 MX6_MMDC_P0_MPWLDECTRL0 0x003A003A +wm 32 MX6_MMDC_P0_MPWLDECTRL1 0x0030002F +wm 32 MX6_MMDC_P1_MPWLDECTRL0 0x002F0038 +wm 32 MX6_MMDC_P1_MPWLDECTRL1 0x00270039 +wm 32 MX6_MMDC_P0_MPMUR0 0x00000800 +wm 32 MX6_MMDC_P1_MPMUR0 0x00000800 +wm 32 MX6_MMDC_P0_MDSCR 0x00000000 +wm 32 MX6_MMDC_P0_MAPSR 0x00011006 diff --git a/arch/arm/boards/boundarydevices-nitrogen6/800mhz_4x256mx16.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6/800mhz_4x256mx16.imxcfg new file mode 100644 index 0000000..09c8555 --- /dev/null +++ b/arch/arm/boards/boundarydevices-nitrogen6/800mhz_4x256mx16.imxcfg @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2013 Boundary Devices + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +wm 32 MX6_MMDC_P0_MDPDC 0x0002002D +wm 32 MX6_MMDC_P0_MDCFG0 0x696C5323 +wm 32 MX6_MMDC_P0_MDCFG1 0xB66E8D63 +wm 32 MX6_MMDC_P0_MDCFG2 0x01FF00DB +wm 32 MX6_MMDC_P0_MDRWD 0x000026D2 +wm 32 MX6_MMDC_P0_MDOR 0x006C1023 +wm 32 MX6_MMDC_P0_MDOTC 0x00333030 +wm 32 MX6_MMDC_P0_MDPDC 0x0002556D +wm 32 MX6_MMDC_P0_MDASP 0x00000047 +wm 32 MX6_MMDC_P0_MDCTL 0x841A0000 +wm 32 MX6_MMDC_P0_MDSCR 0x04008032 +wm 32 MX6_MMDC_P0_MDSCR 0x00008033 +wm 32 MX6_MMDC_P0_MDSCR 0x00048031 +wm 32 MX6_MMDC_P0_MDSCR 0x13208030 +wm 32 MX6_MMDC_P0_MDSCR 0x04008040 +wm 32 MX6_MMDC_P0_MPZQHWCTRL 0xA1390003 +wm 32 MX6_MMDC_P1_MPZQHWCTRL 0xA1390003 +wm 32 MX6_MMDC_P0_MDREF 0x00007800 +wm 32 MX6_MMDC_P0_MPODTCTRL 0x00022227 +wm 32 MX6_MMDC_P1_MPODTCTRL 0x00022227 +wm 32 MX6_MMDC_P0_MPDGCTRL0 0x42350231 +wm 32 MX6_MMDC_P0_MPDGCTRL1 0x021A0218 +wm 32 MX6_MMDC_P1_MPDGCTRL0 0x42350231 +wm 32 MX6_MMDC_P1_MPDGCTRL1 0x021A0218 +wm 32 MX6_MMDC_P0_MPRDDLCTL 0x4B4B4E49 +wm 32 MX6_MMDC_P1_MPRDDLCTL 0x4B4B4E49 +wm 32 MX6_MMDC_P0_MPWRDLCTL 0x3F3F3035 +wm 32 MX6_MMDC_P1_MPWRDLCTL 0x3F3F3035 +wm 32 MX6_MMDC_P0_MPWLDECTRL0 0x0040003C +wm 32 MX6_MMDC_P0_MPWLDECTRL1 0x0032003E +wm 32 MX6_MMDC_P1_MPWLDECTRL0 0x0040003C +wm 32 MX6_MMDC_P1_MPWLDECTRL1 0x0032003E +wm 32 MX6_MMDC_P0_MPMUR0 0x00000800 +wm 32 MX6_MMDC_P1_MPMUR0 0x00000800 +wm 32 MX6_MMDC_P0_MDSCR 0x00000000 +wm 32 MX6_MMDC_P0_MAPSR 0x00011006 diff --git a/arch/arm/boards/boundarydevices-nitrogen6/Makefile b/arch/arm/boards/boundarydevices-nitrogen6/Makefile new file mode 100644 index 0000000..0ec04ce --- /dev/null +++ b/arch/arm/boards/boundarydevices-nitrogen6/Makefile @@ -0,0 +1,2 @@ +obj-y += board.o +lwl-y += lowlevel.o diff --git a/arch/arm/boards/boundarydevices-nitrogen6/board.c b/arch/arm/boards/boundarydevices-nitrogen6/board.c new file mode 100644 index 0000000..d9514d9 --- /dev/null +++ b/arch/arm/boards/boundarydevices-nitrogen6/board.c @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2014 Lucas Stach, Pengutronix + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include +#include +#include +#include +#include +#include +#include + +static int nitrogen6x_devices_init(void) +{ + if (!of_machine_is_compatible("boundary,imx6dl-nitrogen6x") && + !of_machine_is_compatible("boundary,imx6q-nitrogen6x") && + !of_machine_is_compatible("boundary,imx6qp-nitrogen6_max")) + return 0; + + imx6_bbu_internal_spi_i2c_register_handler("spiflash", "/dev/m25p0.barebox", + BBU_HANDLER_FLAG_DEFAULT); + + if (of_machine_is_compatible("boundary,imx6qp-nitrogen6_max")) + barebox_set_hostname("nitrogen6max"); + else + barebox_set_hostname("nitrogen6x"); + + return 0; +} +device_initcall(nitrogen6x_devices_init); + +static int ksz9021rn_phy_fixup(struct phy_device *dev) +{ + phy_write(dev, 0x09, 0x0f00); + + /* do same as linux kernel */ + /* min rx data delay */ + phy_write(dev, 0x0b, 0x8105); + phy_write(dev, 0x0c, 0x0000); + + /* max rx/tx clock delay, min rx/tx control delay */ + phy_write(dev, 0x0b, 0x8104); + phy_write(dev, 0x0c, 0xf0f0); + phy_write(dev, 0x0b, 0x104); + + return 0; +} + +static int nitrogen6x_coredevices_init(void) +{ + if (!of_machine_is_compatible("boundary,imx6dl-nitrogen6x") && + !of_machine_is_compatible("boundary,imx6q-nitrogen6x") && + !of_machine_is_compatible("boundary,imx6qp-nitrogen6_max")) + return 0; + + phy_register_fixup_for_uid(PHY_ID_KSZ9021, MICREL_PHY_ID_MASK, + ksz9021rn_phy_fixup); + return 0; +} +coredevice_initcall(nitrogen6x_coredevices_init); diff --git a/arch/arm/boards/boundarydevices-nitrogen6/flash-header-nitrogen6dl-1g.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6/flash-header-nitrogen6dl-1g.imxcfg new file mode 100644 index 0000000..0773f4d --- /dev/null +++ b/arch/arm/boards/boundarydevices-nitrogen6/flash-header-nitrogen6dl-1g.imxcfg @@ -0,0 +1,10 @@ +soc imx6 +loadaddr 0x20000000 +dcdofs 0x400 + +#include +#include +#include + +#include "ram-base.imxcfg" +#include "800mhz_4x128mx16.imxcfg" diff --git a/arch/arm/boards/boundarydevices-nitrogen6/flash-header-nitrogen6dl-2g.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6/flash-header-nitrogen6dl-2g.imxcfg new file mode 100644 index 0000000..6622c51 --- /dev/null +++ b/arch/arm/boards/boundarydevices-nitrogen6/flash-header-nitrogen6dl-2g.imxcfg @@ -0,0 +1,10 @@ +soc imx6 +loadaddr 0x20000000 +dcdofs 0x400 + +#include +#include +#include + +#include "ram-base.imxcfg" +#include "800mhz_4x256mx16.imxcfg" diff --git a/arch/arm/boards/boundarydevices-nitrogen6/flash-header-nitrogen6q-1g.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6/flash-header-nitrogen6q-1g.imxcfg new file mode 100644 index 0000000..bd4134f --- /dev/null +++ b/arch/arm/boards/boundarydevices-nitrogen6/flash-header-nitrogen6q-1g.imxcfg @@ -0,0 +1,10 @@ +soc imx6 +loadaddr 0x20000000 +dcdofs 0x400 + +#include +#include +#include + +#include "ram-base.imxcfg" +#include "1066mhz_4x128mx16.imxcfg" diff --git a/arch/arm/boards/boundarydevices-nitrogen6/flash-header-nitrogen6q-2g.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6/flash-header-nitrogen6q-2g.imxcfg new file mode 100644 index 0000000..89aa21c --- /dev/null +++ b/arch/arm/boards/boundarydevices-nitrogen6/flash-header-nitrogen6q-2g.imxcfg @@ -0,0 +1,10 @@ +soc imx6 +loadaddr 0x20000000 +dcdofs 0x400 + +#include +#include +#include + +#include "ram-base.imxcfg" +#include "1066mhz_4x256mx16.imxcfg" diff --git a/arch/arm/boards/boundarydevices-nitrogen6/flash-header-nitrogen6qp-max.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6/flash-header-nitrogen6qp-max.imxcfg new file mode 100644 index 0000000..66f0e1a --- /dev/null +++ b/arch/arm/boards/boundarydevices-nitrogen6/flash-header-nitrogen6qp-max.imxcfg @@ -0,0 +1,10 @@ +soc imx6 +loadaddr 0x20000000 +dcdofs 0x400 + +#include +#include +#include + +#include "ram-base.imxcfg" +#include "1066mhz_4x512mx16-qp.imxcfg" diff --git a/arch/arm/boards/boundarydevices-nitrogen6/lowlevel.c b/arch/arm/boards/boundarydevices-nitrogen6/lowlevel.c new file mode 100644 index 0000000..bee70a5 --- /dev/null +++ b/arch/arm/boards/boundarydevices-nitrogen6/lowlevel.c @@ -0,0 +1,65 @@ +#include +#include +#include +#include + +extern char __dtb_imx6q_nitrogen6x_start[]; + +ENTRY_FUNCTION(start_imx6q_nitrogen6x_1g, r0, r1, r2) +{ + void *fdt; + + imx6_cpu_lowlevel_init(); + + fdt = __dtb_imx6q_nitrogen6x_start - get_runtime_offset(); + + imx6q_barebox_entry(fdt); +} + +ENTRY_FUNCTION(start_imx6q_nitrogen6x_2g, r0, r1, r2) +{ + void *fdt; + + imx6_cpu_lowlevel_init(); + + fdt = __dtb_imx6q_nitrogen6x_start - get_runtime_offset(); + + imx6q_barebox_entry(fdt); +} + +extern char __dtb_imx6dl_nitrogen6x_start[]; + +ENTRY_FUNCTION(start_imx6dl_nitrogen6x_1g, r0, r1, r2) +{ + void *fdt; + + imx6_cpu_lowlevel_init(); + + fdt = __dtb_imx6dl_nitrogen6x_start - get_runtime_offset(); + + imx6q_barebox_entry(fdt); +} + +ENTRY_FUNCTION(start_imx6dl_nitrogen6x_2g, r0, r1, r2) +{ + void *fdt; + + imx6_cpu_lowlevel_init(); + + fdt = __dtb_imx6dl_nitrogen6x_start - get_runtime_offset(); + + imx6q_barebox_entry(fdt); +} + +extern char __dtb_imx6qp_nitrogen6_max_start[]; + +ENTRY_FUNCTION(start_imx6qp_nitrogen6_max, r0, r1, r2) +{ + void *fdt; + + imx6_cpu_lowlevel_init(); + + fdt = __dtb_imx6qp_nitrogen6_max_start - get_runtime_offset(); + + imx6q_barebox_entry(fdt); +} diff --git a/arch/arm/boards/boundarydevices-nitrogen6/ram-base.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6/ram-base.imxcfg new file mode 100644 index 0000000..5d67588 --- /dev/null +++ b/arch/arm/boards/boundarydevices-nitrogen6/ram-base.imxcfg @@ -0,0 +1,67 @@ +wm 32 MX6_IOM_DRAM_SDQS0 0x00000030 +wm 32 MX6_IOM_DRAM_SDQS1 0x00000030 +wm 32 MX6_IOM_DRAM_SDQS2 0x00000030 +wm 32 MX6_IOM_DRAM_SDQS3 0x00000030 +wm 32 MX6_IOM_DRAM_SDQS4 0x00000030 +wm 32 MX6_IOM_DRAM_SDQS5 0x00000030 +wm 32 MX6_IOM_DRAM_SDQS6 0x00000030 +wm 32 MX6_IOM_DRAM_SDQS7 0x00000030 + +wm 32 MX6_IOM_GRP_B0DS 0x00000030 +wm 32 MX6_IOM_GRP_B1DS 0x00000030 +wm 32 MX6_IOM_GRP_B2DS 0x00000030 +wm 32 MX6_IOM_GRP_B3DS 0x00000030 +wm 32 MX6_IOM_GRP_B4DS 0x00000030 +wm 32 MX6_IOM_GRP_B5DS 0x00000030 +wm 32 MX6_IOM_GRP_B6DS 0x00000030 +wm 32 MX6_IOM_GRP_B7DS 0x00000030 +wm 32 MX6_IOM_GRP_ADDDS 0x00000030 +/* 40 Ohm drive strength for cs0/1,sdba2,cke0/1,sdwe */ +wm 32 MX6_IOM_GRP_CTLDS 0x00000030 + +wm 32 MX6_IOM_DRAM_DQM0 0x00020030 +wm 32 MX6_IOM_DRAM_DQM1 0x00020030 +wm 32 MX6_IOM_DRAM_DQM2 0x00020030 +wm 32 MX6_IOM_DRAM_DQM3 0x00020030 +wm 32 MX6_IOM_DRAM_DQM4 0x00020030 +wm 32 MX6_IOM_DRAM_DQM5 0x00020030 +wm 32 MX6_IOM_DRAM_DQM6 0x00020030 +wm 32 MX6_IOM_DRAM_DQM7 0x00020030 + +wm 32 MX6_IOM_DRAM_CAS 0x00020030 +wm 32 MX6_IOM_DRAM_RAS 0x00020030 +wm 32 MX6_IOM_DRAM_SDCLK_0 0x00020030 +wm 32 MX6_IOM_DRAM_SDCLK_1 0x00020030 + +wm 32 MX6_IOM_DRAM_RESET 0x00020030 +wm 32 MX6_IOM_DRAM_SDCKE0 0x00003000 +wm 32 MX6_IOM_DRAM_SDCKE1 0x00003000 + +wm 32 MX6_IOM_DRAM_SDODT0 0x00003030 +wm 32 MX6_IOM_DRAM_SDODT1 0x00003030 + +/* (differential input) */ +wm 32 MX6_IOM_DDRMODE_CTL 0x00020000 +/* (differential input) */ +wm 32 MX6_IOM_GRP_DDRMODE 0x00020000 +/* disable ddr pullups */ +wm 32 MX6_IOM_GRP_DDRPKE 0x00000000 +wm 32 MX6_IOM_DRAM_SDBA2 0x00000000 +/* 40 Ohm drive strength for cs0/1,sdba2,cke0/1,sdwe */ +wm 32 MX6_IOM_GRP_DDR_TYPE 0x000C0000 + +/* Read data DQ Byte0-3 delay */ +wm 32 MX6_MMDC_P0_MPRDDQBY0DL 0x33333333 +wm 32 MX6_MMDC_P0_MPRDDQBY1DL 0x33333333 +wm 32 MX6_MMDC_P0_MPRDDQBY2DL 0x33333333 +wm 32 MX6_MMDC_P0_MPRDDQBY3DL 0x33333333 +wm 32 MX6_MMDC_P1_MPRDDQBY0DL 0x33333333 +wm 32 MX6_MMDC_P1_MPRDDQBY1DL 0x33333333 +wm 32 MX6_MMDC_P1_MPRDDQBY2DL 0x33333333 +wm 32 MX6_MMDC_P1_MPRDDQBY3DL 0x33333333 + +/* MDMISC mirroring-off interleaved (row/bank/col) */ +wm 32 MX6_MMDC_P0_MDMISC 0x00001740 + +/* MDSCR con_req */ +wm 32 MX6_MMDC_P0_MDSCR 0x00008000 diff --git a/arch/arm/boards/boundarydevices-nitrogen6x/1066mhz_4x128mx16.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6x/1066mhz_4x128mx16.imxcfg deleted file mode 100644 index c5a286b..0000000 --- a/arch/arm/boards/boundarydevices-nitrogen6x/1066mhz_4x128mx16.imxcfg +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2013 Boundary Devices - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -wm 32 MX6_MMDC_P0_MDPDC 0x00020036 -wm 32 MX6_MMDC_P0_MDCFG0 0x555A7974 -wm 32 MX6_MMDC_P0_MDCFG1 0xDB538F64 -wm 32 MX6_MMDC_P0_MDCFG2 0x01FF00DB -wm 32 MX6_MMDC_P0_MDRWD 0x000026D2 -wm 32 MX6_MMDC_P0_MDOR 0x005A1023 -wm 32 MX6_MMDC_P0_MDOTC 0x09444040 -wm 32 MX6_MMDC_P0_MDPDC 0x00025576 -wm 32 MX6_MMDC_P0_MDASP 0x00000027 -wm 32 MX6_MMDC_P0_MDCTL 0x831A0000 -wm 32 MX6_MMDC_P0_MDSCR 0x04088032 -wm 32 MX6_MMDC_P0_MDSCR 0x00008033 -wm 32 MX6_MMDC_P0_MDSCR 0x00428031 -wm 32 MX6_MMDC_P0_MDSCR 0x19308030 -wm 32 MX6_MMDC_P0_MDSCR 0x04008040 -wm 32 MX6_MMDC_P0_MPZQHWCTRL 0xA1390003 -wm 32 MX6_MMDC_P1_MPZQHWCTRL 0xA1390003 -wm 32 MX6_MMDC_P0_MDREF 0x00005800 -wm 32 MX6_MMDC_P0_MPODTCTRL 0x00022227 -wm 32 MX6_MMDC_P1_MPODTCTRL 0x00022227 -wm 32 MX6_MMDC_P0_MPDGCTRL0 0x42720306 -wm 32 MX6_MMDC_P0_MPDGCTRL1 0x026F0266 -wm 32 MX6_MMDC_P1_MPDGCTRL0 0x4273030A -wm 32 MX6_MMDC_P1_MPDGCTRL1 0x02740240 -wm 32 MX6_MMDC_P0_MPRDDLCTL 0x45393B3E -wm 32 MX6_MMDC_P1_MPRDDLCTL 0x403A3747 -wm 32 MX6_MMDC_P0_MPWRDLCTL 0x40434541 -wm 32 MX6_MMDC_P1_MPWRDLCTL 0x473E4A3B -wm 32 MX6_MMDC_P0_MPWLDECTRL0 0x0011000E -wm 32 MX6_MMDC_P0_MPWLDECTRL1 0x000E001B -wm 32 MX6_MMDC_P1_MPWLDECTRL0 0x00190015 -wm 32 MX6_MMDC_P1_MPWLDECTRL1 0x00070018 -wm 32 MX6_MMDC_P0_MPMUR0 0x00000800 -wm 32 MX6_MMDC_P1_MPMUR0 0x00000800 -wm 32 MX6_MMDC_P0_MDSCR 0x00000000 -wm 32 MX6_MMDC_P0_MAPSR 0x00011006 diff --git a/arch/arm/boards/boundarydevices-nitrogen6x/1066mhz_4x256mx16.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6x/1066mhz_4x256mx16.imxcfg deleted file mode 100644 index 4d8a715..0000000 --- a/arch/arm/boards/boundarydevices-nitrogen6x/1066mhz_4x256mx16.imxcfg +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2013 Boundary Devices - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -wm 32 MX6_MMDC_P0_MDPDC 0x00020036 -wm 32 MX6_MMDC_P0_MDCFG0 0x898E7974 -wm 32 MX6_MMDC_P0_MDCFG1 0xDB538F64 -wm 32 MX6_MMDC_P0_MDCFG2 0x01FF00DB -wm 32 MX6_MMDC_P0_MDRWD 0x000026D2 -wm 32 MX6_MMDC_P0_MDOR 0x008E1023 -wm 32 MX6_MMDC_P0_MDOTC 0x09444040 -wm 32 MX6_MMDC_P0_MDPDC 0x00025576 -wm 32 MX6_MMDC_P0_MDASP 0x00000047 -wm 32 MX6_MMDC_P0_MDCTL 0x841A0000 -wm 32 MX6_MMDC_P0_MDSCR 0x04088032 -wm 32 MX6_MMDC_P0_MDSCR 0x00008033 -wm 32 MX6_MMDC_P0_MDSCR 0x00428031 -wm 32 MX6_MMDC_P0_MDSCR 0x19308030 -wm 32 MX6_MMDC_P0_MDSCR 0x04008040 -wm 32 MX6_MMDC_P0_MPZQHWCTRL 0xA1390003 -wm 32 MX6_MMDC_P1_MPZQHWCTRL 0xA1390003 -wm 32 MX6_MMDC_P0_MDREF 0x00007800 -wm 32 MX6_MMDC_P0_MPODTCTRL 0x00022227 -wm 32 MX6_MMDC_P1_MPODTCTRL 0x00022227 -wm 32 MX6_MMDC_P0_MPDGCTRL0 0x43040319 -wm 32 MX6_MMDC_P0_MPDGCTRL1 0x03040279 -wm 32 MX6_MMDC_P1_MPDGCTRL0 0x43040321 -wm 32 MX6_MMDC_P1_MPDGCTRL1 0x03030251 -wm 32 MX6_MMDC_P0_MPRDDLCTL 0x4d434248 -wm 32 MX6_MMDC_P1_MPRDDLCTL 0x42413c4d -wm 32 MX6_MMDC_P0_MPWRDLCTL 0x34424543 -wm 32 MX6_MMDC_P1_MPWRDLCTL 0x49324933 -wm 32 MX6_MMDC_P0_MPWLDECTRL0 0x001a0017 -wm 32 MX6_MMDC_P0_MPWLDECTRL1 0x001F001F -wm 32 MX6_MMDC_P1_MPWLDECTRL0 0x00170027 -wm 32 MX6_MMDC_P1_MPWLDECTRL1 0x000a001f -wm 32 MX6_MMDC_P0_MPMUR0 0x00000800 -wm 32 MX6_MMDC_P1_MPMUR0 0x00000800 -wm 32 MX6_MMDC_P0_MDSCR 0x00000000 -wm 32 MX6_MMDC_P0_MAPSR 0x00011006 diff --git a/arch/arm/boards/boundarydevices-nitrogen6x/1066mhz_4x512mx16-qp.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6x/1066mhz_4x512mx16-qp.imxcfg deleted file mode 100644 index 6409b74..0000000 --- a/arch/arm/boards/boundarydevices-nitrogen6x/1066mhz_4x512mx16-qp.imxcfg +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (C) 2016 Boundary Devices - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -/* NOC setup */ -wm 32 0x00bb0008 0x00000004 -wm 32 0x00bb000c 0x2891E41A -wm 32 0x00bb0038 0x00000564 -wm 32 0x00bb0014 0x00000040 -wm 32 0x00bb0028 0x00000020 -wm 32 0x00bb002c 0x00000020 - -/* Disable all MMDC arbitration and reordering controls */ -wm 32 0x021b0400 0x14420000 - -wm 32 MX6_MMDC_P0_MDPDC 0x00020036 -wm 32 MX6_MMDC_P0_MDSCR 0x00008000 -wm 32 MX6_MMDC_P0_MDCFG0 0x898E79A4 -wm 32 MX6_MMDC_P0_MDCFG1 0xDB538F64 -wm 32 MX6_MMDC_P0_MDCFG2 0x01FF00DD -wm 32 MX6_MMDC_P0_MDRWD 0x0f9f26d2 -wm 32 MX6_MMDC_P0_MDOR 0x008E1023 -wm 32 MX6_MMDC_P0_MDOTC 0x09444040 -wm 32 MX6_MMDC_P0_MDPDC 0x00025576 -wm 32 MX6_MMDC_P0_MDASP 0x00000047 -wm 32 MX6_MMDC_P0_MDCTL 0xC41A0000 -wm 32 MX6_MMDC_P0_MDSCR 0x04088032 -wm 32 MX6_MMDC_P0_MDSCR 0x0408803a -wm 32 MX6_MMDC_P0_MDSCR 0x00008033 -wm 32 MX6_MMDC_P0_MDSCR 0x0000803b -wm 32 MX6_MMDC_P0_MDSCR 0x00428031 -wm 32 MX6_MMDC_P0_MDSCR 0x00428039 -wm 32 MX6_MMDC_P0_MDSCR 0x19308030 -wm 32 MX6_MMDC_P0_MDSCR 0x19308038 -wm 32 MX6_MMDC_P0_MDSCR 0x04008040 -wm 32 MX6_MMDC_P0_MDSCR 0x04008048 -wm 32 MX6_MMDC_P0_MPZQHWCTRL 0xA1390003 -wm 32 MX6_MMDC_P1_MPZQHWCTRL 0xA1390003 -wm 32 MX6_MMDC_P0_MDREF 0x00007800 -wm 32 MX6_MMDC_P0_MPODTCTRL 0x00022227 -wm 32 MX6_MMDC_P1_MPODTCTRL 0x00022227 -wm 32 MX6_MMDC_P0_MPDGCTRL0 0x4327033b -wm 32 MX6_MMDC_P0_MPDGCTRL1 0x0324031a -wm 32 MX6_MMDC_P1_MPDGCTRL0 0x43240337 -wm 32 MX6_MMDC_P1_MPDGCTRL1 0x03210269 -wm 32 MX6_MMDC_P0_MPRDDLCTL 0x483c3e4a -wm 32 MX6_MMDC_P1_MPRDDLCTL 0x423a3848 -wm 32 MX6_MMDC_P0_MPWRDLCTL 0x33363a2c -wm 32 MX6_MMDC_P1_MPWRDLCTL 0x3e314137 -wm 32 MX6_MMDC_P0_MPWLDECTRL0 0x00200026 -wm 32 MX6_MMDC_P0_MPWLDECTRL1 0x00260021 -wm 32 MX6_MMDC_P1_MPWLDECTRL0 0x00180028 -wm 32 MX6_MMDC_P1_MPWLDECTRL1 0x000f001e -wm 32 MX6_MMDC_P0_MPMUR0 0x00000800 -wm 32 MX6_MMDC_P1_MPMUR0 0x00000800 -wm 32 MX6_MMDC_P0_MDSCR 0x00000000 -wm 32 MX6_MMDC_P0_MAPSR 0x00011006 diff --git a/arch/arm/boards/boundarydevices-nitrogen6x/800mhz_4x128mx16.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6x/800mhz_4x128mx16.imxcfg deleted file mode 100644 index 936a2f5..0000000 --- a/arch/arm/boards/boundarydevices-nitrogen6x/800mhz_4x128mx16.imxcfg +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2013 Boundary Devices - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -wm 32 MX6_MMDC_P0_MDPDC 0x0002002D -wm 32 MX6_MMDC_P0_MDCFG0 0x40435323 -wm 32 MX6_MMDC_P0_MDCFG1 0xB66E8D63 -wm 32 MX6_MMDC_P0_MDCFG2 0x01FF00DB -wm 32 MX6_MMDC_P0_MDRWD 0x000026D2 -wm 32 MX6_MMDC_P0_MDOR 0x00431023 -wm 32 MX6_MMDC_P0_MDOTC 0x00333030 -wm 32 MX6_MMDC_P0_MDPDC 0x0002556D -wm 32 MX6_MMDC_P0_MDASP 0x00000027 -wm 32 MX6_MMDC_P0_MDCTL 0x831A0000 -wm 32 MX6_MMDC_P0_MDSCR 0x04008032 -wm 32 MX6_MMDC_P0_MDSCR 0x00008033 -wm 32 MX6_MMDC_P0_MDSCR 0x00048031 -wm 32 MX6_MMDC_P0_MDSCR 0x13208030 -wm 32 MX6_MMDC_P0_MDSCR 0x04008040 -wm 32 MX6_MMDC_P0_MPZQHWCTRL 0xA1390003 -wm 32 MX6_MMDC_P1_MPZQHWCTRL 0xA1390003 -wm 32 MX6_MMDC_P0_MDREF 0x00005800 -wm 32 MX6_MMDC_P0_MPODTCTRL 0x00022227 -wm 32 MX6_MMDC_P1_MPODTCTRL 0x00022227 -wm 32 MX6_MMDC_P0_MPDGCTRL0 0x420F020F -wm 32 MX6_MMDC_P0_MPDGCTRL1 0x01760175 -wm 32 MX6_MMDC_P1_MPDGCTRL0 0x41640171 -wm 32 MX6_MMDC_P1_MPDGCTRL1 0x015E0160 -wm 32 MX6_MMDC_P0_MPRDDLCTL 0x45464B4A -wm 32 MX6_MMDC_P1_MPRDDLCTL 0x49484A46 -wm 32 MX6_MMDC_P0_MPWRDLCTL 0x40402E32 -wm 32 MX6_MMDC_P1_MPWRDLCTL 0x3A3A3231 -wm 32 MX6_MMDC_P0_MPWLDECTRL0 0x003A003A -wm 32 MX6_MMDC_P0_MPWLDECTRL1 0x0030002F -wm 32 MX6_MMDC_P1_MPWLDECTRL0 0x002F0038 -wm 32 MX6_MMDC_P1_MPWLDECTRL1 0x00270039 -wm 32 MX6_MMDC_P0_MPMUR0 0x00000800 -wm 32 MX6_MMDC_P1_MPMUR0 0x00000800 -wm 32 MX6_MMDC_P0_MDSCR 0x00000000 -wm 32 MX6_MMDC_P0_MAPSR 0x00011006 diff --git a/arch/arm/boards/boundarydevices-nitrogen6x/800mhz_4x256mx16.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6x/800mhz_4x256mx16.imxcfg deleted file mode 100644 index 09c8555..0000000 --- a/arch/arm/boards/boundarydevices-nitrogen6x/800mhz_4x256mx16.imxcfg +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2013 Boundary Devices - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -wm 32 MX6_MMDC_P0_MDPDC 0x0002002D -wm 32 MX6_MMDC_P0_MDCFG0 0x696C5323 -wm 32 MX6_MMDC_P0_MDCFG1 0xB66E8D63 -wm 32 MX6_MMDC_P0_MDCFG2 0x01FF00DB -wm 32 MX6_MMDC_P0_MDRWD 0x000026D2 -wm 32 MX6_MMDC_P0_MDOR 0x006C1023 -wm 32 MX6_MMDC_P0_MDOTC 0x00333030 -wm 32 MX6_MMDC_P0_MDPDC 0x0002556D -wm 32 MX6_MMDC_P0_MDASP 0x00000047 -wm 32 MX6_MMDC_P0_MDCTL 0x841A0000 -wm 32 MX6_MMDC_P0_MDSCR 0x04008032 -wm 32 MX6_MMDC_P0_MDSCR 0x00008033 -wm 32 MX6_MMDC_P0_MDSCR 0x00048031 -wm 32 MX6_MMDC_P0_MDSCR 0x13208030 -wm 32 MX6_MMDC_P0_MDSCR 0x04008040 -wm 32 MX6_MMDC_P0_MPZQHWCTRL 0xA1390003 -wm 32 MX6_MMDC_P1_MPZQHWCTRL 0xA1390003 -wm 32 MX6_MMDC_P0_MDREF 0x00007800 -wm 32 MX6_MMDC_P0_MPODTCTRL 0x00022227 -wm 32 MX6_MMDC_P1_MPODTCTRL 0x00022227 -wm 32 MX6_MMDC_P0_MPDGCTRL0 0x42350231 -wm 32 MX6_MMDC_P0_MPDGCTRL1 0x021A0218 -wm 32 MX6_MMDC_P1_MPDGCTRL0 0x42350231 -wm 32 MX6_MMDC_P1_MPDGCTRL1 0x021A0218 -wm 32 MX6_MMDC_P0_MPRDDLCTL 0x4B4B4E49 -wm 32 MX6_MMDC_P1_MPRDDLCTL 0x4B4B4E49 -wm 32 MX6_MMDC_P0_MPWRDLCTL 0x3F3F3035 -wm 32 MX6_MMDC_P1_MPWRDLCTL 0x3F3F3035 -wm 32 MX6_MMDC_P0_MPWLDECTRL0 0x0040003C -wm 32 MX6_MMDC_P0_MPWLDECTRL1 0x0032003E -wm 32 MX6_MMDC_P1_MPWLDECTRL0 0x0040003C -wm 32 MX6_MMDC_P1_MPWLDECTRL1 0x0032003E -wm 32 MX6_MMDC_P0_MPMUR0 0x00000800 -wm 32 MX6_MMDC_P1_MPMUR0 0x00000800 -wm 32 MX6_MMDC_P0_MDSCR 0x00000000 -wm 32 MX6_MMDC_P0_MAPSR 0x00011006 diff --git a/arch/arm/boards/boundarydevices-nitrogen6x/Makefile b/arch/arm/boards/boundarydevices-nitrogen6x/Makefile deleted file mode 100644 index 0ec04ce..0000000 --- a/arch/arm/boards/boundarydevices-nitrogen6x/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -obj-y += board.o -lwl-y += lowlevel.o diff --git a/arch/arm/boards/boundarydevices-nitrogen6x/board.c b/arch/arm/boards/boundarydevices-nitrogen6x/board.c deleted file mode 100644 index d9514d9..0000000 --- a/arch/arm/boards/boundarydevices-nitrogen6x/board.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (C) 2014 Lucas Stach, Pengutronix - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#include -#include -#include -#include -#include -#include -#include - -static int nitrogen6x_devices_init(void) -{ - if (!of_machine_is_compatible("boundary,imx6dl-nitrogen6x") && - !of_machine_is_compatible("boundary,imx6q-nitrogen6x") && - !of_machine_is_compatible("boundary,imx6qp-nitrogen6_max")) - return 0; - - imx6_bbu_internal_spi_i2c_register_handler("spiflash", "/dev/m25p0.barebox", - BBU_HANDLER_FLAG_DEFAULT); - - if (of_machine_is_compatible("boundary,imx6qp-nitrogen6_max")) - barebox_set_hostname("nitrogen6max"); - else - barebox_set_hostname("nitrogen6x"); - - return 0; -} -device_initcall(nitrogen6x_devices_init); - -static int ksz9021rn_phy_fixup(struct phy_device *dev) -{ - phy_write(dev, 0x09, 0x0f00); - - /* do same as linux kernel */ - /* min rx data delay */ - phy_write(dev, 0x0b, 0x8105); - phy_write(dev, 0x0c, 0x0000); - - /* max rx/tx clock delay, min rx/tx control delay */ - phy_write(dev, 0x0b, 0x8104); - phy_write(dev, 0x0c, 0xf0f0); - phy_write(dev, 0x0b, 0x104); - - return 0; -} - -static int nitrogen6x_coredevices_init(void) -{ - if (!of_machine_is_compatible("boundary,imx6dl-nitrogen6x") && - !of_machine_is_compatible("boundary,imx6q-nitrogen6x") && - !of_machine_is_compatible("boundary,imx6qp-nitrogen6_max")) - return 0; - - phy_register_fixup_for_uid(PHY_ID_KSZ9021, MICREL_PHY_ID_MASK, - ksz9021rn_phy_fixup); - return 0; -} -coredevice_initcall(nitrogen6x_coredevices_init); diff --git a/arch/arm/boards/boundarydevices-nitrogen6x/flash-header-nitrogen6dl-1g.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6x/flash-header-nitrogen6dl-1g.imxcfg deleted file mode 100644 index 0773f4d..0000000 --- a/arch/arm/boards/boundarydevices-nitrogen6x/flash-header-nitrogen6dl-1g.imxcfg +++ /dev/null @@ -1,10 +0,0 @@ -soc imx6 -loadaddr 0x20000000 -dcdofs 0x400 - -#include -#include -#include - -#include "ram-base.imxcfg" -#include "800mhz_4x128mx16.imxcfg" diff --git a/arch/arm/boards/boundarydevices-nitrogen6x/flash-header-nitrogen6dl-2g.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6x/flash-header-nitrogen6dl-2g.imxcfg deleted file mode 100644 index 6622c51..0000000 --- a/arch/arm/boards/boundarydevices-nitrogen6x/flash-header-nitrogen6dl-2g.imxcfg +++ /dev/null @@ -1,10 +0,0 @@ -soc imx6 -loadaddr 0x20000000 -dcdofs 0x400 - -#include -#include -#include - -#include "ram-base.imxcfg" -#include "800mhz_4x256mx16.imxcfg" diff --git a/arch/arm/boards/boundarydevices-nitrogen6x/flash-header-nitrogen6q-1g.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6x/flash-header-nitrogen6q-1g.imxcfg deleted file mode 100644 index bd4134f..0000000 --- a/arch/arm/boards/boundarydevices-nitrogen6x/flash-header-nitrogen6q-1g.imxcfg +++ /dev/null @@ -1,10 +0,0 @@ -soc imx6 -loadaddr 0x20000000 -dcdofs 0x400 - -#include -#include -#include - -#include "ram-base.imxcfg" -#include "1066mhz_4x128mx16.imxcfg" diff --git a/arch/arm/boards/boundarydevices-nitrogen6x/flash-header-nitrogen6q-2g.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6x/flash-header-nitrogen6q-2g.imxcfg deleted file mode 100644 index 89aa21c..0000000 --- a/arch/arm/boards/boundarydevices-nitrogen6x/flash-header-nitrogen6q-2g.imxcfg +++ /dev/null @@ -1,10 +0,0 @@ -soc imx6 -loadaddr 0x20000000 -dcdofs 0x400 - -#include -#include -#include - -#include "ram-base.imxcfg" -#include "1066mhz_4x256mx16.imxcfg" diff --git a/arch/arm/boards/boundarydevices-nitrogen6x/flash-header-nitrogen6qp-max.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6x/flash-header-nitrogen6qp-max.imxcfg deleted file mode 100644 index 66f0e1a..0000000 --- a/arch/arm/boards/boundarydevices-nitrogen6x/flash-header-nitrogen6qp-max.imxcfg +++ /dev/null @@ -1,10 +0,0 @@ -soc imx6 -loadaddr 0x20000000 -dcdofs 0x400 - -#include -#include -#include - -#include "ram-base.imxcfg" -#include "1066mhz_4x512mx16-qp.imxcfg" diff --git a/arch/arm/boards/boundarydevices-nitrogen6x/lowlevel.c b/arch/arm/boards/boundarydevices-nitrogen6x/lowlevel.c deleted file mode 100644 index bee70a5..0000000 --- a/arch/arm/boards/boundarydevices-nitrogen6x/lowlevel.c +++ /dev/null @@ -1,65 +0,0 @@ -#include -#include -#include -#include - -extern char __dtb_imx6q_nitrogen6x_start[]; - -ENTRY_FUNCTION(start_imx6q_nitrogen6x_1g, r0, r1, r2) -{ - void *fdt; - - imx6_cpu_lowlevel_init(); - - fdt = __dtb_imx6q_nitrogen6x_start - get_runtime_offset(); - - imx6q_barebox_entry(fdt); -} - -ENTRY_FUNCTION(start_imx6q_nitrogen6x_2g, r0, r1, r2) -{ - void *fdt; - - imx6_cpu_lowlevel_init(); - - fdt = __dtb_imx6q_nitrogen6x_start - get_runtime_offset(); - - imx6q_barebox_entry(fdt); -} - -extern char __dtb_imx6dl_nitrogen6x_start[]; - -ENTRY_FUNCTION(start_imx6dl_nitrogen6x_1g, r0, r1, r2) -{ - void *fdt; - - imx6_cpu_lowlevel_init(); - - fdt = __dtb_imx6dl_nitrogen6x_start - get_runtime_offset(); - - imx6q_barebox_entry(fdt); -} - -ENTRY_FUNCTION(start_imx6dl_nitrogen6x_2g, r0, r1, r2) -{ - void *fdt; - - imx6_cpu_lowlevel_init(); - - fdt = __dtb_imx6dl_nitrogen6x_start - get_runtime_offset(); - - imx6q_barebox_entry(fdt); -} - -extern char __dtb_imx6qp_nitrogen6_max_start[]; - -ENTRY_FUNCTION(start_imx6qp_nitrogen6_max, r0, r1, r2) -{ - void *fdt; - - imx6_cpu_lowlevel_init(); - - fdt = __dtb_imx6qp_nitrogen6_max_start - get_runtime_offset(); - - imx6q_barebox_entry(fdt); -} diff --git a/arch/arm/boards/boundarydevices-nitrogen6x/ram-base.imxcfg b/arch/arm/boards/boundarydevices-nitrogen6x/ram-base.imxcfg deleted file mode 100644 index 5d67588..0000000 --- a/arch/arm/boards/boundarydevices-nitrogen6x/ram-base.imxcfg +++ /dev/null @@ -1,67 +0,0 @@ -wm 32 MX6_IOM_DRAM_SDQS0 0x00000030 -wm 32 MX6_IOM_DRAM_SDQS1 0x00000030 -wm 32 MX6_IOM_DRAM_SDQS2 0x00000030 -wm 32 MX6_IOM_DRAM_SDQS3 0x00000030 -wm 32 MX6_IOM_DRAM_SDQS4 0x00000030 -wm 32 MX6_IOM_DRAM_SDQS5 0x00000030 -wm 32 MX6_IOM_DRAM_SDQS6 0x00000030 -wm 32 MX6_IOM_DRAM_SDQS7 0x00000030 - -wm 32 MX6_IOM_GRP_B0DS 0x00000030 -wm 32 MX6_IOM_GRP_B1DS 0x00000030 -wm 32 MX6_IOM_GRP_B2DS 0x00000030 -wm 32 MX6_IOM_GRP_B3DS 0x00000030 -wm 32 MX6_IOM_GRP_B4DS 0x00000030 -wm 32 MX6_IOM_GRP_B5DS 0x00000030 -wm 32 MX6_IOM_GRP_B6DS 0x00000030 -wm 32 MX6_IOM_GRP_B7DS 0x00000030 -wm 32 MX6_IOM_GRP_ADDDS 0x00000030 -/* 40 Ohm drive strength for cs0/1,sdba2,cke0/1,sdwe */ -wm 32 MX6_IOM_GRP_CTLDS 0x00000030 - -wm 32 MX6_IOM_DRAM_DQM0 0x00020030 -wm 32 MX6_IOM_DRAM_DQM1 0x00020030 -wm 32 MX6_IOM_DRAM_DQM2 0x00020030 -wm 32 MX6_IOM_DRAM_DQM3 0x00020030 -wm 32 MX6_IOM_DRAM_DQM4 0x00020030 -wm 32 MX6_IOM_DRAM_DQM5 0x00020030 -wm 32 MX6_IOM_DRAM_DQM6 0x00020030 -wm 32 MX6_IOM_DRAM_DQM7 0x00020030 - -wm 32 MX6_IOM_DRAM_CAS 0x00020030 -wm 32 MX6_IOM_DRAM_RAS 0x00020030 -wm 32 MX6_IOM_DRAM_SDCLK_0 0x00020030 -wm 32 MX6_IOM_DRAM_SDCLK_1 0x00020030 - -wm 32 MX6_IOM_DRAM_RESET 0x00020030 -wm 32 MX6_IOM_DRAM_SDCKE0 0x00003000 -wm 32 MX6_IOM_DRAM_SDCKE1 0x00003000 - -wm 32 MX6_IOM_DRAM_SDODT0 0x00003030 -wm 32 MX6_IOM_DRAM_SDODT1 0x00003030 - -/* (differential input) */ -wm 32 MX6_IOM_DDRMODE_CTL 0x00020000 -/* (differential input) */ -wm 32 MX6_IOM_GRP_DDRMODE 0x00020000 -/* disable ddr pullups */ -wm 32 MX6_IOM_GRP_DDRPKE 0x00000000 -wm 32 MX6_IOM_DRAM_SDBA2 0x00000000 -/* 40 Ohm drive strength for cs0/1,sdba2,cke0/1,sdwe */ -wm 32 MX6_IOM_GRP_DDR_TYPE 0x000C0000 - -/* Read data DQ Byte0-3 delay */ -wm 32 MX6_MMDC_P0_MPRDDQBY0DL 0x33333333 -wm 32 MX6_MMDC_P0_MPRDDQBY1DL 0x33333333 -wm 32 MX6_MMDC_P0_MPRDDQBY2DL 0x33333333 -wm 32 MX6_MMDC_P0_MPRDDQBY3DL 0x33333333 -wm 32 MX6_MMDC_P1_MPRDDQBY0DL 0x33333333 -wm 32 MX6_MMDC_P1_MPRDDQBY1DL 0x33333333 -wm 32 MX6_MMDC_P1_MPRDDQBY2DL 0x33333333 -wm 32 MX6_MMDC_P1_MPRDDQBY3DL 0x33333333 - -/* MDMISC mirroring-off interleaved (row/bank/col) */ -wm 32 MX6_MMDC_P0_MDMISC 0x00001740 - -/* MDSCR con_req */ -wm 32 MX6_MMDC_P0_MDSCR 0x00008000 diff --git a/arch/arm/configs/imx_v7_defconfig b/arch/arm/configs/imx_v7_defconfig index 8594965..e3a8f47 100644 --- a/arch/arm/configs/imx_v7_defconfig +++ b/arch/arm/configs/imx_v7_defconfig @@ -18,7 +18,7 @@ CONFIG_MACH_SABRELITE=y CONFIG_MACH_SABRESD=y CONFIG_MACH_FREESCALE_IMX6SX_SABRESDB=y -CONFIG_MACH_NITROGEN6X=y +CONFIG_MACH_NITROGEN6=y CONFIG_MACH_SOLIDRUN_MICROSOM=y CONFIG_MACH_TECHNEXION_WANDBOARD=y CONFIG_MACH_EMBEST_RIOTBOARD=y diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 7a59402..09bf68e 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -29,7 +29,7 @@ pbl-dtb-$(CONFIG_MACH_LENOVO_IX4_300D) += armada-xp-lenovo-ix4-300d-bb.dtb.o pbl-dtb-$(CONFIG_MACH_MARVELL_ARMADA_XP_GP) += armada-xp-gp-bb.dtb.o pbl-dtb-$(CONFIG_MACH_NETGEAR_RN104) += armada-370-rn104-bb.dtb.o -pbl-dtb-$(CONFIG_MACH_NITROGEN6X) += imx6q-nitrogen6x.dtb.o imx6dl-nitrogen6x.dtb.o imx6qp-nitrogen6_max.dtb.o +pbl-dtb-$(CONFIG_MACH_NITROGEN6) += imx6q-nitrogen6x.dtb.o imx6dl-nitrogen6x.dtb.o imx6qp-nitrogen6_max.dtb.o pbl-dtb-$(CONFIG_MACH_NVIDIA_BEAVER) += tegra30-beaver.dtb.o pbl-dtb-$(CONFIG_MACH_NVIDIA_JETSON) += tegra124-jetson-tk1.dtb.o pbl-dtb-$(CONFIG_MACH_PCA100) += imx27-phytec-phycard-s-rdk-bb.dtb.o diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 80f8fd8..82fc945 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig @@ -279,8 +279,8 @@ select I2C select I2C_IMX -config MACH_NITROGEN6X - bool "BoundaryDevices Nitrogen6x" +config MACH_NITROGEN6 + bool "BoundaryDevices Nitrogen6 boards" select ARCH_IMX6 config MACH_SOLIDRUN_MICROSOM diff --git a/images/Makefile.imx b/images/Makefile.imx index 166bb8e..b02fdff 100644 --- a/images/Makefile.imx +++ b/images/Makefile.imx @@ -268,30 +268,30 @@ FILE_barebox-solidrun-hummingboard-microsom-i4.img = start_hummingboard_microsom_i4.pblx.imximg image-$(CONFIG_MACH_SOLIDRUN_MICROSOM) += barebox-solidrun-hummingboard-microsom-i4.img -pblx-$(CONFIG_MACH_NITROGEN6X) += start_imx6q_nitrogen6x_1g -CFG_start_imx6q_nitrogen6x_1g.pblx.imximg = $(board)/boundarydevices-nitrogen6x/flash-header-nitrogen6q-1g.imxcfg +pblx-$(CONFIG_MACH_NITROGEN6) += start_imx6q_nitrogen6x_1g +CFG_start_imx6q_nitrogen6x_1g.pblx.imximg = $(board)/boundarydevices-nitrogen6/flash-header-nitrogen6q-1g.imxcfg FILE_barebox-boundarydevices-imx6q-nitrogen6x-1g.img = start_imx6q_nitrogen6x_1g.pblx.imximg -image-$(CONFIG_MACH_NITROGEN6X) += barebox-boundarydevices-imx6q-nitrogen6x-1g.img +image-$(CONFIG_MACH_NITROGEN6) += barebox-boundarydevices-imx6q-nitrogen6x-1g.img -pblx-$(CONFIG_MACH_NITROGEN6X) += start_imx6q_nitrogen6x_2g -CFG_start_imx6q_nitrogen6x_2g.pblx.imximg = $(board)/boundarydevices-nitrogen6x/flash-header-nitrogen6q-2g.imxcfg +pblx-$(CONFIG_MACH_NITROGEN6) += start_imx6q_nitrogen6x_2g +CFG_start_imx6q_nitrogen6x_2g.pblx.imximg = $(board)/boundarydevices-nitrogen6/flash-header-nitrogen6q-2g.imxcfg FILE_barebox-boundarydevices-imx6q-nitrogen6x-2g.img = start_imx6q_nitrogen6x_2g.pblx.imximg -image-$(CONFIG_MACH_NITROGEN6X) += barebox-boundarydevices-imx6q-nitrogen6x-2g.img +image-$(CONFIG_MACH_NITROGEN6) += barebox-boundarydevices-imx6q-nitrogen6x-2g.img -pblx-$(CONFIG_MACH_NITROGEN6X) += start_imx6dl_nitrogen6x_1g -CFG_start_imx6dl_nitrogen6x_1g.pblx.imximg = $(board)/boundarydevices-nitrogen6x/flash-header-nitrogen6dl-1g.imxcfg +pblx-$(CONFIG_MACH_NITROGEN6) += start_imx6dl_nitrogen6x_1g +CFG_start_imx6dl_nitrogen6x_1g.pblx.imximg = $(board)/boundarydevices-nitrogen6/flash-header-nitrogen6dl-1g.imxcfg FILE_barebox-boundarydevices-imx6dl-nitrogen6x-1g.img = start_imx6dl_nitrogen6x_1g.pblx.imximg -image-$(CONFIG_MACH_NITROGEN6X) += barebox-boundarydevices-imx6dl-nitrogen6x-1g.img +image-$(CONFIG_MACH_NITROGEN6) += barebox-boundarydevices-imx6dl-nitrogen6x-1g.img -pblx-$(CONFIG_MACH_NITROGEN6X) += start_imx6dl_nitrogen6x_2g -CFG_start_imx6dl_nitrogen6x_2g.pblx.imximg = $(board)/boundarydevices-nitrogen6x/flash-header-nitrogen6dl-2g.imxcfg +pblx-$(CONFIG_MACH_NITROGEN6) += start_imx6dl_nitrogen6x_2g +CFG_start_imx6dl_nitrogen6x_2g.pblx.imximg = $(board)/boundarydevices-nitrogen6/flash-header-nitrogen6dl-2g.imxcfg FILE_barebox-boundarydevices-imx6dl-nitrogen6x-2g.img = start_imx6dl_nitrogen6x_2g.pblx.imximg -image-$(CONFIG_MACH_NITROGEN6X) += barebox-boundarydevices-imx6dl-nitrogen6x-2g.img +image-$(CONFIG_MACH_NITROGEN6) += barebox-boundarydevices-imx6dl-nitrogen6x-2g.img -pblx-$(CONFIG_MACH_NITROGEN6X) += start_imx6qp_nitrogen6_max -CFG_start_imx6qp_nitrogen6_max.pblx.imximg = $(board)/boundarydevices-nitrogen6x/flash-header-nitrogen6qp-max.imxcfg +pblx-$(CONFIG_MACH_NITROGEN6) += start_imx6qp_nitrogen6_max +CFG_start_imx6qp_nitrogen6_max.pblx.imximg = $(board)/boundarydevices-nitrogen6/flash-header-nitrogen6qp-max.imxcfg FILE_barebox-boundarydevices-imx6qp-nitrogen6_max.img = start_imx6qp_nitrogen6_max.pblx.imximg -image-$(CONFIG_MACH_NITROGEN6X) += barebox-boundarydevices-imx6qp-nitrogen6_max.img +image-$(CONFIG_MACH_NITROGEN6) += barebox-boundarydevices-imx6qp-nitrogen6_max.img pblx-$(CONFIG_MACH_TX6X) += start_imx6dl_tx6x_512m CFG_start_imx6dl_tx6x_512m.pblx.imximg = $(board)/karo-tx6x/flash-header-tx6dl-512m.imxcfg