[meta-freescale] [meta-fsl-arm-extra][PATCHv3 3/4] linux-cfa: add a kernel recipe supporting Crystalfontz boards

Alexandre Belloni alexandre.belloni at free-electrons.com
Wed Aug 28 00:25:05 PDT 2013


On 28/08/2013 01:26, Daiane Angolini wrote:
> On Mon, Aug 26, 2013 at 1:58 PM, Alexandre Belloni
> <alexandre.belloni at free-electrons.com> wrote:
>> Signed-off-by: Alexandre Belloni <alexandre.belloni at free-electrons.com>
> I got confused, it's Crystalfontz boards os cfa10036?
>
> Yes, I know, both are the same. And maybe I'm the only person in the
> world that get confused
> by those names....

Yeah, the same kernel is working on all the boards. It is just a matter
of creating the correct devicetree. Anyway, at some point in time, we'll
probably have to split the machine configuration for the different
boards. But at least, the generated image is booting on all the boards now.


> just saying.
>
>
>> ---
>>  recipes-kernel/linux/linux-cfa-3.10/defconfig | 177 ++++++++++++++++++++++++++
>>  recipes-kernel/linux/linux-cfa_3.10.bb        |  33 +++++
>>  2 files changed, 210 insertions(+)
>>  create mode 100644 recipes-kernel/linux/linux-cfa-3.10/defconfig
>>  create mode 100644 recipes-kernel/linux/linux-cfa_3.10.bb
>>
>> diff --git a/recipes-kernel/linux/linux-cfa-3.10/defconfig b/recipes-kernel/linux/linux-cfa-3.10/defconfig
>> new file mode 100644
>> index 0000000..ab8732e
>> --- /dev/null
>> +++ b/recipes-kernel/linux/linux-cfa-3.10/defconfig
>> @@ -0,0 +1,177 @@
>> +CONFIG_SYSVIPC=y
>> +CONFIG_NO_HZ=y
>> +CONFIG_HIGH_RES_TIMERS=y
>> +CONFIG_TASKSTATS=y
>> +CONFIG_TASK_DELAY_ACCT=y
>> +CONFIG_TASK_XACCT=y
>> +CONFIG_TASK_IO_ACCOUNTING=y
>> +CONFIG_IKCONFIG=y
>> +CONFIG_IKCONFIG_PROC=y
>> +# CONFIG_UTS_NS is not set
>> +# CONFIG_IPC_NS is not set
>> +# CONFIG_PID_NS is not set
>> +# CONFIG_NET_NS is not set
>> +CONFIG_PERF_EVENTS=y
>> +# CONFIG_COMPAT_BRK is not set
>> +CONFIG_MODULES=y
>> +CONFIG_MODULE_FORCE_LOAD=y
>> +CONFIG_MODULE_UNLOAD=y
>> +CONFIG_MODULE_FORCE_UNLOAD=y
>> +CONFIG_MODVERSIONS=y
>> +CONFIG_BLK_DEV_INTEGRITY=y
>> +# CONFIG_IOSCHED_DEADLINE is not set
>> +# CONFIG_IOSCHED_CFQ is not set
>> +# CONFIG_ARCH_MULTI_V7 is not set
>> +CONFIG_GPIO_PCA953X=y
>> +CONFIG_ARCH_MXS=y
>> +# CONFIG_ARM_THUMB is not set
>> +CONFIG_PREEMPT_VOLUNTARY=y
>> +CONFIG_AEABI=y
>> +# CONFIG_COMPACTION is not set
>> +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
>> +CONFIG_FPE_NWFPE=y
>> +CONFIG_NET=y
>> +CONFIG_PACKET=y
>> +CONFIG_UNIX=y
>> +CONFIG_INET=y
>> +CONFIG_IP_PNP=y
>> +CONFIG_IP_PNP_DHCP=y
>> +CONFIG_SYN_COOKIES=y
>> +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
>> +# CONFIG_INET_XFRM_MODE_TUNNEL is not set
>> +# CONFIG_INET_XFRM_MODE_BEET is not set
>> +# CONFIG_INET_LRO is not set
>> +# CONFIG_INET_DIAG is not set
>> +# CONFIG_IPV6 is not set
>> +CONFIG_DEVTMPFS=y
>> +CONFIG_DEVTMPFS_MOUNT=y
>> +# CONFIG_FIRMWARE_IN_KERNEL is not set
>> +CONFIG_CMA=y
>> +# CONFIG_BLK_DEV is not set
>> +CONFIG_CFAFIQ=y
>> +CONFIG_SCSI=y
>> +CONFIG_BLK_DEV_SD=y
>> +CONFIG_NETDEVICES=y
>> +CONFIG_MII=y
>> +CONFIG_ENC28J60=y
>> +# CONFIG_WLAN is not set
>> +# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
>> +CONFIG_INPUT_EVDEV=y
>> +CONFIG_INPUT_EVBUG=y
>> +# CONFIG_KEYBOARD_ATKBD is not set
>> +CONFIG_KEYBOARD_GPIO=y
>> +# CONFIG_INPUT_MOUSE is not set
>> +CONFIG_INPUT_MISC=y
>> +CONFIG_INPUT_GPIO_ROTARY_ENCODER=y
>> +# CONFIG_SERIO is not set
>> +CONFIG_VT_HW_CONSOLE_BINDING=y
>> +CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
>> +# CONFIG_LEGACY_PTYS is not set
>> +# CONFIG_DEVKMEM is not set
>> +CONFIG_SERIAL_AMBA_PL011=y
>> +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
>> +# CONFIG_HW_RANDOM is not set
>> +CONFIG_I2C=y
>> +# CONFIG_I2C_COMPAT is not set
>> +CONFIG_I2C_CHARDEV=y
>> +CONFIG_I2C_MUX=y
>> +CONFIG_I2C_MUX_GPIO=y
>> +CONFIG_I2C_GPIO=y
>> +CONFIG_I2C_MXS=y
>> +CONFIG_SPI=y
>> +CONFIG_SPI_GPIO=y
>> +CONFIG_SPI_MXS=y
>> +CONFIG_SPI_SPIDEV=y
>> +CONFIG_GPIO_SYSFS=y
>> +CONFIG_GPIO_PCA953X_IRQ=y
>> +CONFIG_GPIO_74X164=y
>> +CONFIG_W1=y
>> +CONFIG_W1_MASTER_GPIO=y
>> +CONFIG_W1_SLAVE_THERM=y
>> +CONFIG_SENSORS_IIO_HWMON=y
>> +CONFIG_SENSORS_MXS_CPU=y
>> +CONFIG_REGULATOR=y
>> +CONFIG_REGULATOR_FIXED_VOLTAGE=y
>> +CONFIG_FB=y
>> +CONFIG_FB_MXS=y
>> +CONFIG_BACKLIGHT_LCD_SUPPORT=y
>> +CONFIG_LCD_CLASS_DEVICE=y
>> +CONFIG_LCD_HX8357=y
>> +CONFIG_BACKLIGHT_CLASS_DEVICE=y
>> +# CONFIG_BACKLIGHT_GENERIC is not set
>> +CONFIG_BACKLIGHT_PWM=y
>> +CONFIG_FB_SSD1307=y
>> +CONFIG_SOUND=y
>> +CONFIG_SND=y
>> +CONFIG_SND_SOC=y
>> +CONFIG_SND_MXS_SOC=y
>> +CONFIG_SND_SOC_MXS_SGTL5000=y
>> +CONFIG_HID_LOGITECH_DJ=m
>> +CONFIG_USB=y
>> +CONFIG_USB_DEBUG=y
>> +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
>> +CONFIG_USB_EHCI_HCD=y
>> +CONFIG_USB_ACM=y
>> +CONFIG_USB_STORAGE=y
>> +CONFIG_USB_STORAGE_DEBUG=y
>> +CONFIG_USB_CHIPIDEA=y
>> +CONFIG_USB_CHIPIDEA_UDC=y
>> +CONFIG_USB_CHIPIDEA_HOST=y
>> +CONFIG_USB_CHIPIDEA_DEBUG=y
>> +CONFIG_USB_PHY=y
>> +CONFIG_USB_MXS_PHY=y
>> +CONFIG_USB_GADGET=y
>> +CONFIG_USB_ETH=y
>> +CONFIG_USB_ETH_EEM=y
>> +CONFIG_MMC=y
>> +CONFIG_MMC_MXS=y
>> +CONFIG_NEW_LEDS=y
>> +CONFIG_LEDS_CLASS=y
>> +CONFIG_LEDS_GPIO=y
>> +CONFIG_LEDS_TRIGGERS=y
>> +CONFIG_LEDS_TRIGGER_HEARTBEAT=y
>> +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
>> +CONFIG_RTC_CLASS=y
>> +CONFIG_RTC_DRV_DS1307=m
>> +CONFIG_DMADEVICES=y
>> +CONFIG_MXS_DMA=y
>> +CONFIG_STAGING=y
>> +CONFIG_MXS_LRADC=y
>> +CONFIG_IIO=y
>> +CONFIG_NAU7802=y
>> +CONFIG_PWM_MXS=y
>> +CONFIG_EXT3_FS=y
>> +# CONFIG_DNOTIFY is not set
>> +CONFIG_FSCACHE=m
>> +CONFIG_FSCACHE_STATS=y
>> +CONFIG_CACHEFILES=m
>> +CONFIG_TMPFS=y
>> +CONFIG_TMPFS_POSIX_ACL=y
>> +# CONFIG_MISC_FILESYSTEMS is not set
>> +CONFIG_NFS_FS=y
>> +CONFIG_NFS_V3_ACL=y
>> +CONFIG_NFS_V4=y
>> +CONFIG_ROOT_NFS=y
>> +CONFIG_PRINTK_TIME=y
>> +CONFIG_FRAME_WARN=2048
>> +CONFIG_MAGIC_SYSRQ=y
>> +CONFIG_UNUSED_SYMBOLS=y
>> +CONFIG_DEBUG_KERNEL=y
>> +CONFIG_LOCKUP_DETECTOR=y
>> +CONFIG_TIMER_STATS=y
>> +CONFIG_PROVE_LOCKING=y
>> +CONFIG_DEBUG_INFO=y
>> +CONFIG_BLK_DEV_IO_TRACE=y
>> +CONFIG_STRICT_DEVMEM=y
>> +CONFIG_DEBUG_USER=y
>> +CONFIG_DEBUG_LL=y
>> +CONFIG_DEBUG_IMX28_UART=y
>> +CONFIG_EARLY_PRINTK=y
>> +CONFIG_CRYPTO_CRC32C=m
>> +CONFIG_CRYPTO_ARC4=y
>> +# CONFIG_CRYPTO_ANSI_CPRNG is not set
>> +# CONFIG_CRYPTO_HW is not set
>> +CONFIG_CRC16=y
>> +CONFIG_CRC_ITU_T=m
>> +CONFIG_CRC7=m
>> +CONFIG_AVERAGE=y
>> diff --git a/recipes-kernel/linux/linux-cfa_3.10.bb b/recipes-kernel/linux/linux-cfa_3.10.bb
>> new file mode 100644
>> index 0000000..2c2a723
>> --- /dev/null
>> +++ b/recipes-kernel/linux/linux-cfa_3.10.bb
>> @@ -0,0 +1,33 @@
>> +DESCRIPTION = "Linux kernel for Crystalfontz boards"
>> +SECTion = "kernel"
>> +LICENSE = "GPLv2"
>> +
>> +LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
>> +
>> +inherit kernel
>> +require recipes-kernel/linux/linux-dtb.inc
>> +
>> +SRC_URI = "git://github.com/crystalfontz/cfa_10036_kernel \
>> +           file://defconfig"
>> +
>> +SRCREV = "552d876f4737ffeb18c9139ede3c439bdcafca94"
>> +
>> +S = "${WORKDIR}/git"
>> +
>> +# create symlinks that are the defaults of barebox
>> +pkg_postinst_kernel-devicetree_append () {
>> +       for DTB_FILE in ${KERNEL_DEVICETREE}
>> +       do
>> +               DTB_BASE_NAME=`basename ${DTB_FILE} | awk -F "." '{print $1}'`
>> +               DTB_BOARD_NAME=`echo ${DTB_BASE_NAME} | awk -F "-" '{print $2}'`
>> +               DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTB_BASE_NAME}/g"`
>> +               update-alternatives --install /${KERNEL_IMAGEDEST}/oftree-${DTB_BOARD_NAME} oftree-${DTB_BOARD_NAME} devicetree-${DTB_SYMLINK_NAME}.dtb ${KERNEL_PRIORITY} || true
>> +       done
>> +}
>> +
>> +pkg_postinst_kernel-image_append () {
>> +       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${MACHINE} ${KERNEL_IMAGETYPE}-${MACHINE} ${KERNEL_IMAGETYPE}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
>> +}
>> +
>> +COMPATIBLE_MACHINE = "cfa10036"
>> +
>> --
>> 1.8.1.2
>>
>> _______________________________________________
>> meta-freescale mailing list
>> meta-freescale at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/meta-freescale


-- 
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com




More information about the meta-freescale mailing list