meta-digi-arm: support variants for ccimx6sbc

This completes the support for ccimx6sbc variants:

* support device tree variants
* split variants '0x01,0x02,0x04' group in two different groups (with or
  without kinetis)

https://jira.digi.com/browse/DEL-1359

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit 3f20015411f4e270b2e2c8faf292678c75ff2aff)
This commit is contained in:
Javier Viguera 2015-02-04 13:17:19 +01:00
parent 315e479b5a
commit f3dfa6a3b6
7 changed files with 56 additions and 26 deletions

View File

@ -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"

View File

@ -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"

View File

@ -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}

View File

@ -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
}

View File

@ -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'

View File

@ -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

View File

@ -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"
#