[patch v6]layerscape: add 64b/32b target for ls1043ardb device#344
[patch v6]layerscape: add 64b/32b target for ls1043ardb device#344fsl-jyt wants to merge 1 commit intolede-project:masterfrom
Conversation
|
V6 patch update summary: |
A simple bootup log both 64b and 32b:U-Boot 2016.012.0+ga9b437f (May 15 2016 - 11:01:10 +0800) SoC: unknown (0x87920410) Environment size: 1315/131068 bytes Error: "cpld" not defined=> cpld reset altbank? U-Boot 2016.012.0+ga9b437f (May 15 2016 - 11:01:10 +0800) SoC: unknown (0x87920410) Environment size: 1548/131068 bytes Booting kernel from Legacy Image at 82000000 ...Image Name: ARM64 LEDE Linux-4.4.21 Flattened Device Tree blob at 8f000000Booting using the fdt blob at 0x8f000000 Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 BusyBox v1.25.0 () built-in shell (ash) / LE / \ | | | | | __| === WARNING! ===================================== in order to prevent unauthorized SSH logins.root@lede:/# ifconfig eth0 Link encap:Ethernet HWaddr 00:E0:0C:00:77:00 eth1 Link encap:Ethernet HWaddr 00:E0:0C:00:77:01 lo Link encap:Local Loopback root@lede:/# ping 10.193.20.106 root@lede:/# mount Disk /dev/mmcblk0: 2006 MB, 2006974464 bytes /dev/mmcblk0p1 1 250 480469 b Win95 FAT32 root@lede:/# root@lede:/# mount The number of cylinders for this disk is set to 4310.
Command (m for help): p Disk /dev/sda: 15.6 GB, 15614803968 bytes Device Boot Start End Blocks Id System Command (m for help): d Command (m for help): p Disk /dev/sda: 15.6 GB, 15614803968 bytes Device Boot Start End Blocks Id System Command (m for help): n Command (m for help): p Disk /dev/sda: 15.6 GB, 15614803968 bytes Device Boot Start End Blocks Id System Command (m for help): n Command (m for help): w root@lede:/# U-Boot 2016.012.0+ga9b437f (May 15 2016 - 11:01:10 +0800) SoC: unknown (0x87920410) ........ done U-Boot 2016.01-08967-g87a4707 (Jul 07 2016 - 11:21:29 +0800) SoC: unknown (0x87920410) Environment size: 1493/131068 bytes ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ done Booting kernel from Legacy Image at 82000000 ...Image Name: ARM LEDE Linux-4.4.21 Flattened Device Tree blob at 8f000000Booting using the fdt blob at 0x8f000000 Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 BusyBox v1.25.0 () built-in shell (ash) / LE / \ | | | | | __| === WARNING! ===================================== in order to prevent unauthorized SSH logins.root@lede:/# ifconfig eth0 Link encap:Ethernet HWaddr 00:E0:0C:00:77:00 eth1 Link encap:Ethernet HWaddr 00:E0:0C:00:77:01 lo Link encap:Local Loopback root@lede:/# ping 10.193.20.106 root@lede:/# mount root@lede:/# root@lede:/# fdisk -l Disk /dev/mmcblk0: 2006 MB, 2006974464 bytes /dev/mmcblk0p1 1 250 480469 b Win95 FAT32 root@lede:/# |
| CONFIG_EXTCON=y | ||
| CONFIG_FEC=y | ||
| # CONFIG_FSL_QMAN_FQ_LOOKUP is not set | ||
| CONFIG_FTRACE=y |
| CONFIG_VFP=y | ||
| CONFIG_VFPv3=y | ||
| CONFIG_VMSPLIT_2G=y | ||
| # CONFIG_VMSPLIT_3G is not set |
There was a problem hiding this comment.
These two lines should probably be removed as well.
| CONFIG_EFI_RUNTIME_WRAPPERS=y | ||
| CONFIG_EFI_STUB=y | ||
| # CONFIG_EFI_VARS is not set | ||
| CONFIG_FB=y |
There was a problem hiding this comment.
Why does 64b enable framebuffer and 32b doesn't?
| CONFIG_FSL_MC_BUS=y | ||
| CONFIG_FSL_QMAN_FQ_LOOKUP=y | ||
| CONFIG_FS_MBCACHE=y | ||
| CONFIG_FUSE_FS=y |
| # CONFIG_HPET is not set | ||
| CONFIG_HW_RANDOM=y | ||
| CONFIG_HW_RANDOM_VIRTIO=y | ||
| CONFIG_IKCONFIG=y |
| endef | ||
|
|
||
| define Device/Default | ||
| FILESYSTEMS := squashfs |
There was a problem hiding this comment.
Device/* templates should be space-indented, not tab-indented.
| DEVICE_VARS += DEVICE_DTS | ||
|
|
||
| ifeq ($(SUBTARGET),64b) | ||
| define Device/ls1043ardb-64bit |
There was a problem hiding this comment.
How about dropping the -64bit and -32bit suffixes from the Device name and getting rid of some code duplication that way.
| FIRMWARE_SIZE := 61440k | ||
|
|
||
| DEVICE_TITLE := ls1043ardb 64bit | ||
| DEVICE_PACKAGES += kmod-e1000e |
There was a problem hiding this comment.
You can add this to the target DEFAULT_PACKAGES if all devices need it anyway
| I2C_IMX_MODULES:= \ | ||
| CONFIG_I2C_IMX:drivers/i2c/busses/i2c-imx | ||
|
|
||
| define KernelPackage/i2c-imx |
There was a problem hiding this comment.
You can simplify all this by enabling i2c and sdhci in the kernel config and dropping modules.mk entirely
|
|
||
| ARCH:=aarch64 | ||
| BOARDNAME:=layerscape 64b boards | ||
| CFLAGS:=-Os -pipe -fno-caller-saves |
Add support for NXP layerscape ls1043ardb 64b/32b Dev board. LS1043a is an SoC with 4x64-bit up to 1.6 GHz ARMv8 A53 cores. ls1043ardb support features as: 2GB DDR4, 128MB NOR/512MB NAND, USB3.0, eSDHC, I2C, GPIO, PCIe/Mini-PCIe, 6x1G/1x10G network port, etc. 64b/32b ls1043ardb target is using 4.4 kernel, and rcw/u-boot/fman images from NXP QorIQ SDK release. All of 4.4 kernel patches porting from SDK release or upstream. QorIQ SDK ISOs can be downloaded from this location: http://www.nxp.com/products/software-and-tools/run-time-software/linux-sdk/linux-sdk-for-qoriq-processors:SDKLINUX Signed-off-by: Yutang Jiang <yutang.jiang@nxp.com>
|
Hi nbd168, Thank you for review my patch!
I’m trying to make a full flash image -- merge rcw/uboot/fman/dtb/kernel/rfs to one openwrt/lede firmware, and in 64bit mode already success. But in 32bit mode, the 32bit kernel need be boot by a u-boot.bin which compiled in 64bit mode, the 32bit mode toolchain cannot compile 64bit uboot. Furthermore, the ls1043 uboot have a same config file both in 64bit and 32bit, while ls1012 uboot have different config file in 64bit/32bit mode, I’m also work on porting ls1012 support into openwrt/lede based on ls1043 work. I think of a ugly method to solve the uboot problem temporary, but there is no attempt to do it. I need take more time to try and optimize code, so the next phase work maybe have longer time interval. 10.1 – 10.7 is the china’s National Day and I’m on PTO(9.30 – 10.7), sorry for cannot reply timely. Thanks & Best Regards From: nbd168 [mailto:notifications@github.com] @nbd168 requested changes on this pull request. In target/linux/layerscape/32b/config-defaulthttps://github.com//pull/344#pullrequestreview-1900794:
+CONFIG_CPU_TLB_V7=y +CONFIG_CPU_V7=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_XZ=y +CONFIG_DEBUG_IMX_UART_PORT=1 +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +# CONFIG_DEBUG_USER is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +# CONFIG_ENABLE_DEFAULT_TRACERS is not set +CONFIG_EXTCON=y +CONFIG_FEC=y +# CONFIG_FSL_QMAN_FQ_LOOKUP is not set +CONFIG_FTRACE=y This should be removed In target/linux/layerscape/32b/config-defaulthttps://github.com//pull/344#pullrequestreview-1900794:
+# CONFIG_SPI_IMX is not set +CONFIG_SRAM=y +CONFIG_SWP_EMULATE=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_THERMAL_WRITABLE_TRIPS=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_TRACING_EVENTS_GPIO=y +CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" +# CONFIG_USB_IMX21_HCD is not set +CONFIG_USE_OF=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_VMSPLIT_2G=y +# CONFIG_VMSPLIT_3G is not set These two lines should probably be removed as well. In target/linux/layerscape/64b/config-defaulthttps://github.com//pull/344#pullrequestreview-1900794:
+CONFIG_DEBUG_INFO=y +CONFIG_DEFAULT_IOSCHED="noop" +CONFIG_DEFAULT_NOOP=y +CONFIG_DMI=y +CONFIG_DMIID=y +# CONFIG_DMI_SYSFS is not set +CONFIG_EFI=y +# CONFIG_EFIVAR_FS is not set +CONFIG_EFI_ARMSTUB=y +CONFIG_EFI_ESRT=y +CONFIG_EFI_PARAMS_FROM_FDT=y +CONFIG_EFI_RUNTIME_WRAPPERS=y +CONFIG_EFI_STUB=y +# CONFIG_EFI_VARS is not set +CONFIG_FB=y Why does 64b enable framebuffer and 32b doesn't? In target/linux/layerscape/64b/config-defaulthttps://github.com//pull/344#pullrequestreview-1900794:
+CONFIG_EFI_PARAMS_FROM_FDT=y +CONFIG_EFI_RUNTIME_WRAPPERS=y +CONFIG_EFI_STUB=y +# CONFIG_EFI_VARS is not set +CONFIG_FB=y +CONFIG_FB_ARMCLCD=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_CMDLINE=y +CONFIG_FB_MODE_HELPERS=y +CONFIG_FSL_MC_BUS=y +CONFIG_FSL_QMAN_FQ_LOOKUP=y +CONFIG_FS_MBCACHE=y +CONFIG_FUSE_FS=y This should be removed. In target/linux/layerscape/64b/config-defaulthttps://github.com//pull/344#pullrequestreview-1900794:
+CONFIG_GPIO_ACPI=y +# CONFIG_GPIO_AMDPT is not set +# CONFIG_GPIO_XGENE is not set +CONFIG_GRACE_PERIOD=y +CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y +CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_CMPXCHG_DOUBLE=y +CONFIG_HAVE_CMPXCHG_LOCAL=y +CONFIG_HAVE_DEBUG_BUGVERBOSE=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_HAVE_PATA_PLATFORM=y +# CONFIG_HPET is not set +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_IKCONFIG=y This should be removed In target/linux/layerscape/base-files/etc/inittabhttps://github.com//pull/344#pullrequestreview-1900794:
+::sysinit:/etc/init.d/rcS S boot +::shutdown:/etc/init.d/rcS K shutdown +ttyS0::askfirst:/bin/ash --login +tts/0::askfirst:/bin/ash --login +ttyAMA0::askfirst:/bin/ash --login +tty1::askfirst:/bin/ash --login I think you can remove this file. /bin/ash --login is obsolete. In target/linux/layerscape/config-4.4#344 (review):
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_ARCH_HAS_SG_CHAIN=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_ARCH_LAYERSCAPE=y +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_GIC=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y This should probably be removed In target/linux/layerscape/config-4.4#344 (review):
+CONFIG_REGMAP_MMIO=y +CONFIG_RFS_ACCEL=y +CONFIG_RPS=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_SCHED_HRTICK=y +# CONFIG_SCHED_INFO is not set +CONFIG_SCSI=y +CONFIG_SERIAL_8250_FSL=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SMP=y +CONFIG_SPARSE_IRQ=y +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +CONFIG_SQUASHFS_ZLIB=y This should be removed. In target/linux/layerscape/config-4.4#344 (review):
+CONFIG_REGMAP=y +CONFIG_REGMAP_MMIO=y +CONFIG_RFS_ACCEL=y +CONFIG_RPS=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_SCHED_HRTICK=y +# CONFIG_SCHED_INFO is not set +CONFIG_SCSI=y +CONFIG_SERIAL_8250_FSL=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SMP=y +CONFIG_SPARSE_IRQ=y +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y Why disable multi-core squashfs decompression? In target/linux/layerscape/config-4.4#344 (review):
+CONFIG_SRCU=y +CONFIG_SWIOTLB=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_THERMAL=y +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y +CONFIG_THERMAL_GOV_STEP_WISE=y +CONFIG_THERMAL_OF=y +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TREE_RCU=y +CONFIG_USB_SUPPORT=y +CONFIG_USB=y +CONFIG_VITESSE_PHY=y +CONFIG_XPS=y +CONFIG_ZLIB_INFLATE=y +CONFIG_DEVTMPFS=y This should be removed In target/linux/layerscape/image/Makefilehttps://github.com//pull/344#pullrequestreview-1900794:
+include $(INCLUDE_DIR)/image.mk +define Build/mk_firmware
+endef mk_firmware is doing too much stuff at once, also it should never refer to something like root.squashfs directly. In target/linux/layerscape/image/Makefilehttps://github.com//pull/344#pullrequestreview-1900794:
+endef +define Device/Default
Device/* templates should be space-indented, not tab-indented. In target/linux/layerscape/image/Makefilehttps://github.com//pull/344#pullrequestreview-1900794:
+define Device/Default
+endef +DEVICE_VARS += DEVICE_DTS +ifeq ($(SUBTARGET),64b) +define Device/ls1043ardb-64bit How about dropping the -64bit and -32bit suffixes from the Device name and getting rid of some code duplication that way. In target/linux/layerscape/image/Makefilehttps://github.com//pull/344#pullrequestreview-1900794:
+DEVICE_VARS += DEVICE_DTS +ifeq ($(SUBTARGET),64b) +define Device/ls1043ardb-64bit
You can add this to the target DEFAULT_PACKAGES if all devices need it anyway In target/linux/layerscape/modules.mkhttps://github.com//pull/344#pullrequestreview-1900794:
+# +# Copyright (C) Jiang Yutang <yutang.jiang@nxp.commailto:yutang.jiang@nxp.com> +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +I2C_IMX_MODULES:= \
+define KernelPackage/i2c-imx You can simplify all this by enabling i2c and sdhci in the kernel config and dropping modules.mk entirely In target/linux/layerscape/64b/target.mkhttps://github.com//pull/344#pullrequestreview-1900794:
+# +# Copyright (C) 2016 Jiang Yutang <yutang.jiang@nxp.commailto:yutang.jiang@nxp.com> +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +ARCH:=aarch64 +BOARDNAME:=layerscape 64b boards +CFLAGS:=-Os -pipe -fno-caller-saves This should be removed — |
|
Regarding the mk_firmware template, please at least fix the reference to the rootfs image. You can deal with the rest of the rework later. |
|
Hi nbd168, I update the patch and pull a new requests(#417), please check and review, thanks! V7 patch update summary:
Thanks & Best Regards From: Y.T. Jiang Hi nbd168, Thank you for review my patch!
I’m trying to make a full flash image -- merge rcw/uboot/fman/dtb/kernel/rfs to one openwrt/lede firmware, and in 64bit mode already success. But in 32bit mode, the 32bit kernel need be boot by a u-boot.bin which compiled in 64bit mode, the 32bit mode toolchain cannot compile 64bit uboot. Furthermore, the ls1043 uboot have a same config file both in 64bit and 32bit, while ls1012 uboot have different config file in 64bit/32bit mode, I’m also work on porting ls1012 support into openwrt/lede based on ls1043 work. I think of a ugly method to solve the uboot problem temporary, but there is no attempt to do it. I need take more time to try and optimize code, so the next phase work maybe have longer time interval. 10.1 – 10.7 is the china’s National Day and I’m on PTO(9.30 – 10.7), sorry for cannot reply timely. Thanks & Best Regards From: nbd168 [mailto:notifications@github.com] @nbd168 requested changes on this pull request. In target/linux/layerscape/32b/config-defaulthttps://github.com//pull/344#pullrequestreview-1900794:
+CONFIG_CPU_TLB_V7=y +CONFIG_CPU_V7=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_XZ=y +CONFIG_DEBUG_IMX_UART_PORT=1 +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +# CONFIG_DEBUG_USER is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +# CONFIG_ENABLE_DEFAULT_TRACERS is not set +CONFIG_EXTCON=y +CONFIG_FEC=y +# CONFIG_FSL_QMAN_FQ_LOOKUP is not set +CONFIG_FTRACE=y This should be removed In target/linux/layerscape/32b/config-defaulthttps://github.com//pull/344#pullrequestreview-1900794:
+# CONFIG_SPI_IMX is not set +CONFIG_SRAM=y +CONFIG_SWP_EMULATE=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_THERMAL_WRITABLE_TRIPS=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_TRACING_EVENTS_GPIO=y +CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" +# CONFIG_USB_IMX21_HCD is not set +CONFIG_USE_OF=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_VMSPLIT_2G=y +# CONFIG_VMSPLIT_3G is not set These two lines should probably be removed as well. In target/linux/layerscape/64b/config-defaulthttps://github.com//pull/344#pullrequestreview-1900794:
+CONFIG_DEBUG_INFO=y +CONFIG_DEFAULT_IOSCHED="noop" +CONFIG_DEFAULT_NOOP=y +CONFIG_DMI=y +CONFIG_DMIID=y +# CONFIG_DMI_SYSFS is not set +CONFIG_EFI=y +# CONFIG_EFIVAR_FS is not set +CONFIG_EFI_ARMSTUB=y +CONFIG_EFI_ESRT=y +CONFIG_EFI_PARAMS_FROM_FDT=y +CONFIG_EFI_RUNTIME_WRAPPERS=y +CONFIG_EFI_STUB=y +# CONFIG_EFI_VARS is not set +CONFIG_FB=y Why does 64b enable framebuffer and 32b doesn't? In target/linux/layerscape/64b/config-defaulthttps://github.com//pull/344#pullrequestreview-1900794:
+CONFIG_EFI_PARAMS_FROM_FDT=y +CONFIG_EFI_RUNTIME_WRAPPERS=y +CONFIG_EFI_STUB=y +# CONFIG_EFI_VARS is not set +CONFIG_FB=y +CONFIG_FB_ARMCLCD=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_CMDLINE=y +CONFIG_FB_MODE_HELPERS=y +CONFIG_FSL_MC_BUS=y +CONFIG_FSL_QMAN_FQ_LOOKUP=y +CONFIG_FS_MBCACHE=y +CONFIG_FUSE_FS=y This should be removed. In target/linux/layerscape/64b/config-defaulthttps://github.com//pull/344#pullrequestreview-1900794:
+CONFIG_GPIO_ACPI=y +# CONFIG_GPIO_AMDPT is not set +# CONFIG_GPIO_XGENE is not set +CONFIG_GRACE_PERIOD=y +CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y +CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_CMPXCHG_DOUBLE=y +CONFIG_HAVE_CMPXCHG_LOCAL=y +CONFIG_HAVE_DEBUG_BUGVERBOSE=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_HAVE_PATA_PLATFORM=y +# CONFIG_HPET is not set +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_IKCONFIG=y This should be removed In target/linux/layerscape/base-files/etc/inittabhttps://github.com//pull/344#pullrequestreview-1900794:
+::sysinit:/etc/init.d/rcS S boot +::shutdown:/etc/init.d/rcS K shutdown +ttyS0::askfirst:/bin/ash --login +tts/0::askfirst:/bin/ash --login +ttyAMA0::askfirst:/bin/ash --login +tty1::askfirst:/bin/ash --login I think you can remove this file. /bin/ash --login is obsolete. In target/linux/layerscape/config-4.4#344 (review):
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_ARCH_HAS_SG_CHAIN=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_ARCH_LAYERSCAPE=y +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_GIC=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y This should probably be removed In target/linux/layerscape/config-4.4#344 (review):
+CONFIG_REGMAP_MMIO=y +CONFIG_RFS_ACCEL=y +CONFIG_RPS=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_SCHED_HRTICK=y +# CONFIG_SCHED_INFO is not set +CONFIG_SCSI=y +CONFIG_SERIAL_8250_FSL=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SMP=y +CONFIG_SPARSE_IRQ=y +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y +CONFIG_SQUASHFS_ZLIB=y This should be removed. In target/linux/layerscape/config-4.4#344 (review):
+CONFIG_REGMAP=y +CONFIG_REGMAP_MMIO=y +CONFIG_RFS_ACCEL=y +CONFIG_RPS=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_SCHED_HRTICK=y +# CONFIG_SCHED_INFO is not set +CONFIG_SCSI=y +CONFIG_SERIAL_8250_FSL=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SMP=y +CONFIG_SPARSE_IRQ=y +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +CONFIG_SQUASHFS_DECOMP_SINGLE=y Why disable multi-core squashfs decompression? In target/linux/layerscape/config-4.4#344 (review):
+CONFIG_SRCU=y +CONFIG_SWIOTLB=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_THERMAL=y +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y +CONFIG_THERMAL_GOV_STEP_WISE=y +CONFIG_THERMAL_OF=y +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TREE_RCU=y +CONFIG_USB_SUPPORT=y +CONFIG_USB=y +CONFIG_VITESSE_PHY=y +CONFIG_XPS=y +CONFIG_ZLIB_INFLATE=y +CONFIG_DEVTMPFS=y This should be removed In target/linux/layerscape/image/Makefilehttps://github.com//pull/344#pullrequestreview-1900794:
+include $(INCLUDE_DIR)/image.mk +define Build/mk_firmware
+endef mk_firmware is doing too much stuff at once, also it should never refer to something like root.squashfs directly. In target/linux/layerscape/image/Makefilehttps://github.com//pull/344#pullrequestreview-1900794:
+endef +define Device/Default
Device/* templates should be space-indented, not tab-indented. In target/linux/layerscape/image/Makefilehttps://github.com//pull/344#pullrequestreview-1900794:
+define Device/Default
+endef +DEVICE_VARS += DEVICE_DTS +ifeq ($(SUBTARGET),64b) +define Device/ls1043ardb-64bit How about dropping the -64bit and -32bit suffixes from the Device name and getting rid of some code duplication that way. In target/linux/layerscape/image/Makefilehttps://github.com//pull/344#pullrequestreview-1900794:
+DEVICE_VARS += DEVICE_DTS +ifeq ($(SUBTARGET),64b) +define Device/ls1043ardb-64bit
You can add this to the target DEFAULT_PACKAGES if all devices need it anyway In target/linux/layerscape/modules.mkhttps://github.com//pull/344#pullrequestreview-1900794:
+# +# Copyright (C) Jiang Yutang <yutang.jiang@nxp.commailto:yutang.jiang@nxp.com> +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +I2C_IMX_MODULES:= \
+define KernelPackage/i2c-imx You can simplify all this by enabling i2c and sdhci in the kernel config and dropping modules.mk entirely In target/linux/layerscape/64b/target.mkhttps://github.com//pull/344#pullrequestreview-1900794:
+# +# Copyright (C) 2016 Jiang Yutang <yutang.jiang@nxp.commailto:yutang.jiang@nxp.com> +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +ARCH:=aarch64 +BOARDNAME:=layerscape 64b boards +CFLAGS:=-Os -pipe -fno-caller-saves This should be removed — |
|
Superseded by #417 |
Add support for NXP layerscape ls1043ardb 64b/32b Dev board.
LS1043a is an SoC with 4x64-bit up to 1.6 GHz ARMv8 A53 cores.
ls1043ardb support features as: 2GB DDR4, 128MB NOR/512MB NAND, USB3.0, eSDHC,
I2C, GPIO, PCIe/Mini-PCIe, 6x1G/1x10G network port, etc.
64b/32b ls1043ardb target is using 4.4 kernel, and rcw/u-boot/fman images from
NXP QorIQ SDK release.
All of 4.4 kernel patches porting from SDK release or upstream.
QorIQ SDK ISOs can be downloaded from this location:
http://www.nxp.com/products/software-and-tools/run-time-software/linux-sdk/linux-sdk-for-qoriq-processors:SDKLINUX
Signed-off-by: Yutang Jiang yutang.jiang@nxp.com