aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2014-11-08 19:13:31 -0500
committerOlof Johansson <olof@lixom.net>2014-11-08 19:13:31 -0500
commit1ba5568c01b0ac52b5508f3b5f6de7f2c513722b (patch)
tree710d7bcb03cf77dae2ac962055c032148a0e63b0
parenta0f3e826e8a5084bec73433a36670c386ed3aefe (diff)
parent8872fc22c2670cde338ab92be4a8e9ebad8e53e6 (diff)
Merge tag 'arm-soc/for-3.18/cygnus-dts-v9' of http://github.com/brcm/linux into next/dt
Merge "Broadcom Cygnus SoC Device Tree changes" from Florian Fianelli: This patchset contains initial support for Broadcom's Cygnus SoC based on our iProc architecture. Initial support is minimal and includes just the mach platform code, clock driver, and a basic device tree configuration. Peripheral drivers will be submitted soon, as will device tree configurations for other Cygnus board variants. These are the Device Tree changes * tag 'arm-soc/for-3.18/cygnus-dts-v9' of http://github.com/brcm/linux: ARM: dts: Enable Broadcom Cygnus SoC dt-bindings: Document Broadcom Cygnus SoC and clocks Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r--Documentation/devicetree/bindings/arm/bcm/cygnus.txt31
-rw-r--r--Documentation/devicetree/bindings/clock/bcm-cygnus-clock.txt34
-rw-r--r--arch/arm/boot/dts/Makefile4
-rw-r--r--arch/arm/boot/dts/bcm-cygnus-clock.dtsi73
-rw-r--r--arch/arm/boot/dts/bcm-cygnus.dtsi100
-rw-r--r--arch/arm/boot/dts/bcm911360_entphn.dts32
-rw-r--r--arch/arm/boot/dts/bcm911360k.dts32
-rw-r--r--arch/arm/boot/dts/bcm958300k.dts32
8 files changed, 338 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/arm/bcm/cygnus.txt b/Documentation/devicetree/bindings/arm/bcm/cygnus.txt
new file mode 100644
index 000000000000..4c77169bb534
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/bcm/cygnus.txt
@@ -0,0 +1,31 @@
1Broadcom Cygnus device tree bindings
2------------------------------------
3
4
5Boards with Cygnus SoCs shall have the following properties:
6
7Required root node property:
8
9BCM11300
10compatible = "brcm,bcm11300", "brcm,cygnus";
11
12BCM11320
13compatible = "brcm,bcm11320", "brcm,cygnus";
14
15BCM11350
16compatible = "brcm,bcm11350", "brcm,cygnus";
17
18BCM11360
19compatible = "brcm,bcm11360", "brcm,cygnus";
20
21BCM58300
22compatible = "brcm,bcm58300", "brcm,cygnus";
23
24BCM58302
25compatible = "brcm,bcm58302", "brcm,cygnus";
26
27BCM58303
28compatible = "brcm,bcm58303", "brcm,cygnus";
29
30BCM58305
31compatible = "brcm,bcm58305", "brcm,cygnus";
diff --git a/Documentation/devicetree/bindings/clock/bcm-cygnus-clock.txt b/Documentation/devicetree/bindings/clock/bcm-cygnus-clock.txt
new file mode 100644
index 000000000000..00d26edec8bc
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/bcm-cygnus-clock.txt
@@ -0,0 +1,34 @@
1Broadcom Cygnus Clocks
2
3This binding uses the common clock binding:
4Documentation/devicetree/bindings/clock/clock-bindings.txt
5
6Currently various "fixed" clocks are declared for peripheral drivers that use
7the common clock framework to reference their core clocks. Proper support of
8these clocks will be added later
9
10Device tree example:
11
12 clocks {
13 #address-cells = <1>;
14 #size-cells = <1>;
15 ranges;
16
17 osc: oscillator {
18 compatible = "fixed-clock";
19 #clock-cells = <1>;
20 clock-frequency = <25000000>;
21 };
22
23 apb_clk: apb_clk {
24 compatible = "fixed-clock";
25 #clock-cells = <0>;
26 clock-frequency = <1000000000>;
27 };
28
29 periph_clk: periph_clk {
30 compatible = "fixed-clock";
31 #clock-cells = <0>;
32 clock-frequency = <500000000>;
33 };
34 };
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 387b69114036..cfe973fe4242 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -54,6 +54,10 @@ dtb-$(CONFIG_ARCH_AT91) += at91-sama5d4ek.dtb
54dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb 54dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
55dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb 55dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb
56dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb 56dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
57dtb-$(CONFIG_ARCH_BCM_CYGNUS) += \
58 bcm911360_entphn.dtb \
59 bcm911360k.dtb \
60 bcm958300k.dtb
57dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb 61dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb
58dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb 62dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb
59dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \ 63dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \
diff --git a/arch/arm/boot/dts/bcm-cygnus-clock.dtsi b/arch/arm/boot/dts/bcm-cygnus-clock.dtsi
new file mode 100644
index 000000000000..d06172bfd99d
--- /dev/null
+++ b/arch/arm/boot/dts/bcm-cygnus-clock.dtsi
@@ -0,0 +1,73 @@
1/*
2 * Copyright 2014 Broadcom Corporation. All rights reserved.
3 *
4 * Unless you and Broadcom execute a separate written software license
5 * agreement governing use of this software, this software is licensed to you
6 * under the terms of the GNU General Public License as
7 * published by the Free Software Foundation version 2.
8 *
9 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
10 * kind, whether express or implied; without even the implied warranty
11 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */
14
15clocks {
16 #address-cells = <1>;
17 #size-cells = <1>;
18 ranges;
19
20 osc: oscillator {
21 compatible = "fixed-clock";
22 #clock-cells = <1>;
23 clock-frequency = <25000000>;
24 };
25
26 apb_clk: apb_clk {
27 compatible = "fixed-clock";
28 #clock-cells = <0>;
29 clock-frequency = <1000000000>;
30 };
31
32 periph_clk: periph_clk {
33 compatible = "fixed-clock";
34 #clock-cells = <0>;
35 clock-frequency = <500000000>;
36 };
37
38 sdio_clk: lcpll_ch2 {
39 compatible = "fixed-clock";
40 #clock-cells = <0>;
41 clock-frequency = <200000000>;
42 };
43
44 axi81_clk: axi81_clk {
45 compatible = "fixed-clock";
46 #clock-cells = <0>;
47 clock-frequency = <100000000>;
48 };
49
50 keypad_clk: keypad_clk {
51 compatible = "fixed-clock";
52 #clock-cells = <0>;
53 clock-frequency = <31806>;
54 };
55
56 adc_clk: adc_clk {
57 compatible = "fixed-clock";
58 #clock-cells = <0>;
59 clock-frequency = <1562500>;
60 };
61
62 pwm_clk: pwm_clk {
63 compatible = "fixed-clock";
64 #clock-cells = <0>;
65 clock-frequency = <1000000>;
66 };
67
68 lcd_clk: mipipll_ch1 {
69 compatible = "fixed-clock";
70 #clock-cells = <0>;
71 clock-frequency = <100000000>;
72 };
73};
diff --git a/arch/arm/boot/dts/bcm-cygnus.dtsi b/arch/arm/boot/dts/bcm-cygnus.dtsi
new file mode 100644
index 000000000000..9c650aba372d
--- /dev/null
+++ b/arch/arm/boot/dts/bcm-cygnus.dtsi
@@ -0,0 +1,100 @@
1/*
2 * Copyright 2014 Broadcom Corporation. All rights reserved.
3 *
4 * Unless you and Broadcom execute a separate written software license
5 * agreement governing use of this software, this software is licensed to you
6 * under the terms of the GNU General Public License as
7 * published by the Free Software Foundation version 2.
8 *
9 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
10 * kind, whether express or implied; without even the implied warranty
11 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */
14
15#include <dt-bindings/interrupt-controller/arm-gic.h>
16#include <dt-bindings/interrupt-controller/irq.h>
17
18#include "skeleton.dtsi"
19
20/ {
21 compatible = "brcm,cygnus";
22 model = "Broadcom Cygnus SoC";
23 interrupt-parent = <&gic>;
24
25 cpus {
26 #address-cells = <1>;
27 #size-cells = <0>;
28
29 cpu@0 {
30 device_type = "cpu";
31 compatible = "arm,cortex-a9";
32 next-level-cache = <&L2>;
33 reg = <0x0>;
34 };
35 };
36
37 /include/ "bcm-cygnus-clock.dtsi"
38
39 amba {
40 #address-cells = <1>;
41 #size-cells = <1>;
42 compatible = "arm,amba-bus", "simple-bus";
43 interrupt-parent = <&gic>;
44 ranges;
45
46 wdt@18009000 {
47 compatible = "arm,sp805" , "arm,primecell";
48 reg = <0x18009000 0x1000>;
49 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
50 clocks = <&axi81_clk>;
51 clock-names = "apb_pclk";
52 };
53 };
54
55 uart3: serial@18023000 {
56 compatible = "snps,dw-apb-uart";
57 reg = <0x18023000 0x100>;
58 reg-shift = <2>;
59 reg-io-width = <4>;
60 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
61 clock-frequency = <100000000>;
62 clocks = <&axi81_clk>;
63 status = "okay";
64 };
65
66 uart0: serial@18020000 {
67 compatible = "snps,dw-apb-uart";
68 reg = <0x18020000 0x100>;
69 reg-shift = <2>;
70 reg-io-width = <4>;
71 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
72 clocks = <&axi81_clk>;
73 clock-frequency = <100000000>;
74 status = "okay";
75 };
76
77 gic: interrupt-controller@19021000 {
78 compatible = "arm,cortex-a9-gic";
79 #interrupt-cells = <3>;
80 #address-cells = <0>;
81 interrupt-controller;
82 reg = <0x19021000 0x1000>,
83 <0x19020100 0x100>;
84 };
85
86 L2: l2-cache {
87 compatible = "arm,pl310-cache";
88 reg = <0x19022000 0x1000>;
89 cache-unified;
90 cache-level = <2>;
91 };
92
93 timer@19020200 {
94 compatible = "arm,cortex-a9-global-timer";
95 reg = <0x19020200 0x100>;
96 interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
97 clocks = <&periph_clk>;
98 };
99
100};
diff --git a/arch/arm/boot/dts/bcm911360_entphn.dts b/arch/arm/boot/dts/bcm911360_entphn.dts
new file mode 100644
index 000000000000..9de5e87b5c9e
--- /dev/null
+++ b/arch/arm/boot/dts/bcm911360_entphn.dts
@@ -0,0 +1,32 @@
1/*
2 * Copyright 2014 Broadcom Corporation. All rights reserved.
3 *
4 * Unless you and Broadcom execute a separate written software license
5 * agreement governing use of this software, this software is licensed to you
6 * under the terms of the GNU General Public License as
7 * published by the Free Software Foundation version 2.
8 *
9 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
10 * kind, whether express or implied; without even the implied warranty
11 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */
14
15/dts-v1/;
16
17#include "bcm-cygnus.dtsi"
18
19/ {
20 model = "Cygnus Enterprise Phone (BCM911360_ENTPHN)";
21 compatible = "brcm,bcm11360", "brcm,cygnus";
22
23 aliases {
24 serial0 = &uart3;
25 serial1 = &uart0;
26 };
27
28 chosen {
29 stdout-path = &uart3;
30 bootargs = "console=ttyS0,115200";
31 };
32};
diff --git a/arch/arm/boot/dts/bcm911360k.dts b/arch/arm/boot/dts/bcm911360k.dts
new file mode 100644
index 000000000000..dd4f102f2e23
--- /dev/null
+++ b/arch/arm/boot/dts/bcm911360k.dts
@@ -0,0 +1,32 @@
1/*
2 * Copyright 2014 Broadcom Corporation. All rights reserved.
3 *
4 * Unless you and Broadcom execute a separate written software license
5 * agreement governing use of this software, this software is licensed to you
6 * under the terms of the GNU General Public License as
7 * published by the Free Software Foundation version 2.
8 *
9 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
10 * kind, whether express or implied; without even the implied warranty
11 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */
14
15/dts-v1/;
16
17#include "bcm-cygnus.dtsi"
18
19/ {
20 model = "Cygnus SVK (BCM911360K)";
21 compatible = "brcm,bcm11360", "brcm,cygnus";
22
23 aliases {
24 serial0 = &uart3;
25 serial1 = &uart0;
26 };
27
28 chosen {
29 stdout-path = &uart3;
30 bootargs = "console=ttyS0,115200";
31 };
32};
diff --git a/arch/arm/boot/dts/bcm958300k.dts b/arch/arm/boot/dts/bcm958300k.dts
new file mode 100644
index 000000000000..f8b962570221
--- /dev/null
+++ b/arch/arm/boot/dts/bcm958300k.dts
@@ -0,0 +1,32 @@
1/*
2 * Copyright 2014 Broadcom Corporation. All rights reserved.
3 *
4 * Unless you and Broadcom execute a separate written software license
5 * agreement governing use of this software, this software is licensed to you
6 * under the terms of the GNU General Public License as
7 * published by the Free Software Foundation version 2.
8 *
9 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
10 * kind, whether express or implied; without even the implied warranty
11 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */
14
15/dts-v1/;
16
17#include "bcm-cygnus.dtsi"
18
19/ {
20 model = "Cygnus SVK (BCM958300K)";
21 compatible = "brcm,bcm58300", "brcm,cygnus";
22
23 aliases {
24 serial0 = &uart3;
25 serial1 = &uart0;
26 };
27
28 chosen {
29 stdout-path = &uart3;
30 bootargs = "console=ttyS0,115200";
31 };
32};