diff mbox

[v2,1/1] board: add support for Warpboard

Message ID 1434988018-16391-1-git-send-email-lambertarthur22@gmail.com
State Changes Requested
Headers show

Commit Message

Arthur LAMBERT June 22, 2015, 3:46 p.m. UTC
This is a set of patch to add support for warpboard (Freescale board based on imx6sl)
The patch contains :
  - defconfig for warpboard
  - kernel defconfig due to specific need for bluetooth/wifi
  - linux patch from Fabio Estevam to fix device tree due to last change on warpboard schematics (rev 1.12)
  - specific firmware file for warpboard bluetooth (nvram : brcmfmac4330-sdio.txt)

Changes v1 -> v2:
  - add specific kernel headers
  - use wget download rather than git download for kernel
  - fix version symbol for uboot
  - add imx_usb_loader host utility
  - remove bin firmware file and enable linux-firmware package instead
  - fix command to enable bluetooth and fix protocol for hci in custom kernel config

Signed-off-by: Arthur LAMBERT <lambertarthur22@gmail.com>
---
 board/freescale/warpboard/README                   |  50 ++++
 board/freescale/warpboard/linux-4.0.config         | 278 +++++++++++++++++++++
 .../linux/linux-001-add-sdm-firmware.patch         | 145 +++++++++++
 .../linux/linux-002-replace-uart2-by-uart5.patch   | 103 ++++++++
 .../lib/firmware/brcm/brcmfmac4330-sdio.txt        |  40 +++
 configs/warpboard_defconfig                        |  42 ++++
 6 files changed, 658 insertions(+)
 create mode 100644 board/freescale/warpboard/README
 create mode 100644 board/freescale/warpboard/linux-4.0.config
 create mode 100644 board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch
 create mode 100644 board/freescale/warpboard/linux/linux-002-replace-uart2-by-uart5.patch
 create mode 100644 board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt
 create mode 100644 configs/warpboard_defconfig

Comments

Arthur LAMBERT June 22, 2015, 5:13 p.m. UTC | #1
All,

By the way I could say that there will be at least a v3 because I have
at least one error in my kernel defconfig because I can reduce it
drastically by using imx_v6_v7_defconfig

Sorry for that.

Arthur.

2015-06-22 17:46 GMT+02:00 Arthur LAMBERT <lambertarthur22@gmail.com>:
> This is a set of patch to add support for warpboard (Freescale board based on imx6sl)
> The patch contains :
>   - defconfig for warpboard
>   - kernel defconfig due to specific need for bluetooth/wifi
>   - linux patch from Fabio Estevam to fix device tree due to last change on warpboard schematics (rev 1.12)
>   - specific firmware file for warpboard bluetooth (nvram : brcmfmac4330-sdio.txt)
>
> Changes v1 -> v2:
>   - add specific kernel headers
>   - use wget download rather than git download for kernel
>   - fix version symbol for uboot
>   - add imx_usb_loader host utility
>   - remove bin firmware file and enable linux-firmware package instead
>   - fix command to enable bluetooth and fix protocol for hci in custom kernel config
>
> Signed-off-by: Arthur LAMBERT <lambertarthur22@gmail.com>
> ---
>  board/freescale/warpboard/README                   |  50 ++++
>  board/freescale/warpboard/linux-4.0.config         | 278 +++++++++++++++++++++
>  .../linux/linux-001-add-sdm-firmware.patch         | 145 +++++++++++
>  .../linux/linux-002-replace-uart2-by-uart5.patch   | 103 ++++++++
>  .../lib/firmware/brcm/brcmfmac4330-sdio.txt        |  40 +++
>  configs/warpboard_defconfig                        |  42 ++++
>  6 files changed, 658 insertions(+)
>  create mode 100644 board/freescale/warpboard/README
>  create mode 100644 board/freescale/warpboard/linux-4.0.config
>  create mode 100644 board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch
>  create mode 100644 board/freescale/warpboard/linux/linux-002-replace-uart2-by-uart5.patch
>  create mode 100644 board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt
>  create mode 100644 configs/warpboard_defconfig
>
> diff --git a/board/freescale/warpboard/README b/board/freescale/warpboard/README
> new file mode 100644
> index 0000000..d21ab48
> --- /dev/null
> +++ b/board/freescale/warpboard/README
> @@ -0,0 +1,50 @@
> +Build
> +=====
> +
> +First, configure Buildroot for your WarpBoard.
> +  make warpboard_defconfig
> +
> +Build all components:
> +  make
> +
> +You will find in ./output/images/ the following files:
> +  - imx6sl-warp.dtb
> +  - rootfs.ext2
> +  - rootfs.tar
> +  - u-boot.imx
> +  - zImage
> +
> +Update uboot
> +============
> +
> +You will find a process written by by Fabio Estevam available in freescale repository on github :
> +https://raw.githubusercontent.com/Freescale/u-boot-fslc/patches-2015.04/board/warp/README by Fabio Estevam
> +
> +Update linux & rootfs
> +=====================
> +
> +Use ums command from uboot prompt to mount emmc as mass storage and update zImage, device tree and rootfs file
> +=> ums 0 mmc 0
> +
> +Fast way to update kernel image
> +===============================
> +
> +- Get new zImage and dtb file on the board by using scp through usb0
> +-  Copy zImage, device tree file in boot partition :
> +  mkdir kernel
> +  mount -t vfat /dev/mmcblk0p1 kernel
> +  cp zImage  kernel/.
> +  cp imx6sl-warp.dtb  kernel/.
> +  sync
> +  umount kernel
> +  rm -r kernel
> +
> +Enable bluetooth
> +================
> +hciattach /dev/ttymxc4 any
> +hciconfig hci0 up
> +
> +Enable Wifi
> +==========
> +modprobe brcmfmac
> +ifconfig wlan0 up
> diff --git a/board/freescale/warpboard/linux-4.0.config b/board/freescale/warpboard/linux-4.0.config
> new file mode 100644
> index 0000000..d5919af
> --- /dev/null
> +++ b/board/freescale/warpboard/linux-4.0.config
> @@ -0,0 +1,278 @@
> +CONFIG_KERNEL_LZO=y
> +CONFIG_SYSVIPC=y
> +CONFIG_FHANDLE=y
> +CONFIG_NO_HZ=y
> +CONFIG_HIGH_RES_TIMERS=y
> +CONFIG_RCU_FANOUT=32
> +CONFIG_LOG_BUF_SHIFT=18
> +CONFIG_CGROUPS=y
> +CONFIG_RELAY=y
> +CONFIG_BLK_DEV_INITRD=y
> +CONFIG_EXPERT=y
> +# CONFIG_SGETMASK_SYSCALL is not set
> +# CONFIG_SLUB_DEBUG is not set
> +# CONFIG_COMPAT_BRK is not set
> +CONFIG_MODULES=y
> +CONFIG_MODULE_UNLOAD=y
> +CONFIG_MODVERSIONS=y
> +CONFIG_MODULE_SRCVERSION_ALL=y
> +# CONFIG_BLK_DEV_BSG is not set
> +CONFIG_SMP=y
> +CONFIG_NR_CPUS=4
> +# CONFIG_SCHED_MC is not set
> +CONFIG_PREEMPT_VOLUNTARY=y
> +CONFIG_CMA=y
> +# CONFIG_SECCOMP is not set
> +CONFIG_HZ_100=y
> +CONFIG_PM_DEBUG=y
> +CONFIG_PM_TEST_SUSPEND=y
> +CONFIG_CPU_FREQ=y
> +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
> +CONFIG_PCIEPORTBUS=y
> +CONFIG_BINFMT_MISC=m
> +CONFIG_NET=y
> +CONFIG_PACKET=y
> +CONFIG_UNIX=y
> +CONFIG_INET=y
> +CONFIG_IP_PNP=y
> +CONFIG_IP_PNP_DHCP=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_IPV6=y
> +CONFIG_NETFILTER=y
> +CONFIG_CAN=y
> +CONFIG_BT=y
> +CONFIG_BT_RFCOMM=y
> +CONFIG_BT_HCIUART=y
> +CONFIG_BT_HCIUART_H4=y
> +CONFIG_CFG80211=y
> +CONFIG_MAC80211=y
> +CONFIG_RFKILL=y
> +CONFIG_RFKILL_INPUT=y
> +CONFIG_DEVTMPFS=y
> +CONFIG_DEVTMPFS_MOUNT=y
> +# CONFIG_STANDALONE is not set
> +CONFIG_DMA_CMA=y
> +CONFIG_CMA_SIZE_MBYTES=16
> +CONFIG_CONNECTOR=y
> +CONFIG_MTD=y
> +CONFIG_MTD_CMDLINE_PARTS=y
> +CONFIG_MTD_BLOCK=y
> +CONFIG_MTD_CFI=y
> +CONFIG_MTD_JEDECPROBE=y
> +CONFIG_MTD_CFI_INTELEXT=y
> +CONFIG_MTD_CFI_AMDSTD=y
> +CONFIG_MTD_CFI_STAA=y
> +CONFIG_MTD_DATAFLASH=y
> +CONFIG_MTD_M25P80=y
> +CONFIG_MTD_SST25L=y
> +CONFIG_MTD_NAND=y
> +CONFIG_MTD_SPI_NOR=y
> +CONFIG_MTD_UBI=y
> +CONFIG_BLK_DEV_LOOP=y
> +CONFIG_BLK_DEV_RAM=y
> +CONFIG_BLK_DEV_RAM_SIZE=65536
> +CONFIG_SRAM=y
> +CONFIG_EEPROM_AT24=y
> +CONFIG_EEPROM_AT25=y
> +# CONFIG_SCSI_PROC_FS is not set
> +CONFIG_BLK_DEV_SD=y
> +CONFIG_SCSI_CONSTANTS=y
> +CONFIG_SCSI_LOGGING=y
> +CONFIG_SCSI_SCAN_ASYNC=y
> +# CONFIG_SCSI_LOWLEVEL is not set
> +CONFIG_ATA=y
> +CONFIG_SATA_AHCI_PLATFORM=y
> +CONFIG_NETDEVICES=y
> +# CONFIG_NET_VENDOR_BROADCOM is not set
> +# CONFIG_NET_VENDOR_INTEL is not set
> +# CONFIG_NET_VENDOR_MARVELL is not set
> +# CONFIG_NET_VENDOR_MICREL is not set
> +# CONFIG_NET_VENDOR_MICROCHIP is not set
> +# CONFIG_NET_VENDOR_NATSEMI is not set
> +# CONFIG_NET_VENDOR_SEEQ is not set
> +CONFIG_SMSC911X=y
> +# CONFIG_NET_VENDOR_STMICRO is not set
> +CONFIG_AT803X_PHY=y
> +CONFIG_USB_PEGASUS=m
> +CONFIG_USB_RTL8150=m
> +CONFIG_USB_RTL8152=m
> +CONFIG_USB_USBNET=m
> +CONFIG_USB_NET_CDC_EEM=m
> +CONFIG_BRCMFMAC=m
> +CONFIG_INPUT_MATRIXKMAP=y
> +# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
> +CONFIG_INPUT_EVDEV=y
> +CONFIG_INPUT_EVBUG=m
> +CONFIG_KEYBOARD_GPIO=y
> +CONFIG_MOUSE_PS2=m
> +CONFIG_MOUSE_PS2_ELANTECH=y
> +CONFIG_INPUT_TOUCHSCREEN=y
> +CONFIG_TOUCHSCREEN_MC13783=y
> +CONFIG_TOUCHSCREEN_TSC2007=y
> +CONFIG_INPUT_MISC=y
> +CONFIG_INPUT_MMA8450=y
> +CONFIG_SERIO_SERPORT=m
> +# CONFIG_LEGACY_PTYS is not set
> +# CONFIG_DEVKMEM is not set
> +CONFIG_SERIAL_FSL_LPUART=y
> +CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
> +CONFIG_HW_RANDOM=y
> +# CONFIG_I2C_COMPAT is not set
> +CONFIG_I2C_CHARDEV=y
> +# CONFIG_I2C_HELPER_AUTO is not set
> +CONFIG_I2C_ALGOPCF=m
> +CONFIG_I2C_ALGOPCA=m
> +CONFIG_SPI=y
> +CONFIG_SPI_BITBANG=y
> +CONFIG_SPI_SPIDEV=y
> +CONFIG_PTP_1588_CLOCK=y
> +CONFIG_GPIOLIB=y
> +CONFIG_GPIO_SYSFS=y
> +CONFIG_POWER_RESET=y
> +CONFIG_SENSORS_GPIO_FAN=y
> +CONFIG_WATCHDOG=y
> +CONFIG_WATCHDOG_CORE=y
> +CONFIG_MFD_DA9052_I2C=y
> +CONFIG_MFD_MC13XXX_SPI=y
> +CONFIG_MFD_MC13XXX_I2C=y
> +CONFIG_MFD_SYSCON=y
> +CONFIG_REGULATOR=y
> +CONFIG_REGULATOR_FIXED_VOLTAGE=y
> +CONFIG_REGULATOR_ANATOP=y
> +CONFIG_REGULATOR_DA9052=y
> +CONFIG_REGULATOR_GPIO=y
> +CONFIG_REGULATOR_MC13783=y
> +CONFIG_REGULATOR_MC13892=y
> +CONFIG_REGULATOR_PFUZE100=y
> +CONFIG_MEDIA_SUPPORT=y
> +CONFIG_MEDIA_CAMERA_SUPPORT=y
> +CONFIG_MEDIA_RC_SUPPORT=y
> +CONFIG_RC_DEVICES=y
> +CONFIG_IR_GPIO_CIR=y
> +CONFIG_MEDIA_USB_SUPPORT=y
> +CONFIG_USB_VIDEO_CLASS=m
> +CONFIG_V4L_PLATFORM_DRIVERS=y
> +CONFIG_SOC_CAMERA=y
> +CONFIG_V4L_MEM2MEM_DRIVERS=y
> +CONFIG_SOC_CAMERA_OV2640=y
> +CONFIG_DRM=y
> +CONFIG_FB=y
> +CONFIG_FB_MODE_HELPERS=y
> +CONFIG_BACKLIGHT_LCD_SUPPORT=y
> +CONFIG_LCD_CLASS_DEVICE=y
> +CONFIG_LCD_L4F00242T03=y
> +CONFIG_LCD_PLATFORM=y
> +CONFIG_BACKLIGHT_CLASS_DEVICE=y
> +CONFIG_BACKLIGHT_PWM=y
> +CONFIG_BACKLIGHT_GPIO=y
> +CONFIG_FRAMEBUFFER_CONSOLE=y
> +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
> +CONFIG_LOGO=y
> +CONFIG_SOUND=y
> +CONFIG_SND=y
> +CONFIG_SND_USB_AUDIO=m
> +CONFIG_SND_SOC=y
> +CONFIG_SND_SOC_FSL_SAI=y
> +CONFIG_SND_SOC_FSL_SSI=y
> +CONFIG_SND_SOC_FSL_SPDIF=y
> +CONFIG_SND_SOC_IMX_AUDMUX=y
> +CONFIG_SND_SOC_SGTL5000=y
> +CONFIG_SND_SOC_TLV320AIC23_I2C=y
> +CONFIG_SND_SOC_TLV320AIC3X=y
> +CONFIG_SND_SOC_WM8962=y
> +CONFIG_SND_SIMPLE_CARD=y
> +CONFIG_USB=y
> +CONFIG_USB_EHCI_HCD=y
> +CONFIG_USB_STORAGE=y
> +CONFIG_USB_CHIPIDEA=y
> +CONFIG_USB_CHIPIDEA_UDC=y
> +CONFIG_USB_CHIPIDEA_HOST=y
> +CONFIG_USB_SERIAL=m
> +CONFIG_USB_SERIAL_GENERIC=y
> +CONFIG_USB_SERIAL_FTDI_SIO=m
> +CONFIG_USB_SERIAL_OPTION=m
> +CONFIG_USB_EHSET_TEST_FIXTURE=m
> +CONFIG_NOP_USB_XCEIV=y
> +CONFIG_USB_GADGET=y
> +CONFIG_USB_ETH=y
> +CONFIG_MMC=y
> +CONFIG_MMC_SDHCI=y
> +CONFIG_MMC_SDHCI_PLTFM=y
> +CONFIG_NEW_LEDS=y
> +CONFIG_LEDS_CLASS=y
> +CONFIG_LEDS_GPIO=y
> +CONFIG_LEDS_TRIGGERS=y
> +CONFIG_LEDS_TRIGGER_TIMER=y
> +CONFIG_LEDS_TRIGGER_ONESHOT=y
> +CONFIG_LEDS_TRIGGER_HEARTBEAT=y
> +CONFIG_LEDS_TRIGGER_BACKLIGHT=y
> +CONFIG_LEDS_TRIGGER_GPIO=y
> +CONFIG_RTC_CLASS=y
> +CONFIG_RTC_INTF_DEV_UIE_EMUL=y
> +CONFIG_RTC_DRV_DS1307=y
> +CONFIG_RTC_DRV_ISL1208=y
> +CONFIG_RTC_DRV_PCF8563=y
> +# CONFIG_RTC_DRV_CMOS is not set
> +CONFIG_RTC_DRV_MC13XXX=y
> +CONFIG_DMADEVICES=y
> +CONFIG_STAGING=y
> +# CONFIG_IOMMU_SUPPORT is not set
> +CONFIG_PWM=y
> +CONFIG_RESET_CONTROLLER=y
> +CONFIG_EXT2_FS=y
> +CONFIG_EXT2_FS_XATTR=y
> +CONFIG_EXT2_FS_POSIX_ACL=y
> +CONFIG_EXT2_FS_SECURITY=y
> +CONFIG_EXT3_FS=y
> +CONFIG_EXT3_FS_POSIX_ACL=y
> +CONFIG_EXT3_FS_SECURITY=y
> +CONFIG_EXT4_FS=y
> +CONFIG_EXT4_FS_POSIX_ACL=y
> +CONFIG_EXT4_FS_SECURITY=y
> +CONFIG_QUOTA=y
> +CONFIG_QUOTA_NETLINK_INTERFACE=y
> +# CONFIG_PRINT_QUOTA_WARNING is not set
> +CONFIG_AUTOFS4_FS=y
> +CONFIG_FUSE_FS=y
> +CONFIG_ISO9660_FS=m
> +CONFIG_JOLIET=y
> +CONFIG_ZISOFS=y
> +CONFIG_UDF_FS=m
> +CONFIG_MSDOS_FS=m
> +CONFIG_VFAT_FS=y
> +CONFIG_TMPFS=y
> +CONFIG_JFFS2_FS=y
> +CONFIG_UBIFS_FS=y
> +CONFIG_NFS_FS=y
> +CONFIG_NFS_V3_ACL=y
> +CONFIG_NFS_V4=y
> +CONFIG_ROOT_NFS=y
> +CONFIG_NLS_DEFAULT="cp437"
> +CONFIG_NLS_CODEPAGE_437=y
> +CONFIG_NLS_ASCII=y
> +CONFIG_NLS_ISO8859_1=y
> +CONFIG_NLS_ISO8859_15=m
> +CONFIG_NLS_UTF8=y
> +CONFIG_PRINTK_TIME=y
> +CONFIG_FRAME_WARN=1024
> +# CONFIG_UNUSED_SYMBOLS is not set
> +CONFIG_DEBUG_FS=y
> +CONFIG_MAGIC_SYSRQ=y
> +# CONFIG_SCHED_DEBUG is not set
> +CONFIG_PROVE_LOCKING=y
> +# CONFIG_DEBUG_BUGVERBOSE is not set
> +# CONFIG_FTRACE is not set
> +CONFIG_SECURITYFS=y
> +# CONFIG_CRYPTO_ANSI_CPRNG is not set
> +# CONFIG_CRYPTO_HW is not set
> +# CONFIG_VIRTUALIZATION is not set
> +CONFIG_CRC_CCITT=m
> +CONFIG_CRC_T10DIF=y
> +CONFIG_CRC7=m
> +CONFIG_LIBCRC32C=m
> +CONFIG_FONTS=y
> +CONFIG_FONT_8x8=y
> +CONFIG_FONT_8x16=y
> diff --git a/board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch b/board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch
> new file mode 100644
> index 0000000..d9706c1
> --- /dev/null
> +++ b/board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch
> @@ -0,0 +1,145 @@
> +diff -Naur linux-patches-4.0.old/firmware/imx/sdma/sdma-imx6q.bin.ihex linux-patches-4.0/firmware/imx/sdma/sdma-imx6q.bin.ihex
> +--- linux-patches-4.0.old/firmware/imx/sdma/sdma-imx6q.bin.ihex        1970-01-01 01:00:00.000000000 +0100
> ++++ linux-patches-4.0/firmware/imx/sdma/sdma-imx6q.bin.ihex    2015-04-07 11:25:07.315668667 +0200
> +@@ -0,0 +1,130 @@
> ++:1000000053444D4103000000010000001C000000AB
> ++:1000100029000000C0000000480700008202000024
> ++:10002000FFFFFFFF00000000FFFFFFFFFFFFFFFFDC
> ++:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
> ++:10004000FFFFFFFFFFFFFFFFFA1900004B04000056
> ++:10005000EB020000A8180000FFFFFFFF581A000085
> ++:10006000FFFFFFFFC0030000FFFFFFFFFFFFFFFFD9
> ++:10007000FFFFFFFFAB020000FFFFFFFF7B0300005D
> ++:10008000FFFFFFFFFFFFFFFF4C0400006E040000B6
> ++:10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
> ++:1000A00000000000001800004F180000A619000012
> ++:1000B000071B0000A21A00003E1B000000180000F1
> ++:1000C000E3C1DB57F352016AFB52D36AFB521C1A9D
> ++:1000D000C36AE8621102FF3A3008D002337C8F0015
> ++:1000E000D500017D8D00A005EB5D7804037D7904CA
> ++:1000F0001C7D207C7904157CEE566006057D096523
> ++:10010000287E0A62267E28980A62237E0965217E5F
> ++:1001100012051205AD02C86A1C7F03200048ED7C61
> ++:10012000409802780962C86A3F98150002780A620E
> ++:10013000C86A3F981500150002780B62C86A097CEE
> ++:10014000DF6D077F0000EB55004D077DFAC1DB57DF
> ++:1001500006980700CC680C6813C20AC20198D9C17E
> ++:10016000E3C1DB57E35FE357F352216A8F00D50009
> ++:10017000017D8D00A005EB5DFB567804037D7904BD
> ++:100180002A7D317C7904207C700B1103EB53000F26
> ++:100190006003057D0965377E0A62357E73980A62C1
> ++:1001A000327E0965307E12051205AD026007027CC1
> ++:1001B000065A7B98265A277F011F03200048E87CB7
> ++:1001C000700B110313539C98150004780962065AAA
> ++:1001D0000962265A9B981500150004780A62065A8F
> ++:1001E0000A62265A9B9815001500150004780B62C8
> ++:1001F000065A0B62265A077C0000EB55004D067D1F
> ++:10020000FAC1E357569807000C6813C20AC2539804
> ++:10021000700B110313536C07017CD9C1FB5E8A0676
> ++:100220006B07017CD9C1F35EDB59D3588F011001F4
> ++:100230000F398B003CC12B7DC05AC85B4EC1277C57
> ++:1002400088038906E35CFF0D1105FF1DBC053E0711
> ++:10025000004D187D700811007E07097D7D07027D25
> ++:100260002852D398F852DB54BC02CC02097C7C079C
> ++:10027000027D2852DC98F852D354BC02CC02097D8E
> ++:100280000004CA988B00C052C85359C1D67D0002E1
> ++:10029000BA98FF08BF007F07157D8804D500017D4F
> ++:1002A0008D00A005EB5D8F0212021202FF3ADA0503
> ++:1002B000027C3E070599A402DD02027D3E070599F6
> ++:1002C0005E070599EB559805EB5DF352FB546A0701
> ++:1002D000267D6C07017D42996B07577C6907047D79
> ++:1002E0006807027D010E1C999358D600017D8E008F
> ++:1002F0009355A005935DA00602780255045D1D7C10
> ++:10030000004E087C6907037D0255177E2999045D1C
> ++:10031000147F890693500048017D14998D9915002A
> ++:1003200006780255045D4F070255245D2F07017CB6
> ++:100330008D9917006F07017C012093559D000700E0
> ++:1003400094D9E298D36C6907047D6807027D010E99
> ++:1003500051999358D600017D8E009355A005935D69
> ++:10036000A00602780255C86D0F7C004E087C690714
> ++:10037000037D0255097E5E99C86D067F89069350FC
> ++:100380000048017D49998D998799C36A6907047D61
> ++:100390006807027D010E74999358D600017D8E0086
> ++:1003A0009355A005935DA0060278C865045D0F7C97
> ++:1003B000004E087C6907037DC865097E8199045D4C
> ++:1003C000067F890693500048017D6C998D9993555D
> ++:1003D0009D000700FF6C94D9E2980000E354EB55B0
> ++:1003E000004D017CE298CA98E354EB55FF0A1102D4
> ++:1003F000FF1A7F07027CA005A1999D008C05BA0514
> ++:10040000A0051002BA04AD0454040600D9C1E3C12A
> ++:10041000DB57F352056A8F00D500017D8D00A005E2
> ++:10042000FB567804037D7904297D1F7C79042E7C9A
> ++:10043000E35D700D1105ED55000F6007027D06525A
> ++:10044000C2992652337E6005027D10021202096AAB
> ++:100450002D7F1202096A2A7F1202096A277F011F73
> ++:1004600003200048EA7CE355ED99150015001500BE
> ++:10047000047806520B6A26520B6AEC991500150097
> ++:10048000047806520A6A26520A6AEC991500047822
> ++:100490000652096A2652096A097C286A077F000009
> ++:1004A000DB57004D057DFAC1DB57AB9977C2540489
> ++:1004B0000AC2A899E3C1DB57F352056AFB568E02C4
> ++:1004C000941AC36AC8626902267D941EC36ED36EF5
> ++:1004D000C8624802C86A9426981EC36EC8629826ED
> ++:1004E000C36E60020E7D981EC36EC8626C02037DEF
> ++:1004F0009826C36E3B9A4C02D36EC86A9826C36E88
> ++:100500004B9AC8626E02017C459A096A1A7F0125DE
> ++:10051000004D217D0C9AE36E8F00D805017D8D0082
> ++:10052000C8626E02127D096A0C7F01250120F87CE9
> ++:10053000DB57004D107D286A047F0000FAC1DB57AD
> ++:10054000FE99070004620C6A489A286AFA7F0462DE
> ++:100550007AC258045404FF081100FF18BC00CD00F3
> ++:10056000017C3B9A286AED7F04627AC20AC2FB9939
> ++:10057000D9C1E3C1DB57F352056AFB568E02941AC8
> ++:10058000025269021D7D941E06524802065A9426A4
> ++:10059000981E06524C02065A9826981E0652600271
> ++:1005A0000A7C982606526E02237D096A1D7F01256A
> ++:1005B000004D247D6D9A286A177F04627AC29E9A44
> ++:1005C0008F00D805017D8D00A00506526E02107DBA
> ++:1005D000096A0A7F0120F97C286A067F0000004D25
> ++:1005E0000D7DFAC1DB575D9A070004620C6A9B9A85
> ++:1005F000286AFA7F04627AC258045404286AF47F95
> ++:100600000AC25A9AE6DADB57F352056AC7698F00C5
> ++:10061000D500017D8D00A0057804037D79041C7D43
> ++:10062000157C79041E7CEE56C862287E6006027D29
> ++:1006300010021202096A227F1202096A1F7F120247
> ++:10064000096A1C7F03200048EF7CD59A150015002D
> ++:100650000278C8620B6AD49A15000278C8620A6AE6
> ++:10066000D49A0278C862096A097C286A077F004D1B
> ++:10067000077DD352010802580004A69A77C2540499
> ++:10068000D352010802580104FEDAA39A700B110339
> ++:100690001353DB5F0A07D3588B00FB5E3CC1157D0B
> ++:1006A000C05AC85B4EC1117C8803F05DFF0D110577
> ++:1006B000FF1DBC05004D047DFD9A0807DB5F0A079E
> ++:1006C0008B00C352CB5359C1EC7D0002EE9A016EF0
> ++:1006D0000B612F7E0B622D7E0B632B7E0C0D17049E
> ++:1006E000170417049D04081DCC05017C0C0DD16A6C
> ++:1006F000000F4207C86FDD6F1C7F8E009D000168F0
> ++:100700000B67177ED56B04080278C86F1207117C3F
> ++:100710000B670F7E04080278C86F12070A7CDD6F32
> ++:10072000087FD169010FC86FDD6F037F01010004ED
> ++:10073000139B0700FF680C680002139B83DBDB57E9
> ++:10074000F352056AFB52C76A8F00D500017D8D0008
> ++:10075000A0057804037D79041C7D157C79041E7C3A
> ++:10076000EE56C862287E6006027D10021202096AF7
> ++:10077000227F1202096A1F7F1202096A1C7F03206E
> ++:100780000048EF7C729B150015000278C8620B6A66
> ++:10079000719B15000278C8620A6A719B0278C86270
> ++:1007A000096A097C286A077F004D077DD35201083A
> ++:1007B00002580004429B77C25404D35201080258E5
> ++:1007C00001049BDB3F9B700B11031353DB5F0A0794
> ++:1007D000D3588B00FB5E3CC1157DC05AC85B4EC12F
> ++:1007E000117C8803F05DFF0D1105FF1DBC05004D58
> ++:1007F000047D9A9B0807DB5F0A078B00C352CB532B
> ++:0808000059C1EC7D00028B9B45
> ++:00000001FF
> +diff -Naur linux-patches-4.0.old/firmware/Makefile linux-patches-4.0/firmware/Makefile
> +--- linux-patches-4.0.old/firmware/Makefile    2015-04-07 11:20:57.243679386 +0200
> ++++ linux-patches-4.0/firmware/Makefile        2015-04-07 11:24:04.655671353 +0200
> +@@ -61,6 +61,7 @@
> +                                  radeon/RV770_pfp.bin radeon/RV770_me.bin \
> +                                  radeon/RV730_pfp.bin radeon/RV730_me.bin \
> +                                  radeon/RV710_pfp.bin radeon/RV710_me.bin
> ++fw-shipped-$(CONFIG_IMX_SDMA) += imx/sdma/sdma-imx6q.bin
> + fw-shipped-$(CONFIG_DVB_AV7110) += av7110/bootcode.bin
> + fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin
> + fw-shipped-$(CONFIG_E100) += e100/d101m_ucode.bin e100/d101s_ucode.bin \
> diff --git a/board/freescale/warpboard/linux/linux-002-replace-uart2-by-uart5.patch b/board/freescale/warpboard/linux/linux-002-replace-uart2-by-uart5.patch
> new file mode 100644
> index 0000000..d742c24
> --- /dev/null
> +++ b/board/freescale/warpboard/linux/linux-002-replace-uart2-by-uart5.patch
> @@ -0,0 +1,103 @@
> +From: Fabio Estevam <fabio.estevam@freescale.com>
> +Date: Fri, 29 May 2015 16:19:39 -0300
> +Subject: [PATCH] ARM: dts: imx6sl-warp: Add changes for rev1.12
> +
> +Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> +---
> + arch/arm/boot/dts/imx6sl-warp.dts | 32 +++++++++++++++++++-------------
> + 1 file changed, 19 insertions(+), 13 deletions(-)
> +
> +diff --git a/arch/arm/boot/dts/imx6sl-warp.dts b/arch/arm/boot/dts/imx6sl-warp.dts
> +index 0da906b..bdfa82b 100644
> +--- a/arch/arm/boot/dts/imx6sl-warp.dts
> ++++ b/arch/arm/boot/dts/imx6sl-warp.dts
> +@@ -61,7 +61,9 @@
> +       usdhc3_pwrseq: usdhc3_pwrseq {
> +               compatible = "mmc-pwrseq-simple";
> +               reset-gpios = <&gpio4 5 GPIO_ACTIVE_LOW>,       /* WL_REG_ON */
> ++                            <&gpio4 7 GPIO_ACTIVE_LOW>,       /* WL_HOSTWAKE */
> +                             <&gpio3 25 GPIO_ACTIVE_LOW>,      /* BT_REG_ON */
> ++                            <&gpio3 27 GPIO_ACTIVE_LOW>,      /* BT_HOSTWAKE */
> +                             <&gpio4 4 GPIO_ACTIVE_LOW>,       /* BT_WAKE */
> +                             <&gpio4 6 GPIO_ACTIVE_LOW>;       /* BT_RST_N */
> +       };
> +@@ -73,16 +75,16 @@
> +       status = "okay";
> + };
> +
> +-&uart2 {
> ++&uart3 {
> +       pinctrl-names = "default";
> +-      pinctrl-0 = <&pinctrl_uart2>;
> +-      fsl,uart-has-rtscts;
> ++      pinctrl-0 = <&pinctrl_uart3>;
> +       status = "okay";
> + };
> +
> +-&uart3 {
> ++&uart5 {
> +       pinctrl-names = "default";
> +-      pinctrl-0 = <&pinctrl_uart3>;
> ++      pinctrl-0 = <&pinctrl_uart5>;
> ++      fsl,uart-has-rtscts;
> +       status = "okay";
> + };
> +
> +@@ -130,14 +132,6 @@
> +                       >;
> +               };
> +
> +-              pinctrl_uart2: uart2grp {
> +-                      fsl,pins = <
> +-                              MX6SL_PAD_EPDC_D12__UART2_RX_DATA       0x41b0b1
> +-                              MX6SL_PAD_EPDC_D13__UART2_TX_DATA       0x41b0b1
> +-                              MX6SL_PAD_EPDC_D14__UART2_RTS_B         0x4130B1
> +-                              MX6SL_PAD_EPDC_D15__UART2_CTS_B         0x4130B1
> +-                      >;
> +-              };
> +
> +               pinctrl_uart3: uart3grp {
> +                       fsl,pins = <
> +@@ -146,6 +140,15 @@
> +                       >;
> +               };
> +
> ++              pinctrl_uart5: uart5grp {
> ++                      fsl,pins = <
> ++                              MX6SL_PAD_ECSPI1_SCLK__UART5_RX_DATA    0x41b0b1
> ++                              MX6SL_PAD_ECSPI1_MOSI__UART5_TX_DATA    0x41b0b1
> ++                              MX6SL_PAD_ECSPI1_MISO__UART5_RTS_B      0x4130b1
> ++                              MX6SL_PAD_ECSPI1_SS0__UART5_CTS_B       0x4130b1
> ++                      >;
> ++              };
> ++
> +               pinctrl_usdhc2: usdhc2grp {
> +                       fsl,pins = <
> +                               MX6SL_PAD_SD2_CMD__SD2_CMD              0x417059
> +@@ -158,6 +161,7 @@
> +                               MX6SL_PAD_SD2_DAT5__SD2_DATA5           0x417059
> +                               MX6SL_PAD_SD2_DAT6__SD2_DATA6           0x417059
> +                               MX6SL_PAD_SD2_DAT7__SD2_DATA7           0x417059
> ++                              MX6SL_PAD_SD2_RST__SD2_RESET            0x417059
> +                       >;
> +               };
> +
> +@@ -173,6 +177,7 @@
> +                               MX6SL_PAD_SD2_DAT5__SD2_DATA5           0x4170b9
> +                               MX6SL_PAD_SD2_DAT6__SD2_DATA6           0x4170b9
> +                               MX6SL_PAD_SD2_DAT7__SD2_DATA7           0x4170b9
> ++                              MX6SL_PAD_SD2_RST__SD2_RESET            0x4170b9
> +                       >;
> +               };
> +
> +@@ -188,6 +193,7 @@
> +                               MX6SL_PAD_SD2_DAT5__SD2_DATA5           0x4170f9
> +                               MX6SL_PAD_SD2_DAT6__SD2_DATA6           0x4170f9
> +                               MX6SL_PAD_SD2_DAT7__SD2_DATA7           0x4170f9
> ++                              MX6SL_PAD_SD2_RST__SD2_RESET            0x4170f9
> +                       >;
> +               };
> +
> +--
> +1.9.1
> +
> diff --git a/board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt b/board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt
> new file mode 100644
> index 0000000..9546246
> --- /dev/null
> +++ b/board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt
> @@ -0,0 +1,40 @@
> +# bcm94330wlsdgb.txt
> +manfid=0x2d0
> +prodid=0x0552
> +vendid=0x14e4
> +devid=0x4360
> +boardtype=0x0552
> +boardrev=0x11
> +# this design has 2.4GHz SP3T switch
> +boardflags=0x00080200
> +nocrc=1
> +xtalfreq=37400
> +boardnum=22
> +macaddr=00:90:4c:c5:12:38
> +ag0=255
> +aa2g=1
> +ccode=CN
> +pa0b0=0x14d0
> +pa0b1=0xfd98
> +pa0b2=0xff78
> +rssismf2g=0xa
> +rssismc2g=0x3
> +rssisav2g=0x7
> +maxp2ga0=0x50
> +sromrev=3
> +il0macaddr=00:90:4c:c5:12:38
> +wl0id=0x431b
> +cckPwrOffset=5
> +ofdm2gpo=0x66666666
> +mcs2gpo0=0x6666
> +mcs2gpo1=0x6666
> +swctrlmap_2g=0x04040404,0x02020202,0x02020404,0x10202,0x1ff
> +swctrlmap_5g=0x00100010,0x00280020,0x00200010,0x14202,0x2f8
> +rfreg033=0x19
> +rfreg033_cck=0x1f
> +dacrate2g=160
> +txalpfbyp2g=1
> +bphyscale=17
> +cckPwrIdxCorr=-15
> +pacalidx2g=45
> +txgaintbl=1
> diff --git a/configs/warpboard_defconfig b/configs/warpboard_defconfig
> new file mode 100644
> index 0000000..a8afa2c
> --- /dev/null
> +++ b/configs/warpboard_defconfig
> @@ -0,0 +1,42 @@
> +# architecture
> +BR2_arm=y
> +BR2_cortex_a9=y
> +
> +# system
> +BR2_TARGET_GENERIC_HOSTNAME="warpboard"
> +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
> +
> +# kernel
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
> +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="http://github.com/Freescale/linux-fslc/tarball/38ec11d/linux-fslc-38ec11d.tar.gz"
> +BR2_LINUX_KERNEL_PATCH="board/freescale/warpboard/linux/"
> +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
> +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/freescale/warpboard/linux-4.0.config"
> +BR2_LINUX_KERNEL_ZIMAGE=y
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sl-warp"
> +
> +# lock to 4.0 headers to avoid breaking with newer kernels
> +BR2_KERNEL_HEADERS_VERSION=y
> +BR2_DEFAULT_KERNEL_VERSION="4.0"
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_0=y
> +
> +# wifi firmware for brcm4330
> +BR2_PACKAGE_LINUX_FIRMWARE=y
> +BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
> +
> +# bootloader
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BOARDNAME="warp"
> +BR2_TARGET_UBOOT_CUSTOM_VERSION=y
> +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2015.04"
> +BR2_TARGET_UBOOT_FORMAT_IMX=y
> +
> +# host utility to flash warpboard
> +BR2_PACKAGE_HOST_IMX_USB_LOADER=y
> +
> +# rootfs
> +BR2_ROOTFS_OVERLAY="board/freescale/warpboard/rootfs_overlay"
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> --
> 1.9.1
>
Arthur LAMBERT June 24, 2015, 9:32 a.m. UTC | #2
Arnout, Yann, All,

Can I submit V3 or it is better to wait the review of the fix done in V2 ?
I was able to remove custom config, and external sdma firmware.

Arthur.


Le Monday 22 Jun 2015 à 17:46:58 (+0200), Arthur LAMBERT a écrit :
> This is a set of patch to add support for warpboard (Freescale board based on imx6sl)
> The patch contains :
>   - defconfig for warpboard
>   - kernel defconfig due to specific need for bluetooth/wifi
>   - linux patch from Fabio Estevam to fix device tree due to last change on warpboard schematics (rev 1.12)
>   - specific firmware file for warpboard bluetooth (nvram : brcmfmac4330-sdio.txt)
> 
> Changes v1 -> v2:
>   - add specific kernel headers
>   - use wget download rather than git download for kernel
>   - fix version symbol for uboot
>   - add imx_usb_loader host utility
>   - remove bin firmware file and enable linux-firmware package instead
>   - fix command to enable bluetooth and fix protocol for hci in custom kernel config
> 
> Signed-off-by: Arthur LAMBERT <lambertarthur22@gmail.com>
> ---
>  board/freescale/warpboard/README                   |  50 ++++
>  board/freescale/warpboard/linux-4.0.config         | 278 +++++++++++++++++++++
>  .../linux/linux-001-add-sdm-firmware.patch         | 145 +++++++++++
>  .../linux/linux-002-replace-uart2-by-uart5.patch   | 103 ++++++++
>  .../lib/firmware/brcm/brcmfmac4330-sdio.txt        |  40 +++
>  configs/warpboard_defconfig                        |  42 ++++
>  6 files changed, 658 insertions(+)
>  create mode 100644 board/freescale/warpboard/README
>  create mode 100644 board/freescale/warpboard/linux-4.0.config
>  create mode 100644 board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch
>  create mode 100644 board/freescale/warpboard/linux/linux-002-replace-uart2-by-uart5.patch
>  create mode 100644 board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt
>  create mode 100644 configs/warpboard_defconfig
> 
> diff --git a/board/freescale/warpboard/README b/board/freescale/warpboard/README
> new file mode 100644
> index 0000000..d21ab48
> --- /dev/null
> +++ b/board/freescale/warpboard/README
> @@ -0,0 +1,50 @@
> +Build
> +=====
> +
> +First, configure Buildroot for your WarpBoard.
> +  make warpboard_defconfig
> +
> +Build all components:
> +  make
> +
> +You will find in ./output/images/ the following files:
> +  - imx6sl-warp.dtb
> +  - rootfs.ext2
> +  - rootfs.tar
> +  - u-boot.imx
> +  - zImage
> +
> +Update uboot
> +============
> +
> +You will find a process written by by Fabio Estevam available in freescale repository on github :
> +https://raw.githubusercontent.com/Freescale/u-boot-fslc/patches-2015.04/board/warp/README by Fabio Estevam
> +
> +Update linux & rootfs
> +=====================
> +
> +Use ums command from uboot prompt to mount emmc as mass storage and update zImage, device tree and rootfs file
> +=> ums 0 mmc 0
> +
> +Fast way to update kernel image
> +===============================
> +
> +- Get new zImage and dtb file on the board by using scp through usb0
> +-  Copy zImage, device tree file in boot partition :
> +  mkdir kernel
> +  mount -t vfat /dev/mmcblk0p1 kernel
> +  cp zImage  kernel/.
> +  cp imx6sl-warp.dtb  kernel/.
> +  sync
> +  umount kernel
> +  rm -r kernel
> +
> +Enable bluetooth
> +================
> +hciattach /dev/ttymxc4 any
> +hciconfig hci0 up
> +
> +Enable Wifi
> +==========
> +modprobe brcmfmac
> +ifconfig wlan0 up
> diff --git a/board/freescale/warpboard/linux-4.0.config b/board/freescale/warpboard/linux-4.0.config
> new file mode 100644
> index 0000000..d5919af
> --- /dev/null
> +++ b/board/freescale/warpboard/linux-4.0.config
> @@ -0,0 +1,278 @@
> +CONFIG_KERNEL_LZO=y
> +CONFIG_SYSVIPC=y
> +CONFIG_FHANDLE=y
> +CONFIG_NO_HZ=y
> +CONFIG_HIGH_RES_TIMERS=y
> +CONFIG_RCU_FANOUT=32
> +CONFIG_LOG_BUF_SHIFT=18
> +CONFIG_CGROUPS=y
> +CONFIG_RELAY=y
> +CONFIG_BLK_DEV_INITRD=y
> +CONFIG_EXPERT=y
> +# CONFIG_SGETMASK_SYSCALL is not set
> +# CONFIG_SLUB_DEBUG is not set
> +# CONFIG_COMPAT_BRK is not set
> +CONFIG_MODULES=y
> +CONFIG_MODULE_UNLOAD=y
> +CONFIG_MODVERSIONS=y
> +CONFIG_MODULE_SRCVERSION_ALL=y
> +# CONFIG_BLK_DEV_BSG is not set
> +CONFIG_SMP=y
> +CONFIG_NR_CPUS=4
> +# CONFIG_SCHED_MC is not set
> +CONFIG_PREEMPT_VOLUNTARY=y
> +CONFIG_CMA=y
> +# CONFIG_SECCOMP is not set
> +CONFIG_HZ_100=y
> +CONFIG_PM_DEBUG=y
> +CONFIG_PM_TEST_SUSPEND=y
> +CONFIG_CPU_FREQ=y
> +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
> +CONFIG_PCIEPORTBUS=y
> +CONFIG_BINFMT_MISC=m
> +CONFIG_NET=y
> +CONFIG_PACKET=y
> +CONFIG_UNIX=y
> +CONFIG_INET=y
> +CONFIG_IP_PNP=y
> +CONFIG_IP_PNP_DHCP=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_IPV6=y
> +CONFIG_NETFILTER=y
> +CONFIG_CAN=y
> +CONFIG_BT=y
> +CONFIG_BT_RFCOMM=y
> +CONFIG_BT_HCIUART=y
> +CONFIG_BT_HCIUART_H4=y
> +CONFIG_CFG80211=y
> +CONFIG_MAC80211=y
> +CONFIG_RFKILL=y
> +CONFIG_RFKILL_INPUT=y
> +CONFIG_DEVTMPFS=y
> +CONFIG_DEVTMPFS_MOUNT=y
> +# CONFIG_STANDALONE is not set
> +CONFIG_DMA_CMA=y
> +CONFIG_CMA_SIZE_MBYTES=16
> +CONFIG_CONNECTOR=y
> +CONFIG_MTD=y
> +CONFIG_MTD_CMDLINE_PARTS=y
> +CONFIG_MTD_BLOCK=y
> +CONFIG_MTD_CFI=y
> +CONFIG_MTD_JEDECPROBE=y
> +CONFIG_MTD_CFI_INTELEXT=y
> +CONFIG_MTD_CFI_AMDSTD=y
> +CONFIG_MTD_CFI_STAA=y
> +CONFIG_MTD_DATAFLASH=y
> +CONFIG_MTD_M25P80=y
> +CONFIG_MTD_SST25L=y
> +CONFIG_MTD_NAND=y
> +CONFIG_MTD_SPI_NOR=y
> +CONFIG_MTD_UBI=y
> +CONFIG_BLK_DEV_LOOP=y
> +CONFIG_BLK_DEV_RAM=y
> +CONFIG_BLK_DEV_RAM_SIZE=65536
> +CONFIG_SRAM=y
> +CONFIG_EEPROM_AT24=y
> +CONFIG_EEPROM_AT25=y
> +# CONFIG_SCSI_PROC_FS is not set
> +CONFIG_BLK_DEV_SD=y
> +CONFIG_SCSI_CONSTANTS=y
> +CONFIG_SCSI_LOGGING=y
> +CONFIG_SCSI_SCAN_ASYNC=y
> +# CONFIG_SCSI_LOWLEVEL is not set
> +CONFIG_ATA=y
> +CONFIG_SATA_AHCI_PLATFORM=y
> +CONFIG_NETDEVICES=y
> +# CONFIG_NET_VENDOR_BROADCOM is not set
> +# CONFIG_NET_VENDOR_INTEL is not set
> +# CONFIG_NET_VENDOR_MARVELL is not set
> +# CONFIG_NET_VENDOR_MICREL is not set
> +# CONFIG_NET_VENDOR_MICROCHIP is not set
> +# CONFIG_NET_VENDOR_NATSEMI is not set
> +# CONFIG_NET_VENDOR_SEEQ is not set
> +CONFIG_SMSC911X=y
> +# CONFIG_NET_VENDOR_STMICRO is not set
> +CONFIG_AT803X_PHY=y
> +CONFIG_USB_PEGASUS=m
> +CONFIG_USB_RTL8150=m
> +CONFIG_USB_RTL8152=m
> +CONFIG_USB_USBNET=m
> +CONFIG_USB_NET_CDC_EEM=m
> +CONFIG_BRCMFMAC=m
> +CONFIG_INPUT_MATRIXKMAP=y
> +# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
> +CONFIG_INPUT_EVDEV=y
> +CONFIG_INPUT_EVBUG=m
> +CONFIG_KEYBOARD_GPIO=y
> +CONFIG_MOUSE_PS2=m
> +CONFIG_MOUSE_PS2_ELANTECH=y
> +CONFIG_INPUT_TOUCHSCREEN=y
> +CONFIG_TOUCHSCREEN_MC13783=y
> +CONFIG_TOUCHSCREEN_TSC2007=y
> +CONFIG_INPUT_MISC=y
> +CONFIG_INPUT_MMA8450=y
> +CONFIG_SERIO_SERPORT=m
> +# CONFIG_LEGACY_PTYS is not set
> +# CONFIG_DEVKMEM is not set
> +CONFIG_SERIAL_FSL_LPUART=y
> +CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
> +CONFIG_HW_RANDOM=y
> +# CONFIG_I2C_COMPAT is not set
> +CONFIG_I2C_CHARDEV=y
> +# CONFIG_I2C_HELPER_AUTO is not set
> +CONFIG_I2C_ALGOPCF=m
> +CONFIG_I2C_ALGOPCA=m
> +CONFIG_SPI=y
> +CONFIG_SPI_BITBANG=y
> +CONFIG_SPI_SPIDEV=y
> +CONFIG_PTP_1588_CLOCK=y
> +CONFIG_GPIOLIB=y
> +CONFIG_GPIO_SYSFS=y
> +CONFIG_POWER_RESET=y
> +CONFIG_SENSORS_GPIO_FAN=y
> +CONFIG_WATCHDOG=y
> +CONFIG_WATCHDOG_CORE=y
> +CONFIG_MFD_DA9052_I2C=y
> +CONFIG_MFD_MC13XXX_SPI=y
> +CONFIG_MFD_MC13XXX_I2C=y
> +CONFIG_MFD_SYSCON=y
> +CONFIG_REGULATOR=y
> +CONFIG_REGULATOR_FIXED_VOLTAGE=y
> +CONFIG_REGULATOR_ANATOP=y
> +CONFIG_REGULATOR_DA9052=y
> +CONFIG_REGULATOR_GPIO=y
> +CONFIG_REGULATOR_MC13783=y
> +CONFIG_REGULATOR_MC13892=y
> +CONFIG_REGULATOR_PFUZE100=y
> +CONFIG_MEDIA_SUPPORT=y
> +CONFIG_MEDIA_CAMERA_SUPPORT=y
> +CONFIG_MEDIA_RC_SUPPORT=y
> +CONFIG_RC_DEVICES=y
> +CONFIG_IR_GPIO_CIR=y
> +CONFIG_MEDIA_USB_SUPPORT=y
> +CONFIG_USB_VIDEO_CLASS=m
> +CONFIG_V4L_PLATFORM_DRIVERS=y
> +CONFIG_SOC_CAMERA=y
> +CONFIG_V4L_MEM2MEM_DRIVERS=y
> +CONFIG_SOC_CAMERA_OV2640=y
> +CONFIG_DRM=y
> +CONFIG_FB=y
> +CONFIG_FB_MODE_HELPERS=y
> +CONFIG_BACKLIGHT_LCD_SUPPORT=y
> +CONFIG_LCD_CLASS_DEVICE=y
> +CONFIG_LCD_L4F00242T03=y
> +CONFIG_LCD_PLATFORM=y
> +CONFIG_BACKLIGHT_CLASS_DEVICE=y
> +CONFIG_BACKLIGHT_PWM=y
> +CONFIG_BACKLIGHT_GPIO=y
> +CONFIG_FRAMEBUFFER_CONSOLE=y
> +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
> +CONFIG_LOGO=y
> +CONFIG_SOUND=y
> +CONFIG_SND=y
> +CONFIG_SND_USB_AUDIO=m
> +CONFIG_SND_SOC=y
> +CONFIG_SND_SOC_FSL_SAI=y
> +CONFIG_SND_SOC_FSL_SSI=y
> +CONFIG_SND_SOC_FSL_SPDIF=y
> +CONFIG_SND_SOC_IMX_AUDMUX=y
> +CONFIG_SND_SOC_SGTL5000=y
> +CONFIG_SND_SOC_TLV320AIC23_I2C=y
> +CONFIG_SND_SOC_TLV320AIC3X=y
> +CONFIG_SND_SOC_WM8962=y
> +CONFIG_SND_SIMPLE_CARD=y
> +CONFIG_USB=y
> +CONFIG_USB_EHCI_HCD=y
> +CONFIG_USB_STORAGE=y
> +CONFIG_USB_CHIPIDEA=y
> +CONFIG_USB_CHIPIDEA_UDC=y
> +CONFIG_USB_CHIPIDEA_HOST=y
> +CONFIG_USB_SERIAL=m
> +CONFIG_USB_SERIAL_GENERIC=y
> +CONFIG_USB_SERIAL_FTDI_SIO=m
> +CONFIG_USB_SERIAL_OPTION=m
> +CONFIG_USB_EHSET_TEST_FIXTURE=m
> +CONFIG_NOP_USB_XCEIV=y
> +CONFIG_USB_GADGET=y
> +CONFIG_USB_ETH=y
> +CONFIG_MMC=y
> +CONFIG_MMC_SDHCI=y
> +CONFIG_MMC_SDHCI_PLTFM=y
> +CONFIG_NEW_LEDS=y
> +CONFIG_LEDS_CLASS=y
> +CONFIG_LEDS_GPIO=y
> +CONFIG_LEDS_TRIGGERS=y
> +CONFIG_LEDS_TRIGGER_TIMER=y
> +CONFIG_LEDS_TRIGGER_ONESHOT=y
> +CONFIG_LEDS_TRIGGER_HEARTBEAT=y
> +CONFIG_LEDS_TRIGGER_BACKLIGHT=y
> +CONFIG_LEDS_TRIGGER_GPIO=y
> +CONFIG_RTC_CLASS=y
> +CONFIG_RTC_INTF_DEV_UIE_EMUL=y
> +CONFIG_RTC_DRV_DS1307=y
> +CONFIG_RTC_DRV_ISL1208=y
> +CONFIG_RTC_DRV_PCF8563=y
> +# CONFIG_RTC_DRV_CMOS is not set
> +CONFIG_RTC_DRV_MC13XXX=y
> +CONFIG_DMADEVICES=y
> +CONFIG_STAGING=y
> +# CONFIG_IOMMU_SUPPORT is not set
> +CONFIG_PWM=y
> +CONFIG_RESET_CONTROLLER=y
> +CONFIG_EXT2_FS=y
> +CONFIG_EXT2_FS_XATTR=y
> +CONFIG_EXT2_FS_POSIX_ACL=y
> +CONFIG_EXT2_FS_SECURITY=y
> +CONFIG_EXT3_FS=y
> +CONFIG_EXT3_FS_POSIX_ACL=y
> +CONFIG_EXT3_FS_SECURITY=y
> +CONFIG_EXT4_FS=y
> +CONFIG_EXT4_FS_POSIX_ACL=y
> +CONFIG_EXT4_FS_SECURITY=y
> +CONFIG_QUOTA=y
> +CONFIG_QUOTA_NETLINK_INTERFACE=y
> +# CONFIG_PRINT_QUOTA_WARNING is not set
> +CONFIG_AUTOFS4_FS=y
> +CONFIG_FUSE_FS=y
> +CONFIG_ISO9660_FS=m
> +CONFIG_JOLIET=y
> +CONFIG_ZISOFS=y
> +CONFIG_UDF_FS=m
> +CONFIG_MSDOS_FS=m
> +CONFIG_VFAT_FS=y
> +CONFIG_TMPFS=y
> +CONFIG_JFFS2_FS=y
> +CONFIG_UBIFS_FS=y
> +CONFIG_NFS_FS=y
> +CONFIG_NFS_V3_ACL=y
> +CONFIG_NFS_V4=y
> +CONFIG_ROOT_NFS=y
> +CONFIG_NLS_DEFAULT="cp437"
> +CONFIG_NLS_CODEPAGE_437=y
> +CONFIG_NLS_ASCII=y
> +CONFIG_NLS_ISO8859_1=y
> +CONFIG_NLS_ISO8859_15=m
> +CONFIG_NLS_UTF8=y
> +CONFIG_PRINTK_TIME=y
> +CONFIG_FRAME_WARN=1024
> +# CONFIG_UNUSED_SYMBOLS is not set
> +CONFIG_DEBUG_FS=y
> +CONFIG_MAGIC_SYSRQ=y
> +# CONFIG_SCHED_DEBUG is not set
> +CONFIG_PROVE_LOCKING=y
> +# CONFIG_DEBUG_BUGVERBOSE is not set
> +# CONFIG_FTRACE is not set
> +CONFIG_SECURITYFS=y
> +# CONFIG_CRYPTO_ANSI_CPRNG is not set
> +# CONFIG_CRYPTO_HW is not set
> +# CONFIG_VIRTUALIZATION is not set
> +CONFIG_CRC_CCITT=m
> +CONFIG_CRC_T10DIF=y
> +CONFIG_CRC7=m
> +CONFIG_LIBCRC32C=m
> +CONFIG_FONTS=y
> +CONFIG_FONT_8x8=y
> +CONFIG_FONT_8x16=y
> diff --git a/board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch b/board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch
> new file mode 100644
> index 0000000..d9706c1
> --- /dev/null
> +++ b/board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch
> @@ -0,0 +1,145 @@
> +diff -Naur linux-patches-4.0.old/firmware/imx/sdma/sdma-imx6q.bin.ihex linux-patches-4.0/firmware/imx/sdma/sdma-imx6q.bin.ihex
> +--- linux-patches-4.0.old/firmware/imx/sdma/sdma-imx6q.bin.ihex	1970-01-01 01:00:00.000000000 +0100
> ++++ linux-patches-4.0/firmware/imx/sdma/sdma-imx6q.bin.ihex	2015-04-07 11:25:07.315668667 +0200
> +@@ -0,0 +1,130 @@
> ++:1000000053444D4103000000010000001C000000AB
> ++:1000100029000000C0000000480700008202000024
> ++:10002000FFFFFFFF00000000FFFFFFFFFFFFFFFFDC
> ++:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
> ++:10004000FFFFFFFFFFFFFFFFFA1900004B04000056
> ++:10005000EB020000A8180000FFFFFFFF581A000085
> ++:10006000FFFFFFFFC0030000FFFFFFFFFFFFFFFFD9
> ++:10007000FFFFFFFFAB020000FFFFFFFF7B0300005D
> ++:10008000FFFFFFFFFFFFFFFF4C0400006E040000B6
> ++:10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
> ++:1000A00000000000001800004F180000A619000012
> ++:1000B000071B0000A21A00003E1B000000180000F1
> ++:1000C000E3C1DB57F352016AFB52D36AFB521C1A9D
> ++:1000D000C36AE8621102FF3A3008D002337C8F0015
> ++:1000E000D500017D8D00A005EB5D7804037D7904CA
> ++:1000F0001C7D207C7904157CEE566006057D096523
> ++:10010000287E0A62267E28980A62237E0965217E5F
> ++:1001100012051205AD02C86A1C7F03200048ED7C61
> ++:10012000409802780962C86A3F98150002780A620E
> ++:10013000C86A3F981500150002780B62C86A097CEE
> ++:10014000DF6D077F0000EB55004D077DFAC1DB57DF
> ++:1001500006980700CC680C6813C20AC20198D9C17E
> ++:10016000E3C1DB57E35FE357F352216A8F00D50009
> ++:10017000017D8D00A005EB5DFB567804037D7904BD
> ++:100180002A7D317C7904207C700B1103EB53000F26
> ++:100190006003057D0965377E0A62357E73980A62C1
> ++:1001A000327E0965307E12051205AD026007027CC1
> ++:1001B000065A7B98265A277F011F03200048E87CB7
> ++:1001C000700B110313539C98150004780962065AAA
> ++:1001D0000962265A9B981500150004780A62065A8F
> ++:1001E0000A62265A9B9815001500150004780B62C8
> ++:1001F000065A0B62265A077C0000EB55004D067D1F
> ++:10020000FAC1E357569807000C6813C20AC2539804
> ++:10021000700B110313536C07017CD9C1FB5E8A0676
> ++:100220006B07017CD9C1F35EDB59D3588F011001F4
> ++:100230000F398B003CC12B7DC05AC85B4EC1277C57
> ++:1002400088038906E35CFF0D1105FF1DBC053E0711
> ++:10025000004D187D700811007E07097D7D07027D25
> ++:100260002852D398F852DB54BC02CC02097C7C079C
> ++:10027000027D2852DC98F852D354BC02CC02097D8E
> ++:100280000004CA988B00C052C85359C1D67D0002E1
> ++:10029000BA98FF08BF007F07157D8804D500017D4F
> ++:1002A0008D00A005EB5D8F0212021202FF3ADA0503
> ++:1002B000027C3E070599A402DD02027D3E070599F6
> ++:1002C0005E070599EB559805EB5DF352FB546A0701
> ++:1002D000267D6C07017D42996B07577C6907047D79
> ++:1002E0006807027D010E1C999358D600017D8E008F
> ++:1002F0009355A005935DA00602780255045D1D7C10
> ++:10030000004E087C6907037D0255177E2999045D1C
> ++:10031000147F890693500048017D14998D9915002A
> ++:1003200006780255045D4F070255245D2F07017CB6
> ++:100330008D9917006F07017C012093559D000700E0
> ++:1003400094D9E298D36C6907047D6807027D010E99
> ++:1003500051999358D600017D8E009355A005935D69
> ++:10036000A00602780255C86D0F7C004E087C690714
> ++:10037000037D0255097E5E99C86D067F89069350FC
> ++:100380000048017D49998D998799C36A6907047D61
> ++:100390006807027D010E74999358D600017D8E0086
> ++:1003A0009355A005935DA0060278C865045D0F7C97
> ++:1003B000004E087C6907037DC865097E8199045D4C
> ++:1003C000067F890693500048017D6C998D9993555D
> ++:1003D0009D000700FF6C94D9E2980000E354EB55B0
> ++:1003E000004D017CE298CA98E354EB55FF0A1102D4
> ++:1003F000FF1A7F07027CA005A1999D008C05BA0514
> ++:10040000A0051002BA04AD0454040600D9C1E3C12A
> ++:10041000DB57F352056A8F00D500017D8D00A005E2
> ++:10042000FB567804037D7904297D1F7C79042E7C9A
> ++:10043000E35D700D1105ED55000F6007027D06525A
> ++:10044000C2992652337E6005027D10021202096AAB
> ++:100450002D7F1202096A2A7F1202096A277F011F73
> ++:1004600003200048EA7CE355ED99150015001500BE
> ++:10047000047806520B6A26520B6AEC991500150097
> ++:10048000047806520A6A26520A6AEC991500047822
> ++:100490000652096A2652096A097C286A077F000009
> ++:1004A000DB57004D057DFAC1DB57AB9977C2540489
> ++:1004B0000AC2A899E3C1DB57F352056AFB568E02C4
> ++:1004C000941AC36AC8626902267D941EC36ED36EF5
> ++:1004D000C8624802C86A9426981EC36EC8629826ED
> ++:1004E000C36E60020E7D981EC36EC8626C02037DEF
> ++:1004F0009826C36E3B9A4C02D36EC86A9826C36E88
> ++:100500004B9AC8626E02017C459A096A1A7F0125DE
> ++:10051000004D217D0C9AE36E8F00D805017D8D0082
> ++:10052000C8626E02127D096A0C7F01250120F87CE9
> ++:10053000DB57004D107D286A047F0000FAC1DB57AD
> ++:10054000FE99070004620C6A489A286AFA7F0462DE
> ++:100550007AC258045404FF081100FF18BC00CD00F3
> ++:10056000017C3B9A286AED7F04627AC20AC2FB9939
> ++:10057000D9C1E3C1DB57F352056AFB568E02941AC8
> ++:10058000025269021D7D941E06524802065A9426A4
> ++:10059000981E06524C02065A9826981E0652600271
> ++:1005A0000A7C982606526E02237D096A1D7F01256A
> ++:1005B000004D247D6D9A286A177F04627AC29E9A44
> ++:1005C0008F00D805017D8D00A00506526E02107DBA
> ++:1005D000096A0A7F0120F97C286A067F0000004D25
> ++:1005E0000D7DFAC1DB575D9A070004620C6A9B9A85
> ++:1005F000286AFA7F04627AC258045404286AF47F95
> ++:100600000AC25A9AE6DADB57F352056AC7698F00C5
> ++:10061000D500017D8D00A0057804037D79041C7D43
> ++:10062000157C79041E7CEE56C862287E6006027D29
> ++:1006300010021202096A227F1202096A1F7F120247
> ++:10064000096A1C7F03200048EF7CD59A150015002D
> ++:100650000278C8620B6AD49A15000278C8620A6AE6
> ++:10066000D49A0278C862096A097C286A077F004D1B
> ++:10067000077DD352010802580004A69A77C2540499
> ++:10068000D352010802580104FEDAA39A700B110339
> ++:100690001353DB5F0A07D3588B00FB5E3CC1157D0B
> ++:1006A000C05AC85B4EC1117C8803F05DFF0D110577
> ++:1006B000FF1DBC05004D047DFD9A0807DB5F0A079E
> ++:1006C0008B00C352CB5359C1EC7D0002EE9A016EF0
> ++:1006D0000B612F7E0B622D7E0B632B7E0C0D17049E
> ++:1006E000170417049D04081DCC05017C0C0DD16A6C
> ++:1006F000000F4207C86FDD6F1C7F8E009D000168F0
> ++:100700000B67177ED56B04080278C86F1207117C3F
> ++:100710000B670F7E04080278C86F12070A7CDD6F32
> ++:10072000087FD169010FC86FDD6F037F01010004ED
> ++:10073000139B0700FF680C680002139B83DBDB57E9
> ++:10074000F352056AFB52C76A8F00D500017D8D0008
> ++:10075000A0057804037D79041C7D157C79041E7C3A
> ++:10076000EE56C862287E6006027D10021202096AF7
> ++:10077000227F1202096A1F7F1202096A1C7F03206E
> ++:100780000048EF7C729B150015000278C8620B6A66
> ++:10079000719B15000278C8620A6A719B0278C86270
> ++:1007A000096A097C286A077F004D077DD35201083A
> ++:1007B00002580004429B77C25404D35201080258E5
> ++:1007C00001049BDB3F9B700B11031353DB5F0A0794
> ++:1007D000D3588B00FB5E3CC1157DC05AC85B4EC12F
> ++:1007E000117C8803F05DFF0D1105FF1DBC05004D58
> ++:1007F000047D9A9B0807DB5F0A078B00C352CB532B
> ++:0808000059C1EC7D00028B9B45
> ++:00000001FF
> +diff -Naur linux-patches-4.0.old/firmware/Makefile linux-patches-4.0/firmware/Makefile
> +--- linux-patches-4.0.old/firmware/Makefile	2015-04-07 11:20:57.243679386 +0200
> ++++ linux-patches-4.0/firmware/Makefile	2015-04-07 11:24:04.655671353 +0200
> +@@ -61,6 +61,7 @@
> + 				   radeon/RV770_pfp.bin radeon/RV770_me.bin \
> + 				   radeon/RV730_pfp.bin radeon/RV730_me.bin \
> + 				   radeon/RV710_pfp.bin radeon/RV710_me.bin
> ++fw-shipped-$(CONFIG_IMX_SDMA) += imx/sdma/sdma-imx6q.bin
> + fw-shipped-$(CONFIG_DVB_AV7110) += av7110/bootcode.bin
> + fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin
> + fw-shipped-$(CONFIG_E100) += e100/d101m_ucode.bin e100/d101s_ucode.bin \
> diff --git a/board/freescale/warpboard/linux/linux-002-replace-uart2-by-uart5.patch b/board/freescale/warpboard/linux/linux-002-replace-uart2-by-uart5.patch
> new file mode 100644
> index 0000000..d742c24
> --- /dev/null
> +++ b/board/freescale/warpboard/linux/linux-002-replace-uart2-by-uart5.patch
> @@ -0,0 +1,103 @@
> +From: Fabio Estevam <fabio.estevam@freescale.com>
> +Date: Fri, 29 May 2015 16:19:39 -0300
> +Subject: [PATCH] ARM: dts: imx6sl-warp: Add changes for rev1.12
> +
> +Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> +---
> + arch/arm/boot/dts/imx6sl-warp.dts | 32 +++++++++++++++++++-------------
> + 1 file changed, 19 insertions(+), 13 deletions(-)
> +
> +diff --git a/arch/arm/boot/dts/imx6sl-warp.dts b/arch/arm/boot/dts/imx6sl-warp.dts
> +index 0da906b..bdfa82b 100644
> +--- a/arch/arm/boot/dts/imx6sl-warp.dts
> ++++ b/arch/arm/boot/dts/imx6sl-warp.dts
> +@@ -61,7 +61,9 @@
> + 	usdhc3_pwrseq: usdhc3_pwrseq {
> + 		compatible = "mmc-pwrseq-simple";
> + 		reset-gpios = <&gpio4 5 GPIO_ACTIVE_LOW>, 	/* WL_REG_ON */
> ++			      <&gpio4 7 GPIO_ACTIVE_LOW>, 	/* WL_HOSTWAKE */
> + 			      <&gpio3 25 GPIO_ACTIVE_LOW>, 	/* BT_REG_ON */
> ++			      <&gpio3 27 GPIO_ACTIVE_LOW>,	/* BT_HOSTWAKE */
> + 			      <&gpio4 4 GPIO_ACTIVE_LOW>, 	/* BT_WAKE */
> + 			      <&gpio4 6 GPIO_ACTIVE_LOW>; 	/* BT_RST_N */
> + 	};
> +@@ -73,16 +75,16 @@
> + 	status = "okay";
> + };
> + 
> +-&uart2 {
> ++&uart3 {
> + 	pinctrl-names = "default";
> +-	pinctrl-0 = <&pinctrl_uart2>;
> +-	fsl,uart-has-rtscts;
> ++	pinctrl-0 = <&pinctrl_uart3>;
> + 	status = "okay";
> + };
> + 
> +-&uart3 {
> ++&uart5 {
> + 	pinctrl-names = "default";
> +-	pinctrl-0 = <&pinctrl_uart3>;
> ++	pinctrl-0 = <&pinctrl_uart5>;
> ++	fsl,uart-has-rtscts;
> + 	status = "okay";
> + };
> + 
> +@@ -130,14 +132,6 @@
> + 			>;
> + 		};
> + 
> +-		pinctrl_uart2: uart2grp {
> +-			fsl,pins = <
> +-				MX6SL_PAD_EPDC_D12__UART2_RX_DATA	0x41b0b1
> +-				MX6SL_PAD_EPDC_D13__UART2_TX_DATA	0x41b0b1
> +-				MX6SL_PAD_EPDC_D14__UART2_RTS_B		0x4130B1
> +-				MX6SL_PAD_EPDC_D15__UART2_CTS_B		0x4130B1
> +-			>;
> +-		};
> + 
> + 		pinctrl_uart3: uart3grp {
> + 			fsl,pins = <
> +@@ -146,6 +140,15 @@
> + 			>;
> + 		};
> + 
> ++		pinctrl_uart5: uart5grp {
> ++			fsl,pins = <
> ++				MX6SL_PAD_ECSPI1_SCLK__UART5_RX_DATA	0x41b0b1
> ++				MX6SL_PAD_ECSPI1_MOSI__UART5_TX_DATA	0x41b0b1
> ++				MX6SL_PAD_ECSPI1_MISO__UART5_RTS_B	0x4130b1
> ++				MX6SL_PAD_ECSPI1_SS0__UART5_CTS_B	0x4130b1
> ++			>;
> ++		};
> ++
> + 		pinctrl_usdhc2: usdhc2grp {
> + 			fsl,pins = <
> + 				MX6SL_PAD_SD2_CMD__SD2_CMD		0x417059
> +@@ -158,6 +161,7 @@
> + 				MX6SL_PAD_SD2_DAT5__SD2_DATA5		0x417059
> + 				MX6SL_PAD_SD2_DAT6__SD2_DATA6		0x417059
> + 				MX6SL_PAD_SD2_DAT7__SD2_DATA7		0x417059
> ++				MX6SL_PAD_SD2_RST__SD2_RESET		0x417059
> + 			>;
> + 		};
> + 
> +@@ -173,6 +177,7 @@
> + 				MX6SL_PAD_SD2_DAT5__SD2_DATA5		0x4170b9
> + 				MX6SL_PAD_SD2_DAT6__SD2_DATA6		0x4170b9
> + 				MX6SL_PAD_SD2_DAT7__SD2_DATA7		0x4170b9
> ++				MX6SL_PAD_SD2_RST__SD2_RESET		0x4170b9
> + 			>;
> + 		};
> + 
> +@@ -188,6 +193,7 @@
> + 				MX6SL_PAD_SD2_DAT5__SD2_DATA5		0x4170f9
> + 				MX6SL_PAD_SD2_DAT6__SD2_DATA6		0x4170f9
> + 				MX6SL_PAD_SD2_DAT7__SD2_DATA7		0x4170f9
> ++				MX6SL_PAD_SD2_RST__SD2_RESET		0x4170f9
> + 			>;
> + 		};
> + 
> +-- 
> +1.9.1
> +
> diff --git a/board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt b/board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt
> new file mode 100644
> index 0000000..9546246
> --- /dev/null
> +++ b/board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt
> @@ -0,0 +1,40 @@
> +# bcm94330wlsdgb.txt
> +manfid=0x2d0
> +prodid=0x0552
> +vendid=0x14e4
> +devid=0x4360
> +boardtype=0x0552
> +boardrev=0x11
> +# this design has 2.4GHz SP3T switch
> +boardflags=0x00080200
> +nocrc=1
> +xtalfreq=37400
> +boardnum=22
> +macaddr=00:90:4c:c5:12:38
> +ag0=255
> +aa2g=1
> +ccode=CN
> +pa0b0=0x14d0
> +pa0b1=0xfd98
> +pa0b2=0xff78
> +rssismf2g=0xa
> +rssismc2g=0x3
> +rssisav2g=0x7
> +maxp2ga0=0x50
> +sromrev=3
> +il0macaddr=00:90:4c:c5:12:38
> +wl0id=0x431b
> +cckPwrOffset=5
> +ofdm2gpo=0x66666666
> +mcs2gpo0=0x6666
> +mcs2gpo1=0x6666
> +swctrlmap_2g=0x04040404,0x02020202,0x02020404,0x10202,0x1ff
> +swctrlmap_5g=0x00100010,0x00280020,0x00200010,0x14202,0x2f8
> +rfreg033=0x19
> +rfreg033_cck=0x1f
> +dacrate2g=160
> +txalpfbyp2g=1
> +bphyscale=17
> +cckPwrIdxCorr=-15
> +pacalidx2g=45
> +txgaintbl=1
> diff --git a/configs/warpboard_defconfig b/configs/warpboard_defconfig
> new file mode 100644
> index 0000000..a8afa2c
> --- /dev/null
> +++ b/configs/warpboard_defconfig
> @@ -0,0 +1,42 @@
> +# architecture
> +BR2_arm=y
> +BR2_cortex_a9=y
> +
> +# system
> +BR2_TARGET_GENERIC_HOSTNAME="warpboard"
> +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
> +
> +# kernel
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
> +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="http://github.com/Freescale/linux-fslc/tarball/38ec11d/linux-fslc-38ec11d.tar.gz"
> +BR2_LINUX_KERNEL_PATCH="board/freescale/warpboard/linux/"
> +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
> +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/freescale/warpboard/linux-4.0.config"
> +BR2_LINUX_KERNEL_ZIMAGE=y
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sl-warp"
> +
> +# lock to 4.0 headers to avoid breaking with newer kernels
> +BR2_KERNEL_HEADERS_VERSION=y
> +BR2_DEFAULT_KERNEL_VERSION="4.0"
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_0=y
> +
> +# wifi firmware for brcm4330
> +BR2_PACKAGE_LINUX_FIRMWARE=y
> +BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
> +
> +# bootloader
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BOARDNAME="warp"
> +BR2_TARGET_UBOOT_CUSTOM_VERSION=y
> +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2015.04"
> +BR2_TARGET_UBOOT_FORMAT_IMX=y
> +
> +# host utility to flash warpboard
> +BR2_PACKAGE_HOST_IMX_USB_LOADER=y
> +
> +# rootfs
> +BR2_ROOTFS_OVERLAY="board/freescale/warpboard/rootfs_overlay"
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> -- 
> 1.9.1
>
Yann E. MORIN June 24, 2015, 9:46 p.m. UTC | #3
Albert, All,

On 2015-06-24 11:32 +0200, Arthur LAMBERT spake thusly:
> Can I submit V3 or it is better to wait the review of the fix done in V2 ?
> I was able to remove custom config, and external sdma firmware.

Yes, please post the v3.

Regards,
Yann E. MORIN.
Arnout Vandecappelle June 24, 2015, 9:46 p.m. UTC | #4
On 06/22/15 17:46, Arthur LAMBERT wrote:
> This is a set of patch to add support for warpboard (Freescale board based on imx6sl)
> The patch contains :
>   - defconfig for warpboard
>   - kernel defconfig due to specific need for bluetooth/wifi
>   - linux patch from Fabio Estevam to fix device tree due to last change on warpboard schematics (rev 1.12)

 Two patches actually

>   - specific firmware file for warpboard bluetooth (nvram : brcmfmac4330-sdio.txt)
> 
> Changes v1 -> v2:

 Changelog should be below the Sob, separated by ---

>   - add specific kernel headers
>   - use wget download rather than git download for kernel
>   - fix version symbol for uboot
>   - add imx_usb_loader host utility
>   - remove bin firmware file and enable linux-firmware package instead
>   - fix command to enable bluetooth and fix protocol for hci in custom kernel config
> 
> Signed-off-by: Arthur LAMBERT <lambertarthur22@gmail.com>
---
Changes v1 -> v2:
 ...

> ---
>  board/freescale/warpboard/README                   |  50 ++++
>  board/freescale/warpboard/linux-4.0.config         | 278 +++++++++++++++++++++
>  .../linux/linux-001-add-sdm-firmware.patch         | 145 +++++++++++
>  .../linux/linux-002-replace-uart2-by-uart5.patch   | 103 ++++++++
>  .../lib/firmware/brcm/brcmfmac4330-sdio.txt        |  40 +++
>  configs/warpboard_defconfig                        |  42 ++++
>  6 files changed, 658 insertions(+)
>  create mode 100644 board/freescale/warpboard/README
>  create mode 100644 board/freescale/warpboard/linux-4.0.config
>  create mode 100644 board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch
>  create mode 100644 board/freescale/warpboard/linux/linux-002-replace-uart2-by-uart5.patch
>  create mode 100644 board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt
>  create mode 100644 configs/warpboard_defconfig
> 
> diff --git a/board/freescale/warpboard/README b/board/freescale/warpboard/README
> new file mode 100644
> index 0000000..d21ab48
> --- /dev/null
> +++ b/board/freescale/warpboard/README
> @@ -0,0 +1,50 @@
> +Build
> +=====
> +
> +First, configure Buildroot for your WarpBoard.
> +  make warpboard_defconfig
> +
> +Build all components:
> +  make
> +
> +You will find in ./output/images/ the following files:
> +  - imx6sl-warp.dtb
> +  - rootfs.ext2
> +  - rootfs.tar
> +  - u-boot.imx
> +  - zImage
> +
> +Update uboot
> +============
> +
> +You will find a process written by by Fabio Estevam available in freescale repository on github :
> +https://raw.githubusercontent.com/Freescale/u-boot-fslc/patches-2015.04/board/warp/README by Fabio Estevam
> +
> +Update linux & rootfs
> +=====================
> +
> +Use ums command from uboot prompt to mount emmc as mass storage and update zImage, device tree and rootfs file
> +=> ums 0 mmc 0

 Could you also document how you get the images into uboot (I guess over USB
using imx-usb-loader).

> +
> +Fast way to update kernel image
> +===============================
> +
> +- Get new zImage and dtb file on the board by using scp through usb0

 There's no dropbear, so no scp...

 Actually I don't think this section is so useful, it's pretty generic
knowledge. It's much better to document what the layout of the eMMC is, and
where U-Boot and the device tree are stored.

> +-  Copy zImage, device tree file in boot partition :
> +  mkdir kernel
> +  mount -t vfat /dev/mmcblk0p1 kernel
> +  cp zImage  kernel/.
> +  cp imx6sl-warp.dtb  kernel/.
> +  sync
> +  umount kernel
> +  rm -r kernel
> +
> +Enable bluetooth
> +================
> +hciattach /dev/ttymxc4 any
> +hciconfig hci0 up
> +
> +Enable Wifi
> +==========
> +modprobe brcmfmac
> +ifconfig wlan0 up

 To do something useful, you'll also need a wpa-supplicant I guess...

 Since you anyway have a rootfs overlay, you could add init scripts to start
wifi and bluetooth. We don't usually do that, but I think it would be a good idea.


> diff --git a/board/freescale/warpboard/linux-4.0.config b/board/freescale/warpboard/linux-4.0.config

[snip]

> diff --git a/board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch b/board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch

 The patch naming convention no longer includes the linux- part, and we prefer
naming that corresponds to git format-patch output. So 0001-add-sdm-...

> new file mode 100644
> index 0000000..d9706c1
> --- /dev/null
> +++ b/board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch
> @@ -0,0 +1,145 @@

 Patches should have a description and Signed-off-by.

 But better yet, download it with BR2_LINUX_KERNEL_PATCH="http://... http://..."
instead of including it in buildroot.

[snip]

> diff --git a/board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt b/board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt
> new file mode 100644
> index 0000000..9546246
> --- /dev/null
> +++ b/board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt
> @@ -0,0 +1,40 @@
> +# bcm94330wlsdgb.txt

 It would be good to document (either here or in the commit log) where this file
comes from.

[snip]

> diff --git a/configs/warpboard_defconfig b/configs/warpboard_defconfig
> new file mode 100644
> index 0000000..a8afa2c
> --- /dev/null
> +++ b/configs/warpboard_defconfig
> @@ -0,0 +1,42 @@
> +# architecture
> +BR2_arm=y
> +BR2_cortex_a9=y
> +
> +# system
> +BR2_TARGET_GENERIC_HOSTNAME="warpboard"
> +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
> +
> +# kernel
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
> +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="http://github.com/Freescale/linux-fslc/tarball/38ec11d/linux-fslc-38ec11d.tar.gz"

 We usually use the full sha1, but then it becomes very long of course, so OK.

> +BR2_LINUX_KERNEL_PATCH="board/freescale/warpboard/linux/"

 We prefer to use BR2_GLOBAL_PATCH_DIR=board/freescale/warpboard/patches and
move the linux directory in there.

> +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
> +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/freescale/warpboard/linux-4.0.config"
> +BR2_LINUX_KERNEL_ZIMAGE=y
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sl-warp"
> +
> +# lock to 4.0 headers to avoid breaking with newer kernels
> +BR2_KERNEL_HEADERS_VERSION=y
> +BR2_DEFAULT_KERNEL_VERSION="4.0"
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_0=y

 This section should come before the kernel itself, to match the .config ordering.


 Regards,
 Arnout

> +
> +# wifi firmware for brcm4330
> +BR2_PACKAGE_LINUX_FIRMWARE=y
> +BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
> +
> +# bootloader
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BOARDNAME="warp"
> +BR2_TARGET_UBOOT_CUSTOM_VERSION=y
> +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2015.04"
> +BR2_TARGET_UBOOT_FORMAT_IMX=y
> +
> +# host utility to flash warpboard
> +BR2_PACKAGE_HOST_IMX_USB_LOADER=y
> +
> +# rootfs
> +BR2_ROOTFS_OVERLAY="board/freescale/warpboard/rootfs_overlay"
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
>
Arnout Vandecappelle June 24, 2015, 9:47 p.m. UTC | #5
On 06/24/15 11:32, Arthur LAMBERT wrote:
> Arnout, Yann, All,
> 
> Can I submit V3 or it is better to wait the review of the fix done in V2 ?

 No need to wait for the review. But of course, now it's done already :-)

 Regards,
 Arnout

> I was able to remove custom config, and external sdma firmware.
[snip]
Arthur LAMBERT June 25, 2015, 8:54 a.m. UTC | #6
Arnout, All,

Le Wednesday 24 Jun 2015 à 23:46:52 (+0200), Arnout Vandecappelle a écrit :
> > +
> > +Enable bluetooth
> > +================
> > +hciattach /dev/ttymxc4 any
> > +hciconfig hci0 up
> > +
> > +Enable Wifi
> > +==========
> > +modprobe brcmfmac
> > +ifconfig wlan0 up
> 
>  To do something useful, you'll also need a wpa-supplicant I guess...
> 
>  Since you anyway have a rootfs overlay, you could add init scripts to start
> wifi and bluetooth. We don't usually do that, but I think it would be a good idea.

In fact I need bluez-util (to be able to run hciattach command also). And yes I also need wpa_supplicant for wifi.
So ok I will enable these two packages and add init script

I will fix the other things that you suggest. Thanks for the review.

Regards,
Arthur.
Arthur LAMBERT June 25, 2015, 12:07 p.m. UTC | #7
Le Wednesday 24 Jun 2015 à 23:46:52 (+0200), Arnout Vandecappelle a écrit :
> > new file mode 100644
> > index 0000000..d9706c1
> > --- /dev/null
> > +++ b/board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch
> > @@ -0,0 +1,145 @@
> 
>  Patches should have a description and Signed-off-by.
> 
>  But better yet, download it with BR2_LINUX_KERNEL_PATCH="http://... http://..."
> instead of including it in buildroot.
> 
> [snip]

I don't understand this suggestion. How can I download the patch instead if including it
in buildroot since this patch does not exist anywhere. Theses patch are not commit in any git
right now.

Also you suggest me to include imx_usb_loader in warpoard_defconfig. I tried to
flash my uboot by using the imx usb loader from buildroot but is does not work :

[arthur warpboard_v5] sudo dfu-util -D output/images/u-boot.imx -a boot
dfu-util 0.8

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0525:a4a5
Run-time device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0110
Device returned transfer size 4096
Copying data from PC to DFU device
Download	 [                         ]   0%            0 bytes failed!
state(10) = dfuERROR, status(14) = Something went wrong, but the device does not know what it was

I tried to update imx_usb_loader on last sha1 commit but same result.

To make it work I have to use an imx_usb_loader from github/warpboard which is different :
https://github.com/warpboard/imx_usb_loader/commits/warp/master

How can I integrate it ? Do I need to add a patch on imx_usb_loader package to use custom git ?

Thanks,
Arthur.
Arnout Vandecappelle June 25, 2015, 10:26 p.m. UTC | #8
On 06/25/15 10:54, Arthur LAMBERT wrote:
> Arnout, All,
> 
> Le Wednesday 24 Jun 2015 à 23:46:52 (+0200), Arnout Vandecappelle a écrit :
>>> +
>>> +Enable bluetooth
>>> +================
>>> +hciattach /dev/ttymxc4 any
>>> +hciconfig hci0 up
>>> +
>>> +Enable Wifi
>>> +==========
>>> +modprobe brcmfmac
>>> +ifconfig wlan0 up
>>
>>  To do something useful, you'll also need a wpa-supplicant I guess...
>>
>>  Since you anyway have a rootfs overlay, you could add init scripts to start
>> wifi and bluetooth. We don't usually do that, but I think it would be a good idea.
> 
> In fact I need bluez-util (to be able to run hciattach command also). And yes I also need wpa_supplicant for wifi.
> So ok I will enable these two packages and add init script

 Question for the other BR developers (especially Peter): do you agree it's a
good idea to make a non-minimal defconfig that includes bluez and wpa_supplicant?

 Regards,
 Arnout
Yann E. MORIN June 25, 2015, 10:38 p.m. UTC | #9
Arnout, Arthur, All,

On 2015-06-26 00:26 +0200, Arnout Vandecappelle spake thusly:
> On 06/25/15 10:54, Arthur LAMBERT wrote:
> > Arnout, All,
> > 
> > Le Wednesday 24 Jun 2015 à 23:46:52 (+0200), Arnout Vandecappelle a écrit :
> >>> +
> >>> +Enable bluetooth
> >>> +================
> >>> +hciattach /dev/ttymxc4 any
> >>> +hciconfig hci0 up
> >>> +
> >>> +Enable Wifi
> >>> +==========
> >>> +modprobe brcmfmac
> >>> +ifconfig wlan0 up
> >>
> >>  To do something useful, you'll also need a wpa-supplicant I guess...
> >>
> >>  Since you anyway have a rootfs overlay, you could add init scripts to start
> >> wifi and bluetooth. We don't usually do that, but I think it would be a good idea.
> > 
> > In fact I need bluez-util (to be able to run hciattach command also). And yes I also need wpa_supplicant for wifi.
> > So ok I will enable these two packages and add init script
> 
>  Question for the other BR developers (especially Peter): do you agree it's a
> good idea to make a non-minimal defconfig that includes bluez and wpa_supplicant?

Our board defconfig files are ususally just enough to bring up the board
and get a shell in there. If network is wired, then a dhcp client is OK
(usually udhcpc from busybox).

Everything (bluez and wpa-supplicant included) else is out of scope for
a defconfig, IMHO.

One case where I'd be inclined to accept more than the above is a
full-wireless device (like the soon-to-come-I-hope 96boards stuff).
But since wpa-supplicant needs configuration that we can't provide
(SSID and key), I don't see the point of adding it to the defconfig.

However, we've decided to accept "demo" defconfigs, which can be packed
with more features than a simple board defconfig. We haven't had any
single such demo defconfig submitted so far.

Still, even if we accept demo defconfigs, I stil think we should have a
small board defconfig file before we get a demo.

Regards,
Yann E. MORIN.
Arnout Vandecappelle June 25, 2015, 10:41 p.m. UTC | #10
On 06/25/15 14:07, Arthur LAMBERT wrote:
> Le Wednesday 24 Jun 2015 à 23:46:52 (+0200), Arnout Vandecappelle a écrit :
>>> new file mode 100644
>>> index 0000000..d9706c1
>>> --- /dev/null
>>> +++ b/board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch
>>> @@ -0,0 +1,145 @@
>>
>>  Patches should have a description and Signed-off-by.
>>
>>  But better yet, download it with BR2_LINUX_KERNEL_PATCH="http://... http://..."
>> instead of including it in buildroot.
>>
>> [snip]
> 
> I don't understand this suggestion. How can I download the patch instead if including it
> in buildroot since this patch does not exist anywhere. Theses patch are not commit in any git
> right now.

 OK sorry I didn't know that, your commit message "linux patch from Fabio
Estevam" suggested that you downloaded it from somewhere.


> Also you suggest me to include imx_usb_loader in warpoard_defconfig. I tried to
> flash my uboot by using the imx usb loader from buildroot but is does not work :

 Clearly that's not good :-)

[snip]
> I tried to update imx_usb_loader on last sha1 commit but same result.
> 
> To make it work I have to use an imx_usb_loader from github/warpboard which is different :
> https://github.com/warpboard/imx_usb_loader/commits/warp/master
> 
> How can I integrate it ? Do I need to add a patch on imx_usb_loader package to use custom git ?

 As far as I can see, only commit af78476b6, so you could download that as
board/freescale/warpboard/patches/imx-usb-loader/0001-...

 I don't think there's a need to support downloading custom patches in the
package itself.

 Regards,
 Arnout
Arthur LAMBERT June 26, 2015, 12:24 p.m. UTC | #11
Le Friday 26 Jun 2015 à 00:38:23 (+0200), Yann E. MORIN a écrit :
> Arnout, Arthur, All,
> 
> On 2015-06-26 00:26 +0200, Arnout Vandecappelle spake thusly:
> > On 06/25/15 10:54, Arthur LAMBERT wrote:
> > > Arnout, All,
> > > 
> > > Le Wednesday 24 Jun 2015 à 23:46:52 (+0200), Arnout Vandecappelle a écrit :
> > >>> +
> > >>> +Enable bluetooth
> > >>> +================
> > >>> +hciattach /dev/ttymxc4 any
> > >>> +hciconfig hci0 up
> > >>> +
> > >>> +Enable Wifi
> > >>> +==========
> > >>> +modprobe brcmfmac
> > >>> +ifconfig wlan0 up
> > >>
> > >>  To do something useful, you'll also need a wpa-supplicant I guess...
> > >>
> > >>  Since you anyway have a rootfs overlay, you could add init scripts to start
> > >> wifi and bluetooth. We don't usually do that, but I think it would be a good idea.
> > > 
> > > In fact I need bluez-util (to be able to run hciattach command also). And yes I also need wpa_supplicant for wifi.
> > > So ok I will enable these two packages and add init script
> > 
> >  Question for the other BR developers (especially Peter): do you agree it's a
> > good idea to make a non-minimal defconfig that includes bluez and wpa_supplicant?
> 
> Our board defconfig files are ususally just enough to bring up the board
> and get a shell in there. If network is wired, then a dhcp client is OK
> (usually udhcpc from busybox).
> 
> Everything (bluez and wpa-supplicant included) else is out of scope for
> a defconfig, IMHO.
> 
> One case where I'd be inclined to accept more than the above is a
> full-wireless device (like the soon-to-come-I-hope 96boards stuff).
> But since wpa-supplicant needs configuration that we can't provide
> (SSID and key), I don't see the point of adding it to the defconfig.
> 
> However, we've decided to accept "demo" defconfigs, which can be packed
> with more features than a simple board defconfig. We haven't had any
> single such demo defconfig submitted so far.
> 
> Still, even if we accept demo defconfigs, I stil think we should have a
> small board defconfig file before we get a demo.
> 

Ok I will no keep init script for bluetooth and wifi and will remove wpa/bluez stuff.


> Regards,
> Yann E. MORIN.

Regards,
Arthur.

> 
> -- 
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'
Ryan Barnett June 26, 2015, 1:23 p.m. UTC | #12
Yann,

On Thu, Jun 25, 2015 at 5:38 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> Arnout, Arthur, All,
>
> One case where I'd be inclined to accept more than the above is a
> full-wireless device (like the soon-to-come-I-hope 96boards stuff).
> But since wpa-supplicant needs configuration that we can't provide
> (SSID and key), I don't see the point of adding it to the defconfig.
>
> However, we've decided to accept "demo" defconfigs, which can be packed
> with more features than a simple board defconfig. We haven't had any
> single such demo defconfig submitted so far.
>
> Still, even if we accept demo defconfigs, I stil think we should have a
> small board defconfig file before we get a demo.

For the SELinux patchset, we are submitting a demo configuration
because of the complexities of enabling SELinux packages.

http://patchwork.ozlabs.org/patch/479484/

Thanks,
-Ryan
Yann E. MORIN June 26, 2015, 3:06 p.m. UTC | #13
Ryan, All,

On 2015-06-26 08:23 -0500, Ryan Barnett spake thusly:
> On Thu, Jun 25, 2015 at 5:38 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> > Arnout, Arthur, All,
> >
> > One case where I'd be inclined to accept more than the above is a
> > full-wireless device (like the soon-to-come-I-hope 96boards stuff).
> > But since wpa-supplicant needs configuration that we can't provide
> > (SSID and key), I don't see the point of adding it to the defconfig.
> >
> > However, we've decided to accept "demo" defconfigs, which can be packed
> > with more features than a simple board defconfig. We haven't had any
> > single such demo defconfig submitted so far.
> >
> > Still, even if we accept demo defconfigs, I stil think we should have a
> > small board defconfig file before we get a demo.
> 
> For the SELinux patchset, we are submitting a demo configuration
> because of the complexities of enabling SELinux packages.
> 
> http://patchwork.ozlabs.org/patch/479484/

Yeah, I haven't had time to look at your SElinuxpatchset so far (sorry,
I really intend to look at it, but I'm way under the water...).

Still, I had a quick look at that patch you reference above.

First, I have no objection that we do have "demo" defconfig files.
That's something we said we would accept.

Second, I see that this patch changes the existing qemu/x86 defconfig. I
beliefve this is wrong for a demo defconfig.

Here's my position:

  - basic defconfig files should provide the bare minimum for booting up
    a board up to the login prompt (possibly with a dhcp client on wired
    ethernet being OK). This is useful to check the board is booting
    fine, and can serve as a basis for further customisations for one's
    project.

  - demo defconfig files should be a different defconfig, possibly
    copied from the basic one, above, but should not replace it. This is
    usefull for quickly showing off the possibilities offered by
    Buildroot, like *big* stuff (Kodi, SELinux, whatever is *biggish*).

Adding more non-essential stuff in basic defconfig files is a barrieir
to entry, first in terms of build-time (we want to show we can be fast),
second because more stuff means more complexity and more causes for
failures in one's own environment.

Again, I'm *not* against adding demo defconfig files, I am OK with that.
What I'd like is we keep basic defconfig files for all boards, and that
a demo defconfig should be a second defconfig, not  replacement for a
basic defconfig file.

(Ditto the Linux defconfig file, btw...)

Regards,
Yann E. MORIN.
Arnout Vandecappelle June 26, 2015, 9:54 p.m. UTC | #14
On 06/26/15 17:06, Yann E. MORIN wrote:
[snip]
> Again, I'm *not* against adding demo defconfig files, I am OK with that.
> What I'd like is we keep basic defconfig files for all boards, and that
> a demo defconfig should be a second defconfig, not  replacement for a
> basic defconfig file.
> 
> (Ditto the Linux defconfig file, btw...)

 Actually for the Linux defconfig I don't agree. If you'd apply it there, the
basic linux defconfig would include just the serial driver, so no USB, no
networking, no framebuffer... I don't think that would make anyone happy,
because it can be pretty tricky (even for someone experienced) to find out
exactly what to enable.

 Therefore, for the Linux configs, I tend to prefer one which has all the
devices enabled that are available on the board.

 And of course an in-tree defconfig is even better, and that usually has a lot
of stuff that doesn't even exist on the board (e.g. because it supports multiple
boards).

 Regards,
 Arnout
diff mbox

Patch

diff --git a/board/freescale/warpboard/README b/board/freescale/warpboard/README
new file mode 100644
index 0000000..d21ab48
--- /dev/null
+++ b/board/freescale/warpboard/README
@@ -0,0 +1,50 @@ 
+Build
+=====
+
+First, configure Buildroot for your WarpBoard.
+  make warpboard_defconfig
+
+Build all components:
+  make
+
+You will find in ./output/images/ the following files:
+  - imx6sl-warp.dtb
+  - rootfs.ext2
+  - rootfs.tar
+  - u-boot.imx
+  - zImage
+
+Update uboot
+============
+
+You will find a process written by by Fabio Estevam available in freescale repository on github :
+https://raw.githubusercontent.com/Freescale/u-boot-fslc/patches-2015.04/board/warp/README by Fabio Estevam
+
+Update linux & rootfs
+=====================
+
+Use ums command from uboot prompt to mount emmc as mass storage and update zImage, device tree and rootfs file
+=> ums 0 mmc 0
+
+Fast way to update kernel image
+===============================
+
+- Get new zImage and dtb file on the board by using scp through usb0
+-  Copy zImage, device tree file in boot partition :
+  mkdir kernel
+  mount -t vfat /dev/mmcblk0p1 kernel
+  cp zImage  kernel/.
+  cp imx6sl-warp.dtb  kernel/.
+  sync
+  umount kernel
+  rm -r kernel
+
+Enable bluetooth
+================
+hciattach /dev/ttymxc4 any
+hciconfig hci0 up
+
+Enable Wifi
+==========
+modprobe brcmfmac
+ifconfig wlan0 up
diff --git a/board/freescale/warpboard/linux-4.0.config b/board/freescale/warpboard/linux-4.0.config
new file mode 100644
index 0000000..d5919af
--- /dev/null
+++ b/board/freescale/warpboard/linux-4.0.config
@@ -0,0 +1,278 @@ 
+CONFIG_KERNEL_LZO=y
+CONFIG_SYSVIPC=y
+CONFIG_FHANDLE=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_RCU_FANOUT=32
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_CGROUPS=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_EXPERT=y
+# CONFIG_SGETMASK_SYSCALL is not set
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+# CONFIG_BLK_DEV_BSG is not set
+CONFIG_SMP=y
+CONFIG_NR_CPUS=4
+# CONFIG_SCHED_MC is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+CONFIG_CMA=y
+# CONFIG_SECCOMP is not set
+CONFIG_HZ_100=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_TEST_SUSPEND=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_BINFMT_MISC=m
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_INET=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=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_IPV6=y
+CONFIG_NETFILTER=y
+CONFIG_CAN=y
+CONFIG_BT=y
+CONFIG_BT_RFCOMM=y
+CONFIG_BT_HCIUART=y
+CONFIG_BT_HCIUART_H4=y
+CONFIG_CFG80211=y
+CONFIG_MAC80211=y
+CONFIG_RFKILL=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_STANDALONE is not set
+CONFIG_DMA_CMA=y
+CONFIG_CMA_SIZE_MBYTES=16
+CONFIG_CONNECTOR=y
+CONFIG_MTD=y
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_SRAM=y
+CONFIG_EEPROM_AT24=y
+CONFIG_EEPROM_AT25=y
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+# CONFIG_SCSI_LOWLEVEL is not set
+CONFIG_ATA=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_NETDEVICES=y
+# CONFIG_NET_VENDOR_BROADCOM is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+CONFIG_SMSC911X=y
+# CONFIG_NET_VENDOR_STMICRO is not set
+CONFIG_AT803X_PHY=y
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_BRCMFMAC=m
+CONFIG_INPUT_MATRIXKMAP=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_MC13783=y
+CONFIG_TOUCHSCREEN_TSC2007=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_MMA8450=y
+CONFIG_SERIO_SERPORT=m
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+CONFIG_HW_RANDOM=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_HELPER_AUTO is not set
+CONFIG_I2C_ALGOPCF=m
+CONFIG_I2C_ALGOPCA=m
+CONFIG_SPI=y
+CONFIG_SPI_BITBANG=y
+CONFIG_SPI_SPIDEV=y
+CONFIG_PTP_1588_CLOCK=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_RESET=y
+CONFIG_SENSORS_GPIO_FAN=y
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+CONFIG_MFD_DA9052_I2C=y
+CONFIG_MFD_MC13XXX_SPI=y
+CONFIG_MFD_MC13XXX_I2C=y
+CONFIG_MFD_SYSCON=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_ANATOP=y
+CONFIG_REGULATOR_DA9052=y
+CONFIG_REGULATOR_GPIO=y
+CONFIG_REGULATOR_MC13783=y
+CONFIG_REGULATOR_MC13892=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
+CONFIG_RC_DEVICES=y
+CONFIG_IR_GPIO_CIR=y
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_SOC_CAMERA=y
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_SOC_CAMERA_OV2640=y
+CONFIG_DRM=y
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_L4F00242T03=y
+CONFIG_LCD_PLATFORM=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_BACKLIGHT_GPIO=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_LOGO=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_FSL_SAI=y
+CONFIG_SND_SOC_FSL_SSI=y
+CONFIG_SND_SOC_FSL_SPDIF=y
+CONFIG_SND_SOC_IMX_AUDMUX=y
+CONFIG_SND_SOC_SGTL5000=y
+CONFIG_SND_SOC_TLV320AIC23_I2C=y
+CONFIG_SND_SOC_TLV320AIC3X=y
+CONFIG_SND_SOC_WM8962=y
+CONFIG_SND_SIMPLE_CARD=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_EHSET_TEST_FIXTURE=m
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_ETH=y
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_ONESHOT=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_DS1307=y
+CONFIG_RTC_DRV_ISL1208=y
+CONFIG_RTC_DRV_PCF8563=y
+# CONFIG_RTC_DRV_CMOS is not set
+CONFIG_RTC_DRV_MC13XXX=y
+CONFIG_DMADEVICES=y
+CONFIG_STAGING=y
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_PWM=y
+CONFIG_RESET_CONTROLLER=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=y
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_JFFS2_FS=y
+CONFIG_UBIFS_FS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_ROOT_NFS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_UTF8=y
+CONFIG_PRINTK_TIME=y
+CONFIG_FRAME_WARN=1024
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_SCHED_DEBUG is not set
+CONFIG_PROVE_LOCKING=y
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_FTRACE is not set
+CONFIG_SECURITYFS=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
+# CONFIG_VIRTUALIZATION is not set
+CONFIG_CRC_CCITT=m
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
diff --git a/board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch b/board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch
new file mode 100644
index 0000000..d9706c1
--- /dev/null
+++ b/board/freescale/warpboard/linux/linux-001-add-sdm-firmware.patch
@@ -0,0 +1,145 @@ 
+diff -Naur linux-patches-4.0.old/firmware/imx/sdma/sdma-imx6q.bin.ihex linux-patches-4.0/firmware/imx/sdma/sdma-imx6q.bin.ihex
+--- linux-patches-4.0.old/firmware/imx/sdma/sdma-imx6q.bin.ihex	1970-01-01 01:00:00.000000000 +0100
++++ linux-patches-4.0/firmware/imx/sdma/sdma-imx6q.bin.ihex	2015-04-07 11:25:07.315668667 +0200
+@@ -0,0 +1,130 @@
++:1000000053444D4103000000010000001C000000AB
++:1000100029000000C0000000480700008202000024
++:10002000FFFFFFFF00000000FFFFFFFFFFFFFFFFDC
++:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
++:10004000FFFFFFFFFFFFFFFFFA1900004B04000056
++:10005000EB020000A8180000FFFFFFFF581A000085
++:10006000FFFFFFFFC0030000FFFFFFFFFFFFFFFFD9
++:10007000FFFFFFFFAB020000FFFFFFFF7B0300005D
++:10008000FFFFFFFFFFFFFFFF4C0400006E040000B6
++:10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
++:1000A00000000000001800004F180000A619000012
++:1000B000071B0000A21A00003E1B000000180000F1
++:1000C000E3C1DB57F352016AFB52D36AFB521C1A9D
++:1000D000C36AE8621102FF3A3008D002337C8F0015
++:1000E000D500017D8D00A005EB5D7804037D7904CA
++:1000F0001C7D207C7904157CEE566006057D096523
++:10010000287E0A62267E28980A62237E0965217E5F
++:1001100012051205AD02C86A1C7F03200048ED7C61
++:10012000409802780962C86A3F98150002780A620E
++:10013000C86A3F981500150002780B62C86A097CEE
++:10014000DF6D077F0000EB55004D077DFAC1DB57DF
++:1001500006980700CC680C6813C20AC20198D9C17E
++:10016000E3C1DB57E35FE357F352216A8F00D50009
++:10017000017D8D00A005EB5DFB567804037D7904BD
++:100180002A7D317C7904207C700B1103EB53000F26
++:100190006003057D0965377E0A62357E73980A62C1
++:1001A000327E0965307E12051205AD026007027CC1
++:1001B000065A7B98265A277F011F03200048E87CB7
++:1001C000700B110313539C98150004780962065AAA
++:1001D0000962265A9B981500150004780A62065A8F
++:1001E0000A62265A9B9815001500150004780B62C8
++:1001F000065A0B62265A077C0000EB55004D067D1F
++:10020000FAC1E357569807000C6813C20AC2539804
++:10021000700B110313536C07017CD9C1FB5E8A0676
++:100220006B07017CD9C1F35EDB59D3588F011001F4
++:100230000F398B003CC12B7DC05AC85B4EC1277C57
++:1002400088038906E35CFF0D1105FF1DBC053E0711
++:10025000004D187D700811007E07097D7D07027D25
++:100260002852D398F852DB54BC02CC02097C7C079C
++:10027000027D2852DC98F852D354BC02CC02097D8E
++:100280000004CA988B00C052C85359C1D67D0002E1
++:10029000BA98FF08BF007F07157D8804D500017D4F
++:1002A0008D00A005EB5D8F0212021202FF3ADA0503
++:1002B000027C3E070599A402DD02027D3E070599F6
++:1002C0005E070599EB559805EB5DF352FB546A0701
++:1002D000267D6C07017D42996B07577C6907047D79
++:1002E0006807027D010E1C999358D600017D8E008F
++:1002F0009355A005935DA00602780255045D1D7C10
++:10030000004E087C6907037D0255177E2999045D1C
++:10031000147F890693500048017D14998D9915002A
++:1003200006780255045D4F070255245D2F07017CB6
++:100330008D9917006F07017C012093559D000700E0
++:1003400094D9E298D36C6907047D6807027D010E99
++:1003500051999358D600017D8E009355A005935D69
++:10036000A00602780255C86D0F7C004E087C690714
++:10037000037D0255097E5E99C86D067F89069350FC
++:100380000048017D49998D998799C36A6907047D61
++:100390006807027D010E74999358D600017D8E0086
++:1003A0009355A005935DA0060278C865045D0F7C97
++:1003B000004E087C6907037DC865097E8199045D4C
++:1003C000067F890693500048017D6C998D9993555D
++:1003D0009D000700FF6C94D9E2980000E354EB55B0
++:1003E000004D017CE298CA98E354EB55FF0A1102D4
++:1003F000FF1A7F07027CA005A1999D008C05BA0514
++:10040000A0051002BA04AD0454040600D9C1E3C12A
++:10041000DB57F352056A8F00D500017D8D00A005E2
++:10042000FB567804037D7904297D1F7C79042E7C9A
++:10043000E35D700D1105ED55000F6007027D06525A
++:10044000C2992652337E6005027D10021202096AAB
++:100450002D7F1202096A2A7F1202096A277F011F73
++:1004600003200048EA7CE355ED99150015001500BE
++:10047000047806520B6A26520B6AEC991500150097
++:10048000047806520A6A26520A6AEC991500047822
++:100490000652096A2652096A097C286A077F000009
++:1004A000DB57004D057DFAC1DB57AB9977C2540489
++:1004B0000AC2A899E3C1DB57F352056AFB568E02C4
++:1004C000941AC36AC8626902267D941EC36ED36EF5
++:1004D000C8624802C86A9426981EC36EC8629826ED
++:1004E000C36E60020E7D981EC36EC8626C02037DEF
++:1004F0009826C36E3B9A4C02D36EC86A9826C36E88
++:100500004B9AC8626E02017C459A096A1A7F0125DE
++:10051000004D217D0C9AE36E8F00D805017D8D0082
++:10052000C8626E02127D096A0C7F01250120F87CE9
++:10053000DB57004D107D286A047F0000FAC1DB57AD
++:10054000FE99070004620C6A489A286AFA7F0462DE
++:100550007AC258045404FF081100FF18BC00CD00F3
++:10056000017C3B9A286AED7F04627AC20AC2FB9939
++:10057000D9C1E3C1DB57F352056AFB568E02941AC8
++:10058000025269021D7D941E06524802065A9426A4
++:10059000981E06524C02065A9826981E0652600271
++:1005A0000A7C982606526E02237D096A1D7F01256A
++:1005B000004D247D6D9A286A177F04627AC29E9A44
++:1005C0008F00D805017D8D00A00506526E02107DBA
++:1005D000096A0A7F0120F97C286A067F0000004D25
++:1005E0000D7DFAC1DB575D9A070004620C6A9B9A85
++:1005F000286AFA7F04627AC258045404286AF47F95
++:100600000AC25A9AE6DADB57F352056AC7698F00C5
++:10061000D500017D8D00A0057804037D79041C7D43
++:10062000157C79041E7CEE56C862287E6006027D29
++:1006300010021202096A227F1202096A1F7F120247
++:10064000096A1C7F03200048EF7CD59A150015002D
++:100650000278C8620B6AD49A15000278C8620A6AE6
++:10066000D49A0278C862096A097C286A077F004D1B
++:10067000077DD352010802580004A69A77C2540499
++:10068000D352010802580104FEDAA39A700B110339
++:100690001353DB5F0A07D3588B00FB5E3CC1157D0B
++:1006A000C05AC85B4EC1117C8803F05DFF0D110577
++:1006B000FF1DBC05004D047DFD9A0807DB5F0A079E
++:1006C0008B00C352CB5359C1EC7D0002EE9A016EF0
++:1006D0000B612F7E0B622D7E0B632B7E0C0D17049E
++:1006E000170417049D04081DCC05017C0C0DD16A6C
++:1006F000000F4207C86FDD6F1C7F8E009D000168F0
++:100700000B67177ED56B04080278C86F1207117C3F
++:100710000B670F7E04080278C86F12070A7CDD6F32
++:10072000087FD169010FC86FDD6F037F01010004ED
++:10073000139B0700FF680C680002139B83DBDB57E9
++:10074000F352056AFB52C76A8F00D500017D8D0008
++:10075000A0057804037D79041C7D157C79041E7C3A
++:10076000EE56C862287E6006027D10021202096AF7
++:10077000227F1202096A1F7F1202096A1C7F03206E
++:100780000048EF7C729B150015000278C8620B6A66
++:10079000719B15000278C8620A6A719B0278C86270
++:1007A000096A097C286A077F004D077DD35201083A
++:1007B00002580004429B77C25404D35201080258E5
++:1007C00001049BDB3F9B700B11031353DB5F0A0794
++:1007D000D3588B00FB5E3CC1157DC05AC85B4EC12F
++:1007E000117C8803F05DFF0D1105FF1DBC05004D58
++:1007F000047D9A9B0807DB5F0A078B00C352CB532B
++:0808000059C1EC7D00028B9B45
++:00000001FF
+diff -Naur linux-patches-4.0.old/firmware/Makefile linux-patches-4.0/firmware/Makefile
+--- linux-patches-4.0.old/firmware/Makefile	2015-04-07 11:20:57.243679386 +0200
++++ linux-patches-4.0/firmware/Makefile	2015-04-07 11:24:04.655671353 +0200
+@@ -61,6 +61,7 @@
+ 				   radeon/RV770_pfp.bin radeon/RV770_me.bin \
+ 				   radeon/RV730_pfp.bin radeon/RV730_me.bin \
+ 				   radeon/RV710_pfp.bin radeon/RV710_me.bin
++fw-shipped-$(CONFIG_IMX_SDMA) += imx/sdma/sdma-imx6q.bin
+ fw-shipped-$(CONFIG_DVB_AV7110) += av7110/bootcode.bin
+ fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += ttusb-budget/dspbootcode.bin
+ fw-shipped-$(CONFIG_E100) += e100/d101m_ucode.bin e100/d101s_ucode.bin \
diff --git a/board/freescale/warpboard/linux/linux-002-replace-uart2-by-uart5.patch b/board/freescale/warpboard/linux/linux-002-replace-uart2-by-uart5.patch
new file mode 100644
index 0000000..d742c24
--- /dev/null
+++ b/board/freescale/warpboard/linux/linux-002-replace-uart2-by-uart5.patch
@@ -0,0 +1,103 @@ 
+From: Fabio Estevam <fabio.estevam@freescale.com>
+Date: Fri, 29 May 2015 16:19:39 -0300
+Subject: [PATCH] ARM: dts: imx6sl-warp: Add changes for rev1.12
+
+Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
+---
+ arch/arm/boot/dts/imx6sl-warp.dts | 32 +++++++++++++++++++-------------
+ 1 file changed, 19 insertions(+), 13 deletions(-)
+
+diff --git a/arch/arm/boot/dts/imx6sl-warp.dts b/arch/arm/boot/dts/imx6sl-warp.dts
+index 0da906b..bdfa82b 100644
+--- a/arch/arm/boot/dts/imx6sl-warp.dts
++++ b/arch/arm/boot/dts/imx6sl-warp.dts
+@@ -61,7 +61,9 @@
+ 	usdhc3_pwrseq: usdhc3_pwrseq {
+ 		compatible = "mmc-pwrseq-simple";
+ 		reset-gpios = <&gpio4 5 GPIO_ACTIVE_LOW>, 	/* WL_REG_ON */
++			      <&gpio4 7 GPIO_ACTIVE_LOW>, 	/* WL_HOSTWAKE */
+ 			      <&gpio3 25 GPIO_ACTIVE_LOW>, 	/* BT_REG_ON */
++			      <&gpio3 27 GPIO_ACTIVE_LOW>,	/* BT_HOSTWAKE */
+ 			      <&gpio4 4 GPIO_ACTIVE_LOW>, 	/* BT_WAKE */
+ 			      <&gpio4 6 GPIO_ACTIVE_LOW>; 	/* BT_RST_N */
+ 	};
+@@ -73,16 +75,16 @@
+ 	status = "okay";
+ };
+ 
+-&uart2 {
++&uart3 {
+ 	pinctrl-names = "default";
+-	pinctrl-0 = <&pinctrl_uart2>;
+-	fsl,uart-has-rtscts;
++	pinctrl-0 = <&pinctrl_uart3>;
+ 	status = "okay";
+ };
+ 
+-&uart3 {
++&uart5 {
+ 	pinctrl-names = "default";
+-	pinctrl-0 = <&pinctrl_uart3>;
++	pinctrl-0 = <&pinctrl_uart5>;
++	fsl,uart-has-rtscts;
+ 	status = "okay";
+ };
+ 
+@@ -130,14 +132,6 @@
+ 			>;
+ 		};
+ 
+-		pinctrl_uart2: uart2grp {
+-			fsl,pins = <
+-				MX6SL_PAD_EPDC_D12__UART2_RX_DATA	0x41b0b1
+-				MX6SL_PAD_EPDC_D13__UART2_TX_DATA	0x41b0b1
+-				MX6SL_PAD_EPDC_D14__UART2_RTS_B		0x4130B1
+-				MX6SL_PAD_EPDC_D15__UART2_CTS_B		0x4130B1
+-			>;
+-		};
+ 
+ 		pinctrl_uart3: uart3grp {
+ 			fsl,pins = <
+@@ -146,6 +140,15 @@
+ 			>;
+ 		};
+ 
++		pinctrl_uart5: uart5grp {
++			fsl,pins = <
++				MX6SL_PAD_ECSPI1_SCLK__UART5_RX_DATA	0x41b0b1
++				MX6SL_PAD_ECSPI1_MOSI__UART5_TX_DATA	0x41b0b1
++				MX6SL_PAD_ECSPI1_MISO__UART5_RTS_B	0x4130b1
++				MX6SL_PAD_ECSPI1_SS0__UART5_CTS_B	0x4130b1
++			>;
++		};
++
+ 		pinctrl_usdhc2: usdhc2grp {
+ 			fsl,pins = <
+ 				MX6SL_PAD_SD2_CMD__SD2_CMD		0x417059
+@@ -158,6 +161,7 @@
+ 				MX6SL_PAD_SD2_DAT5__SD2_DATA5		0x417059
+ 				MX6SL_PAD_SD2_DAT6__SD2_DATA6		0x417059
+ 				MX6SL_PAD_SD2_DAT7__SD2_DATA7		0x417059
++				MX6SL_PAD_SD2_RST__SD2_RESET		0x417059
+ 			>;
+ 		};
+ 
+@@ -173,6 +177,7 @@
+ 				MX6SL_PAD_SD2_DAT5__SD2_DATA5		0x4170b9
+ 				MX6SL_PAD_SD2_DAT6__SD2_DATA6		0x4170b9
+ 				MX6SL_PAD_SD2_DAT7__SD2_DATA7		0x4170b9
++				MX6SL_PAD_SD2_RST__SD2_RESET		0x4170b9
+ 			>;
+ 		};
+ 
+@@ -188,6 +193,7 @@
+ 				MX6SL_PAD_SD2_DAT5__SD2_DATA5		0x4170f9
+ 				MX6SL_PAD_SD2_DAT6__SD2_DATA6		0x4170f9
+ 				MX6SL_PAD_SD2_DAT7__SD2_DATA7		0x4170f9
++				MX6SL_PAD_SD2_RST__SD2_RESET		0x4170f9
+ 			>;
+ 		};
+ 
+-- 
+1.9.1
+
diff --git a/board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt b/board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt
new file mode 100644
index 0000000..9546246
--- /dev/null
+++ b/board/freescale/warpboard/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt
@@ -0,0 +1,40 @@ 
+# bcm94330wlsdgb.txt
+manfid=0x2d0
+prodid=0x0552
+vendid=0x14e4
+devid=0x4360
+boardtype=0x0552
+boardrev=0x11
+# this design has 2.4GHz SP3T switch
+boardflags=0x00080200
+nocrc=1
+xtalfreq=37400
+boardnum=22
+macaddr=00:90:4c:c5:12:38
+ag0=255
+aa2g=1
+ccode=CN
+pa0b0=0x14d0
+pa0b1=0xfd98
+pa0b2=0xff78
+rssismf2g=0xa
+rssismc2g=0x3
+rssisav2g=0x7
+maxp2ga0=0x50
+sromrev=3
+il0macaddr=00:90:4c:c5:12:38
+wl0id=0x431b
+cckPwrOffset=5
+ofdm2gpo=0x66666666
+mcs2gpo0=0x6666
+mcs2gpo1=0x6666
+swctrlmap_2g=0x04040404,0x02020202,0x02020404,0x10202,0x1ff
+swctrlmap_5g=0x00100010,0x00280020,0x00200010,0x14202,0x2f8
+rfreg033=0x19
+rfreg033_cck=0x1f
+dacrate2g=160
+txalpfbyp2g=1
+bphyscale=17
+cckPwrIdxCorr=-15
+pacalidx2g=45
+txgaintbl=1
diff --git a/configs/warpboard_defconfig b/configs/warpboard_defconfig
new file mode 100644
index 0000000..a8afa2c
--- /dev/null
+++ b/configs/warpboard_defconfig
@@ -0,0 +1,42 @@ 
+# architecture
+BR2_arm=y
+BR2_cortex_a9=y
+
+# system
+BR2_TARGET_GENERIC_HOSTNAME="warpboard"
+BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
+
+# kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="http://github.com/Freescale/linux-fslc/tarball/38ec11d/linux-fslc-38ec11d.tar.gz"
+BR2_LINUX_KERNEL_PATCH="board/freescale/warpboard/linux/"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/freescale/warpboard/linux-4.0.config"
+BR2_LINUX_KERNEL_ZIMAGE=y
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6sl-warp"
+
+# lock to 4.0 headers to avoid breaking with newer kernels
+BR2_KERNEL_HEADERS_VERSION=y
+BR2_DEFAULT_KERNEL_VERSION="4.0"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_0=y
+
+# wifi firmware for brcm4330
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y
+
+# bootloader
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="warp"
+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2015.04"
+BR2_TARGET_UBOOT_FORMAT_IMX=y
+
+# host utility to flash warpboard
+BR2_PACKAGE_HOST_IMX_USB_LOADER=y
+
+# rootfs
+BR2_ROOTFS_OVERLAY="board/freescale/warpboard/rootfs_overlay"
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y