diff --git a/meta-digi-arm/conf/machine/ccimx6sbc.conf b/meta-digi-arm/conf/machine/ccimx6sbc.conf index 8176148b7..ade094295 100644 --- a/meta-digi-arm/conf/machine/ccimx6sbc.conf +++ b/meta-digi-arm/conf/machine/ccimx6sbc.conf @@ -5,7 +5,7 @@ # Contains the ConnectCore 6 module. include conf/machine/include/ccimx6.inc -KERNEL_DEVICETREE = "imx6q-${MACHINE}.dtb imx6q-${MACHINE}-ldo.dtb" +KERNEL_DEVICETREE = "i${CPU_FAMILY}-${MACHINE}.dtb i${CPU_FAMILY}-${MACHINE}-ldo.dtb" SERIAL_CONSOLES = "115200;ttymxc3" diff --git a/meta-digi-arm/conf/machine/include/ccimx6.inc b/meta-digi-arm/conf/machine/include/ccimx6.inc index de368cb82..5cdce24e5 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6.inc @@ -35,23 +35,25 @@ MACHINE_EXTRA_RRECOMMENDS += "fsl-alsa-plugins" # # Maintain in sync with the same table in platform local.conf template. # -# Name WiFi[w] BT[b] Proc[q|dl] DDR[1024|512|256] -# ----------------------------------------------------------------- -# wbq1024 Y Y quad/dual 1024MiB (0x01,0x02,0x04) -# wbq512 Y Y quad/dual 512MiB (0x03,0x06) -# wq1024 Y N quad/dual 1024MiB (0x05) -# wdl256 Y N duallite/solo 256MiB (0x07) -# q512 N N quad/dual 512MiB (0x08) -# dl256 N N duallite/solo 256MiB (0x09) -# wdl512 Y N duallite/solo 512MiB (0x0A) -# wbdl1024 Y Y duallite/solo 1024MiB (0x0B) +# Name WiFi[w] BT[b] Kinetis[k] Proc[q|dl] DDR[1024|512|256] +# --------------------------------------------------------------------------- +# wbkq1024 Y Y Y quad/dual 1024MiB (0x01,0x02) +# wbq512 Y Y N quad/dual 512MiB (0x03,0x06) +# wbq1024 Y Y N quad/dual 1024MiB (0x04) +# wq1024 Y N N quad/dual 1024MiB (0x05) +# wdl256 Y N N duallite/solo 256MiB (0x07) +# q512 N N N quad/dual 512MiB (0x08) +# dl256 N N N duallite/solo 256MiB (0x09) +# wdl512 Y N N duallite/solo 512MiB (0x0A) +# wbdl1024 Y Y N duallite/solo 1024MiB (0x0B) # All variants support MACHINE_FEATURES += "accel-graphics accel-video" # Per-variant machine features -MACHINE_FEATURES_append_wbq1024 = " wifi bluetooth" +MACHINE_FEATURES_append_wbkq1024 = " wifi bluetooth" MACHINE_FEATURES_append_wbq512 = " wifi bluetooth" +MACHINE_FEATURES_append_wbq1024 = " wifi bluetooth" MACHINE_FEATURES_append_wq1024 = " wifi" MACHINE_FEATURES_append_wdl256 = " wifi" MACHINE_FEATURES_append_q512 = "" @@ -61,8 +63,9 @@ MACHINE_FEATURES_append_wbdl1024 = " wifi bluetooth" # Per-variant u-boot configuration UBOOT_MACHINE = "" -UBOOT_MACHINE_wbq1024 = "ccimx6qsbc_config" +UBOOT_MACHINE_wbkq1024 = "ccimx6qsbc_config" UBOOT_MACHINE_wbq512 = "ccimx6qsbc512MB_config" +UBOOT_MACHINE_wbq1024 = "ccimx6qsbc_config" UBOOT_MACHINE_wq1024 = "ccimx6qsbc_config" UBOOT_MACHINE_wdl256 = "ccimx6dlsbc256MB_config" UBOOT_MACHINE_q512 = "ccimx6qsbc512MB_config" @@ -72,11 +75,24 @@ UBOOT_MACHINE_wbdl1024 = "ccimx6dlsbc_config" # Per-variant cpu family CPU_FAMILY = "" -CPU_FAMILY_wbq1024 = "mx6q" +CPU_FAMILY_wbkq1024 = "mx6q" CPU_FAMILY_wbq512 = "mx6q" +CPU_FAMILY_wbq1024 = "mx6q" CPU_FAMILY_wq1024 = "mx6q" CPU_FAMILY_wdl256 = "mx6dl" CPU_FAMILY_q512 = "mx6q" CPU_FAMILY_dl256 = "mx6dl" CPU_FAMILY_wdl512 = "mx6dl" CPU_FAMILY_wbdl1024 = "mx6dl" + +# Per-variant device tree +DTB_VARIANT_STR = "" +DTB_VARIANT_STR_wbkq1024 = "-wbk" +DTB_VARIANT_STR_wbq512 = "-wb" +DTB_VARIANT_STR_wbq1024 = "-wb" +DTB_VARIANT_STR_wq1024 = "-w" +DTB_VARIANT_STR_wdl256 = "-w" +DTB_VARIANT_STR_q512 = "-z" +DTB_VARIANT_STR_dl256 = "-z" +DTB_VARIANT_STR_wdl512 = "-mw" +DTB_VARIANT_STR_wbdl1024 = "-mwb" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2013.04/ccimx6/boot-sd.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2013.04/ccimx6/boot-sd.txt index b516e0d4c..6d8fd2385 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2013.04/ccimx6/boot-sd.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey-2013.04/ccimx6/boot-sd.txt @@ -12,5 +12,5 @@ # setenv mmcroot /dev/mmcblk${mmcdev}p2 setenv uimage uImage -setenv fdt_file imx6q-${board}.dtb +setenv fdt_file i##CPU_FAMILY##-${board}.dtb dboot linux mmc ${mmcdev}:${mmcpart} diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2013.04.bb b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2013.04.bb index eaebe1d43..ffb435aff 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2013.04.bb +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey_2013.04.bb @@ -18,6 +18,7 @@ do_compile_prepend() { } do_deploy_append() { + sed -i -e 's,##CPU_FAMILY##,${CPU_FAMILY},g' ${WORKDIR}/boot-sd.txt mkimage -T script -n bootscript -C none -d ${WORKDIR}/boot-sd.txt ${DEPLOYDIR}/boot-sd.scr } diff --git a/meta-digi-arm/recipes-kernel/linux/linux-dey_3.10.bb b/meta-digi-arm/recipes-kernel/linux/linux-dey_3.10.bb index 26187247a..b33753679 100644 --- a/meta-digi-arm/recipes-kernel/linux/linux-dey_3.10.bb +++ b/meta-digi-arm/recipes-kernel/linux/linux-dey_3.10.bb @@ -36,6 +36,18 @@ do_update_dts() { : } +do_update_dts_ccimx6() { + # Rename variant device tree to the standard name (used in u-boot) + for DTB in ${KERNEL_DEVICETREE}; do + DTS="${DTB%b}s" + DTS_VARIANT="$(echo ${DTS} | sed "s/${MACHINE}/${MACHINE}${DTB_VARIANT_STR}/g")" + [ "${DTS_VARIANT}" = "${DTS}" ] && continue + if [ -e "${S}/arch/arm/boot/dts/${DTS_VARIANT}" ]; then + cp -f "${S}/arch/arm/boot/dts/${DTS_VARIANT}" "${S}/arch/arm/boot/dts/${DTS}" + fi + done +} + do_update_dts_mxs() { if [ -n "${HAVE_WIFI}" ]; then config_dts enable '_ssp2_mmc_wifi.dtsi' diff --git a/sdk/build.sh b/sdk/build.sh index 7604e8cc2..32f2c74fb 100755 --- a/sdk/build.sh +++ b/sdk/build.sh @@ -142,7 +142,7 @@ done<<-_EOF_ ccardimx28js - e w wb web web1 ccimx51js 128 128a 128agv agv eagv w w128a w128agv wagv weagv ccimx53js - 128 4k e e4k w w128 we - ccimx6sbc wbq1024 wbq512 wq1024 wdl256 q512 dl256 wdl512 wbdl1024 + ccimx6sbc wbkq1024 wbq512 wbq1024 wq1024 wdl256 q512 dl256 wdl512 wbdl1024 _EOF_ # Build alternative linux and u-boot diff --git a/sdk/config/ccimx6sbc/local.conf.sample b/sdk/config/ccimx6sbc/local.conf.sample index 6c27852e9..640f77334 100644 --- a/sdk/config/ccimx6sbc/local.conf.sample +++ b/sdk/config/ccimx6sbc/local.conf.sample @@ -42,16 +42,17 @@ MACHINE = "ccimx6sbc" # # Maintain in sync with the same table in platform machine config file. # -# Name WiFi[w] BT[b] Proc[q|dl] DDR[1024|512|256] -# ----------------------------------------------------------------- -# wbq1024 Y Y quad/dual 1024MiB (0x01,0x02,0x04) -# wbq512 Y Y quad/dual 512MiB (0x03,0x06) -# wq1024 Y N quad/dual 1024MiB (0x05) -# wdl256 Y N duallite/solo 256MiB (0x07) -# q512 N N quad/dual 512MiB (0x08) -# dl256 N N duallite/solo 256MiB (0x09) -# wdl512 Y N duallite/solo 512MiB (0x0A) -# wbdl1024 Y Y duallite/solo 1024MiB (0x0B) +# Name WiFi[w] BT[b] Kinetis[k] Proc[q|dl] DDR[1024|512|256] +# --------------------------------------------------------------------------- +# wbkq1024 Y Y Y quad/dual 1024MiB (0x01,0x02) +# wbq512 Y Y N quad/dual 512MiB (0x03,0x06) +# wbq1024 Y Y N quad/dual 1024MiB (0x04) +# wq1024 Y N N quad/dual 1024MiB (0x05) +# wdl256 Y N N duallite/solo 256MiB (0x07) +# q512 N N N quad/dual 512MiB (0x08) +# dl256 N N N duallite/solo 256MiB (0x09) +# wdl512 Y N N duallite/solo 512MiB (0x0A) +# wbdl1024 Y Y N duallite/solo 1024MiB (0x0B) MACHINE_VARIANT = "wbq1024" #