Commit 63b34416 authored by Tony Lindgren's avatar Tony Lindgren

ARM: dts: Configure interconnect target module for omap4 dss

We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" peroperty until the child
devices are probing with ti-sysc interconnect driver.

The display subsystem (DSS) is in a 16MB interconnect target module
mapped to l4 and l3 buses. We are only using the l3 port as recommended
by the TRM. So there is no need to configure l4 ranges like we've done
for l4 ABE instance for example.

Initially let's just update the top level dss node to probe with ti-sysc
interconnect target module driver. The child nodes are still children
of dispc, only the node indentation changes for them now along with
using the reg range provided by top level dss.

Let's also add add a note about using only the l3 access without l4
as noted in the TRM.

Cc: Jyri Sarha <jsarha@ti.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Sebastian Reichel <sre@kernel.org>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent b2745d92
...@@ -1529,6 +1529,7 @@ timer9: timer@0 { ...@@ -1529,6 +1529,7 @@ timer9: timer@0 {
}; };
}; };
/* Unused DSS L4 access, see L3 instead */
target-module@40000 { /* 0x48040000, ap 13 0a.0 */ target-module@40000 { /* 0x48040000, ap 13 0a.0 */
compatible = "ti,sysc"; compatible = "ti,sysc";
status = "disabled"; status = "disabled";
......
...@@ -415,49 +415,68 @@ target-module@56000000 { ...@@ -415,49 +415,68 @@ target-module@56000000 {
*/ */
}; };
dss: dss@58000000 { /*
* DSS is only using l3 mapping without l4 as noted in the TRM
* "10.1.3 DSS Register Manual" for omap4460.
*/
target-module@58000000 {
compatible = "ti,sysc-omap2", "ti,sysc";
ti,hwmods = "dss_core";
reg = <0x58000000 4>,
<0x58000014 4>;
reg-names = "rev", "syss";
ti,syss-mask = <1>;
clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 0>,
<&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>,
<&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>,
<&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>;
clock-names = "fck", "hdmi_clk", "sys_clk", "tv_clk";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x58000000 0x1000000>;
dss: dss@0 {
compatible = "ti,omap4-dss"; compatible = "ti,omap4-dss";
reg = <0x58000000 0x80>; reg = <0 0x80>;
status = "disabled"; status = "disabled";
ti,hwmods = "dss_core";
clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>; clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>;
clock-names = "fck"; clock-names = "fck";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
ranges; ranges = <0 0 0x1000000>;
dispc@58001000 { dispc@1000 {
compatible = "ti,omap4-dispc"; compatible = "ti,omap4-dispc";
reg = <0x58001000 0x1000>; reg = <0x1000 0x1000>;
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
ti,hwmods = "dss_dispc"; ti,hwmods = "dss_dispc";
clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>; clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>;
clock-names = "fck"; clock-names = "fck";
}; };
rfbi: encoder@58002000 { rfbi: encoder@2000 {
compatible = "ti,omap4-rfbi"; compatible = "ti,omap4-rfbi";
reg = <0x58002000 0x1000>; reg = <0x2000 0x1000>;
status = "disabled"; status = "disabled";
ti,hwmods = "dss_rfbi"; ti,hwmods = "dss_rfbi";
clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, <&l3_div_ck>; clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, <&l3_div_ck>;
clock-names = "fck", "ick"; clock-names = "fck", "ick";
}; };
venc: encoder@58003000 { venc: encoder@3000 {
compatible = "ti,omap4-venc"; compatible = "ti,omap4-venc";
reg = <0x58003000 0x1000>; reg = <0x3000 0x1000>;
status = "disabled"; status = "disabled";
ti,hwmods = "dss_venc"; ti,hwmods = "dss_venc";
clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>; clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>;
clock-names = "fck"; clock-names = "fck";
}; };
dsi1: encoder@58004000 { dsi1: encoder@4000 {
compatible = "ti,omap4-dsi"; compatible = "ti,omap4-dsi";
reg = <0x58004000 0x200>, reg = <0x4000 0x200>,
<0x58004200 0x40>, <0x4200 0x40>,
<0x58004300 0x20>; <0x4300 0x20>;
reg-names = "proto", "phy", "pll"; reg-names = "proto", "phy", "pll";
interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled"; status = "disabled";
...@@ -467,11 +486,11 @@ dsi1: encoder@58004000 { ...@@ -467,11 +486,11 @@ dsi1: encoder@58004000 {
clock-names = "fck", "sys_clk"; clock-names = "fck", "sys_clk";
}; };
dsi2: encoder@58005000 { dsi2: encoder@5000 {
compatible = "ti,omap4-dsi"; compatible = "ti,omap4-dsi";
reg = <0x58005000 0x200>, reg = <0x5000 0x200>,
<0x58005200 0x40>, <0x5200 0x40>,
<0x58005300 0x20>; <0x5300 0x20>;
reg-names = "proto", "phy", "pll"; reg-names = "proto", "phy", "pll";
interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled"; status = "disabled";
...@@ -481,12 +500,12 @@ dsi2: encoder@58005000 { ...@@ -481,12 +500,12 @@ dsi2: encoder@58005000 {
clock-names = "fck", "sys_clk"; clock-names = "fck", "sys_clk";
}; };
hdmi: encoder@58006000 { hdmi: encoder@6000 {
compatible = "ti,omap4-hdmi"; compatible = "ti,omap4-hdmi";
reg = <0x58006000 0x200>, reg = <0x6000 0x200>,
<0x58006200 0x100>, <0x6200 0x100>,
<0x58006300 0x100>, <0x6300 0x100>,
<0x58006400 0x1000>; <0x6400 0x1000>;
reg-names = "wp", "pll", "phy", "core"; reg-names = "wp", "pll", "phy", "core";
interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled"; status = "disabled";
...@@ -499,6 +518,7 @@ hdmi: encoder@58006000 { ...@@ -499,6 +518,7 @@ hdmi: encoder@58006000 {
}; };
}; };
}; };
};
}; };
#include "omap4-l4.dtsi" #include "omap4-l4.dtsi"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment