From 064542de7821bbc57f796047ef067000d016a4fb Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Wed, 12 Mar 2014 12:52:12 +0000 Subject: Add some general missing ARM drivers (mostly sound), ARM config tweaks and cleanups, Update i.MX6 dtb --- arm-imx6-utilite.patch | 152 +++++++++++++++++++++++++++++++++++-------------- config-arm-generic | 5 +- config-armv7 | 24 ++++---- config-armv7-generic | 5 +- config-armv7-lpae | 25 ++++---- kernel.spec | 5 ++ 6 files changed, 143 insertions(+), 73 deletions(-) diff --git a/arm-imx6-utilite.patch b/arm-imx6-utilite.patch index 6080a269..35f34c16 100644 --- a/arm-imx6-utilite.patch +++ b/arm-imx6-utilite.patch @@ -1,36 +1,55 @@ -Add initial support for cm-fx6 module. +commit 682d055e6ac5c3855f51649de6d68e9bb29c26a6 +Author: Valentin Raevsky +Date: Tue Oct 29 14:11:43 2013 +0200 -cm-fx6 is a module based on mx6q SoC with the following features: -- Up to 4GB of DDR3 -- 1 LCD/DVI output port -- 1 HDMI output port -- 2 LVDS LCD ports -- Gigabit Ethernet -- Analog Audio -- CAN -- SATA -- NAND -- PCIE - -This patch allows to boot up the module, configures the serial console, -the Ethernet adapter and the hearbeat led. - -Signed-off-by: Valentin Raevsky -Acked-by: Igor Grinberg ---- - arch/arm/boot/dts/imx6q-cm-fx6.dts | 51 ++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 51 insertions(+) - create mode 100644 arch/arm/boot/dts/imx6q-cm-fx6.dts + ARM: dts: Add initial support for cm-fx6. + + Add initial support for cm-fx6 module. + + cm-fx6 is a module based on mx6q SoC with the following features: + - Up to 4GB of DDR3 + - 1 LCD/DVI output port + - 1 HDMI output port + - 2 LVDS LCD ports + - Gigabit Ethernet + - Analog Audio + - CAN + - SATA + - NAND + - PCIE + + This patch allows to boot up the module, configures the serial console, + the Ethernet adapter and the heartbeat led. + + cm-fx6 is embedded inside the Utilite computer. + + Signed-off-by: Valentin Raevsky + Signed-off-by: Igor Grinberg + Signed-off-by: Shawn Guo +diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile +index 8081479..5672e91 100644 +--- a/arch/arm/boot/dts/Makefile ++++ b/arch/arm/boot/dts/Makefile +@@ -162,6 +162,7 @@ dtb-$(CONFIG_ARCH_MXC) += \ + imx6dl-sabresd.dtb \ + imx6dl-wandboard.dtb \ + imx6q-arm2.dtb \ ++ imx6q-cm-fx6.dtb \ + imx6q-cubox-i.dtb \ + imx6q-phytec-pbab01.dtb \ + imx6q-sabreauto.dtb \ diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts new file mode 100644 -index 0000000..1080215 +index 0000000..99b46f8 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts -@@ -0,0 +1,51 @@ +@@ -0,0 +1,107 @@ +/* + * Copyright 2013 CompuLab Ltd. + * ++ * Author: Valentin Raevsky ++ * + * The code contained herein is licensed under the GNU General Public + * License. You may obtain a copy of the GNU General Public License + * Version 2 or later at the following locations: @@ -53,7 +72,7 @@ index 0000000..1080215 + leds { + compatible = "gpio-leds"; + -+ debug-led { ++ heartbeat-led { + label = "Heartbeat"; + gpios = <&gpio2 31 0>; + linux,default-trigger = "heartbeat"; @@ -61,34 +80,79 @@ index 0000000..1080215 + }; +}; + -+&gpmi { ++&fec { + pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_gpmi_nand_1>; ++ pinctrl-0 = <&pinctrl_enet>; ++ phy-mode = "rgmii"; + status = "okay"; +}; + -+&fec { ++&gpmi { + pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_enet_1>; -+ phy-mode = "rgmii"; ++ pinctrl-0 = <&pinctrl_gpmi_nand>; + status = "okay"; +}; + ++&iomuxc { ++ imx6q-cm-fx6 { ++ pinctrl_enet: enetgrp { ++ fsl,pins = < ++ MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0 ++ MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0 ++ MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0 ++ MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0 ++ MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0 ++ MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0 ++ MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0 ++ MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0 ++ MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0 ++ MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0 ++ MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0 ++ MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0 ++ MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0 ++ MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 ++ MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 ++ MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8 ++ >; ++ }; ++ ++ pinctrl_gpmi_nand: gpminandgrp { ++ fsl,pins = < ++ MX6QDL_PAD_NANDF_CLE__NAND_CLE 0xb0b1 ++ MX6QDL_PAD_NANDF_ALE__NAND_ALE 0xb0b1 ++ MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0xb0b1 ++ MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0xb000 ++ MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0xb0b1 ++ MX6QDL_PAD_NANDF_CS1__NAND_CE1_B 0xb0b1 ++ MX6QDL_PAD_SD4_CMD__NAND_RE_B 0xb0b1 ++ MX6QDL_PAD_SD4_CLK__NAND_WE_B 0xb0b1 ++ MX6QDL_PAD_NANDF_D0__NAND_DATA00 0xb0b1 ++ MX6QDL_PAD_NANDF_D1__NAND_DATA01 0xb0b1 ++ MX6QDL_PAD_NANDF_D2__NAND_DATA02 0xb0b1 ++ MX6QDL_PAD_NANDF_D3__NAND_DATA03 0xb0b1 ++ MX6QDL_PAD_NANDF_D4__NAND_DATA04 0xb0b1 ++ MX6QDL_PAD_NANDF_D5__NAND_DATA05 0xb0b1 ++ MX6QDL_PAD_NANDF_D6__NAND_DATA06 0xb0b1 ++ MX6QDL_PAD_NANDF_D7__NAND_DATA07 0xb0b1 ++ MX6QDL_PAD_SD4_DAT0__NAND_DQS 0x00b1 ++ >; ++ }; ++ ++ pinctrl_uart4: uart4grp { ++ fsl,pins = < ++ MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1 ++ MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1 ++ >; ++ }; ++ }; ++}; ++ +&uart4 { + pinctrl-names = "default"; -+ pinctrl-0 = <&pinctrl_uart4_1>; ++ pinctrl-0 = <&pinctrl_uart4>; + status = "okay"; +}; - -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index b9d6a8b..b821d2c 100644 ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -159,6 +159,7 @@ dtb-$(CONFIG_ARCH_MXC) += \ - imx6dl-wandboard.dtb \ - imx6q-arm2.dtb \ - imx6q-cubox-i.dtb \ -+ imx6q-cm-fx6.dtb \ - imx6q-phytec-pbab01.dtb \ - imx6q-sabreauto.dtb \ - imx6q-sabrelite.dtb \ ++ ++&sata { ++ status = "okay"; ++}; diff --git a/config-arm-generic b/config-arm-generic index 7e95287b..db9c50ee 100644 --- a/config-arm-generic +++ b/config-arm-generic @@ -30,6 +30,7 @@ CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y CONFIG_NR_CPUS=8 CONFIG_ARM_DMA_USE_IOMMU=y +# CONFIG_ARM_SMMU is not set CONFIG_SWIOTLB=y CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_FB_SIMPLE=y @@ -68,6 +69,7 @@ CONFIG_OF_EARLY_FLATTREE=y CONFIG_OF_FLATTREE=y CONFIG_OF_GPIO=y CONFIG_OF_I2C=m +CONFIG_OF_IOMMU=y CONFIG_OF_IRQ=y CONFIG_OF_MDIO=m CONFIG_OF_MTD=y @@ -127,7 +129,7 @@ CONFIG_SENSORS_IIO_HWMON=m CONFIG_IIO_SYSFS_TRIGGER=m # PHY framework -CONFIG_GENERIC_PHY=m +CONFIG_GENERIC_PHY=y # MFD CONFIG_MFD_CORE=m @@ -158,7 +160,6 @@ CONFIG_CMA_AREAS=7 # CONFIG_DRM_SHMOBILE is not set # CONFIG_I2C_SH_MOBILE is not set # CONFIG_MMC_DW_SOCFPGA is not set -# CONFIG_ARM_SMMU is not set # CONFIG_I2C_NOMADIK is not set # CONFIG_IRQ_DOMAIN_DEBUG is not set # CONFIG_LEDS_RENESAS_TPU is not set diff --git a/config-armv7 b/config-armv7 index 283ce0d9..68ba1e3f 100644 --- a/config-armv7 +++ b/config-armv7 @@ -1,6 +1,6 @@ # ARM unified arch kernel -# CONFIG_ARCH_EXYNOS_MULTI is not set +# CONFIG_ARCH_BERLIN is not set # CONFIG_ARCH_KEYSTONE is not set CONFIG_ARCH_MVEBU=y CONFIG_ARCH_MXC=y @@ -48,6 +48,7 @@ CONFIG_MMC_MVSDIO=m CONFIG_SPI_ORION=m CONFIG_USB_MV_UDC=m CONFIG_MVEBU_MBUS=y +CONFIG_PHY_MVEBU_SATA=y CONFIG_ARMADA_THERMAL=m CONFIG_DRM_ARMADA=m @@ -99,7 +100,6 @@ CONFIG_OMAP_IOVMM=m CONFIG_HWSPINLOCK_OMAP=m CONFIG_OMAP3_EMU=y # CONFIG_OMAP3_SDRC_AC_TIMING is not set -CONFIG_OMAP_WATCHDOG=m CONFIG_SERIAL_OMAP=y CONFIG_SERIAL_OMAP_CONSOLE=y @@ -312,11 +312,15 @@ CONFIG_TI_EMIF=m CONFIG_DRM_TILCDC=m CONFIG_SPI_DAVINCI=m CONFIG_SND_DAVINCI_SOC=m +CONFIG_SND_DAVINCI_SOC_I2S=m +CONFIG_SND_DAVINCI_SOC_MCASP=m +CONFIG_SND_DAVINCI_SOC_VCIF=m +CONFIG_SND_DAVINCI_SOC_GENERIC_EVM=m +CONFIG_SND_AM33XX_SOC_EVM=m CONFIG_REGULATOR_TI_ABB=m CONFIG_TI_ADC081C=m CONFIG_TI_AM335X_ADC=m CONFIG_PWM_TIPWMSS=y -CONFIG_SND_AM33XX_SOC_EVM=m # CONFIG_GPIO_DAVINCI is not set # CONFIG_DAVINCI_WATCHDOG is not set @@ -365,6 +369,7 @@ CONFIG_RTC_DRV_SNVS=m # CONFIG_FB_IMX is not set CONFIG_SND_IMX_SOC=m +CONFIG_SND_SOC_FSL_SPDIF=m CONFIG_SND_SOC_FSL_SSI=m CONFIG_SND_SOC_FSL_UTILS=m CONFIG_SND_SOC_IMX_SSI=m @@ -392,7 +397,6 @@ CONFIG_AHCI_IMX=m # CONFIG_MXS_DMA is not set CONFIG_PWM_IMX=m -CONFIG_BACKLIGHT_PWM=m CONFIG_DRM_IMX=m CONFIG_DRM_IMX_FB_HELPER=m CONFIG_DRM_IMX_HDMI=m @@ -477,12 +481,9 @@ CONFIG_AB8500_BM=y CONFIG_AB8500_GPADC=y CONFIG_SENSORS_AB8500=m CONFIG_STE_MODEM_RPROC=m -CONFIG_UX500_WATCHDOG=m -CONFIG_IIO_ST_ACCEL_3AXIS=m -CONFIG_IIO_ST_GYRO_3AXIS=m + CONFIG_IIO_ST_GYRO_I2C_3AXIS=m CONFIG_IIO_ST_GYRO_SPI_3AXIS=m -CONFIG_IIO_ST_MAGN_3AXIS=m CONFIG_IIO_ST_MAGN_I2C_3AXIS=m CONFIG_IIO_ST_MAGN_SPI_3AXIS=m CONFIG_IIO_ST_PRESS=m @@ -500,7 +501,7 @@ CONFIG_ARCH_TEGRA_3x_SOC=y CONFIG_ARM_TEGRA_CPUFREQ=y CONFIG_TEGRA20_MC=y CONFIG_TEGRA30_MC=y -# CONFIG_TRUSTED_FOUNDATIONS is not set +CONFIG_TRUSTED_FOUNDATIONS=y CONFIG_SERIAL_TEGRA=y @@ -515,7 +516,7 @@ CONFIG_TEGRA_SYSTEM_DMA=y CONFIG_TEGRA_EMC_SCALING_ENABLE=y CONFIG_TEGRA_AHB=y CONFIG_TEGRA20_APB_DMA=y -# CONFIG_SPI_TEGRA114 is not set +CONFIG_SPI_TEGRA114=m CONFIG_SPI_TEGRA20_SFLASH=m CONFIG_SPI_TEGRA20_SLINK=m @@ -536,6 +537,8 @@ CONFIG_SND_SOC_TEGRA_WM8753=m CONFIG_SND_SOC_TEGRA_WM8903=m CONFIG_SND_SOC_TEGRA_WM9712=m CONFIG_SND_SOC_TEGRA20_AC97=m +CONFIG_SND_SOC_TEGRA20_DAS=m +CONFIG_SND_SOC_TEGRA20_SPDIF=m CONFIG_SND_SOC_TEGRA30_AHUB=m CONFIG_SND_SOC_TEGRA30_I2S=m @@ -649,7 +652,6 @@ CONFIG_REGULATOR_MAX8973=m # CONFIG_VIRTUALIZATION is not set # CONFIG_POWER_RESET_QNAP is not set # CONFIG_OMAP2_DSS_DEBUG is not set -# CONFIG_DRM_TEGRA_DEBUG is not set # CONFIG_CRYPTO_DEV_UX500_DEBUG is not set # CONFIG_AB8500_DEBUG is not set diff --git a/config-armv7-generic b/config-armv7-generic index a81ca01f..00de28ed 100644 --- a/config-armv7-generic +++ b/config-armv7-generic @@ -285,6 +285,7 @@ CONFIG_GPIO_MC33880=m CONFIG_GPIO_TPS65910=y CONFIG_GPIO_TPS65912=m CONFIG_LEDS_GPIO=m +CONFIG_MDIO_BUS_MUX=m CONFIG_MDIO_BUS_MUX_GPIO=m CONFIG_MDIO_BUS_MUX_MMIOREG=m CONFIG_INPUT_GPIO=m @@ -434,8 +435,8 @@ CONFIG_RTC_DRV_TPS80031=m # Regulators CONFIG_REGULATOR=y CONFIG_RFKILL_REGULATOR=m -# CONFIG_REGULATOR_DUMMY is not set -CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_REGULATOR_DUMMY=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_VIRTUAL_CONSUMER=m CONFIG_REGULATOR_USERSPACE_CONSUMER=m CONFIG_REGULATOR_GPIO=m diff --git a/config-armv7-lpae b/config-armv7-lpae index c1700626..64698a52 100644 --- a/config-armv7-lpae +++ b/config-armv7-lpae @@ -1,8 +1,6 @@ # ARM A15 lpae unified arch kernel -CONFIG_ARCH_EXYNOS_MULTI=y CONFIG_ARCH_KEYSTONE=y CONFIG_ARCH_VIRT=y -CONFIG_ARCH_EXYNOS5=y # CONFIG_ARCH_MVEBU is not set # CONFIG_ARCH_MXC is not set @@ -18,11 +16,6 @@ CONFIG_ARCH_EXYNOS5=y # CONFIG_ARCH_TEGRA is not set # CONFIG_ARCH_ZYNQ is not set - -# CONFIG_ARCH_EXYNOS4 is not set - -# CONFIG_EXYNOS_ATAGS is not set - CONFIG_ARM_LPAE=y CONFIG_SYS_SUPPORTS_HUGETLBFS=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y @@ -76,6 +69,7 @@ CONFIG_PCI_EXYNOS=y CONFIG_ARM_CCI=y CONFIG_TCG_TIS_I2C_INFINEON=m +# CONFIG_EXYNOS_ATAGS is not set CONFIG_PINCTRL_EXYNOS=y CONFIG_PINCTRL_EXYNOS5440=y CONFIG_EXYNOS_IOMMU=y @@ -111,12 +105,19 @@ CONFIG_USB_EHCI_S5P=y CONFIG_SAMSUNG_USBPHY=m CONFIG_SAMSUNG_USB2PHY=m CONFIG_SAMSUNG_USB3PHY=m -# CONFIG_KEYSTONE_USB_PHY is not set -# CONFIG_GPIO_DAVINCI is not set -# CONFIG_DAVINCI_WATCHDOG is not set CONFIG_MMC_DW_EXYNOS=m CONFIG_RTC_DRV_S3C=m +# TI Keystone +CONFIG_KEYSTONE_USB_PHY=m +CONFIG_USB_DWC3_KEYSTONE=m +CONFIG_GPIO_DAVINCI=y +CONFIG_I2C_DAVINCI=m +# CONFIG_DAVINCI_WATCHDOG is not set +# CONFIG_SPI_DAVINCI is not set +# CONFIG_SND_DAVINCI_SOC is not set +# CONFIG_TI_SOC_THERMAL is not set + # Arndale/Origen CONFIG_MFD_MAX8997=y CONFIG_MFD_SEC_CORE=y @@ -134,7 +135,3 @@ CONFIG_S3C_LOWLEVEL_UART_PORT=1 # CONFIG_S3C2410_WATCHDOG is not set # CONFIG_MMC_SDHCI_S3C is not set # CONFIG_TEGRA_HOST1X is not set -# CONFIG_SPI_DAVINCI is not set -# CONFIG_I2C_DAVINCI is not set -# CONFIG_SND_DAVINCI_SOC is not set -# CONFIG_TI_SOC_THERMAL is not set diff --git a/kernel.spec b/kernel.spec index 757eff07..5ac5c20a 100644 --- a/kernel.spec +++ b/kernel.spec @@ -2084,6 +2084,11 @@ fi # ||----w | # || || %changelog +* Wed Mar 12 2014 Peter Robinson +- Add some general missing ARM drivers (mostly sound) +- ARM config tweaks and cleanups +- Update i.MX6 dtb + * Tue Mar 11 2014 Josh Boyer - 3.14.0-0.rc6.git1.1 - CVE-2014-2309 ipv6: crash due to router advertisment flooding (rhbz 1074471 1075064) - Linux v3.14-rc6-17-g8712a00 -- cgit