[kernel] Add some general missing ARM drivers (mostly sound), ARM config tweaks and cleanups, Update i.MX6 dt

Peter Robinson pbrobinson at fedoraproject.org
Wed Mar 12 12:52:26 UTC 2014


commit 064542de7821bbc57f796047ef067000d016a4fb
Author: Peter Robinson <pbrobinson at gmail.com>
Date:   Wed Mar 12 12:52:12 2014 +0000

    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 6080a26..35f34c1 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 <valentin at compulab.co.il>
+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 <valentin at xxxxxxxxxxxxxx>
-Acked-by: Igor Grinberg <grinberg at xxxxxxxxxxxxxx>
----
- 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 <valentin at compulab.co.il>
+    Signed-off-by: Igor Grinberg <grinberg at compulab.co.il>
+    Signed-off-by: Shawn Guo <shawn.guo at linaro.org>
 
+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 <valentin at compulab.co.il>
++ *
 + * 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 7e95287..db9c50e 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 283ce0d..68ba1e3 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 a81ca01..00de28e 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 c170062..64698a5 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 757eff0..5ac5c20 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -2084,6 +2084,11 @@ fi
 #                                    ||----w |
 #                                    ||     ||
 %changelog
+* Wed Mar 12 2014 Peter Robinson <pbrobinson at fedoraproject.org>
+- Add some general missing ARM drivers (mostly sound)
+- ARM config tweaks and cleanups
+- Update i.MX6 dtb
+
 * Tue Mar 11 2014 Josh Boyer <jwboyer at fedoraproject.org> - 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


More information about the scm-commits mailing list