Re: [U-Boot] [PATCH] imx: i.mx6q: add the initial support for LogicPD i.MX6Q SOM
On Wed, Mar 22, 2017 at 7:27 PM, Tom Riniwrote: > On Wed, Mar 22, 2017 at 05:07:02PM -0500, Adam Ford wrote: > >> Logic PD has an i.MX6Q system on module (SOM) with a development kit. >> This have been verified to boot the i.MX6Q version over either SD >> on the development kit or NAND built into the SOM. >> [snip] > >> + "fdt_high=0x\0" \ >> + "initrd_high=0x\0" \ > > I'm really really not a fan of disabling these relocations, please use > bootm_size to tell U-Boot where to make sure everything resides without > overlap. Also, distro boot? If I remove "initrd_high" then the booting with a RAM Disk fails even when I define bootm_size. I have looked at several i.MX6 boards, and it seems like the ones with RAM Disk options have this parameter. I am sure what distro boot is. Can you elaborate? > > [snip] >> +# define MTDPARTS_DEFAULT"mtdparts=gpmi-nand:4m(uboot)," \ >> + "1m(env),8m(kernel),1m(dtb),-(fs)" > > Are you really sure all of these sizes are what you can live with for a > long long time? That kernel size feels small. I defined the kernel to 8m based on the vast majority of the other i.MX6 boards, but I can see your point. I think I will just aim high and go for 16. This has plenty of NAND. > > Thanks! > Thank you for the feedback. adam > -- > Tom ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH] imx: i.mx6q: add the initial support for LogicPD i.MX6Q SOM
On Fri, Mar 24, 2017 at 6:09 AM, Stefano Babicwrote: > Hi Adam, > > On 22/03/2017 23:07, Adam Ford wrote: >> Logic PD has an i.MX6Q system on module (SOM) with a development kit. >> This have been verified to boot the i.MX6Q version over either SD >> on the development kit or NAND built into the SOM. > > A short list of supported peripherals (Ethernet,..) will help. See > commits of other i.MX6 boards. > >> >> Signed-off-by: Adam Ford >> >> diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig >> index 190e5c6..059d905 100644 >> --- a/arch/arm/cpu/armv7/mx6/Kconfig >> +++ b/arch/arm/cpu/armv7/mx6/Kconfig >> @@ -367,6 +367,13 @@ config TARGET_ZC5601 >> select DM >> select DM_THERMAL >> >> +config TARGET_MX6LOGICPD >> + bool "mx6logicpd" >> + select BOARD_LATE_INIT >> + select DM >> + select DM_THERMAL >> + select BOARD_EARLY_INIT_F >> + >> endchoice >> >> config SYS_SOC >> @@ -415,5 +422,6 @@ source "board/udoo/Kconfig" >> source "board/udoo/neo/Kconfig" >> source "board/wandboard/Kconfig" >> source "board/warp/Kconfig" >> +source "board/logicpd/imx6/Kconfig" >> >> endif >> diff --git a/board/logicpd/imx6/Kconfig b/board/logicpd/imx6/Kconfig >> new file mode 100644 >> index 000..f5e2f58 >> --- /dev/null >> +++ b/board/logicpd/imx6/Kconfig >> @@ -0,0 +1,12 @@ >> +if TARGET_MX6LOGICPD >> + >> +config SYS_BOARD >> + default "imx6" >> + >> +config SYS_VENDOR >> + default "logicpd" >> + >> +config SYS_CONFIG_NAME >> + default "imx6_logic" >> + >> +endif >> diff --git a/board/logicpd/imx6/MAINTAINERS b/board/logicpd/imx6/MAINTAINERS >> new file mode 100644 >> index 000..5db7d2c >> --- /dev/null >> +++ b/board/logicpd/imx6/MAINTAINERS >> @@ -0,0 +1,6 @@ >> +MX6LOGICPD BOARD >> +M: Adam Ford >> +S: Maintained >> +F: board/logicpd/imx6/ >> +F: include/configs/imx6_logic.h >> +F: configs/imx6q_logic_defconfig >> diff --git a/board/logicpd/imx6/Makefile b/board/logicpd/imx6/Makefile >> new file mode 100644 >> index 000..397bc5e >> --- /dev/null >> +++ b/board/logicpd/imx6/Makefile >> @@ -0,0 +1,11 @@ >> +# >> +# Copyright (C) 2007, Guennadi Liakhovetski >> +# >> +# (C) Copyright 2011 Freescale Semiconductor, Inc. >> +# >> +# SPDX-License-Identifier: GPL-2.0+ >> +# >> + >> +obj-y := imx6logic.o >> +obj-$(CONFIG_POWER_PFUZE100) += ../../freescale/common/pfuze.o >> + >> diff --git a/board/logicpd/imx6/README b/board/logicpd/imx6/README >> new file mode 100644 >> index 000..5814b9d >> --- /dev/null >> +++ b/board/logicpd/imx6/README >> @@ -0,0 +1,103 @@ >> +How to use and build U-Boot on mx6sabresd: >> +-- >> + >> +Currently there are three methods for booting mx6sabresd boards: >> + > > We already know how to boot sabresd - what about your board ? > > I do not see support for SPL. > > You should also add explanation how to install U-Boot into the NAND. > >> +1. Booting via Normal U-Boot (u-boot.imx) >> + >> +2. Booting via SPL (SPL and u-boot.img) >> + >> +3. Booting via Falcon mode (SPL launches the kernel directly) >> + >> + >> +1. Booting via Normal U-Boot >> + >> + >> +$ make mx6qsabresd_defconfig (If you want to build for mx6qsabresd) >> + >> +or >> + >> +$ make mx6dlsabresd_defconfig (If you want to build for mx6dlsabresd) >> + >> +$ make >> + >> +This will generate the image called u-boot.imx. >> + >> +- Flash the u-boot.imx binary into the SD card: >> + >> +$ sudo dd if=u-boot.imx of=/dev/sdb bs=1K seek=1 && sync >> + >> + >> +2. Booting via SPL >> +-- >> + >> +Other method for building U-Boot on mx6qsabresd and mx6qpsabresd is >> +through SPL. In order to do so: >> + >> +$ make mx6sabresd_spl_defconfig >> +$ make >> + >> +This will generate the SPL image called SPL and the u-boot.img. >> + >> +- Flash the SPL image into the SD card: >> + >> +$ sudo dd if=SPL of=/dev/sdb bs=1K seek=1 && sync >> + >> +- Flash the u-boot.img image into the SD card: >> + >> +$ sudo dd if=u-boot.img of=/dev/sdbbs=1K seek=69 && sync >> + >> + >> +3. Booting via Falcon mode >> +-- >> + >> +$ make mx6sabresd_spl_defconfig >> +$ make >> + >> +This will generate the SPL image called SPL and the u-boot.img. >> + >> +- Flash the SPL image into the SD card: >> + >> +$ sudo dd if=SPL of=/dev/sdb bs=1K seek=1 oflag=sync status=none && sync >> + >> +- Flash the u-boot.img image into the SD card: >> + >> +$ sudo dd if=u-boot.img of=/dev/sdbbs=1K seek=69 oflag=sync status=none && >> sync >> + >> +Create a partition for root file system and extract it there: >> + >> +$ sudo tar xvf rootfs.tar.gz -C /media/root >> + >> +The SD card must have enough space for raw "args" and "kernel". >> +To configure Falcon mode for the first time, on U-Boot do the following >> commands: >> + >> +- Setup the IP server: >> + >> +# setenv serverip >> + >> +- Download dtb
Re: [U-Boot] [PATCH] imx: i.mx6q: add the initial support for LogicPD i.MX6Q SOM
Hi Adam, On 22/03/2017 23:07, Adam Ford wrote: > Logic PD has an i.MX6Q system on module (SOM) with a development kit. > This have been verified to boot the i.MX6Q version over either SD > on the development kit or NAND built into the SOM. A short list of supported peripherals (Ethernet,..) will help. See commits of other i.MX6 boards. > > Signed-off-by: Adam Ford> > diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig > index 190e5c6..059d905 100644 > --- a/arch/arm/cpu/armv7/mx6/Kconfig > +++ b/arch/arm/cpu/armv7/mx6/Kconfig > @@ -367,6 +367,13 @@ config TARGET_ZC5601 > select DM > select DM_THERMAL > > +config TARGET_MX6LOGICPD > + bool "mx6logicpd" > + select BOARD_LATE_INIT > + select DM > + select DM_THERMAL > + select BOARD_EARLY_INIT_F > + > endchoice > > config SYS_SOC > @@ -415,5 +422,6 @@ source "board/udoo/Kconfig" > source "board/udoo/neo/Kconfig" > source "board/wandboard/Kconfig" > source "board/warp/Kconfig" > +source "board/logicpd/imx6/Kconfig" > > endif > diff --git a/board/logicpd/imx6/Kconfig b/board/logicpd/imx6/Kconfig > new file mode 100644 > index 000..f5e2f58 > --- /dev/null > +++ b/board/logicpd/imx6/Kconfig > @@ -0,0 +1,12 @@ > +if TARGET_MX6LOGICPD > + > +config SYS_BOARD > + default "imx6" > + > +config SYS_VENDOR > + default "logicpd" > + > +config SYS_CONFIG_NAME > + default "imx6_logic" > + > +endif > diff --git a/board/logicpd/imx6/MAINTAINERS b/board/logicpd/imx6/MAINTAINERS > new file mode 100644 > index 000..5db7d2c > --- /dev/null > +++ b/board/logicpd/imx6/MAINTAINERS > @@ -0,0 +1,6 @@ > +MX6LOGICPD BOARD > +M: Adam Ford > +S: Maintained > +F: board/logicpd/imx6/ > +F: include/configs/imx6_logic.h > +F: configs/imx6q_logic_defconfig > diff --git a/board/logicpd/imx6/Makefile b/board/logicpd/imx6/Makefile > new file mode 100644 > index 000..397bc5e > --- /dev/null > +++ b/board/logicpd/imx6/Makefile > @@ -0,0 +1,11 @@ > +# > +# Copyright (C) 2007, Guennadi Liakhovetski > +# > +# (C) Copyright 2011 Freescale Semiconductor, Inc. > +# > +# SPDX-License-Identifier: GPL-2.0+ > +# > + > +obj-y := imx6logic.o > +obj-$(CONFIG_POWER_PFUZE100) += ../../freescale/common/pfuze.o > + > diff --git a/board/logicpd/imx6/README b/board/logicpd/imx6/README > new file mode 100644 > index 000..5814b9d > --- /dev/null > +++ b/board/logicpd/imx6/README > @@ -0,0 +1,103 @@ > +How to use and build U-Boot on mx6sabresd: > +-- > + > +Currently there are three methods for booting mx6sabresd boards: > + We already know how to boot sabresd - what about your board ? I do not see support for SPL. You should also add explanation how to install U-Boot into the NAND. > +1. Booting via Normal U-Boot (u-boot.imx) > + > +2. Booting via SPL (SPL and u-boot.img) > + > +3. Booting via Falcon mode (SPL launches the kernel directly) > + > + > +1. Booting via Normal U-Boot > + > + > +$ make mx6qsabresd_defconfig (If you want to build for mx6qsabresd) > + > +or > + > +$ make mx6dlsabresd_defconfig (If you want to build for mx6dlsabresd) > + > +$ make > + > +This will generate the image called u-boot.imx. > + > +- Flash the u-boot.imx binary into the SD card: > + > +$ sudo dd if=u-boot.imx of=/dev/sdb bs=1K seek=1 && sync > + > + > +2. Booting via SPL > +-- > + > +Other method for building U-Boot on mx6qsabresd and mx6qpsabresd is > +through SPL. In order to do so: > + > +$ make mx6sabresd_spl_defconfig > +$ make > + > +This will generate the SPL image called SPL and the u-boot.img. > + > +- Flash the SPL image into the SD card: > + > +$ sudo dd if=SPL of=/dev/sdb bs=1K seek=1 && sync > + > +- Flash the u-boot.img image into the SD card: > + > +$ sudo dd if=u-boot.img of=/dev/sdbbs=1K seek=69 && sync > + > + > +3. Booting via Falcon mode > +-- > + > +$ make mx6sabresd_spl_defconfig > +$ make > + > +This will generate the SPL image called SPL and the u-boot.img. > + > +- Flash the SPL image into the SD card: > + > +$ sudo dd if=SPL of=/dev/sdb bs=1K seek=1 oflag=sync status=none && sync > + > +- Flash the u-boot.img image into the SD card: > + > +$ sudo dd if=u-boot.img of=/dev/sdbbs=1K seek=69 oflag=sync status=none && > sync > + > +Create a partition for root file system and extract it there: > + > +$ sudo tar xvf rootfs.tar.gz -C /media/root > + > +The SD card must have enough space for raw "args" and "kernel". > +To configure Falcon mode for the first time, on U-Boot do the following > commands: > + > +- Setup the IP server: > + > +# setenv serverip > + > +- Download dtb file: > + > +# dhcp ${fdt_addr} imx6q-sabresd.dtb > + > +- Download kernel image: > + > +# dhcp ${loadaddr} uImage > + > +- Write kernel at 2MB offset: > + > +# mmc write ${loadaddr} 0x1000 0x4000 > + > +- Setup kernel bootargs: > + > +# setenv
Re: [U-Boot] [PATCH] imx: i.mx6q: add the initial support for LogicPD i.MX6Q SOM
On Wed, Mar 22, 2017 at 05:07:02PM -0500, Adam Ford wrote: > Logic PD has an i.MX6Q system on module (SOM) with a development kit. > This have been verified to boot the i.MX6Q version over either SD > on the development kit or NAND built into the SOM. > > Signed-off-by: Adam Ford> > diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig > index 190e5c6..059d905 100644 > --- a/arch/arm/cpu/armv7/mx6/Kconfig > +++ b/arch/arm/cpu/armv7/mx6/Kconfig > @@ -367,6 +367,13 @@ config TARGET_ZC5601 > select DM > select DM_THERMAL > > +config TARGET_MX6LOGICPD > + bool "mx6logicpd" > + select BOARD_LATE_INIT > + select DM > + select DM_THERMAL > + select BOARD_EARLY_INIT_F Please sort this as well. [snip] > +Currently there are three methods for booting mx6sabresd boards: > diff --git a/board/logicpd/imx6/imx6logic.c b/board/logicpd/imx6/imx6logic.c > new file mode 100644 > index 000..18ec9a1 > --- /dev/null > +++ b/board/logicpd/imx6/imx6logic.c > @@ -0,0 +1,364 @@ > +/* > + * Copyright (C) 2017 Logic PD, Inc. > + * > + * Author: Adam Ford ... based on board/.../ since I assume you copied mx6sabresd here as well :) [snip] > +int board_late_init(void) > +{ > +#ifdef CONFIG_CMD_BMODE > + add_board_boot_modes(board_boot_modes); > +#endif > +#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG > + setenv("board_name", "imx6_logicpd"); > + > + if (is_mx6dqp()) { > + setenv("board_rev", "MX6QP"); > + setenv("fdt_file", "imx6q-logicpd.dtb"); > + } > + else if (is_mx6dq()) { > + setenv("board_rev", "MX6Q"); > + setenv("fdt_file", "imx6q-logicpd.dtb"); > + } > + else if (is_mx6sdl()) { > + setenv("board_rev", "MX6DL"); > + setenv("fdt_file", "imx6sdl-logicpd.dtb"); > + } > + else if (is_mx6solo()) { > + setenv("board_rev", "MX6SOLO"); > + setenv("fdt_file", "imx6sdl-logicpd.dtb"); > + } > +#endif Do all of these variations exist? > diff --git a/include/configs/imx6_logic.h b/include/configs/imx6_logic.h > new file mode 100644 > index 000..556cad2 > --- /dev/null > +++ b/include/configs/imx6_logic.h > @@ -0,0 +1,194 @@ > +/* > + * Copyright (C) 2017 Logic PD, Inc. > + * > + * Configuration settings for the LogicPD i.MX6 SOM. > + * > + * SPDX-License-Identifier:GPL-2.0+ > + */ > + > +#ifndef __IMX6LOGIC_CONFIG_H > +#define __IMX6LOGIC_CONFIG_H > + > +#define CONFIG_MACH_TYPE 3980 New board, we should not need MACH_TYPE and I bet that's not the "real" one for your brand new board. > + "fdt_high=0x\0" \ > + "initrd_high=0x\0" \ I'm really really not a fan of disabling these relocations, please use bootm_size to tell U-Boot where to make sure everything resides without overlap. Also, distro boot? [snip] > +# define MTDPARTS_DEFAULT"mtdparts=gpmi-nand:4m(uboot)," \ > + "1m(env),8m(kernel),1m(dtb),-(fs)" Are you really sure all of these sizes are what you can live with for a long long time? That kernel size feels small. Thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH] imx: i.mx6q: add the initial support for LogicPD i.MX6Q SOM
Hi Adam, On Wed, Mar 22, 2017 at 7:07 PM, Adam Fordwrote: config SYS_SOC > @@ -415,5 +422,6 @@ source "board/udoo/Kconfig" > source "board/udoo/neo/Kconfig" > source "board/wandboard/Kconfig" > source "board/warp/Kconfig" > +source "board/logicpd/imx6/Kconfig" Alphabetical order, please. > --- /dev/null > +++ b/board/logicpd/imx6/README > @@ -0,0 +1,103 @@ > +How to use and build U-Boot on mx6sabresd: > +-- > + > +Currently there are three methods for booting mx6sabresd boards: Looks like you forgot to change the board name here :-) > +iomux_v3_cfg_t const nand_pads[] = { static > +//Control: > +DATA 4 0x020e057c 0x0030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_RESET > +DATA 4 0x020e058c 0x // IOMUXC_SW_PAD_CTL_PAD_DRAM_SDBA2 - DSE can > be configured using Group Control Register: IOMUXC_SW_PAD_CTL_GRP_CTLDS > +DATA 4 0x020e059c 0x0030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_SDODT0 > +DATA 4 0x020e05a0 0x0030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_SDODT1 > +DATA 4 0x020e078c 0x0030 // IOMUXC_SW_PAD_CTL_GRP_CTLDS > + > +//Data Strobes: Better avoid // notation. You could use /* comment */ instead. Make sure you run checkpatch.pl. > +DATA 4 0x020e0750 0x0002 // IOMUXC_SW_PAD_CTL_GRP_DDRMODE_CTL > +DATA 4 0x020e05a8 0x0030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS0 > +DATA 4 0x020e05b0 0x0030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS1 > +DATA 4 0x020e0524 0x0030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS2 > +DATA 4 0x020e051c 0x0030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS3 > +//DATA 4 0x020e0518 0x0030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS4 > +//DATA 4 0x020e050c 0x0030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS5 > +//DATA 4 0x020e05b8 0x0030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS6 > +//DATA 4 0x020e05c0 0x0030 // IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS7 Better to remove unused lines. ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH] imx: i.mx6q: add the initial support for LogicPD i.MX6Q SOM
Logic PD has an i.MX6Q system on module (SOM) with a development kit. This have been verified to boot the i.MX6Q version over either SD on the development kit or NAND built into the SOM. Signed-off-by: Adam Forddiff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig index 190e5c6..059d905 100644 --- a/arch/arm/cpu/armv7/mx6/Kconfig +++ b/arch/arm/cpu/armv7/mx6/Kconfig @@ -367,6 +367,13 @@ config TARGET_ZC5601 select DM select DM_THERMAL +config TARGET_MX6LOGICPD + bool "mx6logicpd" + select BOARD_LATE_INIT + select DM + select DM_THERMAL + select BOARD_EARLY_INIT_F + endchoice config SYS_SOC @@ -415,5 +422,6 @@ source "board/udoo/Kconfig" source "board/udoo/neo/Kconfig" source "board/wandboard/Kconfig" source "board/warp/Kconfig" +source "board/logicpd/imx6/Kconfig" endif diff --git a/board/logicpd/imx6/Kconfig b/board/logicpd/imx6/Kconfig new file mode 100644 index 000..f5e2f58 --- /dev/null +++ b/board/logicpd/imx6/Kconfig @@ -0,0 +1,12 @@ +if TARGET_MX6LOGICPD + +config SYS_BOARD + default "imx6" + +config SYS_VENDOR + default "logicpd" + +config SYS_CONFIG_NAME + default "imx6_logic" + +endif diff --git a/board/logicpd/imx6/MAINTAINERS b/board/logicpd/imx6/MAINTAINERS new file mode 100644 index 000..5db7d2c --- /dev/null +++ b/board/logicpd/imx6/MAINTAINERS @@ -0,0 +1,6 @@ +MX6LOGICPD BOARD +M: Adam Ford +S: Maintained +F: board/logicpd/imx6/ +F: include/configs/imx6_logic.h +F: configs/imx6q_logic_defconfig diff --git a/board/logicpd/imx6/Makefile b/board/logicpd/imx6/Makefile new file mode 100644 index 000..397bc5e --- /dev/null +++ b/board/logicpd/imx6/Makefile @@ -0,0 +1,11 @@ +# +# Copyright (C) 2007, Guennadi Liakhovetski +# +# (C) Copyright 2011 Freescale Semiconductor, Inc. +# +# SPDX-License-Identifier: GPL-2.0+ +# + +obj-y := imx6logic.o +obj-$(CONFIG_POWER_PFUZE100) += ../../freescale/common/pfuze.o + diff --git a/board/logicpd/imx6/README b/board/logicpd/imx6/README new file mode 100644 index 000..5814b9d --- /dev/null +++ b/board/logicpd/imx6/README @@ -0,0 +1,103 @@ +How to use and build U-Boot on mx6sabresd: +-- + +Currently there are three methods for booting mx6sabresd boards: + +1. Booting via Normal U-Boot (u-boot.imx) + +2. Booting via SPL (SPL and u-boot.img) + +3. Booting via Falcon mode (SPL launches the kernel directly) + + +1. Booting via Normal U-Boot + + +$ make mx6qsabresd_defconfig (If you want to build for mx6qsabresd) + +or + +$ make mx6dlsabresd_defconfig (If you want to build for mx6dlsabresd) + +$ make + +This will generate the image called u-boot.imx. + +- Flash the u-boot.imx binary into the SD card: + +$ sudo dd if=u-boot.imx of=/dev/sdb bs=1K seek=1 && sync + + +2. Booting via SPL +-- + +Other method for building U-Boot on mx6qsabresd and mx6qpsabresd is +through SPL. In order to do so: + +$ make mx6sabresd_spl_defconfig +$ make + +This will generate the SPL image called SPL and the u-boot.img. + +- Flash the SPL image into the SD card: + +$ sudo dd if=SPL of=/dev/sdb bs=1K seek=1 && sync + +- Flash the u-boot.img image into the SD card: + +$ sudo dd if=u-boot.img of=/dev/sdbbs=1K seek=69 && sync + + +3. Booting via Falcon mode +-- + +$ make mx6sabresd_spl_defconfig +$ make + +This will generate the SPL image called SPL and the u-boot.img. + +- Flash the SPL image into the SD card: + +$ sudo dd if=SPL of=/dev/sdb bs=1K seek=1 oflag=sync status=none && sync + +- Flash the u-boot.img image into the SD card: + +$ sudo dd if=u-boot.img of=/dev/sdbbs=1K seek=69 oflag=sync status=none && sync + +Create a partition for root file system and extract it there: + +$ sudo tar xvf rootfs.tar.gz -C /media/root + +The SD card must have enough space for raw "args" and "kernel". +To configure Falcon mode for the first time, on U-Boot do the following commands: + +- Setup the IP server: + +# setenv serverip + +- Download dtb file: + +# dhcp ${fdt_addr} imx6q-sabresd.dtb + +- Download kernel image: + +# dhcp ${loadaddr} uImage + +- Write kernel at 2MB offset: + +# mmc write ${loadaddr} 0x1000 0x4000 + +- Setup kernel bootargs: + +# setenv bootargs "console=ttymxc0,115200 root=/dev/mmcblk1p1 rootfstype=ext4 rootwait quiet rw" + +- Prepare args: + +# spl export fdt ${loadaddr} - ${fdt_addr} + +- Write args 1MB data (0x800 sectors) to 1MB offset (0x800 sectors) + +# mmc write 1800 0x800 0x800 + +- Press KEY_VOL_UP key, power up the board and then SPL binary will +launch the kernel directly. diff --git a/board/logicpd/imx6/imx6logic.c b/board/logicpd/imx6/imx6logic.c new file mode 100644 index 000..18ec9a1 --- /dev/null +++ b/board/logicpd/imx6/imx6logic.c @@ -0,0 +1,364 @@ +/* + * Copyright (C) 2017 Logic PD, Inc. + * + * Author: Adam Ford + * + *