* [PATCH v2] ARM: i.MX1 clk: Add devicetree support
@ 2014-05-20 16:43 Alexander Shiyan
2014-05-20 16:43 ` [PATCH] ARM: i.MX: Compile FIQ code for AVIC & TZIC only Alexander Shiyan
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Alexander Shiyan @ 2014-05-20 16:43 UTC (permalink / raw)
To: linux-arm-kernel
This patch adds devicetree support CCM module for i.MX1 (MC9328MX1) CPUs.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
---
.../devicetree/bindings/clock/imx1-clock.txt | 26 ++++
arch/arm/mach-imx/clk-imx1.c | 153 +++++++++++----------
include/dt-bindings/clock/imx1-clock.h | 40 ++++++
3 files changed, 148 insertions(+), 71 deletions(-)
create mode 100644 Documentation/devicetree/bindings/clock/imx1-clock.txt
create mode 100644 include/dt-bindings/clock/imx1-clock.h
diff --git a/Documentation/devicetree/bindings/clock/imx1-clock.txt b/Documentation/devicetree/bindings/clock/imx1-clock.txt
new file mode 100644
index 0000000..b7adf4e
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/imx1-clock.txt
@@ -0,0 +1,26 @@
+* Clock bindings for Freescale i.MX1 CPUs
+
+Required properties:
+- compatible: Should be "fsl,imx1-ccm".
+- reg: Address and length of the register set.
+- #clock-cells: Should be <1>.
+
+The clock consumer should specify the desired clock by having the clock
+ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx1-clock.h
+for the full list of i.MX1 clock IDs.
+
+Examples:
+ clks: ccm at 0021b000 {
+ #clock-cells = <1>;
+ compatible = "fsl,imx1-ccm";
+ reg = <0x0021b000 0x1000>;
+ };
+
+ pwm: pwm at 00208000 {
+ #pwm-cells = <2>;
+ compatible = "fsl,imx1-pwm";
+ reg = <0x00208000 0x1000>;
+ interrupts = <34>;
+ clocks = <&clks IMX1_CLK_DUMMY>, <&clks IMX1_CLK_PER1>;
+ clock-names = "ipg", "per";
+ };
diff --git a/arch/arm/mach-imx/clk-imx1.c b/arch/arm/mach-imx/clk-imx1.c
index 7f739be..e9c391b 100644
--- a/arch/arm/mach-imx/clk-imx1.c
+++ b/arch/arm/mach-imx/clk-imx1.c
@@ -15,100 +15,111 @@
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-#include <linux/kernel.h>
-#include <linux/init.h>
#include <linux/clk.h>
-#include <linux/io.h>
#include <linux/clkdev.h>
+#include <linux/clk-provider.h>
#include <linux/err.h>
+#include <linux/init.h>
+#include <linux/of.h>
+#include <linux/of_address.h>
+#include <dt-bindings/clock/imx1-clock.h>
#include "clk.h"
#include "common.h"
#include "hardware.h"
-/* CCM register addresses */
-#define IO_ADDR_CCM(off) (MX1_IO_ADDRESS(MX1_CCM_BASE_ADDR + (off)))
-
-#define CCM_CSCR IO_ADDR_CCM(0x0)
-#define CCM_MPCTL0 IO_ADDR_CCM(0x4)
-#define CCM_SPCTL0 IO_ADDR_CCM(0xc)
-#define CCM_PCDR IO_ADDR_CCM(0x20)
-
-/* SCM register addresses */
-#define IO_ADDR_SCM(off) (MX1_IO_ADDRESS(MX1_SCM_BASE_ADDR + (off)))
-
-#define SCM_GCCR IO_ADDR_SCM(0xc)
-
static const char *prem_sel_clks[] = { "clk32_premult", "clk16m", };
static const char *clko_sel_clks[] = { "per1", "hclk", "clk48m", "clk16m",
"prem", "fclk", };
-enum imx1_clks {
- dummy, clk32, clk16m_ext, clk16m, clk32_premult, prem, mpll, mpll_gate,
- spll, spll_gate, mcu, fclk, hclk, clk48m, per1, per2, per3, clko,
- uart3_gate, ssi2_gate, brom_gate, dma_gate, csi_gate, mma_gate,
- usbd_gate, clk_max
-};
+static struct clk *clk[IMX1_CLK_MAX];
+static struct clk_onecell_data clk_data;
-static struct clk *clk[clk_max];
+static void __iomem *ccm __initdata;
+#define CCM_CSCR (ccm + 0x0000)
+#define CCM_MPCTL0 (ccm + 0x0004)
+#define CCM_SPCTL0 (ccm + 0x000c)
+#define CCM_PCDR (ccm + 0x0020)
+#define SCM_GCCR (ccm + 0x0810)
-int __init mx1_clocks_init(unsigned long fref)
+static void __init _mx1_clocks_init(unsigned long fref)
{
- int i;
-
- clk[dummy] = imx_clk_fixed("dummy", 0);
- clk[clk32] = imx_clk_fixed("clk32", fref);
- clk[clk16m_ext] = imx_clk_fixed("clk16m_ext", 16000000);
- clk[clk16m] = imx_clk_gate("clk16m", "clk16m_ext", CCM_CSCR, 17);
- clk[clk32_premult] = imx_clk_fixed_factor("clk32_premult", "clk32", 512, 1);
- clk[prem] = imx_clk_mux("prem", CCM_CSCR, 16, 1, prem_sel_clks,
- ARRAY_SIZE(prem_sel_clks));
- clk[mpll] = imx_clk_pllv1("mpll", "clk32_premult", CCM_MPCTL0);
- clk[mpll_gate] = imx_clk_gate("mpll_gate", "mpll", CCM_CSCR, 0);
- clk[spll] = imx_clk_pllv1("spll", "prem", CCM_SPCTL0);
- clk[spll_gate] = imx_clk_gate("spll_gate", "spll", CCM_CSCR, 1);
- clk[mcu] = imx_clk_divider("mcu", "clk32_premult", CCM_CSCR, 15, 1);
- clk[fclk] = imx_clk_divider("fclk", "mpll_gate", CCM_CSCR, 15, 1);
- clk[hclk] = imx_clk_divider("hclk", "spll_gate", CCM_CSCR, 10, 4);
- clk[clk48m] = imx_clk_divider("clk48m", "spll_gate", CCM_CSCR, 26, 3);
- clk[per1] = imx_clk_divider("per1", "spll_gate", CCM_PCDR, 0, 4);
- clk[per2] = imx_clk_divider("per2", "spll_gate", CCM_PCDR, 4, 4);
- clk[per3] = imx_clk_divider("per3", "spll_gate", CCM_PCDR, 16, 7);
- clk[clko] = imx_clk_mux("clko", CCM_CSCR, 29, 3, clko_sel_clks,
- ARRAY_SIZE(clko_sel_clks));
- clk[uart3_gate] = imx_clk_gate("uart3_gate", "hclk", SCM_GCCR, 6);
- clk[ssi2_gate] = imx_clk_gate("ssi2_gate", "hclk", SCM_GCCR, 5);
- clk[brom_gate] = imx_clk_gate("brom_gate", "hclk", SCM_GCCR, 4);
- clk[dma_gate] = imx_clk_gate("dma_gate", "hclk", SCM_GCCR, 3);
- clk[csi_gate] = imx_clk_gate("csi_gate", "hclk", SCM_GCCR, 2);
- clk[mma_gate] = imx_clk_gate("mma_gate", "hclk", SCM_GCCR, 1);
- clk[usbd_gate] = imx_clk_gate("usbd_gate", "clk48m", SCM_GCCR, 0);
+ unsigned i;
+
+ clk[IMX1_CLK_DUMMY] = imx_clk_fixed("dummy", 0);
+ clk[IMX1_CLK_CLK32] = imx_obtain_fixed_clock("clk32", fref);
+ clk[IMX1_CLK_CLK16M_EXT] = imx_clk_fixed("clk16m_ext", 16000000);
+ clk[IMX1_CLK_CLK16M] = imx_clk_gate("clk16m", "clk16m_ext", CCM_CSCR, 17);
+ clk[IMX1_CLK_CLK32_PREMULT] = imx_clk_fixed_factor("clk32_premult", "clk32", 512, 1);
+ clk[IMX1_CLK_PREM] = imx_clk_mux("prem", CCM_CSCR, 16, 1, prem_sel_clks, ARRAY_SIZE(prem_sel_clks));
+ clk[IMX1_CLK_MPLL] = imx_clk_pllv1("mpll", "clk32_premult", CCM_MPCTL0);
+ clk[IMX1_CLK_MPLL_GATE] = imx_clk_gate("mpll_gate", "mpll", CCM_CSCR, 0);
+ clk[IMX1_CLK_SPLL] = imx_clk_pllv1("spll", "prem", CCM_SPCTL0);
+ clk[IMX1_CLK_SPLL_GATE] = imx_clk_gate("spll_gate", "spll", CCM_CSCR, 1);
+ clk[IMX1_CLK_MCU] = imx_clk_divider("mcu", "clk32_premult", CCM_CSCR, 15, 1);
+ clk[IMX1_CLK_FCLK] = imx_clk_divider("fclk", "mpll_gate", CCM_CSCR, 15, 1);
+ clk[IMX1_CLK_HCLK] = imx_clk_divider("hclk", "spll_gate", CCM_CSCR, 10, 4);
+ clk[IMX1_CLK_CLK48M] = imx_clk_divider("clk48m", "spll_gate", CCM_CSCR, 26, 3);
+ clk[IMX1_CLK_PER1] = imx_clk_divider("per1", "spll_gate", CCM_PCDR, 0, 4);
+ clk[IMX1_CLK_PER2] = imx_clk_divider("per2", "spll_gate", CCM_PCDR, 4, 4);
+ clk[IMX1_CLK_PER3] = imx_clk_divider("per3", "spll_gate", CCM_PCDR, 16, 7);
+ clk[IMX1_CLK_CLKO] = imx_clk_mux("clko", CCM_CSCR, 29, 3, clko_sel_clks, ARRAY_SIZE(clko_sel_clks));
+ clk[IMX1_CLK_UART3_GATE] = imx_clk_gate("uart3_gate", "hclk", SCM_GCCR, 6);
+ clk[IMX1_CLK_SSI2_GATE] = imx_clk_gate("ssi2_gate", "hclk", SCM_GCCR, 5);
+ clk[IMX1_CLK_BROM_GATE] = imx_clk_gate("brom_gate", "hclk", SCM_GCCR, 4);
+ clk[IMX1_CLK_DMA_GATE] = imx_clk_gate("dma_gate", "hclk", SCM_GCCR, 3);
+ clk[IMX1_CLK_CSI_GATE] = imx_clk_gate("csi_gate", "hclk", SCM_GCCR, 2);
+ clk[IMX1_CLK_MMA_GATE] = imx_clk_gate("mma_gate", "hclk", SCM_GCCR, 1);
+ clk[IMX1_CLK_USBD_GATE] = imx_clk_gate("usbd_gate", "clk48m", SCM_GCCR, 0);
for (i = 0; i < ARRAY_SIZE(clk); i++)
if (IS_ERR(clk[i]))
pr_err("imx1 clk %d: register failed with %ld\n",
i, PTR_ERR(clk[i]));
- clk_register_clkdev(clk[dma_gate], "ahb", "imx1-dma");
- clk_register_clkdev(clk[hclk], "ipg", "imx1-dma");
- clk_register_clkdev(clk[per1], "per", "imx-gpt.0");
- clk_register_clkdev(clk[hclk], "ipg", "imx-gpt.0");
- clk_register_clkdev(clk[per1], "per", "imx1-uart.0");
- clk_register_clkdev(clk[hclk], "ipg", "imx1-uart.0");
- clk_register_clkdev(clk[per1], "per", "imx1-uart.1");
- clk_register_clkdev(clk[hclk], "ipg", "imx1-uart.1");
- clk_register_clkdev(clk[per1], "per", "imx1-uart.2");
- clk_register_clkdev(clk[uart3_gate], "ipg", "imx1-uart.2");
- clk_register_clkdev(clk[hclk], NULL, "imx1-i2c.0");
- clk_register_clkdev(clk[per2], "per", "imx1-cspi.0");
- clk_register_clkdev(clk[dummy], "ipg", "imx1-cspi.0");
- clk_register_clkdev(clk[per2], "per", "imx1-cspi.1");
- clk_register_clkdev(clk[dummy], "ipg", "imx1-cspi.1");
- clk_register_clkdev(clk[per2], "per", "imx1-fb.0");
- clk_register_clkdev(clk[dummy], "ipg", "imx1-fb.0");
- clk_register_clkdev(clk[dummy], "ahb", "imx1-fb.0");
+ clk_register_clkdev(clk[IMX1_CLK_PER1], "per", "imx-gpt.0");
+ clk_register_clkdev(clk[IMX1_CLK_HCLK], "ipg", "imx-gpt.0");
+}
+
+int __init mx1_clocks_init(unsigned long fref)
+{
+ ccm = MX1_IO_ADDRESS(MX1_CCM_BASE_ADDR);
+
+ _mx1_clocks_init(fref);
+
+ clk_register_clkdev(clk[IMX1_CLK_DMA_GATE], "ahb", "imx1-dma");
+ clk_register_clkdev(clk[IMX1_CLK_HCLK], "ipg", "imx1-dma");
+ clk_register_clkdev(clk[IMX1_CLK_PER1], "per", "imx1-uart.0");
+ clk_register_clkdev(clk[IMX1_CLK_HCLK], "ipg", "imx1-uart.0");
+ clk_register_clkdev(clk[IMX1_CLK_PER1], "per", "imx1-uart.1");
+ clk_register_clkdev(clk[IMX1_CLK_HCLK], "ipg", "imx1-uart.1");
+ clk_register_clkdev(clk[IMX1_CLK_PER1], "per", "imx1-uart.2");
+ clk_register_clkdev(clk[IMX1_CLK_UART3_GATE], "ipg", "imx1-uart.2");
+ clk_register_clkdev(clk[IMX1_CLK_HCLK], NULL, "imx1-i2c.0");
+ clk_register_clkdev(clk[IMX1_CLK_PER2], "per", "imx1-cspi.0");
+ clk_register_clkdev(clk[IMX1_CLK_DUMMY], "ipg", "imx1-cspi.0");
+ clk_register_clkdev(clk[IMX1_CLK_PER2], "per", "imx1-cspi.1");
+ clk_register_clkdev(clk[IMX1_CLK_DUMMY], "ipg", "imx1-cspi.1");
+ clk_register_clkdev(clk[IMX1_CLK_PER2], "per", "imx1-fb.0");
+ clk_register_clkdev(clk[IMX1_CLK_DUMMY], "ipg", "imx1-fb.0");
+ clk_register_clkdev(clk[IMX1_CLK_DUMMY], "ahb", "imx1-fb.0");
mxc_timer_init(MX1_IO_ADDRESS(MX1_TIM1_BASE_ADDR), MX1_TIM1_INT);
return 0;
}
+
+static void __init mx1_clocks_init_dt(struct device_node *np)
+{
+ ccm = of_iomap(np, 0);
+ BUG_ON(!ccm);
+
+ _mx1_clocks_init(32768);
+
+ clk_data.clks = clk;
+ clk_data.clk_num = ARRAY_SIZE(clk);
+ of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data);
+
+ mxc_timer_init_dt(of_find_compatible_node(NULL, NULL, "fsl,imx1-gpt"));
+}
+CLK_OF_DECLARE(imx1_ccm, "fsl,imx1-ccm", mx1_clocks_init_dt);
diff --git a/include/dt-bindings/clock/imx1-clock.h b/include/dt-bindings/clock/imx1-clock.h
new file mode 100644
index 0000000..607bf01
--- /dev/null
+++ b/include/dt-bindings/clock/imx1-clock.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+#ifndef __DT_BINDINGS_CLOCK_IMX1_H
+#define __DT_BINDINGS_CLOCK_IMX1_H
+
+#define IMX1_CLK_DUMMY 0
+#define IMX1_CLK_CLK32 1
+#define IMX1_CLK_CLK16M_EXT 2
+#define IMX1_CLK_CLK16M 3
+#define IMX1_CLK_CLK32_PREMULT 4
+#define IMX1_CLK_PREM 5
+#define IMX1_CLK_MPLL 6
+#define IMX1_CLK_MPLL_GATE 7
+#define IMX1_CLK_SPLL 8
+#define IMX1_CLK_SPLL_GATE 9
+#define IMX1_CLK_MCU 10
+#define IMX1_CLK_FCLK 11
+#define IMX1_CLK_HCLK 12
+#define IMX1_CLK_CLK48M 13
+#define IMX1_CLK_PER1 14
+#define IMX1_CLK_PER2 15
+#define IMX1_CLK_PER3 16
+#define IMX1_CLK_CLKO 17
+#define IMX1_CLK_UART3_GATE 18
+#define IMX1_CLK_SSI2_GATE 19
+#define IMX1_CLK_BROM_GATE 20
+#define IMX1_CLK_DMA_GATE 21
+#define IMX1_CLK_CSI_GATE 22
+#define IMX1_CLK_MMA_GATE 23
+#define IMX1_CLK_USBD_GATE 24
+#define IMX1_CLK_MAX 25
+
+#endif
--
1.8.5.5
^ permalink raw reply related [flat|nested] 12+ messages in thread* [PATCH] ARM: i.MX: Compile FIQ code for AVIC & TZIC only
2014-05-20 16:43 [PATCH v2] ARM: i.MX1 clk: Add devicetree support Alexander Shiyan
@ 2014-05-20 16:43 ` Alexander Shiyan
2014-06-02 9:33 ` Lothar Waßmann
2014-05-20 16:43 ` [PATCH] ARM: i.MX: Remove registration helper for i.MX1 USB UDC Alexander Shiyan
2014-05-21 7:05 ` [PATCH v2] ARM: i.MX1 clk: Add devicetree support Shawn Guo
2 siblings, 1 reply; 12+ messages in thread
From: Alexander Shiyan @ 2014-05-20 16:43 UTC (permalink / raw)
To: linux-arm-kernel
There are no reason to compile FIQ specific code for GIC IRQ
controller (i.MX6). This patch restrict compilation for FIQ
specific code for AVIC and TZIC only.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
---
arch/arm/mach-imx/Makefile | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
index bbe93bb..620a760 100644
--- a/arch/arm/mach-imx/Makefile
+++ b/arch/arm/mach-imx/Makefile
@@ -1,4 +1,4 @@
-obj-y := time.o cpu.o system.o irq-common.o
+obj-y := time.o cpu.o system.o
obj-$(CONFIG_SOC_IMX1) += clk-imx1.o mm-imx1.o
obj-$(CONFIG_SOC_IMX21) += clk-imx21.o mm-imx21.o
@@ -21,8 +21,8 @@ obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-gate2.o \
obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o
obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o
-obj-$(CONFIG_MXC_TZIC) += tzic.o
-obj-$(CONFIG_MXC_AVIC) += avic.o
+obj-$(CONFIG_MXC_TZIC) += tzic.o irq-common.o
+obj-$(CONFIG_MXC_AVIC) += avic.o irq-common.o
obj-$(CONFIG_MXC_USE_EPIT) += epit.o
obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o
--
1.8.5.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] ARM: i.MX: Compile FIQ code for AVIC & TZIC only
2014-05-20 16:43 ` [PATCH] ARM: i.MX: Compile FIQ code for AVIC & TZIC only Alexander Shiyan
@ 2014-06-02 9:33 ` Lothar Waßmann
0 siblings, 0 replies; 12+ messages in thread
From: Lothar Waßmann @ 2014-06-02 9:33 UTC (permalink / raw)
To: Alexander Shiyan
Cc: Shawn Guo, alsa-devel, Sascha Hauer, linux-arm-kernel, Timur Tabi
Hi,
Alexander Shiyan wrote:
> There are no reason to compile FIQ specific code for GIC IRQ
> controller (i.MX6). This patch restrict compilation for FIQ
> specific code for AVIC and TZIC only.
>
> Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> ---
> arch/arm/mach-imx/Makefile | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> index bbe93bb..620a760 100644
> --- a/arch/arm/mach-imx/Makefile
> +++ b/arch/arm/mach-imx/Makefile
> @@ -1,4 +1,4 @@
> -obj-y := time.o cpu.o system.o irq-common.o
> +obj-y := time.o cpu.o system.o
>
> obj-$(CONFIG_SOC_IMX1) += clk-imx1.o mm-imx1.o
> obj-$(CONFIG_SOC_IMX21) += clk-imx21.o mm-imx21.o
> @@ -21,8 +21,8 @@ obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-gate2.o \
> obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o
> obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o
>
> -obj-$(CONFIG_MXC_TZIC) += tzic.o
> -obj-$(CONFIG_MXC_AVIC) += avic.o
> +obj-$(CONFIG_MXC_TZIC) += tzic.o irq-common.o
> +obj-$(CONFIG_MXC_AVIC) += avic.o irq-common.o
>
> obj-$(CONFIG_MXC_USE_EPIT) += epit.o
> obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o
>
This patch introduces a build error in sound/soc/fsl/imx-pcm-fiq.c:
sound/built-in.o: In function `imx_pcm_fiq_free':
last.c:(.text+0x2aca8): undefined reference to `mxc_set_irq_fiq'
sound/built-in.o: In function `imx_pcm_fiq_init':
last.c:(.text+0x2b1a4): undefined reference to `mxc_set_irq_fiq'
last.c:(.text+0x2b200): undefined reference to `mxc_set_irq_fiq'
make[1]: *** [vmlinux] Error 1
make: *** [sub-make] Error 2
This could be fixed with the following patch:
--- mxc-fiq.orig/sound/soc/fsl/Kconfig 2014-06-02 11:25:38.315960451 +0200
+++ mxc-fiq/sound/soc/fsl/Kconfig 2014-06-02 11:25:38.411960595 +0200
@@ -15,7 +15,7 @@
config SND_SOC_FSL_SSI
tristate "Synchronous Serial Interface module support"
select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
- select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && ARCH_MXC
+ select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_AVIC || MXC_TZIC)
help
Say Y if you want to add Synchronous Serial Interface (SSI)
support for the Freescale CPUs.
Lothar Waßmann
--
___________________________________________________________
Ka-Ro electronics GmbH | Pascalstraße 22 | D - 52076 Aachen
Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
Geschäftsführer: Matthias Kaussen
Handelsregistereintrag: Amtsgericht Aachen, HRB 4996
www.karo-electronics.de | info@karo-electronics.de
___________________________________________________________
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH] ARM: i.MX: Compile FIQ code for AVIC & TZIC only
@ 2014-06-02 9:33 ` Lothar Waßmann
0 siblings, 0 replies; 12+ messages in thread
From: Lothar Waßmann @ 2014-06-02 9:33 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
Alexander Shiyan wrote:
> There are no reason to compile FIQ specific code for GIC IRQ
> controller (i.MX6). This patch restrict compilation for FIQ
> specific code for AVIC and TZIC only.
>
> Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> ---
> arch/arm/mach-imx/Makefile | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> index bbe93bb..620a760 100644
> --- a/arch/arm/mach-imx/Makefile
> +++ b/arch/arm/mach-imx/Makefile
> @@ -1,4 +1,4 @@
> -obj-y := time.o cpu.o system.o irq-common.o
> +obj-y := time.o cpu.o system.o
>
> obj-$(CONFIG_SOC_IMX1) += clk-imx1.o mm-imx1.o
> obj-$(CONFIG_SOC_IMX21) += clk-imx21.o mm-imx21.o
> @@ -21,8 +21,8 @@ obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-gate2.o \
> obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o
> obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o
>
> -obj-$(CONFIG_MXC_TZIC) += tzic.o
> -obj-$(CONFIG_MXC_AVIC) += avic.o
> +obj-$(CONFIG_MXC_TZIC) += tzic.o irq-common.o
> +obj-$(CONFIG_MXC_AVIC) += avic.o irq-common.o
>
> obj-$(CONFIG_MXC_USE_EPIT) += epit.o
> obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o
>
This patch introduces a build error in sound/soc/fsl/imx-pcm-fiq.c:
sound/built-in.o: In function `imx_pcm_fiq_free':
last.c:(.text+0x2aca8): undefined reference to `mxc_set_irq_fiq'
sound/built-in.o: In function `imx_pcm_fiq_init':
last.c:(.text+0x2b1a4): undefined reference to `mxc_set_irq_fiq'
last.c:(.text+0x2b200): undefined reference to `mxc_set_irq_fiq'
make[1]: *** [vmlinux] Error 1
make: *** [sub-make] Error 2
This could be fixed with the following patch:
--- mxc-fiq.orig/sound/soc/fsl/Kconfig 2014-06-02 11:25:38.315960451 +0200
+++ mxc-fiq/sound/soc/fsl/Kconfig 2014-06-02 11:25:38.411960595 +0200
@@ -15,7 +15,7 @@
config SND_SOC_FSL_SSI
tristate "Synchronous Serial Interface module support"
select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
- select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && ARCH_MXC
+ select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_AVIC || MXC_TZIC)
help
Say Y if you want to add Synchronous Serial Interface (SSI)
support for the Freescale CPUs.
Lothar Wa?mann
--
___________________________________________________________
Ka-Ro electronics GmbH | Pascalstra?e 22 | D - 52076 Aachen
Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
Gesch?ftsf?hrer: Matthias Kaussen
Handelsregistereintrag: Amtsgericht Aachen, HRB 4996
www.karo-electronics.de | info at karo-electronics.de
___________________________________________________________
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] ARM: i.MX: Compile FIQ code for AVIC & TZIC only
2014-06-02 9:33 ` Lothar Waßmann
@ 2014-06-02 9:42 ` Alexander Shiyan
-1 siblings, 0 replies; 12+ messages in thread
From: Alexander Shiyan @ 2014-06-02 9:42 UTC (permalink / raw)
To: Lothar Waßmann
Cc: linux-arm-kernel, alsa-devel, Sascha Hauer, Shawn Guo, Timur Tabi
Mon, 2 Jun 2014 11:33:27 +0200 от Lothar Waßmann <LW@KARO-electronics.de>:
> Hi,
>
> Alexander Shiyan wrote:
> > There are no reason to compile FIQ specific code for GIC IRQ
> > controller (i.MX6). This patch restrict compilation for FIQ
> > specific code for AVIC and TZIC only.
> >
> > Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> > ---
> > arch/arm/mach-imx/Makefile | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> > index bbe93bb..620a760 100644
> > --- a/arch/arm/mach-imx/Makefile
> > +++ b/arch/arm/mach-imx/Makefile
> > @@ -1,4 +1,4 @@
> > -obj-y := time.o cpu.o system.o irq-common.o
> > +obj-y := time.o cpu.o system.o
> >
> > obj-$(CONFIG_SOC_IMX1) += clk-imx1.o mm-imx1.o
> > obj-$(CONFIG_SOC_IMX21) += clk-imx21.o mm-imx21.o
> > @@ -21,8 +21,8 @@ obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-gate2.o \
> > obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o
> > obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o
> >
> > -obj-$(CONFIG_MXC_TZIC) += tzic.o
> > -obj-$(CONFIG_MXC_AVIC) += avic.o
> > +obj-$(CONFIG_MXC_TZIC) += tzic.o irq-common.o
> > +obj-$(CONFIG_MXC_AVIC) += avic.o irq-common.o
> >
> > obj-$(CONFIG_MXC_USE_EPIT) += epit.o
> > obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o
> >
> This patch introduces a build error in sound/soc/fsl/imx-pcm-fiq.c:
> sound/built-in.o: In function `imx_pcm_fiq_free':
> last.c:(.text+0x2aca8): undefined reference to `mxc_set_irq_fiq'
> sound/built-in.o: In function `imx_pcm_fiq_init':
> last.c:(.text+0x2b1a4): undefined reference to `mxc_set_irq_fiq'
> last.c:(.text+0x2b200): undefined reference to `mxc_set_irq_fiq'
> make[1]: *** [vmlinux] Error 1
> make: *** [sub-make] Error 2
>
> This could be fixed with the following patch:
> --- mxc-fiq.orig/sound/soc/fsl/Kconfig 2014-06-02 11:25:38.315960451 +0200
> +++ mxc-fiq/sound/soc/fsl/Kconfig 2014-06-02 11:25:38.411960595 +0200
> @@ -15,7 +15,7 @@
> config SND_SOC_FSL_SSI
> tristate "Synchronous Serial Interface module support"
> select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
> - select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && ARCH_MXC
> + select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_AVIC || MXC_TZIC)
...
No. This will break building fsl-ssi for PPC and i.MX6, so let's just drop original patch for a while.
---
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] ARM: i.MX: Compile FIQ code for AVIC & TZIC only
@ 2014-06-02 9:42 ` Alexander Shiyan
0 siblings, 0 replies; 12+ messages in thread
From: Alexander Shiyan @ 2014-06-02 9:42 UTC (permalink / raw)
To: linux-arm-kernel
Mon, 2 Jun 2014 11:33:27 +0200 ?? Lothar Wa?mann <LW@KARO-electronics.de>:
> Hi,
>
> Alexander Shiyan wrote:
> > There are no reason to compile FIQ specific code for GIC IRQ
> > controller (i.MX6). This patch restrict compilation for FIQ
> > specific code for AVIC and TZIC only.
> >
> > Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> > ---
> > arch/arm/mach-imx/Makefile | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> > index bbe93bb..620a760 100644
> > --- a/arch/arm/mach-imx/Makefile
> > +++ b/arch/arm/mach-imx/Makefile
> > @@ -1,4 +1,4 @@
> > -obj-y := time.o cpu.o system.o irq-common.o
> > +obj-y := time.o cpu.o system.o
> >
> > obj-$(CONFIG_SOC_IMX1) += clk-imx1.o mm-imx1.o
> > obj-$(CONFIG_SOC_IMX21) += clk-imx21.o mm-imx21.o
> > @@ -21,8 +21,8 @@ obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-gate2.o \
> > obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o
> > obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o
> >
> > -obj-$(CONFIG_MXC_TZIC) += tzic.o
> > -obj-$(CONFIG_MXC_AVIC) += avic.o
> > +obj-$(CONFIG_MXC_TZIC) += tzic.o irq-common.o
> > +obj-$(CONFIG_MXC_AVIC) += avic.o irq-common.o
> >
> > obj-$(CONFIG_MXC_USE_EPIT) += epit.o
> > obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o
> >
> This patch introduces a build error in sound/soc/fsl/imx-pcm-fiq.c:
> sound/built-in.o: In function `imx_pcm_fiq_free':
> last.c:(.text+0x2aca8): undefined reference to `mxc_set_irq_fiq'
> sound/built-in.o: In function `imx_pcm_fiq_init':
> last.c:(.text+0x2b1a4): undefined reference to `mxc_set_irq_fiq'
> last.c:(.text+0x2b200): undefined reference to `mxc_set_irq_fiq'
> make[1]: *** [vmlinux] Error 1
> make: *** [sub-make] Error 2
>
> This could be fixed with the following patch:
> --- mxc-fiq.orig/sound/soc/fsl/Kconfig 2014-06-02 11:25:38.315960451 +0200
> +++ mxc-fiq/sound/soc/fsl/Kconfig 2014-06-02 11:25:38.411960595 +0200
> @@ -15,7 +15,7 @@
> config SND_SOC_FSL_SSI
> tristate "Synchronous Serial Interface module support"
> select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
> - select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && ARCH_MXC
> + select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_AVIC || MXC_TZIC)
...
No. This will break building fsl-ssi for PPC and i.MX6, so let's just drop original patch for a while.
---
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] ARM: i.MX: Compile FIQ code for AVIC & TZIC only
2014-06-02 9:42 ` Alexander Shiyan
@ 2014-06-02 10:10 ` Lothar Waßmann
-1 siblings, 0 replies; 12+ messages in thread
From: Lothar Waßmann @ 2014-06-02 10:10 UTC (permalink / raw)
To: Alexander Shiyan
Cc: linux-arm-kernel, alsa-devel, Sascha Hauer, Shawn Guo, Timur Tabi
Hi,
Alexander Shiyan wrote:
> Mon, 2 Jun 2014 11:33:27 +0200 от Lothar Waßmann <LW@KARO-electronics.de>:
> > Hi,
> >
> > Alexander Shiyan wrote:
> > > There are no reason to compile FIQ specific code for GIC IRQ
> > > controller (i.MX6). This patch restrict compilation for FIQ
> > > specific code for AVIC and TZIC only.
> > >
> > > Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> > > ---
> > > arch/arm/mach-imx/Makefile | 6 +++---
> > > 1 file changed, 3 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> > > index bbe93bb..620a760 100644
> > > --- a/arch/arm/mach-imx/Makefile
> > > +++ b/arch/arm/mach-imx/Makefile
> > > @@ -1,4 +1,4 @@
> > > -obj-y := time.o cpu.o system.o irq-common.o
> > > +obj-y := time.o cpu.o system.o
> > >
> > > obj-$(CONFIG_SOC_IMX1) += clk-imx1.o mm-imx1.o
> > > obj-$(CONFIG_SOC_IMX21) += clk-imx21.o mm-imx21.o
> > > @@ -21,8 +21,8 @@ obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-gate2.o \
> > > obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o
> > > obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o
> > >
> > > -obj-$(CONFIG_MXC_TZIC) += tzic.o
> > > -obj-$(CONFIG_MXC_AVIC) += avic.o
> > > +obj-$(CONFIG_MXC_TZIC) += tzic.o irq-common.o
> > > +obj-$(CONFIG_MXC_AVIC) += avic.o irq-common.o
> > >
> > > obj-$(CONFIG_MXC_USE_EPIT) += epit.o
> > > obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o
> > >
> > This patch introduces a build error in sound/soc/fsl/imx-pcm-fiq.c:
> > sound/built-in.o: In function `imx_pcm_fiq_free':
> > last.c:(.text+0x2aca8): undefined reference to `mxc_set_irq_fiq'
> > sound/built-in.o: In function `imx_pcm_fiq_init':
> > last.c:(.text+0x2b1a4): undefined reference to `mxc_set_irq_fiq'
> > last.c:(.text+0x2b200): undefined reference to `mxc_set_irq_fiq'
> > make[1]: *** [vmlinux] Error 1
> > make: *** [sub-make] Error 2
> >
> > This could be fixed with the following patch:
> > --- mxc-fiq.orig/sound/soc/fsl/Kconfig 2014-06-02 11:25:38.315960451 +0200
> > +++ mxc-fiq/sound/soc/fsl/Kconfig 2014-06-02 11:25:38.411960595 +0200
> > @@ -15,7 +15,7 @@
> > config SND_SOC_FSL_SSI
> > tristate "Synchronous Serial Interface module support"
> > select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
> > - select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && ARCH_MXC
> > + select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_AVIC || MXC_TZIC)
> ...
>
> No. This will break building fsl-ssi for PPC and i.MX6, so let's just drop original patch for a while.
>
Why and how?
MXC_AVIC or MXC_TZIC are just more specific than ARCH_MXC and will be
set only on ARCH_MXC when there is either a TZIC or AVIC controller
selected.
The PPC driver won't have ARCH_MXC defined anyway. Thus there will be
no change for that one
I've successfully build the driver on i.MX6.
Lothar Waßmann
--
___________________________________________________________
Ka-Ro electronics GmbH | Pascalstraße 22 | D - 52076 Aachen
Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
Geschäftsführer: Matthias Kaussen
Handelsregistereintrag: Amtsgericht Aachen, HRB 4996
www.karo-electronics.de | info@karo-electronics.de
___________________________________________________________
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH] ARM: i.MX: Compile FIQ code for AVIC & TZIC only
@ 2014-06-02 10:10 ` Lothar Waßmann
0 siblings, 0 replies; 12+ messages in thread
From: Lothar Waßmann @ 2014-06-02 10:10 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
Alexander Shiyan wrote:
> Mon, 2 Jun 2014 11:33:27 +0200 ?? Lothar Wa?mann <LW@KARO-electronics.de>:
> > Hi,
> >
> > Alexander Shiyan wrote:
> > > There are no reason to compile FIQ specific code for GIC IRQ
> > > controller (i.MX6). This patch restrict compilation for FIQ
> > > specific code for AVIC and TZIC only.
> > >
> > > Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> > > ---
> > > arch/arm/mach-imx/Makefile | 6 +++---
> > > 1 file changed, 3 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> > > index bbe93bb..620a760 100644
> > > --- a/arch/arm/mach-imx/Makefile
> > > +++ b/arch/arm/mach-imx/Makefile
> > > @@ -1,4 +1,4 @@
> > > -obj-y := time.o cpu.o system.o irq-common.o
> > > +obj-y := time.o cpu.o system.o
> > >
> > > obj-$(CONFIG_SOC_IMX1) += clk-imx1.o mm-imx1.o
> > > obj-$(CONFIG_SOC_IMX21) += clk-imx21.o mm-imx21.o
> > > @@ -21,8 +21,8 @@ obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-gate2.o \
> > > obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o
> > > obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o
> > >
> > > -obj-$(CONFIG_MXC_TZIC) += tzic.o
> > > -obj-$(CONFIG_MXC_AVIC) += avic.o
> > > +obj-$(CONFIG_MXC_TZIC) += tzic.o irq-common.o
> > > +obj-$(CONFIG_MXC_AVIC) += avic.o irq-common.o
> > >
> > > obj-$(CONFIG_MXC_USE_EPIT) += epit.o
> > > obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o
> > >
> > This patch introduces a build error in sound/soc/fsl/imx-pcm-fiq.c:
> > sound/built-in.o: In function `imx_pcm_fiq_free':
> > last.c:(.text+0x2aca8): undefined reference to `mxc_set_irq_fiq'
> > sound/built-in.o: In function `imx_pcm_fiq_init':
> > last.c:(.text+0x2b1a4): undefined reference to `mxc_set_irq_fiq'
> > last.c:(.text+0x2b200): undefined reference to `mxc_set_irq_fiq'
> > make[1]: *** [vmlinux] Error 1
> > make: *** [sub-make] Error 2
> >
> > This could be fixed with the following patch:
> > --- mxc-fiq.orig/sound/soc/fsl/Kconfig 2014-06-02 11:25:38.315960451 +0200
> > +++ mxc-fiq/sound/soc/fsl/Kconfig 2014-06-02 11:25:38.411960595 +0200
> > @@ -15,7 +15,7 @@
> > config SND_SOC_FSL_SSI
> > tristate "Synchronous Serial Interface module support"
> > select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
> > - select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && ARCH_MXC
> > + select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_AVIC || MXC_TZIC)
> ...
>
> No. This will break building fsl-ssi for PPC and i.MX6, so let's just drop original patch for a while.
>
Why and how?
MXC_AVIC or MXC_TZIC are just more specific than ARCH_MXC and will be
set only on ARCH_MXC when there is either a TZIC or AVIC controller
selected.
The PPC driver won't have ARCH_MXC defined anyway. Thus there will be
no change for that one
I've successfully build the driver on i.MX6.
Lothar Wa?mann
--
___________________________________________________________
Ka-Ro electronics GmbH | Pascalstra?e 22 | D - 52076 Aachen
Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
Gesch?ftsf?hrer: Matthias Kaussen
Handelsregistereintrag: Amtsgericht Aachen, HRB 4996
www.karo-electronics.de | info at karo-electronics.de
___________________________________________________________
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] ARM: i.MX: Compile FIQ code for AVIC & TZIC only
2014-06-02 9:42 ` Alexander Shiyan
@ 2014-06-03 7:37 ` Shawn Guo
-1 siblings, 0 replies; 12+ messages in thread
From: Shawn Guo @ 2014-06-03 7:37 UTC (permalink / raw)
To: Alexander Shiyan
Cc: alsa-devel, Timur Tabi, linux-arm-kernel, Sascha Hauer,
Lothar Waßmann
On Mon, Jun 02, 2014 at 01:42:43PM +0400, Alexander Shiyan wrote:
> Mon, 2 Jun 2014 11:33:27 +0200 от Lothar Waßmann <LW@KARO-electronics.de>:
> > Hi,
> >
> > Alexander Shiyan wrote:
> > > There are no reason to compile FIQ specific code for GIC IRQ
> > > controller (i.MX6). This patch restrict compilation for FIQ
> > > specific code for AVIC and TZIC only.
> > >
> > > Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> > > ---
> > > arch/arm/mach-imx/Makefile | 6 +++---
> > > 1 file changed, 3 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> > > index bbe93bb..620a760 100644
> > > --- a/arch/arm/mach-imx/Makefile
> > > +++ b/arch/arm/mach-imx/Makefile
> > > @@ -1,4 +1,4 @@
> > > -obj-y := time.o cpu.o system.o irq-common.o
> > > +obj-y := time.o cpu.o system.o
> > >
> > > obj-$(CONFIG_SOC_IMX1) += clk-imx1.o mm-imx1.o
> > > obj-$(CONFIG_SOC_IMX21) += clk-imx21.o mm-imx21.o
> > > @@ -21,8 +21,8 @@ obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-gate2.o \
> > > obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o
> > > obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o
> > >
> > > -obj-$(CONFIG_MXC_TZIC) += tzic.o
> > > -obj-$(CONFIG_MXC_AVIC) += avic.o
> > > +obj-$(CONFIG_MXC_TZIC) += tzic.o irq-common.o
> > > +obj-$(CONFIG_MXC_AVIC) += avic.o irq-common.o
> > >
> > > obj-$(CONFIG_MXC_USE_EPIT) += epit.o
> > > obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o
> > >
> > This patch introduces a build error in sound/soc/fsl/imx-pcm-fiq.c:
> > sound/built-in.o: In function `imx_pcm_fiq_free':
> > last.c:(.text+0x2aca8): undefined reference to `mxc_set_irq_fiq'
> > sound/built-in.o: In function `imx_pcm_fiq_init':
> > last.c:(.text+0x2b1a4): undefined reference to `mxc_set_irq_fiq'
> > last.c:(.text+0x2b200): undefined reference to `mxc_set_irq_fiq'
> > make[1]: *** [vmlinux] Error 1
> > make: *** [sub-make] Error 2
> >
> > This could be fixed with the following patch:
> > --- mxc-fiq.orig/sound/soc/fsl/Kconfig 2014-06-02 11:25:38.315960451 +0200
> > +++ mxc-fiq/sound/soc/fsl/Kconfig 2014-06-02 11:25:38.411960595 +0200
> > @@ -15,7 +15,7 @@
> > config SND_SOC_FSL_SSI
> > tristate "Synchronous Serial Interface module support"
> > select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
> > - select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && ARCH_MXC
> > + select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_AVIC || MXC_TZIC)
> ...
>
> No. This will break building fsl-ssi for PPC and i.MX6, so let's just drop original patch for a while.
Ok, patch dropped for now.
Shawn
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH] ARM: i.MX: Compile FIQ code for AVIC & TZIC only
@ 2014-06-03 7:37 ` Shawn Guo
0 siblings, 0 replies; 12+ messages in thread
From: Shawn Guo @ 2014-06-03 7:37 UTC (permalink / raw)
To: linux-arm-kernel
On Mon, Jun 02, 2014 at 01:42:43PM +0400, Alexander Shiyan wrote:
> Mon, 2 Jun 2014 11:33:27 +0200 ?? Lothar Wa?mann <LW@KARO-electronics.de>:
> > Hi,
> >
> > Alexander Shiyan wrote:
> > > There are no reason to compile FIQ specific code for GIC IRQ
> > > controller (i.MX6). This patch restrict compilation for FIQ
> > > specific code for AVIC and TZIC only.
> > >
> > > Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> > > ---
> > > arch/arm/mach-imx/Makefile | 6 +++---
> > > 1 file changed, 3 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> > > index bbe93bb..620a760 100644
> > > --- a/arch/arm/mach-imx/Makefile
> > > +++ b/arch/arm/mach-imx/Makefile
> > > @@ -1,4 +1,4 @@
> > > -obj-y := time.o cpu.o system.o irq-common.o
> > > +obj-y := time.o cpu.o system.o
> > >
> > > obj-$(CONFIG_SOC_IMX1) += clk-imx1.o mm-imx1.o
> > > obj-$(CONFIG_SOC_IMX21) += clk-imx21.o mm-imx21.o
> > > @@ -21,8 +21,8 @@ obj-$(CONFIG_COMMON_CLK) += clk-pllv1.o clk-pllv2.o clk-pllv3.o clk-gate2.o \
> > > obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o
> > > obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o
> > >
> > > -obj-$(CONFIG_MXC_TZIC) += tzic.o
> > > -obj-$(CONFIG_MXC_AVIC) += avic.o
> > > +obj-$(CONFIG_MXC_TZIC) += tzic.o irq-common.o
> > > +obj-$(CONFIG_MXC_AVIC) += avic.o irq-common.o
> > >
> > > obj-$(CONFIG_MXC_USE_EPIT) += epit.o
> > > obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o
> > >
> > This patch introduces a build error in sound/soc/fsl/imx-pcm-fiq.c:
> > sound/built-in.o: In function `imx_pcm_fiq_free':
> > last.c:(.text+0x2aca8): undefined reference to `mxc_set_irq_fiq'
> > sound/built-in.o: In function `imx_pcm_fiq_init':
> > last.c:(.text+0x2b1a4): undefined reference to `mxc_set_irq_fiq'
> > last.c:(.text+0x2b200): undefined reference to `mxc_set_irq_fiq'
> > make[1]: *** [vmlinux] Error 1
> > make: *** [sub-make] Error 2
> >
> > This could be fixed with the following patch:
> > --- mxc-fiq.orig/sound/soc/fsl/Kconfig 2014-06-02 11:25:38.315960451 +0200
> > +++ mxc-fiq/sound/soc/fsl/Kconfig 2014-06-02 11:25:38.411960595 +0200
> > @@ -15,7 +15,7 @@
> > config SND_SOC_FSL_SSI
> > tristate "Synchronous Serial Interface module support"
> > select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
> > - select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && ARCH_MXC
> > + select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_AVIC || MXC_TZIC)
> ...
>
> No. This will break building fsl-ssi for PPC and i.MX6, so let's just drop original patch for a while.
Ok, patch dropped for now.
Shawn
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH] ARM: i.MX: Remove registration helper for i.MX1 USB UDC
2014-05-20 16:43 [PATCH v2] ARM: i.MX1 clk: Add devicetree support Alexander Shiyan
2014-05-20 16:43 ` [PATCH] ARM: i.MX: Compile FIQ code for AVIC & TZIC only Alexander Shiyan
@ 2014-05-20 16:43 ` Alexander Shiyan
2014-05-21 7:05 ` [PATCH v2] ARM: i.MX1 clk: Add devicetree support Shawn Guo
2 siblings, 0 replies; 12+ messages in thread
From: Alexander Shiyan @ 2014-05-20 16:43 UTC (permalink / raw)
To: linux-arm-kernel
imx_udc driver was removed from the kernel of about 10 months ago.
This patch removes a registration helper for this driver and
orphaned driver header.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
---
arch/arm/mach-imx/devices/Kconfig | 3 --
arch/arm/mach-imx/devices/Makefile | 1 -
arch/arm/mach-imx/devices/devices-common.h | 16 ------
arch/arm/mach-imx/devices/platform-imx_udc.c | 75 ----------------------------
include/linux/platform_data/usb-imx_udc.h | 23 ---------
5 files changed, 118 deletions(-)
delete mode 100644 arch/arm/mach-imx/devices/platform-imx_udc.c
delete mode 100644 include/linux/platform_data/usb-imx_udc.h
diff --git a/arch/arm/mach-imx/devices/Kconfig b/arch/arm/mach-imx/devices/Kconfig
index 2d260a5..dd7e0b4 100644
--- a/arch/arm/mach-imx/devices/Kconfig
+++ b/arch/arm/mach-imx/devices/Kconfig
@@ -43,9 +43,6 @@ config IMX_HAVE_PLATFORM_IMX_SSI
config IMX_HAVE_PLATFORM_IMX_UART
bool
-config IMX_HAVE_PLATFORM_IMX_UDC
- bool
-
config IMX_HAVE_PLATFORM_IPU_CORE
bool
diff --git a/arch/arm/mach-imx/devices/Makefile b/arch/arm/mach-imx/devices/Makefile
index 1cbc14c..6bb144d 100644
--- a/arch/arm/mach-imx/devices/Makefile
+++ b/arch/arm/mach-imx/devices/Makefile
@@ -16,7 +16,6 @@ obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_KEYPAD) += platform-imx-keypad.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_PATA_IMX) += platform-pata_imx.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_SSI) += platform-imx-ssi.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UART) += platform-imx-uart.o
-obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UDC) += platform-imx_udc.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_IPU_CORE) += platform-ipu-core.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_MX1_CAMERA) += platform-mx1-camera.o
obj-$(CONFIG_IMX_HAVE_PLATFORM_MX2_CAMERA) += platform-mx2-camera.o
diff --git a/arch/arm/mach-imx/devices/devices-common.h b/arch/arm/mach-imx/devices/devices-common.h
index 61352a8..69bafc8 100644
--- a/arch/arm/mach-imx/devices/devices-common.h
+++ b/arch/arm/mach-imx/devices/devices-common.h
@@ -176,22 +176,6 @@ struct platform_device *__init imx_add_imx_uart_1irq(
const struct imx_imx_uart_1irq_data *data,
const struct imxuart_platform_data *pdata);
-#include <linux/platform_data/usb-imx_udc.h>
-struct imx_imx_udc_data {
- resource_size_t iobase;
- resource_size_t iosize;
- resource_size_t irq0;
- resource_size_t irq1;
- resource_size_t irq2;
- resource_size_t irq3;
- resource_size_t irq4;
- resource_size_t irq5;
- resource_size_t irq6;
-};
-struct platform_device *__init imx_add_imx_udc(
- const struct imx_imx_udc_data *data,
- const struct imxusb_platform_data *pdata);
-
#include <linux/platform_data/video-mx3fb.h>
#include <linux/platform_data/camera-mx3.h>
struct imx_ipu_core_data {
diff --git a/arch/arm/mach-imx/devices/platform-imx_udc.c b/arch/arm/mach-imx/devices/platform-imx_udc.c
deleted file mode 100644
index 5ced7e4..0000000
--- a/arch/arm/mach-imx/devices/platform-imx_udc.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2010 Pengutronix
- * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
- *
- * This program is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License version 2 as published by the
- * Free Software Foundation.
- */
-#include "../hardware.h"
-#include "devices-common.h"
-
-#define imx_imx_udc_data_entry_single(soc, _size) \
- { \
- .iobase = soc ## _USBD_BASE_ADDR, \
- .iosize = _size, \
- .irq0 = soc ## _INT_USBD0, \
- .irq1 = soc ## _INT_USBD1, \
- .irq2 = soc ## _INT_USBD2, \
- .irq3 = soc ## _INT_USBD3, \
- .irq4 = soc ## _INT_USBD4, \
- .irq5 = soc ## _INT_USBD5, \
- .irq6 = soc ## _INT_USBD6, \
- }
-
-#define imx_imx_udc_data_entry(soc, _size) \
- [_id] = imx_imx_udc_data_entry_single(soc, _size)
-
-#ifdef CONFIG_SOC_IMX1
-const struct imx_imx_udc_data imx1_imx_udc_data __initconst =
- imx_imx_udc_data_entry_single(MX1, SZ_4K);
-#endif /* ifdef CONFIG_SOC_IMX1 */
-
-struct platform_device *__init imx_add_imx_udc(
- const struct imx_imx_udc_data *data,
- const struct imxusb_platform_data *pdata)
-{
- struct resource res[] = {
- {
- .start = data->iobase,
- .end = data->iobase + data->iosize - 1,
- .flags = IORESOURCE_MEM,
- }, {
- .start = data->irq0,
- .end = data->irq0,
- .flags = IORESOURCE_IRQ,
- }, {
- .start = data->irq1,
- .end = data->irq1,
- .flags = IORESOURCE_IRQ,
- }, {
- .start = data->irq2,
- .end = data->irq2,
- .flags = IORESOURCE_IRQ,
- }, {
- .start = data->irq3,
- .end = data->irq3,
- .flags = IORESOURCE_IRQ,
- }, {
- .start = data->irq4,
- .end = data->irq4,
- .flags = IORESOURCE_IRQ,
- }, {
- .start = data->irq5,
- .end = data->irq5,
- .flags = IORESOURCE_IRQ,
- }, {
- .start = data->irq6,
- .end = data->irq6,
- .flags = IORESOURCE_IRQ,
- },
- };
-
- return imx_add_platform_device("imx_udc", 0,
- res, ARRAY_SIZE(res), pdata, sizeof(*pdata));
-}
diff --git a/include/linux/platform_data/usb-imx_udc.h b/include/linux/platform_data/usb-imx_udc.h
deleted file mode 100644
index be27337..0000000
--- a/include/linux/platform_data/usb-imx_udc.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (C) 2008 Darius Augulis <augulis.darius@gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- */
-
-#ifndef __ASM_ARCH_MXC_USB
-#define __ASM_ARCH_MXC_USB
-
-struct imxusb_platform_data {
- int (*init)(struct device *);
- void (*exit)(struct device *);
-};
-
-#endif /* __ASM_ARCH_MXC_USB */
--
1.8.5.5
^ permalink raw reply related [flat|nested] 12+ messages in thread* [PATCH v2] ARM: i.MX1 clk: Add devicetree support
2014-05-20 16:43 [PATCH v2] ARM: i.MX1 clk: Add devicetree support Alexander Shiyan
2014-05-20 16:43 ` [PATCH] ARM: i.MX: Compile FIQ code for AVIC & TZIC only Alexander Shiyan
2014-05-20 16:43 ` [PATCH] ARM: i.MX: Remove registration helper for i.MX1 USB UDC Alexander Shiyan
@ 2014-05-21 7:05 ` Shawn Guo
2 siblings, 0 replies; 12+ messages in thread
From: Shawn Guo @ 2014-05-21 7:05 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, May 20, 2014 at 08:43:49PM +0400, Alexander Shiyan wrote:
> This patch adds devicetree support CCM module for i.MX1 (MC9328MX1) CPUs.
>
> Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Applied all 3, thanks.
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2014-06-03 7:37 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-20 16:43 [PATCH v2] ARM: i.MX1 clk: Add devicetree support Alexander Shiyan
2014-05-20 16:43 ` [PATCH] ARM: i.MX: Compile FIQ code for AVIC & TZIC only Alexander Shiyan
2014-06-02 9:33 ` Lothar Waßmann
2014-06-02 9:33 ` Lothar Waßmann
2014-06-02 9:42 ` Alexander Shiyan
2014-06-02 9:42 ` Alexander Shiyan
2014-06-02 10:10 ` Lothar Waßmann
2014-06-02 10:10 ` Lothar Waßmann
2014-06-03 7:37 ` Shawn Guo
2014-06-03 7:37 ` Shawn Guo
2014-05-20 16:43 ` [PATCH] ARM: i.MX: Remove registration helper for i.MX1 USB UDC Alexander Shiyan
2014-05-21 7:05 ` [PATCH v2] ARM: i.MX1 clk: Add devicetree support Shawn Guo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.