[Armadeus-commitlog] armadeus branch, master, updated. release-3.4-14-g5196707
Brought to you by:
sszy
|
From: Julien B a. A. <ar...@us...> - 2011-03-24 12:49:51
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "armadeus".
The branch, master has been updated
via 5196707246294b4a45e6abffacd93b5a29844549 (commit)
via 24cb0027861884cbafd25e569462e7b70ada2fd3 (commit)
via 2084b21848060538c45abae0b2e8a36782592822 (commit)
from 3d397331357fc328533ffb89b4cdd7a822a7c9ca (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 5196707246294b4a45e6abffacd93b5a29844549
Author: Julien Boibessot <jul...@ar...>
Date: Thu Mar 24 13:47:56 2011 +0100
[DEBUG] Adds i.MX51 SSI & AUDMUX registers to imxregs
commit 24cb0027861884cbafd25e569462e7b70ada2fd3
Author: Julien Boibessot <jul...@ar...>
Date: Thu Mar 24 13:44:04 2011 +0100
[LINUX] Partially revert commit "Select dr register on output in gpiolib driver" (c84fb0480f297c538bcdab58d81fd0cbe427d53e). It needs to be fixed...
commit 2084b21848060538c45abae0b2e8a36782592822
Author: Julien Boibessot <jul...@ar...>
Date: Thu Mar 24 13:41:02 2011 +0100
[LINUX] Add preliminary support for sound on APF51Dev
-----------------------------------------------------------------------
Summary of changes:
.../2.6.38/400-armadeus-add_apf51_module.patch | 28 ++++--
.../408-armadeus-add_apf51-dev_baseboard.patch | 30 +++++--
...adeus-gpio_select_dr_register_on_output.to_fix} | 2 +
...soc-imx-add_apf51dev_wm8960_audio_support.patch | 39 ++++++---
...adeus-audmuxv2-add_MX51_ports_definitions.patch | 32 +++++++
...eus-audmuxv2-makes_debugfs_interface_work.patch | 75 +++++++++++++++++
...write_all_CANCTRL_bits_when_changing_mode.patch | 29 +++++++
...d_license_and_author_infos_to_imx-pcm-fiq.patch | 15 ++++
target/linux/debug/imxregs/imx51regs.h | 87 ++++++++++++++++++++
9 files changed, 308 insertions(+), 29 deletions(-)
rename buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/{409-armadeus-gpio_select_dr_register_on_output.patch => 409-armadeus-gpio_select_dr_register_on_output.to_fix} (97%)
create mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/424-armadeus-audmuxv2-add_MX51_ports_definitions.patch
create mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/424-armadeus-audmuxv2-makes_debugfs_interface_work.patch
create mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/425-armadeus-mcp2515-dont_overwrite_all_CANCTRL_bits_when_changing_mode.patch
create mode 100644 buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/425-armadeus-snd-soc-imx-add_license_and_author_infos_to_imx-pcm-fiq.patch
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/400-armadeus-add_apf51_module.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/400-armadeus-add_apf51_module.patch
index b358b1b..4cb98bd 100644
--- a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/400-armadeus-add_apf51_module.patch
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/400-armadeus-add_apf51_module.patch
@@ -1,7 +1,7 @@
Index: linux-2.6.38-rc3/arch/arm/mach-mx5/Kconfig
===================================================================
---- linux-2.6.38-rc3.orig/arch/arm/mach-mx5/Kconfig 2011-02-16 14:45:58.000000000 +0100
-+++ linux-2.6.38-rc3/arch/arm/mach-mx5/Kconfig 2011-02-16 19:01:05.000000000 +0100
+--- linux-2.6.38-rc3.orig/arch/arm/mach-mx5/Kconfig 2011-02-24 10:44:12.000000000 +0100
++++ linux-2.6.38-rc3/arch/arm/mach-mx5/Kconfig 2011-03-23 17:10:41.000000000 +0100
@@ -162,4 +162,17 @@
Include support for MX50 reference design platform (RDP) board. This
includes specific configurations for the board and its peripherals.
@@ -23,7 +23,7 @@ Index: linux-2.6.38-rc3/arch/arm/mach-mx5/Kconfig
Index: linux-2.6.38-rc3/arch/arm/mach-mx5/Makefile
===================================================================
--- linux-2.6.38-rc3.orig/arch/arm/mach-mx5/Makefile 2011-02-01 04:05:49.000000000 +0100
-+++ linux-2.6.38-rc3/arch/arm/mach-mx5/Makefile 2011-02-16 19:01:05.000000000 +0100
++++ linux-2.6.38-rc3/arch/arm/mach-mx5/Makefile 2011-03-23 17:10:41.000000000 +0100
@@ -7,6 +7,7 @@
obj-$(CONFIG_SOC_IMX50) += mm-mx50.o
@@ -35,8 +35,8 @@ Index: linux-2.6.38-rc3/arch/arm/mach-mx5/Makefile
Index: linux-2.6.38-rc3/arch/arm/mach-mx5/board-apf51.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.38-rc3/arch/arm/mach-mx5/board-apf51.c 2011-02-16 17:02:46.000000000 +0100
-@@ -0,0 +1,422 @@
++++ linux-2.6.38-rc3/arch/arm/mach-mx5/board-apf51.c 2011-03-07 16:17:40.000000000 +0100
+@@ -0,0 +1,432 @@
+/*
+ * Support for APF51 System On Module
+ * Copyright (C) 2010-2011 Armadeus Systems
@@ -363,6 +363,15 @@ Index: linux-2.6.38-rc3/arch/arm/mach-mx5/board-apf51.c
+ return ret;
+}
+
++static int apf51_wm8311_post_init(struct wm831x *wm831x)
++{
++ int ret = 0;
++
++ printk("--- %s 0x%08x\n", __func__, wm831x_reg_read(wm831x, WM831X_INTERRUPT_STATUS_2_MASK));
++
++ return ret;
++}
++
+static struct wm831x_status_pdata apf51_wm8311_led1_pdata = {
+ .default_src = WM831X_STATUS_PRESERVE,
+ .name = "LED1:red:",
@@ -382,6 +391,7 @@ Index: linux-2.6.38-rc3/arch/arm/mach-mx5/board-apf51.c
+
+static struct wm831x_pdata apf51_wm8311_pdata = {
+ .pre_init = apf51_wm8311_pre_init,
++ .post_init = apf51_wm8311_post_init,
+ .irq_cmos = 1,
+ .irq_base = MXC_BOARD_IRQ_START,
+#if 0
@@ -461,8 +471,8 @@ Index: linux-2.6.38-rc3/arch/arm/mach-mx5/board-apf51.c
+
Index: linux-2.6.38-rc3/arch/arm/plat-mxc/include/mach/uncompress.h
===================================================================
---- linux-2.6.38-rc3.orig/arch/arm/plat-mxc/include/mach/uncompress.h 2011-02-16 14:45:59.000000000 +0100
-+++ linux-2.6.38-rc3/arch/arm/plat-mxc/include/mach/uncompress.h 2011-02-16 14:46:00.000000000 +0100
+--- linux-2.6.38-rc3.orig/arch/arm/plat-mxc/include/mach/uncompress.h 2011-02-24 10:44:13.000000000 +0100
++++ linux-2.6.38-rc3/arch/arm/plat-mxc/include/mach/uncompress.h 2011-02-24 10:44:15.000000000 +0100
@@ -63,6 +63,7 @@
#define MX3X_UART1_BASE_ADDR 0x43F90000
#define MX3X_UART2_BASE_ADDR 0x43F94000
@@ -483,8 +493,8 @@ Index: linux-2.6.38-rc3/arch/arm/plat-mxc/include/mach/uncompress.h
}
Index: linux-2.6.38-rc3/arch/arm/plat-mxc/include/mach/irqs.h
===================================================================
---- linux-2.6.38-rc3.orig/arch/arm/plat-mxc/include/mach/irqs.h 2011-02-16 14:46:00.000000000 +0100
-+++ linux-2.6.38-rc3/arch/arm/plat-mxc/include/mach/irqs.h 2011-02-16 14:46:00.000000000 +0100
+--- linux-2.6.38-rc3.orig/arch/arm/plat-mxc/include/mach/irqs.h 2011-02-24 10:44:14.000000000 +0100
++++ linux-2.6.38-rc3/arch/arm/plat-mxc/include/mach/irqs.h 2011-02-24 10:44:15.000000000 +0100
@@ -53,6 +53,8 @@
#define MXC_BOARD_IRQS 80
#elif defined CONFIG_MACH_APF27
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/408-armadeus-add_apf51-dev_baseboard.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/408-armadeus-add_apf51-dev_baseboard.patch
index 79ab67f..ce44488 100644
--- a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/408-armadeus-add_apf51-dev_baseboard.patch
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/408-armadeus-add_apf51-dev_baseboard.patch
@@ -4,8 +4,8 @@ Signed-off-by: Julien Boibessot <jul...@ar...>
Index: linux-2.6.38-rc3/arch/arm/mach-mx5/Kconfig
===================================================================
---- linux-2.6.38-rc3.orig/arch/arm/mach-mx5/Kconfig 2011-02-22 15:08:04.000000000 +0100
-+++ linux-2.6.38-rc3/arch/arm/mach-mx5/Kconfig 2011-02-22 17:49:07.000000000 +0100
+--- linux-2.6.38-rc3.orig/arch/arm/mach-mx5/Kconfig 2011-02-24 10:44:15.000000000 +0100
++++ linux-2.6.38-rc3/arch/arm/mach-mx5/Kconfig 2011-03-23 17:10:35.000000000 +0100
@@ -167,12 +167,32 @@
select SOC_IMX51
select IMX_HAVE_PLATFORM_IMX_UART
@@ -43,8 +43,8 @@ Index: linux-2.6.38-rc3/arch/arm/mach-mx5/Kconfig
endif
Index: linux-2.6.38-rc3/arch/arm/mach-mx5/Makefile
===================================================================
---- linux-2.6.38-rc3.orig/arch/arm/mach-mx5/Makefile 2011-02-22 15:08:04.000000000 +0100
-+++ linux-2.6.38-rc3/arch/arm/mach-mx5/Makefile 2011-02-22 17:49:07.000000000 +0100
+--- linux-2.6.38-rc3.orig/arch/arm/mach-mx5/Makefile 2011-02-24 10:44:15.000000000 +0100
++++ linux-2.6.38-rc3/arch/arm/mach-mx5/Makefile 2011-03-23 17:10:35.000000000 +0100
@@ -8,6 +8,7 @@
obj-$(CONFIG_CPU_FREQ_IMX) += cpu_op-mx51.o
@@ -56,8 +56,8 @@ Index: linux-2.6.38-rc3/arch/arm/mach-mx5/Makefile
Index: linux-2.6.38-rc3/arch/arm/mach-mx5/apf51dev-baseboard.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.38-rc3/arch/arm/mach-mx5/apf51dev-baseboard.c 2011-02-22 17:25:43.000000000 +0100
-@@ -0,0 +1,438 @@
++++ linux-2.6.38-rc3/arch/arm/mach-mx5/apf51dev-baseboard.c 2011-03-22 18:33:25.000000000 +0100
+@@ -0,0 +1,452 @@
+ /*
+ * Support for APF51's official development baseboard (APF51Dev)
+ *
@@ -348,7 +348,7 @@ Index: linux-2.6.38-rc3/arch/arm/mach-mx5/apf51dev-baseboard.c
+};
+
+static struct imx_ssi_platform_data apf27dev_ssi_pdata = {
-+ .flags = IMX_SSI_DMA,
++ .flags = IMX_SSI_SYN | IMX_SSI_USE_I2S_SLAVE,
+};
+
+/* I2C2 */
@@ -361,7 +361,7 @@ Index: linux-2.6.38-rc3/arch/arm/mach-mx5/apf51dev-baseboard.c
+ I2C_BOARD_INFO("eeprom", 0x50),
+ },
+ {
-+ I2C_BOARD_INFO("wm8960", 0x36),
++ I2C_BOARD_INFO("wm8960", 0x1a),
+ .platform_data = &apf51dev_wm8960_pdata,
+ },
+#if 0
@@ -490,6 +490,20 @@ Index: linux-2.6.38-rc3/arch/arm/mach-mx5/apf51dev-baseboard.c
+ ARRAY_SIZE(apf51dev_i2c2_devices));
+
+ imx51_add_ipuv3(&apf51dev_ipu_data);
++
++ /* AUDMUX Port 1 (SSI1/imx-ssi.0)) <-> Port3 */
++ mxc_audmux_v2_configure_port(MX51_AUDMUX_PORT3,
++ MXC_AUDMUX_V2_PTCR_SYN,
++ MXC_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT1_SSI0));
++
++ mxc_audmux_v2_configure_port(MX51_AUDMUX_PORT1_SSI0,
++ MXC_AUDMUX_V2_PTCR_SYN |
++ MXC_AUDMUX_V2_PTCR_TCSEL(MX51_AUDMUX_PORT3) |
++ MXC_AUDMUX_V2_PTCR_TCLKDIR |
++ MXC_AUDMUX_V2_PTCR_TFSEL(MX51_AUDMUX_PORT3) |
++ MXC_AUDMUX_V2_PTCR_TFSDIR,
++ MXC_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT3));
++
+ imx51_add_imx_ssi(0, &apf27dev_ssi_pdata);
+
+#if defined(CONFIG_KEYBOARD_IMX) || defined(CONFIG_KEYBOARD_IMX_MODULE)
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/409-armadeus-gpio_select_dr_register_on_output.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/409-armadeus-gpio_select_dr_register_on_output.to_fix
similarity index 97%
rename from buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/409-armadeus-gpio_select_dr_register_on_output.patch
rename to buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/409-armadeus-gpio_select_dr_register_on_output.to_fix
index 5f4c998..d4e6d8e 100644
--- a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/409-armadeus-gpio_select_dr_register_on_output.patch
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/409-armadeus-gpio_select_dr_register_on_output.to_fix
@@ -1,3 +1,5 @@
+Do not work on i.MX51... -> TO FIX !
+
Index: linux-2.6.36/arch/arm/plat-mxc/gpio.c
===================================================================
--- linux-2.6.36.orig/arch/arm/plat-mxc/gpio.c 2011-02-02 11:35:55.000000000 +0100
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/421-armadeus-asoc-imx-add_apf51dev_wm8960_audio_support.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/421-armadeus-asoc-imx-add_apf51dev_wm8960_audio_support.patch
index 80a02e3..4f7dc04 100644
--- a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/421-armadeus-asoc-imx-add_apf51dev_wm8960_audio_support.patch
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/421-armadeus-asoc-imx-add_apf51dev_wm8960_audio_support.patch
@@ -1,8 +1,8 @@
Index: linux-2.6.38-rc3/sound/soc/imx/apf51dev-wm8960.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.38-rc3/sound/soc/imx/apf51dev-wm8960.c 2011-02-11 17:23:17.000000000 +0100
-@@ -0,0 +1,151 @@
++++ linux-2.6.38-rc3/sound/soc/imx/apf51dev-wm8960.c 2011-03-16 23:07:40.000000000 +0100
+@@ -0,0 +1,166 @@
+/*
+ * ASoC audio for APF51Dev (i.MX51 using Wolfson's WM8960)
+ *
@@ -34,7 +34,7 @@ Index: linux-2.6.38-rc3/sound/soc/imx/apf51dev-wm8960.c
+
+#define FMT_PLAYBACK (SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | \
+ SND_SOC_DAIFMT_CBM_CFM)
-+#define FMT_CAPTURE (SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_NB_NF | \
++#define FMT_CAPTURE (SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | \
+ SND_SOC_DAIFMT_CBM_CFM)
+
+static int apf51dev_sound_hifi_hw_params(struct snd_pcm_substream *substream,
@@ -47,6 +47,14 @@ Index: linux-2.6.38-rc3/sound/soc/imx/apf51dev-wm8960.c
+
+ /* TO BE CHECKED !! */
+
++ printk("--- %s %d\n", __func__, __LINE__);
++
++ ret = snd_soc_dai_set_pll(codec_dai, 0, 0, 16000000, 12280000);
++ if (ret) {
++ printk("APF51: Unable to set WM8960 PLL\n");
++ return ret;
++ }
++
+ /* set cpu DAI configuration */
+ if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
+ ret = snd_soc_dai_set_fmt(codec_dai, FMT_PLAYBACK);
@@ -62,12 +70,12 @@ Index: linux-2.6.38-rc3/sound/soc/imx/apf51dev-wm8960.c
+ ret = snd_soc_dai_set_fmt(cpu_dai, FMT_CAPTURE);
+ if (ret)
+ return ret;
-+ ret = snd_soc_dai_set_tdm_slot(codec_dai, 0, 0, 4, 32);
++/* ret = snd_soc_dai_set_tdm_slot(codec_dai, 0, 0, 4, 32);
+ if (ret)
-+ return ret;
++ return ret;*/
+ }
+
-+ ret = snd_soc_dai_set_tdm_slot(cpu_dai, 0x0, 0xfffffffc, 4, 32);
++ ret = snd_soc_dai_set_tdm_slot(cpu_dai, 0xfffffffc, 0xfffffffc, 2, 0);
+ if (ret)
+ return ret;
+
@@ -76,6 +84,7 @@ Index: linux-2.6.38-rc3/sound/soc/imx/apf51dev-wm8960.c
+
+static int apf51dev_sound_hifi_hw_free(struct snd_pcm_substream *substream)
+{
++ printk("--- %s %d\n", __func__, __LINE__);
+ return 0;
+}
+
@@ -86,11 +95,13 @@ Index: linux-2.6.38-rc3/sound/soc/imx/apf51dev-wm8960.c
+
+static int apf51dev_sound_probe(struct platform_device *pdev)
+{
++ printk("--- %s %d\n", __func__, __LINE__);
+ return 0;
+}
+
+static int apf51dev_sound_remove(struct platform_device *pdev)
+{
++ printk("--- %s %d\n", __func__, __LINE__);
+ return 0;
+}
+
@@ -98,14 +109,18 @@ Index: linux-2.6.38-rc3/sound/soc/imx/apf51dev-wm8960.c
+ {
+ .name = "WM8960 Playback",
+ .stream_name = "Playback",
++ .codec_name = "wm8960-codec.1-001a",
++ .platform_name = "imx-fiq-pcm-audio.0",
++ .cpu_dai_name = "imx-ssi.0",
+ .codec_dai_name = "wm8960-hifi",
-+ .cpu_dai_name = "imx-ssi-dai.0",
+ .ops = &apf51dev_sound_hifi_ops,
+ }, {
+ .name = "WM8960 Capture",
+ .stream_name = "Capture",
++ .codec_name = "wm8960-codec.1-001a",
++ .platform_name = "imx-fiq-pcm-audio.0",
++ .cpu_dai_name = "imx-ssi.0",
+ .codec_dai_name = "wm8960-hifi",
-+ .cpu_dai_name = "imx-ssi-dai.0",
+ .ops = &apf51dev_sound_hifi_ops,
+ },
+};
@@ -156,8 +171,8 @@ Index: linux-2.6.38-rc3/sound/soc/imx/apf51dev-wm8960.c
+MODULE_LICENSE("GPL");
Index: linux-2.6.38-rc3/sound/soc/imx/Kconfig
===================================================================
---- linux-2.6.38-rc3.orig/sound/soc/imx/Kconfig 2011-02-11 16:53:17.000000000 +0100
-+++ linux-2.6.38-rc3/sound/soc/imx/Kconfig 2011-02-11 17:01:12.000000000 +0100
+--- linux-2.6.38-rc3.orig/sound/soc/imx/Kconfig 2011-02-01 04:05:49.000000000 +0100
++++ linux-2.6.38-rc3/sound/soc/imx/Kconfig 2011-02-24 10:44:15.000000000 +0100
@@ -52,4 +52,14 @@
Enable I2S based access to the TLV320AIC23B codec attached
to the SSI interface
@@ -175,8 +190,8 @@ Index: linux-2.6.38-rc3/sound/soc/imx/Kconfig
endif # SND_IMX_SOC
Index: linux-2.6.38-rc3/sound/soc/imx/Makefile
===================================================================
---- linux-2.6.38-rc3.orig/sound/soc/imx/Makefile 2011-02-11 16:57:38.000000000 +0100
-+++ linux-2.6.38-rc3/sound/soc/imx/Makefile 2011-02-11 17:01:26.000000000 +0100
+--- linux-2.6.38-rc3.orig/sound/soc/imx/Makefile 2011-02-01 04:05:49.000000000 +0100
++++ linux-2.6.38-rc3/sound/soc/imx/Makefile 2011-02-24 10:44:15.000000000 +0100
@@ -8,10 +8,12 @@
obj-$(CONFIG_SND_MXC_SOC_MX2) += snd-soc-imx-mx2.o
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/424-armadeus-audmuxv2-add_MX51_ports_definitions.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/424-armadeus-audmuxv2-add_MX51_ports_definitions.patch
new file mode 100644
index 0000000..3c65d14
--- /dev/null
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/424-armadeus-audmuxv2-add_MX51_ports_definitions.patch
@@ -0,0 +1,32 @@
+Sent to mainline.
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+diff --git a/arch/arm/plat-mxc/include/mach/audmux.h b/arch/arm/plat-mxc/include/mach/audmux.h
+index 5cd6466..6fda788 100644
+--- a/arch/arm/plat-mxc/include/mach/audmux.h
++++ b/arch/arm/plat-mxc/include/mach/audmux.h
+@@ -15,6 +15,14 @@
+ #define MX31_AUDMUX_PORT5_SSI_PINS_5 4
+ #define MX31_AUDMUX_PORT6_SSI_PINS_6 5
+
++#define MX51_AUDMUX_PORT1_SSI0 0
++#define MX51_AUDMUX_PORT2_SSI1 1
++#define MX51_AUDMUX_PORT3 2
++#define MX51_AUDMUX_PORT4 3
++#define MX51_AUDMUX_PORT5 4
++#define MX51_AUDMUX_PORT6 5
++#define MX51_AUDMUX_PORT7 6
++
+ /* Register definitions for the i.MX21/27 Digital Audio Multiplexer */
+ #define MXC_AUDMUX_V1_PCR_INMMASK(x) ((x) & 0xff)
+ #define MXC_AUDMUX_V1_PCR_INMEN (1 << 8)
+@@ -28,7 +36,7 @@
+ #define MXC_AUDMUX_V1_PCR_TCLKDIR (1 << 30)
+ #define MXC_AUDMUX_V1_PCR_TFSDIR (1 << 31)
+
+-/* Register definitions for the i.MX25/31/35 Digital Audio Multiplexer */
++/* Register definitions for the i.MX25/31/35/51 Digital Audio Multiplexer */
+ #define MXC_AUDMUX_V2_PTCR_TFSDIR (1 << 31)
+ #define MXC_AUDMUX_V2_PTCR_TFSEL(x) (((x) & 0xf) << 27)
+ #define MXC_AUDMUX_V2_PTCR_TCLKDIR (1 << 26)
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/424-armadeus-audmuxv2-makes_debugfs_interface_work.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/424-armadeus-audmuxv2-makes_debugfs_interface_work.patch
new file mode 100644
index 0000000..7333180
--- /dev/null
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/424-armadeus-audmuxv2-makes_debugfs_interface_work.patch
@@ -0,0 +1,75 @@
+audmuxv2 debugfs can't work without the 2 last changes.
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+diff --git a/arch/arm/plat-mxc/audmux-v2.c b/arch/arm/plat-mxc/audmux-v2.c
+index 175e364..3d9cf7f 100644
+--- a/arch/arm/plat-mxc/audmux-v2.c
++++ b/arch/arm/plat-mxc/audmux-v2.c
+@@ -44,18 +44,20 @@ static int audmux_open_file(struct inode *inode, struct file *file)
+ static const char *audmux_port_string(int port)
+ {
+ switch (port) {
+- case MX31_AUDMUX_PORT1_SSI0:
+- return "imx-ssi.0";
+- case MX31_AUDMUX_PORT2_SSI1:
+- return "imx-ssi.1";
+- case MX31_AUDMUX_PORT3_SSI_PINS_3:
+- return "SSI3";
+- case MX31_AUDMUX_PORT4_SSI_PINS_4:
+- return "SSI4";
+- case MX31_AUDMUX_PORT5_SSI_PINS_5:
+- return "SSI5";
+- case MX31_AUDMUX_PORT6_SSI_PINS_6:
+- return "SSI6";
++ case 0:
++ return "Port1 (imx-ssi.0)";
++ case 1:
++ return "Port2 (imx-ssi.1)";
++ case 2:
++ return "Port3";
++ case 3:
++ return "Port4";
++ case 4:
++ return "Port5";
++ case 5:
++ return "Port6";
++ case 6:
++ return "Port7";
+ default:
+ return "UNKNOWN";
+ }
+@@ -151,8 +153,8 @@ static void audmux_debugfs_init(void)
+ return;
+ }
+
+- for (i = 1; i < 8; i++) {
+- snprintf(buf, sizeof(buf), "ssi%d", i);
++ for (i = 0; i < 7; i++) {
++ snprintf(buf, sizeof(buf), "port%d", i+1);
+ if (!debugfs_create_file(buf, 0444, audmux_debugfs_root,
+ (void *)i, &audmux_debugfs_fops))
+ pr_warning("Failed to create AUDMUX port %d debugfs file\n",
+@@ -186,12 +188,10 @@ EXPORT_SYMBOL_GPL(mxc_audmux_v2_configure_port);
+
+ static int mxc_audmux_v2_init(void)
+ {
+- int ret;
++ int ret = 0;
+ #if defined(CONFIG_ARCH_MX5)
+ if (cpu_is_mx51()) {
+ audmux_base = MX51_IO_ADDRESS(MX51_AUDMUX_BASE_ADDR);
+- ret = 0;
+- return ret;
+ }
+ #endif
+ #if defined(CONFIG_ARCH_MX3)
+@@ -223,7 +223,7 @@ static int mxc_audmux_v2_init(void)
+ #endif /* if defined(CONFIG_SOC_IMX25) */
+ audmux_debugfs_init();
+
+- return 0;
++ return ret;
+ }
+
+ postcore_initcall(mxc_audmux_v2_init);
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/425-armadeus-mcp2515-dont_overwrite_all_CANCTRL_bits_when_changing_mode.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/425-armadeus-mcp2515-dont_overwrite_all_CANCTRL_bits_when_changing_mode.patch
new file mode 100644
index 0000000..3977c8e
--- /dev/null
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/425-armadeus-mcp2515-dont_overwrite_all_CANCTRL_bits_when_changing_mode.patch
@@ -0,0 +1,29 @@
+Otherwise CLKOUT config (3 LSB of CANCTRL) can not be changed elsewhere.
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: linux-2.6.38-rc3/drivers/net/can/mcp251x.c
+===================================================================
+--- linux-2.6.38-rc3.orig/drivers/net/can/mcp251x.c 2011-03-09 09:52:52.000000000 +0100
++++ linux-2.6.38-rc3/drivers/net/can/mcp251x.c 2011-03-23 17:03:07.000000000 +0100
+@@ -547,13 +547,16 @@
+
+ if (priv->can.ctrlmode & CAN_CTRLMODE_LOOPBACK) {
+ /* Put device into loopback mode */
+- mcp251x_write_reg(spi, CANCTRL, CANCTRL_REQOP_LOOPBACK);
++ mcp251x_write_bits(spi, CANCTRL, CANCTRL_REQOP_MASK,
++ CANCTRL_REQOP_LOOPBACK);
+ } else if (priv->can.ctrlmode & CAN_CTRLMODE_LISTENONLY) {
+ /* Put device into listen-only mode */
+- mcp251x_write_reg(spi, CANCTRL, CANCTRL_REQOP_LISTEN_ONLY);
++ mcp251x_write_bits(spi, CANCTRL, CANCTRL_REQOP_MASK,
++ CANCTRL_REQOP_LISTEN_ONLY);
+ } else {
+ /* Put device into normal mode */
+- mcp251x_write_reg(spi, CANCTRL, CANCTRL_REQOP_NORMAL);
++ mcp251x_write_bits(spi, CANCTRL, CANCTRL_REQOP_MASK,
++ CANCTRL_REQOP_NORMAL);
+
+ /* Wait for the device to enter normal mode */
+ timeout = jiffies + HZ;
+
diff --git a/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/425-armadeus-snd-soc-imx-add_license_and_author_infos_to_imx-pcm-fiq.patch b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/425-armadeus-snd-soc-imx-add_license_and_author_infos_to_imx-pcm-fiq.patch
new file mode 100644
index 0000000..8c30d5a
--- /dev/null
+++ b/buildroot/target/device/armadeus/linux/kernel-patches/2.6.38/425-armadeus-snd-soc-imx-add_license_and_author_infos_to_imx-pcm-fiq.patch
@@ -0,0 +1,15 @@
+Otherwise driver is not usable as module.
+
+Signed-off-by: Julien Boibessot <jul...@ar...>
+
+Index: linux-2.6.38-rc3/sound/soc/imx/imx-pcm-fiq.c
+===================================================================
+--- linux-2.6.38-rc3.orig/sound/soc/imx/imx-pcm-fiq.c 2011-02-24 12:14:52.000000000 +0100
++++ linux-2.6.38-rc3/sound/soc/imx/imx-pcm-fiq.c 2011-02-24 13:58:17.000000000 +0100
+@@ -343,3 +343,6 @@
+ platform_driver_unregister(&imx_pcm_driver);
+ }
+ module_exit(snd_imx_pcm_exit);
++
++MODULE_AUTHOR("Sascha Hauer, Pengutronix");
++MODULE_LICENSE("GPL");
diff --git a/target/linux/debug/imxregs/imx51regs.h b/target/linux/debug/imxregs/imx51regs.h
index 4aefd73..3555d70 100644
--- a/target/linux/debug/imxregs/imx51regs.h
+++ b/target/linux/debug/imxregs/imx51regs.h
@@ -86,4 +86,91 @@ static struct reg_info regs[] =
{ "I2DR_2", 0x83fc4010, 0, 0xffffffff, 'x', "I2C2 Data I/O Register" },
/* FEC */
{ "EIR", 0x83fec004, 0, 0xffffffff, 'x', "FEC Interrupt Event Register" },
+/* AUDMUX */
+{ "PTCR1", 0x83fd0000, 0, 0xffffffff, 'x', "Port Timing Control Register 1" },
+{ "PDCR1", 0x83fd0004, 0, 0xffffffff, 'x', "Port Data Control Register 1" },
+{ "PTCR2", 0x83fd0008, 0, 0xffffffff, 'x', "Port Timing Control Register 2" },
+{ "PDCR2", 0x83fd000C, 0, 0xffffffff, 'x', "Port Data Control Register 2" },
+{ "PTCR3", 0x83fd0010, 0, 0xffffffff, 'x', "Port Timing Control Register 3" },
+{ "PDCR3", 0x83fd0014, 0, 0xffffffff, 'x', "Port Data Control Register 3" },
+{ "PTCR4", 0x83fd0018, 0, 0xffffffff, 'x', "Port Timing Control Register 4" },
+{ "PDCR4", 0x83fd001C, 0, 0xffffffff, 'x', "Port Data Control Register 4" },
+{ "PTCR5", 0x83fd0020, 0, 0xffffffff, 'x', "Port Timing Control Register 5" },
+{ "PDCR5", 0x83fd0024, 0, 0xffffffff, 'x', "Port Data Control Register 5" },
+{ "PTCR6", 0x83fd0028, 0, 0xffffffff, 'x', "Port Timing Control Register 6" },
+{ "PDCR6", 0x83fd002C, 0, 0xffffffff, 'x', "Port Data Control Register 6" },
+{ "PTCR7", 0x83fd0030, 0, 0xffffffff, 'x', "Port Timing Control Register 7" },
+{ "PDCR7", 0x83fd0034, 0, 0xffffffff, 'x', "Port Data Control Register 7" },
+/* SSI 1 */
+{ "STX0_1", 0x83fcc000, 0, 0xffffffff, 'x', "SSI1 Transmit Data Register 0" },
+{ "STX1_1", 0x83fcc004, 0, 0xffffffff, 'x', "SSI1 Transmit Data Register 1" },
+{ "SRX0_1", 0x83fcc008, 0, 0xffffffff, 'x', "SSI1 Receive Data Register 0" },
+{ "SRX1_1", 0x83fcc00c, 0, 0xffffffff, 'x', "SSI1 Receive Data Register 1" },
+{ "SCR_1", 0x83fcc010, 0, 0xffffffff, 'x', "SSI1 Control Register" },
+{ "SISR_1", 0x83fcc014, 0, 0xffffffff, 'x', "SSI1 Interrupt Status Register" },
+{ "SIER_1", 0x83fcc018, 0, 0xffffffff, 'x', "SSI1 Interrupt Enable Register" },
+{ "STCR_1", 0x83fcc01c, 0, 0xffffffff, 'x', "SSI1 Transmit Configuration Register" },
+{ "SRCR_1", 0x83fcc020, 0, 0xffffffff, 'x', "SSI1 Receive Configuration Register" },
+{ "STCCR_1", 0x83fcc024, 0, 0xffffffff, 'x', "SSI1 Transmit Clock Control Register" },
+{ "SRCCR_1", 0x83fcc028, 0, 0xffffffff, 'x', "SSI& Receive Clock Control Register" },
+{ "SFCSR_1", 0x83fcc02c, 0, 0xffffffff, 'x', "SSI1 FIFO Control/Status Register" },
+{ "STR_1", 0x83fcc030, 0, 0xffffffff, 'x', "SSI1 Test Register1" },
+{ "SOR_1", 0x83fcc034, 0, 0xffffffff, 'x', "SSI1 Option Register2" },
+{ "SACNT_1", 0x83fcc038, 0, 0xffffffff, 'x', "SSI1 AC97 Control Register" },
+{ "SACADD_1", 0x83fcc03c, 0, 0xffffffff, 'x', "SSI1 AC97 Command Address Register" },
+{ "SACDAT_1", 0x83fcc040, 0, 0xffffffff, 'x', "SSI1 AC97 Command Data Register" },
+{ "SATAG_1", 0x83fcc044, 0, 0xffffffff, 'x', "SSI1 AC97 Tag Register" },
+{ "STMSK_1", 0x83fcc048, 0, 0xffffffff, 'x', "SSI1 Transmit Time Slot Mask Register" },
+{ "SRMSK_1", 0x83fcc04c, 0, 0xffffffff, 'x', "SSI1 Receive Time Slot Mask Register" },
+{ "SACCST_1", 0x83fcc050, 0, 0xffffffff, 'x', "SSI1 AC97 Channel Status Register" },
+{ "SACCEN_1", 0x83fcc054, 0, 0xffffffff, 'x', "SSI1 AC97 Channel Enable Register" },
+{ "SACCDIS_1", 0x83fcc058, 0, 0xffffffff, 'x', "SSI1 AC97 Channel Disable Register" },
+/* SSI 2 */
+{ "STX0_2", 0x70014000, 0, 0xffffffff, 'x', "SSI2 Transmit Data Register 0" },
+{ "STX1_2", 0x70014004, 0, 0xffffffff, 'x', "SSI2 Transmit Data Register 1" },
+{ "SRX0_2", 0x70014008, 0, 0xffffffff, 'x', "SSI2 Receive Data Register 0" },
+{ "SRX1_2", 0x7001400c, 0, 0xffffffff, 'x', "SSI2 Receive Data Register 1" },
+{ "SCR_2", 0x70014010, 0, 0xffffffff, 'x', "SSI2 Control Register" },
+{ "SISR_2", 0x70014014, 0, 0xffffffff, 'x', "SSI2 Interrupt Status Register" },
+{ "SIER_2", 0x70014018, 0, 0xffffffff, 'x', "SSI2 Interrupt Enable Register" },
+{ "STCR_2", 0x7001401c, 0, 0xffffffff, 'x', "SSI2 Transmit Configuration Register" },
+{ "SRCR_2", 0x70014020, 0, 0xffffffff, 'x', "SSI2 Receive Configuration Register" },
+{ "STCCR_2", 0x70014024, 0, 0xffffffff, 'x', "SSI2 Transmit Clock Control Register" },
+{ "SRCCR_2", 0x70014028, 0, 0xffffffff, 'x', "SSI2 Receive Clock Control Register" },
+{ "SFCSR_2", 0x7001402c, 0, 0xffffffff, 'x', "SSI2 FIFO Control/Status Register" },
+{ "STR_2", 0x70014030, 0, 0xffffffff, 'x', "SSI2 Test Register1" },
+{ "SOR_2", 0x70014034, 0, 0xffffffff, 'x', "SSI2 Option Register2" },
+{ "SACNT_2", 0x70014038, 0, 0xffffffff, 'x', "SSI2 AC97 Control Register" },
+{ "SACADD_2", 0x7001403c, 0, 0xffffffff, 'x', "SSI2 AC97 Command Address Register" },
+{ "SACDAT_2", 0x70014040, 0, 0xffffffff, 'x', "SSI2 AC97 Command Data Register" },
+{ "SATAG_2", 0x70014044, 0, 0xffffffff, 'x', "SSI2 AC97 Tag Register" },
+{ "STMSK_2", 0x70014048, 0, 0xffffffff, 'x', "SSI2 Transmit Time Slot Mask Register" },
+{ "SRMSK_2", 0x7001404c, 0, 0xffffffff, 'x', "SSI2 Receive Time Slot Mask Register" },
+{ "SACCST_2", 0x70014050, 0, 0xffffffff, 'x', "SSI2 AC97 Channel Status Register" },
+{ "SACCEN_2", 0x70014054, 0, 0xffffffff, 'x', "SSI2 AC97 Channel Enable Register" },
+{ "SACCDIS_2", 0x70014058, 0, 0xffffffff, 'x', "SSI2 AC97 Channel Disable Register" },
+/* SSI 3 */
+{ "STX0_3", 0x83fe8000, 0, 0xffffffff, 'x', "SSI3 Transmit Data Register 0" },
+{ "STX1_3", 0x83fe8004, 0, 0xffffffff, 'x', "SSI3 Transmit Data Register 1" },
+{ "SRX0_3", 0x83fe8008, 0, 0xffffffff, 'x', "SSI3 Receive Data Register 0" },
+{ "SRX1_3", 0x83fe800c, 0, 0xffffffff, 'x', "SSI3 Receive Data Register 1" },
+{ "SCR_3", 0x83fe8010, 0, 0xffffffff, 'x', "SSI3 Control Register" },
+{ "SISR_3", 0x83fe8014, 0, 0xffffffff, 'x', "SSI3 Interrupt Status Register" },
+{ "SIER_3", 0x83fe8018, 0, 0xffffffff, 'x', "SSI3 Interrupt Enable Register" },
+{ "STCR_3", 0x83fe801c, 0, 0xffffffff, 'x', "SSI3 Transmit Configuration Register" },
+{ "SRCR_3", 0x83fe8020, 0, 0xffffffff, 'x', "SSI3 Receive Configuration Register" },
+{ "STCCR_3", 0x83fe8024, 0, 0xffffffff, 'x', "SSI3 Transmit Clock Control Register" },
+{ "SRCCR_3", 0x83fe8028, 0, 0xffffffff, 'x', "SSI3 Receive Clock Control Register" },
+{ "SFCSR_3", 0x83fe802c, 0, 0xffffffff, 'x', "SSI3 FIFO Control/Status Register" },
+{ "STR_3", 0x83fe8030, 0, 0xffffffff, 'x', "SSI3 Test Register1" },
+{ "SOR_3", 0x83fe8034, 0, 0xffffffff, 'x', "SSI3 Option Register2" },
+{ "SACNT_3", 0x83fe8038, 0, 0xffffffff, 'x', "SSI3 AC97 Control Register" },
+{ "SACADD_3", 0x83fe803c, 0, 0xffffffff, 'x', "SSI3 AC97 Command Address Register" },
+{ "SACDAT_3", 0x83fe8040, 0, 0xffffffff, 'x', "SSI3 AC97 Command Data Register" },
+{ "SATAG_3", 0x83fe8044, 0, 0xffffffff, 'x', "SSI3 AC97 Tag Register" },
+{ "STMSK_3", 0x83fe8048, 0, 0xffffffff, 'x', "SSI3 Transmit Time Slot Mask Register" },
+{ "SRMSK_3", 0x83fe804c, 0, 0xffffffff, 'x', "SSI3 Receive Time Slot Mask Register" },
+{ "SACCST_3", 0x83fe8050, 0, 0xffffffff, 'x', "SSI3 AC97 Channel Status Register" },
+{ "SACCEN_3", 0x83fe8054, 0, 0xffffffff, 'x', "SSI3 AC97 Channel Enable Register" },
+{ "SACCDIS_3", 0x83fe8058, 0, 0xffffffff, 'x', "SSI3 AC97 Channel Disable Register" },
};
hooks/post-receive
--
armadeus
|