* [PATCH v2 1/4] ARM: dts: imx6sx: Fix sdma node
@ 2014-07-02 14:58 Fabio Estevam
2014-07-02 14:58 ` [PATCH v2 2/4] ARM: dts: imx6sx: Pass the fsl,fifo-depth property Fabio Estevam
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Fabio Estevam @ 2014-07-02 14:58 UTC (permalink / raw)
To: linux-arm-kernel
From: Fabio Estevam <fabio.estevam@freescale.com>
Use the correct compatible string for sdma and also provide the sdma firmware
path.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
Changes since v1:
- None
arch/arm/boot/dts/imx6sx.dtsi | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi
index a7d74e7..2929078 100644
--- a/arch/arm/boot/dts/imx6sx.dtsi
+++ b/arch/arm/boot/dts/imx6sx.dtsi
@@ -703,13 +703,15 @@
};
sdma: sdma at 020ec000 {
- compatible = "fsl,imx6sx-sdma";
+ compatible = "fsl,imx6sx-sdma", "fsl,imx35-sdma";
reg = <0x020ec000 0x4000>;
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6SX_CLK_SDMA>,
<&clks IMX6SX_CLK_SDMA>;
clock-names = "ipg", "ahb";
#dma-cells = <3>;
+ /* imx6sx reuses imx6q sdma firmware */
+ fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
};
};
--
1.8.3.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 2/4] ARM: dts: imx6sx: Pass the fsl,fifo-depth property
2014-07-02 14:58 [PATCH v2 1/4] ARM: dts: imx6sx: Fix sdma node Fabio Estevam
@ 2014-07-02 14:58 ` Fabio Estevam
2014-07-02 14:58 ` [PATCH v2 3/4] ARM: imx: clk-imx6sx: register SSI/SSI_IPG as shared gate clocks Fabio Estevam
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Fabio Estevam @ 2014-07-02 14:58 UTC (permalink / raw)
To: linux-arm-kernel
From: Fabio Estevam <fabio.estevam@freescale.com>
Like the other mx6 variants, we need to pass fsl,fifo-depth property in dtsi.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
Changes since v1:
- Only add fifo-depth and keep the clocks as before
arch/arm/boot/dts/imx6sx.dtsi | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi
index 2929078..92d48be 100644
--- a/arch/arm/boot/dts/imx6sx.dtsi
+++ b/arch/arm/boot/dts/imx6sx.dtsi
@@ -306,6 +306,7 @@
clock-names = "ipg", "baud";
dmas = <&sdma 37 1 0>, <&sdma 38 1 0>;
dma-names = "rx", "tx";
+ fsl,fifo-depth = <15>;
status = "disabled";
};
@@ -318,6 +319,7 @@
clock-names = "ipg", "baud";
dmas = <&sdma 41 1 0>, <&sdma 42 1 0>;
dma-names = "rx", "tx";
+ fsl,fifo-depth = <15>;
status = "disabled";
};
@@ -330,6 +332,7 @@
clock-names = "ipg", "baud";
dmas = <&sdma 45 1 0>, <&sdma 46 1 0>;
dma-names = "rx", "tx";
+ fsl,fifo-depth = <15>;
status = "disabled";
};
--
1.8.3.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 3/4] ARM: imx: clk-imx6sx: register SSI/SSI_IPG as shared gate clocks
2014-07-02 14:58 [PATCH v2 1/4] ARM: dts: imx6sx: Fix sdma node Fabio Estevam
2014-07-02 14:58 ` [PATCH v2 2/4] ARM: dts: imx6sx: Pass the fsl,fifo-depth property Fabio Estevam
@ 2014-07-02 14:58 ` Fabio Estevam
2014-07-02 14:58 ` [PATCH v2 4/4] ARM: dts: imx6sx-sdb: Add audio support Fabio Estevam
2014-07-03 9:13 ` [PATCH v2 1/4] ARM: dts: imx6sx: Fix sdma node Shawn Guo
3 siblings, 0 replies; 5+ messages in thread
From: Fabio Estevam @ 2014-07-02 14:58 UTC (permalink / raw)
To: linux-arm-kernel
From: Fabio Estevam <fabio.estevam@freescale.com>
SSI and SSI_IPG are clocks controlled by the same clock gating field, so
register them with imx_clk_gate2_shared.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
Changes since v1:
- Use imx_clk_gate2_shared
arch/arm/mach-imx/clk-imx6sx.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/arch/arm/mach-imx/clk-imx6sx.c b/arch/arm/mach-imx/clk-imx6sx.c
index 2e96103..7cd3f03 100644
--- a/arch/arm/mach-imx/clk-imx6sx.c
+++ b/arch/arm/mach-imx/clk-imx6sx.c
@@ -124,6 +124,9 @@ static struct clk_div_table video_div_table[] = {
static u32 share_count_asrc;
static u32 share_count_audio;
static u32 share_count_esai;
+static u32 share_count_ssi1;
+static u32 share_count_ssi2;
+static u32 share_count_ssi3;
static void __init imx6sx_clocks_init(struct device_node *ccm_node)
{
@@ -409,12 +412,12 @@ static void __init imx6sx_clocks_init(struct device_node *ccm_node)
clks[IMX6SX_CLK_SPBA] = imx_clk_gate2("spba", "ipg", base + 0x7c, 12);
clks[IMX6SX_CLK_AUDIO] = imx_clk_gate2_shared("audio", "audio_podf", base + 0x7c, 14, &share_count_audio);
clks[IMX6SX_CLK_SPDIF] = imx_clk_gate2_shared("spdif", "spdif_podf", base + 0x7c, 14, &share_count_audio);
- clks[IMX6SX_CLK_SSI1_IPG] = imx_clk_gate2("ssi1_ipg", "ipg", base + 0x7c, 18);
- clks[IMX6SX_CLK_SSI2_IPG] = imx_clk_gate2("ssi2_ipg", "ipg", base + 0x7c, 20);
- clks[IMX6SX_CLK_SSI3_IPG] = imx_clk_gate2("ssi3_ipg", "ipg", base + 0x7c, 22);
- clks[IMX6SX_CLK_SSI1] = imx_clk_gate2("ssi1", "ssi1_podf", base + 0x7c, 18);
- clks[IMX6SX_CLK_SSI2] = imx_clk_gate2("ssi2", "ssi2_podf", base + 0x7c, 20);
- clks[IMX6SX_CLK_SSI3] = imx_clk_gate2("ssi3", "ssi3_podf", base + 0x7c, 22);
+ clks[IMX6SX_CLK_SSI1_IPG] = imx_clk_gate2_shared("ssi1_ipg", "ipg", base + 0x7c, 18, &share_count_ssi1);
+ clks[IMX6SX_CLK_SSI2_IPG] = imx_clk_gate2_shared("ssi2_ipg", "ipg", base + 0x7c, 20, &share_count_ssi2);
+ clks[IMX6SX_CLK_SSI3_IPG] = imx_clk_gate2_shared("ssi3_ipg", "ipg", base + 0x7c, 22, &share_count_ssi3);
+ clks[IMX6SX_CLK_SSI1] = imx_clk_gate2_shared("ssi1", "ssi1_podf", base + 0x7c, 18, &share_count_ssi1);
+ clks[IMX6SX_CLK_SSI2] = imx_clk_gate2_shared("ssi2", "ssi2_podf", base + 0x7c, 20, &share_count_ssi2);
+ clks[IMX6SX_CLK_SSI3] = imx_clk_gate2_shared("ssi3", "ssi3_podf", base + 0x7c, 22, &share_count_ssi3);
clks[IMX6SX_CLK_UART_IPG] = imx_clk_gate2("uart_ipg", "ipg", base + 0x7c, 24);
clks[IMX6SX_CLK_UART_SERIAL] = imx_clk_gate2("uart_serial", "uart_podf", base + 0x7c, 26);
clks[IMX6SX_CLK_SAI1_IPG] = imx_clk_gate2("sai1_ipg", "ipg", base + 0x7c, 28);
--
1.8.3.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 4/4] ARM: dts: imx6sx-sdb: Add audio support
2014-07-02 14:58 [PATCH v2 1/4] ARM: dts: imx6sx: Fix sdma node Fabio Estevam
2014-07-02 14:58 ` [PATCH v2 2/4] ARM: dts: imx6sx: Pass the fsl,fifo-depth property Fabio Estevam
2014-07-02 14:58 ` [PATCH v2 3/4] ARM: imx: clk-imx6sx: register SSI/SSI_IPG as shared gate clocks Fabio Estevam
@ 2014-07-02 14:58 ` Fabio Estevam
2014-07-03 9:13 ` [PATCH v2 1/4] ARM: dts: imx6sx: Fix sdma node Shawn Guo
3 siblings, 0 replies; 5+ messages in thread
From: Fabio Estevam @ 2014-07-02 14:58 UTC (permalink / raw)
To: linux-arm-kernel
From: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
In order to get audio working we still need to fix a bug
in arch/arm/mach-imx/clk-gate2.c, which would be an independent fix.
If someone wants to try audio on mx6sx-sdb board, please manually
write 0xffffffff into register CCGR5.
Changes since v1:
- None
arch/arm/boot/dts/imx6sx-sdb.dts | 72 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 72 insertions(+)
diff --git a/arch/arm/boot/dts/imx6sx-sdb.dts b/arch/arm/boot/dts/imx6sx-sdb.dts
index 2571261..a3980d9 100644
--- a/arch/arm/boot/dts/imx6sx-sdb.dts
+++ b/arch/arm/boot/dts/imx6sx-sdb.dts
@@ -82,9 +82,39 @@
gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
+
+ reg_psu_5v: regulator at 3 {
+ compatible = "regulator-fixed";
+ reg = <3>;
+ regulator-name = "PSU-5V0";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
+ };
+
+ sound {
+ compatible = "fsl,imx6sx-sdb-wm8962", "fsl,imx-audio-wm8962";
+ model = "wm8962-audio";
+ ssi-controller = <&ssi2>;
+ audio-codec = <&codec>;
+ audio-routing =
+ "Headphone Jack", "HPOUTL",
+ "Headphone Jack", "HPOUTR",
+ "Ext Spk", "SPKOUTL",
+ "Ext Spk", "SPKOUTR",
+ "AMIC", "MICBIAS",
+ "IN3R", "AMIC";
+ mux-int-port = <2>;
+ mux-ext-port = <6>;
};
};
+&audmux {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_audmux>;
+ status = "okay";
+};
+
&fec1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet1>;
@@ -200,6 +230,31 @@
};
};
+&i2c4 {
+ clock-frequency = <100000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c4>;
+ status = "okay";
+
+ codec: wm8962 at 1a {
+ compatible = "wlf,wm8962";
+ reg = <0x1a>;
+ clocks = <&clks IMX6SX_CLK_AUDIO>;
+ DCVDD-supply = <&vgen4_reg>;
+ DBVDD-supply = <&vgen4_reg>;
+ AVDD-supply = <&vgen4_reg>;
+ CPVDD-supply = <&vgen4_reg>;
+ MICVDD-supply = <&vgen3_reg>;
+ PLLVDD-supply = <&vgen4_reg>;
+ SPKVDD1-supply = <®_psu_5v>;
+ SPKVDD2-supply = <®_psu_5v>;
+ };
+};
+
+&ssi2 {
+ status = "okay";
+};
+
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
@@ -260,6 +315,16 @@
&iomuxc {
imx6x-sdb {
+ pinctrl_audmux: audmuxgrp {
+ fsl,pins = <
+ MX6SX_PAD_CSI_DATA00__AUDMUX_AUD6_TXC 0x130b0
+ MX6SX_PAD_CSI_DATA01__AUDMUX_AUD6_TXFS 0x130b0
+ MX6SX_PAD_CSI_HSYNC__AUDMUX_AUD6_TXD 0x120b0
+ MX6SX_PAD_CSI_VSYNC__AUDMUX_AUD6_RXD 0x130b0
+ MX6SX_PAD_CSI_PIXCLK__AUDMUX_MCLK 0x130b0
+ >;
+ };
+
pinctrl_enet1: enet1grp {
fsl,pins = <
MX6SX_PAD_ENET1_MDIO__ENET1_MDIO 0xa0b1
@@ -293,6 +358,13 @@
>;
};
+ pinctrl_i2c4: i2c4grp {
+ fsl,pins = <
+ MX6SX_PAD_CSI_DATA07__I2C4_SDA 0x4001b8b1
+ MX6SX_PAD_CSI_DATA06__I2C4_SCL 0x4001b8b1
+ >;
+ };
+
pinctrl_vcc_sd3: vccsd3grp {
fsl,pins = <
MX6SX_PAD_KEY_COL1__GPIO2_IO_11 0x17059
--
1.8.3.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 1/4] ARM: dts: imx6sx: Fix sdma node
2014-07-02 14:58 [PATCH v2 1/4] ARM: dts: imx6sx: Fix sdma node Fabio Estevam
` (2 preceding siblings ...)
2014-07-02 14:58 ` [PATCH v2 4/4] ARM: dts: imx6sx-sdb: Add audio support Fabio Estevam
@ 2014-07-03 9:13 ` Shawn Guo
3 siblings, 0 replies; 5+ messages in thread
From: Shawn Guo @ 2014-07-03 9:13 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Jul 02, 2014 at 11:58:49AM -0300, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam@freescale.com>
>
> Use the correct compatible string for sdma and also provide the sdma firmware
> path.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Applied all 4, thanks.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-07-03 9:13 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-02 14:58 [PATCH v2 1/4] ARM: dts: imx6sx: Fix sdma node Fabio Estevam
2014-07-02 14:58 ` [PATCH v2 2/4] ARM: dts: imx6sx: Pass the fsl,fifo-depth property Fabio Estevam
2014-07-02 14:58 ` [PATCH v2 3/4] ARM: imx: clk-imx6sx: register SSI/SSI_IPG as shared gate clocks Fabio Estevam
2014-07-02 14:58 ` [PATCH v2 4/4] ARM: dts: imx6sx-sdb: Add audio support Fabio Estevam
2014-07-03 9:13 ` [PATCH v2 1/4] ARM: dts: imx6sx: Fix sdma node 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.