mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2024-12-25 08:02:32 +00:00
mxs: add 3.14 config and patches
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu> SVN-Revision: 41948
This commit is contained in:
parent
639a1f375b
commit
15facdb2fa
286
target/linux/mxs/config-3.14
Normal file
286
target/linux/mxs/config-3.14
Normal file
@ -0,0 +1,286 @@
|
||||
CONFIG_ALIGNMENT_TRAP=y
|
||||
# CONFIG_AMBA_PL08X is not set
|
||||
# CONFIG_APM_EMULATION is not set
|
||||
CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
|
||||
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
|
||||
CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
|
||||
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
|
||||
CONFIG_ARCH_MULTIPLATFORM=y
|
||||
CONFIG_ARCH_MULTI_CPU_AUTO=y
|
||||
# CONFIG_ARCH_MULTI_V4T is not set
|
||||
CONFIG_ARCH_MULTI_V4_V5=y
|
||||
CONFIG_ARCH_MULTI_V5=y
|
||||
CONFIG_ARCH_MXS=y
|
||||
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
|
||||
CONFIG_ARCH_NR_GPIO=0
|
||||
# CONFIG_ARCH_NSPIRE is not set
|
||||
CONFIG_ARCH_REQUIRE_GPIOLIB=y
|
||||
# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
|
||||
# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
|
||||
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
|
||||
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
|
||||
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
|
||||
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
|
||||
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
|
||||
# CONFIG_ARCH_WM8505 is not set
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM_AMBA=y
|
||||
CONFIG_ARM_APPENDED_DTB=y
|
||||
# CONFIG_ARM_ATAG_DTB_COMPAT is not set
|
||||
CONFIG_ARM_CPU_SUSPEND=y
|
||||
CONFIG_ARM_L1_CACHE_SHIFT=5
|
||||
CONFIG_ARM_NR_BANKS=8
|
||||
CONFIG_ARM_PATCH_PHYS_VIRT=y
|
||||
# CONFIG_ARM_SP805_WATCHDOG is not set
|
||||
CONFIG_ARM_THUMB=y
|
||||
CONFIG_ATAGS=y
|
||||
CONFIG_AUTO_ZRELADDR=y
|
||||
# CONFIG_CACHE_L2X0 is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
CONFIG_CLKSRC_MMIO=y
|
||||
CONFIG_CLKSRC_OF=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
CONFIG_CMDLINE="console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait"
|
||||
CONFIG_CMDLINE_FROM_BOOTLOADER=y
|
||||
CONFIG_COMMON_CLK=y
|
||||
CONFIG_COREDUMP=y
|
||||
CONFIG_CPU_32v5=y
|
||||
CONFIG_CPU_ABRT_EV5TJ=y
|
||||
CONFIG_CPU_ARM926T=y
|
||||
# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
|
||||
CONFIG_CPU_CACHE_VIVT=y
|
||||
CONFIG_CPU_COPY_V4WB=y
|
||||
CONFIG_CPU_CP15=y
|
||||
CONFIG_CPU_CP15_MMU=y
|
||||
# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
|
||||
# CONFIG_CPU_ICACHE_DISABLE is not set
|
||||
CONFIG_CPU_IDLE=y
|
||||
CONFIG_CPU_IDLE_GOV_LADDER=y
|
||||
CONFIG_CPU_IDLE_GOV_MENU=y
|
||||
CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
|
||||
CONFIG_CPU_PABRT_LEGACY=y
|
||||
CONFIG_CPU_PM=y
|
||||
CONFIG_CPU_TLB_V4WBI=y
|
||||
CONFIG_CPU_USE_DOMAINS=y
|
||||
CONFIG_CRC16=y
|
||||
CONFIG_CROSS_MEMORY_ATTACH=y
|
||||
CONFIG_CRYPTO_CRC32C=y
|
||||
# CONFIG_CRYPTO_DEV_MXS_DCP is not set
|
||||
CONFIG_CRYPTO_HASH=y
|
||||
CONFIG_CRYPTO_HASH2=y
|
||||
CONFIG_CRYPTO_HW=y
|
||||
CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
|
||||
# CONFIG_DEBUG_UART_8250 is not set
|
||||
# CONFIG_DEBUG_UART_PL01X is not set
|
||||
# CONFIG_DEBUG_USER is not set
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_DMA_ENGINE=y
|
||||
CONFIG_DMA_OF=y
|
||||
CONFIG_DTC=y
|
||||
# CONFIG_DW_DMAC_CORE is not set
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_FEC=y
|
||||
CONFIG_FRAME_POINTER=y
|
||||
CONFIG_FS_MBCACHE=y
|
||||
CONFIG_GENERIC_ATOMIC64=y
|
||||
CONFIG_GENERIC_BUG=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
|
||||
CONFIG_GENERIC_IDLE_POLL_SETUP=y
|
||||
CONFIG_GENERIC_IO=y
|
||||
CONFIG_GENERIC_IRQ_CHIP=y
|
||||
CONFIG_GENERIC_IRQ_SHOW=y
|
||||
CONFIG_GENERIC_NET_UTILS=y
|
||||
CONFIG_GENERIC_PCI_IOMAP=y
|
||||
CONFIG_GENERIC_SCHED_CLOCK=y
|
||||
CONFIG_GENERIC_SMP_IDLE_THREAD=y
|
||||
CONFIG_GENERIC_STRNCPY_FROM_USER=y
|
||||
CONFIG_GENERIC_STRNLEN_USER=y
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIO_DEVRES=y
|
||||
CONFIG_GPIO_GENERIC=y
|
||||
CONFIG_GPIO_GENERIC_PLATFORM=y
|
||||
CONFIG_GPIO_MXS=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_HARDIRQS_SW_RESEND=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
|
||||
CONFIG_HAVE_ARCH_JUMP_LABEL=y
|
||||
CONFIG_HAVE_ARCH_KGDB=y
|
||||
CONFIG_HAVE_ARCH_PFN_VALID=y
|
||||
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
|
||||
CONFIG_HAVE_ARCH_TRACEHOOK=y
|
||||
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
|
||||
CONFIG_HAVE_BPF_JIT=y
|
||||
CONFIG_HAVE_CC_STACKPROTECTOR=y
|
||||
CONFIG_HAVE_CLK=y
|
||||
CONFIG_HAVE_CLK_PREPARE=y
|
||||
CONFIG_HAVE_CONTEXT_TRACKING=y
|
||||
CONFIG_HAVE_C_RECORDMCOUNT=y
|
||||
CONFIG_HAVE_DEBUG_KMEMLEAK=y
|
||||
CONFIG_HAVE_DMA_API_DEBUG=y
|
||||
CONFIG_HAVE_DMA_ATTRS=y
|
||||
CONFIG_HAVE_DMA_CONTIGUOUS=y
|
||||
CONFIG_HAVE_DYNAMIC_FTRACE=y
|
||||
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
|
||||
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
|
||||
CONFIG_HAVE_FUNCTION_TRACER=y
|
||||
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
|
||||
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
|
||||
CONFIG_HAVE_KERNEL_GZIP=y
|
||||
CONFIG_HAVE_KERNEL_LZ4=y
|
||||
CONFIG_HAVE_KERNEL_LZMA=y
|
||||
CONFIG_HAVE_KERNEL_LZO=y
|
||||
CONFIG_HAVE_KERNEL_XZ=y
|
||||
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
|
||||
CONFIG_HAVE_MEMBLOCK=y
|
||||
CONFIG_HAVE_NET_DSA=y
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
CONFIG_HAVE_PERF_EVENTS=y
|
||||
CONFIG_HAVE_PERF_REGS=y
|
||||
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
|
||||
CONFIG_HAVE_PROC_CPU=y
|
||||
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
|
||||
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
|
||||
CONFIG_HAVE_UID16=y
|
||||
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
|
||||
CONFIG_HZ_FIXED=0
|
||||
CONFIG_HZ_PERIODIC=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_ALGOBIT=y
|
||||
CONFIG_I2C_ALGOPCA=y
|
||||
CONFIG_I2C_ALGOPCF=y
|
||||
CONFIG_I2C_BOARDINFO=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_COMPAT=y
|
||||
CONFIG_I2C_DEBUG_ALGO=y
|
||||
CONFIG_I2C_DEBUG_BUS=y
|
||||
CONFIG_I2C_DEBUG_CORE=y
|
||||
CONFIG_I2C_MUX=y
|
||||
# CONFIG_I2C_MUX_GPIO is not set
|
||||
# CONFIG_I2C_MUX_PCA9541 is not set
|
||||
# CONFIG_I2C_MUX_PCA954x is not set
|
||||
CONFIG_I2C_MUX_PINCTRL=y
|
||||
CONFIG_I2C_MXS=y
|
||||
CONFIG_IIO=y
|
||||
CONFIG_IIO_BUFFER=y
|
||||
CONFIG_IIO_KFIFO_BUF=y
|
||||
CONFIG_IIO_PERIODIC_RTC_TRIGGER=y
|
||||
CONFIG_IIO_SYSFS_TRIGGER=y
|
||||
CONFIG_IIO_TRIGGER=y
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
CONFIG_INPUT=y
|
||||
CONFIG_IOMMU_HELPER=y
|
||||
CONFIG_IRQCHIP=y
|
||||
CONFIG_IRQ_DOMAIN=y
|
||||
CONFIG_IRQ_FORCED_THREADING=y
|
||||
CONFIG_IRQ_WORK=y
|
||||
# CONFIG_ISDN is not set
|
||||
CONFIG_JBD2=y
|
||||
CONFIG_KTIME_SCALAR=y
|
||||
# CONFIG_LEDS_REGULATOR is not set
|
||||
CONFIG_LZO_COMPRESS=y
|
||||
CONFIG_LZO_DECOMPRESS=y
|
||||
CONFIG_MDIO_BOARDINFO=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_BLOCK=y
|
||||
CONFIG_MMC_DEBUG=y
|
||||
CONFIG_MMC_MXS=y
|
||||
CONFIG_MODULES_USE_ELF_REL=y
|
||||
# CONFIG_MTD_PHYSMAP_OF is not set
|
||||
CONFIG_MULTI_IRQ_HANDLER=y
|
||||
CONFIG_MXS_DMA=y
|
||||
# CONFIG_MXS_LRADC is not set
|
||||
CONFIG_NEED_DMA_MAP_STATE=y
|
||||
CONFIG_NEED_KUSER_HELPERS=y
|
||||
CONFIG_NEED_PER_CPU_KM=y
|
||||
CONFIG_NET_RX_BUSY_POLL=y
|
||||
CONFIG_NLS=y
|
||||
CONFIG_NO_BOOTMEM=y
|
||||
CONFIG_OF=y
|
||||
CONFIG_OF_ADDRESS=y
|
||||
CONFIG_OF_EARLY_FLATTREE=y
|
||||
CONFIG_OF_FLATTREE=y
|
||||
CONFIG_OF_GPIO=y
|
||||
CONFIG_OF_IRQ=y
|
||||
CONFIG_OF_MDIO=y
|
||||
CONFIG_OF_MTD=y
|
||||
CONFIG_OF_NET=y
|
||||
CONFIG_OLD_SIGACTION=y
|
||||
CONFIG_OLD_SIGSUSPEND3=y
|
||||
CONFIG_PAGEFLAGS_EXTENDED=y
|
||||
CONFIG_PAGE_OFFSET=0xC0000000
|
||||
# CONFIG_PCI_SYSCALL is not set
|
||||
CONFIG_PERF_USE_VMALLOC=y
|
||||
CONFIG_PHYLIB=y
|
||||
CONFIG_PINCTRL=y
|
||||
CONFIG_PINCTRL_IMX23=y
|
||||
CONFIG_PINCTRL_IMX28=y
|
||||
CONFIG_PINCTRL_MXS=y
|
||||
# CONFIG_PINCTRL_SINGLE is not set
|
||||
# CONFIG_PL330_DMA is not set
|
||||
CONFIG_PM=y
|
||||
CONFIG_PM_CLK=y
|
||||
# CONFIG_PM_DEBUG is not set
|
||||
CONFIG_PM_RUNTIME=y
|
||||
CONFIG_PPS=y
|
||||
# CONFIG_PREEMPT_RCU is not set
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
CONFIG_PTP_1588_CLOCK=y
|
||||
# CONFIG_RCU_STALL_COMMON is not set
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_REGMAP_I2C=y
|
||||
CONFIG_REGMAP_SPI=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_DEBUG=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_REGULATOR_GPIO=y
|
||||
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
|
||||
# CONFIG_RFKILL_REGULATOR is not set
|
||||
CONFIG_RTC_CLASS=y
|
||||
# CONFIG_RTC_DRV_STMP is not set
|
||||
CONFIG_SCHED_HRTICK=y
|
||||
# CONFIG_SCSI_DMA is not set
|
||||
CONFIG_SERIAL_AMBA_PL010=y
|
||||
CONFIG_SERIAL_AMBA_PL010_CONSOLE=y
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_SERIAL_MXS_AUART=y
|
||||
CONFIG_SERIAL_MXS_AUART_CONSOLE=y
|
||||
CONFIG_SMSC_PHY=y
|
||||
CONFIG_SOC_BUS=y
|
||||
CONFIG_SOC_IMX23=y
|
||||
CONFIG_SOC_IMX28=y
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_MASTER=y
|
||||
# CONFIG_SPI_MXS is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=999999
|
||||
CONFIG_STMP_DEVICE=y
|
||||
CONFIG_SWIOTLB=y
|
||||
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
|
||||
CONFIG_TICK_CPU_ACCOUNTING=y
|
||||
CONFIG_UID16=y
|
||||
CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_COMMON=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
|
||||
# CONFIG_USB_MXS_PHY is not set
|
||||
CONFIG_USB_OTG=y
|
||||
CONFIG_USB_SUPPORT=y
|
||||
CONFIG_USB_USBNET=y
|
||||
CONFIG_USE_OF=y
|
||||
CONFIG_VECTORS_BASE=0xffff0000
|
||||
# CONFIG_VFP is not set
|
||||
CONFIG_WATCHDOG_CORE=y
|
||||
CONFIG_XZ_DEC_ARM=y
|
||||
CONFIG_XZ_DEC_BCJ=y
|
||||
CONFIG_ZBOOT_ROM_BSS=0
|
||||
CONFIG_ZBOOT_ROM_TEXT=0
|
||||
# CONFIG_ZBUD is not set
|
||||
CONFIG_ZONE_DMA_FLAG=0
|
2842
target/linux/mxs/patches-3.14/100-soc-audio-support.patch
Normal file
2842
target/linux/mxs/patches-3.14/100-soc-audio-support.patch
Normal file
File diff suppressed because it is too large
Load Diff
39
target/linux/mxs/patches-3.14/101-soc-audio-dts.patch
Normal file
39
target/linux/mxs/patches-3.14/101-soc-audio-dts.patch
Normal file
@ -0,0 +1,39 @@
|
||||
--- a/arch/arm/boot/dts/imx23-olinuxino.dts
|
||||
+++ b/arch/arm/boot/dts/imx23-olinuxino.dts
|
||||
@@ -88,6 +88,25 @@
|
||||
usbphy0: usbphy@8007c000 {
|
||||
status = "okay";
|
||||
};
|
||||
+
|
||||
+ codec: mxs-builtin-codec {
|
||||
+ compatible = "fsl,mxs-builtin-codec";
|
||||
+ reg = <0x80048000 0x2000>, <0x8004c000 0x2000>,
|
||||
+ <0x8005c000 0x2000>;
|
||||
+ reg-names = "audioout", "audioin", "rtc";
|
||||
+ clocks = <&clks 31>;
|
||||
+ clock-names = "filt";
|
||||
+ };
|
||||
+
|
||||
+ platform_dai: mxs-builtin-cpu-dai {
|
||||
+ compatible = "fsl,mxs-builtin-cpu-dai";
|
||||
+ reg = <0x80048000 0x2000>, <0x8004c000 0x2000>,
|
||||
+ <0x8005c000 0x2000>;
|
||||
+ reg-names = "audioout", "audioin", "rtc";
|
||||
+ interrupts = <8 6 4>;
|
||||
+ dmas = <&dma_apbx 0>, <&dma_apbx 1>;
|
||||
+ dma-names = "rx", "tx";
|
||||
+ };
|
||||
};
|
||||
};
|
||||
|
||||
@@ -122,4 +141,10 @@
|
||||
gpios = <&gpio2 1 1>;
|
||||
};
|
||||
};
|
||||
+
|
||||
+ mxs-builtin-audio {
|
||||
+ compatible = "fsl,mxs-builtin-audio";
|
||||
+ audio-codec = <&codec>;
|
||||
+ cpu-dai = <&platform_dai>;
|
||||
+ };
|
||||
};
|
79
target/linux/mxs/patches-3.14/120-dt-add-i2c.patch
Normal file
79
target/linux/mxs/patches-3.14/120-dt-add-i2c.patch
Normal file
@ -0,0 +1,79 @@
|
||||
--- a/arch/arm/boot/dts/imx23.dtsi
|
||||
+++ b/arch/arm/boot/dts/imx23.dtsi
|
||||
@@ -146,6 +146,39 @@
|
||||
fsl,pull-up = <MXS_PULL_DISABLE>;
|
||||
};
|
||||
|
||||
+ i2c0_pins_a: i2c0@0 {
|
||||
+ reg = <0>;
|
||||
+ fsl,pinmux-ids = <
|
||||
+ 0x01e0 /* MX23_PAD_I2C_SCL__I2C_SCL */
|
||||
+ 0x01f0 /* MX23_PAD_I2C_SDA__I2C_SDA */
|
||||
+ >;
|
||||
+ fsl,drive-strength = <1>;
|
||||
+ fsl,voltage = <1>;
|
||||
+ fsl,pull-up = <1>;
|
||||
+ };
|
||||
+
|
||||
+ i2c1_pins_a: i2c1@0 {
|
||||
+ reg = <0>;
|
||||
+ fsl,pinmux-ids = <
|
||||
+ 0x1171 /* MX23_PAD_LCD_ENABLE__I2C_SCL */
|
||||
+ 0x1181 /* MX23_PAD_LCD_HSYNC__I2C_SDA */
|
||||
+ >;
|
||||
+ fsl,drive-strength = <1>;
|
||||
+ fsl,voltage = <1>;
|
||||
+ fsl,pull-up = <1>;
|
||||
+ };
|
||||
+
|
||||
+ i2c2_pins_a: i2c2@0 {
|
||||
+ reg = <0>;
|
||||
+ fsl,pinmux-ids = <
|
||||
+ 0x2031 /* MX23_PAD_SSP1_DATA1__I2C_SCL */
|
||||
+ 0x2041 /* MX23_PAD_SSP1_DATA2__I2C_SDA */
|
||||
+ >;
|
||||
+ fsl,drive-strength = <1>;
|
||||
+ fsl,voltage = <1>;
|
||||
+ fsl,pull-up = <1>;
|
||||
+ };
|
||||
+
|
||||
auart0_pins_a: auart0@0 {
|
||||
reg = <0>;
|
||||
fsl,pinmux-ids = <
|
||||
@@ -443,7 +476,12 @@
|
||||
};
|
||||
|
||||
i2c@80058000 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ compatible = "fsl,imx23-i2c";
|
||||
reg = <0x80058000 0x2000>;
|
||||
+ interrupts = <27>;
|
||||
+ clock-frequency = <100000>;
|
||||
dmas = <&dma_apbx 3>;
|
||||
dma-names = "rx-tx";
|
||||
status = "disabled";
|
||||
--- a/arch/arm/boot/dts/imx23-olinuxino.dts
|
||||
+++ b/arch/arm/boot/dts/imx23-olinuxino.dts
|
||||
@@ -79,6 +79,12 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+ i2c0: i2c@80058000 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2c1_pins_a>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
duart: serial@80070000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&duart_pins_a>;
|
||||
@@ -94,7 +100,7 @@
|
||||
usbphy0: usbphy@8007c000 {
|
||||
status = "okay";
|
||||
};
|
||||
-
|
||||
+
|
||||
codec: mxs-builtin-codec {
|
||||
compatible = "fsl,mxs-builtin-codec";
|
||||
reg = <0x80048000 0x2000>, <0x8004c000 0x2000>,
|
@ -0,0 +1,71 @@
|
||||
From 91769986a724f63db52f3c78c79ac84a5b7045bf Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Willmann <daniel@totalueberwachung.de>
|
||||
Date: Sat, 19 Apr 2014 23:59:18 +0200
|
||||
Subject: [PATCH] mmc: mxs: fix card detection function for broken card detect
|
||||
|
||||
Return -ENOSYS in get_cd if broken-cd is specified in the device tree.
|
||||
|
||||
Commit a91fe279ae75 (mmc: mxs: use standard flag for broken card
|
||||
detection) sets MMC_CAP_NEEDS_POLL when broken-cd is specified. This
|
||||
driver sets this flag unconditionally as it does not support a card
|
||||
detect interrupt. Instead, broken-cd means that there is no card detect
|
||||
signal connected.
|
||||
|
||||
The mmc core checks the get_cd function return value to determine if a
|
||||
card is present. Only for a non-zero return value it will attempt to
|
||||
initialize the card. So retuning -ENOSYS will allow the card to be
|
||||
initialized.
|
||||
|
||||
For comparison, mmc_gpio_get_cd in slot-gpio.c also returns -ENOSYS if
|
||||
the card detect GPIO is not valid.
|
||||
|
||||
Signed-off-by: Daniel Willmann <daniel@totalueberwachung.de>
|
||||
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
|
||||
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
|
||||
Signed-off-by: Chris Ball <chris@printf.net>
|
||||
---
|
||||
drivers/mmc/host/mxs-mmc.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c
|
||||
index 073e871..babfea0 100644
|
||||
--- a/drivers/mmc/host/mxs-mmc.c
|
||||
+++ b/drivers/mmc/host/mxs-mmc.c
|
||||
@@ -70,6 +70,7 @@ struct mxs_mmc_host {
|
||||
unsigned char bus_width;
|
||||
spinlock_t lock;
|
||||
int sdio_irq_en;
|
||||
+ bool broken_cd;
|
||||
};
|
||||
|
||||
static int mxs_mmc_get_cd(struct mmc_host *mmc)
|
||||
@@ -78,6 +79,9 @@ static int mxs_mmc_get_cd(struct mmc_host *mmc)
|
||||
struct mxs_ssp *ssp = &host->ssp;
|
||||
int present, ret;
|
||||
|
||||
+ if (host->broken_cd)
|
||||
+ return -ENOSYS;
|
||||
+
|
||||
ret = mmc_gpio_get_cd(mmc);
|
||||
if (ret >= 0)
|
||||
return ret;
|
||||
@@ -568,6 +572,7 @@ static int mxs_mmc_probe(struct platform_device *pdev)
|
||||
{
|
||||
const struct of_device_id *of_id =
|
||||
of_match_device(mxs_mmc_dt_ids, &pdev->dev);
|
||||
+ struct device_node *np = pdev->dev.of_node;
|
||||
struct mxs_mmc_host *host;
|
||||
struct mmc_host *mmc;
|
||||
struct resource *iores;
|
||||
@@ -634,6 +639,8 @@ static int mxs_mmc_probe(struct platform_device *pdev)
|
||||
mmc->caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED |
|
||||
MMC_CAP_SDIO_IRQ | MMC_CAP_NEEDS_POLL;
|
||||
|
||||
+ host->broken_cd = of_property_read_bool(np, "broken-cd");
|
||||
+
|
||||
mmc->f_min = 400000;
|
||||
mmc->f_max = 288000000;
|
||||
|
||||
--
|
||||
2.0.3
|
||||
|
53
target/linux/mxs/patches-3.14/200-duckbill.patch
Normal file
53
target/linux/mxs/patches-3.14/200-duckbill.patch
Normal file
@ -0,0 +1,53 @@
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -164,6 +164,7 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb
|
||||
imx28-cfa10057.dtb \
|
||||
imx28-cfa10058.dtb \
|
||||
imx28-evk.dtb \
|
||||
+ imx28-duckbill.dtb \
|
||||
imx28-m28cu3.dtb \
|
||||
imx28-m28evk.dtb \
|
||||
imx28-sps1.dtb \
|
||||
--- a/arch/arm/mach-mxs/mach-mxs.c
|
||||
+++ b/arch/arm/mach-mxs/mach-mxs.c
|
||||
@@ -157,6 +157,7 @@ enum mac_oui {
|
||||
OUI_FSL,
|
||||
OUI_DENX,
|
||||
OUI_CRYSTALFONTZ,
|
||||
+ OUI_I2SE,
|
||||
};
|
||||
|
||||
static void __init update_fec_mac_prop(enum mac_oui oui)
|
||||
@@ -211,6 +212,11 @@ static void __init update_fec_mac_prop(e
|
||||
macaddr[1] = 0xb9;
|
||||
macaddr[2] = 0xe1;
|
||||
break;
|
||||
+ case OUI_I2SE:
|
||||
+ macaddr[0] = 0x00;
|
||||
+ macaddr[1] = 0x01;
|
||||
+ macaddr[2] = 0x87;
|
||||
+ break;
|
||||
}
|
||||
val = ocotp[i];
|
||||
macaddr[3] = (val >> 16) & 0xff;
|
||||
@@ -426,6 +432,11 @@ static int __init mxs_restart_init(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static void __init duckbill_init(void)
|
||||
+{
|
||||
+ update_fec_mac_prop(OUI_I2SE);
|
||||
+}
|
||||
+
|
||||
static void __init mxs_machine_init(void)
|
||||
{
|
||||
struct device_node *root;
|
||||
@@ -464,6 +475,8 @@ static void __init mxs_machine_init(void
|
||||
crystalfontz_init();
|
||||
else if (of_machine_is_compatible("msr,m28cu3"))
|
||||
m28cu3_init();
|
||||
+ else if (of_machine_is_compatible("i2se,duckbill"))
|
||||
+ duckbill_init();
|
||||
|
||||
of_platform_populate(NULL, of_default_bus_match_table,
|
||||
NULL, parent);
|
Loading…
Reference in New Issue
Block a user