2016-04-03 12:13:11

by Álvaro Fernández Rojas

[permalink] [raw]
Subject: [PATCH 1/3] MIPS: BMIPS: improve BCM6328 device tree

- Remove unneeded leds0 alias.
- Switch to bcm6345-l1-intc interrupt controller.
- Use interrupt-controller instead of periph_intc.
- Add uart1, ehci0 and ohci0 nodes.
- Refactor syscon and syscon-reboot.

Signed-off-by: Álvaro Fernández Rojas <[email protected]>
---
arch/mips/boot/dts/brcm/bcm6328.dtsi | 44 +++++++++++++++++++++++++++++-------
1 file changed, 36 insertions(+), 8 deletions(-)

diff --git a/arch/mips/boot/dts/brcm/bcm6328.dtsi b/arch/mips/boot/dts/brcm/bcm6328.dtsi
index 9d19236..8efa420 100644
--- a/arch/mips/boot/dts/brcm/bcm6328.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm6328.dtsi
@@ -31,8 +31,8 @@
};

aliases {
- leds0 = &leds0;
uart0 = &uart0;
+ uart1 = &uart1;
};

cpu_intc: cpu_intc {
@@ -50,16 +50,16 @@
compatible = "simple-bus";
ranges;

- periph_intc: periph_intc@10000020 {
- compatible = "brcm,bcm3380-l2-intc";
- reg = <0x10000024 0x4 0x1000002c 0x4>,
- <0x10000020 0x4 0x10000028 0x4>;
+ periph_intc: interrupt-controller@10000020 {
+ compatible = "brcm,bcm6345-l1-intc";
+ reg = <0x10000020 0x10>,
+ <0x10000030 0x10>;

interrupt-controller;
#interrupt-cells = <1>;

interrupt-parent = <&cpu_intc>;
- interrupts = <2>;
+ interrupts = <2>, <3>;
};

uart0: serial@10000100 {
@@ -71,13 +71,22 @@
status = "disabled";
};

- timer: timer@10000040 {
+ uart1: serial@10000120 {
+ compatible = "brcm,bcm6345-uart";
+ reg = <0x10000120 0x18>;
+ interrupt-parent = <&periph_intc>;
+ interrupts = <39>;
+ clocks = <&periph_clk>;
+ status = "disabled";
+ };
+
+ timer: syscon@10000040 {
compatible = "syscon";
reg = <0x10000040 0x2c>;
native-endian;
};

- reboot {
+ reboot: syscon-reboot@10000068 {
compatible = "syscon-reboot";
regmap = <&timer>;
offset = <0x28>;
@@ -91,5 +100,24 @@
reg = <0x10000800 0x24>;
status = "disabled";
};
+
+ ehci0: usb@10002500 {
+ compatible = "brcm,bcm6328-ehci", "generic-ehci";
+ reg = <0x10002500 0x100>;
+ big-endian;
+ interrupt-parent = <&periph_intc>;
+ interrupts = <42>;
+ status = "disabled";
+ };
+
+ ohci0: usb@10002600 {
+ compatible = "brcm,bcm6328-ohci", "generic-ohci";
+ reg = <0x10002600 0x100>;
+ big-endian;
+ no-big-frame-no;
+ interrupt-parent = <&periph_intc>;
+ interrupts = <41>;
+ status = "disabled";
+ };
};
};
--
2.1.4


2016-04-03 12:13:12

by Álvaro Fernández Rojas

[permalink] [raw]
Subject: [PATCH 2/3] MIPS: BMIPS: improve BCM6358 device tree

- Switch to bcm6345-l1-intc interrupt controller.
- Add ehci0 and ohci0 nodes.
- Use proper native-endian syscon property.

Signed-off-by: Álvaro Fernández Rojas <[email protected]>
---
arch/mips/boot/dts/brcm/bcm6358.dtsi | 29 ++++++++++++++++++++++++-----
1 file changed, 24 insertions(+), 5 deletions(-)

diff --git a/arch/mips/boot/dts/brcm/bcm6358.dtsi b/arch/mips/boot/dts/brcm/bcm6358.dtsi
index 5ac1ef0..5dc8432 100644
--- a/arch/mips/boot/dts/brcm/bcm6358.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm6358.dtsi
@@ -53,7 +53,7 @@
periph_cntl: syscon@fffe0000 {
compatible = "syscon";
reg = <0xfffe0000 0xc>;
- little-endian;
+ native-endian;
};

reboot: syscon-reboot@fffe0008 {
@@ -64,15 +64,15 @@
};

periph_intc: interrupt-controller@fffe000c {
- compatible = "brcm,bcm3380-l2-intc";
- reg = <0xfffe0010 0x4 0xfffe000c 0x4>,
- <0xfffe003c 0x4 0xfffe0038 0x4>;
+ compatible = "brcm,bcm6345-l1-intc";
+ reg = <0xfffe000c 0x8>,
+ <0xfffe0038 0x8>;

interrupt-controller;
#interrupt-cells = <1>;

interrupt-parent = <&cpu_intc>;
- interrupts = <2>;
+ interrupts = <2>, <3>;
};

leds0: led-controller@fffe00d0 {
@@ -107,5 +107,24 @@

status = "disabled";
};
+
+ ehci0: usb@fffe1300 {
+ compatible = "brcm,bcm6358-ehci", "generic-ehci";
+ reg = <0xfffe1300 0x100>;
+ big-endian;
+ interrupt-parent = <&periph_intc>;
+ interrupts = <10>;
+ status = "disabled";
+ };
+
+ ohci0: usb@fffe1400 {
+ compatible = "brcm,bcm6358-ohci", "generic-ohci";
+ reg = <0xfffe1400 0x100>;
+ big-endian;
+ no-big-frame-no;
+ interrupt-parent = <&periph_intc>;
+ interrupts = <5>;
+ status = "disabled";
+ };
};
};
--
2.1.4

2016-04-03 12:13:36

by Álvaro Fernández Rojas

[permalink] [raw]
Subject: [PATCH 3/3] MIPS: BMIPS: improve BCM6368 device tree

- Remove unneeded leds0 alias.
- Switch to bcm6345-l1-intc interrupt controller.
- Use interrupt-controller instead of periph_intc.
- Add uart1 node.

Signed-off-by: Álvaro Fernández Rojas <[email protected]>
---
arch/mips/boot/dts/brcm/bcm6368.dtsi | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/arch/mips/boot/dts/brcm/bcm6368.dtsi b/arch/mips/boot/dts/brcm/bcm6368.dtsi
index 1f6b9b5..75aba97 100644
--- a/arch/mips/boot/dts/brcm/bcm6368.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm6368.dtsi
@@ -32,8 +32,8 @@
};

aliases {
- leds0 = &leds0;
uart0 = &uart0;
+ uart1 = &uart1;
};

cpu_intc: cpu_intc {
@@ -64,16 +64,16 @@
mask = <0x1>;
};

- periph_intc: periph_intc@10000020 {
- compatible = "brcm,bcm3380-l2-intc";
- reg = <0x10000024 0x4 0x1000002c 0x4>,
- <0x10000020 0x4 0x10000028 0x4>;
+ periph_intc: interrupt-controller@10000020 {
+ compatible = "brcm,bcm6345-l1-intc";
+ reg = <0x10000020 0x10>,
+ <0x10000030 0x10>;

interrupt-controller;
#interrupt-cells = <1>;

interrupt-parent = <&cpu_intc>;
- interrupts = <2>;
+ interrupts = <2>, <3>;
};

leds0: led-controller@100000d0 {
@@ -93,6 +93,15 @@
status = "disabled";
};

+ uart1: serial@10000120 {
+ compatible = "brcm,bcm6345-uart";
+ reg = <0x10000120 0x18>;
+ interrupt-parent = <&periph_intc>;
+ interrupts = <3>;
+ clocks = <&periph_clk>;
+ status = "disabled";
+ };
+
ehci0: usb@10001500 {
compatible = "brcm,bcm6368-ehci", "generic-ehci";
reg = <0x10001500 0x100>;
--
2.1.4

2016-04-03 23:10:19

by Ralf Baechle

[permalink] [raw]
Subject: Re: [PATCH 2/3] MIPS: BMIPS: improve BCM6358 device tree

On Sun, Apr 03, 2016 at 02:13:04PM +0200, ?lvaro Fern?ndez Rojas wrote:

> - Switch to bcm6345-l1-intc interrupt controller.
> - Add ehci0 and ohci0 nodes.
> - Use proper native-endian syscon property.
>
> Signed-off-by: ?lvaro Fern?ndez Rojas <[email protected]>
> ---
> arch/mips/boot/dts/brcm/bcm6358.dtsi | 29 ++++++++++++++++++++++++-----

Any reason Why didn't you fold this patch into the "[v3,2/2] bmips: add
device tree example for BCM6358" patch of the other series?

Ralf

2016-04-04 08:13:15

by Álvaro Fernández Rojas

[permalink] [raw]
Subject: Re: [PATCH 2/3] MIPS: BMIPS: improve BCM6358 device tree

Done,

?lvaro.

> El 4 abr 2016, a las 1:10, Ralf Baechle <[email protected]> escribi?:
>
> On Sun, Apr 03, 2016 at 02:13:04PM +0200, ?lvaro Fern?ndez Rojas wrote:
>
>> - Switch to bcm6345-l1-intc interrupt controller.
>> - Add ehci0 and ohci0 nodes.
>> - Use proper native-endian syscon property.
>>
>> Signed-off-by: ?lvaro Fern?ndez Rojas <[email protected]>
>> ---
>> arch/mips/boot/dts/brcm/bcm6358.dtsi | 29 ++++++++++++++++++++++++-----
>
> Any reason Why didn't you fold this patch into the "[v3,2/2] bmips: add
> device tree example for BCM6358" patch of the other series?
>
> Ralf
>

2016-04-09 10:57:54

by Álvaro Fernández Rojas

[permalink] [raw]
Subject: [PATCH 2/2] MIPS: BMIPS: improve BCM6368 device tree

- Remove unneeded leds0 alias.
- Switch to bcm6345-l1-intc interrupt controller.
- Use interrupt-controller instead of periph_intc and cpu_intc.
- Add uart1 node.
- Single ohci and ehci nodes.
- Avoid using underscores in node names.
- Rename uart aliases to serial.
- Remove blank line in cpus node.

Signed-off-by: Álvaro Fernández Rojas <[email protected]>
---
v2: more device tree improvements
- There is just ohci/ehci node.
- Avoid using underscores in node names.
- Use interrupt-controller for cpu_intc.
- Rename uart aliases to serial.
- Remove blank line.

arch/mips/boot/dts/brcm/bcm6368.dtsi | 32 ++++++++++++++++++++------------
1 file changed, 20 insertions(+), 12 deletions(-)

diff --git a/arch/mips/boot/dts/brcm/bcm6368.dtsi b/arch/mips/boot/dts/brcm/bcm6368.dtsi
index 1f6b9b5..d0e3a70 100644
--- a/arch/mips/boot/dts/brcm/bcm6368.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm6368.dtsi
@@ -20,11 +20,10 @@
device_type = "cpu";
reg = <1>;
};
-
};

clocks {
- periph_clk: periph_clk {
+ periph_clk: periph-clk {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <50000000>;
@@ -32,11 +31,11 @@
};

aliases {
- leds0 = &leds0;
- uart0 = &uart0;
+ serial0 = &uart0;
+ serial1 = &uart1;
};

- cpu_intc: cpu_intc {
+ cpu_intc: interrupt-controller {
#address-cells = <0>;
compatible = "mti,cpu-interrupt-controller";

@@ -64,16 +63,16 @@
mask = <0x1>;
};

- periph_intc: periph_intc@10000020 {
- compatible = "brcm,bcm3380-l2-intc";
- reg = <0x10000024 0x4 0x1000002c 0x4>,
- <0x10000020 0x4 0x10000028 0x4>;
+ periph_intc: interrupt-controller@10000020 {
+ compatible = "brcm,bcm6345-l1-intc";
+ reg = <0x10000020 0x10>,
+ <0x10000030 0x10>;

interrupt-controller;
#interrupt-cells = <1>;

interrupt-parent = <&cpu_intc>;
- interrupts = <2>;
+ interrupts = <2>, <3>;
};

leds0: led-controller@100000d0 {
@@ -93,7 +92,16 @@
status = "disabled";
};

- ehci0: usb@10001500 {
+ uart1: serial@10000120 {
+ compatible = "brcm,bcm6345-uart";
+ reg = <0x10000120 0x18>;
+ interrupt-parent = <&periph_intc>;
+ interrupts = <3>;
+ clocks = <&periph_clk>;
+ status = "disabled";
+ };
+
+ ehci: usb@10001500 {
compatible = "brcm,bcm6368-ehci", "generic-ehci";
reg = <0x10001500 0x100>;
big-endian;
@@ -102,7 +110,7 @@
status = "disabled";
};

- ohci0: usb@10001600 {
+ ohci: usb@10001600 {
compatible = "brcm,bcm6368-ohci", "generic-ohci";
reg = <0x10001600 0x100>;
big-endian;
--
2.1.4

2016-04-09 10:57:53

by Álvaro Fernández Rojas

[permalink] [raw]
Subject: [PATCH 1/2] MIPS: BMIPS: improve BCM6328 device tree

- Remove unneeded leds0 alias.
- Switch to bcm6345-l1-intc interrupt controller.
- Use interrupt-controller instead of periph_intc and cpu_intc.
- Add uart1, ehci and ohci nodes.
- Refactor syscon and syscon-reboot.
- Avoid using underscores in node names.
- Rename uart aliases to serial.

Signed-off-by: Álvaro Fernández Rojas <[email protected]>
---
v2: more device tree improvements
- There is just ohci/ehci node.
- Avoid using underscores in node names.
- Use interrupt-controller for cpu_intc.
- Rename uart aliases to serial.

arch/mips/boot/dts/brcm/bcm6328.dtsi | 50 ++++++++++++++++++++++++++++--------
1 file changed, 39 insertions(+), 11 deletions(-)

diff --git a/arch/mips/boot/dts/brcm/bcm6328.dtsi b/arch/mips/boot/dts/brcm/bcm6328.dtsi
index 9d19236..5633b9d 100644
--- a/arch/mips/boot/dts/brcm/bcm6328.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm6328.dtsi
@@ -23,7 +23,7 @@
};

clocks {
- periph_clk: periph_clk {
+ periph_clk: periph-clk {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <50000000>;
@@ -31,11 +31,11 @@
};

aliases {
- leds0 = &leds0;
- uart0 = &uart0;
+ serial0 = &uart0;
+ serial1 = &uart1;
};

- cpu_intc: cpu_intc {
+ cpu_intc: interrupt-controller {
#address-cells = <0>;
compatible = "mti,cpu-interrupt-controller";

@@ -50,16 +50,16 @@
compatible = "simple-bus";
ranges;

- periph_intc: periph_intc@10000020 {
- compatible = "brcm,bcm3380-l2-intc";
- reg = <0x10000024 0x4 0x1000002c 0x4>,
- <0x10000020 0x4 0x10000028 0x4>;
+ periph_intc: interrupt-controller@10000020 {
+ compatible = "brcm,bcm6345-l1-intc";
+ reg = <0x10000020 0x10>,
+ <0x10000030 0x10>;

interrupt-controller;
#interrupt-cells = <1>;

interrupt-parent = <&cpu_intc>;
- interrupts = <2>;
+ interrupts = <2>, <3>;
};

uart0: serial@10000100 {
@@ -71,13 +71,22 @@
status = "disabled";
};

- timer: timer@10000040 {
+ uart1: serial@10000120 {
+ compatible = "brcm,bcm6345-uart";
+ reg = <0x10000120 0x18>;
+ interrupt-parent = <&periph_intc>;
+ interrupts = <39>;
+ clocks = <&periph_clk>;
+ status = "disabled";
+ };
+
+ timer: syscon@10000040 {
compatible = "syscon";
reg = <0x10000040 0x2c>;
native-endian;
};

- reboot {
+ reboot: syscon-reboot@10000068 {
compatible = "syscon-reboot";
regmap = <&timer>;
offset = <0x28>;
@@ -91,5 +100,24 @@
reg = <0x10000800 0x24>;
status = "disabled";
};
+
+ ehci: usb@10002500 {
+ compatible = "brcm,bcm6328-ehci", "generic-ehci";
+ reg = <0x10002500 0x100>;
+ big-endian;
+ interrupt-parent = <&periph_intc>;
+ interrupts = <42>;
+ status = "disabled";
+ };
+
+ ohci: usb@10002600 {
+ compatible = "brcm,bcm6328-ohci", "generic-ohci";
+ reg = <0x10002600 0x100>;
+ big-endian;
+ no-big-frame-no;
+ interrupt-parent = <&periph_intc>;
+ interrupts = <41>;
+ status = "disabled";
+ };
};
};
--
2.1.4