Commit e3bc5358 authored by Tero Kristo's avatar Tero Kristo

ARM: dts: am33xx: add minimal l4 bus layout with control module support

This patch creates an l4_wkup interconnect for AM33xx, and moves some of
the generic peripherals under it. System control module nodes are moved
under this new interconnect also, and the SCM clock layout is changed
to use the renamed SCM node as the clock provider.
Signed-off-by: default avatarTero Kristo <t-kristo@ti.com>
parent b8845074
...@@ -6,6 +6,7 @@ Required properties: ...@@ -6,6 +6,7 @@ Required properties:
- compatible : Should be "ti,omap2-l4" for OMAP2 family l4 core bus - compatible : Should be "ti,omap2-l4" for OMAP2 family l4 core bus
Should be "ti,omap2-l4-wkup" for OMAP2 family l4 wkup bus Should be "ti,omap2-l4-wkup" for OMAP2 family l4 wkup bus
Should be "ti,omap3-l4-core" for OMAP3 family l4 core bus Should be "ti,omap3-l4-core" for OMAP3 family l4 core bus
Should be "ti,am3-l4-wkup" for AM33xx family l4 wkup bus
- ranges : contains the IO map range for the bus - ranges : contains the IO map range for the bus
Examples: Examples:
......
...@@ -10,7 +10,7 @@ documentation about the individual clock/clockdomain nodes. ...@@ -10,7 +10,7 @@ documentation about the individual clock/clockdomain nodes.
Required properties: Required properties:
- compatible: Must be one of: - compatible: Must be one of:
"ti,am3-prcm" "ti,am3-prcm"
"ti,am3-scrm" "ti,am3-scm"
"ti,am4-prcm" "ti,am4-prcm"
"ti,am4-scrm" "ti,am4-scrm"
"ti,omap2-prcm" "ti,omap2-prcm"
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* it under the terms of the GNU General Public License version 2 as * it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation. * published by the Free Software Foundation.
*/ */
&scrm_clocks { &scm_clocks {
sys_clkin_ck: sys_clkin_ck { sys_clkin_ck: sys_clkin_ck {
#clock-cells = <0>; #clock-cells = <0>;
compatible = "ti,mux-clock"; compatible = "ti,mux-clock";
......
...@@ -83,20 +83,6 @@ mpu { ...@@ -83,20 +83,6 @@ mpu {
}; };
}; };
am33xx_control_module: control_module@4a002000 {
compatible = "syscon";
reg = <0x44e10000 0x7fc>;
};
am33xx_pinmux: pinmux@44e10800 {
compatible = "pinctrl-single";
reg = <0x44e10800 0x0238>;
#address-cells = <1>;
#size-cells = <0>;
pinctrl-single,register-width = <32>;
pinctrl-single,function-mask = <0x7f>;
};
/* /*
* XXX: Use a flat representation of the AM33XX interconnect. * XXX: Use a flat representation of the AM33XX interconnect.
* The real AM33XX interconnect network is quite complex. Since * The real AM33XX interconnect network is quite complex. Since
...@@ -111,37 +97,58 @@ ocp { ...@@ -111,37 +97,58 @@ ocp {
ranges; ranges;
ti,hwmods = "l3_main"; ti,hwmods = "l3_main";
prcm: prcm@44e00000 { l4_wkup: l4_wkup@44c00000 {
compatible = "ti,am3-prcm"; compatible = "ti,am3-l4-wkup", "simple-bus";
reg = <0x44e00000 0x4000>; #address-cells = <1>;
#size-cells = <1>;
prcm_clocks: clocks { ranges = <0 0x44c00000 0x280000>;
#address-cells = <1>;
#size-cells = <0>;
};
prcm_clockdomains: clockdomains { prcm: prcm@200000 {
}; compatible = "ti,am3-prcm";
}; reg = <0x200000 0x4000>;
scrm: scrm@44e10000 { prcm_clocks: clocks {
compatible = "ti,am3-scrm"; #address-cells = <1>;
reg = <0x44e10000 0x2000>; #size-cells = <0>;
};
scrm_clocks: clocks { prcm_clockdomains: clockdomains {
#address-cells = <1>; };
#size-cells = <0>;
}; };
scrm_clockdomains: clockdomains { scm: scm@210000 {
compatible = "ti,am3-scm", "simple-bus";
reg = <0x210000 0x2000>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x210000 0x2000>;
am33xx_pinmux: pinmux@800 {
compatible = "pinctrl-single";
reg = <0x800 0x238>;
#address-cells = <1>;
#size-cells = <0>;
pinctrl-single,register-width = <32>;
pinctrl-single,function-mask = <0x7f>;
};
scm_conf: scm_conf@0 {
compatible = "syscon";
reg = <0x0 0x800>;
#address-cells = <1>;
#size-cells = <1>;
scm_clocks: clocks {
#address-cells = <1>;
#size-cells = <0>;
};
};
scm_clockdomains: clockdomains {
};
}; };
}; };
cm: syscon@44e10000 {
compatible = "ti,am33xx-controlmodule", "syscon";
reg = <0x44e10000 0x800>;
};
intc: interrupt-controller@48200000 { intc: interrupt-controller@48200000 {
compatible = "ti,am33xx-intc"; compatible = "ti,am33xx-intc";
interrupt-controller; interrupt-controller;
...@@ -350,7 +357,7 @@ dcan0: can@481cc000 { ...@@ -350,7 +357,7 @@ dcan0: can@481cc000 {
reg = <0x481cc000 0x2000>; reg = <0x481cc000 0x2000>;
clocks = <&dcan0_fck>; clocks = <&dcan0_fck>;
clock-names = "fck"; clock-names = "fck";
syscon-raminit = <&am33xx_control_module 0x644 0>; syscon-raminit = <&scm_conf 0x644 0>;
interrupts = <52>; interrupts = <52>;
status = "disabled"; status = "disabled";
}; };
...@@ -361,7 +368,7 @@ dcan1: can@481d0000 { ...@@ -361,7 +368,7 @@ dcan1: can@481d0000 {
reg = <0x481d0000 0x2000>; reg = <0x481d0000 0x2000>;
clocks = <&dcan1_fck>; clocks = <&dcan1_fck>;
clock-names = "fck"; clock-names = "fck";
syscon-raminit = <&am33xx_control_module 0x644 1>; syscon-raminit = <&scm_conf 0x644 1>;
interrupts = <55>; interrupts = <55>;
status = "disabled"; status = "disabled";
}; };
...@@ -720,7 +727,7 @@ mac: ethernet@4a100000 { ...@@ -720,7 +727,7 @@ mac: ethernet@4a100000 {
*/ */
interrupts = <40 41 42 43>; interrupts = <40 41 42 43>;
ranges; ranges;
syscon = <&cm>; syscon = <&scm_conf>;
status = "disabled"; status = "disabled";
davinci_mdio: mdio@4a101000 { davinci_mdio: mdio@4a101000 {
......
...@@ -667,7 +667,7 @@ static const struct control_init_data omap2_ctrl_data = { ...@@ -667,7 +667,7 @@ static const struct control_init_data omap2_ctrl_data = {
}; };
static const struct of_device_id omap_scrm_dt_match_table[] = { static const struct of_device_id omap_scrm_dt_match_table[] = {
{ .compatible = "ti,am3-scrm", .data = &ctrl_data }, { .compatible = "ti,am3-scm", .data = &ctrl_data },
{ .compatible = "ti,am4-scrm", .data = &ctrl_data }, { .compatible = "ti,am4-scrm", .data = &ctrl_data },
{ .compatible = "ti,omap2-scm", .data = &omap2_ctrl_data }, { .compatible = "ti,omap2-scm", .data = &omap2_ctrl_data },
{ .compatible = "ti,omap3-scm", .data = &omap2_ctrl_data }, { .compatible = "ti,omap3-scm", .data = &omap2_ctrl_data },
......
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