diff options
author | Olof Johansson <olof@lixom.net> | 2014-11-08 19:13:31 -0500 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2014-11-08 19:13:31 -0500 |
commit | 1ba5568c01b0ac52b5508f3b5f6de7f2c513722b (patch) | |
tree | 710d7bcb03cf77dae2ac962055c032148a0e63b0 | |
parent | a0f3e826e8a5084bec73433a36670c386ed3aefe (diff) | |
parent | 8872fc22c2670cde338ab92be4a8e9ebad8e53e6 (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.txt | 31 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/clock/bcm-cygnus-clock.txt | 34 | ||||
-rw-r--r-- | arch/arm/boot/dts/Makefile | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm-cygnus-clock.dtsi | 73 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm-cygnus.dtsi | 100 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm911360_entphn.dts | 32 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm911360k.dts | 32 | ||||
-rw-r--r-- | arch/arm/boot/dts/bcm958300k.dts | 32 |
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 @@ | |||
1 | Broadcom Cygnus device tree bindings | ||
2 | ------------------------------------ | ||
3 | |||
4 | |||
5 | Boards with Cygnus SoCs shall have the following properties: | ||
6 | |||
7 | Required root node property: | ||
8 | |||
9 | BCM11300 | ||
10 | compatible = "brcm,bcm11300", "brcm,cygnus"; | ||
11 | |||
12 | BCM11320 | ||
13 | compatible = "brcm,bcm11320", "brcm,cygnus"; | ||
14 | |||
15 | BCM11350 | ||
16 | compatible = "brcm,bcm11350", "brcm,cygnus"; | ||
17 | |||
18 | BCM11360 | ||
19 | compatible = "brcm,bcm11360", "brcm,cygnus"; | ||
20 | |||
21 | BCM58300 | ||
22 | compatible = "brcm,bcm58300", "brcm,cygnus"; | ||
23 | |||
24 | BCM58302 | ||
25 | compatible = "brcm,bcm58302", "brcm,cygnus"; | ||
26 | |||
27 | BCM58303 | ||
28 | compatible = "brcm,bcm58303", "brcm,cygnus"; | ||
29 | |||
30 | BCM58305 | ||
31 | compatible = "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 @@ | |||
1 | Broadcom Cygnus Clocks | ||
2 | |||
3 | This binding uses the common clock binding: | ||
4 | Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
5 | |||
6 | Currently various "fixed" clocks are declared for peripheral drivers that use | ||
7 | the common clock framework to reference their core clocks. Proper support of | ||
8 | these clocks will be added later | ||
9 | |||
10 | Device 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 | |||
54 | dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb | 54 | dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb |
55 | dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb | 55 | dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb |
56 | dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb | 56 | dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb |
57 | dtb-$(CONFIG_ARCH_BCM_CYGNUS) += \ | ||
58 | bcm911360_entphn.dtb \ | ||
59 | bcm911360k.dtb \ | ||
60 | bcm958300k.dtb | ||
57 | dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb | 61 | dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb |
58 | dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb | 62 | dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb |
59 | dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \ | 63 | dtb-$(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 | |||
15 | clocks { | ||
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 | }; | ||