cm-fx6: Remove recipe, patchs and support for not being used

Even with modifications, errors in the build of the image
persist. Since the board has not received updates in a long
time, it is being removed.

Signed-off-by: Domarys Correa <domarys.correa@ossystems.com.br>
Change-Id: I8554a49ca9e34282d11c9613b35de4cb7f0aa181
This commit is contained in:
Domarys Correa 2020-05-29 15:06:18 -03:00 committed by Otavio Salvador
parent 7dd7ef0331
commit b17cb68d1b
63 changed files with 0 additions and 9941 deletions

View File

@ -1,21 +0,0 @@
#@TYPE: Machine
#@NAME: CompuLab CM-FX6
#@SOC: i.MX6 Q/DL
#@DESCRIPTION: Machine configuration for CompuLab CM-FX6 machines
#@MAINTAINER: Valentin Raevsky <valentin@compulab.co.il>
MACHINEOVERRIDES =. "mx6:mx6dl:mx6q:"
require conf/machine/include/imx-base.inc
require conf/machine/include/tune-cortexa9.inc
PREFERRED_PROVIDER_u-boot = "u-boot-compulab"
PREFERRED_PROVIDER_virtual/kernel = "linux-compulab"
UBOOT_MACHINE ?= "cm_fx6_defconfig"
KERNEL_DEVICETREE = "imx6dl-cm-fx6.dtb imx6dl-sbc-fx6.dtb imx6dl-sbc-fx6m.dtb imx6q-cm-fx6.dtb imx6q-sbc-fx6.dtb imx6q-sbc-fx6m.dtb"
MACHINE_FEATURES += "pci wifi bluetooth alsa bluetooth serial usbhost wifi"
SERIAL_CONSOLES = "115200;ttymxc3"

View File

@ -1,17 +0,0 @@
require recipes-bsp/u-boot/u-boot.inc
DESCRIPTION = "u-boot which includes support for CompuLab boards."
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://configs/cm_fx6_defconfig;md5=549452418e9e099e5fe19ef1ac65e892"
PROVIDES += "u-boot"
SRCBRANCH = "utilite/master"
SRCREV = "6803a75f3d40bee3b53f56e7b49c70465819b7ca"
SRC_URI = "git://github.com/utilite-computer/u-boot.git;branch=${SRCBRANCH}"
SRC_URI[md5sum] = "fd8234c5b3a460430689848c1f16acef"
S = "${WORKDIR}/git"
PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "cm-fx6"

View File

@ -1,399 +0,0 @@
From af4b4f2854d6223ba2f1235400f8e8dac660a6a2 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Thu, 15 May 2014 17:18:11 +0300
Subject: [PATCH 01/59] ARM: i.MX6: dts: Add initial support for cm-fx6
Add initial support for cm-fx6 module.
This patch configures:
1) serial console
2) hearbeat led
3) FreeScale NIC
4) pcie
5) Intel I210 NIC
6) wif/bt
7) sata
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dts | 368 ++++++++++++++++++++++++++++++++++++
1 file changed, 368 insertions(+)
create mode 100644 arch/arm/boot/dts/imx6q-cm-fx6.dts
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..1f06d95
--- /dev/null
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
@@ -0,0 +1,368 @@
+/*
+* Copyright 2013 CompuLab Ltd.
+*
+* Author: Valentin Raevsky <valentin@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:
+*
+* http://www.opensource.org/licenses/gpl-license.html
+* http://www.gnu.org/copyleft/gpl.html
+*/
+
+/dts-v1/;
+#include "imx6q.dtsi"
+
+/ {
+ model = "CompuLab CM-FX6";
+ compatible = "compulab,cm-fx6", "fsl,imx6q";
+
+ memory {
+ reg = <0x10000000 0x80000000>;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ heartbeat-led {
+ label = "Heartbeat";
+ gpios = <&gpio2 31 0>;
+ linux,default-trigger = "heartbeat";
+ };
+ };
+
+ regulators {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* regulator for mmc */
+ reg_3p3v: 3p3v {
+ compatible = "regulator-fixed";
+ regulator-name = "3P3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ /* regulator for usb otg */
+ reg_usb_otg_vbus: usb_otg_vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "usb_otg_vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ gpio = <&gpio3 22 0>;
+ enable-active-high;
+ };
+
+ /* regulator for usb hub1 */
+ reg_usb_h1_vbus: usb_h1_vbus {
+ compatible = "regulator-fixed";
+ regulator-name = "usb_h1_vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ gpio = <&gpio7 8 0>;
+ enable-active-high;
+ };
+
+ /* regulator1 for wifi/bt */
+ awnh387_npoweron: regulator-awnh387-npoweron {
+ compatible = "regulator-fixed";
+ regulator-name = "regulator-awnh387-npoweron";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio7 12 0>;
+ enable-active-high;
+ };
+
+ /* regulator2 for wifi/bt */
+ awnh387_wifi_nreset: regulator-awnh387-wifi-nreset {
+ compatible = "regulator-fixed";
+ regulator-name = "regulator-awnh387-wifi-nreset";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio6 16 0>;
+ startup-delay-us = <10000>;
+ };
+ };
+};
+
+&iomuxc {
+ imx6q-cm-fx6 {
+ /* pins for eth0 */
+ 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
+ >;
+ };
+
+ /* pins for spi */
+ pinctrl_ecspi1: ecspi1grp {
+ fsl,pins = <
+ MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x100b1
+ MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x100b1
+ MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x100b1
+ MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x100b1
+ MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x100b1
+ >;
+ };
+
+ /* pins for nand */
+ 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
+ >;
+ };
+
+ /* pins for i2c1 */
+ pinctrl_i2c1: i2c1grp {
+ fsl,pins = <
+ MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
+ MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
+ >;
+ };
+
+ /* pins for i2c2 */
+ pinctrl_i2c2: i2c2grp {
+ fsl,pins = <
+ MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
+ MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
+ >;
+ };
+
+ /* pins for i2c3 */
+ pinctrl_i2c3: i2c3grp {
+ fsl,pins = <
+ MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
+ MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
+ >;
+ };
+
+ /* pins for console */
+ pinctrl_uart4: uart4grp {
+ fsl,pins = <
+ MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
+ MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1
+ >;
+ };
+
+ /* pins for usb hub1 */
+ pinctrl_usbh1: usbh1grp {
+ fsl,pins = <
+ MX6QDL_PAD_SD3_RST__GPIO7_IO08 0x80000000
+ >;
+ };
+
+ /* pins for usb otg */
+ pinctrl_usbotg: usbotggrp {
+ fsl,pins = <
+ MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
+ >;
+ };
+
+ /* pins for wifi/bt */
+ pinctrl_usdhc1: usdhc1grp {
+ fsl,pins = <
+ MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17071
+ MX6QDL_PAD_SD1_CLK__SD1_CLK 0x10071
+ MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17071
+ MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17071
+ MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17071
+ MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17071
+ >;
+ };
+
+ /* pins for mmc */
+ pinctrl_usdhc3: usdhc3grp {
+ fsl,pins = <
+ MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
+ MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
+ MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
+ MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
+ MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
+ MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
+ >;
+ };
+ };
+};
+
+/* spi */
+&ecspi1 {
+ fsl,spi-num-chipselects = <2>;
+ cs-gpios = <&gpio2 30 0>, <&gpio3 19 0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_ecspi1>;
+ status = "okay";
+
+ flash: m25p80@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "st,m25px16", "st,m25p";
+ spi-max-frequency = <20000000>;
+ reg = <0>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x0 0xc0000>;
+ };
+
+ partition@c0000 {
+ label = "uboot environment";
+ reg = <0xc0000 0x40000>;
+ };
+
+ partition@100000 {
+ label = "reserved";
+ reg = <0x100000 0x100000>;
+ };
+ };
+};
+
+/* eth0 */
+&fec {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_enet>;
+ phy-mode = "rgmii";
+ status = "okay";
+};
+
+/* nand */
+&gpmi {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpmi_nand>;
+ status = "okay";
+};
+
+/* i2c1 */
+&i2c1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c1>;
+ status = "okay";
+
+ eeprom@50 {
+ compatible = "at24,24c02";
+ reg = <0x50>;
+ pagesize = <16>;
+ };
+
+ rtc@56 {
+ compatible = "emmicro,em3027";
+ reg = <0x56>;
+ };
+};
+
+/* i2c2 */
+&i2c2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c2>;
+ status = "okay";
+};
+
+/* i2c3 */
+&i2c3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c3>;
+ status = "okay";
+
+ eeprom@50 {
+ compatible = "at24,24c02";
+ reg = <0x50>;
+ pagesize = <16>;
+ };
+};
+
+/* eth1 */
+&pcie {
+ reset-gpio = <&gpio1 26 0>;
+ status = "okay";
+};
+
+/* sata */
+&sata {
+ status = "okay";
+};
+
+/* rear serial console */
+&uart2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart2_2>;
+ fsl,dte-mode;
+ fsl,uart-has-rtscts;
+ dma-names = "rx", "tx";
+ dmas = <&sdma 27 4 0>, <&sdma 28 4 0>;
+ status = "okay";
+};
+
+/* console */
+&uart4 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart4>;
+ status = "okay";
+};
+
+/* usb otg */
+&usbotg {
+ vbus-supply = <&reg_usb_otg_vbus>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usbotg>;
+ dr_mode = "otg";
+ status = "okay";
+};
+
+/* usb hub1 */
+&usbh1 {
+ vbus-supply = <&reg_usb_h1_vbus>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usbh1>;
+ status = "okay";
+};
+
+/* wifi/bt */
+&usdhc1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usdhc1>;
+ non-removable;
+ vmmc-supply = <&awnh387_npoweron>;
+ vmmc_aux-supply = <&awnh387_wifi_nreset>;
+ status = "okay";
+};
+
+/* mmc */
+&usdhc3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usdhc3>;
+ vmmc-supply = <&reg_3p3v>;
+ status = "okay";
+};
--
1.7.9.5

View File

@ -1,456 +0,0 @@
From 591aecd36eb5e5eaf189bfce36db616425c00959 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Thu, 15 May 2014 17:25:07 +0300
Subject: [PATCH 02/59] ARM: i.MX6: cm-fx6: Add defconfig
Add default configuration file for the cm-fx6 module.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/configs/cm_fx6_defconfig | 434 +++++++++++++++++++++++++++++++++++++
1 file changed, 434 insertions(+)
create mode 100644 arch/arm/configs/cm_fx6_defconfig
diff --git a/arch/arm/configs/cm_fx6_defconfig b/arch/arm/configs/cm_fx6_defconfig
new file mode 100644
index 0000000..92c3da1
--- /dev/null
+++ b/arch/arm/configs/cm_fx6_defconfig
@@ -0,0 +1,434 @@
+CONFIG_KERNEL_LZO=y
+CONFIG_SYSVIPC=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_CGROUPS=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_EXPERT=y
+CONFIG_PERF_EVENTS=y
+# 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_GPIO_PCA953X=y
+CONFIG_ARCH_MXC=y
+CONFIG_MXC_DEBUG_BOARD=y
+CONFIG_MACH_IMX51_DT=y
+CONFIG_MACH_EUKREA_CPUIMX51SD=y
+CONFIG_SOC_IMX53=y
+CONFIG_SOC_IMX6Q=y
+CONFIG_SOC_IMX6SL=y
+CONFIG_SOC_VF610=y
+# CONFIG_SWP_EMULATE is not set
+CONFIG_PCI=y
+CONFIG_PCI_IMX6=y
+CONFIG_SMP=y
+CONFIG_VMSPLIT_2G=y
+CONFIG_PREEMPT=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_HIGHMEM=y
+CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_ARM_IMX6_CPUFREQ=y
+CONFIG_CPU_IDLE=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_TEST_SUSPEND=y
+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_NETFILTER_DEBUG=y
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_TEE=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_IP_NF_IPTABLES=y
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_RPFILTER=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=y
+CONFIG_IP_NF_TARGET_REJECT=y
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT_IPV4=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+CONFIG_CAN=y
+CONFIG_CAN_FLEXCAN=y
+CONFIG_CFG80211=y
+CONFIG_CFG80211_WEXT=y
+CONFIG_MAC80211=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_STANDALONE is not set
+CONFIG_CMA=y
+CONFIG_CMA_SIZE_MBYTES=320
+CONFIG_IMX_WEIM=y
+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_PHYSMAP_OF=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_GPMI_NAND=y
+CONFIG_MTD_NAND_MXC=y
+CONFIG_MTD_UBI=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=65536
+CONFIG_EEPROM_AT24=y
+CONFIG_EEPROM_AT25=y
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_MULTI_LUN=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_AHCI_IMX=y
+CONFIG_PATA_IMX=y
+CONFIG_NETDEVICES=y
+CONFIG_TUN=m
+# CONFIG_NET_VENDOR_BROADCOM is not set
+CONFIG_CS89x0=y
+CONFIG_CS89x0_PLATFORM=y
+# CONFIG_NET_VENDOR_FARADAY is not set
+CONFIG_IGB=m
+# 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_SMC91X=y
+CONFIG_SMC911X=y
+CONFIG_SMSC911X=y
+# CONFIG_NET_VENDOR_STMICRO is not set
+CONFIG_ATH_CARDS=y
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_IMX=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_EGALAX=y
+CONFIG_TOUCHSCREEN_ELAN=y
+CONFIG_TOUCHSCREEN_MAX11801=y
+CONFIG_TOUCHSCREEN_MC13783=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_MMA8450=y
+CONFIG_INPUT_ISL29023=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_VT_HW_CONSOLE_BINDING=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+CONFIG_FSL_OTP=y
+CONFIG_MXS_VIIM=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_I2C_IMX=y
+CONFIG_SPI=y
+CONFIG_SPI_IMX=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_SABRESD_MAX8903=y
+CONFIG_IMX6_USB_CHARGER=y
+CONFIG_SENSORS_MAX17135=y
+CONFIG_SENSORS_MAG3110=y
+CONFIG_THERMAL=y
+CONFIG_CPU_THERMAL=y
+CONFIG_IMX_THERMAL=y
+CONFIG_DEVICE_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_IMX2_WDT=y
+CONFIG_MFD_DA9052_I2C=y
+CONFIG_MFD_MC13XXX_SPI=y
+CONFIG_MFD_MC13XXX_I2C=y
+CONFIG_MFD_MAX17135=y
+CONFIG_MFD_SI476X_CORE=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_DA9052=y
+CONFIG_REGULATOR_ANATOP=y
+CONFIG_REGULATOR_MC13783=y
+CONFIG_REGULATOR_MC13892=y
+CONFIG_REGULATOR_MAX17135=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_VIDEO_V4L2_INT_DEVICE=y
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_MXC_OUTPUT=y
+CONFIG_VIDEO_MXC_CAPTURE=m
+CONFIG_VIDEO_MXC_CSI_CAMERA=m
+CONFIG_MXC_CAMERA_OV5640=m
+CONFIG_MXC_CAMERA_OV5642=m
+CONFIG_MXC_CAMERA_OV5640_MIPI=m
+CONFIG_MXC_TVIN_ADV7180=m
+CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
+CONFIG_VIDEO_MXC_IPU_OUTPUT=y
+CONFIG_VIDEO_MXC_PXP_V4L2=y
+CONFIG_SOC_CAMERA=y
+CONFIG_VIDEO_MX3=y
+CONFIG_RADIO_SI476X=y
+CONFIG_SOC_CAMERA_OV2640=y
+CONFIG_DRM=y
+CONFIG_DRM_VIVANTE=y
+CONFIG_FB=y
+CONFIG_FB_MXS=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_FB_MXC_SYNC_PANEL=y
+CONFIG_FB_MXC_LDB=y
+CONFIG_FB_MXC_MIPI_DSI=y
+CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
+CONFIG_FB_MXC_HDMI=y
+CONFIG_FB_MXC_EINK_PANEL=y
+CONFIG_FB_MXS_SII902X=y
+CONFIG_HANNSTAR_CABC=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_SOC=y
+CONFIG_SND_IMX_SOC=y
+CONFIG_SND_SOC_EUKREA_TLV320=y
+CONFIG_SND_SOC_IMX_CS42888=y
+CONFIG_SND_SOC_IMX_WM8962=y
+CONFIG_SND_SOC_IMX_SGTL5000=y
+CONFIG_SND_SOC_IMX_SPDIF=y
+CONFIG_SND_SOC_IMX_MC13783=y
+CONFIG_SND_SOC_IMX_HDMI=y
+CONFIG_SND_SOC_IMX_SI476X=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_PHY=y
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_MXS_PHY=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_MMC=y
+CONFIG_MMC_UNSAFE_RESUME=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+CONFIG_MXC_IPU=y
+CONFIG_MXC_GPU_VIV=y
+CONFIG_MXC_ASRC=y
+CONFIG_MXC_MIPI_CSI2=y
+CONFIG_MXC_MLB150=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_GPIO=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_MC13XXX=y
+CONFIG_RTC_DRV_MXC=y
+CONFIG_RTC_DRV_SNVS=y
+CONFIG_DMADEVICES=y
+CONFIG_MXC_PXP_V2=y
+CONFIG_IMX_SDMA=y
+CONFIG_MXS_DMA=y
+CONFIG_STAGING=y
+CONFIG_COMMON_CLK_DEBUG=y
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_PWM=y
+CONFIG_PWM_IMX=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_MAGIC_SYSRQ=y
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_FTRACE is not set
+CONFIG_SECURITYFS=y
+CONFIG_CRYPTO_USER=y
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_CCM=y
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_LRW=y
+CONFIG_CRYPTO_XTS=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=y
+CONFIG_CRYPTO_RMD128=y
+CONFIG_CRYPTO_RMD160=y
+CONFIG_CRYPTO_RMD256=y
+CONFIG_CRYPTO_RMD320=y
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_TGR192=y
+CONFIG_CRYPTO_WP512=y
+CONFIG_CRYPTO_BLOWFISH=y
+CONFIG_CRYPTO_CAMELLIA=y
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_TWOFISH=y
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_DEV_FSL_CAAM=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
+CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
--
1.7.9.5

View File

@ -1,32 +0,0 @@
From 0a691facfb253b42cdaeaedd77477d13c6fa99f8 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Thu, 15 May 2014 17:26:30 +0300
Subject: [PATCH 03/59] igb: Enable random mac address
Enable random mac address in order to let the driver up
if eeprom values are incorrect.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
drivers/net/ethernet/intel/igb/igb_main.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 206e79d..2472835 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -2387,6 +2387,11 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
if (hw->mac.ops.read_mac_addr(hw))
dev_err(&pdev->dev, "NVM Read Error\n");
+ if (!is_valid_ether_addr(hw->mac.addr)) {
+ dev_info(&pdev->dev, "Random MAC Address\n");
+ random_ether_addr(hw->mac.addr);
+ }
+
memcpy(netdev->dev_addr, hw->mac.addr, netdev->addr_len);
if (!is_valid_ether_addr(netdev->dev_addr)) {
--
1.7.9.5

View File

@ -1,27 +0,0 @@
From f02b927b88856dde0ec988705e6445159bb272ae Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Sun, 22 Jun 2014 18:03:27 +0300
Subject: [PATCH 04/59] ARM: i.MX6: cm-fx6: update defconfig
Enable EM3027 RTC
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/configs/cm_fx6_defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/configs/cm_fx6_defconfig b/arch/arm/configs/cm_fx6_defconfig
index 92c3da1..eb6d9cb 100644
--- a/arch/arm/configs/cm_fx6_defconfig
+++ b/arch/arm/configs/cm_fx6_defconfig
@@ -347,6 +347,7 @@ CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_GPIO=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_EM3027=y
CONFIG_RTC_DRV_MC13XXX=y
CONFIG_RTC_DRV_MXC=y
CONFIG_RTC_DRV_SNVS=y
--
1.7.9.5

View File

@ -1,101 +0,0 @@
From 80e3270f42e72dc01f8c2235fbdaf5fa94dd6fce Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Mon, 23 Jun 2014 13:53:35 +0300
Subject: [PATCH 05/59] ARM: i.MX6: dts: add HDMI and DVI support
Add HDMI and DVI support on IPU1 and IPU2, define two frame buffers.
Enable starting X with fbdev.
---
arch/arm/boot/dts/imx6q-cm-fx6.dts | 65 +++++++++++++++++++++++++++++++++++-
1 file changed, 64 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts
index 1f06d95..018c3b1 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
@@ -86,6 +86,44 @@
startup-delay-us = <10000>;
};
};
+
+ aliases {
+ mxcfb0 = &mxcfb1;
+ mxcfb1 = &mxcfb2;
+ };
+
+ mxcfb1: fb@0 {
+ compatible = "fsl,mxc_sdc_fb";
+ disp_dev = "hdmi";
+ interface_pix_fmt = "RGB24";
+ mode_str ="1920x1080M@60";
+ default_bpp = <24>;
+ int_clk = <0>;
+ late_init = <0>;
+ status = "disabled";
+ };
+
+ mxcfb2: fb@1 {
+ compatible = "fsl,mxc_sdc_fb";
+ disp_dev = "lcd";
+ interface_pix_fmt = "RGB24";
+ mode_str ="1920x1080M@60";
+ default_bpp = <24>;
+ int_clk = <0>;
+ late_init = <0>;
+ status = "disabled";
+ };
+
+ lcd@0 {
+ compatible = "fsl,lcd";
+ ipu_id = <0>;
+ disp_id = <0>;
+ default_ifmt = "RGB24";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_ipu1_1>;
+ status = "okay";
+ };
+
};
&iomuxc {
@@ -287,7 +325,7 @@
&i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c2>;
- status = "okay";
+ /* status = "okay"; */
};
/* i2c3 */
@@ -366,3 +404,28 @@
vmmc-supply = <&reg_3p3v>;
status = "okay";
};
+
+&mxcfb1 {
+ status = "okay";
+};
+
+&mxcfb2 {
+ status = "okay";
+};
+
+&hdmi_core {
+ ipu_id = <1>;
+ disp_id = <0>;
+ status = "okay";
+};
+
+&hdmi_video {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hdmi_hdcp_1>;
+ fsl,hdcp;
+ status = "okay";
+};
+
+&hdmi_audio {
+/* status = "okay"; */
+};
--
1.7.9.5

View File

@ -1,40 +0,0 @@
From 608c9ed0c20fe1258b8982e3ce452482aa1c002e Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Mon, 23 Jun 2014 15:29:21 +0300
Subject: [PATCH 06/59] ARM: i.MX6: dts: add HDMI-Audio support
Add HDMI-Audio support.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dts | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts
index 018c3b1..76b4b0c 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
@@ -92,6 +92,13 @@
mxcfb1 = &mxcfb2;
};
+ sound-hdmi {
+ compatible = "fsl,imx6q-audio-hdmi",
+ "fsl,imx-audio-hdmi";
+ model = "imx-audio-hdmi";
+ hdmi-controller = <&hdmi_audio>;
+ };
+
mxcfb1: fb@0 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "hdmi";
@@ -427,5 +434,5 @@
};
&hdmi_audio {
-/* status = "okay"; */
+ status = "okay";
};
--
1.7.9.5

View File

@ -1,69 +0,0 @@
From b0e655dbaddb94c4b7c73c00140b43fb0b1ecd36 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Mon, 23 Jun 2014 16:30:18 +0300
Subject: [PATCH 07/59] ARM: i.MX6: dts: add SPDIF support
Add SPDIF support.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dts | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts
index 76b4b0c..3f73b83 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
@@ -99,6 +99,15 @@
hdmi-controller = <&hdmi_audio>;
};
+ sound-spdif {
+ compatible = "fsl,imx-audio-spdif",
+ "fsl,imx-sabreauto-spdif";
+ model = "imx-spdif";
+ spdif-controller = <&spdif>;
+ spdif-out;
+ spdif-in;
+ };
+
mxcfb1: fb@0 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "hdmi";
@@ -153,7 +162,6 @@
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
>;
};
@@ -260,6 +268,15 @@
MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
>;
};
+
+ /* pins for spdif */
+ pinctrl_spdif: spdifgrp {
+ fsl,pins = <
+ MX6QDL_PAD_GPIO_16__SPDIF_IN 0x1b0b0
+ MX6QDL_PAD_GPIO_19__SPDIF_OUT 0x1b0b0
+ >;
+ };
+
};
};
@@ -436,3 +453,9 @@
&hdmi_audio {
status = "okay";
};
+
+&spdif {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_spdif>;
+ status = "okay";
+};
--
1.7.9.5

View File

@ -1,36 +0,0 @@
From a15ad25075d0d78f4462521260902c0f03d6a343 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Tue, 24 Jun 2014 15:35:52 +0300
Subject: [PATCH 08/59] ARM: i.MX6: dts: add "Power Button"
Add "Power Button" by means of GPIO
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dts | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts
index 3f73b83..0abb116 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
@@ -87,6 +87,16 @@
};
};
+ gpio-keys {
+ compatible = "gpio-keys";
+ power {
+ label = "Power Button";
+ gpios = <&gpio1 29 1>;
+ linux,code = <116>; /* KEY_POWER */
+ gpio-key,wakeup;
+ };
+ };
+
aliases {
mxcfb0 = &mxcfb1;
mxcfb1 = &mxcfb2;
--
1.7.9.5

View File

@ -1,50 +0,0 @@
From 0d82c1831d3fe3cf53e6b8d0435ff6bd621e07d2 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Sun, 20 Jul 2014 10:42:20 +0300
Subject: [PATCH 09/59] ARM: i.MX6: dts: Enable uart2 as a serial console
Enable ttymxc1 for use as a serial console:
1) Add the correct uart2 pinmux configuration.
2) Disable uart2 dte mode.
It allows running 'getty' and 'login' on the ttymxc1.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dts | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts
index 0abb116..16cefe0 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
@@ -287,6 +287,16 @@
>;
};
+ /* pins for uart2 */
+ pinctrl_uart2: uart2grp {
+ fsl,pins = <
+ MX6QDL_PAD_GPIO_7__UART2_TX_DATA 0x1b0b1
+ MX6QDL_PAD_GPIO_8__UART2_RX_DATA 0x1b0b1
+ MX6QDL_PAD_SD4_DAT5__UART2_RTS_B 0x1b0b1
+ MX6QDL_PAD_SD4_DAT6__UART2_CTS_B 0x1b0b1
+ >;
+ };
+
};
};
@@ -389,8 +399,8 @@
/* rear serial console */
&uart2 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_uart2_2>;
- fsl,dte-mode;
+ pinctrl-0 = <&pinctrl_uart2>;
+ /* fsl,dte-mode; */
fsl,uart-has-rtscts;
dma-names = "rx", "tx";
dmas = <&sdma 27 4 0>, <&sdma 28 4 0>;
--
1.7.9.5

View File

@ -1,44 +0,0 @@
From 11f421d3b4a9f4b1d256fa6bc6b6b9c313cf1b93 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Sun, 20 Jul 2014 10:51:44 +0300
Subject: [PATCH 10/59] ARM: i.MX6: dts: add pcie power/reset gpio definition
Add pcie power/reset gpio definition.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dts | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts
index 16cefe0..592db30 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
@@ -297,6 +297,13 @@
>;
};
+ /* pins for pcie */
+ pinctrl_pcie: pciegrp {
+ fsl,pins = <
+ MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x80000000
+ MX6QDL_PAD_EIM_CS1__GPIO2_IO24 0x80000000
+ >;
+ };
};
};
@@ -387,7 +394,10 @@
/* eth1 */
&pcie {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pcie>;
reset-gpio = <&gpio1 26 0>;
+ power-on-gpio = <&gpio2 24 0>;
status = "okay";
};
--
1.7.9.5

View File

@ -1,46 +0,0 @@
From 811721a51deec0f751d98ba438d763c4b9d1f736 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Sun, 20 Jul 2014 10:53:32 +0300
Subject: [PATCH 11/59] ARM: i.MX6: dts: add onboard SSD pin configuration
Add onboard SSD pin configuration.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dts | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts
index 592db30..0dfffa9 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
@@ -153,6 +153,26 @@
};
&iomuxc {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hog>;
+
+ hog {
+ pinctrl_hog: hoggrp {
+ fsl,pins = <
+ /* SATA PWR */
+ MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000
+ MX6QDL_PAD_EIM_A22__GPIO2_IO16 0x80000000
+ MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x80000000
+ MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x80000000
+ /* SATA CTRL */
+ MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000
+ MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x80000000
+ MX6QDL_PAD_EIM_A23__GPIO6_IO06 0x80000000
+ MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x80000000
+ >;
+ };
+ };
+
imx6q-cm-fx6 {
/* pins for eth0 */
pinctrl_enet: enetgrp {
--
1.7.9.5

View File

@ -1,92 +0,0 @@
From bf5a6721257ec96c1626f295851014b373a3a20a Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Sun, 20 Jul 2014 10:54:43 +0300
Subject: [PATCH 12/59] ARM: i.MX6: dts: add onboard SSD power up sequence
Add onboard SSD power up sequence.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dts | 66 ++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts
index 0dfffa9..286b03e 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
@@ -85,6 +85,72 @@
gpio = <&gpio6 16 0>;
startup-delay-us = <10000>;
};
+
+ reg_sata_phy_slp: sata_phy_slp {
+ compatible = "regulator-fixed";
+ regulator-name = "cm_fx6_sata_phy_slp";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio3 23 0>;
+ startup-delay-us = <100>;
+ enable-active-high;
+ };
+
+ reg_sata_nrstdly: sata_nrstdly {
+ compatible = "regulator-fixed";
+ regulator-name = "cm_fx6_sata_nrstdly";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio6 6 0>;
+ startup-delay-us = <100>;
+ enable-active-high;
+ vin-supply = <&reg_sata_phy_slp>;
+ };
+
+ reg_sata_pwren: sata_pwren {
+ compatible = "regulator-fixed";
+ regulator-name = "cm_fx6_sata_pwren";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio1 28 0>;
+ startup-delay-us = <100>;
+ enable-active-high;
+ vin-supply = <&reg_sata_nrstdly>;
+ };
+
+ reg_sata_nstandby1: sata_nstandby1 {
+ compatible = "regulator-fixed";
+ regulator-name = "cm_fx6_sata_nstandby1";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio3 20 0>;
+ startup-delay-us = <100>;
+ enable-active-high;
+ vin-supply = <&reg_sata_pwren>;
+ };
+
+ reg_sata_nstandby2: sata_nstandby2 {
+ compatible = "regulator-fixed";
+ regulator-name = "cm_fx6_sata_nstandby2";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio5 2 0>;
+ startup-delay-us = <100>;
+ enable-active-high;
+ vin-supply = <&reg_sata_nstandby1>;
+ };
+
+ reg_sata_ldo_en: sata_ldo_en {
+ compatible = "regulator-fixed";
+ regulator-name = "cm_fx6_sata_ldo_en";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio2 16 0>;
+ startup-delay-us = <100>;
+ enable-active-high;
+ regulator-boot-on;
+ vin-supply = <&reg_sata_nstandby2>;
+ };
};
gpio-keys {
--
1.7.9.5

View File

@ -1,47 +0,0 @@
From 6a962cb469afddc96a37dce883af88a29a53a30c Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Sun, 20 Jul 2014 10:57:39 +0300
Subject: [PATCH 13/59] ARM: i.MX6: dts: add audio mux pinmux configuration
Add audio mux pinmux configuration and enable audio mux.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dts | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts
index 286b03e..776e0d8 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
@@ -373,6 +373,17 @@
>;
};
+ /* pins for audmux */
+ pinctrl_audmux: audmuxgrp {
+ fsl,pins = <
+ MX6QDL_PAD_SD2_CMD__AUD4_RXC 0x17059
+ MX6QDL_PAD_SD2_DAT0__AUD4_RXD 0x17059
+ MX6QDL_PAD_SD2_DAT3__AUD4_TXC 0x17059
+ MX6QDL_PAD_SD2_DAT2__AUD4_TXD 0x17059
+ MX6QDL_PAD_SD2_DAT1__AUD4_TXFS 0x17059
+ >;
+ };
+
/* pins for uart2 */
pinctrl_uart2: uart2grp {
fsl,pins = <
@@ -575,3 +586,9 @@
pinctrl-0 = <&pinctrl_spdif>;
status = "okay";
};
+
+&audmux {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_audmux>;
+ status = "okay";
+};
--
1.7.9.5

View File

@ -1,67 +0,0 @@
From 0afe8320732c2609015af4c0b474cede18f81f24 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Sun, 20 Jul 2014 11:02:28 +0300
Subject: [PATCH 14/59] ARM: i.MX6: dts: add analog audio support
1) Add i2c analog audion device node definition.
2) Add wm8731 codec node definition.
3) Enable ssi2 in master mode.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dts | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts
index 776e0d8..9f5da43 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
@@ -168,6 +168,15 @@
mxcfb1 = &mxcfb2;
};
+ sound {
+ compatible = "fsl,imx6q-cm-fx6-wm8731",
+ "fsl,imx-audio-wm8731";
+ model = "wm8731-audio";
+ ssi-controller = <&ssi2>;
+ audio-codec = <&codec>;
+ audio-routing = "LOUT", "ROUT", "LLINEIN", "RLINEIN";
+ };
+
sound-hdmi {
compatible = "fsl,imx6q-audio-hdmi",
"fsl,imx-audio-hdmi";
@@ -487,6 +496,17 @@
reg = <0x50>;
pagesize = <16>;
};
+
+ codec: wm8731@1a {
+ compatible = "wlf,wm8731";
+ reg = <0x1a>;
+ clocks = <&clks 173>, <&clks 158>;
+ clock-names = "pll4", "imx-ssi.1";
+ AVDD-supply = <&pu_dummy>;
+ HPVDD-supply = <&pu_dummy>;
+ DCVDD-supply = <&pu_dummy>;
+ DBVDD-supply = <&pu_dummy>;
+ };
};
/* eth1 */
@@ -556,6 +576,11 @@
status = "okay";
};
+&ssi2 {
+ fsl,mode = "i2s-master";
+ status = "okay";
+};
+
&mxcfb1 {
status = "okay";
};
--
1.7.9.5

View File

@ -1,573 +0,0 @@
From 5fbe55d2945782fee3f3238f20a8dcd0b9ba630c Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Sun, 20 Jul 2014 11:10:12 +0300
Subject: [PATCH 15/59] ARM: i.MX6: ASoC: add imx-wm8731 machine driver
This is the initial imx-wm8731 device-tree-only machine driver working with
fsl_ssi driver. Works in the slave mode.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
sound/soc/fsl/Kconfig | 12 ++
sound/soc/fsl/Makefile | 2 +
sound/soc/fsl/imx-wm8731.c | 505 ++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 519 insertions(+)
create mode 100644 sound/soc/fsl/imx-wm8731.c
diff --git a/sound/soc/fsl/Kconfig b/sound/soc/fsl/Kconfig
index 573dabb..bb229da 100644
--- a/sound/soc/fsl/Kconfig
+++ b/sound/soc/fsl/Kconfig
@@ -252,6 +252,18 @@ config SND_SOC_IMX_CS42888
Say Y if you want to add support for SoC audio on an i.MX board with
a cs42888 codec.
+config SND_SOC_IMX_WM8731
+ tristate "SoC Audio support for i.MX boards with wm8731"
+ depends on OF && I2C
+ select SND_SOC_WM8731
+ select SND_SOC_IMX_PCM_DMA
+ select SND_SOC_IMX_AUDMUX
+ select SND_SOC_FSL_SSI
+ select SND_SOC_FSL_UTILS
+ help
+ Say Y if you want to add support for SoC audio on an i.MX board with
+ a wm8731 codec.
+
config SND_SOC_IMX_WM8962
tristate "SoC Audio support for i.MX boards with wm8962"
depends on OF && I2C
diff --git a/sound/soc/fsl/Makefile b/sound/soc/fsl/Makefile
index 144cd69..65f8e6f 100644
--- a/sound/soc/fsl/Makefile
+++ b/sound/soc/fsl/Makefile
@@ -55,6 +55,7 @@ snd-soc-mx27vis-aic32x4-objs := mx27vis-aic32x4.o
snd-soc-wm1133-ev1-objs := wm1133-ev1.o
snd-soc-imx-cs42888-objs := imx-cs42888.o
snd-soc-imx-sgtl5000-objs := imx-sgtl5000.o
+snd-soc-imx-wm8731-objs := imx-wm8731.o
snd-soc-imx-wm8962-objs := imx-wm8962.o
snd-soc-imx-spdif-objs := imx-spdif.o
snd-soc-imx-mc13783-objs := imx-mc13783.o
@@ -69,6 +70,7 @@ obj-$(CONFIG_SND_MXC_SOC_WM1133_EV1) += snd-soc-wm1133-ev1.o
obj-$(CONFIG_SND_SOC_IMX_CS42888) += snd-soc-imx-cs42888.o
obj-$(CONFIG_SND_SOC_IMX_SGTL5000) += snd-soc-imx-sgtl5000.o
obj-$(CONFIG_SND_SOC_IMX_WM8962) += snd-soc-imx-wm8962.o
+obj-$(CONFIG_SND_SOC_IMX_WM8731) += snd-soc-imx-wm8731.o
obj-$(CONFIG_SND_SOC_IMX_SPDIF) += snd-soc-imx-spdif.o
obj-$(CONFIG_SND_SOC_IMX_MC13783) += snd-soc-imx-mc13783.o
obj-$(CONFIG_SND_SOC_IMX_HDMI) += snd-soc-imx-hdmi.o
diff --git a/sound/soc/fsl/imx-wm8731.c b/sound/soc/fsl/imx-wm8731.c
new file mode 100644
index 0000000..ba1363f
--- /dev/null
+++ b/sound/soc/fsl/imx-wm8731.c
@@ -0,0 +1,505 @@
+/*
+ * Copyright (C) 2014 Freescale Semiconductor, Inc.
+ *
+ * Based on imx-sgtl5000.c
+ * Copyright (C) 2012 Freescale Semiconductor, Inc.
+ * Copyright (C) 2012 Linaro Ltd.
+ *
+ * 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:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#include <linux/module.h>
+#include <linux/of_platform.h>
+#include <linux/of_i2c.h>
+#include <linux/of_gpio.h>
+#include <linux/slab.h>
+#include <linux/gpio.h>
+#include <linux/clk.h>
+#include <sound/soc.h>
+#include <sound/jack.h>
+#include <sound/pcm_params.h>
+#include <sound/soc-dapm.h>
+#include <linux/pinctrl/consumer.h>
+
+#include "../codecs/wm8731.h"
+#include "imx-audmux.h"
+#include "imx-ssi.h"
+
+#define DAI_NAME_SIZE 32
+
+struct imx_wm8731_data {
+ struct snd_soc_dai_link dai;
+ struct snd_soc_card card;
+ char codec_dai_name[DAI_NAME_SIZE];
+ char platform_name[DAI_NAME_SIZE];
+ struct i2c_client *codec_dev;
+ /* audio_clocking_data */
+ struct clk *pll;
+ struct clk *clock_root;
+ long sysclk;
+ long current_rate;
+ /* platfor data */
+ unsigned int ssi_num;
+ unsigned int src_port;
+ unsigned int ext_port;
+};
+
+static int imx_wm8731_init(struct snd_soc_pcm_runtime *rtd);
+static int imx_hifi_hw_params_slv_mode(struct snd_pcm_substream *substream,
+ struct snd_pcm_hw_params *params);
+static void imx_hifi_shutdown(struct snd_pcm_substream *substream);
+
+struct imx_priv {
+ struct platform_device *pdev;
+ struct imx_wm8731_data *data;
+};
+
+static struct imx_priv card_priv;
+
+static struct snd_soc_ops imx_hifi_ops = {
+ .shutdown = imx_hifi_shutdown,
+ .hw_params = imx_hifi_hw_params_slv_mode,
+};
+
+/* imx card dapm widgets */
+static const struct snd_soc_dapm_widget imx_dapm_widgets[] = {
+ SND_SOC_DAPM_HP("Headphone Jack", NULL),
+ SND_SOC_DAPM_SPK("Ext Spk", NULL),
+ SND_SOC_DAPM_LINE("Line Jack", NULL),
+ SND_SOC_DAPM_MIC("Mic Jack", NULL),
+};
+
+/* imx machine connections to the codec pins */
+static const struct snd_soc_dapm_route audio_map[] = {
+ { "Headphone Jack", NULL, "LHPOUT" },
+ { "Headphone Jack", NULL, "RHPOUT" },
+
+ { "Ext Spk", NULL, "LOUT" },
+ { "Ext Spk", NULL, "ROUT" },
+
+ { "LLINEIN", NULL, "Line Jack" },
+ { "RLINEIN", NULL, "Line Jack" },
+
+ { "MICIN", NULL, "Mic Bias" },
+ { "Mic Bias", NULL, "Mic Jack"},
+};
+
+static int wm8731_slv_mode_init(struct imx_wm8731_data *data)
+{
+ struct clk *new_parent;
+ struct clk *ssi_clk;
+ struct i2c_client *codec_dev = data->codec_dev;
+
+ new_parent = devm_clk_get(&codec_dev->dev, "pll4");
+ if (IS_ERR(new_parent)) {
+ pr_err("Could not get \"pll4\" clock \n");
+ return PTR_ERR(new_parent);
+ }
+
+ ssi_clk = devm_clk_get(&codec_dev->dev, "imx-ssi.1");
+ if (IS_ERR(ssi_clk)) {
+ pr_err("Could not get \"imx-ssi.1\" clock \n");
+ return PTR_ERR(ssi_clk);
+ }
+
+ clk_set_parent(ssi_clk, new_parent);
+
+ data->pll = new_parent;
+ data->clock_root = ssi_clk;
+ data->current_rate = 0;
+
+ data->sysclk = 0;
+
+ return 0;
+}
+
+static int wm8731_slv_mode_clock_enable(int enable, struct imx_wm8731_data *data)
+{
+ long pll_rate;
+ long rate_req;
+ long rate_avail;
+
+ if (!enable)
+ return 0;
+
+ if (data->sysclk == data->current_rate)
+ return 0;
+
+ switch (data->sysclk) {
+ case 11289600:
+ pll_rate = 632217600;
+ break;
+
+ case 12288000:
+ pll_rate = 688128000;
+ break;
+
+ default:
+ return -EINVAL;
+ }
+
+ rate_req = pll_rate;
+ rate_avail = clk_round_rate(data->pll, rate_req);
+ clk_set_rate(data->pll, rate_avail);
+
+ rate_req = data->sysclk;
+ rate_avail = clk_round_rate(data->clock_root,
+ rate_req);
+ clk_set_rate(data->clock_root, rate_avail);
+
+ pr_info("%s: \"imx-ssi.1\" rate = %ld (= %ld)\n",
+ __func__, rate_avail, rate_req);
+
+ data->current_rate = data->sysclk;
+
+ return 0;
+}
+
+static int imx_hifi_hw_params_slv_mode(struct snd_pcm_substream *substream,
+ struct snd_pcm_hw_params *params)
+{
+ struct snd_soc_pcm_runtime *rtd = substream->private_data;
+ struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
+ struct snd_soc_dai *codec_dai = rtd->codec_dai;
+ struct snd_soc_card *card = codec_dai->codec->card;
+ struct imx_wm8731_data *data = snd_soc_card_get_drvdata(card);
+
+ u32 dai_format, pll_out;
+ snd_pcm_format_t sample_format;
+ unsigned int channels;
+ unsigned int tx_mask, rx_mask;
+ unsigned int sampling_rate;
+ unsigned int div_2, div_psr, div_pm;
+ int ret;
+
+ sampling_rate = params_rate(params);
+ sample_format = params_format(params);
+
+ channels = params_channels(params);
+ printk("%s:%s sampling rate = %u channels = %u \n", __FUNCTION__,
+ (substream->stream == SNDRV_PCM_STREAM_PLAYBACK ? "Playback" : "Capture"),
+ sampling_rate, channels);
+
+ /* set CPU DAI configuration */
+ switch (sampling_rate) {
+ case 8000:
+ case 32000:
+ case 48000:
+ case 96000:
+ data->sysclk = 12288000;
+ break;
+
+ case 44100:
+ case 88200:
+ data->sysclk = 11289600;
+ break;
+
+ default:
+ return -EINVAL;
+ }
+
+ wm8731_slv_mode_clock_enable(1,data);
+
+ dai_format = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_IF |
+ SND_SOC_DAIFMT_CBS_CFS;
+
+ ret = snd_soc_dai_set_fmt(cpu_dai, dai_format);
+ if (ret < 0)
+ return ret;
+
+ /* set i.MX active slot mask */
+ /* S[TR]CCR:DC */
+ tx_mask = ~((1 << channels) - 1);
+ rx_mask = tx_mask;
+ snd_soc_dai_set_tdm_slot(cpu_dai, tx_mask, rx_mask, 2, 32);
+
+ /*
+ * SSI sysclk divider:
+ * div_2: /1 or /2
+ * div_psr: /1 or /8
+ * div_pm: /1 .. /256
+ */
+ div_2 = 0;
+ div_psr = 0;
+ switch (sampling_rate) {
+ case 8000:
+ // 1x1x12
+ div_pm = 11;
+ break;
+ case 32000:
+ // 1x1x3
+ div_pm = 2;
+ break;
+ case 48000:
+ // 1x1x2
+ div_pm = 1;
+ break;
+ case 96000:
+ // 1x1x1
+ div_pm = 0;
+ break;
+ case 44100:
+ // 1x1x2
+ div_pm = 1;
+ break;
+ case 88200:
+ // 1x1x1
+ div_pm = 0;
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ /* sync mode: a single clock controls both playback and capture */
+ snd_soc_dai_set_clkdiv(cpu_dai, IMX_SSI_TX_DIV_2, (div_2 ? SSI_STCCR_DIV2 : 0));
+ snd_soc_dai_set_clkdiv(cpu_dai, IMX_SSI_TX_DIV_PSR, (div_psr ? SSI_STCCR_PSR : 0));
+ snd_soc_dai_set_clkdiv(cpu_dai, IMX_SSI_TX_DIV_PM, div_pm);
+
+ /* set codec DAI configuration */
+ dai_format = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
+ SND_SOC_DAIFMT_CBS_CFS;
+
+ ret = snd_soc_dai_set_fmt(codec_dai, dai_format);
+ if (ret < 0)
+ return ret;
+
+ ret = snd_soc_dai_set_sysclk(codec_dai,
+ WM8731_SYSCLK_MCLK,
+ data->sysclk,
+ SND_SOC_CLOCK_IN);
+
+ if (ret < 0) {
+ pr_err("Failed to set codec master clock to %u: %d \n",
+ data->sysclk, ret);
+ return ret;
+ }
+
+ return 0;
+}
+
+static void imx_hifi_shutdown(struct snd_pcm_substream *substream)
+{
+ struct snd_soc_pcm_runtime *rtd = substream->private_data;
+ struct snd_soc_dai *codec_dai = rtd->codec_dai;
+ struct snd_soc_card *card = codec_dai->codec->card;
+ struct imx_wm8731_data *data = snd_soc_card_get_drvdata(card);
+
+ if (!codec_dai->active)
+ wm8731_slv_mode_clock_enable(0,data);
+
+ return;
+}
+
+static int imx_wm8731_init(struct snd_soc_pcm_runtime *rtd)
+{
+ int ret = 0;
+ struct snd_soc_codec *codec = rtd->codec;
+
+ /* Add imx specific widgets */
+ ret = snd_soc_dapm_new_controls(&codec->dapm, imx_dapm_widgets,
+ ARRAY_SIZE(imx_dapm_widgets));
+ if (ret)
+ goto out_retcode;
+
+ /* Set up imx specific audio path audio_map */
+ ret = snd_soc_dapm_add_routes(&codec->dapm, audio_map, ARRAY_SIZE(audio_map));
+ if (ret)
+ goto out_retcode;
+
+ ret = snd_soc_dapm_enable_pin(&codec->dapm, "Headphone Jack");
+ if (ret)
+ goto out_retcode;
+
+ ret = snd_soc_dapm_nc_pin(&codec->dapm, "Ext Spk");
+ if (ret)
+ goto out_retcode;
+
+out_retcode:
+
+ if (ret)
+ pr_err("%s: failed with error code: %d \n", __FUNCTION__, ret);
+ else
+ pr_info("%s: success \n", __FUNCTION__);
+
+ return ret;
+}
+
+/**
+ * Configure AUDMUX interconnection between
+ * _slave (CPU side) and _master (codec size)
+ *
+ * When SSI operates in master mode, 5-wire interconnect with
+ * audio codec is required:
+ * TXC - BCLK
+ * TXD - DAC data
+ * RXD - ADC data
+ * TXFS - {DAC|ADC}LRC, i.e. word clock
+ * RXC - MCLK, i.e. oversampling clock
+ * Audmux is operated in asynchronous mode to enable 6-wire
+ * interface (as opposed to 4-wire interface in sync mode).
+ */
+static int imx_audmux_config_slv_mode(int _slave, int _master)
+{
+ unsigned int ptcr, pdcr;
+ int slave = _slave - 1;
+ int master = _master - 1;
+
+ ptcr = IMX_AUDMUX_V2_PTCR_SYN |
+ IMX_AUDMUX_V2_PTCR_TFSDIR |
+ IMX_AUDMUX_V2_PTCR_TFSEL(slave) |
+ IMX_AUDMUX_V2_PTCR_RCLKDIR |
+ IMX_AUDMUX_V2_PTCR_RCSEL(slave | 0x8) |
+ IMX_AUDMUX_V2_PTCR_TCLKDIR |
+ IMX_AUDMUX_V2_PTCR_TCSEL(slave);
+
+ pdcr = IMX_AUDMUX_V2_PDCR_RXDSEL(slave);
+ imx_audmux_v2_configure_port(master, ptcr, pdcr);
+ ptcr = ptcr & ~IMX_AUDMUX_V2_PTCR_SYN;
+ imx_audmux_v2_configure_port(master, ptcr, pdcr);
+
+ ptcr = IMX_AUDMUX_V2_PTCR_SYN |
+ IMX_AUDMUX_V2_PTCR_RCLKDIR |
+ IMX_AUDMUX_V2_PTCR_RCSEL(master | 0x8) |
+ IMX_AUDMUX_V2_PTCR_TCLKDIR |
+ IMX_AUDMUX_V2_PTCR_TCSEL(master);
+
+ pdcr = IMX_AUDMUX_V2_PDCR_RXDSEL(master);
+ imx_audmux_v2_configure_port(slave, ptcr, pdcr);
+ ptcr = ptcr & ~IMX_AUDMUX_V2_PTCR_SYN;
+ imx_audmux_v2_configure_port(slave, ptcr, pdcr);
+
+ return 0;
+}
+
+static int imx_wm8731_probe(struct platform_device *pdev)
+{
+ struct device_node *ssi_np, *codec_np;
+ struct platform_device *ssi_pdev;
+ struct imx_priv *priv = &card_priv;
+ struct i2c_client *codec_dev;
+ struct imx_wm8731_data *data;
+ int ret;
+
+ priv->pdev = pdev;
+
+ ssi_np = of_parse_phandle(pdev->dev.of_node, "ssi-controller", 0);
+ codec_np = of_parse_phandle(pdev->dev.of_node, "audio-codec", 0);
+ if (!ssi_np || !codec_np) {
+ dev_err(&pdev->dev, "phandle missing or invalid\n");
+ ret = -EINVAL;
+ goto fail;
+ }
+
+ ssi_pdev = of_find_device_by_node(ssi_np);
+ if (!ssi_pdev) {
+ dev_err(&pdev->dev, "failed to find SSI platform device\n");
+ ret = -EINVAL;
+ goto fail;
+ }
+
+ codec_dev = of_find_i2c_device_by_node(codec_np);
+ if (!codec_dev || !codec_dev->driver) {
+ dev_err(&pdev->dev, "failed to find codec platform device\n");
+ ret = -EINVAL;
+ goto fail;
+ }
+
+ data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
+ if (!data) {
+ ret = -ENOMEM;
+ goto fail;
+ }
+
+ card_priv.data = data;
+
+ data->codec_dev = codec_dev;
+
+ data->dai.name = "HiFi";
+ data->dai.stream_name = "HiFi";
+ data->dai.codec_dai_name = "wm8731-hifi";
+ data->dai.codec_of_node = codec_np;
+ data->dai.cpu_dai_name = dev_name(&ssi_pdev->dev);
+ data->dai.platform_of_node = ssi_np;
+ data->dai.ops = &imx_hifi_ops;
+ data->dai.init = &imx_wm8731_init;
+
+ data->ssi_num = 2; /* 1-based */
+ data->src_port = 2;
+ data->ext_port = 4;
+
+ imx_audmux_config_slv_mode(data->src_port, data->ext_port);
+
+ /* Slave Mode Init */
+ wm8731_slv_mode_init(data);
+
+ data->card.dev = &pdev->dev;
+ ret = snd_soc_of_parse_card_name(&data->card, "model");
+ if (ret)
+ goto fail;
+
+ ret = snd_soc_of_parse_audio_routing(&data->card, "audio-routing");
+ if (ret)
+ goto fail;
+
+ data->card.num_links = 1;
+ data->card.dai_link = &data->dai;
+
+ data->card.dapm_widgets = imx_dapm_widgets;
+ data->card.num_dapm_widgets = ARRAY_SIZE(imx_dapm_widgets);
+
+ platform_set_drvdata(pdev, &data->card);
+ snd_soc_card_set_drvdata(&data->card, data);
+
+ ret = snd_soc_register_card(&data->card);
+ if (ret) {
+ dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n", ret);
+ goto fail;
+ }
+
+ return 0;
+
+fail:
+
+ if (ssi_np)
+ of_node_put(ssi_np);
+
+ if (codec_np)
+ of_node_put(codec_np);
+
+ return ret;
+}
+
+static int imx_wm8731_remove(struct platform_device *pdev)
+{
+ struct snd_soc_card *card = platform_get_drvdata(pdev);
+ snd_soc_unregister_card(card);
+
+ return 0;
+}
+
+static const struct of_device_id imx_wm8731_dt_ids[] = {
+ { .compatible = "fsl,imx-audio-wm8731", },
+ { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, imx_wm8731_dt_ids);
+
+static struct platform_driver imx_wm8731_driver = {
+ .driver = {
+ .name = "imx-wm8731",
+ .owner = THIS_MODULE,
+ .of_match_table = imx_wm8731_dt_ids,
+ },
+ .probe = imx_wm8731_probe,
+ .remove = imx_wm8731_remove,
+};
+module_platform_driver(imx_wm8731_driver);
+
+MODULE_AUTHOR("Freescale Semiconductor, Inc.");
+MODULE_DESCRIPTION("Freescale i.MX WM8731 ASoC machine driver");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:imx-wm8731");
--
1.7.9.5

View File

@ -1,335 +0,0 @@
From 4c7271dbe9a5fb21e049b07fffb78a933f59382b Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Mon, 21 Jul 2014 17:17:32 +0300
Subject: [PATCH 16/59] ARM: i.MX6: ASoC: add imx-wm8731 master mode support
Add imx-wm8731 master mode support.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dts | 8 +-
sound/soc/fsl/imx-wm8731.c | 212 +++++++++++++++++++++++++++++++++---
2 files changed, 203 insertions(+), 17 deletions(-)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts
index 9f5da43..050795b 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
@@ -173,6 +173,8 @@
"fsl,imx-audio-wm8731";
model = "wm8731-audio";
ssi-controller = <&ssi2>;
+ src-port = <2>;
+ ext-port = <4>;
audio-codec = <&codec>;
audio-routing = "LOUT", "ROUT", "LLINEIN", "RLINEIN";
};
@@ -390,6 +392,8 @@
MX6QDL_PAD_SD2_DAT3__AUD4_TXC 0x17059
MX6QDL_PAD_SD2_DAT2__AUD4_TXD 0x17059
MX6QDL_PAD_SD2_DAT1__AUD4_TXFS 0x17059
+ /* master mode pin */
+ MX6QDL_PAD_GPIO_5__CCM_CLKO1 0x17059
>;
};
@@ -500,8 +504,8 @@
codec: wm8731@1a {
compatible = "wlf,wm8731";
reg = <0x1a>;
- clocks = <&clks 173>, <&clks 158>;
- clock-names = "pll4", "imx-ssi.1";
+ clocks = <&clks 173>, <&clks 158>, <&clks 201>, <&clks 200>;
+ clock-names = "pll4", "imx-ssi.1", "cko", "cko2";
AVDD-supply = <&pu_dummy>;
HPVDD-supply = <&pu_dummy>;
DCVDD-supply = <&pu_dummy>;
diff --git a/sound/soc/fsl/imx-wm8731.c b/sound/soc/fsl/imx-wm8731.c
index ba1363f..72b75ad 100644
--- a/sound/soc/fsl/imx-wm8731.c
+++ b/sound/soc/fsl/imx-wm8731.c
@@ -31,6 +31,7 @@
#include "imx-ssi.h"
#define DAI_NAME_SIZE 32
+#define WM8731_MCLK_FREQ (24000000 / 2)
struct imx_wm8731_data {
struct snd_soc_dai_link dai;
@@ -43,10 +44,8 @@ struct imx_wm8731_data {
struct clk *clock_root;
long sysclk;
long current_rate;
- /* platfor data */
- unsigned int ssi_num;
- unsigned int src_port;
- unsigned int ext_port;
+ /* apis */
+ int (*clock_enable)(int enable,struct imx_wm8731_data *data);
};
static int imx_wm8731_init(struct snd_soc_pcm_runtime *rtd);
@@ -63,7 +62,6 @@ static struct imx_priv card_priv;
static struct snd_soc_ops imx_hifi_ops = {
.shutdown = imx_hifi_shutdown,
- .hw_params = imx_hifi_hw_params_slv_mode,
};
/* imx card dapm widgets */
@@ -160,6 +158,78 @@ static int wm8731_slv_mode_clock_enable(int enable, struct imx_wm8731_data *data
return 0;
}
+static int imx_hifi_startup_slv_mode(struct snd_pcm_substream *substream)
+{
+ /*
+ * As SSI's sys clock rate depends on sampling rate,
+ * the clock enabling code is moved to imx_hifi_hw_params().
+ */
+ return 0;
+}
+
+static int wm8731_mst_mode_init(struct imx_wm8731_data *data)
+{
+ long rate;
+ struct clk *new_parent;
+ struct clk *ssi_clk;
+ struct i2c_client *codec_dev = data->codec_dev;
+
+ new_parent = devm_clk_get(&codec_dev->dev, "cko2");
+ if (IS_ERR(new_parent)) {
+ pr_err("Could not get \"cko2\" clock \n");
+ return PTR_ERR(new_parent);
+ }
+
+ ssi_clk = devm_clk_get(&codec_dev->dev, "cko");
+ if (IS_ERR(ssi_clk)) {
+ pr_err("Could not get \"cko\" clock \n");
+ return PTR_ERR(ssi_clk);
+ }
+
+ rate = clk_round_rate(new_parent, WM8731_MCLK_FREQ);
+ clk_set_rate(new_parent, rate);
+
+ clk_set_parent(ssi_clk, new_parent);
+
+ rate = clk_round_rate(ssi_clk, WM8731_MCLK_FREQ);
+ clk_set_rate(ssi_clk, rate);
+
+ pr_info("%s: \"CLKO\" rate = %ld (= %d)\n",
+ __func__, rate, WM8731_MCLK_FREQ);
+
+ data->pll = new_parent;
+ data->clock_root = ssi_clk;
+ data->sysclk = rate;
+
+ return 0;
+}
+
+static int wm8731_mst_mode_clock_enable(int enable, struct imx_wm8731_data *data)
+{
+ struct clk *clko = data->clock_root;
+
+ if (enable)
+ clk_enable(clko);
+ else
+ clk_disable(clko);
+
+ return 0;
+}
+
+static int imx_hifi_startup_mst_mode(struct snd_pcm_substream *substream)
+{
+ struct snd_soc_pcm_runtime *rtd = substream->private_data;
+ struct snd_soc_dai *codec_dai = rtd->codec_dai;
+ struct snd_soc_card *card = codec_dai->codec->card;
+ struct imx_wm8731_data *data = snd_soc_card_get_drvdata(card);
+
+ if (!codec_dai->active)
+ data->clock_enable(1,data);
+
+ return 0;
+}
+
+
static int imx_hifi_hw_params_slv_mode(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{
@@ -169,7 +239,7 @@ static int imx_hifi_hw_params_slv_mode(struct snd_pcm_substream *substream,
struct snd_soc_card *card = codec_dai->codec->card;
struct imx_wm8731_data *data = snd_soc_card_get_drvdata(card);
- u32 dai_format, pll_out;
+ u32 dai_format;
snd_pcm_format_t sample_format;
unsigned int channels;
unsigned int tx_mask, rx_mask;
@@ -282,6 +352,63 @@ static int imx_hifi_hw_params_slv_mode(struct snd_pcm_substream *substream,
return 0;
}
+static int imx_hifi_hw_params_mst_mode(struct snd_pcm_substream *substream,
+ struct snd_pcm_hw_params *params)
+{
+ struct snd_soc_pcm_runtime *rtd = substream->private_data;
+ struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
+ struct snd_soc_dai *codec_dai = rtd->codec_dai;
+ struct snd_soc_card *card = codec_dai->codec->card;
+ struct imx_wm8731_data *data = snd_soc_card_get_drvdata(card);
+ u32 dai_format;
+ unsigned int channels;
+ unsigned int tx_mask, rx_mask;
+ unsigned int sampling_rate;
+ int ret;
+
+
+ sampling_rate = params_rate(params);
+ channels = params_channels(params);
+ pr_debug("%s:%s sampling rate = %u channels = %u \n", __FUNCTION__,
+ (substream->stream == SNDRV_PCM_STREAM_PLAYBACK ? "Playback" : "Capture"),
+ sampling_rate, channels);
+
+ /* set cpu DAI configuration */
+ dai_format = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_IF |
+ SND_SOC_DAIFMT_CBM_CFM;
+
+ ret = snd_soc_dai_set_fmt(cpu_dai, dai_format);
+ if (ret < 0)
+ return ret;
+
+ /* set i.MX active slot mask */
+ /* S[TR]CCR:DC */
+ tx_mask = ~((1 << channels) - 1);
+ rx_mask = tx_mask;
+ snd_soc_dai_set_tdm_slot(cpu_dai, tx_mask, rx_mask, 2, 32);
+
+ /* set codec DAI configuration */
+ dai_format = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
+ SND_SOC_DAIFMT_CBM_CFM;
+
+ ret = snd_soc_dai_set_fmt(codec_dai, dai_format);
+ if (ret < 0)
+ return ret;
+
+ ret = snd_soc_dai_set_sysclk(codec_dai,
+ WM8731_SYSCLK_MCLK,
+ data->sysclk,
+ SND_SOC_CLOCK_IN);
+
+ if (ret < 0) {
+ pr_err("Failed to set codec master clock to %u: %d \n",
+ data->sysclk, ret);
+ return ret;
+ }
+
+ return 0;
+}
+
static void imx_hifi_shutdown(struct snd_pcm_substream *substream)
{
struct snd_soc_pcm_runtime *rtd = substream->private_data;
@@ -290,7 +417,7 @@ static void imx_hifi_shutdown(struct snd_pcm_substream *substream)
struct imx_wm8731_data *data = snd_soc_card_get_drvdata(card);
if (!codec_dai->active)
- wm8731_slv_mode_clock_enable(0,data);
+ data->clock_enable(0,data);
return;
}
@@ -376,6 +503,27 @@ static int imx_audmux_config_slv_mode(int _slave, int _master)
return 0;
}
+static int imx_audmux_config_mst_mode(int _slave, int _master)
+{
+ unsigned int ptcr, pdcr;
+ int slave = _slave - 1;
+ int master = _master - 1;
+
+ ptcr = IMX_AUDMUX_V2_PTCR_SYN;
+ ptcr |= IMX_AUDMUX_V2_PTCR_TFSDIR |
+ IMX_AUDMUX_V2_PTCR_TFSEL(master) |
+ IMX_AUDMUX_V2_PTCR_TCLKDIR |
+ IMX_AUDMUX_V2_PTCR_TCSEL(master);
+ pdcr = IMX_AUDMUX_V2_PDCR_RXDSEL(master);
+ imx_audmux_v2_configure_port(slave, ptcr, pdcr);
+
+ ptcr = IMX_AUDMUX_V2_PTCR_SYN;
+ pdcr = IMX_AUDMUX_V2_PDCR_RXDSEL(slave);
+ imx_audmux_v2_configure_port(master, ptcr, pdcr);
+
+ return 0;
+}
+
static int imx_wm8731_probe(struct platform_device *pdev)
{
struct device_node *ssi_np, *codec_np;
@@ -383,6 +531,10 @@ static int imx_wm8731_probe(struct platform_device *pdev)
struct imx_priv *priv = &card_priv;
struct i2c_client *codec_dev;
struct imx_wm8731_data *data;
+ unsigned int src_port, ext_port;
+ unsigned int ssi_mode;
+ const char *ssi_mode_str;
+
int ret;
priv->pdev = pdev;
@@ -428,14 +580,44 @@ static int imx_wm8731_probe(struct platform_device *pdev)
data->dai.ops = &imx_hifi_ops;
data->dai.init = &imx_wm8731_init;
- data->ssi_num = 2; /* 1-based */
- data->src_port = 2;
- data->ext_port = 4;
-
- imx_audmux_config_slv_mode(data->src_port, data->ext_port);
-
- /* Slave Mode Init */
- wm8731_slv_mode_init(data);
+ ret = of_property_read_u32(pdev->dev.of_node, "src-port", &src_port);
+ if (ret) {
+ dev_err(&pdev->dev, "failed to get \"src-port\" value\n");
+ ret = -EINVAL;
+ goto fail;
+ }
+
+ ret = of_property_read_u32(pdev->dev.of_node, "ext-port", &ext_port);
+ if (ret) {
+ dev_err(&pdev->dev, "failed to get \"ext-port\" value\n");
+ ret = -EINVAL;
+ goto fail;
+ }
+
+ ret = of_property_read_string(ssi_np, "fsl,mode", &ssi_mode_str);
+ if (ret) {
+ dev_err(&pdev->dev, "failed to get \"fsl,mode\" value\n");
+ ret = -EINVAL;
+ goto fail;
+ }
+
+ ssi_mode = strcmp(ssi_mode_str, "i2s-master");
+
+ if (ssi_mode) {
+ /* Master Mode */
+ imx_audmux_config_mst_mode(src_port, ext_port);
+ wm8731_mst_mode_init(data);
+ data->clock_enable = wm8731_mst_mode_clock_enable;
+ imx_hifi_ops.hw_params = imx_hifi_hw_params_mst_mode;
+ imx_hifi_ops.startup = imx_hifi_startup_mst_mode;
+ } else {
+ /* Slave Mode */
+ imx_audmux_config_slv_mode(src_port, ext_port);
+ wm8731_slv_mode_init(data);
+ data->clock_enable = wm8731_slv_mode_clock_enable;
+ imx_hifi_ops.hw_params = imx_hifi_hw_params_slv_mode;
+ imx_hifi_ops.startup = imx_hifi_startup_slv_mode;
+ }
data->card.dev = &pdev->dev;
ret = snd_soc_of_parse_card_name(&data->card, "model");
--
1.7.9.5

View File

@ -1,31 +0,0 @@
From 7b953812d9804bbce9f2b8f21ca5e72229272eb6 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Thu, 24 Jul 2014 16:11:29 +0300
Subject: [PATCH 17/59] ARM: i.MX6: dts: enable v4l2 output
Enable v4l2 output.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dts | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts
index 050795b..2e04224 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
@@ -227,6 +227,11 @@
status = "okay";
};
+ v4l2_out {
+ compatible = "fsl,mxc_v4l2_output";
+ status = "okay";
+ };
+
};
&iomuxc {
--
1.7.9.5

View File

@ -1,52 +0,0 @@
From 7cadcbd1a95de480f3412c56f6a3567ba213091a Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Thu, 31 Jul 2014 16:27:38 +0300
Subject: [PATCH 18/59] ARM: i.MX6: dts: some small changes in the dts file
1) Fixed the color depth value for both frame buffers.
2) Added a missing OTG pinmux definition.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dts | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts
index 2e04224..1613c32 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
@@ -200,7 +200,7 @@
disp_dev = "hdmi";
interface_pix_fmt = "RGB24";
mode_str ="1920x1080M@60";
- default_bpp = <24>;
+ default_bpp = <32>;
int_clk = <0>;
late_init = <0>;
status = "disabled";
@@ -211,12 +211,13 @@
disp_dev = "lcd";
interface_pix_fmt = "RGB24";
mode_str ="1920x1080M@60";
- default_bpp = <24>;
+ default_bpp = <32>;
int_clk = <0>;
late_init = <0>;
status = "disabled";
};
+
lcd@0 {
compatible = "fsl,lcd";
ipu_id = <0>;
@@ -354,6 +355,7 @@
pinctrl_usbotg: usbotggrp {
fsl,pins = <
MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
+ MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x80000000
>;
};
--
1.7.9.5

View File

@ -1,79 +0,0 @@
From da2c6c15b0db7f361b0db50b93b0d2df98ad81a4 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Tue, 5 Aug 2014 15:04:44 +0300
Subject: [PATCH 19/59] igb: Define the device mac address in device tree
1) Define the device mac address node in the device tree.
2) Make the driver read the mac address from the device tree node.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dts | 6 ++++++
drivers/net/ethernet/intel/igb/igb_main.c | 27 +++++++++++++++++++++++++++
2 files changed, 33 insertions(+)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts
index 1613c32..0e2558f 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
@@ -233,6 +233,12 @@
status = "okay";
};
+ eth@pcie {
+ compatible = "intel,i211";
+ local-mac-address = [00 1C 1D 1E 1F 20];
+ status = "okay";
+ };
+
};
&iomuxc {
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 2472835..5f93765 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -2185,6 +2185,30 @@ static s32 igb_init_i2c(struct igb_adapter *adapter)
return status;
}
+
+/**
+ * igb_read_mac_addr_dts - Read mac addres from the device tree
+ * blob
+ * @adapter: pointer to adapter structure
+ **/
+static void igb_read_mac_addr_dts(struct e1000_hw *hw)
+{
+ struct device_node *dn;
+ const uint8_t *mac;
+
+ dn = of_find_compatible_node(NULL, NULL, "intel,i211");
+
+ if (!dn)
+ return;
+
+ mac = of_get_property(dn, "local-mac-address", NULL);
+
+ if (mac)
+ memcpy(hw->mac.addr, mac, ETH_ALEN);
+
+ return;
+}
+
/**
* igb_probe - Device Initialization Routine
* @pdev: PCI device information struct
@@ -2387,6 +2411,9 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
if (hw->mac.ops.read_mac_addr(hw))
dev_err(&pdev->dev, "NVM Read Error\n");
+ if (!is_valid_ether_addr(hw->mac.addr))
+ igb_read_mac_addr_dts(hw);
+
if (!is_valid_ether_addr(hw->mac.addr)) {
dev_info(&pdev->dev, "Random MAC Address\n");
random_ether_addr(hw->mac.addr);
--
1.7.9.5

View File

@ -1,87 +0,0 @@
From 764be38216e273b22671b1f4d2babb47e0dc1d74 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Tue, 5 Aug 2014 15:39:32 +0300
Subject: [PATCH 20/59] ARM: i.MX6: cm-fx6: update defconfig
Enable:
1) Analog audio
2) MRVL bluetooth
3) SATA AHCI
4) USB OTG
5) Board revision
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/configs/cm_fx6_defconfig | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm/configs/cm_fx6_defconfig b/arch/arm/configs/cm_fx6_defconfig
index eb6d9cb..210062b 100644
--- a/arch/arm/configs/cm_fx6_defconfig
+++ b/arch/arm/configs/cm_fx6_defconfig
@@ -26,6 +26,7 @@ CONFIG_SOC_IMX53=y
CONFIG_SOC_IMX6Q=y
CONFIG_SOC_IMX6SL=y
CONFIG_SOC_VF610=y
+CONFIG_MACH_CM_FX6=y
# CONFIG_SWP_EMULATE is not set
CONFIG_PCI=y
CONFIG_PCI_IMX6=y
@@ -137,6 +138,9 @@ CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_CAN=y
CONFIG_CAN_FLEXCAN=y
+CONFIG_BT=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
CONFIG_CFG80211=y
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=y
@@ -176,6 +180,7 @@ CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y
# CONFIG_SCSI_LOWLEVEL is not set
CONFIG_ATA=y
+CONFIG_SATA_AHCI=y
CONFIG_SATA_AHCI_PLATFORM=y
CONFIG_AHCI_IMX=y
CONFIG_PATA_IMX=y
@@ -251,6 +256,7 @@ CONFIG_MFD_MC13XXX_I2C=y
CONFIG_MFD_MAX17135=y
CONFIG_MFD_SI476X_CORE=y
CONFIG_REGULATOR=y
+CONFIG_REGULATOR_DUMMY=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_DA9052=y
CONFIG_REGULATOR_ANATOP=y
@@ -310,6 +316,7 @@ CONFIG_SND_SOC=y
CONFIG_SND_IMX_SOC=y
CONFIG_SND_SOC_EUKREA_TLV320=y
CONFIG_SND_SOC_IMX_CS42888=y
+CONFIG_SND_SOC_IMX_WM8731=y
CONFIG_SND_SOC_IMX_WM8962=y
CONFIG_SND_SOC_IMX_SGTL5000=y
CONFIG_SND_SOC_IMX_SPDIF=y
@@ -317,7 +324,10 @@ CONFIG_SND_SOC_IMX_MC13783=y
CONFIG_SND_SOC_IMX_HDMI=y
CONFIG_SND_SOC_IMX_SI476X=y
CONFIG_USB=y
+CONFIG_USB_OTG=y
CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_MXC=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_STORAGE=y
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_UDC=y
@@ -326,7 +336,9 @@ CONFIG_USB_PHY=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_USB_MXS_PHY=y
CONFIG_USB_GADGET=y
+CONFIG_USB_FSL_USB2=y
CONFIG_USB_ZERO=m
+CONFIG_USB_AUDIO=m
CONFIG_USB_ETH=m
CONFIG_USB_MASS_STORAGE=m
CONFIG_USB_G_SERIAL=m
--
1.7.9.5

View File

@ -1,46 +0,0 @@
From dbd1cd2da1f43bde17e66b95128533d1658ece09 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Wed, 20 Aug 2014 14:48:09 +0300
Subject: [PATCH 23/59] ARM: i.MX6: dts: pcie power-on-gpio to a fixed
regulator
Define pcie power-on-gpio as a fixed regulator.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dtsi | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
index 0aa4461..27f9567 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
@@ -42,6 +42,16 @@
enable-active-high;
};
+ /* regulator1 for pcie power-on-gpio */
+ pcie_power_on_gpio: regulator-pcie-power-on-gpio {
+ compatible = "regulator-fixed";
+ regulator-name = "regulator-pcie-power-on-gpio";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio2 24 0>;
+ enable-active-high;
+ };
+
/* regulator for usb hub1 */
reg_usb_h1_vbus: usb_h1_vbus {
compatible = "regulator-fixed";
@@ -445,7 +455,7 @@
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pcie>;
reset-gpio = <&gpio1 26 0>;
- power-on-gpio = <&gpio2 24 0>;
+ vdd-supply = <&pcie_power_on_gpio>;
status = "okay";
};
--
1.7.9.5

View File

@ -1,45 +0,0 @@
From 84e2c9793f9240cec297eef8bb38978aade1fbb1 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Wed, 20 Aug 2014 15:15:38 +0300
Subject: [PATCH 24/59] ARM: i.MX6: dts: add i2c1 status okay
Restore the i2c1 bus staus that has been deleted while refactoring.
It was the reason why em3027 stoped working.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-sbc-fx6.dts | 4 ++++
arch/arm/boot/dts/imx6q-sbc-fx6m.dts | 1 +
2 files changed, 5 insertions(+)
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6.dts b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
index 33e4f33..6f6ad33 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
@@ -20,6 +20,10 @@
compatible = "compulab,cm-fx6", "compulab,sbc-fx6", "fsl,imx6q";
};
+&i2c1 {
+ status = "okay";
+};
+
&usdhc3 {
status = "okay";
};
\ No newline at end of file
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6m.dts b/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
index 2282250..cf2a0eb 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
@@ -37,6 +37,7 @@
&i2c1 {
+ status = "okay";
rtc@56 {
compatible = "emmicro,em3027";
reg = <0x56>;
--
1.7.9.5

View File

@ -1,28 +0,0 @@
From b223d8ffc36e39f88c1b9014ca6bbaecd9022508 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Wed, 3 Sep 2014 10:48:29 +0300
Subject: [PATCH 25/59] ARM: i.MX6: dts: add local-mac-address field for fec.
Add local-mac-address field for fec.
The board U-Boot is in charge to fill this field with a correct value.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6qdl.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
index 732f2d2..f4f3de3 100644
--- a/arch/arm/boot/dts/imx6qdl.dtsi
+++ b/arch/arm/boot/dts/imx6qdl.dtsi
@@ -944,6 +944,7 @@
<&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET_REF>;
clock-names = "ipg", "ahb", "ptp";
+ local-mac-address = [FF FF FF FF FF FF];
status = "disabled";
};
--
1.7.9.5

View File

@ -1,36 +0,0 @@
From e7e09deee3c3ac74e3d429cf8af2effade1152c7 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Sun, 28 Dec 2014 15:05:21 +0200
Subject: [PATCH 26/59] ARM: mxs: change usb phy test clock gating.
This change proposes to invert test clock gating.
This solution has fixed usb hub suspend resume loop issue.
---
drivers/usb/phy/phy-mxs-usb.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/phy/phy-mxs-usb.c b/drivers/usb/phy/phy-mxs-usb.c
index 97556b5..fffa67d 100644
--- a/drivers/usb/phy/phy-mxs-usb.c
+++ b/drivers/usb/phy/phy-mxs-usb.c
@@ -239,7 +239,7 @@ static void __mxs_phy_disconnect_line(struct mxs_phy *mxs_phy, bool disconnect)
if (disconnect)
writel_relaxed(BM_USBPHY_DEBUG_CLKGATE,
- base + HW_USBPHY_DEBUG_CLR);
+ base + HW_USBPHY_DEBUG_SET);
if (mxs_phy->port_id == 0) {
reg = disconnect ? ANADIG_USB1_LOOPBACK_SET
@@ -257,7 +257,7 @@ static void __mxs_phy_disconnect_line(struct mxs_phy *mxs_phy, bool disconnect)
if (!disconnect)
writel_relaxed(BM_USBPHY_DEBUG_CLKGATE,
- base + HW_USBPHY_DEBUG_SET);
+ base + HW_USBPHY_DEBUG_CLR);
/* Delay some time, and let Linestate be SE0 for controller */
if (disconnect)
--
1.7.9.5

View File

@ -1,51 +0,0 @@
From 246fc4a1169a2ef6fa2582e72bdf3d9c9dc451c2 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Tue, 30 Dec 2014 13:55:58 +0200
Subject: [PATCH 27/59] ARM: i.MX6: dts: fix the cm-fx6 operation points.
Fix the cm-fx6 operation points. Remove settings for 1.2GHz.
The current ldo settings do not allow 1.2GHz cpu frequency.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dtsi | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
index 27f9567..12eed61 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
@@ -380,6 +380,23 @@
};
};
+&cpu0 {
+ operating-points = <
+ /* kHz uV */
+ 996000 1250000
+ 852000 1250000
+ 792000 1150000
+ 396000 975000
+ >;
+ fsl,soc-operating-points = <
+ /* ARM kHz SOC-PU uV */
+ 996000 1250000
+ 852000 1250000
+ 792000 1175000
+ 396000 1175000
+ >;
+};
+
/* spi */
&ecspi1 {
fsl,spi-num-chipselects = <2>;
@@ -538,4 +555,4 @@
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_audmux>;
status = "okay";
-};
\ No newline at end of file
+};
--
1.7.9.5

View File

@ -1,71 +0,0 @@
From 4e0f406df2399be8984a6b774669ec1181153a37 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Mon, 5 Jan 2015 10:34:13 +0200
Subject: [PATCH 28/59] ARM: i.MX6: ASoC: fix build warnings and update
includes
Fix build warnings and update includes.
sound/soc/fsl/imx-wm8731.c: In function 'imx_hifi_hw_params_slv_mode':
sound/soc/fsl/imx-wm8731.c:357:3: warning: format '%u' expects type 'unsigned int', but argument 2 has type 'long int'
sound/soc/fsl/imx-wm8731.c: In function 'imx_hifi_hw_params_mst_mode':
sound/soc/fsl/imx-wm8731.c:414:3: warning: format '%u' expects type 'unsigned int', but argument 2 has type 'long int'
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
sound/soc/fsl/imx-wm8731.c | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/sound/soc/fsl/imx-wm8731.c b/sound/soc/fsl/imx-wm8731.c
index 72b75ad..c0833cf 100644
--- a/sound/soc/fsl/imx-wm8731.c
+++ b/sound/soc/fsl/imx-wm8731.c
@@ -14,17 +14,12 @@
*/
#include <linux/module.h>
+#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/of_i2c.h>
-#include <linux/of_gpio.h>
-#include <linux/slab.h>
-#include <linux/gpio.h>
#include <linux/clk.h>
#include <sound/soc.h>
-#include <sound/jack.h>
#include <sound/pcm_params.h>
-#include <sound/soc-dapm.h>
-#include <linux/pinctrl/consumer.h>
#include "../codecs/wm8731.h"
#include "imx-audmux.h"
@@ -344,7 +339,7 @@ static int imx_hifi_hw_params_slv_mode(struct snd_pcm_substream *substream,
SND_SOC_CLOCK_IN);
if (ret < 0) {
- pr_err("Failed to set codec master clock to %u: %d \n",
+ pr_err("Failed to set codec master clock to %lu: %d \n",
data->sysclk, ret);
return ret;
}
@@ -401,7 +396,7 @@ static int imx_hifi_hw_params_mst_mode(struct snd_pcm_substream *substream,
SND_SOC_CLOCK_IN);
if (ret < 0) {
- pr_err("Failed to set codec master clock to %u: %d \n",
+ pr_err("Failed to set codec master clock to %lu: %d \n",
data->sysclk, ret);
return ret;
}
@@ -555,7 +550,7 @@ static int imx_wm8731_probe(struct platform_device *pdev)
}
codec_dev = of_find_i2c_device_by_node(codec_np);
- if (!codec_dev || !codec_dev->driver) {
+ if (!codec_dev) {
dev_err(&pdev->dev, "failed to find codec platform device\n");
ret = -EINVAL;
goto fail;
--
1.7.9.5

View File

@ -1,67 +0,0 @@
From 0c263e8ce8ff9a47bc336ed10d7144d7f673ed05 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Thu, 15 Jan 2015 13:52:37 +0200
Subject: [PATCH 29/59] ARM: i.MX6: dts: change issd gpio order
Change the order in which GPIOs are toggled in SATA init sequence to
accomodate both SanDisk and Phison SSDs.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dtsi | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
index 12eed61..dd91190 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
@@ -82,6 +82,16 @@
startup-delay-us = <10000>;
};
+ reg_sata_ldo_en: sata_ldo_en {
+ compatible = "regulator-fixed";
+ regulator-name = "cm_fx6_sata_ldo_en";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio2 16 0>;
+ startup-delay-us = <100>;
+ enable-active-high;
+ };
+
reg_sata_phy_slp: sata_phy_slp {
compatible = "regulator-fixed";
regulator-name = "cm_fx6_sata_phy_slp";
@@ -90,6 +100,7 @@
gpio = <&gpio3 23 0>;
startup-delay-us = <100>;
enable-active-high;
+ vin-supply = <&reg_sata_ldo_en>;
};
reg_sata_nrstdly: sata_nrstdly {
@@ -133,20 +144,10 @@
gpio = <&gpio5 2 0>;
startup-delay-us = <100>;
enable-active-high;
+ regulator-boot-on;
vin-supply = <&reg_sata_nstandby1>;
};
- reg_sata_ldo_en: sata_ldo_en {
- compatible = "regulator-fixed";
- regulator-name = "cm_fx6_sata_ldo_en";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- gpio = <&gpio2 16 0>;
- startup-delay-us = <100>;
- enable-active-high;
- regulator-boot-on;
- vin-supply = <&reg_sata_nstandby2>;
- };
};
aliases {
--
1.7.9.5

View File

@ -1,30 +0,0 @@
From 5fd7676d1ed0b1147d17304fe93f6e65df824fe3 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Tue, 27 Jan 2015 15:54:24 +0200
Subject: [PATCH 30/59] ARM: i.MX6: dts: add missing WiFi/BT pinmuxes
Set a correct mux mode for both:
WLAN_BT_nPD and WLAN_BT_nRESET.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dtsi | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
index dd91190..3b1a046 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
@@ -239,6 +239,9 @@
MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x80000000
/* POWER_BUTTON */
MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000
+ /* WIFI_PWR_RST */
+ MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x80000000
+ MX6QDL_PAD_NANDF_CS3__GPIO6_IO16 0x80000000
>;
};
};
--
1.7.9.5

View File

@ -1,29 +0,0 @@
From 9c4cc9ad875d6dbbf099b3eb3cf145e8e32c8fa1 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Thu, 12 Feb 2015 13:41:56 +0200
Subject: [PATCH 31/59] ARM: i.MX6: cm-fx6: enable i2cmux in defconfig
Enable i2cmux in defconfig.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/configs/cm_fx6_defconfig | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm/configs/cm_fx6_defconfig b/arch/arm/configs/cm_fx6_defconfig
index 210062b..7d753ae 100644
--- a/arch/arm/configs/cm_fx6_defconfig
+++ b/arch/arm/configs/cm_fx6_defconfig
@@ -232,6 +232,9 @@ CONFIG_FSL_OTP=y
CONFIG_MXS_VIIM=y
# CONFIG_I2C_COMPAT is not set
CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX=y
+CONFIG_I2C_MUX_GPIO=y
+CONFIG_I2C_MUX_PCA954x=y
# CONFIG_I2C_HELPER_AUTO is not set
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m
--
1.7.9.5

View File

@ -1,53 +0,0 @@
From 071b13a32ba25d50adf4f552e71339edce00e1f9 Mon Sep 17 00:00:00 2001
From: Igor Grinberg <grinberg@compulab.co.il>
Date: Mon, 23 Feb 2015 15:54:13 +0200
Subject: [PATCH 32/59] ARM: i.MX6: sb-fx6m: Fix uart1 rts/cts flow control
According to the board schematics uart1 works in DCE mode only.
Remove the DCEDTE mode flag in the uart1 properties.
Set a correct value in the IOMUXC_UART2_UART_RTS_B_SELECT_INPUT register.
This value lets connect RTS_B pad to ipp_uart_rts_b when UART is in DCE mode.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
[grinberg@compulab.co.il: removed remnant include from previous patch
version]
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
arch/arm/boot/dts/imx6q-sbc-fx6m.dts | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6m.dts b/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
index cf2a0eb..8afb83d 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
@@ -19,6 +19,14 @@
model = "CompuLab CM-FX6 on SBC-FX6m";
compatible = "compulab,cm-fx6", "compulab,sbc-fx6m", "fsl,imx6q";
+ iomux_uart2: pinmux@20E0924 {
+ compatible = "pinctrl-single";
+ reg = <0x20E0000 0x924>; /* Single register */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-single,register-width = <32>;
+ pinctrl-single,function-mask = <0x4>;
+ };
};
&iomuxc {
@@ -52,9 +60,6 @@
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2>;
- /* fsl,dte-mode; */
fsl,uart-has-rtscts;
- dma-names = "rx", "tx";
- dmas = <&sdma 27 4 0>, <&sdma 28 4 0>;
status = "okay";
-};
\ No newline at end of file
+};
--
1.7.9.5

View File

@ -1,172 +0,0 @@
From 38a739ee4a93cbf436a4d3dfbe9f9fc729177392 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Wed, 18 Feb 2015 18:25:23 +0200
Subject: [PATCH 33/59] ARM: i.MX6: dts: add i2cmux support for SBC-FX6 boards
Add i2cmux support for SBC-FX6 boards.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-sb-fx6.dtsi | 50 +++++++++++++++++++++++++++++++++-
arch/arm/boot/dts/imx6q-sb-fx6m.dtsi | 36 ++++++++++++++++++++++++
arch/arm/boot/dts/imx6q-sb-fx6x.dtsi | 6 +---
arch/arm/boot/dts/imx6q-sbc-fx6.dts | 2 +-
arch/arm/boot/dts/imx6q-sbc-fx6m.dts | 5 ----
5 files changed, 87 insertions(+), 12 deletions(-)
diff --git a/arch/arm/boot/dts/imx6q-sb-fx6.dtsi b/arch/arm/boot/dts/imx6q-sb-fx6.dtsi
index acfc572..fc4f347a 100644
--- a/arch/arm/boot/dts/imx6q-sb-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6q-sb-fx6.dtsi
@@ -11,4 +11,52 @@
* http://www.gnu.org/copyleft/gpl.html
*/
-#include "imx6q-sb-fx6x.dtsi"
\ No newline at end of file
+#include "imx6q-sb-fx6x.dtsi"
+
+/ {
+ i2cmux {
+ compatible = "i2c-mux-gpio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ mux-gpios = <&gpio1 2 0>;
+ i2c-parent = <&i2c1>;
+
+ i2c@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pca9555@26 {
+ compatible = "nxp,pca9555";
+ gpio-controller;
+ #gpio-cells = <2>;
+ reg = <0x26>;
+ };
+
+ hx8526@4a {
+ compatible = "himax,himax_ts";
+ reg = <0x4a>;
+ gpio_intr = <&gpio1 4 0>;
+ };
+
+ eeprom@50 {
+ compatible = "at24,24c02";
+ reg = <0x50>;
+ pagesize = <16>;
+ };
+
+ };
+
+ i2c@1 {
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dvi: edid@50 {
+ compatible = "fsl,imx6-hdmi-i2c";
+ reg = <0x50>;
+ };
+ };
+
+ };
+};
diff --git a/arch/arm/boot/dts/imx6q-sb-fx6m.dtsi b/arch/arm/boot/dts/imx6q-sb-fx6m.dtsi
index 5a488f8..a6cc8dd 100644
--- a/arch/arm/boot/dts/imx6q-sb-fx6m.dtsi
+++ b/arch/arm/boot/dts/imx6q-sb-fx6m.dtsi
@@ -29,4 +29,40 @@
gpio-key,wakeup;
};
};
+
+ i2cmux {
+ compatible = "i2c-mux-gpio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ mux-gpios = <&gpio1 2 0>;
+ i2c-parent = <&i2c1>;
+
+ i2c@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ eeprom@50 {
+ compatible = "at24,24c02";
+ reg = <0x50>;
+ pagesize = <16>;
+ };
+
+ rtc@56 {
+ compatible = "emmicro,em3027";
+ reg = <0x56>;
+ };
+ };
+
+ i2c@1 {
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dvi: edid@50 {
+ compatible = "fsl,imx6-hdmi-i2c";
+ reg = <0x50>;
+ };
+ };
+ };
};
\ No newline at end of file
diff --git a/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi b/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi
index 9f67b3e..ae70c87 100644
--- a/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi
+++ b/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi
@@ -59,11 +59,7 @@
&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1>;
- eeprom@50 {
- compatible = "at24,24c02";
- reg = <0x50>;
- pagesize = <16>;
- };
+ status = "disabled";
};
/* mmc */
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6.dts b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
index 6f6ad33..4bba196 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
@@ -12,7 +12,7 @@
*/
/dts-v1/;
-#include "imx6q-sb-fx6x.dtsi"
+#include "imx6q-sb-fx6.dtsi"
#include "imx6q-cm-fx6.dtsi"
/ {
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6m.dts b/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
index 8afb83d..31d0e8c 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
@@ -43,13 +43,8 @@
};
};
-
&i2c1 {
status = "okay";
- rtc@56 {
- compatible = "emmicro,em3027";
- reg = <0x56>;
- };
};
&usdhc3 {
--
1.7.9.5

View File

@ -1,46 +0,0 @@
From 23349ee1dfee32db88d3a493fc7c8aaeb8e72868 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Thu, 12 Feb 2015 13:49:31 +0200
Subject: [PATCH 34/59] ARM: i.MX6: dts: add dvi edid GPIOs
Add dvi edid GPIOs.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-sb-fx6x.dtsi | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi b/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi
index ae70c87..41237c7 100644
--- a/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi
+++ b/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi
@@ -32,6 +32,9 @@
};
&iomuxc {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hog>, <&pinctrl_dvi0>;
+
imx6q-sb-fx6x {
/* pins for i2c1 */
pinctrl_i2c1: i2c1grp {
@@ -52,6 +55,16 @@
MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
>;
};
+
+ /* pins for dvi/ts */
+ pinctrl_dvi0: dvi0grp {
+ fsl,pins = <
+ /* DVI_DDC_SEL */
+ MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000
+ /* SB-FX6 Himax TS PENDOWN or SB-FX6m DVI HPD */
+ MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x80000000
+ >;
+ };
};
};
--
1.7.9.5

View File

@ -1,114 +0,0 @@
From db8c584359449958872973912001bd845438c487 Mon Sep 17 00:00:00 2001
From: Dmitry Lifshitz <lifshitz@compulab.co.il>
Date: Thu, 12 Feb 2015 16:59:53 +0200
Subject: [PATCH 35/59] video: mxc: IPUv3 fb: restore sync bits
Freescale framebuffer driver uses some driver-specific
proprietary bits in the sync field (like pixel clock polarity).
Xorg driver discards unknown sync bits in the fb_var_screeninfo
structure. As the results of dropping the proprietary sync bits
some displays shows various artifacts.
Fix the bug by hacking mxcfb_set_par() callback.
Before applying new var parameters, try to find a match in the mode
list, skipping proprietary sync bits (FB_MXC_SYNC_MASK).
If the entry is found, copy its FB_MXC_SYNC_MASK bits.
Signed-off-by: Dmitry Lifshitz <lifshitz@compulab.co.il>
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
drivers/video/mxc/mxc_ipuv3_fb.c | 38 ++++++++++++++++++++++++++++++++++++++
include/linux/mxcfb.h | 11 +++++++++++
2 files changed, 49 insertions(+)
diff --git a/drivers/video/mxc/mxc_ipuv3_fb.c b/drivers/video/mxc/mxc_ipuv3_fb.c
index 1fbfc9d..d24241a 100644
--- a/drivers/video/mxc/mxc_ipuv3_fb.c
+++ b/drivers/video/mxc/mxc_ipuv3_fb.c
@@ -428,6 +428,28 @@ static bool mxcfb_need_to_set_par(struct fb_info *fbi)
sizeof(struct fb_var_screeninfo));
}
+static struct fb_videomode *mxc_match_mode(const struct fb_var_screeninfo *var,
+ struct list_head *head)
+{
+ struct list_head *pos;
+ struct fb_modelist *modelist;
+ struct fb_videomode *m, mode;
+
+ fb_var_to_videomode(&mode, var);
+ list_for_each(pos, head) {
+ modelist = list_entry(pos, struct fb_modelist, list);
+ m = &modelist->mode;
+
+ mode.sync &= ~FB_MXC_SYNC_MASK;
+ mode.sync |= m->sync & FB_MXC_SYNC_MASK;
+
+ if (fb_mode_is_equal(m, &mode))
+ return m;
+ }
+
+ return NULL;
+}
+
/*
* Set framebuffer parameters and change the operating mode.
*
@@ -583,6 +605,7 @@ static int mxcfb_set_par(struct fb_info *fbi)
if (!mxc_fbi->overlay) {
uint32_t out_pixel_fmt;
+ struct fb_videomode *sync_mode;
memset(&sig_cfg, 0, sizeof(sig_cfg));
if (fbi->var.vmode & FB_VMODE_INTERLACED)
@@ -596,6 +619,21 @@ static int mxcfb_set_par(struct fb_info *fbi)
sig_cfg.Hsync_pol = true;
if (fbi->var.sync & FB_SYNC_VERT_HIGH_ACT)
sig_cfg.Vsync_pol = true;
+
+ /*
+ * Try to find matching all parameters, except
+ * FB_MXC_SYNC_MASK bits in the .sync field.
+ */
+ sync_mode = mxc_match_mode(&fbi->var, &fbi->modelist);
+ /*
+ * If entry exists in the mode list and FB_MXC_SYNC_MASK
+ * bits are empty in the fbi->var.sync (most probably cleared
+ * by the user space application) then copy it from the found
+ * mode list entry.
+ */
+ if (sync_mode && !(fbi->var.sync & FB_MXC_SYNC_MASK))
+ fbi->var.sync = sync_mode->sync;
+
if (!(fbi->var.sync & FB_SYNC_CLK_LAT_FALL))
sig_cfg.clk_pol = true;
if (fbi->var.sync & FB_SYNC_DATA_INVERT)
diff --git a/include/linux/mxcfb.h b/include/linux/mxcfb.h
index 67db5ee..e63aa2c 100644
--- a/include/linux/mxcfb.h
+++ b/include/linux/mxcfb.h
@@ -23,6 +23,17 @@
#include <uapi/linux/mxcfb.h>
+#define FB_SYNC_OE_LOW_ACT 0x80000000
+#define FB_SYNC_CLK_LAT_FALL 0x40000000
+#define FB_SYNC_DATA_INVERT 0x20000000
+#define FB_SYNC_CLK_IDLE_EN 0x10000000
+#define FB_SYNC_SHARP_MODE 0x08000000
+#define FB_SYNC_SWAP_RGB 0x04000000
+
+#define FB_MXC_SYNC_MASK (FB_SYNC_OE_LOW_ACT | FB_SYNC_CLK_LAT_FALL | \
+ FB_SYNC_DATA_INVERT | FB_SYNC_CLK_IDLE_EN | \
+ FB_SYNC_SHARP_MODE | FB_SYNC_SWAP_RGB)
+
extern struct fb_videomode mxcfb_modedb[];
extern int mxcfb_modedb_sz;
--
1.7.9.5

View File

@ -1,48 +0,0 @@
From ed1cec186cd961a9d910bfc4817b925173a0081d Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Wed, 18 Feb 2015 18:48:26 +0200
Subject: [PATCH 36/59] ARM: i.MX6: dts: add backlight support for SBC-FX6
boards
Add backlight support for SBC-FX6 boards.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-sbc-fx6.dts | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6.dts b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
index 4bba196..5febb69 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
@@ -18,6 +18,14 @@
/ {
model = "CompuLab CM-FX6 on SBC-FX6";
compatible = "compulab,cm-fx6", "compulab,sbc-fx6", "fsl,imx6q";
+
+ backlight {
+ compatible = "pwm-backlight";
+ pwms = <&pwm3 0 5000000>;
+ brightness-levels = <0 4 8 16 32 64 128 255>;
+ default-brightness-level = <7>;
+ };
+
};
&i2c1 {
@@ -26,4 +34,10 @@
&usdhc3 {
status = "okay";
-};
\ No newline at end of file
+};
+
+&pwm3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pwm3_1>;
+ status = "okay";
+};
--
1.7.9.5

View File

@ -1,70 +0,0 @@
From fbf61cbe1472b3c719b7cd67c03c0736096dbeb1 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Wed, 18 Feb 2015 18:53:01 +0200
Subject: [PATCH 37/59] ARM: i.MX6: dts: rearrangement of the frame buffers
definitions
Add a correct frame buffers' definitions
with regard to the board configuration.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dtsi | 8 --------
arch/arm/boot/dts/imx6q-sbc-fx6.dts | 8 ++++++++
arch/arm/boot/dts/imx6q-sbc-fx6m.dts | 8 ++++++++
3 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
index 3b1a046..7d39f50 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
@@ -524,14 +524,6 @@
status = "okay";
};
-&mxcfb1 {
- status = "okay";
-};
-
-&mxcfb2 {
- status = "okay";
-};
-
&hdmi_core {
ipu_id = <1>;
disp_id = <0>;
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6.dts b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
index 5febb69..8e7432d 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
@@ -41,3 +41,11 @@
pinctrl-0 = <&pinctrl_pwm3_1>;
status = "okay";
};
+
+&mxcfb1 {
+ status = "okay";
+};
+
+&mxcfb2 {
+ status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6m.dts b/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
index 31d0e8c..0005eca 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
@@ -58,3 +58,11 @@
fsl,uart-has-rtscts;
status = "okay";
};
+
+&mxcfb1 {
+ status = "okay";
+};
+
+&mxcfb2 {
+ status = "okay";
+};
--
1.7.9.5

View File

@ -1,73 +0,0 @@
From 18d516509c4acc54d0d8b6ce3019d721db81334a Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Wed, 11 Feb 2015 18:15:42 +0200
Subject: [PATCH 38/59] ARM: i.MX6: iomux: raise DSE for display signals
While drive strength of display signals is configured for 120 Ohm, some
displays exhibit artifacts.
Typical drive strength should be around 50 Ohm.
To fix the the visual artifacts, we raise the drive strength to 48 Ohm.
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dtsi | 36 ++++++++++++++++++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
index 7d39f50..9a956ac 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
@@ -210,7 +210,7 @@
disp_id = <0>;
default_ifmt = "RGB24";
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_ipu1_1>;
+ pinctrl-0 = <&pinctrl_ipu1_lcd>;
status = "okay";
};
@@ -268,6 +268,40 @@
>;
};
+ pinctrl_ipu1_lcd: ipu1grp-lcd {
+ fsl,pins = <
+ MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x38
+ MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x38
+ MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x38
+ MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x38
+ MX6QDL_PAD_DI0_PIN4__IPU1_DI0_PIN04 0x80000028
+ MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x38
+ MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x38
+ MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x38
+ MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x38
+ MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x38
+ MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x38
+ MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x38
+ MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x38
+ MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x38
+ MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x38
+ MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x38
+ MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x38
+ MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x38
+ MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x38
+ MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x38
+ MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x38
+ MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x38
+ MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x38
+ MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x38
+ MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x38
+ MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x38
+ MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x38
+ MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x38
+ MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x38
+ >;
+ };
+
/* pins for spi */
pinctrl_ecspi1: ecspi1grp {
fsl,pins = <
--
1.7.9.5

View File

@ -1,46 +0,0 @@
From 9cc3784253ae0104f22cdd487e6d4065b3308f0b Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Thu, 12 Feb 2015 16:54:04 +0200
Subject: [PATCH 39/59] ARM: i.MX6: cm-fx6: add video mode for KD050C-WVGA
Add video mode for KD050C-WVGA, update the lcdif_modedb with
the correct parameters for KD050C-WVGA.
Change mode string for second frame buffer.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-sbc-fx6.dts | 1 +
drivers/video/mxc/mxc_lcdif.c | 6 ++++++
2 files changed, 7 insertions(+)
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6.dts b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
index 8e7432d..63f91a6 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
@@ -47,5 +47,6 @@
};
&mxcfb2 {
+ mode_str ="KD050C-WVGA";
status = "okay";
};
diff --git a/drivers/video/mxc/mxc_lcdif.c b/drivers/video/mxc/mxc_lcdif.c
index d635edd..ae6ac42 100644
--- a/drivers/video/mxc/mxc_lcdif.c
+++ b/drivers/video/mxc/mxc_lcdif.c
@@ -48,6 +48,12 @@ static struct fb_videomode lcdif_modedb[] = {
FB_SYNC_CLK_LAT_FALL,
FB_VMODE_NONINTERLACED,
0,},
+ {
+ /* 800x480 @ 60 Hz , pixel clk @ 32MHz */
+ "KD050C-WVGA", 60, 800, 480, 30000, 40, 40, 13, 29, 48, 3,
+ FB_SYNC_CLK_LAT_FALL,
+ FB_VMODE_NONINTERLACED,
+ 0,},
};
static int lcdif_modedb_sz = ARRAY_SIZE(lcdif_modedb);
--
1.7.9.5

View File

@ -1,54 +0,0 @@
From e3f8a9bf6c298da7919353e364e0873425005033 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Thu, 19 Feb 2015 15:45:07 +0200
Subject: [PATCH 40/59] ARM: i.MX6: cm-fx6: refactor the cm-fx6 iomux
Move Marvell Power On and Reset GPIOs into a separate group.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dtsi | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
index 9a956ac..412e03b 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
@@ -239,9 +239,6 @@
MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x80000000
/* POWER_BUTTON */
MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000
- /* WIFI_PWR_RST */
- MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x80000000
- MX6QDL_PAD_NANDF_CS3__GPIO6_IO16 0x80000000
>;
};
};
@@ -387,6 +384,15 @@
>;
};
+ /* pins for wifi/bt */
+ pinctrl_mrvl1: mrvl1grp {
+ fsl,pins = <
+ /* WIFI_PWR_RST */
+ MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x80000000
+ MX6QDL_PAD_NANDF_CS3__GPIO6_IO16 0x80000000
+ >;
+ };
+
/* pins for pcie */
pinctrl_pcie: pciegrp {
fsl,pins = <
@@ -546,7 +552,7 @@
/* wifi/bt */
&usdhc1 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_usdhc1>;
+ pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_mrvl1>;
non-removable;
vmmc-supply = <&awnh387_npoweron>;
vmmc_aux-supply = <&awnh387_wifi_nreset>;
--
1.7.9.5

View File

@ -1,37 +0,0 @@
From 590ff97539070fb89f25337e8123495920f17433 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Thu, 15 Jan 2015 12:52:56 +0200
Subject: [PATCH 41/59] ARM: i.MX6: dts: gpmi: separate kernel and rootfs
Make separate partitions for kernel and root filesystem on the NAND
flash.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
index 412e03b..5ca8993 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
@@ -486,6 +486,16 @@
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpmi_nand>;
status = "okay";
+
+ partition@0 {
+ label = "linux";
+ reg = <0x0 0x800000>;
+ };
+
+ partition@800000 {
+ label = "rootfs";
+ reg = < 0x800000 0x0>;
+ };
};
/* i2c3 */
--
1.7.9.5

View File

@ -1,29 +0,0 @@
From 6c5e8a2dc899ae44e3ae1007ec1a1be4c6cb0f86 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Thu, 26 Feb 2015 16:45:42 +0200
Subject: [PATCH 42/59] ARM: dts: cm-fx6: enable can bus
Enable can bus.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-sbc-fx6.dts | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6.dts b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
index 63f91a6..2432f34 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
@@ -50,3 +50,9 @@
mode_str ="KD050C-WVGA";
status = "okay";
};
+
+&flexcan1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexcan1_1>;
+ status = "okay";
+};
--
1.7.9.5

View File

@ -1,85 +0,0 @@
From 5439887f65973766007f69f56277bfc7bd50494f Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Wed, 25 Feb 2015 20:18:34 +0200
Subject: [PATCH 43/59] ARM: dts: cm-fx6: add tsc2046 touchscreen support
Add tsc2046 touchscreen support.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dtsi | 45 +++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
index 5ca8993..704ef4b 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
@@ -148,6 +148,13 @@
vin-supply = <&reg_sata_nstandby1>;
};
+ tsc2046reg: tsc2046-reg {
+ compatible = "regulator-fixed";
+ regulator-name = "tsc2046-reg";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
};
aliases {
@@ -393,6 +400,14 @@
>;
};
+ /* pins for tsc2046 pendown */
+ pinctrl_tsc2046: tsc2046grp {
+ fsl,pins = <
+ /* tsc2046 PENDOWN */
+ MX6QDL_PAD_SD4_DAT7__GPIO2_IO15 0x80000000
+ >;
+ };
+
/* pins for pcie */
pinctrl_pcie: pciegrp {
fsl,pins = <
@@ -471,6 +486,36 @@
reg = <0x100000 0x100000>;
};
};
+
+ /* touch controller */
+ touch: tsc2046@1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_tsc2046>;
+
+ compatible = "ti,tsc2046";
+ vcc-supply = <&tsc2046reg>;
+
+ reg = <1>; /* CS1 */
+ spi-max-frequency = <1500000>;
+
+ interrupt-parent = <&gpio2>;
+ interrupts = <15 0>;
+ pendown-gpio = <&gpio2 15 0>;
+
+ ti,x-min = /bits/ 16 <0x0>;
+ ti,x-max = /bits/ 16 <0x0fff>;
+ ti,y-min = /bits/ 16 <0x0>;
+ ti,y-max = /bits/ 16 <0x0fff>;
+
+ ti,x-plate-ohms = /bits/ 16 <180>;
+ ti,pressure-max = /bits/ 16 <255>;
+
+ ti,debounce-max = /bits/ 16 <30>;
+ ti,debounce-tol = /bits/ 16 <10>;
+ ti,debounce-rep = /bits/ 16 <1>;
+
+ linux,wakeup;
+ };
};
/* eth0 */
--
1.7.9.5

View File

@ -1,84 +0,0 @@
From 6773725e718bd458147b9e66fa1b9edb95f8dd91 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Thu, 5 Mar 2015 09:59:32 +0200
Subject: [PATCH 44/59] ARM: i.MX6: sb-fx6x: refactoring of the usdhc3
definition
Add uhs pinctrl state for usdhc3.
This is needed for supporting ultra high speed cards.
Add cd/wp definitions.
Add a missing property no-1-8-v.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-sb-fx6x.dtsi | 32 ++++++++++++++++++++++++++++++--
arch/arm/boot/dts/imx6q-sbc-fx6.dts | 1 +
2 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi b/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi
index 41237c7..372a3c1 100644
--- a/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi
+++ b/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi
@@ -53,6 +53,30 @@
MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
+ MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x80000000
+ MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x80000000
+ >;
+ };
+
+ pinctrl_usdhc3_100mhz: usdhc3grp-100mhz { /* 100Mhz */
+ fsl,pins = <
+ MX6QDL_PAD_SD3_CMD__SD3_CMD 0x170B9
+ MX6QDL_PAD_SD3_CLK__SD3_CLK 0x100B9
+ MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x170B9
+ MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x170B9
+ MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x170B9
+ MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x170B9
+ >;
+ };
+
+ pinctrl_usdhc3_200mhz: usdhc3grp-200mhz { /* 200Mhz */
+ fsl,pins = <
+ MX6QDL_PAD_SD3_CMD__SD3_CMD 0x170F9
+ MX6QDL_PAD_SD3_CLK__SD3_CLK 0x100F9
+ MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x170F9
+ MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x170F9
+ MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x170F9
+ MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x170F9
>;
};
@@ -77,8 +101,12 @@
/* mmc */
&usdhc3 {
- pinctrl-names = "default";
+ pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc3>;
+ pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
+ pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
+ cd-gpios = <&gpio7 1 0>;
+ no-1-8-v;
vmmc-supply = <&reg_3p3v>;
status = "disabled";
-};
\ No newline at end of file
+};
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6.dts b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
index 2432f34..cd5c011 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
@@ -33,6 +33,7 @@
};
&usdhc3 {
+ wp-gpios = <&gpio7 0 0>;
status = "okay";
};
--
1.7.9.5

View File

@ -1,47 +0,0 @@
From 706e2109599bd2ac09114b5064bc75140e928f2c Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Wed, 18 Mar 2015 14:30:49 +0200
Subject: [PATCH 45/59] ARM: i.MX6: cm-fx6: fix up incorrect compatibilities
Fix up incorrect compatibilities.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dtsi | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
index 704ef4b..8175cee 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
@@ -163,8 +163,7 @@
};
sound {
- compatible = "fsl,imx6q-cm-fx6-wm8731",
- "fsl,imx-audio-wm8731";
+ compatible = "fsl,imx-audio-wm8731";
model = "wm8731-audio";
ssi-controller = <&ssi2>;
src-port = <2>;
@@ -174,15 +173,13 @@
};
sound-hdmi {
- compatible = "fsl,imx6q-audio-hdmi",
- "fsl,imx-audio-hdmi";
+ compatible = "fsl,imx-audio-hdmi";
model = "imx-audio-hdmi";
hdmi-controller = <&hdmi_audio>;
};
sound-spdif {
- compatible = "fsl,imx-audio-spdif",
- "fsl,imx-sabreauto-spdif";
+ compatible = "fsl,imx-audio-spdif";
model = "imx-spdif";
spdif-controller = <&spdif>;
spdif-out;
--
1.7.9.5

View File

@ -1,129 +0,0 @@
From 1ba89a208ecf8096a1b9a0fd1867d4227e04a1e8 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Sun, 22 Mar 2015 11:15:08 +0200
Subject: [PATCH 46/59] ARM: i.MX6: dts: fix include file order
Fix include file order.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-cm-fx6.dts | 3 ++-
arch/arm/boot/dts/imx6q-cm-fx6.dtsi | 2 --
arch/arm/boot/dts/imx6q-sb-fx6.dtsi | 2 --
arch/arm/boot/dts/imx6q-sb-fx6m.dtsi | 4 +---
arch/arm/boot/dts/imx6q-sb-fx6x.dtsi | 2 --
arch/arm/boot/dts/imx6q-sbc-fx6.dts | 4 +++-
arch/arm/boot/dts/imx6q-sbc-fx6m.dts | 4 +++-
7 files changed, 9 insertions(+), 12 deletions(-)
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts
index a0e423b..14c2d6a 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
@@ -12,9 +12,10 @@
*/
/dts-v1/;
+#include "imx6q.dtsi"
#include "imx6q-cm-fx6.dtsi"
/ {
model = "CompuLab CM-FX6";
compatible = "compulab,cm-fx6", "fsl,imx6q";
-};
\ No newline at end of file
+};
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
index 8175cee..f53d94e 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dtsi
@@ -11,8 +11,6 @@
* http://www.gnu.org/copyleft/gpl.html
*/
-#include "imx6q.dtsi"
-
/ {
memory {
reg = <0x10000000 0x80000000>;
diff --git a/arch/arm/boot/dts/imx6q-sb-fx6.dtsi b/arch/arm/boot/dts/imx6q-sb-fx6.dtsi
index fc4f347a..4d030f9 100644
--- a/arch/arm/boot/dts/imx6q-sb-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6q-sb-fx6.dtsi
@@ -11,8 +11,6 @@
* http://www.gnu.org/copyleft/gpl.html
*/
-#include "imx6q-sb-fx6x.dtsi"
-
/ {
i2cmux {
compatible = "i2c-mux-gpio";
diff --git a/arch/arm/boot/dts/imx6q-sb-fx6m.dtsi b/arch/arm/boot/dts/imx6q-sb-fx6m.dtsi
index a6cc8dd..5e6c859 100644
--- a/arch/arm/boot/dts/imx6q-sb-fx6m.dtsi
+++ b/arch/arm/boot/dts/imx6q-sb-fx6m.dtsi
@@ -11,8 +11,6 @@
* http://www.gnu.org/copyleft/gpl.html
*/
-#include "imx6q-sb-fx6x.dtsi"
-
/ {
eth@pcie {
compatible = "intel,i211";
@@ -65,4 +63,4 @@
};
};
};
-};
\ No newline at end of file
+};
diff --git a/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi b/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi
index 372a3c1..01f73ae 100644
--- a/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi
+++ b/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi
@@ -11,8 +11,6 @@
* http://www.gnu.org/copyleft/gpl.html
*/
-#include "imx6q.dtsi"
-
/ {
regulators {
compatible = "simple-bus";
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6.dts b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
index cd5c011..84a6d23 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
@@ -12,8 +12,10 @@
*/
/dts-v1/;
-#include "imx6q-sb-fx6.dtsi"
+#include "imx6q.dtsi"
#include "imx6q-cm-fx6.dtsi"
+#include "imx6q-sb-fx6x.dtsi"
+#include "imx6q-sb-fx6.dtsi"
/ {
model = "CompuLab CM-FX6 on SBC-FX6";
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6m.dts b/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
index 0005eca..817da28 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
@@ -12,8 +12,10 @@
*/
/dts-v1/;
-#include "imx6q-sb-fx6m.dtsi"
+#include "imx6q.dtsi"
#include "imx6q-cm-fx6.dtsi"
+#include "imx6q-sb-fx6x.dtsi"
+#include "imx6q-sb-fx6m.dtsi"
/ {
model = "CompuLab CM-FX6 on SBC-FX6m";
--
1.7.9.5

View File

@ -1,570 +0,0 @@
From feeb12eb1567043d60246cceb805a28d82d2c78e Mon Sep 17 00:00:00 2001
From: Igor Grinberg <grinberg@compulab.co.il>
Date: Mon, 23 Mar 2015 09:50:04 +0200
Subject: [PATCH 47/59] ARM: i.MX6: dts: rename the sb-fx6 board files
In preparation for DL/S support addition, we rename the files to better
describe the content and reuse the same DT code.
Rename the sb-fx6 board files' names
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
[grinberg@compulab.co.il: added a bit more descriptive commit message]
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
arch/arm/boot/dts/imx6q-sb-fx6.dtsi | 60 -----------------
arch/arm/boot/dts/imx6q-sb-fx6m.dtsi | 66 -------------------
arch/arm/boot/dts/imx6q-sb-fx6x.dtsi | 110 --------------------------------
arch/arm/boot/dts/imx6q-sbc-fx6.dts | 4 +-
arch/arm/boot/dts/imx6q-sbc-fx6m.dts | 4 +-
arch/arm/boot/dts/imx6qdl-sb-fx6.dtsi | 60 +++++++++++++++++
arch/arm/boot/dts/imx6qdl-sb-fx6m.dtsi | 66 +++++++++++++++++++
arch/arm/boot/dts/imx6qdl-sb-fx6x.dtsi | 110 ++++++++++++++++++++++++++++++++
8 files changed, 240 insertions(+), 240 deletions(-)
delete mode 100644 arch/arm/boot/dts/imx6q-sb-fx6.dtsi
delete mode 100644 arch/arm/boot/dts/imx6q-sb-fx6m.dtsi
delete mode 100644 arch/arm/boot/dts/imx6q-sb-fx6x.dtsi
create mode 100644 arch/arm/boot/dts/imx6qdl-sb-fx6.dtsi
create mode 100644 arch/arm/boot/dts/imx6qdl-sb-fx6m.dtsi
create mode 100644 arch/arm/boot/dts/imx6qdl-sb-fx6x.dtsi
diff --git a/arch/arm/boot/dts/imx6q-sb-fx6.dtsi b/arch/arm/boot/dts/imx6q-sb-fx6.dtsi
deleted file mode 100644
index 4d030f9..0000000
--- a/arch/arm/boot/dts/imx6q-sb-fx6.dtsi
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright 2014 CompuLab Ltd.
- *
- * Author: Valentin Raevsky <valentin@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:
- *
- * http://www.opensource.org/licenses/gpl-license.html
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/ {
- i2cmux {
- compatible = "i2c-mux-gpio";
- #address-cells = <1>;
- #size-cells = <0>;
- mux-gpios = <&gpio1 2 0>;
- i2c-parent = <&i2c1>;
-
- i2c@0 {
- reg = <0>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- pca9555@26 {
- compatible = "nxp,pca9555";
- gpio-controller;
- #gpio-cells = <2>;
- reg = <0x26>;
- };
-
- hx8526@4a {
- compatible = "himax,himax_ts";
- reg = <0x4a>;
- gpio_intr = <&gpio1 4 0>;
- };
-
- eeprom@50 {
- compatible = "at24,24c02";
- reg = <0x50>;
- pagesize = <16>;
- };
-
- };
-
- i2c@1 {
- reg = <1>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- dvi: edid@50 {
- compatible = "fsl,imx6-hdmi-i2c";
- reg = <0x50>;
- };
- };
-
- };
-};
diff --git a/arch/arm/boot/dts/imx6q-sb-fx6m.dtsi b/arch/arm/boot/dts/imx6q-sb-fx6m.dtsi
deleted file mode 100644
index 5e6c859..0000000
--- a/arch/arm/boot/dts/imx6q-sb-fx6m.dtsi
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2014 CompuLab Ltd.
- *
- * Author: Valentin Raevsky <valentin@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:
- *
- * http://www.opensource.org/licenses/gpl-license.html
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/ {
- eth@pcie {
- compatible = "intel,i211";
- local-mac-address = [FF FF FF FF FF FF];
- status = "okay";
- };
-
- gpio-keys {
- compatible = "gpio-keys";
- power {
- label = "Power Button";
- gpios = <&gpio1 29 1>;
- linux,code = <116>; /* KEY_POWER */
- gpio-key,wakeup;
- };
- };
-
- i2cmux {
- compatible = "i2c-mux-gpio";
- #address-cells = <1>;
- #size-cells = <0>;
- mux-gpios = <&gpio1 2 0>;
- i2c-parent = <&i2c1>;
-
- i2c@0 {
- reg = <0>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- eeprom@50 {
- compatible = "at24,24c02";
- reg = <0x50>;
- pagesize = <16>;
- };
-
- rtc@56 {
- compatible = "emmicro,em3027";
- reg = <0x56>;
- };
- };
-
- i2c@1 {
- reg = <1>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- dvi: edid@50 {
- compatible = "fsl,imx6-hdmi-i2c";
- reg = <0x50>;
- };
- };
- };
-};
diff --git a/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi b/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi
deleted file mode 100644
index 01f73ae..0000000
--- a/arch/arm/boot/dts/imx6q-sb-fx6x.dtsi
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright 2014 CompuLab Ltd.
- *
- * Author: Valentin Raevsky <valentin@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:
- *
- * http://www.opensource.org/licenses/gpl-license.html
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-/ {
- regulators {
- compatible = "simple-bus";
- #address-cells = <1>;
- #size-cells = <0>;
-
- /* regulator for mmc */
- reg_3p3v: 3p3v {
- compatible = "regulator-fixed";
- regulator-name = "3P3V";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- regulator-always-on;
- };
- };
-
-};
-
-&iomuxc {
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_hog>, <&pinctrl_dvi0>;
-
- imx6q-sb-fx6x {
- /* pins for i2c1 */
- pinctrl_i2c1: i2c1grp {
- fsl,pins = <
- MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
- MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
- >;
- };
-
- /* pins for mmc */
- pinctrl_usdhc3: usdhc3grp {
- fsl,pins = <
- MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
- MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
- MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
- MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
- MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
- MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
- MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x80000000
- MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x80000000
- >;
- };
-
- pinctrl_usdhc3_100mhz: usdhc3grp-100mhz { /* 100Mhz */
- fsl,pins = <
- MX6QDL_PAD_SD3_CMD__SD3_CMD 0x170B9
- MX6QDL_PAD_SD3_CLK__SD3_CLK 0x100B9
- MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x170B9
- MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x170B9
- MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x170B9
- MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x170B9
- >;
- };
-
- pinctrl_usdhc3_200mhz: usdhc3grp-200mhz { /* 200Mhz */
- fsl,pins = <
- MX6QDL_PAD_SD3_CMD__SD3_CMD 0x170F9
- MX6QDL_PAD_SD3_CLK__SD3_CLK 0x100F9
- MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x170F9
- MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x170F9
- MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x170F9
- MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x170F9
- >;
- };
-
- /* pins for dvi/ts */
- pinctrl_dvi0: dvi0grp {
- fsl,pins = <
- /* DVI_DDC_SEL */
- MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000
- /* SB-FX6 Himax TS PENDOWN or SB-FX6m DVI HPD */
- MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x80000000
- >;
- };
- };
-};
-
-/* i2c1 */
-&i2c1 {
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_i2c1>;
- status = "disabled";
-};
-
-/* mmc */
-&usdhc3 {
- pinctrl-names = "default", "state_100mhz", "state_200mhz";
- pinctrl-0 = <&pinctrl_usdhc3>;
- pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
- pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
- cd-gpios = <&gpio7 1 0>;
- no-1-8-v;
- vmmc-supply = <&reg_3p3v>;
- status = "disabled";
-};
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6.dts b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
index 84a6d23..9d31d15 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
@@ -14,8 +14,8 @@
/dts-v1/;
#include "imx6q.dtsi"
#include "imx6q-cm-fx6.dtsi"
-#include "imx6q-sb-fx6x.dtsi"
-#include "imx6q-sb-fx6.dtsi"
+#include "imx6qdl-sb-fx6x.dtsi"
+#include "imx6qdl-sb-fx6.dtsi"
/ {
model = "CompuLab CM-FX6 on SBC-FX6";
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6m.dts b/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
index 817da28..a98f1a2 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
@@ -14,8 +14,8 @@
/dts-v1/;
#include "imx6q.dtsi"
#include "imx6q-cm-fx6.dtsi"
-#include "imx6q-sb-fx6x.dtsi"
-#include "imx6q-sb-fx6m.dtsi"
+#include "imx6qdl-sb-fx6x.dtsi"
+#include "imx6qdl-sb-fx6m.dtsi"
/ {
model = "CompuLab CM-FX6 on SBC-FX6m";
diff --git a/arch/arm/boot/dts/imx6qdl-sb-fx6.dtsi b/arch/arm/boot/dts/imx6qdl-sb-fx6.dtsi
new file mode 100644
index 0000000..4d030f9
--- /dev/null
+++ b/arch/arm/boot/dts/imx6qdl-sb-fx6.dtsi
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2014 CompuLab Ltd.
+ *
+ * Author: Valentin Raevsky <valentin@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:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/ {
+ i2cmux {
+ compatible = "i2c-mux-gpio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ mux-gpios = <&gpio1 2 0>;
+ i2c-parent = <&i2c1>;
+
+ i2c@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pca9555@26 {
+ compatible = "nxp,pca9555";
+ gpio-controller;
+ #gpio-cells = <2>;
+ reg = <0x26>;
+ };
+
+ hx8526@4a {
+ compatible = "himax,himax_ts";
+ reg = <0x4a>;
+ gpio_intr = <&gpio1 4 0>;
+ };
+
+ eeprom@50 {
+ compatible = "at24,24c02";
+ reg = <0x50>;
+ pagesize = <16>;
+ };
+
+ };
+
+ i2c@1 {
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dvi: edid@50 {
+ compatible = "fsl,imx6-hdmi-i2c";
+ reg = <0x50>;
+ };
+ };
+
+ };
+};
diff --git a/arch/arm/boot/dts/imx6qdl-sb-fx6m.dtsi b/arch/arm/boot/dts/imx6qdl-sb-fx6m.dtsi
new file mode 100644
index 0000000..5e6c859
--- /dev/null
+++ b/arch/arm/boot/dts/imx6qdl-sb-fx6m.dtsi
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2014 CompuLab Ltd.
+ *
+ * Author: Valentin Raevsky <valentin@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:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/ {
+ eth@pcie {
+ compatible = "intel,i211";
+ local-mac-address = [FF FF FF FF FF FF];
+ status = "okay";
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+ power {
+ label = "Power Button";
+ gpios = <&gpio1 29 1>;
+ linux,code = <116>; /* KEY_POWER */
+ gpio-key,wakeup;
+ };
+ };
+
+ i2cmux {
+ compatible = "i2c-mux-gpio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ mux-gpios = <&gpio1 2 0>;
+ i2c-parent = <&i2c1>;
+
+ i2c@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ eeprom@50 {
+ compatible = "at24,24c02";
+ reg = <0x50>;
+ pagesize = <16>;
+ };
+
+ rtc@56 {
+ compatible = "emmicro,em3027";
+ reg = <0x56>;
+ };
+ };
+
+ i2c@1 {
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dvi: edid@50 {
+ compatible = "fsl,imx6-hdmi-i2c";
+ reg = <0x50>;
+ };
+ };
+ };
+};
diff --git a/arch/arm/boot/dts/imx6qdl-sb-fx6x.dtsi b/arch/arm/boot/dts/imx6qdl-sb-fx6x.dtsi
new file mode 100644
index 0000000..01f73ae
--- /dev/null
+++ b/arch/arm/boot/dts/imx6qdl-sb-fx6x.dtsi
@@ -0,0 +1,110 @@
+/*
+ * Copyright 2014 CompuLab Ltd.
+ *
+ * Author: Valentin Raevsky <valentin@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:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/ {
+ regulators {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* regulator for mmc */
+ reg_3p3v: 3p3v {
+ compatible = "regulator-fixed";
+ regulator-name = "3P3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+ };
+
+};
+
+&iomuxc {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hog>, <&pinctrl_dvi0>;
+
+ imx6q-sb-fx6x {
+ /* pins for i2c1 */
+ pinctrl_i2c1: i2c1grp {
+ fsl,pins = <
+ MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
+ MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
+ >;
+ };
+
+ /* pins for mmc */
+ pinctrl_usdhc3: usdhc3grp {
+ fsl,pins = <
+ MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
+ MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
+ MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
+ MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
+ MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
+ MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
+ MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x80000000
+ MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x80000000
+ >;
+ };
+
+ pinctrl_usdhc3_100mhz: usdhc3grp-100mhz { /* 100Mhz */
+ fsl,pins = <
+ MX6QDL_PAD_SD3_CMD__SD3_CMD 0x170B9
+ MX6QDL_PAD_SD3_CLK__SD3_CLK 0x100B9
+ MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x170B9
+ MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x170B9
+ MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x170B9
+ MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x170B9
+ >;
+ };
+
+ pinctrl_usdhc3_200mhz: usdhc3grp-200mhz { /* 200Mhz */
+ fsl,pins = <
+ MX6QDL_PAD_SD3_CMD__SD3_CMD 0x170F9
+ MX6QDL_PAD_SD3_CLK__SD3_CLK 0x100F9
+ MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x170F9
+ MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x170F9
+ MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x170F9
+ MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x170F9
+ >;
+ };
+
+ /* pins for dvi/ts */
+ pinctrl_dvi0: dvi0grp {
+ fsl,pins = <
+ /* DVI_DDC_SEL */
+ MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000
+ /* SB-FX6 Himax TS PENDOWN or SB-FX6m DVI HPD */
+ MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x80000000
+ >;
+ };
+ };
+};
+
+/* i2c1 */
+&i2c1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c1>;
+ status = "disabled";
+};
+
+/* mmc */
+&usdhc3 {
+ pinctrl-names = "default", "state_100mhz", "state_200mhz";
+ pinctrl-0 = <&pinctrl_usdhc3>;
+ pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
+ pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
+ cd-gpios = <&gpio7 1 0>;
+ no-1-8-v;
+ vmmc-supply = <&reg_3p3v>;
+ status = "disabled";
+};
--
1.7.9.5

View File

@ -1,243 +0,0 @@
From a19b8fff6f84ecf1199be3b0a97325a0cab437c5 Mon Sep 17 00:00:00 2001
From: Igor Grinberg <grinberg@compulab.co.il>
Date: Mon, 23 Mar 2015 09:59:54 +0200
Subject: [PATCH 48/59] ARM: i.MX6: dts: refactor the sbc-fx6 target files
In preparation for DL/S support addition, we move the common code
to dtsi files for better reuse of the same DT code.
Refactor the sbc-fx6 target files.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
[grinberg@compulab.co.il: added a bit more descriptive commit message]
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
arch/arm/boot/dts/imx6q-sbc-fx6.dts | 42 ++--------------------------
arch/arm/boot/dts/imx6q-sbc-fx6m.dts | 47 --------------------------------
arch/arm/boot/dts/imx6qdl-sb-fx6.dtsi | 37 +++++++++++++++++++++++++
arch/arm/boot/dts/imx6qdl-sb-fx6m.dtsi | 47 ++++++++++++++++++++++++++++++++
4 files changed, 86 insertions(+), 87 deletions(-)
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6.dts b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
index 9d31d15..1234fb3 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6.dts
@@ -18,44 +18,6 @@
#include "imx6qdl-sb-fx6.dtsi"
/ {
- model = "CompuLab CM-FX6 on SBC-FX6";
- compatible = "compulab,cm-fx6", "compulab,sbc-fx6", "fsl,imx6q";
-
- backlight {
- compatible = "pwm-backlight";
- pwms = <&pwm3 0 5000000>;
- brightness-levels = <0 4 8 16 32 64 128 255>;
- default-brightness-level = <7>;
- };
-
-};
-
-&i2c1 {
- status = "okay";
-};
-
-&usdhc3 {
- wp-gpios = <&gpio7 0 0>;
- status = "okay";
-};
-
-&pwm3 {
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_pwm3_1>;
- status = "okay";
-};
-
-&mxcfb1 {
- status = "okay";
-};
-
-&mxcfb2 {
- mode_str ="KD050C-WVGA";
- status = "okay";
-};
-
-&flexcan1 {
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_flexcan1_1>;
- status = "okay";
+ model = "CompuLab CM-FX6 on SBC-FX6";
+ compatible = "compulab,cm-fx6", "compulab,sbc-fx6", "fsl,imx6q";
};
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6m.dts b/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
index a98f1a2..19bf948 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
@@ -20,51 +20,4 @@
/ {
model = "CompuLab CM-FX6 on SBC-FX6m";
compatible = "compulab,cm-fx6", "compulab,sbc-fx6m", "fsl,imx6q";
-
- iomux_uart2: pinmux@20E0924 {
- compatible = "pinctrl-single";
- reg = <0x20E0000 0x924>; /* Single register */
- #address-cells = <1>;
- #size-cells = <0>;
- pinctrl-single,register-width = <32>;
- pinctrl-single,function-mask = <0x4>;
- };
-};
-
-&iomuxc {
- imx6q-sbc-fx6m {
- /* pins for uart2 */
- pinctrl_uart2: uart2grp {
- fsl,pins = <
- MX6QDL_PAD_GPIO_7__UART2_TX_DATA 0x1b0b1
- MX6QDL_PAD_GPIO_8__UART2_RX_DATA 0x1b0b1
- MX6QDL_PAD_SD4_DAT5__UART2_RTS_B 0x1b0b1
- MX6QDL_PAD_SD4_DAT6__UART2_CTS_B 0x1b0b1
- >;
- };
- };
-};
-
-&i2c1 {
- status = "okay";
-};
-
-&usdhc3 {
- status = "okay";
-};
-
-/* rear serial console */
-&uart2 {
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_uart2>;
- fsl,uart-has-rtscts;
- status = "okay";
-};
-
-&mxcfb1 {
- status = "okay";
-};
-
-&mxcfb2 {
- status = "okay";
};
diff --git a/arch/arm/boot/dts/imx6qdl-sb-fx6.dtsi b/arch/arm/boot/dts/imx6qdl-sb-fx6.dtsi
index 4d030f9..129e88e 100644
--- a/arch/arm/boot/dts/imx6qdl-sb-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sb-fx6.dtsi
@@ -12,6 +12,13 @@
*/
/ {
+ backlight {
+ compatible = "pwm-backlight";
+ pwms = <&pwm3 0 5000000>;
+ brightness-levels = <0 4 8 16 32 64 128 255>;
+ default-brightness-level = <7>;
+ };
+
i2cmux {
compatible = "i2c-mux-gpio";
#address-cells = <1>;
@@ -58,3 +65,33 @@
};
};
+
+&i2c1 {
+ status = "okay";
+};
+
+&usdhc3 {
+ wp-gpios = <&gpio7 0 0>;
+ status = "okay";
+};
+
+&pwm3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pwm3_1>;
+ status = "okay";
+};
+
+&mxcfb1 {
+ status = "okay";
+};
+
+&mxcfb2 {
+ mode_str ="KD050C-WVGA";
+ status = "okay";
+};
+
+&flexcan1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexcan1_1>;
+ status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6qdl-sb-fx6m.dtsi b/arch/arm/boot/dts/imx6qdl-sb-fx6m.dtsi
index 5e6c859..5394364 100644
--- a/arch/arm/boot/dts/imx6qdl-sb-fx6m.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sb-fx6m.dtsi
@@ -12,6 +12,15 @@
*/
/ {
+ iomux_uart2: pinmux@20E0924 {
+ compatible = "pinctrl-single";
+ reg = <0x20E0000 0x924>; /* Single register */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-single,register-width = <32>;
+ pinctrl-single,function-mask = <0x4>;
+ };
+
eth@pcie {
compatible = "intel,i211";
local-mac-address = [FF FF FF FF FF FF];
@@ -64,3 +73,41 @@
};
};
};
+
+&iomuxc {
+ imx6q-sbc-fx6m {
+ /* pins for uart2 */
+ pinctrl_uart2: uart2grp {
+ fsl,pins = <
+ MX6QDL_PAD_GPIO_7__UART2_TX_DATA 0x1b0b1
+ MX6QDL_PAD_GPIO_8__UART2_RX_DATA 0x1b0b1
+ MX6QDL_PAD_SD4_DAT5__UART2_RTS_B 0x1b0b1
+ MX6QDL_PAD_SD4_DAT6__UART2_CTS_B 0x1b0b1
+ >;
+ };
+ };
+};
+
+&i2c1 {
+ status = "okay";
+};
+
+&usdhc3 {
+ status = "okay";
+};
+
+/* rear serial console */
+&uart2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart2>;
+ fsl,uart-has-rtscts;
+ status = "okay";
+};
+
+&mxcfb1 {
+ status = "okay";
+};
+
+&mxcfb2 {
+ status = "okay";
+};
--
1.7.9.5

View File

@ -1,53 +0,0 @@
From 7f9cb189d94d973ce8f8211794fc3cb20171ed1a Mon Sep 17 00:00:00 2001
From: Igor Grinberg <grinberg@compulab.co.il>
Date: Mon, 23 Mar 2015 10:15:50 +0200
Subject: [PATCH 50/59] ARM: i.MX6: dts: add initial support for cm-fx6 DL/S
Add initial support for cm-fx6 DL/S modules.
This patch configures:
1) serial console
2) hearbeat led
3) FreeScale NIC
4) pcie
5) Intel I210 NIC
6) Analog audio wm8731-audio
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
[grinberg@compulab.co.il: fix dtsi file name as per previous patch]
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
arch/arm/boot/dts/imx6dl-cm-fx6.dts | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 arch/arm/boot/dts/imx6dl-cm-fx6.dts
diff --git a/arch/arm/boot/dts/imx6dl-cm-fx6.dts b/arch/arm/boot/dts/imx6dl-cm-fx6.dts
new file mode 100644
index 0000000..d33d14c
--- /dev/null
+++ b/arch/arm/boot/dts/imx6dl-cm-fx6.dts
@@ -0,0 +1,21 @@
+/*
+ * Copyright 2015 CompuLab Ltd.
+ *
+ * Author: Valentin Raevsky <valentin@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:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx6dl.dtsi"
+#include "imx6qdl-cm-fx6.dtsi"
+
+/ {
+ model = "CompuLab CM-FX6";
+ compatible = "compulab,cm-fx6", "fsl,imx6dl";
+};
--
1.7.9.5

View File

@ -1,78 +0,0 @@
From d979cd240d5aae4344c705524d05dbe5792695b4 Mon Sep 17 00:00:00 2001
From: Igor Grinberg <grinberg@compulab.co.il>
Date: Mon, 23 Mar 2015 10:21:26 +0200
Subject: [PATCH 51/59] ARM: i.MX6: dts: add board files for sbc-fx6 DL/S
Add board files for sbc-fx6 DL/S modules and Utilite Value.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
[grinberg@compulab.co.il: fix dtsi files names as per previous patches]
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
---
arch/arm/boot/dts/imx6dl-sbc-fx6.dts | 23 +++++++++++++++++++++++
arch/arm/boot/dts/imx6dl-sbc-fx6m.dts | 23 +++++++++++++++++++++++
2 files changed, 46 insertions(+)
create mode 100644 arch/arm/boot/dts/imx6dl-sbc-fx6.dts
create mode 100644 arch/arm/boot/dts/imx6dl-sbc-fx6m.dts
diff --git a/arch/arm/boot/dts/imx6dl-sbc-fx6.dts b/arch/arm/boot/dts/imx6dl-sbc-fx6.dts
new file mode 100644
index 0000000..723b654
--- /dev/null
+++ b/arch/arm/boot/dts/imx6dl-sbc-fx6.dts
@@ -0,0 +1,23 @@
+/*
+* Copyright 2015 CompuLab Ltd.
+*
+* Author: Valentin Raevsky <valentin@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:
+*
+* http://www.opensource.org/licenses/gpl-license.html
+* http://www.gnu.org/copyleft/gpl.html
+*/
+
+/dts-v1/;
+#include "imx6dl.dtsi"
+#include "imx6qdl-cm-fx6.dtsi"
+#include "imx6qdl-sb-fx6x.dtsi"
+#include "imx6qdl-sb-fx6.dtsi"
+
+/ {
+ model = "CompuLab CM-FX6 on SBC-FX6";
+ compatible = "compulab,cm-fx6", "compulab,sbc-fx6", "fsl,imx6dl";
+};
diff --git a/arch/arm/boot/dts/imx6dl-sbc-fx6m.dts b/arch/arm/boot/dts/imx6dl-sbc-fx6m.dts
new file mode 100644
index 0000000..f66b177
--- /dev/null
+++ b/arch/arm/boot/dts/imx6dl-sbc-fx6m.dts
@@ -0,0 +1,23 @@
+/*
+* Copyright 2015 CompuLab Ltd.
+*
+* Author: Valentin Raevsky <valentin@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:
+*
+* http://www.opensource.org/licenses/gpl-license.html
+* http://www.gnu.org/copyleft/gpl.html
+*/
+
+/dts-v1/;
+#include "imx6dl.dtsi"
+#include "imx6qdl-cm-fx6.dtsi"
+#include "imx6qdl-sb-fx6x.dtsi"
+#include "imx6qdl-sb-fx6m.dtsi"
+
+/ {
+ model = "CompuLab CM-FX6 on SBC-FX6m";
+ compatible = "compulab,cm-fx6", "compulab,sbc-fx6m", "fsl,imx6dl";
+};
--
1.7.9.5

View File

@ -1,55 +0,0 @@
From 82c104998b3e0c8c55c3ddab4d41d8a012e40307 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Mon, 23 Mar 2015 11:47:54 +0200
Subject: [PATCH 52/59] ARM: dts: cm-fx6: add build targets for cm-fx6 flavour
boards.
Add build targets for cm-fx6 flavour boards.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
Conflicts:
arch/arm/boot/dts/Makefile
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/Makefile | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 699bf8f..0d6813e 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -153,6 +153,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
imx53-mba53.dtb \
imx53-qsb.dtb \
imx53-smd.dtb \
+ imx6dl-cm-fx6.dtb \
imx6dl-cubox-i.dtb \
imx6dl-hummingboard.dtb \
imx6dl-sabreauto.dtb \
@@ -164,8 +165,11 @@ dtb-$(CONFIG_ARCH_MXC) += \
imx6dl-sabresd-ldo.dtb \
imx6dl-sabresd-pf200.dtb \
imx6dl-sabresd-hdcp.dtb \
+ imx6dl-sbc-fx6.dtb \
+ imx6dl-sbc-fx6m.dtb \
imx6dl-wandboard.dtb \
imx6q-arm2.dtb \
+ imx6q-cm-fx6.dtb \
imx6q-cubox-i.dtb \
imx6q-phytec-pbab01.dtb \
imx6q-sabreauto.dtb \
@@ -179,6 +183,8 @@ dtb-$(CONFIG_ARCH_MXC) += \
imx6q-sabresd-uart.dtb \
imx6q-sabresd-hdcp.dtb \
imx6q-sabresd-ldo.dtb \
+ imx6q-sbc-fx6.dtb \
+ imx6q-sbc-fx6m.dtb \
imx6q-sbc6x.dtb \
imx6q-udoo.dtb \
imx6q-wandboard.dtb \
--
1.7.9.5

View File

@ -1,47 +0,0 @@
From b59a9dad52a2c53b9921d2e8ecb98dd92ee0bd6b Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Wed, 25 Mar 2015 17:39:07 +0200
Subject: [PATCH 53/59] ARM: dts: cm-fx6: change the hdmi_core ipu connection
Change the hdmi_core ipu connection in order to
allow using the second IPU on quad SBC-FX6 boards with ldb devices.
SBC-FX6m boards still use an IPU per port.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6q-sbc-fx6m.dts | 6 ++++++
arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi | 4 ++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/imx6q-sbc-fx6m.dts b/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
index 19bf948..dd8c1c0 100644
--- a/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
+++ b/arch/arm/boot/dts/imx6q-sbc-fx6m.dts
@@ -21,3 +21,9 @@
model = "CompuLab CM-FX6 on SBC-FX6m";
compatible = "compulab,cm-fx6", "compulab,sbc-fx6m", "fsl,imx6q";
};
+
+&hdmi_core {
+ ipu_id = <1>;
+ disp_id = <0>;
+ status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi b/arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi
index 31086b7..4f02e30 100644
--- a/arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi
@@ -544,8 +544,8 @@
};
&hdmi_core {
- ipu_id = <1>;
- disp_id = <0>;
+ ipu_id = <0>;
+ disp_id = <1>;
status = "okay";
};
--
1.7.9.5

View File

@ -1,90 +0,0 @@
From e8ab6bcb80954c1b7874c288375defe73242458d Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Wed, 25 Mar 2015 17:55:09 +0200
Subject: [PATCH 54/59] ARM: i.MX6: dts: add ldb support for SBC-FX6 boards
Add ldb support for SBC-FX6 boards.
LVDS1/0 ports of the SBC-FX6 are configured.
LVDS0 - IPU1:DISP0 - fb3
LVDS1 - IPU1:DISP1 - fb5
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi | 24 ++++++++++++++++++++++++
arch/arm/boot/dts/imx6qdl-sb-fx6.dtsi | 18 ++++++++++++++++++
2 files changed, 42 insertions(+)
diff --git a/arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi b/arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi
index 4f02e30..d17a4d1 100644
--- a/arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi
@@ -92,6 +92,8 @@
aliases {
mxcfb0 = &mxcfb1;
mxcfb1 = &mxcfb2;
+ mxcfb2 = &mxcfb3;
+ mxcfb3 = &mxcfb4;
};
sound {
@@ -140,6 +142,28 @@
status = "disabled";
};
+ mxcfb3: fb@2 {
+ compatible = "fsl,mxc_sdc_fb";
+ disp_dev = "ldb";
+ interface_pix_fmt = "RGB666";
+ mode_str ="1366x768M-18@60";
+ default_bpp = <16>;
+ int_clk = <0>;
+ late_init = <0>;
+ status = "disabled";
+ };
+
+ mxcfb4: fb@3 {
+ compatible = "fsl,mxc_sdc_fb";
+ disp_dev = "ldb";
+ interface_pix_fmt = "RGB666";
+ mode_str ="1280x800M-18@60";
+ default_bpp = <16>;
+ int_clk = <0>;
+ late_init = <0>;
+ status = "disabled";
+ };
+
lcd@0 {
compatible = "fsl,lcd";
ipu_id = <0>;
diff --git a/arch/arm/boot/dts/imx6qdl-sb-fx6.dtsi b/arch/arm/boot/dts/imx6qdl-sb-fx6.dtsi
index 129e88e..85836d7 100644
--- a/arch/arm/boot/dts/imx6qdl-sb-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sb-fx6.dtsi
@@ -90,6 +90,24 @@
status = "okay";
};
+&mxcfb3 {
+ status = "okay";
+};
+
+&mxcfb4 {
+ status = "okay";
+};
+
+&ldb {
+ ipu_id = <1>;
+ disp_id = <0>;
+ ext_ref = <1>;
+ mode = "sep0";
+ sec_ipu_id = <1>;
+ sec_disp_id = <1>;
+ status = "okay";
+};
+
&flexcan1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flexcan1_1>;
--
1.7.9.5

View File

@ -1,47 +0,0 @@
From 8aa5e04aeeb40323b6f7615b500058c02115d17f Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Mon, 30 Mar 2015 11:29:07 +0300
Subject: [PATCH 55/59] ARM: dts: cm-fx6: IOMUXC_GPR1/6/7 to set correct
values
Add IOMUXC_GPR1/6/7 registers to the iomux default pinctrl group.
The IOMUXC_GPR1 register must have default value in order to let the SoC boot up after a warm reboot.
IOMUXC_GPR6/7 registers must have a correct value for the ipu QoS priority.
Otherwise the SoC reports on:
1) the interrupt that is a result of a time out error during a read access via DIx.
2) a new frame starts before the previous end-of-frame event.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi b/arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi
index d17a4d1..cff8d4e 100644
--- a/arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi
@@ -11,6 +11,10 @@
* http://www.gnu.org/copyleft/gpl.html
*/
+#define MX6QDL_GPR1 0x04 0x04 0x000 0x0 0x0
+#define MX6QDL_GPR6 0x18 0x18 0x000 0x0 0x0
+#define MX6QDL_GPR7 0x1c 0x1c 0x000 0x0 0x0
+
/ {
memory {
reg = <0x10000000 0x20000000>;
@@ -187,6 +191,10 @@
hog {
pinctrl_hog: hoggrp {
fsl,pins = <
+ MX6QDL_GPR1 0x48400005
+ /* ipu3 QoS */
+ MX6QDL_GPR6 0x007f007f
+ MX6QDL_GPR7 0x007f007f
/* SATA PWR */
MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000
MX6QDL_PAD_EIM_A22__GPIO2_IO16 0x80000000
--
1.7.9.5

View File

@ -1,30 +0,0 @@
From cdf878ae149301273767ed4f5052def1529c6cfa Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Thu, 9 Apr 2015 13:27:01 +0300
Subject: [PATCH 56/59] i2c: fix i2c_of include
The OF helpers have been moved to the core.
As a result the i2c_of.h does not exist anymore.
Fix i2c_of include with respect to the latest core implementation.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
sound/soc/fsl/imx-wm8731.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/fsl/imx-wm8731.c b/sound/soc/fsl/imx-wm8731.c
index c0833cf..7248042 100644
--- a/sound/soc/fsl/imx-wm8731.c
+++ b/sound/soc/fsl/imx-wm8731.c
@@ -16,7 +16,7 @@
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_platform.h>
-#include <linux/of_i2c.h>
+#include <linux/i2c.h>
#include <linux/clk.h>
#include <sound/soc.h>
#include <sound/pcm_params.h>
--
1.7.9.5

View File

@ -1,66 +0,0 @@
From 9388d08644b2397682db8d5cfce894e42e128999 Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Thu, 9 Apr 2015 13:30:42 +0300
Subject: [PATCH 57/59] ARM: dts: cm-fx6: fix missing defines
Fix missing defines that have been changed since 3.10.17
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi b/arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi
index cff8d4e..e8f80bc 100644
--- a/arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-cm-fx6.dtsi
@@ -182,6 +182,10 @@
compatible = "fsl,mxc_v4l2_output";
status = "okay";
};
+
+ pu_dummy: pudummy_reg {
+ compatible = "fsl,imx6-dummy-pureg"; /* only used in ldo-bypass */
+ };
};
&iomuxc {
@@ -397,6 +401,26 @@
MX6QDL_PAD_GPIO_5__CCM_CLKO1 0x17059
>;
};
+
+ pinctrl_hdmi_hdcp: hdmihdcpgrp {
+ fsl,pins = <
+ MX6QDL_PAD_KEY_COL3__HDMI_TX_DDC_SCL 0x4001b8b1
+ MX6QDL_PAD_KEY_ROW3__HDMI_TX_DDC_SDA 0x4001b8b1
+ >;
+ };
+
+ pinctrl_pwm3_1: pwm3grp-1 {
+ fsl,pins = <
+ MX6QDL_PAD_SD4_DAT1__PWM3_OUT 0x1b0b1
+ >;
+ };
+
+ pinctrl_flexcan1_1: flexcan1grp-1 {
+ fsl,pins = <
+ MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x80000000
+ MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x80000000
+ >;
+ };
};
};
@@ -583,7 +607,7 @@
&hdmi_video {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_hdmi_hdcp_1>;
+ pinctrl-0 = <&pinctrl_hdmi_hdcp>;
fsl,hdcp;
status = "okay";
};
--
1.7.9.5

View File

@ -1,27 +0,0 @@
From 3cb466070695ae9586aa52d668976c590f66008c Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Thu, 9 Apr 2015 14:01:38 +0300
Subject: [PATCH 58/59] imx6: hdmi: add missing definition
IMX6Q_GPR3_HDMI_MUX_CTL_SHIFT
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
include/linux/mfd/syscon/imx6q-iomuxc-gpr.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/linux/mfd/syscon/imx6q-iomuxc-gpr.h b/include/linux/mfd/syscon/imx6q-iomuxc-gpr.h
index f6515b5..a5f996f 100644
--- a/include/linux/mfd/syscon/imx6q-iomuxc-gpr.h
+++ b/include/linux/mfd/syscon/imx6q-iomuxc-gpr.h
@@ -215,6 +215,7 @@
#define IMX6Q_GPR3_MIPI_MUX_CTL_IPU1_DI1 (0x1 << 4)
#define IMX6Q_GPR3_MIPI_MUX_CTL_IPU2_DI0 (0x2 << 4)
#define IMX6Q_GPR3_MIPI_MUX_CTL_IPU2_DI1 (0x3 << 4)
+#define IMX6Q_GPR3_HDMI_MUX_CTL_SHIFT 2
#define IMX6Q_GPR3_HDMI_MUX_CTL_MASK (0x3 << 2)
#define IMX6Q_GPR3_HDMI_MUX_CTL_IPU1_DI0 (0x0 << 2)
#define IMX6Q_GPR3_HDMI_MUX_CTL_IPU1_DI1 (0x1 << 2)
--
1.7.9.5

View File

@ -1,211 +0,0 @@
From 2a61f4133182c9c5b63ceb9f73cbc9bbc758c29a Mon Sep 17 00:00:00 2001
From: Valentin Raevsky <valentin@compulab.co.il>
Date: Thu, 16 Apr 2015 14:55:42 +0300
Subject: [PATCH 59/59] ARM: i.MX6: cm-fx6: update defconfig
Update the cm_fx6_defconfig with respect to
the kernel release after applying the 3.10.17 patches.
Signed-off-by: Valentin Raevsky <valentin@compulab.co.il>
---
arch/arm/configs/cm_fx6_defconfig | 55 ++++++++++++++++---------------------
1 file changed, 24 insertions(+), 31 deletions(-)
diff --git a/arch/arm/configs/cm_fx6_defconfig b/arch/arm/configs/cm_fx6_defconfig
index 7d753ae..a247438 100644
--- a/arch/arm/configs/cm_fx6_defconfig
+++ b/arch/arm/configs/cm_fx6_defconfig
@@ -1,3 +1,4 @@
+CONFIG_LOCALVERSION="-cm-fx6"
CONFIG_KERNEL_LZO=y
CONFIG_SYSVIPC=y
CONFIG_NO_HZ=y
@@ -25,8 +26,8 @@ CONFIG_MACH_EUKREA_CPUIMX51SD=y
CONFIG_SOC_IMX53=y
CONFIG_SOC_IMX6Q=y
CONFIG_SOC_IMX6SL=y
+CONFIG_SOC_IMX6SX=y
CONFIG_SOC_VF610=y
-CONFIG_MACH_CM_FX6=y
# CONFIG_SWP_EMULATE is not set
CONFIG_PCI=y
CONFIG_PCI_IMX6=y
@@ -34,16 +35,16 @@ CONFIG_SMP=y
CONFIG_VMSPLIT_2G=y
CONFIG_PREEMPT=y
CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
CONFIG_HIGHMEM=y
-CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
+CONFIG_CMA=y
+CONFIG_CMDLINE="console=ttymxc3,115200 root=/dev/mmcblk0p1 rootwait"
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_ARM_IMX6_CPUFREQ=y
+CONFIG_ARM_IMX6Q_CPUFREQ=y
CONFIG_CPU_IDLE=y
CONFIG_VFP=y
CONFIG_NEON=y
@@ -147,8 +148,6 @@ CONFIG_MAC80211=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_STANDALONE is not set
-CONFIG_CMA=y
-CONFIG_CMA_SIZE_MBYTES=320
CONFIG_IMX_WEIM=y
CONFIG_CONNECTOR=y
CONFIG_MTD=y
@@ -161,7 +160,6 @@ CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_STAA=y
CONFIG_MTD_PHYSMAP_OF=y
CONFIG_MTD_DATAFLASH=y
-CONFIG_MTD_M25P80=y
CONFIG_MTD_SST25L=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_GPMI_NAND=y
@@ -221,7 +219,6 @@ CONFIG_INPUT_MISC=y
CONFIG_INPUT_MMA8450=y
CONFIG_INPUT_ISL29023=y
CONFIG_SERIO_SERPORT=m
-CONFIG_VT_HW_CONSOLE_BINDING=y
# CONFIG_LEGACY_PTYS is not set
# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_IMX=y
@@ -229,10 +226,8 @@ CONFIG_SERIAL_IMX_CONSOLE=y
CONFIG_SERIAL_FSL_LPUART=y
CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
CONFIG_FSL_OTP=y
-CONFIG_MXS_VIIM=y
# CONFIG_I2C_COMPAT is not set
CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MUX=y
CONFIG_I2C_MUX_GPIO=y
CONFIG_I2C_MUX_PCA954x=y
# CONFIG_I2C_HELPER_AUTO is not set
@@ -259,24 +254,21 @@ CONFIG_MFD_MC13XXX_I2C=y
CONFIG_MFD_MAX17135=y
CONFIG_MFD_SI476X_CORE=y
CONFIG_REGULATOR=y
-CONFIG_REGULATOR_DUMMY=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_DA9052=y
CONFIG_REGULATOR_ANATOP=y
+CONFIG_REGULATOR_DA9052=y
+CONFIG_REGULATOR_MAX17135=y
CONFIG_REGULATOR_MC13783=y
CONFIG_REGULATOR_MC13892=y
-CONFIG_REGULATOR_MAX17135=y
CONFIG_REGULATOR_PFUZE100=y
CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
-CONFIG_VIDEO_V4L2_INT_DEVICE=y
CONFIG_MEDIA_USB_SUPPORT=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VIDEO_MXC_OUTPUT=y
CONFIG_VIDEO_MXC_CAPTURE=m
-CONFIG_VIDEO_MXC_CSI_CAMERA=m
CONFIG_MXC_CAMERA_OV5640=m
CONFIG_MXC_CAMERA_OV5642=m
CONFIG_MXC_CAMERA_OV5640_MIPI=m
@@ -284,13 +276,13 @@ CONFIG_MXC_TVIN_ADV7180=m
CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
CONFIG_VIDEO_MXC_IPU_OUTPUT=y
CONFIG_VIDEO_MXC_PXP_V4L2=y
+CONFIG_VIDEO_MXC_CSI_CAMERA=m
CONFIG_SOC_CAMERA=y
CONFIG_VIDEO_MX3=y
CONFIG_RADIO_SI476X=y
CONFIG_SOC_CAMERA_OV2640=y
CONFIG_DRM=y
CONFIG_DRM_VIVANTE=y
-CONFIG_FB=y
CONFIG_FB_MXS=y
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
@@ -307,25 +299,20 @@ CONFIG_FB_MXC_EINK_PANEL=y
CONFIG_FB_MXS_SII902X=y
CONFIG_HANNSTAR_CABC=y
CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
CONFIG_LOGO=y
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_USB_AUDIO=m
CONFIG_SND_SOC=y
+CONFIG_SND_SOC_FSL_ASRC=y
+CONFIG_SND_SOC_FSL_SAI=y
+CONFIG_SND_SOC_FSL_SSI=y
+CONFIG_SND_SOC_FSL_ESAI=y
+CONFIG_SND_SOC_IMX_AUDMUX=y
CONFIG_SND_IMX_SOC=y
-CONFIG_SND_SOC_EUKREA_TLV320=y
-CONFIG_SND_SOC_IMX_CS42888=y
-CONFIG_SND_SOC_IMX_WM8731=y
-CONFIG_SND_SOC_IMX_WM8962=y
-CONFIG_SND_SOC_IMX_SGTL5000=y
CONFIG_SND_SOC_IMX_SPDIF=y
-CONFIG_SND_SOC_IMX_MC13783=y
CONFIG_SND_SOC_IMX_HDMI=y
-CONFIG_SND_SOC_IMX_SI476X=y
+CONFIG_SND_SOC_CS42XX8_I2C=y
CONFIG_USB=y
CONFIG_USB_OTG=y
CONFIG_USB_EHCI_HCD=y
@@ -335,7 +322,6 @@ CONFIG_USB_STORAGE=y
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
-CONFIG_USB_PHY=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_USB_MXS_PHY=y
CONFIG_USB_GADGET=y
@@ -352,7 +338,6 @@ CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_ESDHC_IMX=y
CONFIG_MXC_IPU=y
CONFIG_MXC_GPU_VIV=y
-CONFIG_MXC_ASRC=y
CONFIG_MXC_MIPI_CSI2=y
CONFIG_MXC_MLB150=m
CONFIG_NEW_LEDS=y
@@ -371,7 +356,13 @@ CONFIG_MXC_PXP_V2=y
CONFIG_IMX_SDMA=y
CONFIG_MXS_DMA=y
CONFIG_STAGING=y
-CONFIG_COMMON_CLK_DEBUG=y
+CONFIG_DRM_IMX=y
+CONFIG_DRM_IMX_FB_HELPER=y
+CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
+CONFIG_DRM_IMX_LDB=y
+CONFIG_DRM_IMX_IPUV3_CORE=y
+CONFIG_DRM_IMX_IPUV3=y
+CONFIG_DRM_IMX_HDMI=y
# CONFIG_IOMMU_SUPPORT is not set
CONFIG_PWM=y
CONFIG_PWM_IMX=y
@@ -416,7 +407,6 @@ CONFIG_MAGIC_SYSRQ=y
CONFIG_SECURITYFS=y
CONFIG_CRYPTO_USER=y
CONFIG_CRYPTO_TEST=m
-CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTS=y
@@ -448,3 +438,6 @@ 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
--
1.7.9.5

View File

@ -1,443 +0,0 @@
CONFIG_LOCALVERSION="-cm-fx6"
CONFIG_KERNEL_LZO=y
CONFIG_SYSVIPC=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=18
CONFIG_CGROUPS=y
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_EXPERT=y
CONFIG_PERF_EVENTS=y
# 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_GPIO_PCA953X=y
CONFIG_ARCH_MXC=y
CONFIG_MXC_DEBUG_BOARD=y
CONFIG_MACH_IMX51_DT=y
CONFIG_MACH_EUKREA_CPUIMX51SD=y
CONFIG_SOC_IMX53=y
CONFIG_SOC_IMX6Q=y
CONFIG_SOC_IMX6SL=y
CONFIG_SOC_IMX6SX=y
CONFIG_SOC_VF610=y
# CONFIG_SWP_EMULATE is not set
CONFIG_PCI=y
CONFIG_PCI_IMX6=y
CONFIG_SMP=y
CONFIG_VMSPLIT_2G=y
CONFIG_PREEMPT=y
CONFIG_AEABI=y
CONFIG_HIGHMEM=y
CONFIG_CMA=y
CONFIG_CMDLINE="console=ttymxc3,115200 root=/dev/mmcblk0p1 rootwait"
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_ARM_IMX6Q_CPUFREQ=y
CONFIG_CPU_IDLE=y
CONFIG_VFP=y
CONFIG_NEON=y
CONFIG_BINFMT_MISC=m
CONFIG_PM_RUNTIME=y
CONFIG_PM_DEBUG=y
CONFIG_PM_TEST_SUSPEND=y
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_NETFILTER_DEBUG=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
CONFIG_NETFILTER_XT_TARGET_LED=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
CONFIG_NETFILTER_XT_TARGET_TEE=m
CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_CPU=m
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_NETFILTER_XT_MATCH_OWNER=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_RECENT=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_RPFILTER=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_NF_NAT_IPV4=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_CAN=y
CONFIG_CAN_FLEXCAN=y
CONFIG_BT=m
CONFIG_BT_MRVL=m
CONFIG_BT_MRVL_SDIO=m
CONFIG_CFG80211=y
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_STANDALONE is not set
CONFIG_IMX_WEIM=y
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_PHYSMAP_OF=y
CONFIG_MTD_DATAFLASH=y
CONFIG_MTD_SST25L=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_GPMI_NAND=y
CONFIG_MTD_NAND_MXC=y
CONFIG_MTD_UBI=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=65536
CONFIG_EEPROM_AT24=y
CONFIG_EEPROM_AT25=y
# CONFIG_SCSI_PROC_FS is not set
CONFIG_BLK_DEV_SD=y
CONFIG_SCSI_MULTI_LUN=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=y
CONFIG_SATA_AHCI_PLATFORM=y
CONFIG_AHCI_IMX=y
CONFIG_PATA_IMX=y
CONFIG_NETDEVICES=y
CONFIG_TUN=m
# CONFIG_NET_VENDOR_BROADCOM is not set
CONFIG_CS89x0=y
CONFIG_CS89x0_PLATFORM=y
# CONFIG_NET_VENDOR_FARADAY is not set
CONFIG_IGB=m
# 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_SMC91X=y
CONFIG_SMC911X=y
CONFIG_SMSC911X=y
# CONFIG_NET_VENDOR_STMICRO is not set
CONFIG_ATH_CARDS=y
CONFIG_ATH6KL=m
CONFIG_ATH6KL_SDIO=m
CONFIG_MWIFIEX=m
CONFIG_MWIFIEX_SDIO=m
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_EVBUG=m
CONFIG_KEYBOARD_GPIO=y
CONFIG_KEYBOARD_IMX=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_EGALAX=y
CONFIG_TOUCHSCREEN_ELAN=y
CONFIG_TOUCHSCREEN_MAX11801=y
CONFIG_TOUCHSCREEN_MC13783=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_MMA8450=y
CONFIG_INPUT_ISL29023=y
CONFIG_SERIO_SERPORT=m
# CONFIG_LEGACY_PTYS is not set
# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_IMX=y
CONFIG_SERIAL_IMX_CONSOLE=y
CONFIG_SERIAL_FSL_LPUART=y
CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
CONFIG_FSL_OTP=y
# CONFIG_I2C_COMPAT is not set
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX_GPIO=y
CONFIG_I2C_MUX_PCA954x=y
# CONFIG_I2C_HELPER_AUTO is not set
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m
CONFIG_I2C_IMX=y
CONFIG_SPI=y
CONFIG_SPI_IMX=y
CONFIG_GPIO_SYSFS=y
CONFIG_POWER_SUPPLY=y
CONFIG_SABRESD_MAX8903=y
CONFIG_IMX6_USB_CHARGER=y
CONFIG_SENSORS_MAX17135=y
CONFIG_SENSORS_MAG3110=y
CONFIG_THERMAL=y
CONFIG_CPU_THERMAL=y
CONFIG_IMX_THERMAL=y
CONFIG_DEVICE_THERMAL=y
CONFIG_WATCHDOG=y
CONFIG_IMX2_WDT=y
CONFIG_MFD_DA9052_I2C=y
CONFIG_MFD_MC13XXX_SPI=y
CONFIG_MFD_MC13XXX_I2C=y
CONFIG_MFD_MAX17135=y
CONFIG_MFD_SI476X_CORE=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_ANATOP=y
CONFIG_REGULATOR_DA9052=y
CONFIG_REGULATOR_MAX17135=y
CONFIG_REGULATOR_MC13783=y
CONFIG_REGULATOR_MC13892=y
CONFIG_REGULATOR_PFUZE100=y
CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_USB_SUPPORT=y
CONFIG_USB_VIDEO_CLASS=m
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VIDEO_MXC_OUTPUT=y
CONFIG_VIDEO_MXC_CAPTURE=m
CONFIG_MXC_CAMERA_OV5640=m
CONFIG_MXC_CAMERA_OV5642=m
CONFIG_MXC_CAMERA_OV5640_MIPI=m
CONFIG_MXC_TVIN_ADV7180=m
CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
CONFIG_VIDEO_MXC_IPU_OUTPUT=y
CONFIG_VIDEO_MXC_PXP_V4L2=y
CONFIG_VIDEO_MXC_CSI_CAMERA=m
CONFIG_SOC_CAMERA=y
CONFIG_VIDEO_MX3=y
CONFIG_RADIO_SI476X=y
CONFIG_SOC_CAMERA_OV2640=y
CONFIG_DRM=y
CONFIG_DRM_VIVANTE=y
CONFIG_FB_MXS=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_FB_MXC_SYNC_PANEL=y
CONFIG_FB_MXC_LDB=y
CONFIG_FB_MXC_MIPI_DSI=y
CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
CONFIG_FB_MXC_HDMI=y
CONFIG_FB_MXC_EINK_PANEL=y
CONFIG_FB_MXS_SII902X=y
CONFIG_HANNSTAR_CABC=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_LOGO=y
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_USB_AUDIO=m
CONFIG_SND_SOC=y
CONFIG_SND_SOC_FSL_ASRC=y
CONFIG_SND_SOC_FSL_SAI=y
CONFIG_SND_SOC_FSL_SSI=y
CONFIG_SND_SOC_FSL_ESAI=y
CONFIG_SND_SOC_IMX_AUDMUX=y
CONFIG_SND_IMX_SOC=y
CONFIG_SND_SOC_IMX_SPDIF=y
CONFIG_SND_SOC_IMX_HDMI=y
CONFIG_SND_SOC_CS42XX8_I2C=y
CONFIG_USB=y
CONFIG_USB_OTG=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_MXC=y
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_STORAGE=y
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_USB_MXS_PHY=y
CONFIG_USB_GADGET=y
CONFIG_USB_FSL_USB2=y
CONFIG_USB_ZERO=m
CONFIG_USB_AUDIO=m
CONFIG_USB_ETH=m
CONFIG_USB_MASS_STORAGE=m
CONFIG_USB_G_SERIAL=m
CONFIG_MMC=y
CONFIG_MMC_UNSAFE_RESUME=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_ESDHC_IMX=y
CONFIG_MXC_IPU=y
CONFIG_MXC_GPU_VIV=y
CONFIG_MXC_MIPI_CSI2=y
CONFIG_MXC_MLB150=m
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_GPIO=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_INTF_DEV_UIE_EMUL=y
CONFIG_RTC_DRV_EM3027=y
CONFIG_RTC_DRV_MC13XXX=y
CONFIG_RTC_DRV_MXC=y
CONFIG_RTC_DRV_SNVS=y
CONFIG_DMADEVICES=y
CONFIG_MXC_PXP_V2=y
CONFIG_IMX_SDMA=y
CONFIG_MXS_DMA=y
CONFIG_STAGING=y
CONFIG_DRM_IMX=y
CONFIG_DRM_IMX_FB_HELPER=y
CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
CONFIG_DRM_IMX_LDB=y
CONFIG_DRM_IMX_IPUV3_CORE=y
CONFIG_DRM_IMX_IPUV3=y
CONFIG_DRM_IMX_HDMI=y
# CONFIG_IOMMU_SUPPORT is not set
CONFIG_PWM=y
CONFIG_PWM_IMX=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_MAGIC_SYSRQ=y
# CONFIG_SCHED_DEBUG is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
# CONFIG_FTRACE is not set
CONFIG_SECURITYFS=y
CONFIG_CRYPTO_USER=y
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_XTS=y
CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_RMD128=y
CONFIG_CRYPTO_RMD160=y
CONFIG_CRYPTO_RMD256=y
CONFIG_CRYPTO_RMD320=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_TGR192=y
CONFIG_CRYPTO_WP512=y
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_CAMELLIA=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_TWOFISH=y
# CONFIG_CRYPTO_ANSI_CPRNG is not set
CONFIG_CRYPTO_DEV_FSL_CAAM=y
CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
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

View File

@ -1,74 +0,0 @@
require recipes-kernel/linux/linux-imx.inc
SUMMARY = "CompuLab 3.14.28 kernel"
DESCRIPTION = "Linux kernel for CompuLab cm-fx6 boards."
DEPENDS += "lzop-native bc-native"
SRCBRANCH = "imx_3.14.28_1.0.0_ga"
SRCREV = "91cf351a2afc17ac4a260e4d2ad1e32d00925a1b"
LOCALVERSION = "-cm-fx6"
SRC_URI += "file://defconfig \
file://0001-ARM-i.MX6-dts-Add-initial-support-for-cm-fx6.patch \
file://0002-ARM-i.MX6-cm-fx6-Add-defconfig.patch \
file://0003-igb-Enable-random-mac-address.patch \
file://0004-ARM-i.MX6-cm-fx6-update-defconfig.patch \
file://0005-ARM-i.MX6-dts-add-HDMI-and-DVI-support.patch \
file://0006-ARM-i.MX6-dts-add-HDMI-Audio-support.patch \
file://0007-ARM-i.MX6-dts-add-SPDIF-support.patch \
file://0008-ARM-i.MX6-dts-add-Power-Button.patch \
file://0009-ARM-i.MX6-dts-Enable-uart2-as-a-serial-console.patch \
file://0010-ARM-i.MX6-dts-add-pcie-power-reset-gpio-definition.patch \
file://0011-ARM-i.MX6-dts-add-onboard-SSD-pin-configuration.patch \
file://0012-ARM-i.MX6-dts-add-onboard-SSD-power-up-sequence.patch \
file://0013-ARM-i.MX6-dts-add-audio-mux-pinmux-configuration.patch \
file://0014-ARM-i.MX6-dts-add-analog-audio-support.patch \
file://0015-ARM-i.MX6-ASoC-add-imx-wm8731-machine-driver.patch \
file://0016-ARM-i.MX6-ASoC-add-imx-wm8731-master-mode-support.patch \
file://0017-ARM-i.MX6-dts-enable-v4l2-output.patch \
file://0018-ARM-i.MX6-dts-some-small-changes-in-the-dts-file.patch \
file://0019-igb-Define-the-device-mac-address-in-device-tree.patch \
file://0020-ARM-i.MX6-cm-fx6-update-defconfig.patch \
file://0021-ARM-i.MX6-dts-refactoring-the-cm-fx6-device-tree-fil.patch \
file://0022-ARM-i.MX6-dts-refactoring-of-the-cm-fx6-device-tree-.patch \
file://0023-ARM-i.MX6-dts-pcie-power-on-gpio-to-a-fixed-regulato.patch \
file://0024-ARM-i.MX6-dts-add-i2c1-status-okay.patch \
file://0025-ARM-i.MX6-dts-add-local-mac-address-field-for-fec.patch \
file://0026-ARM-mxs-change-usb-phy-test-clock-gating.patch \
file://0027-ARM-i.MX6-dts-fix-the-cm-fx6-operation-points.patch \
file://0028-ARM-i.MX6-ASoC-fix-build-warnings-and-update-include.patch \
file://0029-ARM-i.MX6-dts-change-issd-gpio-order.patch \
file://0030-ARM-i.MX6-dts-add-missing-WiFi-BT-pinmuxes.patch \
file://0031-ARM-i.MX6-cm-fx6-enable-i2cmux-in-defconfig.patch \
file://0032-ARM-i.MX6-sb-fx6m-Fix-uart1-rts-cts-flow-control.patch \
file://0033-ARM-i.MX6-dts-add-i2cmux-support-for-SBC-FX6-boards.patch \
file://0034-ARM-i.MX6-dts-add-dvi-edid-GPIOs.patch \
file://0035-video-mxc-IPUv3-fb-restore-sync-bits.patch \
file://0036-ARM-i.MX6-dts-add-backlight-support-for-SBC-FX6-boar.patch \
file://0037-ARM-i.MX6-dts-rearrangement-of-the-frame-buffers-def.patch \
file://0038-ARM-i.MX6-iomux-raise-DSE-for-display-signals.patch \
file://0039-ARM-i.MX6-cm-fx6-add-video-mode-for-KD050C-WVGA.patch \
file://0040-ARM-i.MX6-cm-fx6-refactor-the-cm-fx6-iomux.patch \
file://0041-ARM-i.MX6-dts-gpmi-separate-kernel-and-rootfs.patch \
file://0042-ARM-dts-cm-fx6-enable-can-bus.patch \
file://0043-ARM-dts-cm-fx6-add-tsc2046-touchscreen-support.patch \
file://0044-ARM-i.MX6-sb-fx6x-refactoring-of-the-usdhc3-definiti.patch \
file://0045-ARM-i.MX6-cm-fx6-fix-up-incorrect-compatibilities.patch \
file://0046-ARM-i.MX6-dts-fix-include-file-order.patch \
file://0047-ARM-i.MX6-dts-rename-the-sb-fx6-board-files.patch \
file://0048-ARM-i.MX6-dts-refactor-the-sbc-fx6-target-files.patch \
file://0049-ARM-i.MX6-cm-fx6-separate-DL-and-Quad-stuff.patch \
file://0050-ARM-i.MX6-dts-add-initial-support-for-cm-fx6-DL-S.patch \
file://0051-ARM-i.MX6-dts-add-board-files-for-sbc-fx6-DL-S.patch \
file://0052-ARM-dts-cm-fx6-add-build-targets-for-cm-fx6-flavour-.patch \
file://0053-ARM-dts-cm-fx6-change-the-hdmi_core-ipu-connection.patch \
file://0054-ARM-i.MX6-dts-add-ldb-support-for-SBC-FX6-boards.patch \
file://0055-ARM-dts-cm-fx6-IOMUXC_GPR1-6-7-to-set-correct-values.patch \
file://0056-i2c-fix-i2c_of-include.patch \
file://0057-ARM-dts-cm-fx6-fix-missing-defines.patch \
file://0058-imx6-hdmi-add-missing-definition.patch \
file://0059-ARM-i.MX6-cm-fx6-update-defconfig.patch \
"
COMPATIBLE_MACHINE = "(cm-fx6)"