diff options
297 files changed, 20490 insertions, 3332 deletions
diff --git a/Documentation/devicetree/bindings/arm/arm-boards b/Documentation/devicetree/bindings/arm/arm-boards index c554ed3d44fb..556c8665fdbf 100644 --- a/Documentation/devicetree/bindings/arm/arm-boards +++ b/Documentation/devicetree/bindings/arm/arm-boards | |||
@@ -92,3 +92,68 @@ Required nodes: | |||
92 | - core-module: the root node to the Versatile platforms must have | 92 | - core-module: the root node to the Versatile platforms must have |
93 | a core-module with regs and the compatible strings | 93 | a core-module with regs and the compatible strings |
94 | "arm,core-module-versatile", "syscon" | 94 | "arm,core-module-versatile", "syscon" |
95 | |||
96 | ARM RealView Boards | ||
97 | ------------------- | ||
98 | The RealView boards cover tailored evaluation boards that are used to explore | ||
99 | the ARM11 and Cortex A-8 and Cortex A-9 processors. | ||
100 | |||
101 | Required properties (in root node): | ||
102 | /* RealView Emulation Baseboard */ | ||
103 | compatible = "arm,realview-eb"; | ||
104 | /* RealView Platform Baseboard for ARM1176JZF-S */ | ||
105 | compatible = "arm,realview-pb1176"; | ||
106 | /* RealView Platform Baseboard for ARM11 MPCore */ | ||
107 | compatible = "arm,realview-pb11mp"; | ||
108 | /* RealView Platform Baseboard for Cortex A-8 */ | ||
109 | compatible = "arm,realview-pba8"; | ||
110 | /* RealView Platform Baseboard Explore for Cortex A-9 */ | ||
111 | compatible = "arm,realview-pbx"; | ||
112 | |||
113 | Required nodes: | ||
114 | |||
115 | - soc: some node of the RealView platforms must be the SoC | ||
116 | node that contain the SoC-specific devices, withe the compatible | ||
117 | string set to one of these tuples: | ||
118 | "arm,realview-eb-soc", "simple-bus" | ||
119 | "arm,realview-pb1176-soc", "simple-bus" | ||
120 | "arm,realview-pb11mp-soc", "simple-bus" | ||
121 | "arm,realview-pba8-soc", "simple-bus" | ||
122 | "arm,realview-pbx-soc", "simple-bus" | ||
123 | |||
124 | - syscon: some subnode of the RealView SoC node must be a | ||
125 | system controller node pointing to the control registers, | ||
126 | with the compatible string set to one of these tuples: | ||
127 | "arm,realview-eb-syscon", "syscon" | ||
128 | "arm,realview-pb1176-syscon", "syscon" | ||
129 | "arm,realview-pb11mp-syscon", "syscon" | ||
130 | "arm,realview-pba8-syscon", "syscon" | ||
131 | "arm,realview-pbx-syscon", "syscon" | ||
132 | |||
133 | Required properties for the system controller: | ||
134 | - regs: the location and size of the system controller registers, | ||
135 | one range of 0x1000 bytes. | ||
136 | |||
137 | Example: | ||
138 | |||
139 | /dts-v1/; | ||
140 | #include <dt-bindings/interrupt-controller/irq.h> | ||
141 | #include "skeleton.dtsi" | ||
142 | |||
143 | / { | ||
144 | model = "ARM RealView PB1176 with device tree"; | ||
145 | compatible = "arm,realview-pb1176"; | ||
146 | |||
147 | soc { | ||
148 | #address-cells = <1>; | ||
149 | #size-cells = <1>; | ||
150 | compatible = "arm,realview-pb1176-soc", "simple-bus"; | ||
151 | ranges; | ||
152 | |||
153 | syscon: syscon@10000000 { | ||
154 | compatible = "arm,realview-syscon", "syscon"; | ||
155 | reg = <0x10000000 0x1000>; | ||
156 | }; | ||
157 | |||
158 | }; | ||
159 | }; | ||
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/arm/fsl.txt b/Documentation/devicetree/bindings/arm/fsl.txt index e935d7d4ac43..4e8b7df7fc62 100644 --- a/Documentation/devicetree/bindings/arm/fsl.txt +++ b/Documentation/devicetree/bindings/arm/fsl.txt | |||
@@ -74,3 +74,41 @@ Required root node properties: | |||
74 | i.MX6q generic board | 74 | i.MX6q generic board |
75 | Required root node properties: | 75 | Required root node properties: |
76 | - compatible = "fsl,imx6q"; | 76 | - compatible = "fsl,imx6q"; |
77 | |||
78 | |||
79 | Freescale LS1021A Platform Device Tree Bindings | ||
80 | ------------------------------------------------ | ||
81 | |||
82 | Required root node compatible properties: | ||
83 | - compatible = "fsl,ls1021a"; | ||
84 | |||
85 | Freescale LS1021A SoC-specific Device Tree Bindings | ||
86 | ------------------------------------------- | ||
87 | |||
88 | Freescale SCFG | ||
89 | SCFG is the supplemental configuration unit, that provides SoC specific | ||
90 | configuration and status registers for the chip. Such as getting PEX port | ||
91 | status. | ||
92 | Required properties: | ||
93 | - compatible: should be "fsl,ls1021a-scfg" | ||
94 | - reg: should contain base address and length of SCFG memory-mapped registers | ||
95 | |||
96 | Example: | ||
97 | scfg: scfg@1570000 { | ||
98 | compatible = "fsl,ls1021a-scfg"; | ||
99 | reg = <0x0 0x1570000 0x0 0x10000>; | ||
100 | }; | ||
101 | |||
102 | Freescale DCFG | ||
103 | DCFG is the device configuration unit, that provides general purpose | ||
104 | configuration and status for the device. Such as setting the secondary | ||
105 | core start address and release the secondary core from holdoff and startup. | ||
106 | Required properties: | ||
107 | - compatible: should be "fsl,ls1021a-dcfg" | ||
108 | - reg : should contain base address and length of DCFG memory-mapped registers | ||
109 | |||
110 | Example: | ||
111 | dcfg: dcfg@1ee0000 { | ||
112 | compatible = "fsl,ls1021a-dcfg"; | ||
113 | reg = <0x0 0x1ee0000 0x0 0x10000>; | ||
114 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/gic.txt b/Documentation/devicetree/bindings/arm/gic.txt index c7d2fa156678..b38608af66db 100644 --- a/Documentation/devicetree/bindings/arm/gic.txt +++ b/Documentation/devicetree/bindings/arm/gic.txt | |||
@@ -17,6 +17,7 @@ Main node required properties: | |||
17 | "arm,cortex-a7-gic" | 17 | "arm,cortex-a7-gic" |
18 | "arm,arm11mp-gic" | 18 | "arm,arm11mp-gic" |
19 | "brcm,brahma-b15-gic" | 19 | "brcm,brahma-b15-gic" |
20 | "arm,arm1176jzf-devchip-gic" | ||
20 | - interrupt-controller : Identifies the node as an interrupt controller | 21 | - interrupt-controller : Identifies the node as an interrupt controller |
21 | - #interrupt-cells : Specifies the number of cells needed to encode an | 22 | - #interrupt-cells : Specifies the number of cells needed to encode an |
22 | interrupt source. The type shall be a <u32> and the value shall be 3. | 23 | interrupt source. The type shall be a <u32> and the value shall be 3. |
diff --git a/Documentation/devicetree/bindings/arm/marvell,berlin.txt b/Documentation/devicetree/bindings/arm/marvell,berlin.txt index 904de5781f44..a99eb9eb14c0 100644 --- a/Documentation/devicetree/bindings/arm/marvell,berlin.txt +++ b/Documentation/devicetree/bindings/arm/marvell,berlin.txt | |||
@@ -106,11 +106,21 @@ Required subnode-properties: | |||
106 | - groups: a list of strings describing the group names. | 106 | - groups: a list of strings describing the group names. |
107 | - function: a string describing the function used to mux the groups. | 107 | - function: a string describing the function used to mux the groups. |
108 | 108 | ||
109 | * Reset controller binding | ||
110 | |||
111 | A reset controller is part of the chip control registers set. The chip control | ||
112 | node also provides the reset. The register set is not at the same offset between | ||
113 | Berlin SoCs. | ||
114 | |||
115 | Required property: | ||
116 | - #reset-cells: must be set to 2 | ||
117 | |||
109 | Example: | 118 | Example: |
110 | 119 | ||
111 | chip: chip-control@ea0000 { | 120 | chip: chip-control@ea0000 { |
112 | compatible = "marvell,berlin2-chip-ctrl"; | 121 | compatible = "marvell,berlin2-chip-ctrl"; |
113 | #clock-cells = <1>; | 122 | #clock-cells = <1>; |
123 | #reset-cells = <2>; | ||
114 | reg = <0xea0000 0x400>; | 124 | reg = <0xea0000 0x400>; |
115 | clocks = <&refclk>, <&externaldev 0>; | 125 | clocks = <&refclk>, <&externaldev 0>; |
116 | clock-names = "refclk", "video_ext0"; | 126 | clock-names = "refclk", "video_ext0"; |
diff --git a/Documentation/devicetree/bindings/arm/mediatek.txt b/Documentation/devicetree/bindings/arm/mediatek.txt index fa252261dfaf..3be40139cfbb 100644 --- a/Documentation/devicetree/bindings/arm/mediatek.txt +++ b/Documentation/devicetree/bindings/arm/mediatek.txt | |||
@@ -1,10 +1,14 @@ | |||
1 | Mediatek MT6589 Platforms Device Tree Bindings | 1 | MediaTek mt65xx & mt81xx Platforms Device Tree Bindings |
2 | 2 | ||
3 | Boards with a SoC of the Mediatek MT6589 shall have the following property: | 3 | Boards with a MediaTek mt65xx/mt81xx SoC shall have the following property: |
4 | 4 | ||
5 | Required root node property: | 5 | Required root node property: |
6 | 6 | ||
7 | compatible: must contain "mediatek,mt6589" | 7 | compatible: Must contain one of |
8 | "mediatek,mt6589" | ||
9 | "mediatek,mt6592" | ||
10 | "mediatek,mt8127" | ||
11 | "mediatek,mt8135" | ||
8 | 12 | ||
9 | 13 | ||
10 | Supported boards: | 14 | Supported boards: |
@@ -12,3 +16,12 @@ Supported boards: | |||
12 | - bq Aquaris5 smart phone: | 16 | - bq Aquaris5 smart phone: |
13 | Required root node properties: | 17 | Required root node properties: |
14 | - compatible = "mundoreader,bq-aquaris5", "mediatek,mt6589"; | 18 | - compatible = "mundoreader,bq-aquaris5", "mediatek,mt6589"; |
19 | - Evaluation board for MT6592: | ||
20 | Required root node properties: | ||
21 | - compatible = "mediatek,mt6592-evb", "mediatek,mt6592"; | ||
22 | - MTK mt8127 tablet moose EVB: | ||
23 | Required root node properties: | ||
24 | - compatible = "mediatek,mt8127-moose", "mediatek,mt8127"; | ||
25 | - MTK mt8135 tablet EVB: | ||
26 | Required root node properties: | ||
27 | - compatible = "mediatek,mt8135-evbp1", "mediatek,mt8135"; | ||
diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt index ddd9bcdf889c..4f6a82cef1d1 100644 --- a/Documentation/devicetree/bindings/arm/omap/omap.txt +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt | |||
@@ -132,6 +132,9 @@ Boards: | |||
132 | - AM335X Bone : Low cost community board | 132 | - AM335X Bone : Low cost community board |
133 | compatible = "ti,am335x-bone", "ti,am33xx", "ti,omap3" | 133 | compatible = "ti,am335x-bone", "ti,am33xx", "ti,omap3" |
134 | 134 | ||
135 | - AM335X OrionLXm : Substation Automation Platform | ||
136 | compatible = "novatech,am335x-lxm", "ti,am33xx" | ||
137 | |||
135 | - OMAP5 EVM : Evaluation Module | 138 | - OMAP5 EVM : Evaluation Module |
136 | compatible = "ti,omap5-evm", "ti,omap5" | 139 | compatible = "ti,omap5-evm", "ti,omap5" |
137 | 140 | ||
diff --git a/Documentation/devicetree/bindings/arm/rockchip.txt b/Documentation/devicetree/bindings/arm/rockchip.txt index 857f12636eb2..eaa3d1a0eb05 100644 --- a/Documentation/devicetree/bindings/arm/rockchip.txt +++ b/Documentation/devicetree/bindings/arm/rockchip.txt | |||
@@ -1,6 +1,10 @@ | |||
1 | Rockchip platforms device tree bindings | 1 | Rockchip platforms device tree bindings |
2 | --------------------------------------- | 2 | --------------------------------------- |
3 | 3 | ||
4 | - MarsBoard RK3066 board: | ||
5 | Required root node properties: | ||
6 | - compatible = "haoyu,marsboard-rk3066", "rockchip,rk3066a"; | ||
7 | |||
4 | - bq Curie 2 tablet: | 8 | - bq Curie 2 tablet: |
5 | Required root node properties: | 9 | Required root node properties: |
6 | - compatible = "mundoreader,bq-curie2", "rockchip,rk3066a"; | 10 | - compatible = "mundoreader,bq-curie2", "rockchip,rk3066a"; |
diff --git a/Documentation/devicetree/bindings/arm/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung-boards.txt index 2168ed31e1b0..43589d2466a7 100644 --- a/Documentation/devicetree/bindings/arm/samsung-boards.txt +++ b/Documentation/devicetree/bindings/arm/samsung-boards.txt | |||
@@ -1,11 +1,20 @@ | |||
1 | * Samsung's Exynos4210 based SMDKV310 evaluation board | 1 | * Samsung's Exynos SoC based boards |
2 | |||
3 | SMDKV310 evaluation board is based on Samsung's Exynos4210 SoC. | ||
4 | 2 | ||
5 | Required root node properties: | 3 | Required root node properties: |
6 | - compatible = should be one or more of the following. | 4 | - compatible = should be one or more of the following. |
7 | (a) "samsung,smdkv310" - for Samsung's SMDKV310 eval board. | 5 | - "samsung,monk" - for Exynos3250-based Samsung Simband board. |
8 | (b) "samsung,exynos4210" - for boards based on Exynos4210 SoC. | 6 | - "samsung,rinato" - for Exynos3250-based Samsung Gear2 board. |
7 | - "samsung,smdkv310" - for Exynos4210-based Samsung SMDKV310 eval board. | ||
8 | - "samsung,trats" - for Exynos4210-based Tizen Reference board. | ||
9 | - "samsung,universal_c210" - for Exynos4210-based Samsung board. | ||
10 | - "samsung,smdk4412", - for Exynos4412-based Samsung SMDK4412 eval board. | ||
11 | - "samsung,trats2" - for Exynos4412-based Tizen Reference board. | ||
12 | - "samsung,smdk5250" - for Exynos5250-based Samsung SMDK5250 eval board. | ||
13 | - "samsung,xyref5260" - for Exynos5260-based Samsung board. | ||
14 | - "samsung,smdk5410" - for Exynos5410-based Samsung SMDK5410 eval board. | ||
15 | - "samsung,smdk5420" - for Exynos5420-based Samsung SMDK5420 eval board. | ||
16 | - "samsung,sd5v1" - for Exynos5440-based Samsung board. | ||
17 | - "samsung,ssdk5440" - for Exynos5440-based Samsung board. | ||
9 | 18 | ||
10 | Optional: | 19 | Optional: |
11 | - firmware node, specifying presence and type of secure firmware: | 20 | - firmware node, specifying presence and type of secure firmware: |
diff --git a/Documentation/devicetree/bindings/arm/ste-nomadik.txt b/Documentation/devicetree/bindings/arm/ste-nomadik.txt index 6256ec31666d..2fdff5a806cf 100644 --- a/Documentation/devicetree/bindings/arm/ste-nomadik.txt +++ b/Documentation/devicetree/bindings/arm/ste-nomadik.txt | |||
@@ -10,6 +10,12 @@ Required root node property: src | |||
10 | 10 | ||
11 | Boards with the Nomadik SoC include: | 11 | Boards with the Nomadik SoC include: |
12 | 12 | ||
13 | Nomadik NHK-15 board manufactured by ST Microelectronics: | ||
14 | |||
15 | Required root node property: | ||
16 | |||
17 | compatible="st,nomadik-nhk-15"; | ||
18 | |||
13 | S8815 "MiniKit" manufactured by Calao Systems: | 19 | S8815 "MiniKit" manufactured by Calao Systems: |
14 | 20 | ||
15 | Required root node property: | 21 | Required root node property: |
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/Documentation/devicetree/bindings/clock/vf610-clock.txt b/Documentation/devicetree/bindings/clock/vf610-clock.txt index c80863d344ac..63f9f1ac3439 100644 --- a/Documentation/devicetree/bindings/clock/vf610-clock.txt +++ b/Documentation/devicetree/bindings/clock/vf610-clock.txt | |||
@@ -5,6 +5,19 @@ Required properties: | |||
5 | - reg: Address and length of the register set | 5 | - reg: Address and length of the register set |
6 | - #clock-cells: Should be <1> | 6 | - #clock-cells: Should be <1> |
7 | 7 | ||
8 | Optional properties: | ||
9 | - clocks: list of clock identifiers which are external input clocks to the | ||
10 | given clock controller. Please refer the next section to find | ||
11 | the input clocks for a given controller. | ||
12 | - clock-names: list of names of clocks which are exteral input clocks to the | ||
13 | given clock controller. | ||
14 | |||
15 | Input clocks for top clock controller: | ||
16 | - sxosc (external crystal oscillator 32KHz, recommended) | ||
17 | - fxosc (external crystal oscillator 24MHz, recommended) | ||
18 | - audio_ext | ||
19 | - enet_ext | ||
20 | |||
8 | The clock consumer should specify the desired clock by having the clock | 21 | The clock consumer should specify the desired clock by having the clock |
9 | ID in its "clocks" phandle cell. See include/dt-bindings/clock/vf610-clock.h | 22 | ID in its "clocks" phandle cell. See include/dt-bindings/clock/vf610-clock.h |
10 | for the full list of VF610 clock IDs. | 23 | for the full list of VF610 clock IDs. |
@@ -15,6 +28,8 @@ clks: ccm@4006b000 { | |||
15 | compatible = "fsl,vf610-ccm"; | 28 | compatible = "fsl,vf610-ccm"; |
16 | reg = <0x4006b000 0x1000>; | 29 | reg = <0x4006b000 0x1000>; |
17 | #clock-cells = <1>; | 30 | #clock-cells = <1>; |
31 | clocks = <&sxosc>, <&fxosc>; | ||
32 | clock-names = "sxosc", "fxosc"; | ||
18 | }; | 33 | }; |
19 | 34 | ||
20 | uart1: serial@40028000 { | 35 | uart1: serial@40028000 { |
diff --git a/Documentation/devicetree/bindings/dma/xilinx/xilinx_vdma.txt b/Documentation/devicetree/bindings/dma/xilinx/xilinx_vdma.txt index 1405ed071bb4..e4c4d47f8137 100644 --- a/Documentation/devicetree/bindings/dma/xilinx/xilinx_vdma.txt +++ b/Documentation/devicetree/bindings/dma/xilinx/xilinx_vdma.txt | |||
@@ -25,7 +25,7 @@ Required child node properties: | |||
25 | - compatible: It should be either "xlnx,axi-vdma-mm2s-channel" or | 25 | - compatible: It should be either "xlnx,axi-vdma-mm2s-channel" or |
26 | "xlnx,axi-vdma-s2mm-channel". | 26 | "xlnx,axi-vdma-s2mm-channel". |
27 | - interrupts: Should contain per channel VDMA interrupts. | 27 | - interrupts: Should contain per channel VDMA interrupts. |
28 | - xlnx,data-width: Should contain the stream data width, take values | 28 | - xlnx,datawidth: Should contain the stream data width, take values |
29 | {32,64...1024}. | 29 | {32,64...1024}. |
30 | 30 | ||
31 | Optional child node properties: | 31 | Optional child node properties: |
diff --git a/Documentation/devicetree/bindings/i2c/i2c-s3c2410.txt b/Documentation/devicetree/bindings/i2c/i2c-s3c2410.txt index 278de8e64bbf..89b3250f049b 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-s3c2410.txt +++ b/Documentation/devicetree/bindings/i2c/i2c-s3c2410.txt | |||
@@ -32,6 +32,7 @@ Optional properties: | |||
32 | specified, default value is 0. | 32 | specified, default value is 0. |
33 | - samsung,i2c-max-bus-freq: Desired frequency in Hz of the bus. If not | 33 | - samsung,i2c-max-bus-freq: Desired frequency in Hz of the bus. If not |
34 | specified, the default value in Hz is 100000. | 34 | specified, the default value in Hz is 100000. |
35 | - samsung,sysreg-phandle - handle to syscon used to control the system registers | ||
35 | 36 | ||
36 | Example: | 37 | Example: |
37 | 38 | ||
diff --git a/Documentation/devicetree/bindings/i2c/trivial-devices.txt b/Documentation/devicetree/bindings/i2c/trivial-devices.txt index fbde415078e6..605dcca5dbec 100644 --- a/Documentation/devicetree/bindings/i2c/trivial-devices.txt +++ b/Documentation/devicetree/bindings/i2c/trivial-devices.txt | |||
@@ -56,6 +56,8 @@ gmt,g751 G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire In | |||
56 | infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz) | 56 | infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz) |
57 | infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz) | 57 | infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz) |
58 | isl,isl12057 Intersil ISL12057 I2C RTC Chip | 58 | isl,isl12057 Intersil ISL12057 I2C RTC Chip |
59 | isil,isl29028 (deprecated, use isl) | ||
60 | isl,isl29028 Intersil ISL29028 Ambient Light and Proximity Sensor | ||
59 | maxim,ds1050 5 Bit Programmable, Pulse-Width Modulator | 61 | maxim,ds1050 5 Bit Programmable, Pulse-Width Modulator |
60 | maxim,max1237 Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs | 62 | maxim,max1237 Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs |
61 | maxim,max6625 9-Bit/12-Bit Temperature Sensors with I²C-Compatible Serial Interface | 63 | maxim,max6625 9-Bit/12-Bit Temperature Sensors with I²C-Compatible Serial Interface |
diff --git a/Documentation/devicetree/bindings/timer/renesas,mtu2.txt b/Documentation/devicetree/bindings/timer/renesas,mtu2.txt index d9a8d5af1a21..ba0a34d97eb8 100644 --- a/Documentation/devicetree/bindings/timer/renesas,mtu2.txt +++ b/Documentation/devicetree/bindings/timer/renesas,mtu2.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | * Renesas R-Car Multi-Function Timer Pulse Unit 2 (MTU2) | 1 | * Renesas Multi-Function Timer Pulse Unit 2 (MTU2) |
2 | 2 | ||
3 | The MTU2 is a multi-purpose, multi-channel timer/counter with configurable | 3 | The MTU2 is a multi-purpose, multi-channel timer/counter with configurable |
4 | clock inputs and programmable compare match. | 4 | clock inputs and programmable compare match. |
diff --git a/Documentation/devicetree/bindings/timer/renesas,tmu.txt b/Documentation/devicetree/bindings/timer/renesas,tmu.txt index 7db89fb25444..cd5f20bf2582 100644 --- a/Documentation/devicetree/bindings/timer/renesas,tmu.txt +++ b/Documentation/devicetree/bindings/timer/renesas,tmu.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | * Renesas R-Car Timer Unit (TMU) | 1 | * Renesas R-Mobile/R-Car Timer Unit (TMU) |
2 | 2 | ||
3 | The TMU is a 32-bit timer/counter with configurable clock inputs and | 3 | The TMU is a 32-bit timer/counter with configurable clock inputs and |
4 | programmable compare match. | 4 | programmable compare match. |
@@ -9,6 +9,8 @@ are independent. The TMU hardware supports up to three channels. | |||
9 | Required Properties: | 9 | Required Properties: |
10 | 10 | ||
11 | - compatible: must contain one or more of the following: | 11 | - compatible: must contain one or more of the following: |
12 | - "renesas,tmu-r8a7740" for the r8a7740 TMU | ||
13 | - "renesas,tmu-r8a7778" for the r8a7778 TMU | ||
12 | - "renesas,tmu-r8a7779" for the r8a7779 TMU | 14 | - "renesas,tmu-r8a7779" for the r8a7779 TMU |
13 | - "renesas,tmu" for any TMU. | 15 | - "renesas,tmu" for any TMU. |
14 | This is a fallback for the above renesas,tmu-* entries | 16 | This is a fallback for the above renesas,tmu-* entries |
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index ecaf2035c2fe..0d354625299c 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt | |||
@@ -41,6 +41,7 @@ dallas Maxim Integrated Products (formerly Dallas Semiconductor) | |||
41 | davicom DAVICOM Semiconductor, Inc. | 41 | davicom DAVICOM Semiconductor, Inc. |
42 | denx Denx Software Engineering | 42 | denx Denx Software Engineering |
43 | digi Digi International Inc. | 43 | digi Digi International Inc. |
44 | digilent Diglent, Inc. | ||
44 | dlg Dialog Semiconductor | 45 | dlg Dialog Semiconductor |
45 | dlink D-Link Corporation | 46 | dlink D-Link Corporation |
46 | dmo Data Modul AG | 47 | dmo Data Modul AG |
@@ -78,6 +79,7 @@ innolux Innolux Corporation | |||
78 | intel Intel Corporation | 79 | intel Intel Corporation |
79 | intercontrol Inter Control Group | 80 | intercontrol Inter Control Group |
80 | isee ISEE 2007 S.L. | 81 | isee ISEE 2007 S.L. |
82 | isil Intersil (deprecated, use isl) | ||
81 | isl Intersil | 83 | isl Intersil |
82 | karo Ka-Ro electronics GmbH | 84 | karo Ka-Ro electronics GmbH |
83 | keymile Keymile GmbH | 85 | keymile Keymile GmbH |
@@ -150,6 +152,7 @@ st STMicroelectronics | |||
150 | ste ST-Ericsson | 152 | ste ST-Ericsson |
151 | stericsson ST-Ericsson | 153 | stericsson ST-Ericsson |
152 | synology Synology, Inc. | 154 | synology Synology, Inc. |
155 | tbs TBS Technologies | ||
153 | thine THine Electronics, Inc. | 156 | thine THine Electronics, Inc. |
154 | ti Texas Instruments | 157 | ti Texas Instruments |
155 | tlm Trusted Logic Mobility | 158 | tlm Trusted Logic Mobility |
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index fe92f5df9d3c..6a3d9a6c4497 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -54,8 +54,17 @@ 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_5301X) += bcm4708-netgear-r6250.dtb | 57 | dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b-plus.dtb |
58 | dtb-$(CONFIG_ARCH_BCM_5301X) += \ | ||
59 | bcm4708-buffalo-wzr-1750dhp.dtb \ | ||
60 | bcm4708-netgear-r6250.dtb \ | ||
61 | bcm4708-netgear-r6300-v2.dtb \ | ||
62 | bcm47081-asus-rt-n18u.dtb \ | ||
63 | bcm47081-buffalo-wzr-600dhp2.dtb | ||
58 | dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb | 64 | dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb |
65 | dtb-$(CONFIG_ARCH_BCM_CYGNUS) += bcm911360_entphn.dtb \ | ||
66 | bcm911360k.dtb \ | ||
67 | bcm958300k.dtb | ||
59 | dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \ | 68 | dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \ |
60 | bcm21664-garnet.dtb | 69 | bcm21664-garnet.dtb |
61 | dtb-$(CONFIG_ARCH_BERLIN) += \ | 70 | dtb-$(CONFIG_ARCH_BERLIN) += \ |
@@ -67,7 +76,9 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \ | |||
67 | dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \ | 76 | dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \ |
68 | da850-evm.dtb | 77 | da850-evm.dtb |
69 | dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb | 78 | dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb |
70 | dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \ | 79 | dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \ |
80 | exynos3250-rinato.dtb \ | ||
81 | exynos4210-origen.dtb \ | ||
71 | exynos4210-smdkv310.dtb \ | 82 | exynos4210-smdkv310.dtb \ |
72 | exynos4210-trats.dtb \ | 83 | exynos4210-trats.dtb \ |
73 | exynos4210-universal_c210.dtb \ | 84 | exynos4210-universal_c210.dtb \ |
@@ -81,6 +92,7 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \ | |||
81 | exynos5250-arndale.dtb \ | 92 | exynos5250-arndale.dtb \ |
82 | exynos5250-smdk5250.dtb \ | 93 | exynos5250-smdk5250.dtb \ |
83 | exynos5250-snow.dtb \ | 94 | exynos5250-snow.dtb \ |
95 | exynos5250-spring.dtb \ | ||
84 | exynos5260-xyref5260.dtb \ | 96 | exynos5260-xyref5260.dtb \ |
85 | exynos5410-smdk5410.dtb \ | 97 | exynos5410-smdk5410.dtb \ |
86 | exynos5420-arndale-octa.dtb \ | 98 | exynos5420-arndale-octa.dtb \ |
@@ -104,6 +116,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \ | |||
104 | kirkwood-d2net.dtb \ | 116 | kirkwood-d2net.dtb \ |
105 | kirkwood-db-88f6281.dtb \ | 117 | kirkwood-db-88f6281.dtb \ |
106 | kirkwood-db-88f6282.dtb \ | 118 | kirkwood-db-88f6282.dtb \ |
119 | kirkwood-dir665.dtb \ | ||
107 | kirkwood-dns320.dtb \ | 120 | kirkwood-dns320.dtb \ |
108 | kirkwood-dns325.dtb \ | 121 | kirkwood-dns325.dtb \ |
109 | kirkwood-dockstar.dtb \ | 122 | kirkwood-dockstar.dtb \ |
@@ -240,6 +253,7 @@ dtb-$(CONFIG_ARCH_MXC) += \ | |||
240 | imx6q-sabrelite.dtb \ | 253 | imx6q-sabrelite.dtb \ |
241 | imx6q-sabresd.dtb \ | 254 | imx6q-sabresd.dtb \ |
242 | imx6q-sbc6x.dtb \ | 255 | imx6q-sbc6x.dtb \ |
256 | imx6q-tbs2910.dtb \ | ||
243 | imx6q-udoo.dtb \ | 257 | imx6q-udoo.dtb \ |
244 | imx6q-wandboard.dtb \ | 258 | imx6q-wandboard.dtb \ |
245 | imx6q-wandboard-revb1.dtb \ | 259 | imx6q-wandboard-revb1.dtb \ |
@@ -250,6 +264,9 @@ dtb-$(CONFIG_ARCH_MXC) += \ | |||
250 | imx6q-tx6q-1110.dtb \ | 264 | imx6q-tx6q-1110.dtb \ |
251 | imx6sl-evk.dtb \ | 265 | imx6sl-evk.dtb \ |
252 | imx6sx-sdb.dtb \ | 266 | imx6sx-sdb.dtb \ |
267 | ls1021a-qds.dtb \ | ||
268 | ls1021a-twr.dtb \ | ||
269 | vf500-colibri-eval-v3.dtb \ | ||
253 | vf610-colibri-eval-v3.dtb \ | 270 | vf610-colibri-eval-v3.dtb \ |
254 | vf610-cosmic.dtb \ | 271 | vf610-cosmic.dtb \ |
255 | vf610-twr.dtb | 272 | vf610-twr.dtb |
@@ -274,7 +291,8 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \ | |||
274 | imx28-m28evk.dtb \ | 291 | imx28-m28evk.dtb \ |
275 | imx28-sps1.dtb \ | 292 | imx28-sps1.dtb \ |
276 | imx28-tx28.dtb | 293 | imx28-tx28.dtb |
277 | dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb | 294 | dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb \ |
295 | ste-nomadik-nhk15.dtb | ||
278 | dtb-$(CONFIG_ARCH_NSPIRE) += nspire-cx.dtb \ | 296 | dtb-$(CONFIG_ARCH_NSPIRE) += nspire-cx.dtb \ |
279 | nspire-tp.dtb \ | 297 | nspire-tp.dtb \ |
280 | nspire-clp.dtb | 298 | nspire-clp.dtb |
@@ -302,7 +320,9 @@ dtb-$(CONFIG_ARCH_OMAP3) += am3517-craneboard.dtb \ | |||
302 | omap3-ha.dtb \ | 320 | omap3-ha.dtb \ |
303 | omap3-ha-lcd.dtb \ | 321 | omap3-ha-lcd.dtb \ |
304 | omap3-igep0020.dtb \ | 322 | omap3-igep0020.dtb \ |
323 | omap3-igep0020-rev-f.dtb \ | ||
305 | omap3-igep0030.dtb \ | 324 | omap3-igep0030.dtb \ |
325 | omap3-igep0030-rev-g.dtb \ | ||
306 | omap3-ldp.dtb \ | 326 | omap3-ldp.dtb \ |
307 | omap3-lilly-dbb056.dtb \ | 327 | omap3-lilly-dbb056.dtb \ |
308 | omap3-n900.dtb \ | 328 | omap3-n900.dtb \ |
@@ -331,7 +351,8 @@ dtb-$(CONFIG_SOC_AM33XX) += am335x-base0033.dtb \ | |||
331 | am335x-evm.dtb \ | 351 | am335x-evm.dtb \ |
332 | am335x-evmsk.dtb \ | 352 | am335x-evmsk.dtb \ |
333 | am335x-nano.dtb \ | 353 | am335x-nano.dtb \ |
334 | am335x-pepper.dtb | 354 | am335x-pepper.dtb \ |
355 | am335x-lxm.dtb | ||
335 | dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \ | 356 | dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \ |
336 | omap4-panda.dtb \ | 357 | omap4-panda.dtb \ |
337 | omap4-panda-a4.dtb \ | 358 | omap4-panda-a4.dtb \ |
@@ -347,6 +368,7 @@ dtb-$(CONFIG_SOC_OMAP5) += omap5-cm-t54.dtb \ | |||
347 | omap5-sbc-t54.dtb \ | 368 | omap5-sbc-t54.dtb \ |
348 | omap5-uevm.dtb | 369 | omap5-uevm.dtb |
349 | dtb-$(CONFIG_SOC_DRA7XX) += dra7-evm.dtb \ | 370 | dtb-$(CONFIG_SOC_DRA7XX) += dra7-evm.dtb \ |
371 | am57xx-beagle-x15.dtb \ | ||
350 | dra72-evm.dtb | 372 | dra72-evm.dtb |
351 | dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-d2-network.dtb \ | 373 | dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-d2-network.dtb \ |
352 | orion5x-lacie-ethernet-disk-mini-v2.dtb \ | 374 | orion5x-lacie-ethernet-disk-mini-v2.dtb \ |
@@ -363,8 +385,10 @@ dtb-$(CONFIG_ARCH_QCOM) += \ | |||
363 | qcom-msm8660-surf.dtb \ | 385 | qcom-msm8660-surf.dtb \ |
364 | qcom-msm8960-cdp.dtb \ | 386 | qcom-msm8960-cdp.dtb \ |
365 | qcom-msm8974-sony-xperia-honami.dtb | 387 | qcom-msm8974-sony-xperia-honami.dtb |
388 | dtb-$(CONFIG_ARCH_REALVIEW) += arm-realview-pb1176.dtb | ||
366 | dtb-$(CONFIG_ARCH_ROCKCHIP) += \ | 389 | dtb-$(CONFIG_ARCH_ROCKCHIP) += \ |
367 | rk3066a-bqcurie2.dtb \ | 390 | rk3066a-bqcurie2.dtb \ |
391 | rk3066a-marsboard.dtb \ | ||
368 | rk3188-radxarock.dtb \ | 392 | rk3188-radxarock.dtb \ |
369 | rk3288-evb-act8846.dtb \ | 393 | rk3288-evb-act8846.dtb \ |
370 | rk3288-evb-rk808.dtb | 394 | rk3288-evb-rk808.dtb |
@@ -396,6 +420,7 @@ dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += emev2-kzm9d.dtb \ | |||
396 | r8a7791-koelsch.dtb \ | 420 | r8a7791-koelsch.dtb \ |
397 | r8a7794-alt.dtb | 421 | r8a7794-alt.dtb |
398 | dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_arria5_socdk.dtb \ | 422 | dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_arria5_socdk.dtb \ |
423 | socfpga_arria10_socdk.dtb \ | ||
399 | socfpga_cyclone5_socdk.dtb \ | 424 | socfpga_cyclone5_socdk.dtb \ |
400 | socfpga_cyclone5_sockit.dtb \ | 425 | socfpga_cyclone5_sockit.dtb \ |
401 | socfpga_cyclone5_socrates.dtb \ | 426 | socfpga_cyclone5_socrates.dtb \ |
@@ -408,6 +433,7 @@ dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \ | |||
408 | spear320-hmi.dtb | 433 | spear320-hmi.dtb |
409 | dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb | 434 | dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb |
410 | dtb-$(CONFIG_ARCH_STI)+= stih407-b2120.dtb \ | 435 | dtb-$(CONFIG_ARCH_STI)+= stih407-b2120.dtb \ |
436 | stih410-b2120.dtb \ | ||
411 | stih415-b2000.dtb \ | 437 | stih415-b2000.dtb \ |
412 | stih415-b2020.dtb \ | 438 | stih415-b2020.dtb \ |
413 | stih416-b2000.dtb \ | 439 | stih416-b2000.dtb \ |
@@ -434,15 +460,20 @@ dtb-$(CONFIG_MACH_SUN6I) += \ | |||
434 | sun6i-a31-hummingbird.dtb \ | 460 | sun6i-a31-hummingbird.dtb \ |
435 | sun6i-a31-m9.dtb | 461 | sun6i-a31-m9.dtb |
436 | dtb-$(CONFIG_MACH_SUN7I) += \ | 462 | dtb-$(CONFIG_MACH_SUN7I) += \ |
463 | sun7i-a20-bananapi.dtb \ | ||
437 | sun7i-a20-cubieboard2.dtb \ | 464 | sun7i-a20-cubieboard2.dtb \ |
438 | sun7i-a20-cubietruck.dtb \ | 465 | sun7i-a20-cubietruck.dtb \ |
439 | sun7i-a20-hummingbird.dtb \ | 466 | sun7i-a20-hummingbird.dtb \ |
440 | sun7i-a20-i12-tvbox.dtb \ | 467 | sun7i-a20-i12-tvbox.dtb \ |
468 | sun7i-a20-m3.dtb \ | ||
441 | sun7i-a20-olinuxino-lime.dtb \ | 469 | sun7i-a20-olinuxino-lime.dtb \ |
470 | sun7i-a20-olinuxino-lime2.dtb \ | ||
442 | sun7i-a20-olinuxino-micro.dtb \ | 471 | sun7i-a20-olinuxino-micro.dtb \ |
443 | sun7i-a20-pcduino3.dtb | 472 | sun7i-a20-pcduino3.dtb |
444 | dtb-$(CONFIG_MACH_SUN8I) += \ | 473 | dtb-$(CONFIG_MACH_SUN8I) += \ |
445 | sun8i-a23-ippo-q8h-v5.dtb | 474 | sun8i-a23-ippo-q8h-v5.dtb |
475 | dtb-$(CONFIG_MACH_SUN9I) += \ | ||
476 | sun9i-a80-optimus.dtb | ||
446 | dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ | 477 | dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ |
447 | tegra20-iris-512.dtb \ | 478 | tegra20-iris-512.dtb \ |
448 | tegra20-medcom-wide.dtb \ | 479 | tegra20-medcom-wide.dtb \ |
@@ -488,13 +519,15 @@ dtb-$(CONFIG_ARCH_ZYNQ) += \ | |||
488 | zynq-parallella.dtb \ | 519 | zynq-parallella.dtb \ |
489 | zynq-zc702.dtb \ | 520 | zynq-zc702.dtb \ |
490 | zynq-zc706.dtb \ | 521 | zynq-zc706.dtb \ |
491 | zynq-zed.dtb | 522 | zynq-zed.dtb \ |
523 | zynq-zybo.dtb | ||
492 | dtb-$(CONFIG_MACH_ARMADA_370) += \ | 524 | dtb-$(CONFIG_MACH_ARMADA_370) += \ |
493 | armada-370-db.dtb \ | 525 | armada-370-db.dtb \ |
494 | armada-370-mirabox.dtb \ | 526 | armada-370-mirabox.dtb \ |
495 | armada-370-netgear-rn102.dtb \ | 527 | armada-370-netgear-rn102.dtb \ |
496 | armada-370-netgear-rn104.dtb \ | 528 | armada-370-netgear-rn104.dtb \ |
497 | armada-370-rd.dtb | 529 | armada-370-rd.dtb \ |
530 | armada-370-synology-ds213j.dtb | ||
498 | dtb-$(CONFIG_MACH_ARMADA_375) += \ | 531 | dtb-$(CONFIG_MACH_ARMADA_375) += \ |
499 | armada-375-db.dtb | 532 | armada-375-db.dtb |
500 | dtb-$(CONFIG_MACH_ARMADA_38X) += \ | 533 | dtb-$(CONFIG_MACH_ARMADA_38X) += \ |
@@ -507,14 +540,18 @@ dtb-$(CONFIG_MACH_ARMADA_XP) += \ | |||
507 | armada-xp-lenovo-ix4-300d.dtb \ | 540 | armada-xp-lenovo-ix4-300d.dtb \ |
508 | armada-xp-matrix.dtb \ | 541 | armada-xp-matrix.dtb \ |
509 | armada-xp-netgear-rn2120.dtb \ | 542 | armada-xp-netgear-rn2120.dtb \ |
510 | armada-xp-openblocks-ax3-4.dtb | 543 | armada-xp-openblocks-ax3-4.dtb \ |
544 | armada-xp-synology-ds414.dtb | ||
511 | dtb-$(CONFIG_MACH_DOVE) += dove-cm-a510.dtb \ | 545 | dtb-$(CONFIG_MACH_DOVE) += dove-cm-a510.dtb \ |
512 | dove-cubox.dtb \ | 546 | dove-cubox.dtb \ |
513 | dove-cubox-es.dtb \ | 547 | dove-cubox-es.dtb \ |
514 | dove-d2plug.dtb \ | 548 | dove-d2plug.dtb \ |
515 | dove-d3plug.dtb \ | 549 | dove-d3plug.dtb \ |
516 | dove-dove-db.dtb | 550 | dove-dove-db.dtb |
517 | dtb-$(CONFIG_ARCH_MEDIATEK) += mt6589-aquaris5.dtb | 551 | dtb-$(CONFIG_ARCH_MEDIATEK) += mt6589-aquaris5.dtb \ |
552 | mt6592-evb.dtb \ | ||
553 | mt8127-moose.dtb \ | ||
554 | mt8135-evbp1.dtb | ||
518 | 555 | ||
519 | endif | 556 | endif |
520 | 557 | ||
diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts index c4b968f0feb5..54f118c08db8 100644 --- a/arch/arm/boot/dts/am335x-evm.dts +++ b/arch/arm/boot/dts/am335x-evm.dts | |||
@@ -307,6 +307,13 @@ | |||
307 | 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */ | 307 | 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */ |
308 | >; | 308 | >; |
309 | }; | 309 | }; |
310 | |||
311 | dcan1_pins_default: dcan1_pins_default { | ||
312 | pinctrl-single,pins = < | ||
313 | 0x168 (PIN_OUTPUT | MUX_MODE2) /* uart0_ctsn.d_can1_tx */ | ||
314 | 0x16c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* uart0_rtsn.d_can1_rx */ | ||
315 | >; | ||
316 | }; | ||
310 | }; | 317 | }; |
311 | 318 | ||
312 | &uart0 { | 319 | &uart0 { |
@@ -437,9 +444,9 @@ | |||
437 | status = "okay"; | 444 | status = "okay"; |
438 | pinctrl-names = "default"; | 445 | pinctrl-names = "default"; |
439 | pinctrl-0 = <&nandflash_pins_s0>; | 446 | pinctrl-0 = <&nandflash_pins_s0>; |
440 | ranges = <0 0 0x08000000 0x10000000>; /* CS0: NAND */ | 447 | ranges = <0 0 0x08000000 0x1000000>; /* CS0: 16MB for NAND */ |
441 | nand@0,0 { | 448 | nand@0,0 { |
442 | reg = <0 0 0>; /* CS0, offset 0 */ | 449 | reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ |
443 | ti,nand-ecc-opt = "bch8"; | 450 | ti,nand-ecc-opt = "bch8"; |
444 | ti,elm-id = <&elm>; | 451 | ti,elm-id = <&elm>; |
445 | nand-bus-width = <8>; | 452 | nand-bus-width = <8>; |
@@ -664,3 +671,9 @@ | |||
664 | &aes { | 671 | &aes { |
665 | status = "okay"; | 672 | status = "okay"; |
666 | }; | 673 | }; |
674 | |||
675 | &dcan1 { | ||
676 | status = "disabled"; /* Enable only if Profile 1 is selected */ | ||
677 | pinctrl-names = "default"; | ||
678 | pinctrl-0 = <&dcan1_pins_default>; | ||
679 | }; | ||
diff --git a/arch/arm/boot/dts/am335x-igep0033.dtsi b/arch/arm/boot/dts/am335x-igep0033.dtsi index a1a0cc5eb35c..c0e1135256cc 100644 --- a/arch/arm/boot/dts/am335x-igep0033.dtsi +++ b/arch/arm/boot/dts/am335x-igep0033.dtsi | |||
@@ -126,10 +126,10 @@ | |||
126 | pinctrl-names = "default"; | 126 | pinctrl-names = "default"; |
127 | pinctrl-0 = <&nandflash_pins>; | 127 | pinctrl-0 = <&nandflash_pins>; |
128 | 128 | ||
129 | ranges = <0 0 0x08000000 0x10000000>; /* CS0: NAND */ | 129 | ranges = <0 0 0x08000000 0x1000000>; /* CS0: 16MB for NAND */ |
130 | 130 | ||
131 | nand@0,0 { | 131 | nand@0,0 { |
132 | reg = <0 0 0>; /* CS0, offset 0 */ | 132 | reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ |
133 | nand-bus-width = <8>; | 133 | nand-bus-width = <8>; |
134 | ti,nand-ecc-opt = "bch8"; | 134 | ti,nand-ecc-opt = "bch8"; |
135 | gpmc,device-width = <1>; | 135 | gpmc,device-width = <1>; |
diff --git a/arch/arm/boot/dts/am335x-lxm.dts b/arch/arm/boot/dts/am335x-lxm.dts new file mode 100644 index 000000000000..7266a00aab2e --- /dev/null +++ b/arch/arm/boot/dts/am335x-lxm.dts | |||
@@ -0,0 +1,362 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 NovaTech LLC - http://www.novatechweb.com | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | */ | ||
8 | /dts-v1/; | ||
9 | |||
10 | #include "am33xx.dtsi" | ||
11 | |||
12 | / { | ||
13 | model = "NovaTech OrionLXm"; | ||
14 | compatible = "novatech,am335x-lxm", "ti,am33xx"; | ||
15 | |||
16 | cpus { | ||
17 | cpu@0 { | ||
18 | cpu0-supply = <&vdd1_reg>; | ||
19 | }; | ||
20 | }; | ||
21 | |||
22 | memory { | ||
23 | device_type = "memory"; | ||
24 | reg = <0x80000000 0x20000000>; /* 512 MB */ | ||
25 | }; | ||
26 | |||
27 | /* Power supply provides a fixed 5V @2A */ | ||
28 | vbat: fixedregulator@0 { | ||
29 | compatible = "regulator-fixed"; | ||
30 | regulator-name = "vbat"; | ||
31 | regulator-min-microvolt = <5000000>; | ||
32 | regulator-max-microvolt = <5000000>; | ||
33 | regulator-boot-on; | ||
34 | }; | ||
35 | |||
36 | /* Power supply provides a fixed 3.3V @3A */ | ||
37 | vmmcsd_fixed: fixedregulator@1 { | ||
38 | compatible = "regulator-fixed"; | ||
39 | regulator-name = "vmmcsd_fixed"; | ||
40 | regulator-min-microvolt = <3300000>; | ||
41 | regulator-max-microvolt = <3300000>; | ||
42 | regulator-boot-on; | ||
43 | }; | ||
44 | }; | ||
45 | |||
46 | &am33xx_pinmux { | ||
47 | mmc1_pins: pinmux_mmc1_pins { | ||
48 | pinctrl-single,pins = < | ||
49 | 0xf0 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat3 */ | ||
50 | 0xf4 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat2 */ | ||
51 | 0xf8 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat1 */ | ||
52 | 0xfc (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat0 */ | ||
53 | 0x100 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_clk */ | ||
54 | 0x104 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_cmd */ | ||
55 | >; | ||
56 | }; | ||
57 | |||
58 | i2c0_pins: pinmux_i2c0_pins { | ||
59 | pinctrl-single,pins = < | ||
60 | 0x188 (PIN_INPUT | MUX_MODE0) /* i2c0_sda.i2c0_sda */ | ||
61 | 0x18c (PIN_INPUT | MUX_MODE0) /* i2c0_scl.i2c0_scl */ | ||
62 | >; | ||
63 | }; | ||
64 | |||
65 | cpsw_default: cpsw_default { | ||
66 | pinctrl-single,pins = < | ||
67 | /* Slave 1 */ | ||
68 | 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_int */ | ||
69 | 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_crs_dv */ | ||
70 | 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_rxer */ | ||
71 | 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* rmii1_txen */ | ||
72 | 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* rmii1_td1 */ | ||
73 | 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* rmii1_td0 */ | ||
74 | 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_rd1 */ | ||
75 | 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_rd0 */ | ||
76 | 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii1_refclk */ | ||
77 | |||
78 | /* Slave 2 */ | ||
79 | 0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* rmii2_txen */ | ||
80 | 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* rmii2_td1 */ | ||
81 | 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* rmii2_td0 */ | ||
82 | 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_rd1 */ | ||
83 | 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_rd0 */ | ||
84 | 0x70 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_crs_dv */ | ||
85 | 0x74 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_rxer */ | ||
86 | 0x78 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_int */ | ||
87 | 0x108 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii2_refclk */ | ||
88 | >; | ||
89 | }; | ||
90 | |||
91 | cpsw_sleep: cpsw_sleep { | ||
92 | pinctrl-single,pins = < | ||
93 | /* Slave 1 reset value */ | ||
94 | 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_int */ | ||
95 | 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_crs_dv */ | ||
96 | 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_rxer */ | ||
97 | 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_txen */ | ||
98 | 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_td1 */ | ||
99 | 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_td0 */ | ||
100 | 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_rd1 */ | ||
101 | 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_rd0 */ | ||
102 | 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_refclk */ | ||
103 | |||
104 | /* Slave 2 reset value*/ | ||
105 | 0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_txen */ | ||
106 | 0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_td1 */ | ||
107 | 0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_td0 */ | ||
108 | 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_rd1 */ | ||
109 | 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_rd0 */ | ||
110 | 0x70 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_crs_dv */ | ||
111 | 0x74 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_rxer */ | ||
112 | 0x78 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_int */ | ||
113 | 0x108 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_refclk */ | ||
114 | >; | ||
115 | }; | ||
116 | |||
117 | davinci_mdio_default: davinci_mdio_default { | ||
118 | pinctrl-single,pins = < | ||
119 | /* MDIO */ | ||
120 | 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */ | ||
121 | 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */ | ||
122 | >; | ||
123 | }; | ||
124 | |||
125 | davinci_mdio_sleep: davinci_mdio_sleep { | ||
126 | pinctrl-single,pins = < | ||
127 | /* MDIO reset value */ | ||
128 | 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7) | ||
129 | 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7) | ||
130 | >; | ||
131 | }; | ||
132 | |||
133 | emmc_pins: pinmux_emmc_pins { | ||
134 | pinctrl-single,pins = < | ||
135 | 0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */ | ||
136 | 0x84 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */ | ||
137 | 0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */ | ||
138 | 0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */ | ||
139 | 0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */ | ||
140 | 0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */ | ||
141 | 0x10 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */ | ||
142 | 0x14 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */ | ||
143 | 0x18 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */ | ||
144 | 0x1c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */ | ||
145 | >; | ||
146 | }; | ||
147 | |||
148 | uart0_pins: pinmux_uart0_pins { | ||
149 | pinctrl-single,pins = < | ||
150 | 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */ | ||
151 | 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */ | ||
152 | >; | ||
153 | }; | ||
154 | }; | ||
155 | |||
156 | &i2c0 { | ||
157 | pinctrl-names = "default"; | ||
158 | pinctrl-0 = <&i2c0_pins>; | ||
159 | |||
160 | status = "okay"; | ||
161 | clock-frequency = <400000>; | ||
162 | |||
163 | serial_config1: serial_config1@20 { | ||
164 | compatible = "nxp,pca9539"; | ||
165 | reg = <0x20>; | ||
166 | }; | ||
167 | |||
168 | serial_config2: serial_config2@21 { | ||
169 | compatible = "nxp,pca9539"; | ||
170 | reg = <0x21>; | ||
171 | }; | ||
172 | |||
173 | tps: tps@2d { | ||
174 | compatible = "ti,tps65910"; | ||
175 | reg = <0x2d>; | ||
176 | }; | ||
177 | }; | ||
178 | |||
179 | /include/ "tps65910.dtsi" | ||
180 | |||
181 | &tps { | ||
182 | vcc1-supply = <&vbat>; | ||
183 | vcc2-supply = <&vbat>; | ||
184 | vcc3-supply = <&vbat>; | ||
185 | vcc4-supply = <&vbat>; | ||
186 | vcc5-supply = <&vbat>; | ||
187 | vcc6-supply = <&vbat>; | ||
188 | vcc7-supply = <&vbat>; | ||
189 | vccio-supply = <&vbat>; | ||
190 | |||
191 | regulators { | ||
192 | /* vrtc - unused */ | ||
193 | |||
194 | vio_reg: regulator@1 { | ||
195 | regulator-name = "vio_1v5,ddr"; | ||
196 | regulator-min-microvolt = <1500000>; | ||
197 | regulator-max-microvolt = <1500000>; | ||
198 | regulator-boot-on; | ||
199 | regulator-always-on; | ||
200 | }; | ||
201 | |||
202 | vdd1_reg: regulator@2 { | ||
203 | regulator-name = "vdd1,mpu"; | ||
204 | regulator-min-microvolt = <600000>; | ||
205 | regulator-max-microvolt = <1500000>; | ||
206 | regulator-boot-on; | ||
207 | regulator-always-on; | ||
208 | }; | ||
209 | |||
210 | vdd2_reg: regulator@3 { | ||
211 | regulator-name = "vdd2_1v1,core"; | ||
212 | regulator-min-microvolt = <1100000>; | ||
213 | regulator-max-microvolt = <1100000>; | ||
214 | regulator-boot-on; | ||
215 | regulator-always-on; | ||
216 | }; | ||
217 | |||
218 | /* vdd3 - unused */ | ||
219 | |||
220 | /* vdig1 - unused */ | ||
221 | |||
222 | vdig2_reg: regulator@6 { | ||
223 | regulator-name = "vdig2_1v8,vdds_pll"; | ||
224 | regulator-min-microvolt = <1800000>; | ||
225 | regulator-max-microvolt = <1800000>; | ||
226 | regulator-boot-on; | ||
227 | regulator-always-on; | ||
228 | }; | ||
229 | |||
230 | /* vpll - unused */ | ||
231 | |||
232 | vdac_reg: regulator@8 { | ||
233 | regulator-name = "vdac_1v8,vdds"; | ||
234 | regulator-min-microvolt = <1800000>; | ||
235 | regulator-max-microvolt = <1800000>; | ||
236 | regulator-boot-on; | ||
237 | regulator-always-on; | ||
238 | }; | ||
239 | |||
240 | vaux1_reg: regulator@9 { | ||
241 | regulator-name = "vaux1_1v8,usb"; | ||
242 | regulator-min-microvolt = <1800000>; | ||
243 | regulator-max-microvolt = <1800000>; | ||
244 | regulator-boot-on; | ||
245 | regulator-always-on; | ||
246 | }; | ||
247 | |||
248 | vaux2_reg: regulator@10 { | ||
249 | regulator-name = "vaux2_3v3,io"; | ||
250 | regulator-min-microvolt = <3300000>; | ||
251 | regulator-max-microvolt = <3300000>; | ||
252 | regulator-boot-on; | ||
253 | regulator-always-on; | ||
254 | }; | ||
255 | |||
256 | vaux33_reg: regulator@11 { | ||
257 | regulator-name = "vaux33_3v3,usb"; | ||
258 | regulator-min-microvolt = <3300000>; | ||
259 | regulator-max-microvolt = <3300000>; | ||
260 | regulator-boot-on; | ||
261 | regulator-always-on; | ||
262 | }; | ||
263 | |||
264 | vmmc_reg: regulator@12 { | ||
265 | regulator-name = "vmmc_3v3,io"; | ||
266 | regulator-min-microvolt = <3300000>; | ||
267 | regulator-max-microvolt = <3300000>; | ||
268 | regulator-boot-on; | ||
269 | regulator-always-on; | ||
270 | }; | ||
271 | }; | ||
272 | }; | ||
273 | |||
274 | &sham { | ||
275 | status = "okay"; | ||
276 | }; | ||
277 | |||
278 | &aes { | ||
279 | status = "okay"; | ||
280 | }; | ||
281 | |||
282 | &uart0 { | ||
283 | pinctrl-names = "default"; | ||
284 | pinctrl-0 = <&uart0_pins>; | ||
285 | |||
286 | status = "okay"; | ||
287 | }; | ||
288 | |||
289 | &usb { | ||
290 | status = "okay"; | ||
291 | }; | ||
292 | |||
293 | &usb_ctrl_mod { | ||
294 | status = "okay"; | ||
295 | }; | ||
296 | |||
297 | &usb0_phy { | ||
298 | status = "okay"; | ||
299 | }; | ||
300 | |||
301 | &usb1_phy { | ||
302 | status = "okay"; | ||
303 | }; | ||
304 | |||
305 | &usb0 { | ||
306 | status = "okay"; | ||
307 | dr_mode = "host"; | ||
308 | }; | ||
309 | |||
310 | &usb1 { | ||
311 | status = "okay"; | ||
312 | dr_mode = "host"; | ||
313 | }; | ||
314 | |||
315 | &cppi41dma { | ||
316 | status = "okay"; | ||
317 | }; | ||
318 | |||
319 | &cpsw_emac0 { | ||
320 | phy_id = <&davinci_mdio>, <5>; | ||
321 | phy-mode = "rmii"; | ||
322 | dual_emac_res_vlan = <2>; | ||
323 | }; | ||
324 | |||
325 | &cpsw_emac1 { | ||
326 | phy_id = <&davinci_mdio>, <4>; | ||
327 | phy-mode = "rmii"; | ||
328 | dual_emac_res_vlan = <3>; | ||
329 | }; | ||
330 | |||
331 | &mac { | ||
332 | pinctrl-names = "default", "sleep"; | ||
333 | pinctrl-0 = <&cpsw_default>; | ||
334 | pinctrl-1 = <&cpsw_sleep>; | ||
335 | dual_emac = <1>; | ||
336 | status = "okay"; | ||
337 | }; | ||
338 | |||
339 | &davinci_mdio { | ||
340 | pinctrl-names = "default", "sleep"; | ||
341 | pinctrl-0 = <&davinci_mdio_default>; | ||
342 | pinctrl-1 = <&davinci_mdio_sleep>; | ||
343 | status = "okay"; | ||
344 | }; | ||
345 | |||
346 | &mmc1 { | ||
347 | pinctrl-names = "default"; | ||
348 | pinctrl-0 = <&mmc1_pins>; | ||
349 | vmmc-supply = <&vmmcsd_fixed>; | ||
350 | bus-width = <4>; | ||
351 | status = "okay"; | ||
352 | }; | ||
353 | |||
354 | &mmc2 { | ||
355 | pinctrl-names = "default"; | ||
356 | pinctrl-0 = <&emmc_pins>; | ||
357 | vmmc-supply = <&vmmcsd_fixed>; | ||
358 | bus-width = <8>; | ||
359 | ti,non-removable; | ||
360 | status = "okay"; | ||
361 | }; | ||
362 | |||
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi index 831810583823..befe713b3e1b 100644 --- a/arch/arm/boot/dts/am33xx.dtsi +++ b/arch/arm/boot/dts/am33xx.dtsi | |||
@@ -83,6 +83,11 @@ | |||
83 | }; | 83 | }; |
84 | }; | 84 | }; |
85 | 85 | ||
86 | am33xx_control_module: control_module@4a002000 { | ||
87 | compatible = "syscon"; | ||
88 | reg = <0x44e10000 0x7fc>; | ||
89 | }; | ||
90 | |||
86 | am33xx_pinmux: pinmux@44e10800 { | 91 | am33xx_pinmux: pinmux@44e10800 { |
87 | compatible = "pinctrl-single"; | 92 | compatible = "pinctrl-single"; |
88 | reg = <0x44e10800 0x0238>; | 93 | reg = <0x44e10800 0x0238>; |
@@ -204,6 +209,8 @@ | |||
204 | reg = <0x44e09000 0x2000>; | 209 | reg = <0x44e09000 0x2000>; |
205 | interrupts = <72>; | 210 | interrupts = <72>; |
206 | status = "disabled"; | 211 | status = "disabled"; |
212 | dmas = <&edma 26>, <&edma 27>; | ||
213 | dma-names = "tx", "rx"; | ||
207 | }; | 214 | }; |
208 | 215 | ||
209 | uart1: serial@48022000 { | 216 | uart1: serial@48022000 { |
@@ -213,6 +220,8 @@ | |||
213 | reg = <0x48022000 0x2000>; | 220 | reg = <0x48022000 0x2000>; |
214 | interrupts = <73>; | 221 | interrupts = <73>; |
215 | status = "disabled"; | 222 | status = "disabled"; |
223 | dmas = <&edma 28>, <&edma 29>; | ||
224 | dma-names = "tx", "rx"; | ||
216 | }; | 225 | }; |
217 | 226 | ||
218 | uart2: serial@48024000 { | 227 | uart2: serial@48024000 { |
@@ -222,6 +231,8 @@ | |||
222 | reg = <0x48024000 0x2000>; | 231 | reg = <0x48024000 0x2000>; |
223 | interrupts = <74>; | 232 | interrupts = <74>; |
224 | status = "disabled"; | 233 | status = "disabled"; |
234 | dmas = <&edma 30>, <&edma 31>; | ||
235 | dma-names = "tx", "rx"; | ||
225 | }; | 236 | }; |
226 | 237 | ||
227 | uart3: serial@481a6000 { | 238 | uart3: serial@481a6000 { |
@@ -333,20 +344,24 @@ | |||
333 | interrupts = <91>; | 344 | interrupts = <91>; |
334 | }; | 345 | }; |
335 | 346 | ||
336 | dcan0: d_can@481cc000 { | 347 | dcan0: can@481cc000 { |
337 | compatible = "bosch,d_can"; | 348 | compatible = "ti,am3352-d_can"; |
338 | ti,hwmods = "d_can0"; | 349 | ti,hwmods = "d_can0"; |
339 | reg = <0x481cc000 0x2000 | 350 | reg = <0x481cc000 0x2000>; |
340 | 0x44e10644 0x4>; | 351 | clocks = <&dcan0_fck>; |
352 | clock-names = "fck"; | ||
353 | syscon-raminit = <&am33xx_control_module 0x644 0>; | ||
341 | interrupts = <52>; | 354 | interrupts = <52>; |
342 | status = "disabled"; | 355 | status = "disabled"; |
343 | }; | 356 | }; |
344 | 357 | ||
345 | dcan1: d_can@481d0000 { | 358 | dcan1: can@481d0000 { |
346 | compatible = "bosch,d_can"; | 359 | compatible = "ti,am3352-d_can"; |
347 | ti,hwmods = "d_can1"; | 360 | ti,hwmods = "d_can1"; |
348 | reg = <0x481d0000 0x2000 | 361 | reg = <0x481d0000 0x2000>; |
349 | 0x44e10644 0x4>; | 362 | clocks = <&dcan1_fck>; |
363 | clock-names = "fck"; | ||
364 | syscon-raminit = <&am33xx_control_module 0x644 1>; | ||
350 | interrupts = <55>; | 365 | interrupts = <55>; |
351 | status = "disabled"; | 366 | status = "disabled"; |
352 | }; | 367 | }; |
@@ -356,6 +371,7 @@ | |||
356 | reg = <0x480C8000 0x200>; | 371 | reg = <0x480C8000 0x200>; |
357 | interrupts = <77>; | 372 | interrupts = <77>; |
358 | ti,hwmods = "mailbox"; | 373 | ti,hwmods = "mailbox"; |
374 | #mbox-cells = <1>; | ||
359 | ti,mbox-num-users = <4>; | 375 | ti,mbox-num-users = <4>; |
360 | ti,mbox-num-fifos = <8>; | 376 | ti,mbox-num-fifos = <8>; |
361 | mbox_wkupm3: wkup_m3 { | 377 | mbox_wkupm3: wkup_m3 { |
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi index 46660ffd2b65..d42d7865dd53 100644 --- a/arch/arm/boot/dts/am4372.dtsi +++ b/arch/arm/boot/dts/am4372.dtsi | |||
@@ -57,6 +57,11 @@ | |||
57 | cache-level = <2>; | 57 | cache-level = <2>; |
58 | }; | 58 | }; |
59 | 59 | ||
60 | am43xx_control_module: control_module@4a002000 { | ||
61 | compatible = "syscon"; | ||
62 | reg = <0x44e10000 0x7f4>; | ||
63 | }; | ||
64 | |||
60 | am43xx_pinmux: pinmux@44e10800 { | 65 | am43xx_pinmux: pinmux@44e10800 { |
61 | compatible = "ti,am437-padconf", "pinctrl-single"; | 66 | compatible = "ti,am437-padconf", "pinctrl-single"; |
62 | reg = <0x44e10800 0x31c>; | 67 | reg = <0x44e10800 0x31c>; |
@@ -168,6 +173,7 @@ | |||
168 | reg = <0x480C8000 0x200>; | 173 | reg = <0x480C8000 0x200>; |
169 | interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; | 174 | interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; |
170 | ti,hwmods = "mailbox"; | 175 | ti,hwmods = "mailbox"; |
176 | #mbox-cells = <1>; | ||
171 | ti,mbox-num-users = <4>; | 177 | ti,mbox-num-users = <4>; |
172 | ti,mbox-num-fifos = <8>; | 178 | ti,mbox-num-fifos = <8>; |
173 | mbox_wkupm3: wkup_m3 { | 179 | mbox_wkupm3: wkup_m3 { |
@@ -667,6 +673,26 @@ | |||
667 | }; | 673 | }; |
668 | }; | 674 | }; |
669 | 675 | ||
676 | tscadc: tscadc@44e0d000 { | ||
677 | compatible = "ti,am3359-tscadc"; | ||
678 | reg = <0x44e0d000 0x1000>; | ||
679 | ti,hwmods = "adc_tsc"; | ||
680 | interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; | ||
681 | clocks = <&adc_tsc_fck>; | ||
682 | clock-names = "fck"; | ||
683 | status = "disabled"; | ||
684 | |||
685 | tsc { | ||
686 | compatible = "ti,am3359-tsc"; | ||
687 | }; | ||
688 | |||
689 | adc { | ||
690 | #io-channel-cells = <1>; | ||
691 | compatible = "ti,am3359-adc"; | ||
692 | }; | ||
693 | |||
694 | }; | ||
695 | |||
670 | sham: sham@53100000 { | 696 | sham: sham@53100000 { |
671 | compatible = "ti,omap5-sham"; | 697 | compatible = "ti,omap5-sham"; |
672 | ti,hwmods = "sham"; | 698 | ti,hwmods = "sham"; |
@@ -896,6 +922,28 @@ | |||
896 | compatible = "mmio-sram"; | 922 | compatible = "mmio-sram"; |
897 | reg = <0x40300000 0x40000>; /* 256k */ | 923 | reg = <0x40300000 0x40000>; /* 256k */ |
898 | }; | 924 | }; |
925 | |||
926 | dcan0: can@481cc000 { | ||
927 | compatible = "ti,am4372-d_can", "ti,am3352-d_can"; | ||
928 | ti,hwmods = "d_can0"; | ||
929 | clocks = <&dcan0_fck>; | ||
930 | clock-names = "fck"; | ||
931 | reg = <0x481cc000 0x2000>; | ||
932 | syscon-raminit = <&am43xx_control_module 0x644 0>; | ||
933 | interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; | ||
934 | status = "disabled"; | ||
935 | }; | ||
936 | |||
937 | dcan1: can@481d0000 { | ||
938 | compatible = "ti,am4372-d_can", "ti,am3352-d_can"; | ||
939 | ti,hwmods = "d_can1"; | ||
940 | clocks = <&dcan1_fck>; | ||
941 | clock-names = "fck"; | ||
942 | reg = <0x481d0000 0x2000>; | ||
943 | syscon-raminit = <&am43xx_control_module 0x644 1>; | ||
944 | interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; | ||
945 | status = "disabled"; | ||
946 | }; | ||
899 | }; | 947 | }; |
900 | }; | 948 | }; |
901 | 949 | ||
diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts b/arch/arm/boot/dts/am437x-gp-evm.dts index a521ac0a7d5a..7eaae4cf9f89 100644 --- a/arch/arm/boot/dts/am437x-gp-evm.dts +++ b/arch/arm/boot/dts/am437x-gp-evm.dts | |||
@@ -254,6 +254,20 @@ | |||
254 | 0x238 (PIN_OUTPUT_PULLUP | MUX_MODE7) | 254 | 0x238 (PIN_OUTPUT_PULLUP | MUX_MODE7) |
255 | >; | 255 | >; |
256 | }; | 256 | }; |
257 | |||
258 | dcan0_default: dcan0_default_pins { | ||
259 | pinctrl-single,pins = < | ||
260 | 0x178 (PIN_OUTPUT | MUX_MODE2) /* uart1_ctsn.d_can0_tx */ | ||
261 | 0x17c (PIN_INPUT_PULLUP | MUX_MODE2) /* uart1_rtsn.d_can0_rx */ | ||
262 | >; | ||
263 | }; | ||
264 | |||
265 | dcan1_default: dcan1_default_pins { | ||
266 | pinctrl-single,pins = < | ||
267 | 0x180 (PIN_OUTPUT | MUX_MODE2) /* uart1_rxd.d_can1_tx */ | ||
268 | 0x184 (PIN_INPUT_PULLUP | MUX_MODE2) /* uart1_txd.d_can1_rx */ | ||
269 | >; | ||
270 | }; | ||
257 | }; | 271 | }; |
258 | 272 | ||
259 | &i2c0 { | 273 | &i2c0 { |
@@ -343,6 +357,14 @@ | |||
343 | status = "okay"; | 357 | status = "okay"; |
344 | }; | 358 | }; |
345 | 359 | ||
360 | &tscadc { | ||
361 | status = "okay"; | ||
362 | |||
363 | adc { | ||
364 | ti,adc-channels = <0 1 2 3 4 5 6 7>; | ||
365 | }; | ||
366 | }; | ||
367 | |||
346 | &ecap0 { | 368 | &ecap0 { |
347 | status = "okay"; | 369 | status = "okay"; |
348 | pinctrl-names = "default"; | 370 | pinctrl-names = "default"; |
@@ -511,3 +533,15 @@ | |||
511 | }; | 533 | }; |
512 | }; | 534 | }; |
513 | }; | 535 | }; |
536 | |||
537 | &dcan0 { | ||
538 | pinctrl-names = "default"; | ||
539 | pinctrl-0 = <&dcan0_default>; | ||
540 | status = "okay"; | ||
541 | }; | ||
542 | |||
543 | &dcan1 { | ||
544 | pinctrl-names = "default"; | ||
545 | pinctrl-0 = <&dcan1_default>; | ||
546 | status = "okay"; | ||
547 | }; | ||
diff --git a/arch/arm/boot/dts/am43x-epos-evm.dts b/arch/arm/boot/dts/am43x-epos-evm.dts index f7e9bba10bd6..662261d6b2ca 100644 --- a/arch/arm/boot/dts/am43x-epos-evm.dts +++ b/arch/arm/boot/dts/am43x-epos-evm.dts | |||
@@ -438,9 +438,9 @@ | |||
438 | status = "okay"; /* Disable QSPI when enabling GPMC (NAND) */ | 438 | status = "okay"; /* Disable QSPI when enabling GPMC (NAND) */ |
439 | pinctrl-names = "default"; | 439 | pinctrl-names = "default"; |
440 | pinctrl-0 = <&nand_flash_x8>; | 440 | pinctrl-0 = <&nand_flash_x8>; |
441 | ranges = <0 0 0x08000000 0x10000000>; /* CS0: NAND */ | 441 | ranges = <0 0 0x08000000 0x1000000>; /* CS0: 16MB for NAND */ |
442 | nand@0,0 { | 442 | nand@0,0 { |
443 | reg = <0 0 0>; /* CS0, offset 0 */ | 443 | reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ |
444 | ti,nand-ecc-opt = "bch16"; | 444 | ti,nand-ecc-opt = "bch16"; |
445 | ti,elm-id = <&elm>; | 445 | ti,elm-id = <&elm>; |
446 | nand-bus-width = <8>; | 446 | nand-bus-width = <8>; |
@@ -519,6 +519,14 @@ | |||
519 | status = "okay"; | 519 | status = "okay"; |
520 | }; | 520 | }; |
521 | 521 | ||
522 | &tscadc { | ||
523 | status = "okay"; | ||
524 | |||
525 | adc { | ||
526 | ti,adc-channels = <0 1 2 3 4 5 6 7>; | ||
527 | }; | ||
528 | }; | ||
529 | |||
522 | &ecap0 { | 530 | &ecap0 { |
523 | status = "okay"; | 531 | status = "okay"; |
524 | pinctrl-names = "default"; | 532 | pinctrl-names = "default"; |
diff --git a/arch/arm/boot/dts/am57xx-beagle-x15.dts b/arch/arm/boot/dts/am57xx-beagle-x15.dts new file mode 100644 index 000000000000..49edbda68cd5 --- /dev/null +++ b/arch/arm/boot/dts/am57xx-beagle-x15.dts | |||
@@ -0,0 +1,405 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/ | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | */ | ||
8 | /dts-v1/; | ||
9 | |||
10 | #include "dra74x.dtsi" | ||
11 | #include <dt-bindings/clk/ti-dra7-atl.h> | ||
12 | #include <dt-bindings/gpio/gpio.h> | ||
13 | #include <dt-bindings/interrupt-controller/irq.h> | ||
14 | |||
15 | / { | ||
16 | model = "TI AM5728 BeagleBoard-X15"; | ||
17 | compatible = "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"; | ||
18 | |||
19 | aliases { | ||
20 | rtc0 = &mcp_rtc; | ||
21 | rtc1 = &tps659038_rtc; | ||
22 | }; | ||
23 | |||
24 | memory { | ||
25 | device_type = "memory"; | ||
26 | reg = <0x80000000 0x80000000>; | ||
27 | }; | ||
28 | |||
29 | vdd_3v3: fixedregulator-vdd_3v3 { | ||
30 | compatible = "regulator-fixed"; | ||
31 | regulator-name = "vdd_3v3"; | ||
32 | vin-supply = <®en1>; | ||
33 | regulator-min-microvolt = <3300000>; | ||
34 | regulator-max-microvolt = <3300000>; | ||
35 | }; | ||
36 | |||
37 | vtt_fixed: fixedregulator-vtt { | ||
38 | /* TPS51200 */ | ||
39 | compatible = "regulator-fixed"; | ||
40 | regulator-name = "vtt_fixed"; | ||
41 | vin-supply = <&smps3_reg>; | ||
42 | regulator-min-microvolt = <3300000>; | ||
43 | regulator-max-microvolt = <3300000>; | ||
44 | regulator-always-on; | ||
45 | regulator-boot-on; | ||
46 | enable-active-high; | ||
47 | gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>; | ||
48 | }; | ||
49 | |||
50 | leds { | ||
51 | compatible = "gpio-leds"; | ||
52 | pinctrl-names = "default"; | ||
53 | pinctrl-0 = <&leds_pins_default>; | ||
54 | |||
55 | led@0 { | ||
56 | label = "beagle-x15:usr0"; | ||
57 | gpios = <&gpio7 9 GPIO_ACTIVE_HIGH>; | ||
58 | linux,default-trigger = "heartbeat"; | ||
59 | default-state = "off"; | ||
60 | }; | ||
61 | |||
62 | led@1 { | ||
63 | label = "beagle-x15:usr1"; | ||
64 | gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>; | ||
65 | linux,default-trigger = "cpu0"; | ||
66 | default-state = "off"; | ||
67 | }; | ||
68 | |||
69 | led@2 { | ||
70 | label = "beagle-x15:usr2"; | ||
71 | gpios = <&gpio7 14 GPIO_ACTIVE_HIGH>; | ||
72 | linux,default-trigger = "mmc0"; | ||
73 | default-state = "off"; | ||
74 | }; | ||
75 | |||
76 | led@3 { | ||
77 | label = "beagle-x15:usr3"; | ||
78 | gpios = <&gpio7 15 GPIO_ACTIVE_HIGH>; | ||
79 | linux,default-trigger = "ide-disk"; | ||
80 | default-state = "off"; | ||
81 | }; | ||
82 | }; | ||
83 | }; | ||
84 | |||
85 | &dra7_pmx_core { | ||
86 | leds_pins_default: leds_pins_default { | ||
87 | pinctrl-single,pins = < | ||
88 | 0x3a8 (PIN_OUTPUT | MUX_MODE14) /* spi1_d1.gpio7_8 */ | ||
89 | 0x3ac (PIN_OUTPUT | MUX_MODE14) /* spi1_d0.gpio7_9 */ | ||
90 | 0x3c0 (PIN_OUTPUT | MUX_MODE14) /* spi2_sclk.gpio7_14 */ | ||
91 | 0x3c4 (PIN_OUTPUT | MUX_MODE14) /* spi2_d1.gpio7_15 */ | ||
92 | >; | ||
93 | }; | ||
94 | |||
95 | i2c1_pins_default: i2c1_pins_default { | ||
96 | pinctrl-single,pins = < | ||
97 | 0x400 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda.sda */ | ||
98 | 0x404 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl.scl */ | ||
99 | >; | ||
100 | }; | ||
101 | |||
102 | i2c3_pins_default: i2c3_pins_default { | ||
103 | pinctrl-single,pins = < | ||
104 | 0x2a4 (PIN_INPUT| MUX_MODE10) /* mcasp1_aclkx.i2c3_sda */ | ||
105 | 0x2a8 (PIN_INPUT| MUX_MODE10) /* mcasp1_fsx.i2c3_scl */ | ||
106 | >; | ||
107 | }; | ||
108 | |||
109 | uart3_pins_default: uart3_pins_default { | ||
110 | pinctrl-single,pins = < | ||
111 | 0x248 (PIN_INPUT_SLEW | MUX_MODE0) /* uart3_rxd.rxd */ | ||
112 | 0x24c (PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd.txd */ | ||
113 | >; | ||
114 | }; | ||
115 | |||
116 | mmc1_pins_default: mmc1_pins_default { | ||
117 | pinctrl-single,pins = < | ||
118 | 0x36c (PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */ | ||
119 | 0x354 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */ | ||
120 | 0x358 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */ | ||
121 | 0x35c (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */ | ||
122 | 0x360 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */ | ||
123 | 0x364 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */ | ||
124 | 0x368 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */ | ||
125 | >; | ||
126 | }; | ||
127 | |||
128 | mmc2_pins_default: mmc2_pins_default { | ||
129 | pinctrl-single,pins = < | ||
130 | 0x9c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */ | ||
131 | 0xb0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */ | ||
132 | 0xa0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */ | ||
133 | 0xa4 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */ | ||
134 | 0xa8 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */ | ||
135 | 0xac (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */ | ||
136 | 0x8c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */ | ||
137 | 0x90 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */ | ||
138 | 0x94 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */ | ||
139 | 0x98 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */ | ||
140 | >; | ||
141 | }; | ||
142 | |||
143 | tps659038_pins_default: tps659038_pins_default { | ||
144 | pinctrl-single,pins = < | ||
145 | 0x418 (PIN_INPUT_PULLUP | MUX_MODE14) /* wakeup0.gpio1_0 */ | ||
146 | >; | ||
147 | }; | ||
148 | |||
149 | tmp102_pins_default: tmp102_pins_default { | ||
150 | pinctrl-single,pins = < | ||
151 | 0x3C8 (PIN_INPUT_PULLUP | MUX_MODE14) /* spi2_d0.gpio7_16 */ | ||
152 | >; | ||
153 | }; | ||
154 | |||
155 | mcp79410_pins_default: mcp79410_pins_default { | ||
156 | pinctrl-single,pins = < | ||
157 | 0x424 (PIN_INPUT_PULLUP | MUX_MODE1) /* wakeup3.sys_nirq1 */ | ||
158 | >; | ||
159 | }; | ||
160 | |||
161 | usb1_pins: pinmux_usb1_pins { | ||
162 | pinctrl-single,pins = < | ||
163 | 0x280 (PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */ | ||
164 | >; | ||
165 | }; | ||
166 | |||
167 | }; | ||
168 | |||
169 | &i2c1 { | ||
170 | status = "okay"; | ||
171 | pinctrl-names = "default"; | ||
172 | pinctrl-0 = <&i2c1_pins_default>; | ||
173 | clock-frequency = <400000>; | ||
174 | |||
175 | tps659038: tps659038@58 { | ||
176 | compatible = "ti,tps659038"; | ||
177 | reg = <0x58>; | ||
178 | interrupt-parent = <&gpio1>; | ||
179 | interrupts = <0 IRQ_TYPE_LEVEL_LOW>; | ||
180 | |||
181 | pinctrl-names = "default"; | ||
182 | pinctrl-0 = <&tps659038_pins_default>; | ||
183 | |||
184 | #interrupt-cells = <2>; | ||
185 | interrupt-controller; | ||
186 | |||
187 | ti,system-power-controller; | ||
188 | |||
189 | tps659038_pmic { | ||
190 | compatible = "ti,tps659038-pmic"; | ||
191 | |||
192 | regulators { | ||
193 | smps12_reg: smps12 { | ||
194 | /* VDD_MPU */ | ||
195 | regulator-name = "smps12"; | ||
196 | regulator-min-microvolt = < 850000>; | ||
197 | regulator-max-microvolt = <1250000>; | ||
198 | regulator-always-on; | ||
199 | regulator-boot-on; | ||
200 | }; | ||
201 | |||
202 | smps3_reg: smps3 { | ||
203 | /* VDD_DDR */ | ||
204 | regulator-name = "smps3"; | ||
205 | regulator-min-microvolt = <1350000>; | ||
206 | regulator-max-microvolt = <1350000>; | ||
207 | regulator-always-on; | ||
208 | regulator-boot-on; | ||
209 | }; | ||
210 | |||
211 | smps45_reg: smps45 { | ||
212 | /* VDD_DSPEVE, VDD_IVA, VDD_GPU */ | ||
213 | regulator-name = "smps45"; | ||
214 | regulator-min-microvolt = < 850000>; | ||
215 | regulator-max-microvolt = <1150000>; | ||
216 | regulator-always-on; | ||
217 | regulator-boot-on; | ||
218 | }; | ||
219 | |||
220 | smps6_reg: smps6 { | ||
221 | /* VDD_CORE */ | ||
222 | regulator-name = "smps6"; | ||
223 | regulator-min-microvolt = <850000>; | ||
224 | regulator-max-microvolt = <1030000>; | ||
225 | regulator-always-on; | ||
226 | regulator-boot-on; | ||
227 | }; | ||
228 | |||
229 | /* SMPS7 unused */ | ||
230 | |||
231 | smps8_reg: smps8 { | ||
232 | /* VDD_1V8 */ | ||
233 | regulator-name = "smps8"; | ||
234 | regulator-min-microvolt = <1800000>; | ||
235 | regulator-max-microvolt = <1800000>; | ||
236 | regulator-always-on; | ||
237 | regulator-boot-on; | ||
238 | }; | ||
239 | |||
240 | /* SMPS9 unused */ | ||
241 | |||
242 | ldo1_reg: ldo1 { | ||
243 | /* VDD_SD */ | ||
244 | regulator-name = "ldo1"; | ||
245 | regulator-min-microvolt = <1800000>; | ||
246 | regulator-max-microvolt = <3300000>; | ||
247 | regulator-boot-on; | ||
248 | }; | ||
249 | |||
250 | ldo2_reg: ldo2 { | ||
251 | /* VDD_SHV5 */ | ||
252 | regulator-name = "ldo2"; | ||
253 | regulator-min-microvolt = <3300000>; | ||
254 | regulator-max-microvolt = <3300000>; | ||
255 | regulator-always-on; | ||
256 | regulator-boot-on; | ||
257 | }; | ||
258 | |||
259 | ldo3_reg: ldo3 { | ||
260 | /* VDDA_1V8_PHY */ | ||
261 | regulator-name = "ldo3"; | ||
262 | regulator-min-microvolt = <1800000>; | ||
263 | regulator-max-microvolt = <1800000>; | ||
264 | regulator-always-on; | ||
265 | regulator-boot-on; | ||
266 | }; | ||
267 | |||
268 | ldo9_reg: ldo9 { | ||
269 | /* VDD_RTC */ | ||
270 | regulator-name = "ldo9"; | ||
271 | regulator-min-microvolt = <1050000>; | ||
272 | regulator-max-microvolt = <1050000>; | ||
273 | regulator-always-on; | ||
274 | regulator-boot-on; | ||
275 | }; | ||
276 | |||
277 | ldoln_reg: ldoln { | ||
278 | /* VDDA_1V8_PLL */ | ||
279 | regulator-name = "ldoln"; | ||
280 | regulator-min-microvolt = <1800000>; | ||
281 | regulator-max-microvolt = <1800000>; | ||
282 | regulator-always-on; | ||
283 | regulator-boot-on; | ||
284 | }; | ||
285 | |||
286 | ldousb_reg: ldousb { | ||
287 | /* VDDA_3V_USB: VDDA_USBHS33 */ | ||
288 | regulator-name = "ldousb"; | ||
289 | regulator-min-microvolt = <3300000>; | ||
290 | regulator-max-microvolt = <3300000>; | ||
291 | regulator-boot-on; | ||
292 | }; | ||
293 | |||
294 | regen1: regen1 { | ||
295 | /* VDD_3V3_ON */ | ||
296 | regulator-name = "regen1"; | ||
297 | regulator-boot-on; | ||
298 | regulator-always-on; | ||
299 | }; | ||
300 | }; | ||
301 | }; | ||
302 | |||
303 | tps659038_rtc: tps659038_rtc { | ||
304 | compatible = "ti,palmas-rtc"; | ||
305 | interrupt-parent = <&tps659038>; | ||
306 | interrupts = <8 IRQ_TYPE_EDGE_FALLING>; | ||
307 | wakeup-source; | ||
308 | }; | ||
309 | |||
310 | tps659038_pwr_button: tps659038_pwr_button { | ||
311 | compatible = "ti,palmas-pwrbutton"; | ||
312 | interrupt-parent = <&tps659038>; | ||
313 | interrupts = <1 IRQ_TYPE_EDGE_FALLING>; | ||
314 | wakeup-source; | ||
315 | ti,palmas-long-press-seconds = <12>; | ||
316 | }; | ||
317 | }; | ||
318 | |||
319 | tmp102: tmp102@48 { | ||
320 | compatible = "ti,tmp102"; | ||
321 | reg = <0x48>; | ||
322 | pinctrl-names = "default"; | ||
323 | pinctrl-0 = <&tmp102_pins_default>; | ||
324 | interrupt-parent = <&gpio7>; | ||
325 | interrupts = <16 IRQ_TYPE_LEVEL_LOW>; | ||
326 | }; | ||
327 | }; | ||
328 | |||
329 | &i2c3 { | ||
330 | status = "okay"; | ||
331 | pinctrl-names = "default"; | ||
332 | pinctrl-0 = <&i2c3_pins_default>; | ||
333 | clock-frequency = <400000>; | ||
334 | |||
335 | mcp_rtc: rtc@6f { | ||
336 | compatible = "microchip,mcp7941x"; | ||
337 | reg = <0x6f>; | ||
338 | interrupt-parent = <&gic>; | ||
339 | interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_LOW>; /* IRQ_SYS_1N */ | ||
340 | |||
341 | pinctrl-names = "default"; | ||
342 | pinctrl-0 = <&mcp79410_pins_default>; | ||
343 | |||
344 | vcc-supply = <&vdd_3v3>; | ||
345 | wakeup-source; | ||
346 | }; | ||
347 | }; | ||
348 | |||
349 | &gpio7 { | ||
350 | ti,no-reset-on-init; | ||
351 | ti,no-idle-on-init; | ||
352 | }; | ||
353 | |||
354 | &cpu0 { | ||
355 | cpu0-supply = <&smps12_reg>; | ||
356 | voltage-tolerance = <1>; | ||
357 | }; | ||
358 | |||
359 | &uart3 { | ||
360 | status = "okay"; | ||
361 | interrupts-extended = <&gic GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, | ||
362 | <&dra7_pmx_core 0x248>; | ||
363 | |||
364 | pinctrl-names = "default"; | ||
365 | pinctrl-0 = <&uart3_pins_default>; | ||
366 | }; | ||
367 | |||
368 | &mmc1 { | ||
369 | status = "okay"; | ||
370 | |||
371 | pinctrl-names = "default"; | ||
372 | pinctrl-0 = <&mmc1_pins_default>; | ||
373 | |||
374 | vmmc-supply = <&ldo1_reg>; | ||
375 | vmmc_aux-supply = <&vdd_3v3>; | ||
376 | pbias-supply = <&pbias_mmc_reg>; | ||
377 | bus-width = <4>; | ||
378 | cd-gpios = <&gpio6 27 0>; /* gpio 219 */ | ||
379 | }; | ||
380 | |||
381 | &mmc2 { | ||
382 | status = "okay"; | ||
383 | |||
384 | pinctrl-names = "default"; | ||
385 | pinctrl-0 = <&mmc2_pins_default>; | ||
386 | |||
387 | vmmc-supply = <&vdd_3v3>; | ||
388 | bus-width = <8>; | ||
389 | ti,non-removable; | ||
390 | cap-mmc-dual-data-rate; | ||
391 | }; | ||
392 | |||
393 | &sata { | ||
394 | status = "okay"; | ||
395 | }; | ||
396 | |||
397 | &usb2_phy1 { | ||
398 | phy-supply = <&ldousb_reg>; | ||
399 | }; | ||
400 | |||
401 | &usb1 { | ||
402 | dr_mode = "host"; | ||
403 | pinctrl-names = "default"; | ||
404 | pinctrl-0 = <&usb1_pins>; | ||
405 | }; | ||
diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts new file mode 100644 index 000000000000..ff26c7ed8c41 --- /dev/null +++ b/arch/arm/boot/dts/arm-realview-pb1176.dts | |||
@@ -0,0 +1,412 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Linaro Ltd | ||
3 | * | ||
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy | ||
5 | * of this software and associated documentation files (the "Software"), to deal | ||
6 | * in the Software without restriction, including without limitation the rights | ||
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
8 | * copies of the Software, and to permit persons to whom the Software is | ||
9 | * furnished to do so, subject to the following conditions: | ||
10 | * | ||
11 | * The above copyright notice and this permission notice shall be included in | ||
12 | * all copies or substantial portions of the Software. | ||
13 | * | ||
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
17 | * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
20 | * THE SOFTWARE. | ||
21 | */ | ||
22 | |||
23 | /dts-v1/; | ||
24 | #include <dt-bindings/interrupt-controller/irq.h> | ||
25 | #include <dt-bindings/gpio/gpio.h> | ||
26 | #include "skeleton.dtsi" | ||
27 | |||
28 | / { | ||
29 | model = "ARM RealView PB1176"; | ||
30 | compatible = "arm,realview-pb1176"; | ||
31 | |||
32 | chosen { }; | ||
33 | |||
34 | aliases { | ||
35 | serial0 = &pb1176_serial0; | ||
36 | serial1 = &pb1176_serial1; | ||
37 | serial2 = &pb1176_serial2; | ||
38 | serial3 = &pb1176_serial3; | ||
39 | serial4 = &fpga_serial; | ||
40 | }; | ||
41 | |||
42 | memory { | ||
43 | /* 128 MiB memory @ 0x0 */ | ||
44 | reg = <0x00000000 0x08000000>; | ||
45 | }; | ||
46 | |||
47 | /* The voltage to the MMC card is hardwired at 3.3V */ | ||
48 | vmmc: fixedregulator@0 { | ||
49 | compatible = "regulator-fixed"; | ||
50 | regulator-name = "vmmc"; | ||
51 | regulator-min-microvolt = <3300000>; | ||
52 | regulator-max-microvolt = <3300000>; | ||
53 | regulator-boot-on; | ||
54 | }; | ||
55 | |||
56 | xtal24mhz: xtal24mhz@24M { | ||
57 | #clock-cells = <0>; | ||
58 | compatible = "fixed-clock"; | ||
59 | clock-frequency = <24000000>; | ||
60 | }; | ||
61 | |||
62 | timclk: timclk@1M { | ||
63 | #clock-cells = <0>; | ||
64 | compatible = "fixed-factor-clock"; | ||
65 | clock-div = <24>; | ||
66 | clock-mult = <1>; | ||
67 | clocks = <&xtal24mhz>; | ||
68 | }; | ||
69 | |||
70 | mclk: mclk@24M { | ||
71 | #clock-cells = <0>; | ||
72 | compatible = "fixed-factor-clock"; | ||
73 | clock-div = <1>; | ||
74 | clock-mult = <1>; | ||
75 | clocks = <&xtal24mhz>; | ||
76 | }; | ||
77 | |||
78 | kmiclk: kmiclk@24M { | ||
79 | #clock-cells = <0>; | ||
80 | compatible = "fixed-factor-clock"; | ||
81 | clock-div = <1>; | ||
82 | clock-mult = <1>; | ||
83 | clocks = <&xtal24mhz>; | ||
84 | }; | ||
85 | |||
86 | sspclk: sspclk@24M { | ||
87 | #clock-cells = <0>; | ||
88 | compatible = "fixed-factor-clock"; | ||
89 | clock-div = <1>; | ||
90 | clock-mult = <1>; | ||
91 | clocks = <&xtal24mhz>; | ||
92 | }; | ||
93 | |||
94 | uartclk: uartclk@24M { | ||
95 | #clock-cells = <0>; | ||
96 | compatible = "fixed-factor-clock"; | ||
97 | clock-div = <1>; | ||
98 | clock-mult = <1>; | ||
99 | clocks = <&xtal24mhz>; | ||
100 | }; | ||
101 | |||
102 | /* FIXME: this actually hangs off the PLL clocks */ | ||
103 | pclk: pclk@0 { | ||
104 | #clock-cells = <0>; | ||
105 | compatible = "fixed-clock"; | ||
106 | clock-frequency = <0>; | ||
107 | }; | ||
108 | |||
109 | soc { | ||
110 | #address-cells = <1>; | ||
111 | #size-cells = <1>; | ||
112 | compatible = "arm,realview-pb1176-soc", "simple-bus"; | ||
113 | regmap = <&syscon>; | ||
114 | ranges; | ||
115 | |||
116 | syscon: syscon@10000000 { | ||
117 | compatible = "arm,realview-pb1176-syscon", "syscon"; | ||
118 | reg = <0x10000000 0x1000>; | ||
119 | |||
120 | led@08.0 { | ||
121 | compatible = "register-bit-led"; | ||
122 | offset = <0x08>; | ||
123 | mask = <0x01>; | ||
124 | label = "versatile:0"; | ||
125 | linux,default-trigger = "heartbeat"; | ||
126 | default-state = "on"; | ||
127 | }; | ||
128 | led@08.1 { | ||
129 | compatible = "register-bit-led"; | ||
130 | offset = <0x08>; | ||
131 | mask = <0x02>; | ||
132 | label = "versatile:1"; | ||
133 | linux,default-trigger = "mmc0"; | ||
134 | default-state = "off"; | ||
135 | }; | ||
136 | led@08.2 { | ||
137 | compatible = "register-bit-led"; | ||
138 | offset = <0x08>; | ||
139 | mask = <0x04>; | ||
140 | label = "versatile:2"; | ||
141 | linux,default-trigger = "cpu0"; | ||
142 | default-state = "off"; | ||
143 | }; | ||
144 | led@08.3 { | ||
145 | compatible = "register-bit-led"; | ||
146 | offset = <0x08>; | ||
147 | mask = <0x08>; | ||
148 | label = "versatile:3"; | ||
149 | default-state = "off"; | ||
150 | }; | ||
151 | led@08.4 { | ||
152 | compatible = "register-bit-led"; | ||
153 | offset = <0x08>; | ||
154 | mask = <0x10>; | ||
155 | label = "versatile:4"; | ||
156 | default-state = "off"; | ||
157 | }; | ||
158 | led@08.5 { | ||
159 | compatible = "register-bit-led"; | ||
160 | offset = <0x08>; | ||
161 | mask = <0x20>; | ||
162 | label = "versatile:5"; | ||
163 | default-state = "off"; | ||
164 | }; | ||
165 | led@08.6 { | ||
166 | compatible = "register-bit-led"; | ||
167 | offset = <0x08>; | ||
168 | mask = <0x40>; | ||
169 | label = "versatile:6"; | ||
170 | default-state = "off"; | ||
171 | }; | ||
172 | led@08.7 { | ||
173 | compatible = "register-bit-led"; | ||
174 | offset = <0x08>; | ||
175 | mask = <0x80>; | ||
176 | label = "versatile:7"; | ||
177 | default-state = "off"; | ||
178 | }; | ||
179 | }; | ||
180 | |||
181 | /* Primary DevChip GIC synthesized with the CPU */ | ||
182 | intc_dc1176: interrupt-controller@10120000 { | ||
183 | compatible = "arm,arm1176jzf-devchip-gic", "arm,arm11mp-gic"; | ||
184 | #interrupt-cells = <3>; | ||
185 | #address-cells = <1>; | ||
186 | interrupt-controller; | ||
187 | reg = <0x10121000 0x1000>, | ||
188 | <0x10120000 0x100>; | ||
189 | }; | ||
190 | |||
191 | L2: l2-cache { | ||
192 | compatible = "arm,l220-cache"; | ||
193 | reg = <0x10110000 0x1000>; | ||
194 | interrupt-parent = <&intc_dc1176>; | ||
195 | interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>; | ||
196 | cache-unified; | ||
197 | cache-level = <2>; | ||
198 | /* | ||
199 | * Override default cache size, sets and | ||
200 | * associativity as these may be erroneously set | ||
201 | * up by boot loader(s). | ||
202 | */ | ||
203 | arm,override-auxreg; | ||
204 | cache-size = <131072>; // 128kB | ||
205 | cache-sets = <512>; | ||
206 | cache-line-size = <32>; | ||
207 | }; | ||
208 | |||
209 | pmu { | ||
210 | compatible = "arm,arm1176-pmu"; | ||
211 | interrupt-parent = <&intc_dc1176>; | ||
212 | interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>; | ||
213 | }; | ||
214 | |||
215 | timer01: timer@10104000 { | ||
216 | compatible = "arm,sp804", "arm,primecell"; | ||
217 | reg = <0x10104000 0x1000>; | ||
218 | interrupt-parent = <&intc_dc1176>; | ||
219 | interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>, <0 9 IRQ_TYPE_LEVEL_HIGH>; | ||
220 | clocks = <&timclk>, <&timclk>, <&pclk>; | ||
221 | clock-names = "timer1", "timer2", "apb_pclk"; | ||
222 | }; | ||
223 | |||
224 | timer23: timer@10105000 { | ||
225 | compatible = "arm,sp804", "arm,primecell"; | ||
226 | reg = <0x10105000 0x1000>; | ||
227 | interrupt-parent = <&intc_dc1176>; | ||
228 | interrupts = <0 10 IRQ_TYPE_LEVEL_HIGH>; | ||
229 | arm,sp804-has-irq = <1>; | ||
230 | clocks = <&timclk>, <&timclk>, <&pclk>; | ||
231 | clock-names = "timer1", "timer2", "apb_pclk"; | ||
232 | }; | ||
233 | |||
234 | pb1176_rtc: rtc@10108000 { | ||
235 | compatible = "arm,pl031", "arm,primecell"; | ||
236 | reg = <0x10108000 0x1000>; | ||
237 | interrupt-parent = <&intc_dc1176>; | ||
238 | interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>; | ||
239 | clocks = <&pclk>; | ||
240 | clock-names = "apb_pclk"; | ||
241 | }; | ||
242 | |||
243 | pb1176_gpio0: gpio@1010a000 { | ||
244 | compatible = "arm,pl061", "arm,primecell"; | ||
245 | reg = <0x1010a000 0x1000>; | ||
246 | gpio-controller; | ||
247 | interrupt-parent = <&intc_dc1176>; | ||
248 | interrupts = <0 16 IRQ_TYPE_LEVEL_HIGH>; | ||
249 | #gpio-cells = <2>; | ||
250 | interrupt-controller; | ||
251 | #interrupt-cells = <2>; | ||
252 | clocks = <&pclk>; | ||
253 | clock-names = "apb_pclk"; | ||
254 | }; | ||
255 | |||
256 | pb1176_ssp: ssp@1010b000 { | ||
257 | compatible = "arm,pl022", "arm,primecell"; | ||
258 | reg = <0x1010b000 0x1000>; | ||
259 | interrupt-parent = <&intc_dc1176>; | ||
260 | interrupts = <0 17 IRQ_TYPE_LEVEL_HIGH>; | ||
261 | clocks = <&sspclk>, <&pclk>; | ||
262 | clock-names = "SSPCLK", "apb_pclk"; | ||
263 | }; | ||
264 | |||
265 | pb1176_serial0: serial@1010c000 { | ||
266 | compatible = "arm,pl011", "arm,primecell"; | ||
267 | reg = <0x1010c000 0x1000>; | ||
268 | interrupt-parent = <&intc_dc1176>; | ||
269 | interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>; | ||
270 | clocks = <&uartclk>, <&pclk>; | ||
271 | clock-names = "uartclk", "apb_pclk"; | ||
272 | }; | ||
273 | |||
274 | pb1176_serial1: serial@1010d000 { | ||
275 | compatible = "arm,pl011", "arm,primecell"; | ||
276 | reg = <0x1010d000 0x1000>; | ||
277 | interrupt-parent = <&intc_dc1176>; | ||
278 | interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>; | ||
279 | clocks = <&uartclk>, <&pclk>; | ||
280 | clock-names = "uartclk", "apb_pclk"; | ||
281 | }; | ||
282 | |||
283 | pb1176_serial2: serial@1010e000 { | ||
284 | compatible = "arm,pl011", "arm,primecell"; | ||
285 | reg = <0x1010e000 0x1000>; | ||
286 | interrupt-parent = <&intc_dc1176>; | ||
287 | interrupts = <0 20 IRQ_TYPE_LEVEL_HIGH>; | ||
288 | clocks = <&uartclk>, <&pclk>; | ||
289 | clock-names = "uartclk", "apb_pclk"; | ||
290 | }; | ||
291 | |||
292 | pb1176_serial3: serial@1010f000 { | ||
293 | compatible = "arm,pl011", "arm,primecell"; | ||
294 | reg = <0x1010f000 0x1000>; | ||
295 | interrupt-parent = <&intc_dc1176>; | ||
296 | interrupts = <0 21 IRQ_TYPE_LEVEL_HIGH>; | ||
297 | clocks = <&uartclk>, <&pclk>; | ||
298 | clock-names = "uartclk", "apb_pclk"; | ||
299 | }; | ||
300 | }; | ||
301 | |||
302 | /* These peripherals are inside the FPGA rather than the DevChip */ | ||
303 | fpga { | ||
304 | #address-cells = <1>; | ||
305 | #size-cells = <1>; | ||
306 | compatible = "simple-bus"; | ||
307 | ranges; | ||
308 | |||
309 | fpga_mci: mmcsd@10005000 { | ||
310 | compatible = "arm,pl18x", "arm,primecell"; | ||
311 | reg = <0x10005000 0x1000>; | ||
312 | interrupt-parent = <&intc_fpga1176>; | ||
313 | interrupts = <0 1 IRQ_TYPE_LEVEL_HIGH>, | ||
314 | <0 2 IRQ_TYPE_LEVEL_HIGH>; | ||
315 | /* Due to frequent FIFO overruns, use just 500 kHz */ | ||
316 | max-frequency = <500000>; | ||
317 | bus-width = <4>; | ||
318 | cap-sd-highspeed; | ||
319 | cap-mmc-highspeed; | ||
320 | clocks = <&mclk>, <&pclk>; | ||
321 | clock-names = "mclk", "apb_pclk"; | ||
322 | vmmc-supply = <&vmmc>; | ||
323 | cd-gpios = <&fpga_gpio1 0 GPIO_ACTIVE_LOW>; | ||
324 | wp-gpios = <&fpga_gpio1 1 GPIO_ACTIVE_HIGH>; | ||
325 | }; | ||
326 | |||
327 | fpga_kmi0: kmi@10006000 { | ||
328 | compatible = "arm,pl050", "arm,primecell"; | ||
329 | reg = <0x10006000 0x1000>; | ||
330 | interrupt-parent = <&intc_fpga1176>; | ||
331 | interrupts = <0 3 IRQ_TYPE_LEVEL_HIGH>; | ||
332 | clocks = <&kmiclk>, <&pclk>; | ||
333 | clock-names = "KMIREFCLK", "apb_pclk"; | ||
334 | }; | ||
335 | |||
336 | fpga_kmi1: kmi@10007000 { | ||
337 | compatible = "arm,pl050", "arm,primecell"; | ||
338 | reg = <0x10007000 0x1000>; | ||
339 | interrupt-parent = <&intc_fpga1176>; | ||
340 | interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>; | ||
341 | clocks = <&kmiclk>, <&pclk>; | ||
342 | clock-names = "KMIREFCLK", "apb_pclk"; | ||
343 | }; | ||
344 | |||
345 | fpga_charlcd: charlcd@10008000 { | ||
346 | compatible = "arm,versatile-lcd"; | ||
347 | reg = <0x10008000 0x1000>; | ||
348 | interrupt-parent = <&intc_fpga1176>; | ||
349 | interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>; | ||
350 | clocks = <&pclk>; | ||
351 | clock-names = "apb_pclk"; | ||
352 | }; | ||
353 | |||
354 | fpga_serial: serial@10009000 { | ||
355 | compatible = "arm,pl011", "arm,primecell"; | ||
356 | reg = <0x10009000 0x1000>; | ||
357 | interrupt-parent = <&intc_fpga1176>; | ||
358 | interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>; | ||
359 | clocks = <&uartclk>, <&pclk>; | ||
360 | clock-names = "uartclk", "apb_pclk"; | ||
361 | }; | ||
362 | |||
363 | /* This GIC on the board is cascaded off the DevChip GIC */ | ||
364 | intc_fpga1176: interrupt-controller@10040000 { | ||
365 | compatible = "arm,arm1176jzf-devchip-gic", "arm,arm11mp-gic"; | ||
366 | #interrupt-cells = <3>; | ||
367 | #address-cells = <1>; | ||
368 | interrupt-controller; | ||
369 | reg = <0x10041000 0x1000>, | ||
370 | <0x10040000 0x100>; | ||
371 | interrupt-parent = <&intc_dc1176>; | ||
372 | interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>; | ||
373 | }; | ||
374 | |||
375 | fpga_gpio0: gpio@10014000 { | ||
376 | compatible = "arm,pl061", "arm,primecell"; | ||
377 | reg = <0x10014000 0x1000>; | ||
378 | gpio-controller; | ||
379 | interrupt-parent = <&intc_fpga1176>; | ||
380 | interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>; | ||
381 | #gpio-cells = <2>; | ||
382 | interrupt-controller; | ||
383 | #interrupt-cells = <2>; | ||
384 | clocks = <&pclk>; | ||
385 | clock-names = "apb_pclk"; | ||
386 | }; | ||
387 | |||
388 | fpga_gpio1: gpio@10015000 { | ||
389 | compatible = "arm,pl061", "arm,primecell"; | ||
390 | reg = <0x10015000 0x1000>; | ||
391 | gpio-controller; | ||
392 | interrupt-parent = <&intc_fpga1176>; | ||
393 | interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>; | ||
394 | #gpio-cells = <2>; | ||
395 | interrupt-controller; | ||
396 | #interrupt-cells = <2>; | ||
397 | clocks = <&pclk>; | ||
398 | clock-names = "apb_pclk"; | ||
399 | }; | ||
400 | |||
401 | fpga_rtc: rtc@10017000 { | ||
402 | compatible = "arm,pl031", "arm,primecell"; | ||
403 | reg = <0x10017000 0x1000>; | ||
404 | interrupt-parent = <&intc_fpga1176>; | ||
405 | interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>; | ||
406 | clocks = <&pclk>; | ||
407 | clock-names = "apb_pclk"; | ||
408 | }; | ||
409 | |||
410 | |||
411 | }; | ||
412 | }; | ||
diff --git a/arch/arm/boot/dts/armada-370-db.dts b/arch/arm/boot/dts/armada-370-db.dts index a495e5821ab8..1466580be295 100644 --- a/arch/arm/boot/dts/armada-370-db.dts +++ b/arch/arm/boot/dts/armada-370-db.dts | |||
@@ -75,6 +75,7 @@ | |||
75 | clock-frequency = <100000>; | 75 | clock-frequency = <100000>; |
76 | status = "okay"; | 76 | status = "okay"; |
77 | audio_codec: audio-codec@4a { | 77 | audio_codec: audio-codec@4a { |
78 | #sound-dai-cells = <0>; | ||
78 | compatible = "cirrus,cs42l51"; | 79 | compatible = "cirrus,cs42l51"; |
79 | reg = <0x4a>; | 80 | reg = <0x4a>; |
80 | }; | 81 | }; |
@@ -102,30 +103,6 @@ | |||
102 | broken-cd; | 103 | broken-cd; |
103 | }; | 104 | }; |
104 | 105 | ||
105 | pinctrl { | ||
106 | /* | ||
107 | * These pins might be muxed as I2S by | ||
108 | * the bootloader, but it conflicts | ||
109 | * with the real I2S pins that are | ||
110 | * muxed using i2s_pins. We must mux | ||
111 | * those pins to a function other than | ||
112 | * I2S. | ||
113 | */ | ||
114 | pinctrl-0 = <&hog_pins1 &hog_pins2>; | ||
115 | pinctrl-names = "default"; | ||
116 | |||
117 | hog_pins1: hog-pins1 { | ||
118 | marvell,pins = "mpp6", "mpp8", "mpp10", | ||
119 | "mpp12", "mpp13"; | ||
120 | marvell,function = "gpio"; | ||
121 | }; | ||
122 | |||
123 | hog_pins2: hog-pins2 { | ||
124 | marvell,pins = "mpp5", "mpp7", "mpp9"; | ||
125 | marvell,function = "gpo"; | ||
126 | }; | ||
127 | }; | ||
128 | |||
129 | usb@50000 { | 106 | usb@50000 { |
130 | status = "okay"; | 107 | status = "okay"; |
131 | }; | 108 | }; |
@@ -135,6 +112,8 @@ | |||
135 | }; | 112 | }; |
136 | 113 | ||
137 | spi0: spi@10600 { | 114 | spi0: spi@10600 { |
115 | pinctrl-0 = <&spi0_pins2>; | ||
116 | pinctrl-names = "default"; | ||
138 | status = "okay"; | 117 | status = "okay"; |
139 | 118 | ||
140 | spi-flash@0 { | 119 | spi-flash@0 { |
@@ -167,17 +146,84 @@ | |||
167 | }; | 146 | }; |
168 | 147 | ||
169 | sound { | 148 | sound { |
170 | compatible = "marvell,a370db-audio"; | 149 | compatible = "simple-audio-card"; |
171 | marvell,audio-controller = <&audio_controller>; | 150 | simple-audio-card,name = "Armada 370 DB Audio"; |
172 | marvell,audio-codec = <&audio_codec &spdif_out &spdif_in>; | 151 | simple-audio-card,mclk-fs = <256>; |
173 | status = "okay"; | 152 | simple-audio-card,widgets = |
153 | "Headphone", "Out Jack", | ||
154 | "Line", "In Jack"; | ||
155 | simple-audio-card,routing = | ||
156 | "Out Jack", "HPL", | ||
157 | "Out Jack", "HPR", | ||
158 | "AIN1L", "In Jack", | ||
159 | "AIN1L", "In Jack"; | ||
160 | status = "okay"; | ||
161 | |||
162 | simple-audio-card,dai-link@0 { | ||
163 | format = "i2s"; | ||
164 | cpu { | ||
165 | sound-dai = <&audio_controller 0>; | ||
166 | }; | ||
167 | |||
168 | codec { | ||
169 | sound-dai = <&audio_codec>; | ||
170 | }; | ||
171 | }; | ||
172 | |||
173 | simple-audio-card,dai-link@1 { | ||
174 | format = "i2s"; | ||
175 | cpu { | ||
176 | sound-dai = <&audio_controller 1>; | ||
177 | }; | ||
178 | |||
179 | codec { | ||
180 | sound-dai = <&spdif_out>; | ||
181 | }; | ||
182 | }; | ||
183 | |||
184 | simple-audio-card,dai-link@2 { | ||
185 | format = "i2s"; | ||
186 | cpu { | ||
187 | sound-dai = <&audio_controller 1>; | ||
188 | }; | ||
189 | |||
190 | codec { | ||
191 | sound-dai = <&spdif_in>; | ||
192 | }; | ||
193 | }; | ||
174 | }; | 194 | }; |
175 | 195 | ||
176 | spdif_out: spdif-out { | 196 | spdif_out: spdif-out { |
177 | compatible = "linux,spdif-dit"; | 197 | #sound-dai-cells = <0>; |
198 | compatible = "linux,spdif-dit"; | ||
178 | }; | 199 | }; |
179 | 200 | ||
180 | spdif_in: spdif-in { | 201 | spdif_in: spdif-in { |
181 | compatible = "linux,spdif-dir"; | 202 | #sound-dai-cells = <0>; |
203 | compatible = "linux,spdif-dir"; | ||
204 | }; | ||
205 | }; | ||
206 | |||
207 | &pinctrl { | ||
208 | /* | ||
209 | * These pins might be muxed as I2S by | ||
210 | * the bootloader, but it conflicts | ||
211 | * with the real I2S pins that are | ||
212 | * muxed using i2s_pins. We must mux | ||
213 | * those pins to a function other than | ||
214 | * I2S. | ||
215 | */ | ||
216 | pinctrl-0 = <&hog_pins1 &hog_pins2>; | ||
217 | pinctrl-names = "default"; | ||
218 | |||
219 | hog_pins1: hog-pins1 { | ||
220 | marvell,pins = "mpp6", "mpp8", "mpp10", | ||
221 | "mpp12", "mpp13"; | ||
222 | marvell,function = "gpio"; | ||
223 | }; | ||
224 | |||
225 | hog_pins2: hog-pins2 { | ||
226 | marvell,pins = "mpp5", "mpp7", "mpp9"; | ||
227 | marvell,function = "gpo"; | ||
182 | }; | 228 | }; |
183 | }; | 229 | }; |
diff --git a/arch/arm/boot/dts/armada-370-mirabox.dts b/arch/arm/boot/dts/armada-370-mirabox.dts index 2b6d24e0d1e8..e1b0eb6b091f 100644 --- a/arch/arm/boot/dts/armada-370-mirabox.dts +++ b/arch/arm/boot/dts/armada-370-mirabox.dts | |||
@@ -54,18 +54,6 @@ | |||
54 | status = "okay"; | 54 | status = "okay"; |
55 | }; | 55 | }; |
56 | 56 | ||
57 | pinctrl { | ||
58 | pwr_led_pin: pwr-led-pin { | ||
59 | marvell,pins = "mpp63"; | ||
60 | marvell,function = "gpo"; | ||
61 | }; | ||
62 | |||
63 | stat_led_pins: stat-led-pins { | ||
64 | marvell,pins = "mpp64", "mpp65"; | ||
65 | marvell,function = "gpio"; | ||
66 | }; | ||
67 | }; | ||
68 | |||
69 | gpio_leds { | 57 | gpio_leds { |
70 | compatible = "gpio-leds"; | 58 | compatible = "gpio-leds"; |
71 | pinctrl-names = "default"; | 59 | pinctrl-names = "default"; |
@@ -169,3 +157,16 @@ | |||
169 | }; | 157 | }; |
170 | }; | 158 | }; |
171 | }; | 159 | }; |
160 | |||
161 | &pinctrl { | ||
162 | pwr_led_pin: pwr-led-pin { | ||
163 | marvell,pins = "mpp63"; | ||
164 | marvell,function = "gpo"; | ||
165 | }; | ||
166 | |||
167 | stat_led_pins: stat-led-pins { | ||
168 | marvell,pins = "mpp64", "mpp65"; | ||
169 | marvell,function = "gpio"; | ||
170 | }; | ||
171 | }; | ||
172 | |||
diff --git a/arch/arm/boot/dts/armada-370-netgear-rn102.dts b/arch/arm/boot/dts/armada-370-netgear-rn102.dts index 3aebd93cc33c..4e24932c6e30 100644 --- a/arch/arm/boot/dts/armada-370-netgear-rn102.dts +++ b/arch/arm/boot/dts/armada-370-netgear-rn102.dts | |||
@@ -35,7 +35,7 @@ | |||
35 | pcie-controller { | 35 | pcie-controller { |
36 | status = "okay"; | 36 | status = "okay"; |
37 | 37 | ||
38 | /* Connected to Marvell SATA controller */ | 38 | /* Connected to Marvell 88SE9170 SATA controller */ |
39 | pcie@1,0 { | 39 | pcie@1,0 { |
40 | /* Port 0, Lane 0 */ | 40 | /* Port 0, Lane 0 */ |
41 | status = "okay"; | 41 | status = "okay"; |
@@ -53,53 +53,12 @@ | |||
53 | status = "okay"; | 53 | status = "okay"; |
54 | }; | 54 | }; |
55 | 55 | ||
56 | /* eSATA interface */ | ||
56 | sata@a0000 { | 57 | sata@a0000 { |
57 | nr-ports = <2>; | 58 | nr-ports = <1>; |
58 | status = "okay"; | 59 | status = "okay"; |
59 | }; | 60 | }; |
60 | 61 | ||
61 | pinctrl { | ||
62 | power_led_pin: power-led-pin { | ||
63 | marvell,pins = "mpp57"; | ||
64 | marvell,function = "gpio"; | ||
65 | }; | ||
66 | |||
67 | sata1_led_pin: sata1-led-pin { | ||
68 | marvell,pins = "mpp15"; | ||
69 | marvell,function = "gpio"; | ||
70 | }; | ||
71 | |||
72 | sata2_led_pin: sata2-led-pin { | ||
73 | marvell,pins = "mpp14"; | ||
74 | marvell,function = "gpio"; | ||
75 | }; | ||
76 | |||
77 | backup_led_pin: backup-led-pin { | ||
78 | marvell,pins = "mpp56"; | ||
79 | marvell,function = "gpio"; | ||
80 | }; | ||
81 | |||
82 | backup_button_pin: backup-button-pin { | ||
83 | marvell,pins = "mpp58"; | ||
84 | marvell,function = "gpio"; | ||
85 | }; | ||
86 | |||
87 | power_button_pin: power-button-pin { | ||
88 | marvell,pins = "mpp62"; | ||
89 | marvell,function = "gpio"; | ||
90 | }; | ||
91 | |||
92 | reset_button_pin: reset-button-pin { | ||
93 | marvell,pins = "mpp6"; | ||
94 | marvell,function = "gpio"; | ||
95 | }; | ||
96 | |||
97 | poweroff: poweroff { | ||
98 | marvell,pins = "mpp8"; | ||
99 | marvell,function = "gpio"; | ||
100 | }; | ||
101 | }; | ||
102 | |||
103 | mdio { | 62 | mdio { |
104 | pinctrl-0 = <&mdio_pins>; | 63 | pinctrl-0 = <&mdio_pins>; |
105 | pinctrl-names = "default"; | 64 | pinctrl-names = "default"; |
@@ -204,20 +163,20 @@ | |||
204 | default-state = "keep"; | 163 | default-state = "keep"; |
205 | }; | 164 | }; |
206 | 165 | ||
207 | green-sata1-led { | 166 | blue-sata1-led { |
208 | label = "rn102:green:sata1"; | 167 | label = "rn102:blue:sata1"; |
209 | gpios = <&gpio0 15 GPIO_ACTIVE_LOW>; | 168 | gpios = <&gpio0 15 GPIO_ACTIVE_LOW>; |
210 | default-state = "on"; | 169 | default-state = "on"; |
211 | }; | 170 | }; |
212 | 171 | ||
213 | green-sata2-led { | 172 | blue-sata2-led { |
214 | label = "rn102:green:sata2"; | 173 | label = "rn102:blue:sata2"; |
215 | gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; | 174 | gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; |
216 | default-state = "on"; | 175 | default-state = "on"; |
217 | }; | 176 | }; |
218 | 177 | ||
219 | green-backup-led { | 178 | blue-backup-led { |
220 | label = "rn102:green:backup"; | 179 | label = "rn102:blue:backup"; |
221 | gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; | 180 | gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; |
222 | default-state = "on"; | 181 | default-state = "on"; |
223 | }; | 182 | }; |
@@ -256,3 +215,45 @@ | |||
256 | gpios = <&gpio0 8 GPIO_ACTIVE_LOW>; | 215 | gpios = <&gpio0 8 GPIO_ACTIVE_LOW>; |
257 | }; | 216 | }; |
258 | }; | 217 | }; |
218 | |||
219 | &pinctrl { | ||
220 | power_led_pin: power-led-pin { | ||
221 | marvell,pins = "mpp57"; | ||
222 | marvell,function = "gpio"; | ||
223 | }; | ||
224 | |||
225 | sata1_led_pin: sata1-led-pin { | ||
226 | marvell,pins = "mpp15"; | ||
227 | marvell,function = "gpio"; | ||
228 | }; | ||
229 | |||
230 | sata2_led_pin: sata2-led-pin { | ||
231 | marvell,pins = "mpp14"; | ||
232 | marvell,function = "gpio"; | ||
233 | }; | ||
234 | |||
235 | backup_led_pin: backup-led-pin { | ||
236 | marvell,pins = "mpp56"; | ||
237 | marvell,function = "gpio"; | ||
238 | }; | ||
239 | |||
240 | backup_button_pin: backup-button-pin { | ||
241 | marvell,pins = "mpp58"; | ||
242 | marvell,function = "gpio"; | ||
243 | }; | ||
244 | |||
245 | power_button_pin: power-button-pin { | ||
246 | marvell,pins = "mpp62"; | ||
247 | marvell,function = "gpio"; | ||
248 | }; | ||
249 | |||
250 | reset_button_pin: reset-button-pin { | ||
251 | marvell,pins = "mpp6"; | ||
252 | marvell,function = "gpio"; | ||
253 | }; | ||
254 | |||
255 | poweroff: poweroff { | ||
256 | marvell,pins = "mpp8"; | ||
257 | marvell,function = "gpio"; | ||
258 | }; | ||
259 | }; | ||
diff --git a/arch/arm/boot/dts/armada-370-netgear-rn104.dts b/arch/arm/boot/dts/armada-370-netgear-rn104.dts index c2f414bb9aba..30586e47986a 100644 --- a/arch/arm/boot/dts/armada-370-netgear-rn104.dts +++ b/arch/arm/boot/dts/armada-370-netgear-rn104.dts | |||
@@ -53,38 +53,6 @@ | |||
53 | status = "okay"; | 53 | status = "okay"; |
54 | }; | 54 | }; |
55 | 55 | ||
56 | pinctrl { | ||
57 | poweroff: poweroff { | ||
58 | marvell,pins = "mpp60"; | ||
59 | marvell,function = "gpio"; | ||
60 | }; | ||
61 | |||
62 | backup_button_pin: backup-button-pin { | ||
63 | marvell,pins = "mpp52"; | ||
64 | marvell,function = "gpio"; | ||
65 | }; | ||
66 | |||
67 | power_button_pin: power-button-pin { | ||
68 | marvell,pins = "mpp62"; | ||
69 | marvell,function = "gpio"; | ||
70 | }; | ||
71 | |||
72 | backup_led_pin: backup-led-pin { | ||
73 | marvell,pins = "mpp63"; | ||
74 | marvell,function = "gpo"; | ||
75 | }; | ||
76 | |||
77 | power_led_pin: power-led-pin { | ||
78 | marvell,pins = "mpp64"; | ||
79 | marvell,function = "gpio"; | ||
80 | }; | ||
81 | |||
82 | reset_button_pin: reset-button-pin { | ||
83 | marvell,pins = "mpp65"; | ||
84 | marvell,function = "gpio"; | ||
85 | }; | ||
86 | }; | ||
87 | |||
88 | mdio { | 56 | mdio { |
89 | pinctrl-0 = <&mdio_pins>; | 57 | pinctrl-0 = <&mdio_pins>; |
90 | pinctrl-names = "default"; | 58 | pinctrl-names = "default"; |
@@ -269,3 +237,35 @@ | |||
269 | gpios = <&gpio1 28 GPIO_ACTIVE_LOW>; | 237 | gpios = <&gpio1 28 GPIO_ACTIVE_LOW>; |
270 | }; | 238 | }; |
271 | }; | 239 | }; |
240 | |||
241 | &pinctrl { | ||
242 | poweroff: poweroff { | ||
243 | marvell,pins = "mpp60"; | ||
244 | marvell,function = "gpio"; | ||
245 | }; | ||
246 | |||
247 | backup_button_pin: backup-button-pin { | ||
248 | marvell,pins = "mpp52"; | ||
249 | marvell,function = "gpio"; | ||
250 | }; | ||
251 | |||
252 | power_button_pin: power-button-pin { | ||
253 | marvell,pins = "mpp62"; | ||
254 | marvell,function = "gpio"; | ||
255 | }; | ||
256 | |||
257 | backup_led_pin: backup-led-pin { | ||
258 | marvell,pins = "mpp63"; | ||
259 | marvell,function = "gpo"; | ||
260 | }; | ||
261 | |||
262 | power_led_pin: power-led-pin { | ||
263 | marvell,pins = "mpp64"; | ||
264 | marvell,function = "gpio"; | ||
265 | }; | ||
266 | |||
267 | reset_button_pin: reset-button-pin { | ||
268 | marvell,pins = "mpp65"; | ||
269 | marvell,function = "gpio"; | ||
270 | }; | ||
271 | }; | ||
diff --git a/arch/arm/boot/dts/armada-370-rd.dts b/arch/arm/boot/dts/armada-370-rd.dts index f57a8f841498..394308951ed9 100644 --- a/arch/arm/boot/dts/armada-370-rd.dts +++ b/arch/arm/boot/dts/armada-370-rd.dts | |||
@@ -59,18 +59,6 @@ | |||
59 | }; | 59 | }; |
60 | 60 | ||
61 | internal-regs { | 61 | internal-regs { |
62 | pinctrl { | ||
63 | fan_pins: fan-pins { | ||
64 | marvell,pins = "mpp8"; | ||
65 | marvell,function = "gpio"; | ||
66 | }; | ||
67 | |||
68 | led_pins: led-pins { | ||
69 | marvell,pins = "mpp32"; | ||
70 | marvell,function = "gpio"; | ||
71 | }; | ||
72 | }; | ||
73 | |||
74 | serial@12000 { | 62 | serial@12000 { |
75 | status = "okay"; | 63 | status = "okay"; |
76 | }; | 64 | }; |
@@ -85,10 +73,6 @@ | |||
85 | phy0: ethernet-phy@0 { | 73 | phy0: ethernet-phy@0 { |
86 | reg = <0>; | 74 | reg = <0>; |
87 | }; | 75 | }; |
88 | |||
89 | phy1: ethernet-phy@1 { | ||
90 | reg = <1>; | ||
91 | }; | ||
92 | }; | 76 | }; |
93 | 77 | ||
94 | ethernet@70000 { | 78 | ethernet@70000 { |
@@ -100,8 +84,11 @@ | |||
100 | pinctrl-0 = <&ge1_rgmii_pins>; | 84 | pinctrl-0 = <&ge1_rgmii_pins>; |
101 | pinctrl-names = "default"; | 85 | pinctrl-names = "default"; |
102 | status = "okay"; | 86 | status = "okay"; |
103 | phy = <&phy1>; | ||
104 | phy-mode = "rgmii-id"; | 87 | phy-mode = "rgmii-id"; |
88 | fixed-link { | ||
89 | speed = <1000>; | ||
90 | full-duplex; | ||
91 | }; | ||
105 | }; | 92 | }; |
106 | 93 | ||
107 | mvsdio@d4000 { | 94 | mvsdio@d4000 { |
@@ -173,4 +160,56 @@ | |||
173 | }; | 160 | }; |
174 | }; | 161 | }; |
175 | }; | 162 | }; |
163 | |||
164 | dsa@0 { | ||
165 | compatible = "marvell,dsa"; | ||
166 | #address-cells = <2>; | ||
167 | #size-cells = <0>; | ||
168 | |||
169 | dsa,ethernet = <ð1>; | ||
170 | dsa,mii-bus = <&mdio>; | ||
171 | |||
172 | switch@0 { | ||
173 | #address-cells = <1>; | ||
174 | #size-cells = <0>; | ||
175 | reg = <0x10 0>; /* MDIO address 16, switch 0 in tree */ | ||
176 | |||
177 | port@0 { | ||
178 | reg = <0>; | ||
179 | label = "lan0"; | ||
180 | }; | ||
181 | |||
182 | port@1 { | ||
183 | reg = <1>; | ||
184 | label = "lan1"; | ||
185 | }; | ||
186 | |||
187 | port@2 { | ||
188 | reg = <2>; | ||
189 | label = "lan2"; | ||
190 | }; | ||
191 | |||
192 | port@3 { | ||
193 | reg = <3>; | ||
194 | label = "lan3"; | ||
195 | }; | ||
196 | |||
197 | port@5 { | ||
198 | reg = <5>; | ||
199 | label = "cpu"; | ||
200 | }; | ||
201 | }; | ||
202 | }; | ||
176 | }; | 203 | }; |
204 | |||
205 | &pinctrl { | ||
206 | fan_pins: fan-pins { | ||
207 | marvell,pins = "mpp8"; | ||
208 | marvell,function = "gpio"; | ||
209 | }; | ||
210 | |||
211 | led_pins: led-pins { | ||
212 | marvell,pins = "mpp32"; | ||
213 | marvell,function = "gpio"; | ||
214 | }; | ||
215 | }; | ||
diff --git a/arch/arm/boot/dts/armada-370-synology-ds213j.dts b/arch/arm/boot/dts/armada-370-synology-ds213j.dts new file mode 100644 index 000000000000..70fecde76ccb --- /dev/null +++ b/arch/arm/boot/dts/armada-370-synology-ds213j.dts | |||
@@ -0,0 +1,316 @@ | |||
1 | /* | ||
2 | * Device Tree file for Synology DS213j | ||
3 | * | ||
4 | * Copyright (C) 2014, Arnaud EBALARD <arno@natisbad.org> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * Note: this Device Tree assumes that the bootloader has remapped the | ||
12 | * internal registers to 0xf1000000 (instead of the old 0xd0000000). | ||
13 | * The 0xf1000000 is the default used by the recent, DT-capable, U-Boot | ||
14 | * bootloaders provided by Marvell. It is used in recent versions of | ||
15 | * DSM software provided by Synology. Nonetheless, some earlier boards | ||
16 | * were delivered with an older version of u-boot that left internal | ||
17 | * registers mapped at 0xd0000000. If you have such a device you will | ||
18 | * not be able to directly boot a kernel based on this Device Tree. In | ||
19 | * that case, the preferred solution is to update your bootloader (e.g. | ||
20 | * by upgrading to latest version of DSM, or building a new one and | ||
21 | * installing it from u-boot prompt) or adjust the Devive Tree | ||
22 | * (s/0xf1000000/0xd0000000/ in 'ranges' below). | ||
23 | */ | ||
24 | |||
25 | /dts-v1/; | ||
26 | |||
27 | #include <dt-bindings/input/input.h> | ||
28 | #include <dt-bindings/gpio/gpio.h> | ||
29 | #include "armada-370.dtsi" | ||
30 | |||
31 | / { | ||
32 | model = "Synology DS213j"; | ||
33 | compatible = "synology,ds213j", "marvell,armada370", | ||
34 | "marvell,armada-370-xp"; | ||
35 | |||
36 | chosen { | ||
37 | bootargs = "console=ttyS0,115200 earlyprintk"; | ||
38 | stdout-path = &uart0; | ||
39 | }; | ||
40 | |||
41 | memory { | ||
42 | device_type = "memory"; | ||
43 | reg = <0x00000000 0x20000000>; /* 512 MB */ | ||
44 | }; | ||
45 | |||
46 | soc { | ||
47 | ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 | ||
48 | MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>; | ||
49 | |||
50 | internal-regs { | ||
51 | |||
52 | /* RTC provided by Seiko S-35390A I2C RTC chip below */ | ||
53 | rtc@10300 { | ||
54 | status = "disabled"; | ||
55 | }; | ||
56 | |||
57 | spi0: spi@10600 { | ||
58 | status = "okay"; | ||
59 | |||
60 | spi-flash@0 { | ||
61 | #address-cells = <1>; | ||
62 | #size-cells = <1>; | ||
63 | compatible = "micron,n25q064"; | ||
64 | reg = <0>; /* Chip select 0 */ | ||
65 | spi-max-frequency = <20000000>; | ||
66 | |||
67 | /* | ||
68 | * Warning! | ||
69 | * | ||
70 | * Synology u-boot uses its compiled-in environment | ||
71 | * and it seems Synology did not care to change u-boot | ||
72 | * default configuration in order to allow saving a | ||
73 | * modified environment at a sensible location. So, | ||
74 | * if you do a 'saveenv' under u-boot, your modified | ||
75 | * environment will be saved at 1MB after the start | ||
76 | * of the flash, i.e. in the middle of the uImage. | ||
77 | * For that reason, it is strongly advised not to | ||
78 | * change the default environment, unless you know | ||
79 | * what you are doing. | ||
80 | */ | ||
81 | partition@00000000 { /* u-boot */ | ||
82 | label = "RedBoot"; | ||
83 | reg = <0x00000000 0x000c0000>; /* 768KB */ | ||
84 | }; | ||
85 | |||
86 | partition@000c0000 { /* uImage */ | ||
87 | label = "zImage"; | ||
88 | reg = <0x000c0000 0x002d0000>; /* 2880KB */ | ||
89 | }; | ||
90 | |||
91 | partition@00390000 { /* uInitramfs */ | ||
92 | label = "rd.gz"; | ||
93 | reg = <0x00390000 0x00440000>; /* 4250KB */ | ||
94 | }; | ||
95 | |||
96 | partition@007d0000 { /* MAC address and serial number */ | ||
97 | label = "vendor"; | ||
98 | reg = <0x007d0000 0x00010000>; /* 64KB */ | ||
99 | }; | ||
100 | |||
101 | partition@007e0000 { | ||
102 | label = "RedBoot config"; | ||
103 | reg = <0x007e0000 0x00010000>; /* 64KB */ | ||
104 | }; | ||
105 | |||
106 | partition@007f0000 { | ||
107 | label = "FIS directory"; | ||
108 | reg = <0x007f0000 0x00010000>; /* 64KB */ | ||
109 | }; | ||
110 | }; | ||
111 | }; | ||
112 | |||
113 | i2c@11000 { | ||
114 | compatible = "marvell,mv64xxx-i2c"; | ||
115 | pinctrl-0 = <&i2c0_pins>; | ||
116 | pinctrl-names = "default"; | ||
117 | clock-frequency = <400000>; | ||
118 | status = "okay"; | ||
119 | |||
120 | /* Main device RTC chip */ | ||
121 | s35390a: s35390a@30 { | ||
122 | compatible = "sii,s35390a"; | ||
123 | reg = <0x30>; | ||
124 | }; | ||
125 | }; | ||
126 | |||
127 | /* Connected to a header on device's PCB */ | ||
128 | serial@12000 { | ||
129 | status = "okay"; | ||
130 | }; | ||
131 | |||
132 | /* Connected to a TI MSP430F2111 for power control */ | ||
133 | serial@12100 { | ||
134 | status = "okay"; | ||
135 | }; | ||
136 | |||
137 | poweroff@12100 { | ||
138 | compatible = "synology,power-off"; | ||
139 | reg = <0x12100 0x100>; | ||
140 | clocks = <&coreclk 0>; | ||
141 | }; | ||
142 | |||
143 | /* rear USB port, near reset button */ | ||
144 | usb@50000 { | ||
145 | status = "okay"; | ||
146 | }; | ||
147 | |||
148 | /* rear USB port, near RJ45 port */ | ||
149 | usb@51000 { | ||
150 | status = "okay"; | ||
151 | }; | ||
152 | |||
153 | mdio { | ||
154 | phy1: ethernet-phy@1 { /* Marvell 88E1512 */ | ||
155 | reg = <1>; | ||
156 | }; | ||
157 | }; | ||
158 | |||
159 | ethernet@70000 { | ||
160 | status = "okay"; | ||
161 | phy = <&phy1>; | ||
162 | phy-mode = "sgmii"; | ||
163 | }; | ||
164 | |||
165 | sata@a0000 { | ||
166 | nr-ports = <2>; | ||
167 | status = "okay"; | ||
168 | }; | ||
169 | }; | ||
170 | }; | ||
171 | |||
172 | gpio-fan-32-38 { | ||
173 | status = "okay"; | ||
174 | compatible = "gpio-fan"; | ||
175 | pinctrl-0 = <&fan_ctrl_low_pin &fan_ctrl_mid_pin | ||
176 | &fan_ctrl_high_pin &fan_alarm_pin>; | ||
177 | pinctrl-names = "default"; | ||
178 | gpios = <&gpio1 31 GPIO_ACTIVE_HIGH | ||
179 | &gpio2 0 GPIO_ACTIVE_HIGH | ||
180 | &gpio2 1 GPIO_ACTIVE_HIGH>; | ||
181 | alarm-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; | ||
182 | gpio-fan,speed-map = < 0 0 | ||
183 | 1000 1 | ||
184 | 1150 2 | ||
185 | 1350 4 | ||
186 | 1500 3 | ||
187 | 1650 5 | ||
188 | 1750 6 | ||
189 | 1900 7 >; | ||
190 | }; | ||
191 | |||
192 | gpio-leds { | ||
193 | compatible = "gpio-leds"; | ||
194 | pinctrl-0 = <&disk1_led_pin | ||
195 | &disk2_led_pin>; | ||
196 | pinctrl-names = "default"; | ||
197 | |||
198 | disk1-led-amber { | ||
199 | label = "synology:amber:disk1"; | ||
200 | gpios = <&gpio0 31 GPIO_ACTIVE_LOW>; | ||
201 | default-state = "keep"; | ||
202 | }; | ||
203 | |||
204 | disk2-led-amber { | ||
205 | label = "synology:amber:disk2"; | ||
206 | gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; | ||
207 | default-state = "keep"; | ||
208 | }; | ||
209 | }; | ||
210 | |||
211 | regulators { | ||
212 | compatible = "simple-bus"; | ||
213 | #address-cells = <1>; | ||
214 | #size-cells = <0>; | ||
215 | pinctrl-0 = <&sata1_pwr_pin &sata2_pwr_pin>; | ||
216 | pinctrl-names = "default"; | ||
217 | |||
218 | sata1_regulator: sata1-regulator { | ||
219 | compatible = "regulator-fixed"; | ||
220 | reg = <1>; | ||
221 | regulator-name = "SATA1 Power"; | ||
222 | regulator-min-microvolt = <5000000>; | ||
223 | regulator-max-microvolt = <5000000>; | ||
224 | startup-delay-us = <2000000>; | ||
225 | enable-active-high; | ||
226 | regulator-always-on; | ||
227 | regulator-boot-on; | ||
228 | gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>; | ||
229 | }; | ||
230 | |||
231 | sata2_regulator: sata2-regulator { | ||
232 | compatible = "regulator-fixed"; | ||
233 | reg = <2>; | ||
234 | regulator-name = "SATA2 Power"; | ||
235 | regulator-min-microvolt = <5000000>; | ||
236 | regulator-max-microvolt = <5000000>; | ||
237 | startup-delay-us = <4000000>; | ||
238 | enable-active-high; | ||
239 | regulator-always-on; | ||
240 | regulator-boot-on; | ||
241 | gpio = <&gpio1 30 GPIO_ACTIVE_HIGH>; | ||
242 | }; | ||
243 | }; | ||
244 | }; | ||
245 | |||
246 | &pinctrl { | ||
247 | disk1_led_pin: disk1-led-pin { | ||
248 | marvell,pins = "mpp31"; | ||
249 | marvell,function = "gpio"; | ||
250 | }; | ||
251 | |||
252 | disk2_led_pin: disk2-led-pin { | ||
253 | marvell,pins = "mpp32"; | ||
254 | marvell,function = "gpio"; | ||
255 | }; | ||
256 | |||
257 | sata1_pwr_pin: sata1-pwr-pin { | ||
258 | marvell,pins = "mpp37"; | ||
259 | marvell,function = "gpio"; | ||
260 | }; | ||
261 | |||
262 | sata2_pwr_pin: sata2-pwr-pin { | ||
263 | marvell,pins = "mpp62"; | ||
264 | marvell,function = "gpio"; | ||
265 | }; | ||
266 | |||
267 | sata1_pres_pin: sata1-pres-pin { | ||
268 | marvell,pins = "mpp60"; | ||
269 | marvell,function = "gpio"; | ||
270 | }; | ||
271 | |||
272 | sata2_pres_pin: sata2-pres-pin { | ||
273 | marvell,pins = "mpp48"; | ||
274 | marvell,function = "gpio"; | ||
275 | }; | ||
276 | |||
277 | syno_id_bit0_pin: syno-id-bit0-pin { | ||
278 | marvell,pins = "mpp55"; | ||
279 | marvell,function = "gpio"; | ||
280 | }; | ||
281 | |||
282 | syno_id_bit1_pin: syno-id-bit1-pin { | ||
283 | marvell,pins = "mpp56"; | ||
284 | marvell,function = "gpio"; | ||
285 | }; | ||
286 | |||
287 | syno_id_bit2_pin: syno-id-bit2-pin { | ||
288 | marvell,pins = "mpp57"; | ||
289 | marvell,function = "gpio"; | ||
290 | }; | ||
291 | |||
292 | syno_id_bit3_pin: syno-id-bit3-pin { | ||
293 | marvell,pins = "mpp58"; | ||
294 | marvell,function = "gpio"; | ||
295 | }; | ||
296 | |||
297 | fan_ctrl_low_pin: fan-ctrl-low-pin { | ||
298 | marvell,pins = "mpp65"; | ||
299 | marvell,function = "gpio"; | ||
300 | }; | ||
301 | |||
302 | fan_ctrl_mid_pin: fan-ctrl-mid-pin { | ||
303 | marvell,pins = "mpp64"; | ||
304 | marvell,function = "gpio"; | ||
305 | }; | ||
306 | |||
307 | fan_ctrl_high_pin: fan-ctrl-high-pin { | ||
308 | marvell,pins = "mpp63"; | ||
309 | marvell,function = "gpo"; | ||
310 | }; | ||
311 | |||
312 | fan_alarm_pin: fan-alarm-pin { | ||
313 | marvell,pins = "mpp38"; | ||
314 | marvell,function = "gpio"; | ||
315 | }; | ||
316 | }; | ||
diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi index 90dba78554c8..1af428602748 100644 --- a/arch/arm/boot/dts/armada-370-xp.dtsi +++ b/arch/arm/boot/dts/armada-370-xp.dtsi | |||
@@ -151,7 +151,7 @@ | |||
151 | status = "disabled"; | 151 | status = "disabled"; |
152 | }; | 152 | }; |
153 | 153 | ||
154 | serial@12000 { | 154 | uart0: serial@12000 { |
155 | compatible = "snps,dw-apb-uart"; | 155 | compatible = "snps,dw-apb-uart"; |
156 | reg = <0x12000 0x100>; | 156 | reg = <0x12000 0x100>; |
157 | reg-shift = <2>; | 157 | reg-shift = <2>; |
@@ -160,7 +160,8 @@ | |||
160 | clocks = <&coreclk 0>; | 160 | clocks = <&coreclk 0>; |
161 | status = "disabled"; | 161 | status = "disabled"; |
162 | }; | 162 | }; |
163 | serial@12100 { | 163 | |
164 | uart1: serial@12100 { | ||
164 | compatible = "snps,dw-apb-uart"; | 165 | compatible = "snps,dw-apb-uart"; |
165 | reg = <0x12100 0x100>; | 166 | reg = <0x12100 0x100>; |
166 | reg-shift = <2>; | 167 | reg-shift = <2>; |
@@ -170,6 +171,10 @@ | |||
170 | status = "disabled"; | 171 | status = "disabled"; |
171 | }; | 172 | }; |
172 | 173 | ||
174 | pinctrl: pin-ctrl@18000 { | ||
175 | reg = <0x18000 0x38>; | ||
176 | }; | ||
177 | |||
173 | coredivclk: corediv-clock@18740 { | 178 | coredivclk: corediv-clock@18740 { |
174 | compatible = "marvell,armada-370-corediv-clock"; | 179 | compatible = "marvell,armada-370-corediv-clock"; |
175 | reg = <0x18740 0xc>; | 180 | reg = <0x18740 0xc>; |
@@ -233,7 +238,7 @@ | |||
233 | status = "disabled"; | 238 | status = "disabled"; |
234 | }; | 239 | }; |
235 | 240 | ||
236 | mdio { | 241 | mdio: mdio { |
237 | #address-cells = <1>; | 242 | #address-cells = <1>; |
238 | #size-cells = <0>; | 243 | #size-cells = <0>; |
239 | compatible = "marvell,orion-mdio"; | 244 | compatible = "marvell,orion-mdio"; |
diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi index 6b3c23b1e138..fdb3c12a6139 100644 --- a/arch/arm/boot/dts/armada-370.dtsi +++ b/arch/arm/boot/dts/armada-370.dtsi | |||
@@ -95,81 +95,30 @@ | |||
95 | compatible = "marvell,aurora-outer-cache"; | 95 | compatible = "marvell,aurora-outer-cache"; |
96 | reg = <0x08000 0x1000>; | 96 | reg = <0x08000 0x1000>; |
97 | cache-id-part = <0x100>; | 97 | cache-id-part = <0x100>; |
98 | cache-unified; | ||
98 | wt-override; | 99 | wt-override; |
99 | }; | 100 | }; |
100 | 101 | ||
101 | i2c0: i2c@11000 { | 102 | /* |
102 | reg = <0x11000 0x20>; | 103 | * Default SPI pinctrl setting, can be overwritten on |
104 | * board level if a different configuration is used. | ||
105 | */ | ||
106 | spi0: spi@10600 { | ||
107 | pinctrl-0 = <&spi0_pins1>; | ||
108 | pinctrl-names = "default"; | ||
103 | }; | 109 | }; |
104 | 110 | ||
105 | i2c1: i2c@11100 { | 111 | spi1: spi@10680 { |
106 | reg = <0x11100 0x20>; | 112 | pinctrl-0 = <&spi1_pins>; |
113 | pinctrl-names = "default"; | ||
107 | }; | 114 | }; |
108 | 115 | ||
109 | system-controller@18200 { | 116 | i2c0: i2c@11000 { |
110 | compatible = "marvell,armada-370-xp-system-controller"; | 117 | reg = <0x11000 0x20>; |
111 | reg = <0x18200 0x100>; | ||
112 | }; | 118 | }; |
113 | 119 | ||
114 | pinctrl { | 120 | i2c1: i2c@11100 { |
115 | compatible = "marvell,mv88f6710-pinctrl"; | 121 | reg = <0x11100 0x20>; |
116 | reg = <0x18000 0x38>; | ||
117 | |||
118 | sdio_pins1: sdio-pins1 { | ||
119 | marvell,pins = "mpp9", "mpp11", "mpp12", | ||
120 | "mpp13", "mpp14", "mpp15"; | ||
121 | marvell,function = "sd0"; | ||
122 | }; | ||
123 | |||
124 | sdio_pins2: sdio-pins2 { | ||
125 | marvell,pins = "mpp47", "mpp48", "mpp49", | ||
126 | "mpp50", "mpp51", "mpp52"; | ||
127 | marvell,function = "sd0"; | ||
128 | }; | ||
129 | |||
130 | sdio_pins3: sdio-pins3 { | ||
131 | marvell,pins = "mpp48", "mpp49", "mpp50", | ||
132 | "mpp51", "mpp52", "mpp53"; | ||
133 | marvell,function = "sd0"; | ||
134 | }; | ||
135 | |||
136 | i2c0_pins: i2c0-pins { | ||
137 | marvell,pins = "mpp2", "mpp3"; | ||
138 | marvell,function = "i2c0"; | ||
139 | }; | ||
140 | |||
141 | i2s_pins1: i2s-pins1 { | ||
142 | marvell,pins = "mpp5", "mpp6", "mpp7", | ||
143 | "mpp8", "mpp9", "mpp10", | ||
144 | "mpp12", "mpp13"; | ||
145 | marvell,function = "audio"; | ||
146 | }; | ||
147 | |||
148 | i2s_pins2: i2s-pins2 { | ||
149 | marvell,pins = "mpp49", "mpp47", "mpp50", | ||
150 | "mpp59", "mpp57", "mpp61", | ||
151 | "mpp62", "mpp60", "mpp58"; | ||
152 | marvell,function = "audio"; | ||
153 | }; | ||
154 | |||
155 | mdio_pins: mdio-pins { | ||
156 | marvell,pins = "mpp17", "mpp18"; | ||
157 | marvell,function = "ge"; | ||
158 | }; | ||
159 | |||
160 | ge0_rgmii_pins: ge0-rgmii-pins { | ||
161 | marvell,pins = "mpp5", "mpp6", "mpp7", "mpp8", | ||
162 | "mpp9", "mpp10", "mpp11", "mpp12", | ||
163 | "mpp13", "mpp14", "mpp15", "mpp16"; | ||
164 | marvell,function = "ge0"; | ||
165 | }; | ||
166 | |||
167 | ge1_rgmii_pins: ge1-rgmii-pins { | ||
168 | marvell,pins = "mpp19", "mpp20", "mpp21", "mpp22", | ||
169 | "mpp23", "mpp24", "mpp25", "mpp26", | ||
170 | "mpp27", "mpp28", "mpp29", "mpp30"; | ||
171 | marvell,function = "ge1"; | ||
172 | }; | ||
173 | }; | 122 | }; |
174 | 123 | ||
175 | gpio0: gpio@18100 { | 124 | gpio0: gpio@18100 { |
@@ -205,6 +154,26 @@ | |||
205 | interrupts = <91>; | 154 | interrupts = <91>; |
206 | }; | 155 | }; |
207 | 156 | ||
157 | /* | ||
158 | * Default UART pinctrl setting without RTS/CTS, can | ||
159 | * be overwritten on board level if a different | ||
160 | * configuration is used. | ||
161 | */ | ||
162 | uart0: serial@12000 { | ||
163 | pinctrl-0 = <&uart0_pins>; | ||
164 | pinctrl-names = "default"; | ||
165 | }; | ||
166 | |||
167 | uart1: serial@12100 { | ||
168 | pinctrl-0 = <&uart1_pins>; | ||
169 | pinctrl-names = "default"; | ||
170 | }; | ||
171 | |||
172 | system-controller@18200 { | ||
173 | compatible = "marvell,armada-370-xp-system-controller"; | ||
174 | reg = <0x18200 0x100>; | ||
175 | }; | ||
176 | |||
208 | gateclk: clock-gating-control@18220 { | 177 | gateclk: clock-gating-control@18220 { |
209 | compatible = "marvell,armada-370-gating-clock"; | 178 | compatible = "marvell,armada-370-gating-clock"; |
210 | reg = <0x18220 0x4>; | 179 | reg = <0x18220 0x4>; |
@@ -249,6 +218,7 @@ | |||
249 | }; | 218 | }; |
250 | 219 | ||
251 | audio_controller: audio-controller@30000 { | 220 | audio_controller: audio-controller@30000 { |
221 | #sound-dai-cells = <1>; | ||
252 | compatible = "marvell,armada370-audio"; | 222 | compatible = "marvell,armada370-audio"; |
253 | reg = <0x30000 0x4000>; | 223 | reg = <0x30000 0x4000>; |
254 | interrupts = <93>; | 224 | interrupts = <93>; |
@@ -305,3 +275,91 @@ | |||
305 | }; | 275 | }; |
306 | }; | 276 | }; |
307 | }; | 277 | }; |
278 | |||
279 | &pinctrl { | ||
280 | compatible = "marvell,mv88f6710-pinctrl"; | ||
281 | |||
282 | spi0_pins1: spi0-pins1 { | ||
283 | marvell,pins = "mpp33", "mpp34", | ||
284 | "mpp35", "mpp36"; | ||
285 | marvell,function = "spi0"; | ||
286 | }; | ||
287 | |||
288 | spi0_pins2: spi0_pins2 { | ||
289 | marvell,pins = "mpp32", "mpp63", | ||
290 | "mpp64", "mpp65"; | ||
291 | marvell,function = "spi0"; | ||
292 | }; | ||
293 | |||
294 | spi1_pins: spi1-pins { | ||
295 | marvell,pins = "mpp49", "mpp50", | ||
296 | "mpp51", "mpp52"; | ||
297 | marvell,function = "spi1"; | ||
298 | }; | ||
299 | |||
300 | uart0_pins: uart0-pins { | ||
301 | marvell,pins = "mpp0", "mpp1"; | ||
302 | marvell,function = "uart0"; | ||
303 | }; | ||
304 | |||
305 | uart1_pins: uart1-pins { | ||
306 | marvell,pins = "mpp41", "mpp42"; | ||
307 | marvell,function = "uart1"; | ||
308 | }; | ||
309 | |||
310 | sdio_pins1: sdio-pins1 { | ||
311 | marvell,pins = "mpp9", "mpp11", "mpp12", | ||
312 | "mpp13", "mpp14", "mpp15"; | ||
313 | marvell,function = "sd0"; | ||
314 | }; | ||
315 | |||
316 | sdio_pins2: sdio-pins2 { | ||
317 | marvell,pins = "mpp47", "mpp48", "mpp49", | ||
318 | "mpp50", "mpp51", "mpp52"; | ||
319 | marvell,function = "sd0"; | ||
320 | }; | ||
321 | |||
322 | sdio_pins3: sdio-pins3 { | ||
323 | marvell,pins = "mpp48", "mpp49", "mpp50", | ||
324 | "mpp51", "mpp52", "mpp53"; | ||
325 | marvell,function = "sd0"; | ||
326 | }; | ||
327 | |||
328 | i2c0_pins: i2c0-pins { | ||
329 | marvell,pins = "mpp2", "mpp3"; | ||
330 | marvell,function = "i2c0"; | ||
331 | }; | ||
332 | |||
333 | i2s_pins1: i2s-pins1 { | ||
334 | marvell,pins = "mpp5", "mpp6", "mpp7", | ||
335 | "mpp8", "mpp9", "mpp10", | ||
336 | "mpp12", "mpp13"; | ||
337 | marvell,function = "audio"; | ||
338 | }; | ||
339 | |||
340 | i2s_pins2: i2s-pins2 { | ||
341 | marvell,pins = "mpp49", "mpp47", "mpp50", | ||
342 | "mpp59", "mpp57", "mpp61", | ||
343 | "mpp62", "mpp60", "mpp58"; | ||
344 | marvell,function = "audio"; | ||
345 | }; | ||
346 | |||
347 | mdio_pins: mdio-pins { | ||
348 | marvell,pins = "mpp17", "mpp18"; | ||
349 | marvell,function = "ge"; | ||
350 | }; | ||
351 | |||
352 | ge0_rgmii_pins: ge0-rgmii-pins { | ||
353 | marvell,pins = "mpp5", "mpp6", "mpp7", "mpp8", | ||
354 | "mpp9", "mpp10", "mpp11", "mpp12", | ||
355 | "mpp13", "mpp14", "mpp15", "mpp16"; | ||
356 | marvell,function = "ge0"; | ||
357 | }; | ||
358 | |||
359 | ge1_rgmii_pins: ge1-rgmii-pins { | ||
360 | marvell,pins = "mpp19", "mpp20", "mpp21", "mpp22", | ||
361 | "mpp23", "mpp24", "mpp25", "mpp26", | ||
362 | "mpp27", "mpp28", "mpp29", "mpp30"; | ||
363 | marvell,function = "ge1"; | ||
364 | }; | ||
365 | }; | ||
diff --git a/arch/arm/boot/dts/armada-375.dtsi b/arch/arm/boot/dts/armada-375.dtsi index de6571445cef..9721e55384ce 100644 --- a/arch/arm/boot/dts/armada-375.dtsi +++ b/arch/arm/boot/dts/armada-375.dtsi | |||
@@ -36,6 +36,12 @@ | |||
36 | #clock-cells = <0>; | 36 | #clock-cells = <0>; |
37 | clock-frequency = <2000000000>; | 37 | clock-frequency = <2000000000>; |
38 | }; | 38 | }; |
39 | /* 25 MHz reference crystal */ | ||
40 | refclk: oscillator { | ||
41 | compatible = "fixed-clock"; | ||
42 | #clock-cells = <0>; | ||
43 | clock-frequency = <25000000>; | ||
44 | }; | ||
39 | }; | 45 | }; |
40 | 46 | ||
41 | cpus { | 47 | cpus { |
@@ -366,13 +372,15 @@ | |||
366 | <&gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, | 372 | <&gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, |
367 | <&mpic 5>, | 373 | <&mpic 5>, |
368 | <&mpic 6>; | 374 | <&mpic 6>; |
369 | clocks = <&coreclk 0>; | 375 | clocks = <&coreclk 0>, <&refclk>; |
376 | clock-names = "nbclk", "fixed"; | ||
370 | }; | 377 | }; |
371 | 378 | ||
372 | watchdog@20300 { | 379 | watchdog@20300 { |
373 | compatible = "marvell,armada-375-wdt"; | 380 | compatible = "marvell,armada-375-wdt"; |
374 | reg = <0x20300 0x34>, <0x20704 0x4>, <0x18254 0x4>; | 381 | reg = <0x20300 0x34>, <0x20704 0x4>, <0x18254 0x4>; |
375 | clocks = <&coreclk 0>; | 382 | clocks = <&coreclk 0>, <&refclk>; |
383 | clock-names = "nbclk", "fixed"; | ||
376 | }; | 384 | }; |
377 | 385 | ||
378 | cpurst@20800 { | 386 | cpurst@20800 { |
diff --git a/arch/arm/boot/dts/armada-385-db.dts b/arch/arm/boot/dts/armada-385-db.dts index 1af886f1e486..2aaa9d2ac284 100644 --- a/arch/arm/boot/dts/armada-385-db.dts +++ b/arch/arm/boot/dts/armada-385-db.dts | |||
@@ -116,11 +116,11 @@ | |||
116 | }; | 116 | }; |
117 | 117 | ||
118 | sdhci@d8000 { | 118 | sdhci@d8000 { |
119 | clock-frequency = <200000000>; | ||
120 | broken-cd; | 119 | broken-cd; |
121 | wp-inverted; | 120 | wp-inverted; |
122 | bus-width = <8>; | 121 | bus-width = <8>; |
123 | status = "okay"; | 122 | status = "okay"; |
123 | no-1-8-v; | ||
124 | }; | 124 | }; |
125 | 125 | ||
126 | usb3@f0000 { | 126 | usb3@f0000 { |
diff --git a/arch/arm/boot/dts/armada-38x.dtsi b/arch/arm/boot/dts/armada-38x.dtsi index 242d0ecc99f3..74391dace9e7 100644 --- a/arch/arm/boot/dts/armada-38x.dtsi +++ b/arch/arm/boot/dts/armada-38x.dtsi | |||
@@ -25,9 +25,9 @@ | |||
25 | aliases { | 25 | aliases { |
26 | gpio0 = &gpio0; | 26 | gpio0 = &gpio0; |
27 | gpio1 = &gpio1; | 27 | gpio1 = &gpio1; |
28 | eth0 = ð0; | 28 | ethernet0 = ð0; |
29 | eth1 = ð1; | 29 | ethernet1 = ð1; |
30 | eth2 = ð2; | 30 | ethernet2 = ð2; |
31 | }; | 31 | }; |
32 | 32 | ||
33 | soc { | 33 | soc { |
diff --git a/arch/arm/boot/dts/armada-xp-axpwifiap.dts b/arch/arm/boot/dts/armada-xp-axpwifiap.dts index a55a97a70505..ca0200e20751 100644 --- a/arch/arm/boot/dts/armada-xp-axpwifiap.dts +++ b/arch/arm/boot/dts/armada-xp-axpwifiap.dts | |||
@@ -60,40 +60,6 @@ | |||
60 | }; | 60 | }; |
61 | 61 | ||
62 | internal-regs { | 62 | internal-regs { |
63 | pinctrl { | ||
64 | pinctrl-0 = <&pmx_phy_int>; | ||
65 | pinctrl-names = "default"; | ||
66 | |||
67 | pmx_ge0: pmx-ge0 { | ||
68 | marvell,pins = "mpp0", "mpp1", "mpp2", "mpp3", | ||
69 | "mpp4", "mpp5", "mpp6", "mpp7", | ||
70 | "mpp8", "mpp9", "mpp10", "mpp11"; | ||
71 | marvell,function = "ge0"; | ||
72 | }; | ||
73 | |||
74 | pmx_ge1: pmx-ge1 { | ||
75 | marvell,pins = "mpp12", "mpp13", "mpp14", "mpp15", | ||
76 | "mpp16", "mpp17", "mpp18", "mpp19", | ||
77 | "mpp20", "mpp21", "mpp22", "mpp23"; | ||
78 | marvell,function = "ge1"; | ||
79 | }; | ||
80 | |||
81 | pmx_keys: pmx-keys { | ||
82 | marvell,pins = "mpp33"; | ||
83 | marvell,function = "gpio"; | ||
84 | }; | ||
85 | |||
86 | pmx_spi: pmx-spi { | ||
87 | marvell,pins = "mpp36", "mpp37", "mpp38", "mpp39"; | ||
88 | marvell,function = "spi"; | ||
89 | }; | ||
90 | |||
91 | pmx_phy_int: pmx-phy-int { | ||
92 | marvell,pins = "mpp32"; | ||
93 | marvell,function = "gpio"; | ||
94 | }; | ||
95 | }; | ||
96 | |||
97 | serial@12000 { | 63 | serial@12000 { |
98 | status = "okay"; | 64 | status = "okay"; |
99 | }; | 65 | }; |
@@ -118,14 +84,14 @@ | |||
118 | }; | 84 | }; |
119 | 85 | ||
120 | ethernet@70000 { | 86 | ethernet@70000 { |
121 | pinctrl-0 = <&pmx_ge0>; | 87 | pinctrl-0 = <&ge0_rgmii_pins>; |
122 | pinctrl-names = "default"; | 88 | pinctrl-names = "default"; |
123 | status = "okay"; | 89 | status = "okay"; |
124 | phy = <&phy0>; | 90 | phy = <&phy0>; |
125 | phy-mode = "rgmii-id"; | 91 | phy-mode = "rgmii-id"; |
126 | }; | 92 | }; |
127 | ethernet@74000 { | 93 | ethernet@74000 { |
128 | pinctrl-0 = <&pmx_ge1>; | 94 | pinctrl-0 = <&ge1_rgmii_pins>; |
129 | pinctrl-names = "default"; | 95 | pinctrl-names = "default"; |
130 | status = "okay"; | 96 | status = "okay"; |
131 | phy = <&phy1>; | 97 | phy = <&phy1>; |
@@ -134,8 +100,6 @@ | |||
134 | 100 | ||
135 | spi0: spi@10600 { | 101 | spi0: spi@10600 { |
136 | status = "okay"; | 102 | status = "okay"; |
137 | pinctrl-0 = <&pmx_spi>; | ||
138 | pinctrl-names = "default"; | ||
139 | 103 | ||
140 | spi-flash@0 { | 104 | spi-flash@0 { |
141 | #address-cells = <1>; | 105 | #address-cells = <1>; |
@@ -152,7 +116,7 @@ | |||
152 | compatible = "gpio-keys"; | 116 | compatible = "gpio-keys"; |
153 | #address-cells = <1>; | 117 | #address-cells = <1>; |
154 | #size-cells = <0>; | 118 | #size-cells = <0>; |
155 | pinctrl-0 = <&pmx_keys>; | 119 | pinctrl-0 = <&keys_pin>; |
156 | pinctrl-names = "default"; | 120 | pinctrl-names = "default"; |
157 | 121 | ||
158 | button@1 { | 122 | button@1 { |
@@ -162,3 +126,18 @@ | |||
162 | }; | 126 | }; |
163 | }; | 127 | }; |
164 | }; | 128 | }; |
129 | |||
130 | &pinctrl { | ||
131 | pinctrl-0 = <&phy_int_pin>; | ||
132 | pinctrl-names = "default"; | ||
133 | |||
134 | keys_pin: keys-pin { | ||
135 | marvell,pins = "mpp33"; | ||
136 | marvell,function = "gpio"; | ||
137 | }; | ||
138 | |||
139 | phy_int_pin: phy-int-pin { | ||
140 | marvell,pins = "mpp32"; | ||
141 | marvell,function = "gpio"; | ||
142 | }; | ||
143 | }; | ||
diff --git a/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts index 469cf7137595..a2ef93c1eb10 100644 --- a/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts +++ b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts | |||
@@ -22,7 +22,7 @@ | |||
22 | 22 | ||
23 | chosen { | 23 | chosen { |
24 | bootargs = "console=ttyS0,115200 earlyprintk"; | 24 | bootargs = "console=ttyS0,115200 earlyprintk"; |
25 | stdout-path = "/soc/internal-regs/serial@12000"; | 25 | stdout-path = &uart0; |
26 | }; | 26 | }; |
27 | 27 | ||
28 | memory { | 28 | memory { |
@@ -51,37 +51,6 @@ | |||
51 | }; | 51 | }; |
52 | 52 | ||
53 | internal-regs { | 53 | internal-regs { |
54 | pinctrl { | ||
55 | poweroff_pin: poweroff-pin { | ||
56 | marvell,pins = "mpp24"; | ||
57 | marvell,function = "gpio"; | ||
58 | }; | ||
59 | |||
60 | power_button_pin: power-button-pin { | ||
61 | marvell,pins = "mpp44"; | ||
62 | marvell,function = "gpio"; | ||
63 | }; | ||
64 | |||
65 | reset_button_pin: reset-button-pin { | ||
66 | marvell,pins = "mpp45"; | ||
67 | marvell,function = "gpio"; | ||
68 | }; | ||
69 | select_button_pin: select-button-pin { | ||
70 | marvell,pins = "mpp41"; | ||
71 | marvell,function = "gpio"; | ||
72 | }; | ||
73 | |||
74 | scroll_button_pin: scroll-button-pin { | ||
75 | marvell,pins = "mpp42"; | ||
76 | marvell,function = "gpio"; | ||
77 | }; | ||
78 | |||
79 | hdd_led_pin: hdd-led-pin { | ||
80 | marvell,pins = "mpp26"; | ||
81 | marvell,function = "gpio"; | ||
82 | }; | ||
83 | }; | ||
84 | |||
85 | serial@12000 { | 54 | serial@12000 { |
86 | status = "okay"; | 55 | status = "okay"; |
87 | }; | 56 | }; |
@@ -97,12 +66,16 @@ | |||
97 | }; | 66 | }; |
98 | 67 | ||
99 | ethernet@70000 { | 68 | ethernet@70000 { |
69 | pinctrl-0 = <&ge0_rgmii_pins>; | ||
70 | pinctrl-names = "default"; | ||
100 | status = "okay"; | 71 | status = "okay"; |
101 | phy = <&phy0>; | 72 | phy = <&phy0>; |
102 | phy-mode = "rgmii-id"; | 73 | phy-mode = "rgmii-id"; |
103 | }; | 74 | }; |
104 | 75 | ||
105 | ethernet@74000 { | 76 | ethernet@74000 { |
77 | pinctrl-0 = <&ge1_rgmii_pins>; | ||
78 | pinctrl-names = "default"; | ||
106 | status = "okay"; | 79 | status = "okay"; |
107 | phy = <&phy1>; | 80 | phy = <&phy1>; |
108 | phy-mode = "rgmii-id"; | 81 | phy-mode = "rgmii-id"; |
@@ -125,6 +98,11 @@ | |||
125 | reg = <0x2e>; | 98 | reg = <0x2e>; |
126 | }; | 99 | }; |
127 | 100 | ||
101 | eeprom@50 { | ||
102 | compatible = "atmel,24c64"; | ||
103 | reg = <0x50>; | ||
104 | }; | ||
105 | |||
128 | pcf8563@51 { | 106 | pcf8563@51 { |
129 | compatible = "nxp,pcf8563"; | 107 | compatible = "nxp,pcf8563"; |
130 | reg = <0x51>; | 108 | reg = <0x51>; |
@@ -226,7 +204,7 @@ | |||
226 | gpio-controller; | 204 | gpio-controller; |
227 | #gpio-cells = <2>; | 205 | #gpio-cells = <2>; |
228 | reg = <0>; | 206 | reg = <0>; |
229 | registers-number = <2>; | 207 | registers-number = <1>; |
230 | spi-max-frequency = <100000>; | 208 | spi-max-frequency = <100000>; |
231 | }; | 209 | }; |
232 | }; | 210 | }; |
@@ -282,3 +260,34 @@ | |||
282 | gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>; | 260 | gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>; |
283 | }; | 261 | }; |
284 | }; | 262 | }; |
263 | |||
264 | &pinctrl { | ||
265 | poweroff_pin: poweroff-pin { | ||
266 | marvell,pins = "mpp24"; | ||
267 | marvell,function = "gpio"; | ||
268 | }; | ||
269 | |||
270 | power_button_pin: power-button-pin { | ||
271 | marvell,pins = "mpp44"; | ||
272 | marvell,function = "gpio"; | ||
273 | }; | ||
274 | |||
275 | reset_button_pin: reset-button-pin { | ||
276 | marvell,pins = "mpp45"; | ||
277 | marvell,function = "gpio"; | ||
278 | }; | ||
279 | select_button_pin: select-button-pin { | ||
280 | marvell,pins = "mpp41"; | ||
281 | marvell,function = "gpio"; | ||
282 | }; | ||
283 | |||
284 | scroll_button_pin: scroll-button-pin { | ||
285 | marvell,pins = "mpp42"; | ||
286 | marvell,function = "gpio"; | ||
287 | }; | ||
288 | |||
289 | hdd_led_pin: hdd-led-pin { | ||
290 | marvell,pins = "mpp26"; | ||
291 | marvell,function = "gpio"; | ||
292 | }; | ||
293 | }; | ||
diff --git a/arch/arm/boot/dts/armada-xp-mv78230.dtsi b/arch/arm/boot/dts/armada-xp-mv78230.dtsi index 2592e1c13560..281ccd24295c 100644 --- a/arch/arm/boot/dts/armada-xp-mv78230.dtsi +++ b/arch/arm/boot/dts/armada-xp-mv78230.dtsi | |||
@@ -167,17 +167,6 @@ | |||
167 | }; | 167 | }; |
168 | 168 | ||
169 | internal-regs { | 169 | internal-regs { |
170 | pinctrl { | ||
171 | compatible = "marvell,mv78230-pinctrl"; | ||
172 | reg = <0x18000 0x38>; | ||
173 | |||
174 | sdio_pins: sdio-pins { | ||
175 | marvell,pins = "mpp30", "mpp31", "mpp32", | ||
176 | "mpp33", "mpp34", "mpp35"; | ||
177 | marvell,function = "sd0"; | ||
178 | }; | ||
179 | }; | ||
180 | |||
181 | gpio0: gpio@18100 { | 170 | gpio0: gpio@18100 { |
182 | compatible = "marvell,orion-gpio"; | 171 | compatible = "marvell,orion-gpio"; |
183 | reg = <0x18100 0x40>; | 172 | reg = <0x18100 0x40>; |
@@ -202,3 +191,7 @@ | |||
202 | }; | 191 | }; |
203 | }; | 192 | }; |
204 | }; | 193 | }; |
194 | |||
195 | &pinctrl { | ||
196 | compatible = "marvell,mv78230-pinctrl"; | ||
197 | }; | ||
diff --git a/arch/arm/boot/dts/armada-xp-mv78260.dtsi b/arch/arm/boot/dts/armada-xp-mv78260.dtsi index 480e237a870f..d7a8d0b0f385 100644 --- a/arch/arm/boot/dts/armada-xp-mv78260.dtsi +++ b/arch/arm/boot/dts/armada-xp-mv78260.dtsi | |||
@@ -251,17 +251,6 @@ | |||
251 | }; | 251 | }; |
252 | 252 | ||
253 | internal-regs { | 253 | internal-regs { |
254 | pinctrl { | ||
255 | compatible = "marvell,mv78260-pinctrl"; | ||
256 | reg = <0x18000 0x38>; | ||
257 | |||
258 | sdio_pins: sdio-pins { | ||
259 | marvell,pins = "mpp30", "mpp31", "mpp32", | ||
260 | "mpp33", "mpp34", "mpp35"; | ||
261 | marvell,function = "sd0"; | ||
262 | }; | ||
263 | }; | ||
264 | |||
265 | gpio0: gpio@18100 { | 254 | gpio0: gpio@18100 { |
266 | compatible = "marvell,orion-gpio"; | 255 | compatible = "marvell,orion-gpio"; |
267 | reg = <0x18100 0x40>; | 256 | reg = <0x18100 0x40>; |
@@ -305,3 +294,7 @@ | |||
305 | }; | 294 | }; |
306 | }; | 295 | }; |
307 | }; | 296 | }; |
297 | |||
298 | &pinctrl { | ||
299 | compatible = "marvell,mv78260-pinctrl"; | ||
300 | }; | ||
diff --git a/arch/arm/boot/dts/armada-xp-mv78460.dtsi b/arch/arm/boot/dts/armada-xp-mv78460.dtsi index 2c7b1fef4703..9c40c130d11a 100644 --- a/arch/arm/boot/dts/armada-xp-mv78460.dtsi +++ b/arch/arm/boot/dts/armada-xp-mv78460.dtsi | |||
@@ -289,17 +289,6 @@ | |||
289 | }; | 289 | }; |
290 | 290 | ||
291 | internal-regs { | 291 | internal-regs { |
292 | pinctrl { | ||
293 | compatible = "marvell,mv78460-pinctrl"; | ||
294 | reg = <0x18000 0x38>; | ||
295 | |||
296 | sdio_pins: sdio-pins { | ||
297 | marvell,pins = "mpp30", "mpp31", "mpp32", | ||
298 | "mpp33", "mpp34", "mpp35"; | ||
299 | marvell,function = "sd0"; | ||
300 | }; | ||
301 | }; | ||
302 | |||
303 | gpio0: gpio@18100 { | 292 | gpio0: gpio@18100 { |
304 | compatible = "marvell,orion-gpio"; | 293 | compatible = "marvell,orion-gpio"; |
305 | reg = <0x18100 0x40>; | 294 | reg = <0x18100 0x40>; |
@@ -343,3 +332,7 @@ | |||
343 | }; | 332 | }; |
344 | }; | 333 | }; |
345 | }; | 334 | }; |
335 | |||
336 | &pinctrl { | ||
337 | compatible = "marvell,mv78460-pinctrl"; | ||
338 | }; | ||
diff --git a/arch/arm/boot/dts/armada-xp-netgear-rn2120.dts b/arch/arm/boot/dts/armada-xp-netgear-rn2120.dts index 7d8f32873e82..d81430aa4ab3 100644 --- a/arch/arm/boot/dts/armada-xp-netgear-rn2120.dts +++ b/arch/arm/boot/dts/armada-xp-netgear-rn2120.dts | |||
@@ -55,86 +55,10 @@ | |||
55 | }; | 55 | }; |
56 | 56 | ||
57 | internal-regs { | 57 | internal-regs { |
58 | pinctrl { | 58 | /* Two rear eSATA ports */ |
59 | poweroff: poweroff { | 59 | sata@a0000 { |
60 | marvell,pins = "mpp42"; | 60 | nr-ports = <2>; |
61 | marvell,function = "gpio"; | 61 | status = "okay"; |
62 | }; | ||
63 | |||
64 | power_button_pin: power-button-pin { | ||
65 | marvell,pins = "mpp27"; | ||
66 | marvell,function = "gpio"; | ||
67 | }; | ||
68 | |||
69 | reset_button_pin: reset-button-pin { | ||
70 | marvell,pins = "mpp41"; | ||
71 | marvell,function = "gpio"; | ||
72 | }; | ||
73 | |||
74 | sata1_led_pin: sata1-led-pin { | ||
75 | marvell,pins = "mpp31"; | ||
76 | marvell,function = "gpio"; | ||
77 | }; | ||
78 | |||
79 | sata2_led_pin: sata2-led-pin { | ||
80 | marvell,pins = "mpp40"; | ||
81 | marvell,function = "gpio"; | ||
82 | }; | ||
83 | |||
84 | sata3_led_pin: sata3-led-pin { | ||
85 | marvell,pins = "mpp44"; | ||
86 | marvell,function = "gpio"; | ||
87 | }; | ||
88 | |||
89 | sata4_led_pin: sata4-led-pin { | ||
90 | marvell,pins = "mpp47"; | ||
91 | marvell,function = "gpio"; | ||
92 | }; | ||
93 | |||
94 | sata1_power_pin: sata1-power-pin { | ||
95 | marvell,pins = "mpp24"; | ||
96 | marvell,function = "gpio"; | ||
97 | }; | ||
98 | |||
99 | sata2_power_pin: sata2-power-pin { | ||
100 | marvell,pins = "mpp25"; | ||
101 | marvell,function = "gpio"; | ||
102 | }; | ||
103 | |||
104 | sata3_power_pin: sata3-power-pin { | ||
105 | marvell,pins = "mpp26"; | ||
106 | marvell,function = "gpio"; | ||
107 | }; | ||
108 | |||
109 | sata4_power_pin: sata4-power-pin { | ||
110 | marvell,pins = "mpp28"; | ||
111 | marvell,function = "gpio"; | ||
112 | }; | ||
113 | |||
114 | sata1_pres_pin: sata1-pres-pin { | ||
115 | marvell,pins = "mpp32"; | ||
116 | marvell,function = "gpio"; | ||
117 | }; | ||
118 | |||
119 | sata2_pres_pin: sata2-pres-pin { | ||
120 | marvell,pins = "mpp33"; | ||
121 | marvell,function = "gpio"; | ||
122 | }; | ||
123 | |||
124 | sata3_pres_pin: sata3-pres-pin { | ||
125 | marvell,pins = "mpp34"; | ||
126 | marvell,function = "gpio"; | ||
127 | }; | ||
128 | |||
129 | sata4_pres_pin: sata4-pres-pin { | ||
130 | marvell,pins = "mpp35"; | ||
131 | marvell,function = "gpio"; | ||
132 | }; | ||
133 | |||
134 | err_led_pin: err-led-pin { | ||
135 | marvell,pins = "mpp45"; | ||
136 | marvell,function = "gpio"; | ||
137 | }; | ||
138 | }; | 62 | }; |
139 | 63 | ||
140 | serial@12000 { | 64 | serial@12000 { |
@@ -328,3 +252,85 @@ | |||
328 | gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; | 252 | gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; |
329 | }; | 253 | }; |
330 | }; | 254 | }; |
255 | |||
256 | &pinctrl { | ||
257 | poweroff: poweroff { | ||
258 | marvell,pins = "mpp42"; | ||
259 | marvell,function = "gpio"; | ||
260 | }; | ||
261 | |||
262 | power_button_pin: power-button-pin { | ||
263 | marvell,pins = "mpp27"; | ||
264 | marvell,function = "gpio"; | ||
265 | }; | ||
266 | |||
267 | reset_button_pin: reset-button-pin { | ||
268 | marvell,pins = "mpp41"; | ||
269 | marvell,function = "gpio"; | ||
270 | }; | ||
271 | |||
272 | sata1_led_pin: sata1-led-pin { | ||
273 | marvell,pins = "mpp31"; | ||
274 | marvell,function = "gpio"; | ||
275 | }; | ||
276 | |||
277 | sata2_led_pin: sata2-led-pin { | ||
278 | marvell,pins = "mpp40"; | ||
279 | marvell,function = "gpio"; | ||
280 | }; | ||
281 | |||
282 | sata3_led_pin: sata3-led-pin { | ||
283 | marvell,pins = "mpp44"; | ||
284 | marvell,function = "gpio"; | ||
285 | }; | ||
286 | |||
287 | sata4_led_pin: sata4-led-pin { | ||
288 | marvell,pins = "mpp47"; | ||
289 | marvell,function = "gpio"; | ||
290 | }; | ||
291 | |||
292 | sata1_power_pin: sata1-power-pin { | ||
293 | marvell,pins = "mpp24"; | ||
294 | marvell,function = "gpio"; | ||
295 | }; | ||
296 | |||
297 | sata2_power_pin: sata2-power-pin { | ||
298 | marvell,pins = "mpp25"; | ||
299 | marvell,function = "gpio"; | ||
300 | }; | ||
301 | |||
302 | sata3_power_pin: sata3-power-pin { | ||
303 | marvell,pins = "mpp26"; | ||
304 | marvell,function = "gpio"; | ||
305 | }; | ||
306 | |||
307 | sata4_power_pin: sata4-power-pin { | ||
308 | marvell,pins = "mpp28"; | ||
309 | marvell,function = "gpio"; | ||
310 | }; | ||
311 | |||
312 | sata1_pres_pin: sata1-pres-pin { | ||
313 | marvell,pins = "mpp32"; | ||
314 | marvell,function = "gpio"; | ||
315 | }; | ||
316 | |||
317 | sata2_pres_pin: sata2-pres-pin { | ||
318 | marvell,pins = "mpp33"; | ||
319 | marvell,function = "gpio"; | ||
320 | }; | ||
321 | |||
322 | sata3_pres_pin: sata3-pres-pin { | ||
323 | marvell,pins = "mpp34"; | ||
324 | marvell,function = "gpio"; | ||
325 | }; | ||
326 | |||
327 | sata4_pres_pin: sata4-pres-pin { | ||
328 | marvell,pins = "mpp35"; | ||
329 | marvell,function = "gpio"; | ||
330 | }; | ||
331 | |||
332 | err_led_pin: err-led-pin { | ||
333 | marvell,pins = "mpp45"; | ||
334 | marvell,function = "gpio"; | ||
335 | }; | ||
336 | }; | ||
diff --git a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts index 4e5a59ee1501..6f6b0916df48 100644 --- a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts +++ b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts | |||
@@ -77,12 +77,7 @@ | |||
77 | serial@12100 { | 77 | serial@12100 { |
78 | status = "okay"; | 78 | status = "okay"; |
79 | }; | 79 | }; |
80 | pinctrl { | 80 | |
81 | led_pins: led-pins-0 { | ||
82 | marvell,pins = "mpp49", "mpp51", "mpp53"; | ||
83 | marvell,function = "gpio"; | ||
84 | }; | ||
85 | }; | ||
86 | leds { | 81 | leds { |
87 | compatible = "gpio-leds"; | 82 | compatible = "gpio-leds"; |
88 | pinctrl-names = "default"; | 83 | pinctrl-names = "default"; |
@@ -187,3 +182,10 @@ | |||
187 | }; | 182 | }; |
188 | }; | 183 | }; |
189 | }; | 184 | }; |
185 | |||
186 | &pinctrl { | ||
187 | led_pins: led-pins-0 { | ||
188 | marvell,pins = "mpp49", "mpp51", "mpp53"; | ||
189 | marvell,function = "gpio"; | ||
190 | }; | ||
191 | }; | ||
diff --git a/arch/arm/boot/dts/armada-xp-synology-ds414.dts b/arch/arm/boot/dts/armada-xp-synology-ds414.dts new file mode 100644 index 000000000000..749fdba5a642 --- /dev/null +++ b/arch/arm/boot/dts/armada-xp-synology-ds414.dts | |||
@@ -0,0 +1,330 @@ | |||
1 | /* | ||
2 | * Device Tree file for Synology DS414 | ||
3 | * | ||
4 | * Copyright (C) 2014, Arnaud EBALARD <arno@natisbad.org> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * Note: this Device Tree assumes that the bootloader has remapped the | ||
12 | * internal registers to 0xf1000000 (instead of the old 0xd0000000). | ||
13 | * The 0xf1000000 is the default used by the recent, DT-capable, U-Boot | ||
14 | * bootloaders provided by Marvell. It is used in recent versions of | ||
15 | * DSM software provided by Synology. Nonetheless, some earlier boards | ||
16 | * were delivered with an older version of u-boot that left internal | ||
17 | * registers mapped at 0xd0000000. If you have such a device you will | ||
18 | * not be able to directly boot a kernel based on this Device Tree. In | ||
19 | * that case, the preferred solution is to update your bootloader (e.g. | ||
20 | * by upgrading to latest version of DSM, or building a new one and | ||
21 | * installing it from u-boot prompt) or adjust the Devive Tree | ||
22 | * (s/0xf1000000/0xd0000000/ in 'ranges' below). | ||
23 | */ | ||
24 | |||
25 | /dts-v1/; | ||
26 | |||
27 | #include <dt-bindings/input/input.h> | ||
28 | #include <dt-bindings/gpio/gpio.h> | ||
29 | #include "armada-xp-mv78230.dtsi" | ||
30 | |||
31 | / { | ||
32 | model = "Synology DS414"; | ||
33 | compatible = "synology,ds414", "marvell,armadaxp-mv78230", | ||
34 | "marvell,armadaxp", "marvell,armada-370-xp"; | ||
35 | |||
36 | chosen { | ||
37 | bootargs = "console=ttyS0,115200 earlyprintk"; | ||
38 | stdout-path = &uart0; | ||
39 | }; | ||
40 | |||
41 | memory { | ||
42 | device_type = "memory"; | ||
43 | reg = <0 0x00000000 0 0x40000000>; /* 1GB */ | ||
44 | }; | ||
45 | |||
46 | soc { | ||
47 | ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xf1000000 0x100000 | ||
48 | MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000>; | ||
49 | |||
50 | pcie-controller { | ||
51 | status = "okay"; | ||
52 | |||
53 | /* | ||
54 | * Connected to Marvell 88SX7042 SATA-II controller | ||
55 | * handling the four disks. | ||
56 | */ | ||
57 | pcie@1,0 { | ||
58 | /* Port 0, Lane 0 */ | ||
59 | status = "okay"; | ||
60 | }; | ||
61 | |||
62 | /* | ||
63 | * Connected to EtronTech EJ168A XHCI controller | ||
64 | * providing the two rear USB 3.0 ports. | ||
65 | */ | ||
66 | pcie@5,0 { | ||
67 | /* Port 1, Lane 0 */ | ||
68 | status = "okay"; | ||
69 | }; | ||
70 | }; | ||
71 | |||
72 | internal-regs { | ||
73 | |||
74 | /* RTC is provided by Seiko S-35390A below */ | ||
75 | rtc@10300 { | ||
76 | status = "disabled"; | ||
77 | }; | ||
78 | |||
79 | spi0: spi@10600 { | ||
80 | status = "okay"; | ||
81 | |||
82 | spi-flash@0 { | ||
83 | #address-cells = <1>; | ||
84 | #size-cells = <1>; | ||
85 | compatible = "micron,n25q064"; | ||
86 | reg = <0>; /* Chip select 0 */ | ||
87 | spi-max-frequency = <20000000>; | ||
88 | |||
89 | /* | ||
90 | * Warning! | ||
91 | * | ||
92 | * Synology u-boot uses its compiled-in environment | ||
93 | * and it seems Synology did not care to change u-boot | ||
94 | * default configuration in order to allow saving a | ||
95 | * modified environment at a sensible location. So, | ||
96 | * if you do a 'saveenv' under u-boot, your modified | ||
97 | * environment will be saved at 1MB after the start | ||
98 | * of the flash, i.e. in the middle of the uImage. | ||
99 | * For that reason, it is strongly advised not to | ||
100 | * change the default environment, unless you know | ||
101 | * what you are doing. | ||
102 | */ | ||
103 | partition@00000000 { /* u-boot */ | ||
104 | label = "RedBoot"; | ||
105 | reg = <0x00000000 0x000d0000>; /* 832KB */ | ||
106 | }; | ||
107 | |||
108 | partition@000c0000 { /* uImage */ | ||
109 | label = "zImage"; | ||
110 | reg = <0x000d0000 0x002d0000>; /* 2880KB */ | ||
111 | }; | ||
112 | |||
113 | partition@003a0000 { /* uInitramfs */ | ||
114 | label = "rd.gz"; | ||
115 | reg = <0x003a0000 0x00430000>; /* 4250KB */ | ||
116 | }; | ||
117 | |||
118 | partition@007d0000 { /* MAC address and serial number */ | ||
119 | label = "vendor"; | ||
120 | reg = <0x007d0000 0x00010000>; /* 64KB */ | ||
121 | }; | ||
122 | |||
123 | partition@007e0000 { | ||
124 | label = "RedBoot config"; | ||
125 | reg = <0x007e0000 0x00010000>; /* 64KB */ | ||
126 | }; | ||
127 | |||
128 | partition@007f0000 { | ||
129 | label = "FIS directory"; | ||
130 | reg = <0x007f0000 0x00010000>; /* 64KB */ | ||
131 | }; | ||
132 | }; | ||
133 | }; | ||
134 | |||
135 | i2c@11000 { | ||
136 | clock-frequency = <400000>; | ||
137 | status = "okay"; | ||
138 | |||
139 | s35390a: s35390a@30 { | ||
140 | compatible = "sii,s35390a"; | ||
141 | reg = <0x30>; | ||
142 | }; | ||
143 | }; | ||
144 | |||
145 | /* Connected to a header on device's PCB. This | ||
146 | * provides the main console for the device. | ||
147 | * | ||
148 | * Warning: the device may not boot with a 3.3V | ||
149 | * USB-serial converter connected when the power | ||
150 | * button is pressed. The converter needs to be | ||
151 | * connected a few seconds after pressing the | ||
152 | * power button. This is possibly due to UART0_TXD | ||
153 | * pin being sampled at reset (bit 0 of SAR). | ||
154 | */ | ||
155 | serial@12000 { | ||
156 | status = "okay"; | ||
157 | }; | ||
158 | |||
159 | /* Connected to a Microchip PIC16F883 for power control */ | ||
160 | serial@12100 { | ||
161 | status = "okay"; | ||
162 | }; | ||
163 | |||
164 | poweroff@12100 { | ||
165 | compatible = "synology,power-off"; | ||
166 | reg = <0x12100 0x100>; | ||
167 | clocks = <&coreclk 0>; | ||
168 | }; | ||
169 | |||
170 | /* Front USB 2.0 port */ | ||
171 | usb@50000 { | ||
172 | status = "okay"; | ||
173 | }; | ||
174 | |||
175 | mdio { | ||
176 | phy0: ethernet-phy@0 { /* Marvell 88E1512 */ | ||
177 | reg = <0>; | ||
178 | }; | ||
179 | |||
180 | phy1: ethernet-phy@1 { /* Marvell 88E1512 */ | ||
181 | reg = <1>; | ||
182 | }; | ||
183 | }; | ||
184 | |||
185 | ethernet@70000 { | ||
186 | status = "okay"; | ||
187 | pinctrl-0 = <&ge0_rgmii_pins>; | ||
188 | pinctrl-names = "default"; | ||
189 | phy = <&phy1>; | ||
190 | phy-mode = "rgmii-id"; | ||
191 | }; | ||
192 | |||
193 | ethernet@74000 { | ||
194 | pinctrl-0 = <&ge1_rgmii_pins>; | ||
195 | pinctrl-names = "default"; | ||
196 | status = "okay"; | ||
197 | phy = <&phy0>; | ||
198 | phy-mode = "rgmii-id"; | ||
199 | }; | ||
200 | }; | ||
201 | }; | ||
202 | |||
203 | regulators { | ||
204 | compatible = "simple-bus"; | ||
205 | #address-cells = <1>; | ||
206 | #size-cells = <0>; | ||
207 | pinctrl-0 = <&sata1_pwr_pin &sata2_pwr_pin | ||
208 | &sata3_pwr_pin &sata4_pwr_pin>; | ||
209 | pinctrl-names = "default"; | ||
210 | |||
211 | sata1_regulator: sata1-regulator { | ||
212 | compatible = "regulator-fixed"; | ||
213 | reg = <1>; | ||
214 | regulator-name = "SATA1 Power"; | ||
215 | regulator-min-microvolt = <5000000>; | ||
216 | regulator-max-microvolt = <5000000>; | ||
217 | startup-delay-us = <2000000>; | ||
218 | enable-active-high; | ||
219 | regulator-always-on; | ||
220 | regulator-boot-on; | ||
221 | gpio = <&gpio1 10 GPIO_ACTIVE_HIGH>; | ||
222 | }; | ||
223 | |||
224 | sata2_regulator: sata2-regulator { | ||
225 | compatible = "regulator-fixed"; | ||
226 | reg = <2>; | ||
227 | regulator-name = "SATA2 Power"; | ||
228 | regulator-min-microvolt = <5000000>; | ||
229 | regulator-max-microvolt = <5000000>; | ||
230 | startup-delay-us = <4000000>; | ||
231 | enable-active-high; | ||
232 | regulator-always-on; | ||
233 | regulator-boot-on; | ||
234 | gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>; | ||
235 | }; | ||
236 | |||
237 | sata3_regulator: sata3-regulator { | ||
238 | compatible = "regulator-fixed"; | ||
239 | reg = <3>; | ||
240 | regulator-name = "SATA3 Power"; | ||
241 | regulator-min-microvolt = <5000000>; | ||
242 | regulator-max-microvolt = <5000000>; | ||
243 | startup-delay-us = <6000000>; | ||
244 | enable-active-high; | ||
245 | regulator-always-on; | ||
246 | regulator-boot-on; | ||
247 | gpio = <&gpio1 13 GPIO_ACTIVE_HIGH>; | ||
248 | }; | ||
249 | |||
250 | sata4_regulator: sata4-regulator { | ||
251 | compatible = "regulator-fixed"; | ||
252 | reg = <4>; | ||
253 | regulator-name = "SATA4 Power"; | ||
254 | regulator-min-microvolt = <5000000>; | ||
255 | regulator-max-microvolt = <5000000>; | ||
256 | startup-delay-us = <8000000>; | ||
257 | enable-active-high; | ||
258 | regulator-always-on; | ||
259 | regulator-boot-on; | ||
260 | gpio = <&gpio1 14 GPIO_ACTIVE_HIGH>; | ||
261 | }; | ||
262 | }; | ||
263 | }; | ||
264 | |||
265 | &pinctrl { | ||
266 | sata1_pwr_pin: sata1-pwr-pin { | ||
267 | marvell,pins = "mpp42"; | ||
268 | marvell,function = "gpio"; | ||
269 | }; | ||
270 | |||
271 | sata2_pwr_pin: sata2-pwr-pin { | ||
272 | marvell,pins = "mpp44"; | ||
273 | marvell,function = "gpio"; | ||
274 | }; | ||
275 | |||
276 | sata3_pwr_pin: sata3-pwr-pin { | ||
277 | marvell,pins = "mpp45"; | ||
278 | marvell,function = "gpio"; | ||
279 | }; | ||
280 | |||
281 | sata4_pwr_pin: sata4-pwr-pin { | ||
282 | marvell,pins = "mpp46"; | ||
283 | marvell,function = "gpio"; | ||
284 | }; | ||
285 | |||
286 | sata1_pres_pin: sata1-pres-pin { | ||
287 | marvell,pins = "mpp34"; | ||
288 | marvell,function = "gpio"; | ||
289 | }; | ||
290 | |||
291 | sata2_pres_pin: sata2-pres-pin { | ||
292 | marvell,pins = "mpp35"; | ||
293 | marvell,function = "gpio"; | ||
294 | }; | ||
295 | |||
296 | sata3_pres_pin: sata3-pres-pin { | ||
297 | marvell,pins = "mpp40"; | ||
298 | marvell,function = "gpio"; | ||
299 | }; | ||
300 | |||
301 | sata4_pres_pin: sata4-pres-pin { | ||
302 | marvell,pins = "mpp41"; | ||
303 | marvell,function = "gpio"; | ||
304 | }; | ||
305 | |||
306 | syno_id_bit0_pin: syno-id-bit0-pin { | ||
307 | marvell,pins = "mpp26"; | ||
308 | marvell,function = "gpio"; | ||
309 | }; | ||
310 | |||
311 | syno_id_bit1_pin: syno-id-bit1-pin { | ||
312 | marvell,pins = "mpp28"; | ||
313 | marvell,function = "gpio"; | ||
314 | }; | ||
315 | |||
316 | syno_id_bit2_pin: syno-id-bit2-pin { | ||
317 | marvell,pins = "mpp29"; | ||
318 | marvell,function = "gpio"; | ||
319 | }; | ||
320 | |||
321 | fan1_alarm_pin: fan1-alarm-pin { | ||
322 | marvell,pins = "mpp33"; | ||
323 | marvell,function = "gpio"; | ||
324 | }; | ||
325 | |||
326 | fan2_alarm_pin: fan2-alarm-pin { | ||
327 | marvell,pins = "mpp32"; | ||
328 | marvell,function = "gpio"; | ||
329 | }; | ||
330 | }; | ||
diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi index 2be244a96edf..62c3ba958b39 100644 --- a/arch/arm/boot/dts/armada-xp.dtsi +++ b/arch/arm/boot/dts/armada-xp.dtsi | |||
@@ -44,9 +44,15 @@ | |||
44 | compatible = "marvell,aurora-system-cache"; | 44 | compatible = "marvell,aurora-system-cache"; |
45 | reg = <0x08000 0x1000>; | 45 | reg = <0x08000 0x1000>; |
46 | cache-id-part = <0x100>; | 46 | cache-id-part = <0x100>; |
47 | cache-unified; | ||
47 | wt-override; | 48 | wt-override; |
48 | }; | 49 | }; |
49 | 50 | ||
51 | spi0: spi@10600 { | ||
52 | pinctrl-0 = <&spi0_pins>; | ||
53 | pinctrl-names = "default"; | ||
54 | }; | ||
55 | |||
50 | i2c0: i2c@11000 { | 56 | i2c0: i2c@11000 { |
51 | compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c"; | 57 | compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c"; |
52 | reg = <0x11000 0x100>; | 58 | reg = <0x11000 0x100>; |
@@ -57,8 +63,10 @@ | |||
57 | reg = <0x11100 0x100>; | 63 | reg = <0x11100 0x100>; |
58 | }; | 64 | }; |
59 | 65 | ||
60 | serial@12200 { | 66 | uart2: serial@12200 { |
61 | compatible = "snps,dw-apb-uart"; | 67 | compatible = "snps,dw-apb-uart"; |
68 | pinctrl-0 = <&uart2_pins>; | ||
69 | pinctrl-names = "default"; | ||
62 | reg = <0x12200 0x100>; | 70 | reg = <0x12200 0x100>; |
63 | reg-shift = <2>; | 71 | reg-shift = <2>; |
64 | interrupts = <43>; | 72 | interrupts = <43>; |
@@ -66,8 +74,11 @@ | |||
66 | clocks = <&coreclk 0>; | 74 | clocks = <&coreclk 0>; |
67 | status = "disabled"; | 75 | status = "disabled"; |
68 | }; | 76 | }; |
69 | serial@12300 { | 77 | |
78 | uart3: serial@12300 { | ||
70 | compatible = "snps,dw-apb-uart"; | 79 | compatible = "snps,dw-apb-uart"; |
80 | pinctrl-0 = <&uart3_pins>; | ||
81 | pinctrl-names = "default"; | ||
71 | reg = <0x12300 0x100>; | 82 | reg = <0x12300 0x100>; |
72 | reg-shift = <2>; | 83 | reg-shift = <2>; |
73 | interrupts = <44>; | 84 | interrupts = <44>; |
@@ -204,3 +215,54 @@ | |||
204 | }; | 215 | }; |
205 | }; | 216 | }; |
206 | }; | 217 | }; |
218 | |||
219 | &pinctrl { | ||
220 | ge0_gmii_pins: ge0-gmii-pins { | ||
221 | marvell,pins = | ||
222 | "mpp0", "mpp1", "mpp2", "mpp3", | ||
223 | "mpp4", "mpp5", "mpp6", "mpp7", | ||
224 | "mpp8", "mpp9", "mpp10", "mpp11", | ||
225 | "mpp12", "mpp13", "mpp14", "mpp15", | ||
226 | "mpp16", "mpp17", "mpp18", "mpp19", | ||
227 | "mpp20", "mpp21", "mpp22", "mpp23"; | ||
228 | marvell,function = "ge0"; | ||
229 | }; | ||
230 | |||
231 | ge0_rgmii_pins: ge0-rgmii-pins { | ||
232 | marvell,pins = | ||
233 | "mpp0", "mpp1", "mpp2", "mpp3", | ||
234 | "mpp4", "mpp5", "mpp6", "mpp7", | ||
235 | "mpp8", "mpp9", "mpp10", "mpp11"; | ||
236 | marvell,function = "ge0"; | ||
237 | }; | ||
238 | |||
239 | ge1_rgmii_pins: ge1-rgmii-pins { | ||
240 | marvell,pins = | ||
241 | "mpp12", "mpp13", "mpp14", "mpp15", | ||
242 | "mpp16", "mpp17", "mpp18", "mpp19", | ||
243 | "mpp20", "mpp21", "mpp22", "mpp23"; | ||
244 | marvell,function = "ge1"; | ||
245 | }; | ||
246 | |||
247 | sdio_pins: sdio-pins { | ||
248 | marvell,pins = "mpp30", "mpp31", "mpp32", | ||
249 | "mpp33", "mpp34", "mpp35"; | ||
250 | marvell,function = "sd0"; | ||
251 | }; | ||
252 | |||
253 | spi0_pins: spi0-pins { | ||
254 | marvell,pins = "mpp36", "mpp37", | ||
255 | "mpp38", "mpp39"; | ||
256 | marvell,function = "spi"; | ||
257 | }; | ||
258 | |||
259 | uart2_pins: uart2-pins { | ||
260 | marvell,pins = "mpp42", "mpp43"; | ||
261 | marvell,function = "uart2"; | ||
262 | }; | ||
263 | |||
264 | uart3_pins: uart3-pins { | ||
265 | marvell,pins = "mpp44", "mpp45"; | ||
266 | marvell,function = "uart3"; | ||
267 | }; | ||
268 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9263.dtsi b/arch/arm/boot/dts/at91sam9263.dtsi index 51416c7d0625..653e4395b7cb 100644 --- a/arch/arm/boot/dts/at91sam9263.dtsi +++ b/arch/arm/boot/dts/at91sam9263.dtsi | |||
@@ -677,6 +677,14 @@ | |||
677 | }; | 677 | }; |
678 | }; | 678 | }; |
679 | 679 | ||
680 | can { | ||
681 | pinctrl_can_rx_tx: can_rx_tx { | ||
682 | atmel,pins = | ||
683 | <AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* CANRX, conflicts with IRQ0 */ | ||
684 | AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* CANTX, conflicts with PCK0 */ | ||
685 | }; | ||
686 | }; | ||
687 | |||
680 | pioA: gpio@fffff200 { | 688 | pioA: gpio@fffff200 { |
681 | compatible = "atmel,at91rm9200-gpio"; | 689 | compatible = "atmel,at91rm9200-gpio"; |
682 | reg = <0xfffff200 0x200>; | 690 | reg = <0xfffff200 0x200>; |
@@ -905,6 +913,17 @@ | |||
905 | clock-names = "pwm_clk"; | 913 | clock-names = "pwm_clk"; |
906 | status = "disabled"; | 914 | status = "disabled"; |
907 | }; | 915 | }; |
916 | |||
917 | can: can@fffac000 { | ||
918 | compatible = "atmel,at91sam9263-can"; | ||
919 | reg = <0xfffac000 0x300>; | ||
920 | interrupts = <12 IRQ_TYPE_LEVEL_HIGH 3>; | ||
921 | pinctrl-names = "default"; | ||
922 | pinctrl-0 = <&pinctrl_can_rx_tx>; | ||
923 | clocks = <&can_clk>; | ||
924 | clock-names = "can_clk"; | ||
925 | status = "disabled"; | ||
926 | }; | ||
908 | }; | 927 | }; |
909 | 928 | ||
910 | fb0: fb@0x00700000 { | 929 | fb0: fb@0x00700000 { |
diff --git a/arch/arm/boot/dts/at91sam9x25.dtsi b/arch/arm/boot/dts/at91sam9x25.dtsi index c2554219f7a4..3c5fa3388997 100644 --- a/arch/arm/boot/dts/at91sam9x25.dtsi +++ b/arch/arm/boot/dts/at91sam9x25.dtsi | |||
@@ -10,6 +10,7 @@ | |||
10 | #include "at91sam9x5_usart3.dtsi" | 10 | #include "at91sam9x5_usart3.dtsi" |
11 | #include "at91sam9x5_macb0.dtsi" | 11 | #include "at91sam9x5_macb0.dtsi" |
12 | #include "at91sam9x5_macb1.dtsi" | 12 | #include "at91sam9x5_macb1.dtsi" |
13 | #include "at91sam9x5_can.dtsi" | ||
13 | 14 | ||
14 | / { | 15 | / { |
15 | model = "Atmel AT91SAM9X25 SoC"; | 16 | model = "Atmel AT91SAM9X25 SoC"; |
diff --git a/arch/arm/boot/dts/at91sam9x35.dtsi b/arch/arm/boot/dts/at91sam9x35.dtsi index 8eac66ce0ab7..499cdc81f4c0 100644 --- a/arch/arm/boot/dts/at91sam9x35.dtsi +++ b/arch/arm/boot/dts/at91sam9x35.dtsi | |||
@@ -8,6 +8,7 @@ | |||
8 | 8 | ||
9 | #include "at91sam9x5.dtsi" | 9 | #include "at91sam9x5.dtsi" |
10 | #include "at91sam9x5_macb0.dtsi" | 10 | #include "at91sam9x5_macb0.dtsi" |
11 | #include "at91sam9x5_can.dtsi" | ||
11 | 12 | ||
12 | / { | 13 | / { |
13 | model = "Atmel AT91SAM9X35 SoC"; | 14 | model = "Atmel AT91SAM9X35 SoC"; |
diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi b/arch/arm/boot/dts/at91sam9x5.dtsi index 726274f7959b..bbb3ba65165f 100644 --- a/arch/arm/boot/dts/at91sam9x5.dtsi +++ b/arch/arm/boot/dts/at91sam9x5.dtsi | |||
@@ -860,6 +860,9 @@ | |||
860 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; | 860 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; |
861 | pinctrl-names = "default"; | 861 | pinctrl-names = "default"; |
862 | pinctrl-0 = <&pinctrl_dbgu>; | 862 | pinctrl-0 = <&pinctrl_dbgu>; |
863 | dmas = <&dma1 1 AT91_DMA_CFG_PER_ID(8)>, | ||
864 | <&dma1 1 (AT91_DMA_CFG_PER_ID(9) | AT91_DMA_CFG_FIFOCFG_ASAP)>; | ||
865 | dma-names = "tx", "rx"; | ||
863 | clocks = <&mck>; | 866 | clocks = <&mck>; |
864 | clock-names = "usart"; | 867 | clock-names = "usart"; |
865 | status = "disabled"; | 868 | status = "disabled"; |
@@ -871,6 +874,9 @@ | |||
871 | interrupts = <5 IRQ_TYPE_LEVEL_HIGH 5>; | 874 | interrupts = <5 IRQ_TYPE_LEVEL_HIGH 5>; |
872 | pinctrl-names = "default"; | 875 | pinctrl-names = "default"; |
873 | pinctrl-0 = <&pinctrl_usart0>; | 876 | pinctrl-0 = <&pinctrl_usart0>; |
877 | dmas = <&dma0 1 AT91_DMA_CFG_PER_ID(3)>, | ||
878 | <&dma0 1 (AT91_DMA_CFG_PER_ID(4) | AT91_DMA_CFG_FIFOCFG_ASAP)>; | ||
879 | dma-names = "tx", "rx"; | ||
874 | clocks = <&usart0_clk>; | 880 | clocks = <&usart0_clk>; |
875 | clock-names = "usart"; | 881 | clock-names = "usart"; |
876 | status = "disabled"; | 882 | status = "disabled"; |
@@ -882,6 +888,9 @@ | |||
882 | interrupts = <6 IRQ_TYPE_LEVEL_HIGH 5>; | 888 | interrupts = <6 IRQ_TYPE_LEVEL_HIGH 5>; |
883 | pinctrl-names = "default"; | 889 | pinctrl-names = "default"; |
884 | pinctrl-0 = <&pinctrl_usart1>; | 890 | pinctrl-0 = <&pinctrl_usart1>; |
891 | dmas = <&dma0 1 AT91_DMA_CFG_PER_ID(5)>, | ||
892 | <&dma0 1 (AT91_DMA_CFG_PER_ID(6) | AT91_DMA_CFG_FIFOCFG_ASAP)>; | ||
893 | dma-names = "tx", "rx"; | ||
885 | clocks = <&usart1_clk>; | 894 | clocks = <&usart1_clk>; |
886 | clock-names = "usart"; | 895 | clock-names = "usart"; |
887 | status = "disabled"; | 896 | status = "disabled"; |
@@ -893,6 +902,9 @@ | |||
893 | interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>; | 902 | interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>; |
894 | pinctrl-names = "default"; | 903 | pinctrl-names = "default"; |
895 | pinctrl-0 = <&pinctrl_usart2>; | 904 | pinctrl-0 = <&pinctrl_usart2>; |
905 | dmas = <&dma1 1 AT91_DMA_CFG_PER_ID(12)>, | ||
906 | <&dma1 1 (AT91_DMA_CFG_PER_ID(13) | AT91_DMA_CFG_FIFOCFG_ASAP)>; | ||
907 | dma-names = "tx", "rx"; | ||
896 | clocks = <&usart2_clk>; | 908 | clocks = <&usart2_clk>; |
897 | clock-names = "usart"; | 909 | clock-names = "usart"; |
898 | status = "disabled"; | 910 | status = "disabled"; |
diff --git a/arch/arm/boot/dts/at91sam9x5_can.dtsi b/arch/arm/boot/dts/at91sam9x5_can.dtsi index f44ab7702a12..8eb2f9c1b978 100644 --- a/arch/arm/boot/dts/at91sam9x5_can.dtsi +++ b/arch/arm/boot/dts/at91sam9x5_can.dtsi | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * at91sam9x5_macb0.dtsi - Device Tree Include file for AT91SAM9x5 SoC with 1 | 2 | * at91sam9x5_can.dtsi - Device Tree Include file for AT91SAM9x5 SoC with 1 |
3 | * Ethernet interface. | 3 | * Ethernet interface. |
4 | * | 4 | * |
5 | * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com> | 5 | * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com> |
@@ -20,10 +20,50 @@ | |||
20 | reg = <29>; | 20 | reg = <29>; |
21 | }; | 21 | }; |
22 | 22 | ||
23 | can1_clk: can1_clk { | 23 | can1_clk: can1_clk { |
24 | #clock-cells = <0>; | 24 | #clock-cells = <0>; |
25 | reg = <30>; | 25 | reg = <30>; |
26 | }; | 26 | }; |
27 | }; | ||
28 | }; | ||
29 | |||
30 | can0: can@f8000000 { | ||
31 | compatible = "atmel,at91sam9x5-can"; | ||
32 | reg = <0xf8000000 0x300>; | ||
33 | interrupts = <29 IRQ_TYPE_LEVEL_HIGH 3>; | ||
34 | pinctrl-names = "default"; | ||
35 | pinctrl-0 = <&pinctrl_can0_rx_tx>; | ||
36 | clocks = <&can0_clk>; | ||
37 | clock-names = "can_clk"; | ||
38 | status = "disabled"; | ||
39 | }; | ||
40 | |||
41 | can1: can@f8004000 { | ||
42 | compatible = "atmel,at91sam9x5-can"; | ||
43 | reg = <0xf8004000 0x300>; | ||
44 | interrupts = <30 IRQ_TYPE_LEVEL_HIGH 3>; | ||
45 | pinctrl-names = "default"; | ||
46 | pinctrl-0 = <&pinctrl_can1_rx_tx>; | ||
47 | clocks = <&can1_clk>; | ||
48 | clock-names = "can_clk"; | ||
49 | status = "disabled"; | ||
50 | }; | ||
51 | |||
52 | pinctrl@fffff400 { | ||
53 | can0 { | ||
54 | pinctrl_can0_rx_tx: can0_rx_tx { | ||
55 | atmel,pins = | ||
56 | <AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANRX0, conflicts with DRXD */ | ||
57 | AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* CANTX0, conflicts with DTXD */ | ||
58 | }; | ||
59 | }; | ||
60 | |||
61 | can1 { | ||
62 | pinctrl_can1_rx_tx: can1_rx_tx { | ||
63 | atmel,pins = | ||
64 | <AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANRX1, conflicts with RXD1 */ | ||
65 | AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* CANTX1, conflicts with TXD1 */ | ||
66 | }; | ||
27 | }; | 67 | }; |
28 | }; | 68 | }; |
29 | }; | 69 | }; |
diff --git a/arch/arm/boot/dts/at91sam9x5_usart3.dtsi b/arch/arm/boot/dts/at91sam9x5_usart3.dtsi index 140217a54384..43bb5b51caa6 100644 --- a/arch/arm/boot/dts/at91sam9x5_usart3.dtsi +++ b/arch/arm/boot/dts/at91sam9x5_usart3.dtsi | |||
@@ -57,6 +57,9 @@ | |||
57 | interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>; | 57 | interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>; |
58 | pinctrl-names = "default"; | 58 | pinctrl-names = "default"; |
59 | pinctrl-0 = <&pinctrl_usart3>; | 59 | pinctrl-0 = <&pinctrl_usart3>; |
60 | dmas = <&dma1 1 AT91_DMA_CFG_PER_ID(14)>, | ||
61 | <&dma1 1 (AT91_DMA_CFG_PER_ID(15) | AT91_DMA_CFG_FIFOCFG_ASAP)>; | ||
62 | dma-names = "tx", "rx"; | ||
60 | clocks = <&usart3_clk>; | 63 | clocks = <&usart3_clk>; |
61 | clock-names = "usart"; | 64 | clock-names = "usart"; |
62 | status = "disabled"; | 65 | status = "disabled"; |
diff --git a/arch/arm/boot/dts/atlas6.dtsi b/arch/arm/boot/dts/atlas6.dtsi index bb22842a0826..29598667420b 100644 --- a/arch/arm/boot/dts/atlas6.dtsi +++ b/arch/arm/boot/dts/atlas6.dtsi | |||
@@ -131,6 +131,7 @@ | |||
131 | reg = <0x90020000 0x10000>; | 131 | reg = <0x90020000 0x10000>; |
132 | interrupts = <31>; | 132 | interrupts = <31>; |
133 | clocks = <&clks 35>; | 133 | clocks = <&clks 35>; |
134 | resets = <&rstc 6>; | ||
134 | }; | 135 | }; |
135 | }; | 136 | }; |
136 | 137 | ||
@@ -312,6 +313,7 @@ | |||
312 | #address-cells = <1>; | 313 | #address-cells = <1>; |
313 | #size-cells = <0>; | 314 | #size-cells = <0>; |
314 | clocks = <&clks 19>; | 315 | clocks = <&clks 19>; |
316 | resets = <&rstc 26>; | ||
315 | status = "disabled"; | 317 | status = "disabled"; |
316 | }; | 318 | }; |
317 | 319 | ||
@@ -327,6 +329,7 @@ | |||
327 | #address-cells = <1>; | 329 | #address-cells = <1>; |
328 | #size-cells = <0>; | 330 | #size-cells = <0>; |
329 | clocks = <&clks 20>; | 331 | clocks = <&clks 20>; |
332 | resets = <&rstc 27>; | ||
330 | status = "disabled"; | 333 | status = "disabled"; |
331 | }; | 334 | }; |
332 | 335 | ||
@@ -522,6 +525,18 @@ | |||
522 | sirf,function = "sdmmc5"; | 525 | sirf,function = "sdmmc5"; |
523 | }; | 526 | }; |
524 | }; | 527 | }; |
528 | i2s_mclk_pins_a: i2s_mclk@0 { | ||
529 | i2s_mclk { | ||
530 | sirf,pins = "i2smclkgrp"; | ||
531 | sirf,function = "i2s_mclk"; | ||
532 | }; | ||
533 | }; | ||
534 | i2s_ext_clk_input_pins_a: i2s_ext_clk_input@0 { | ||
535 | i2s_ext_clk_input { | ||
536 | sirf,pins = "i2s_ext_clk_inputgrp"; | ||
537 | sirf,function = "i2s_ext_clk_input"; | ||
538 | }; | ||
539 | }; | ||
525 | i2s_pins_a: i2s@0 { | 540 | i2s_pins_a: i2s@0 { |
526 | i2s { | 541 | i2s { |
527 | sirf,pins = "i2sgrp"; | 542 | sirf,pins = "i2sgrp"; |
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..60d8389fdb6c --- /dev/null +++ b/arch/arm/boot/dts/bcm-cygnus-clock.dtsi | |||
@@ -0,0 +1,91 @@ | |||
1 | /* | ||
2 | * BSD LICENSE | ||
3 | * | ||
4 | * Copyright(c) 2014 Broadcom Corporation. All rights reserved. | ||
5 | * | ||
6 | * Redistribution and use in source and binary forms, with or without | ||
7 | * modification, are permitted provided that the following conditions | ||
8 | * are met: | ||
9 | * | ||
10 | * * Redistributions of source code must retain the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer. | ||
12 | * * Redistributions in binary form must reproduce the above copyright | ||
13 | * notice, this list of conditions and the following disclaimer in | ||
14 | * the documentation and/or other materials provided with the | ||
15 | * distribution. | ||
16 | * * Neither the name of Broadcom Corporation nor the names of its | ||
17 | * contributors may be used to endorse or promote products derived | ||
18 | * from this software without specific prior written permission. | ||
19 | * | ||
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
31 | */ | ||
32 | |||
33 | clocks { | ||
34 | #address-cells = <1>; | ||
35 | #size-cells = <1>; | ||
36 | ranges; | ||
37 | |||
38 | osc: oscillator { | ||
39 | compatible = "fixed-clock"; | ||
40 | #clock-cells = <1>; | ||
41 | clock-frequency = <25000000>; | ||
42 | }; | ||
43 | |||
44 | apb_clk: apb_clk { | ||
45 | compatible = "fixed-clock"; | ||
46 | #clock-cells = <0>; | ||
47 | clock-frequency = <1000000000>; | ||
48 | }; | ||
49 | |||
50 | periph_clk: periph_clk { | ||
51 | compatible = "fixed-clock"; | ||
52 | #clock-cells = <0>; | ||
53 | clock-frequency = <500000000>; | ||
54 | }; | ||
55 | |||
56 | sdio_clk: lcpll_ch2 { | ||
57 | compatible = "fixed-clock"; | ||
58 | #clock-cells = <0>; | ||
59 | clock-frequency = <200000000>; | ||
60 | }; | ||
61 | |||
62 | axi81_clk: axi81_clk { | ||
63 | compatible = "fixed-clock"; | ||
64 | #clock-cells = <0>; | ||
65 | clock-frequency = <100000000>; | ||
66 | }; | ||
67 | |||
68 | keypad_clk: keypad_clk { | ||
69 | compatible = "fixed-clock"; | ||
70 | #clock-cells = <0>; | ||
71 | clock-frequency = <31806>; | ||
72 | }; | ||
73 | |||
74 | adc_clk: adc_clk { | ||
75 | compatible = "fixed-clock"; | ||
76 | #clock-cells = <0>; | ||
77 | clock-frequency = <1562500>; | ||
78 | }; | ||
79 | |||
80 | pwm_clk: pwm_clk { | ||
81 | compatible = "fixed-clock"; | ||
82 | #clock-cells = <0>; | ||
83 | clock-frequency = <1000000>; | ||
84 | }; | ||
85 | |||
86 | lcd_clk: mipipll_ch1 { | ||
87 | compatible = "fixed-clock"; | ||
88 | #clock-cells = <0>; | ||
89 | clock-frequency = <100000000>; | ||
90 | }; | ||
91 | }; | ||
diff --git a/arch/arm/boot/dts/bcm-cygnus.dtsi b/arch/arm/boot/dts/bcm-cygnus.dtsi new file mode 100644 index 000000000000..5126f9e77a98 --- /dev/null +++ b/arch/arm/boot/dts/bcm-cygnus.dtsi | |||
@@ -0,0 +1,140 @@ | |||
1 | /* | ||
2 | * BSD LICENSE | ||
3 | * | ||
4 | * Copyright(c) 2014 Broadcom Corporation. All rights reserved. | ||
5 | * | ||
6 | * Redistribution and use in source and binary forms, with or without | ||
7 | * modification, are permitted provided that the following conditions | ||
8 | * are met: | ||
9 | * | ||
10 | * * Redistributions of source code must retain the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer. | ||
12 | * * Redistributions in binary form must reproduce the above copyright | ||
13 | * notice, this list of conditions and the following disclaimer in | ||
14 | * the documentation and/or other materials provided with the | ||
15 | * distribution. | ||
16 | * * Neither the name of Broadcom Corporation nor the names of its | ||
17 | * contributors may be used to endorse or promote products derived | ||
18 | * from this software without specific prior written permission. | ||
19 | * | ||
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
31 | */ | ||
32 | |||
33 | #include <dt-bindings/interrupt-controller/arm-gic.h> | ||
34 | #include <dt-bindings/interrupt-controller/irq.h> | ||
35 | |||
36 | #include "skeleton.dtsi" | ||
37 | |||
38 | / { | ||
39 | compatible = "brcm,cygnus"; | ||
40 | model = "Broadcom Cygnus SoC"; | ||
41 | interrupt-parent = <&gic>; | ||
42 | |||
43 | cpus { | ||
44 | #address-cells = <1>; | ||
45 | #size-cells = <0>; | ||
46 | |||
47 | cpu@0 { | ||
48 | device_type = "cpu"; | ||
49 | compatible = "arm,cortex-a9"; | ||
50 | next-level-cache = <&L2>; | ||
51 | reg = <0x0>; | ||
52 | }; | ||
53 | }; | ||
54 | |||
55 | /include/ "bcm-cygnus-clock.dtsi" | ||
56 | |||
57 | amba { | ||
58 | #address-cells = <1>; | ||
59 | #size-cells = <1>; | ||
60 | compatible = "arm,amba-bus", "simple-bus"; | ||
61 | interrupt-parent = <&gic>; | ||
62 | ranges; | ||
63 | |||
64 | wdt@18009000 { | ||
65 | compatible = "arm,sp805" , "arm,primecell"; | ||
66 | reg = <0x18009000 0x1000>; | ||
67 | interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; | ||
68 | clocks = <&axi81_clk>; | ||
69 | clock-names = "apb_pclk"; | ||
70 | }; | ||
71 | }; | ||
72 | |||
73 | uart0: serial@18020000 { | ||
74 | compatible = "snps,dw-apb-uart"; | ||
75 | reg = <0x18020000 0x100>; | ||
76 | reg-shift = <2>; | ||
77 | reg-io-width = <4>; | ||
78 | interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; | ||
79 | clocks = <&axi81_clk>; | ||
80 | clock-frequency = <100000000>; | ||
81 | status = "disabled"; | ||
82 | }; | ||
83 | |||
84 | uart1: serial@18021000 { | ||
85 | compatible = "snps,dw-apb-uart"; | ||
86 | reg = <0x18021000 0x100>; | ||
87 | reg-shift = <2>; | ||
88 | reg-io-width = <4>; | ||
89 | interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; | ||
90 | clocks = <&axi81_clk>; | ||
91 | clock-frequency = <100000000>; | ||
92 | status = "disabled"; | ||
93 | }; | ||
94 | |||
95 | uart2: serial@18022000 { | ||
96 | compatible = "snps,dw-apb-uart"; | ||
97 | reg = <0x18020000 0x100>; | ||
98 | reg-shift = <2>; | ||
99 | reg-io-width = <4>; | ||
100 | interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; | ||
101 | clocks = <&axi81_clk>; | ||
102 | clock-frequency = <100000000>; | ||
103 | status = "disabled"; | ||
104 | }; | ||
105 | |||
106 | uart3: serial@18023000 { | ||
107 | compatible = "snps,dw-apb-uart"; | ||
108 | reg = <0x18023000 0x100>; | ||
109 | reg-shift = <2>; | ||
110 | reg-io-width = <4>; | ||
111 | interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; | ||
112 | clocks = <&axi81_clk>; | ||
113 | clock-frequency = <100000000>; | ||
114 | status = "disabled"; | ||
115 | }; | ||
116 | |||
117 | gic: interrupt-controller@19021000 { | ||
118 | compatible = "arm,cortex-a9-gic"; | ||
119 | #interrupt-cells = <3>; | ||
120 | #address-cells = <0>; | ||
121 | interrupt-controller; | ||
122 | reg = <0x19021000 0x1000>, | ||
123 | <0x19020100 0x100>; | ||
124 | }; | ||
125 | |||
126 | L2: l2-cache { | ||
127 | compatible = "arm,pl310-cache"; | ||
128 | reg = <0x19022000 0x1000>; | ||
129 | cache-unified; | ||
130 | cache-level = <2>; | ||
131 | }; | ||
132 | |||
133 | timer@19020200 { | ||
134 | compatible = "arm,cortex-a9-global-timer"; | ||
135 | reg = <0x19020200 0x100>; | ||
136 | interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>; | ||
137 | clocks = <&periph_clk>; | ||
138 | }; | ||
139 | |||
140 | }; | ||
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts new file mode 100644 index 000000000000..e479515099c3 --- /dev/null +++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | |||
@@ -0,0 +1,30 @@ | |||
1 | /dts-v1/; | ||
2 | /include/ "bcm2835-rpi.dtsi" | ||
3 | |||
4 | / { | ||
5 | compatible = "raspberrypi,model-b-plus", "brcm,bcm2835"; | ||
6 | model = "Raspberry Pi Model B+"; | ||
7 | |||
8 | leds { | ||
9 | act { | ||
10 | gpios = <&gpio 47 0>; | ||
11 | }; | ||
12 | |||
13 | pwr { | ||
14 | label = "PWR"; | ||
15 | gpios = <&gpio 35 0>; | ||
16 | default-state = "keep"; | ||
17 | linux,default-trigger = "default-on"; | ||
18 | }; | ||
19 | }; | ||
20 | }; | ||
21 | |||
22 | &gpio { | ||
23 | pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>; | ||
24 | |||
25 | /* I2S interface */ | ||
26 | i2s_alt0: i2s_alt0 { | ||
27 | brcm,pins = <18 19 20 21>; | ||
28 | brcm,function = <4>; /* alt0 */ | ||
29 | }; | ||
30 | }; | ||
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts index 58a0d60b95f1..bafa46fc226a 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-b.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts | |||
@@ -1,63 +1,23 @@ | |||
1 | /dts-v1/; | 1 | /dts-v1/; |
2 | /include/ "bcm2835.dtsi" | 2 | /include/ "bcm2835-rpi.dtsi" |
3 | 3 | ||
4 | / { | 4 | / { |
5 | compatible = "raspberrypi,model-b", "brcm,bcm2835"; | 5 | compatible = "raspberrypi,model-b", "brcm,bcm2835"; |
6 | model = "Raspberry Pi Model B"; | 6 | model = "Raspberry Pi Model B"; |
7 | 7 | ||
8 | memory { | ||
9 | reg = <0 0x10000000>; | ||
10 | }; | ||
11 | |||
12 | leds { | 8 | leds { |
13 | compatible = "gpio-leds"; | ||
14 | |||
15 | act { | 9 | act { |
16 | label = "ACT"; | ||
17 | gpios = <&gpio 16 1>; | 10 | gpios = <&gpio 16 1>; |
18 | default-state = "keep"; | ||
19 | linux,default-trigger = "heartbeat"; | ||
20 | }; | 11 | }; |
21 | }; | 12 | }; |
22 | }; | 13 | }; |
23 | 14 | ||
24 | &gpio { | 15 | &gpio { |
25 | pinctrl-names = "default"; | 16 | pinctrl-0 = <&gpioout &alt0 &i2s_alt2 &alt3>; |
26 | pinctrl-0 = <&gpioout &alt0 &alt2 &alt3>; | ||
27 | |||
28 | gpioout: gpioout { | ||
29 | brcm,pins = <6>; | ||
30 | brcm,function = <1>; /* GPIO out */ | ||
31 | }; | ||
32 | |||
33 | alt0: alt0 { | ||
34 | brcm,pins = <0 1 2 3 4 5 7 8 9 10 11 14 15 40 45>; | ||
35 | brcm,function = <4>; /* alt0 */ | ||
36 | }; | ||
37 | |||
38 | alt3: alt3 { | ||
39 | brcm,pins = <48 49 50 51 52 53>; | ||
40 | brcm,function = <7>; /* alt3 */ | ||
41 | }; | ||
42 | 17 | ||
43 | /* I2S interface */ | 18 | /* I2S interface */ |
44 | alt2: alt2 { | 19 | i2s_alt2: i2s_alt2 { |
45 | brcm,pins = <28 29 30 31>; | 20 | brcm,pins = <28 29 30 31>; |
46 | brcm,function = <6>; /* alt2 */ | 21 | brcm,function = <6>; /* alt2 */ |
47 | }; | 22 | }; |
48 | }; | 23 | }; |
49 | |||
50 | &i2c0 { | ||
51 | status = "okay"; | ||
52 | clock-frequency = <100000>; | ||
53 | }; | ||
54 | |||
55 | &i2c1 { | ||
56 | status = "okay"; | ||
57 | clock-frequency = <100000>; | ||
58 | }; | ||
59 | |||
60 | &sdhci { | ||
61 | status = "okay"; | ||
62 | bus-width = <4>; | ||
63 | }; | ||
diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi new file mode 100644 index 000000000000..c7064487017d --- /dev/null +++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi | |||
@@ -0,0 +1,51 @@ | |||
1 | /include/ "bcm2835.dtsi" | ||
2 | |||
3 | / { | ||
4 | memory { | ||
5 | reg = <0 0x10000000>; | ||
6 | }; | ||
7 | |||
8 | leds { | ||
9 | compatible = "gpio-leds"; | ||
10 | |||
11 | act { | ||
12 | label = "ACT"; | ||
13 | default-state = "keep"; | ||
14 | linux,default-trigger = "heartbeat"; | ||
15 | }; | ||
16 | }; | ||
17 | }; | ||
18 | |||
19 | &gpio { | ||
20 | pinctrl-names = "default"; | ||
21 | |||
22 | gpioout: gpioout { | ||
23 | brcm,pins = <6>; | ||
24 | brcm,function = <1>; /* GPIO out */ | ||
25 | }; | ||
26 | |||
27 | alt0: alt0 { | ||
28 | brcm,pins = <0 1 2 3 4 5 7 8 9 10 11 14 15 40 45>; | ||
29 | brcm,function = <4>; /* alt0 */ | ||
30 | }; | ||
31 | |||
32 | alt3: alt3 { | ||
33 | brcm,pins = <48 49 50 51 52 53>; | ||
34 | brcm,function = <7>; /* alt3 */ | ||
35 | }; | ||
36 | }; | ||
37 | |||
38 | &i2c0 { | ||
39 | status = "okay"; | ||
40 | clock-frequency = <100000>; | ||
41 | }; | ||
42 | |||
43 | &i2c1 { | ||
44 | status = "okay"; | ||
45 | clock-frequency = <100000>; | ||
46 | }; | ||
47 | |||
48 | &sdhci { | ||
49 | status = "okay"; | ||
50 | bus-width = <4>; | ||
51 | }; | ||
diff --git a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts new file mode 100644 index 000000000000..5fc0fae03092 --- /dev/null +++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts | |||
@@ -0,0 +1,64 @@ | |||
1 | /* | ||
2 | * Broadcom BCM470X / BCM5301X ARM platform code. | ||
3 | * DTS for Buffalo WZR-1750DHP | ||
4 | * | ||
5 | * Copyright (C) 2014 Rafał Miłecki <zajec5@gmail.com> | ||
6 | * | ||
7 | * Licensed under the GNU/GPL. See COPYING for details. | ||
8 | */ | ||
9 | |||
10 | /dts-v1/; | ||
11 | |||
12 | #include "bcm4708.dtsi" | ||
13 | |||
14 | / { | ||
15 | compatible = "buffalo,wzr-1750dhp", "brcm,bcm4708"; | ||
16 | model = "Buffalo WZR-1750DHP (BCM4708)"; | ||
17 | |||
18 | chosen { | ||
19 | bootargs = "console=ttyS0,115200"; | ||
20 | }; | ||
21 | |||
22 | memory { | ||
23 | reg = <0x00000000 0x08000000>; | ||
24 | }; | ||
25 | |||
26 | gpio-keys { | ||
27 | compatible = "gpio-keys"; | ||
28 | #address-cells = <1>; | ||
29 | #size-cells = <0>; | ||
30 | poll-interval = <200>; | ||
31 | |||
32 | restart { | ||
33 | label = "Reset"; | ||
34 | linux,code = <KEY_RESTART>; | ||
35 | gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>; | ||
36 | }; | ||
37 | |||
38 | aoss { | ||
39 | label = "AOSS"; | ||
40 | linux,code = <KEY_WPS_BUTTON>; | ||
41 | gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>; | ||
42 | }; | ||
43 | |||
44 | /* Commit mode set by switch? */ | ||
45 | mode { | ||
46 | label = "Mode"; | ||
47 | linux,code = <KEY_SETUP>; | ||
48 | gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>; | ||
49 | }; | ||
50 | |||
51 | /* Switch: AP mode */ | ||
52 | sw_ap { | ||
53 | label = "AP"; | ||
54 | linux,code = <BTN_0>; | ||
55 | gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>; | ||
56 | }; | ||
57 | |||
58 | eject { | ||
59 | label = "USB eject"; | ||
60 | linux,code = <KEY_EJECTCD>; | ||
61 | gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>; | ||
62 | }; | ||
63 | }; | ||
64 | }; | ||
diff --git a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts index 3b5259de5a38..4ed7de1058b7 100644 --- a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts +++ b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts | |||
@@ -32,4 +32,63 @@ | |||
32 | status = "okay"; | 32 | status = "okay"; |
33 | }; | 33 | }; |
34 | }; | 34 | }; |
35 | |||
36 | leds { | ||
37 | compatible = "gpio-leds"; | ||
38 | |||
39 | logo { | ||
40 | label = "bcm53xx:white:logo"; | ||
41 | gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>; | ||
42 | linux,default-trigger = "default-on"; | ||
43 | }; | ||
44 | |||
45 | power0 { | ||
46 | label = "bcm53xx:green:power"; | ||
47 | gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>; | ||
48 | linux,default-trigger = "default-off"; | ||
49 | }; | ||
50 | |||
51 | power1 { | ||
52 | label = "bcm53xx:amber:power"; | ||
53 | gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>; | ||
54 | linux,default-trigger = "default-on"; | ||
55 | }; | ||
56 | |||
57 | usb { | ||
58 | label = "bcm53xx:blue:usb"; | ||
59 | gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>; | ||
60 | linux,default-trigger = "default-off"; | ||
61 | }; | ||
62 | |||
63 | wireless { | ||
64 | label = "bcm53xx:blue:wireless"; | ||
65 | gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>; | ||
66 | linux,default-trigger = "default-off"; | ||
67 | }; | ||
68 | }; | ||
69 | |||
70 | gpio-keys { | ||
71 | compatible = "gpio-keys"; | ||
72 | #address-cells = <1>; | ||
73 | #size-cells = <0>; | ||
74 | poll-interval = <200>; | ||
75 | |||
76 | wps { | ||
77 | label = "WPS"; | ||
78 | linux,code = <KEY_WPS_BUTTON>; | ||
79 | gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>; | ||
80 | }; | ||
81 | |||
82 | rfkill { | ||
83 | label = "WiFi"; | ||
84 | linux,code = <KEY_RFKILL>; | ||
85 | gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>; | ||
86 | }; | ||
87 | |||
88 | restart { | ||
89 | label = "Reset"; | ||
90 | linux,code = <KEY_RESTART>; | ||
91 | gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>; | ||
92 | }; | ||
93 | }; | ||
35 | }; | 94 | }; |
diff --git a/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts b/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts new file mode 100644 index 000000000000..12fc2a01e6ab --- /dev/null +++ b/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts | |||
@@ -0,0 +1,84 @@ | |||
1 | /* | ||
2 | * Broadcom BCM470X / BCM5301X ARM platform code. | ||
3 | * DTS for Netgear R6300 V2 | ||
4 | * | ||
5 | * Copyright (C) 2014 Rafał Miłecki <zajec5@gmail.com> | ||
6 | * | ||
7 | * Licensed under the GNU/GPL. See COPYING for details. | ||
8 | */ | ||
9 | |||
10 | /dts-v1/; | ||
11 | |||
12 | #include "bcm4708.dtsi" | ||
13 | |||
14 | / { | ||
15 | compatible = "netgear,r6300v2", "brcm,bcm4708"; | ||
16 | model = "Netgear R6300 V2 (BCM4708)"; | ||
17 | |||
18 | chosen { | ||
19 | bootargs = "console=ttyS0,115200"; | ||
20 | }; | ||
21 | |||
22 | memory { | ||
23 | reg = <0x00000000 0x08000000>; | ||
24 | }; | ||
25 | |||
26 | leds { | ||
27 | compatible = "gpio-leds"; | ||
28 | |||
29 | logo { | ||
30 | label = "bcm53xx:white:logo"; | ||
31 | gpios = <&chipcommon 1 GPIO_ACTIVE_HIGH>; | ||
32 | linux,default-trigger = "default-on"; | ||
33 | }; | ||
34 | |||
35 | power0 { | ||
36 | label = "bcm53xx:green:power"; | ||
37 | gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>; | ||
38 | linux,default-trigger = "default-off"; | ||
39 | }; | ||
40 | |||
41 | power1 { | ||
42 | label = "bcm53xx:amber:power"; | ||
43 | gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>; | ||
44 | linux,default-trigger = "default-on"; | ||
45 | }; | ||
46 | |||
47 | usb { | ||
48 | label = "bcm53xx:blue:usb"; | ||
49 | gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>; | ||
50 | linux,default-trigger = "default-off"; | ||
51 | }; | ||
52 | |||
53 | wireless { | ||
54 | label = "bcm53xx:blue:wireless"; | ||
55 | gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>; | ||
56 | linux,default-trigger = "default-off"; | ||
57 | }; | ||
58 | }; | ||
59 | |||
60 | gpio-keys { | ||
61 | compatible = "gpio-keys"; | ||
62 | #address-cells = <1>; | ||
63 | #size-cells = <0>; | ||
64 | poll-interval = <200>; | ||
65 | |||
66 | wps { | ||
67 | label = "WPS"; | ||
68 | linux,code = <KEY_WPS_BUTTON>; | ||
69 | gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>; | ||
70 | }; | ||
71 | |||
72 | rfkill { | ||
73 | label = "WiFi"; | ||
74 | linux,code = <KEY_RFKILL>; | ||
75 | gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>; | ||
76 | }; | ||
77 | |||
78 | restart { | ||
79 | label = "Reset"; | ||
80 | linux,code = <KEY_RESTART>; | ||
81 | gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>; | ||
82 | }; | ||
83 | }; | ||
84 | }; | ||
diff --git a/arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts b/arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts new file mode 100644 index 000000000000..fb76378bd511 --- /dev/null +++ b/arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts | |||
@@ -0,0 +1,78 @@ | |||
1 | /* | ||
2 | * Broadcom BCM470X / BCM5301X ARM platform code. | ||
3 | * DTS for Asus RT-N18U | ||
4 | * | ||
5 | * Copyright (C) 2014 Rafał Miłecki <zajec5@gmail.com> | ||
6 | * | ||
7 | * Licensed under the GNU/GPL. See COPYING for details. | ||
8 | */ | ||
9 | |||
10 | /dts-v1/; | ||
11 | |||
12 | #include "bcm47081.dtsi" | ||
13 | |||
14 | / { | ||
15 | compatible = "asus,rt-n18u", "brcm,bcm47081", "brcm,bcm4708"; | ||
16 | model = "Asus RT-N18U (BCM47081)"; | ||
17 | |||
18 | chosen { | ||
19 | bootargs = "console=ttyS0,115200"; | ||
20 | }; | ||
21 | |||
22 | memory { | ||
23 | reg = <0x00000000 0x08000000>; | ||
24 | }; | ||
25 | |||
26 | leds { | ||
27 | compatible = "gpio-leds"; | ||
28 | |||
29 | power { | ||
30 | label = "bcm53xx:blue:power"; | ||
31 | gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>; | ||
32 | linux,default-trigger = "default-on"; | ||
33 | }; | ||
34 | |||
35 | usb2 { | ||
36 | label = "bcm53xx:blue:usb2"; | ||
37 | gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>; | ||
38 | linux,default-trigger = "default-off"; | ||
39 | }; | ||
40 | |||
41 | wan { | ||
42 | label = "bcm53xx:blue:wan"; | ||
43 | gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>; | ||
44 | linux,default-trigger = "default-on"; | ||
45 | }; | ||
46 | |||
47 | lan { | ||
48 | label = "bcm53xx:blue:lan"; | ||
49 | gpios = <&chipcommon 9 GPIO_ACTIVE_LOW>; | ||
50 | linux,default-trigger = "default-on"; | ||
51 | }; | ||
52 | |||
53 | usb3 { | ||
54 | label = "bcm53xx:blue:usb3"; | ||
55 | gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>; | ||
56 | linux,default-trigger = "default-off"; | ||
57 | }; | ||
58 | }; | ||
59 | |||
60 | gpio-keys { | ||
61 | compatible = "gpio-keys"; | ||
62 | #address-cells = <1>; | ||
63 | #size-cells = <0>; | ||
64 | poll-interval = <200>; | ||
65 | |||
66 | restart { | ||
67 | label = "Reset"; | ||
68 | linux,code = <KEY_RESTART>; | ||
69 | gpios = <&chipcommon 7 GPIO_ACTIVE_LOW>; | ||
70 | }; | ||
71 | |||
72 | wps { | ||
73 | label = "WPS"; | ||
74 | linux,code = <KEY_WPS_BUTTON>; | ||
75 | gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>; | ||
76 | }; | ||
77 | }; | ||
78 | }; | ||
diff --git a/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts b/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts new file mode 100644 index 000000000000..bbb414fbad65 --- /dev/null +++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts | |||
@@ -0,0 +1,57 @@ | |||
1 | /* | ||
2 | * Broadcom BCM470X / BCM5301X ARM platform code. | ||
3 | * DTS for Buffalo WZR-600DHP2 | ||
4 | * | ||
5 | * Copyright (C) 2014 Rafał Miłecki <zajec5@gmail.com> | ||
6 | * | ||
7 | * Licensed under the GNU/GPL. See COPYING for details. | ||
8 | */ | ||
9 | |||
10 | /dts-v1/; | ||
11 | |||
12 | #include "bcm47081.dtsi" | ||
13 | |||
14 | / { | ||
15 | compatible = "buffalo,wzr-600dhp2", "brcm,bcm47081", "brcm,bcm4708"; | ||
16 | model = "Buffalo WZR-600DHP2 (BCM47081)"; | ||
17 | |||
18 | chosen { | ||
19 | bootargs = "console=ttyS0,115200"; | ||
20 | }; | ||
21 | |||
22 | memory { | ||
23 | reg = <0x00000000 0x08000000>; | ||
24 | }; | ||
25 | |||
26 | gpio-keys { | ||
27 | compatible = "gpio-keys"; | ||
28 | #address-cells = <1>; | ||
29 | #size-cells = <0>; | ||
30 | poll-interval = <200>; | ||
31 | |||
32 | aoss { | ||
33 | label = "AOSS"; | ||
34 | linux,code = <KEY_WPS_BUTTON>; | ||
35 | gpios = <&chipcommon 9 GPIO_ACTIVE_LOW>; | ||
36 | }; | ||
37 | |||
38 | restart { | ||
39 | label = "Reset"; | ||
40 | linux,code = <KEY_RESTART>; | ||
41 | gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>; | ||
42 | }; | ||
43 | |||
44 | /* Switch device mode? */ | ||
45 | mode { | ||
46 | label = "Mode"; | ||
47 | linux,code = <KEY_SETUP>; | ||
48 | gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>; | ||
49 | }; | ||
50 | |||
51 | eject { | ||
52 | label = "USB eject"; | ||
53 | linux,code = <KEY_EJECTCD>; | ||
54 | gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>; | ||
55 | }; | ||
56 | }; | ||
57 | }; | ||
diff --git a/arch/arm/boot/dts/bcm47081.dtsi b/arch/arm/boot/dts/bcm47081.dtsi new file mode 100644 index 000000000000..f720012ee5ed --- /dev/null +++ b/arch/arm/boot/dts/bcm47081.dtsi | |||
@@ -0,0 +1,26 @@ | |||
1 | /* | ||
2 | * Broadcom BCM470X / BCM5301X ARM platform code. | ||
3 | * DTS for BCM47081 SoC. | ||
4 | * | ||
5 | * Copyright © 2014 Rafał Miłecki <zajec5@gmail.com> | ||
6 | * | ||
7 | * Licensed under the GNU/GPL. See COPYING for details. | ||
8 | */ | ||
9 | |||
10 | #include "bcm5301x.dtsi" | ||
11 | |||
12 | / { | ||
13 | compatible = "brcm,bcm47081"; | ||
14 | |||
15 | cpus { | ||
16 | #address-cells = <1>; | ||
17 | #size-cells = <0>; | ||
18 | |||
19 | cpu@0 { | ||
20 | device_type = "cpu"; | ||
21 | compatible = "arm,cortex-a9"; | ||
22 | next-level-cache = <&L2>; | ||
23 | reg = <0x0>; | ||
24 | }; | ||
25 | }; | ||
26 | }; | ||
diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi index 53c624f766b4..78aec6270c2f 100644 --- a/arch/arm/boot/dts/bcm5301x.dtsi +++ b/arch/arm/boot/dts/bcm5301x.dtsi | |||
@@ -8,6 +8,8 @@ | |||
8 | * Licensed under the GNU/GPL. See COPYING for details. | 8 | * Licensed under the GNU/GPL. See COPYING for details. |
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include <dt-bindings/gpio/gpio.h> | ||
12 | #include <dt-bindings/input/input.h> | ||
11 | #include <dt-bindings/interrupt-controller/irq.h> | 13 | #include <dt-bindings/interrupt-controller/irq.h> |
12 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 14 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
13 | #include "skeleton.dtsi" | 15 | #include "skeleton.dtsi" |
@@ -92,4 +94,53 @@ | |||
92 | clock-frequency = <400000000>; | 94 | clock-frequency = <400000000>; |
93 | }; | 95 | }; |
94 | }; | 96 | }; |
97 | |||
98 | axi@18000000 { | ||
99 | compatible = "brcm,bus-axi"; | ||
100 | reg = <0x18000000 0x1000>; | ||
101 | ranges = <0x00000000 0x18000000 0x00100000>; | ||
102 | #address-cells = <1>; | ||
103 | #size-cells = <1>; | ||
104 | |||
105 | #interrupt-cells = <1>; | ||
106 | interrupt-map-mask = <0x000fffff 0xffff>; | ||
107 | interrupt-map = | ||
108 | /* ChipCommon */ | ||
109 | <0x00000000 0 &gic GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>, | ||
110 | |||
111 | /* USB 2.0 Controller */ | ||
112 | <0x00021000 0 &gic GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>, | ||
113 | |||
114 | /* USB 3.0 Controller */ | ||
115 | <0x00023000 0 &gic GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>, | ||
116 | |||
117 | /* Ethernet Controller 0 */ | ||
118 | <0x00024000 0 &gic GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>, | ||
119 | |||
120 | /* Ethernet Controller 1 */ | ||
121 | <0x00025000 0 &gic GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>, | ||
122 | |||
123 | /* Ethernet Controller 2 */ | ||
124 | <0x00026000 0 &gic GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>, | ||
125 | |||
126 | /* Ethernet Controller 3 */ | ||
127 | <0x00027000 0 &gic GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>, | ||
128 | |||
129 | /* NAND Controller */ | ||
130 | <0x00028000 0 &gic GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>, | ||
131 | <0x00028000 1 &gic GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, | ||
132 | <0x00028000 2 &gic GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>, | ||
133 | <0x00028000 3 &gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>, | ||
134 | <0x00028000 4 &gic GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, | ||
135 | <0x00028000 5 &gic GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, | ||
136 | <0x00028000 6 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, | ||
137 | <0x00028000 7 &gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; | ||
138 | |||
139 | chipcommon: chipcommon@0 { | ||
140 | reg = <0x00000000 0x1000>; | ||
141 | |||
142 | gpio-controller; | ||
143 | #gpio-cells = <2>; | ||
144 | }; | ||
145 | }; | ||
95 | }; | 146 | }; |
diff --git a/arch/arm/boot/dts/bcm911360_entphn.dts b/arch/arm/boot/dts/bcm911360_entphn.dts new file mode 100644 index 000000000000..d2ee95280548 --- /dev/null +++ b/arch/arm/boot/dts/bcm911360_entphn.dts | |||
@@ -0,0 +1,53 @@ | |||
1 | /* | ||
2 | * BSD LICENSE | ||
3 | * | ||
4 | * Copyright(c) 2014 Broadcom Corporation. All rights reserved. | ||
5 | * | ||
6 | * Redistribution and use in source and binary forms, with or without | ||
7 | * modification, are permitted provided that the following conditions | ||
8 | * are met: | ||
9 | * | ||
10 | * * Redistributions of source code must retain the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer. | ||
12 | * * Redistributions in binary form must reproduce the above copyright | ||
13 | * notice, this list of conditions and the following disclaimer in | ||
14 | * the documentation and/or other materials provided with the | ||
15 | * distribution. | ||
16 | * * Neither the name of Broadcom Corporation nor the names of its | ||
17 | * contributors may be used to endorse or promote products derived | ||
18 | * from this software without specific prior written permission. | ||
19 | * | ||
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
31 | */ | ||
32 | |||
33 | /dts-v1/; | ||
34 | |||
35 | #include "bcm-cygnus.dtsi" | ||
36 | |||
37 | / { | ||
38 | model = "Cygnus Enterprise Phone (BCM911360_ENTPHN)"; | ||
39 | compatible = "brcm,bcm11360", "brcm,cygnus"; | ||
40 | |||
41 | aliases { | ||
42 | serial0 = &uart3; | ||
43 | }; | ||
44 | |||
45 | chosen { | ||
46 | stdout-path = &uart3; | ||
47 | bootargs = "console=ttyS0,115200"; | ||
48 | }; | ||
49 | |||
50 | uart3: serial@18023000 { | ||
51 | status = "okay"; | ||
52 | }; | ||
53 | }; | ||
diff --git a/arch/arm/boot/dts/bcm911360k.dts b/arch/arm/boot/dts/bcm911360k.dts new file mode 100644 index 000000000000..9658d4f62d59 --- /dev/null +++ b/arch/arm/boot/dts/bcm911360k.dts | |||
@@ -0,0 +1,53 @@ | |||
1 | /* | ||
2 | * BSD LICENSE | ||
3 | * | ||
4 | * Copyright(c) 2014 Broadcom Corporation. All rights reserved. | ||
5 | * | ||
6 | * Redistribution and use in source and binary forms, with or without | ||
7 | * modification, are permitted provided that the following conditions | ||
8 | * are met: | ||
9 | * | ||
10 | * * Redistributions of source code must retain the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer. | ||
12 | * * Redistributions in binary form must reproduce the above copyright | ||
13 | * notice, this list of conditions and the following disclaimer in | ||
14 | * the documentation and/or other materials provided with the | ||
15 | * distribution. | ||
16 | * * Neither the name of Broadcom Corporation nor the names of its | ||
17 | * contributors may be used to endorse or promote products derived | ||
18 | * from this software without specific prior written permission. | ||
19 | * | ||
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
31 | */ | ||
32 | |||
33 | /dts-v1/; | ||
34 | |||
35 | #include "bcm-cygnus.dtsi" | ||
36 | |||
37 | / { | ||
38 | model = "Cygnus SVK (BCM911360K)"; | ||
39 | compatible = "brcm,bcm11360", "brcm,cygnus"; | ||
40 | |||
41 | aliases { | ||
42 | serial0 = &uart3; | ||
43 | }; | ||
44 | |||
45 | chosen { | ||
46 | stdout-path = &uart3; | ||
47 | bootargs = "console=ttyS0,115200"; | ||
48 | }; | ||
49 | |||
50 | uart3: serial@18023000 { | ||
51 | status = "okay"; | ||
52 | }; | ||
53 | }; | ||
diff --git a/arch/arm/boot/dts/bcm958300k.dts b/arch/arm/boot/dts/bcm958300k.dts new file mode 100644 index 000000000000..f1bb36f3975c --- /dev/null +++ b/arch/arm/boot/dts/bcm958300k.dts | |||
@@ -0,0 +1,53 @@ | |||
1 | /* | ||
2 | * BSD LICENSE | ||
3 | * | ||
4 | * Copyright(c) 2014 Broadcom Corporation. All rights reserved. | ||
5 | * | ||
6 | * Redistribution and use in source and binary forms, with or without | ||
7 | * modification, are permitted provided that the following conditions | ||
8 | * are met: | ||
9 | * | ||
10 | * * Redistributions of source code must retain the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer. | ||
12 | * * Redistributions in binary form must reproduce the above copyright | ||
13 | * notice, this list of conditions and the following disclaimer in | ||
14 | * the documentation and/or other materials provided with the | ||
15 | * distribution. | ||
16 | * * Neither the name of Broadcom Corporation nor the names of its | ||
17 | * contributors may be used to endorse or promote products derived | ||
18 | * from this software without specific prior written permission. | ||
19 | * | ||
20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
31 | */ | ||
32 | |||
33 | /dts-v1/; | ||
34 | |||
35 | #include "bcm-cygnus.dtsi" | ||
36 | |||
37 | / { | ||
38 | model = "Cygnus SVK (BCM958300K)"; | ||
39 | compatible = "brcm,bcm58300", "brcm,cygnus"; | ||
40 | |||
41 | aliases { | ||
42 | serial0 = &uart3; | ||
43 | }; | ||
44 | |||
45 | chosen { | ||
46 | stdout-path = &uart3; | ||
47 | bootargs = "console=ttyS0,115200"; | ||
48 | }; | ||
49 | |||
50 | uart3: serial@18023000 { | ||
51 | status = "okay"; | ||
52 | }; | ||
53 | }; | ||
diff --git a/arch/arm/boot/dts/berlin2-sony-nsz-gs7.dts b/arch/arm/boot/dts/berlin2-sony-nsz-gs7.dts index c72bfd468d10..86d85d8896a3 100644 --- a/arch/arm/boot/dts/berlin2-sony-nsz-gs7.dts +++ b/arch/arm/boot/dts/berlin2-sony-nsz-gs7.dts | |||
@@ -26,4 +26,20 @@ | |||
26 | }; | 26 | }; |
27 | }; | 27 | }; |
28 | 28 | ||
29 | &ahci { status = "okay"; }; | ||
30 | |||
31 | ð1 { status = "okay"; }; | ||
32 | |||
33 | /* Unpopulated SATA plug on solder side */ | ||
34 | &sata0 { status = "okay"; }; | ||
35 | |||
36 | &sata_phy { status = "okay"; }; | ||
37 | |||
38 | /* Samsung M8G2FA 8GB eMMC */ | ||
39 | &sdhci2 { | ||
40 | non-removable; | ||
41 | bus-width = <8>; | ||
42 | status = "okay"; | ||
43 | }; | ||
44 | |||
29 | &uart0 { status = "okay"; }; | 45 | &uart0 { status = "okay"; }; |
diff --git a/arch/arm/boot/dts/berlin2.dtsi b/arch/arm/boot/dts/berlin2.dtsi index 9d7c810ebd0b..015a06c67c91 100644 --- a/arch/arm/boot/dts/berlin2.dtsi +++ b/arch/arm/boot/dts/berlin2.dtsi | |||
@@ -53,6 +53,35 @@ | |||
53 | 53 | ||
54 | ranges = <0 0xf7000000 0x1000000>; | 54 | ranges = <0 0xf7000000 0x1000000>; |
55 | 55 | ||
56 | sdhci0: sdhci@ab0000 { | ||
57 | compatible = "mrvl,pxav3-mmc"; | ||
58 | reg = <0xab0000 0x200>; | ||
59 | clocks = <&chip CLKID_SDIO0XIN>, <&chip CLKID_SDIO0>; | ||
60 | clock-names = "io", "core"; | ||
61 | interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; | ||
62 | status = "disabled"; | ||
63 | }; | ||
64 | |||
65 | sdhci1: sdhci@ab0800 { | ||
66 | compatible = "mrvl,pxav3-mmc"; | ||
67 | reg = <0xab0800 0x200>; | ||
68 | clocks = <&chip CLKID_SDIO1XIN>, <&chip CLKID_SDIO1>; | ||
69 | clock-names = "io", "core"; | ||
70 | interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; | ||
71 | status = "disabled"; | ||
72 | }; | ||
73 | |||
74 | sdhci2: sdhci@ab1000 { | ||
75 | compatible = "mrvl,pxav3-mmc"; | ||
76 | reg = <0xab1000 0x200>; | ||
77 | interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; | ||
78 | clocks = <&chip CLKID_NFC_ECC>, <&chip CLKID_NFC>; | ||
79 | clock-names = "io", "core"; | ||
80 | pinctrl-0 = <&emmc_pmux>; | ||
81 | pinctrl-names = "default"; | ||
82 | status = "disabled"; | ||
83 | }; | ||
84 | |||
56 | l2: l2-cache-controller@ac0000 { | 85 | l2: l2-cache-controller@ac0000 { |
57 | compatible = "marvell,tauros3-cache", "arm,pl310-cache"; | 86 | compatible = "marvell,tauros3-cache", "arm,pl310-cache"; |
58 | reg = <0xac0000 0x1000>; | 87 | reg = <0xac0000 0x1000>; |
@@ -79,11 +108,47 @@ | |||
79 | clocks = <&chip CLKID_TWD>; | 108 | clocks = <&chip CLKID_TWD>; |
80 | }; | 109 | }; |
81 | 110 | ||
111 | eth1: ethernet@b90000 { | ||
112 | compatible = "marvell,pxa168-eth"; | ||
113 | reg = <0xb90000 0x10000>; | ||
114 | clocks = <&chip CLKID_GETH1>; | ||
115 | interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; | ||
116 | /* set by bootloader */ | ||
117 | local-mac-address = [00 00 00 00 00 00]; | ||
118 | #address-cells = <1>; | ||
119 | #size-cells = <0>; | ||
120 | phy-connection-type = "mii"; | ||
121 | phy-handle = <ðphy1>; | ||
122 | status = "disabled"; | ||
123 | |||
124 | ethphy1: ethernet-phy@0 { | ||
125 | reg = <0>; | ||
126 | }; | ||
127 | }; | ||
128 | |||
82 | cpu-ctrl@dd0000 { | 129 | cpu-ctrl@dd0000 { |
83 | compatible = "marvell,berlin-cpu-ctrl"; | 130 | compatible = "marvell,berlin-cpu-ctrl"; |
84 | reg = <0xdd0000 0x10000>; | 131 | reg = <0xdd0000 0x10000>; |
85 | }; | 132 | }; |
86 | 133 | ||
134 | eth0: ethernet@e50000 { | ||
135 | compatible = "marvell,pxa168-eth"; | ||
136 | reg = <0xe50000 0x10000>; | ||
137 | clocks = <&chip CLKID_GETH0>; | ||
138 | interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; | ||
139 | /* set by bootloader */ | ||
140 | local-mac-address = [00 00 00 00 00 00]; | ||
141 | #address-cells = <1>; | ||
142 | #size-cells = <0>; | ||
143 | phy-connection-type = "mii"; | ||
144 | phy-handle = <ðphy0>; | ||
145 | status = "disabled"; | ||
146 | |||
147 | ethphy0: ethernet-phy@0 { | ||
148 | reg = <0>; | ||
149 | }; | ||
150 | }; | ||
151 | |||
87 | apb@e80000 { | 152 | apb@e80000 { |
88 | compatible = "simple-bus"; | 153 | compatible = "simple-bus"; |
89 | #address-cells = <1>; | 154 | #address-cells = <1>; |
@@ -246,12 +311,57 @@ | |||
246 | }; | 311 | }; |
247 | }; | 312 | }; |
248 | 313 | ||
314 | ahci: sata@e90000 { | ||
315 | compatible = "marvell,berlin2-ahci", "generic-ahci"; | ||
316 | reg = <0xe90000 0x1000>; | ||
317 | interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; | ||
318 | clocks = <&chip CLKID_SATA>; | ||
319 | #address-cells = <1>; | ||
320 | #size-cells = <0>; | ||
321 | |||
322 | sata0: sata-port@0 { | ||
323 | reg = <0>; | ||
324 | phys = <&sata_phy 0>; | ||
325 | status = "disabled"; | ||
326 | }; | ||
327 | |||
328 | sata1: sata-port@1 { | ||
329 | reg = <1>; | ||
330 | phys = <&sata_phy 1>; | ||
331 | status = "disabled"; | ||
332 | }; | ||
333 | }; | ||
334 | |||
335 | sata_phy: phy@e900a0 { | ||
336 | compatible = "marvell,berlin2-sata-phy"; | ||
337 | reg = <0xe900a0 0x200>; | ||
338 | clocks = <&chip CLKID_SATA>; | ||
339 | #address-cells = <1>; | ||
340 | #size-cells = <0>; | ||
341 | #phy-cells = <1>; | ||
342 | status = "disabled"; | ||
343 | |||
344 | sata-phy@0 { | ||
345 | reg = <0>; | ||
346 | }; | ||
347 | |||
348 | sata-phy@1 { | ||
349 | reg = <1>; | ||
350 | }; | ||
351 | }; | ||
352 | |||
249 | chip: chip-control@ea0000 { | 353 | chip: chip-control@ea0000 { |
250 | compatible = "marvell,berlin2-chip-ctrl"; | 354 | compatible = "marvell,berlin2-chip-ctrl"; |
251 | #clock-cells = <1>; | 355 | #clock-cells = <1>; |
356 | #reset-cells = <2>; | ||
252 | reg = <0xea0000 0x400>; | 357 | reg = <0xea0000 0x400>; |
253 | clocks = <&refclk>; | 358 | clocks = <&refclk>; |
254 | clock-names = "refclk"; | 359 | clock-names = "refclk"; |
360 | |||
361 | emmc_pmux: emmc-pmux { | ||
362 | groups = "G26"; | ||
363 | function = "emmc"; | ||
364 | }; | ||
255 | }; | 365 | }; |
256 | 366 | ||
257 | apb@fc0000 { | 367 | apb@fc0000 { |
diff --git a/arch/arm/boot/dts/berlin2cd-google-chromecast.dts b/arch/arm/boot/dts/berlin2cd-google-chromecast.dts index bcd81ffc495d..30270be4d0c9 100644 --- a/arch/arm/boot/dts/berlin2cd-google-chromecast.dts +++ b/arch/arm/boot/dts/berlin2cd-google-chromecast.dts | |||
@@ -11,6 +11,7 @@ | |||
11 | /dts-v1/; | 11 | /dts-v1/; |
12 | 12 | ||
13 | #include "berlin2cd.dtsi" | 13 | #include "berlin2cd.dtsi" |
14 | #include <dt-bindings/gpio/gpio.h> | ||
14 | 15 | ||
15 | / { | 16 | / { |
16 | model = "Google Chromecast"; | 17 | model = "Google Chromecast"; |
@@ -24,6 +25,35 @@ | |||
24 | device_type = "memory"; | 25 | device_type = "memory"; |
25 | reg = <0x00000000 0x20000000>; /* 512 MB */ | 26 | reg = <0x00000000 0x20000000>; /* 512 MB */ |
26 | }; | 27 | }; |
28 | |||
29 | leds { | ||
30 | compatible = "gpio-leds"; | ||
31 | |||
32 | white { | ||
33 | label = "white"; | ||
34 | gpios = <&portc 1 GPIO_ACTIVE_HIGH>; | ||
35 | default-state = "keep"; | ||
36 | }; | ||
37 | |||
38 | red { | ||
39 | label = "red"; | ||
40 | gpios = <&portc 2 GPIO_ACTIVE_HIGH>; | ||
41 | default-state = "keep"; | ||
42 | }; | ||
43 | }; | ||
44 | }; | ||
45 | |||
46 | /* | ||
47 | * AzureWave AW-NH387 (Marvell 88W8787) | ||
48 | * 802.11b/g/n + Bluetooth 2.1 | ||
49 | */ | ||
50 | &sdhci0 { | ||
51 | non-removable; | ||
52 | status = "okay"; | ||
27 | }; | 53 | }; |
28 | 54 | ||
29 | &uart0 { status = "okay"; }; | 55 | &uart0 { status = "okay"; }; |
56 | |||
57 | &usb_phy1 { status = "okay"; }; | ||
58 | |||
59 | &usb1 { status = "okay"; }; | ||
diff --git a/arch/arm/boot/dts/berlin2cd.dtsi b/arch/arm/boot/dts/berlin2cd.dtsi index cc1df65da504..230df3b1770e 100644 --- a/arch/arm/boot/dts/berlin2cd.dtsi +++ b/arch/arm/boot/dts/berlin2cd.dtsi | |||
@@ -45,6 +45,15 @@ | |||
45 | 45 | ||
46 | ranges = <0 0xf7000000 0x1000000>; | 46 | ranges = <0 0xf7000000 0x1000000>; |
47 | 47 | ||
48 | sdhci0: sdhci@ab0000 { | ||
49 | compatible = "mrvl,pxav3-mmc"; | ||
50 | reg = <0xab0000 0x200>; | ||
51 | clocks = <&chip CLKID_SDIO0XIN>, <&chip CLKID_SDIO0>; | ||
52 | clock-names = "io", "core"; | ||
53 | interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; | ||
54 | status = "disabled"; | ||
55 | }; | ||
56 | |||
48 | l2: l2-cache-controller@ac0000 { | 57 | l2: l2-cache-controller@ac0000 { |
49 | compatible = "arm,pl310-cache"; | 58 | compatible = "arm,pl310-cache"; |
50 | reg = <0xac0000 0x1000>; | 59 | reg = <0xac0000 0x1000>; |
@@ -66,6 +75,58 @@ | |||
66 | clocks = <&chip CLKID_TWD>; | 75 | clocks = <&chip CLKID_TWD>; |
67 | }; | 76 | }; |
68 | 77 | ||
78 | usb_phy0: usb-phy@b74000 { | ||
79 | compatible = "marvell,berlin2cd-usb-phy"; | ||
80 | reg = <0xb74000 0x128>; | ||
81 | #phy-cells = <0>; | ||
82 | resets = <&chip 0x178 23>; | ||
83 | status = "disabled"; | ||
84 | }; | ||
85 | |||
86 | usb_phy1: usb-phy@b78000 { | ||
87 | compatible = "marvell,berlin2cd-usb-phy"; | ||
88 | reg = <0xb78000 0x128>; | ||
89 | #phy-cells = <0>; | ||
90 | resets = <&chip 0x178 24>; | ||
91 | status = "disabled"; | ||
92 | }; | ||
93 | |||
94 | eth1: ethernet@b90000 { | ||
95 | compatible = "marvell,pxa168-eth"; | ||
96 | reg = <0xb90000 0x10000>; | ||
97 | clocks = <&chip CLKID_GETH1>; | ||
98 | interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; | ||
99 | /* set by bootloader */ | ||
100 | local-mac-address = [00 00 00 00 00 00]; | ||
101 | #address-cells = <1>; | ||
102 | #size-cells = <0>; | ||
103 | phy-connection-type = "mii"; | ||
104 | phy-handle = <ðphy1>; | ||
105 | status = "disabled"; | ||
106 | |||
107 | ethphy1: ethernet-phy@0 { | ||
108 | reg = <0>; | ||
109 | }; | ||
110 | }; | ||
111 | |||
112 | eth0: ethernet@e50000 { | ||
113 | compatible = "marvell,pxa168-eth"; | ||
114 | reg = <0xe50000 0x10000>; | ||
115 | clocks = <&chip CLKID_GETH0>; | ||
116 | interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; | ||
117 | /* set by bootloader */ | ||
118 | local-mac-address = [00 00 00 00 00 00]; | ||
119 | #address-cells = <1>; | ||
120 | #size-cells = <0>; | ||
121 | phy-connection-type = "mii"; | ||
122 | phy-handle = <ðphy0>; | ||
123 | status = "disabled"; | ||
124 | |||
125 | ethphy0: ethernet-phy@0 { | ||
126 | reg = <0>; | ||
127 | }; | ||
128 | }; | ||
129 | |||
69 | apb@e80000 { | 130 | apb@e80000 { |
70 | compatible = "simple-bus"; | 131 | compatible = "simple-bus"; |
71 | #address-cells = <1>; | 132 | #address-cells = <1>; |
@@ -231,6 +292,7 @@ | |||
231 | chip: chip-control@ea0000 { | 292 | chip: chip-control@ea0000 { |
232 | compatible = "marvell,berlin2cd-chip-ctrl"; | 293 | compatible = "marvell,berlin2cd-chip-ctrl"; |
233 | #clock-cells = <1>; | 294 | #clock-cells = <1>; |
295 | #reset-cells = <2>; | ||
234 | reg = <0xea0000 0x400>; | 296 | reg = <0xea0000 0x400>; |
235 | clocks = <&refclk>; | 297 | clocks = <&refclk>; |
236 | clock-names = "refclk"; | 298 | clock-names = "refclk"; |
@@ -241,6 +303,26 @@ | |||
241 | }; | 303 | }; |
242 | }; | 304 | }; |
243 | 305 | ||
306 | usb0: usb@ed0000 { | ||
307 | compatible = "chipidea,usb2"; | ||
308 | reg = <0xed0000 0x200>; | ||
309 | interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; | ||
310 | clocks = <&chip CLKID_USB0>; | ||
311 | phys = <&usb_phy0>; | ||
312 | phy-names = "usb-phy"; | ||
313 | status = "disabled"; | ||
314 | }; | ||
315 | |||
316 | usb1: usb@ee0000 { | ||
317 | compatible = "chipidea,usb2"; | ||
318 | reg = <0xee0000 0x200>; | ||
319 | interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; | ||
320 | clocks = <&chip CLKID_USB1>; | ||
321 | phys = <&usb_phy1>; | ||
322 | phy-names = "usb-phy"; | ||
323 | status = "disabled"; | ||
324 | }; | ||
325 | |||
244 | apb@fc0000 { | 326 | apb@fc0000 { |
245 | compatible = "simple-bus"; | 327 | compatible = "simple-bus"; |
246 | #address-cells = <1>; | 328 | #address-cells = <1>; |
diff --git a/arch/arm/boot/dts/berlin2q-marvell-dmp.dts b/arch/arm/boot/dts/berlin2q-marvell-dmp.dts index ea1f99b8eed6..28e7e2060c33 100644 --- a/arch/arm/boot/dts/berlin2q-marvell-dmp.dts +++ b/arch/arm/boot/dts/berlin2q-marvell-dmp.dts | |||
@@ -7,6 +7,8 @@ | |||
7 | */ | 7 | */ |
8 | 8 | ||
9 | /dts-v1/; | 9 | /dts-v1/; |
10 | |||
11 | #include <dt-bindings/gpio/gpio.h> | ||
10 | #include "berlin2q.dtsi" | 12 | #include "berlin2q.dtsi" |
11 | 13 | ||
12 | / { | 14 | / { |
@@ -21,6 +23,39 @@ | |||
21 | choosen { | 23 | choosen { |
22 | bootargs = "console=ttyS0,115200 earlyprintk"; | 24 | bootargs = "console=ttyS0,115200 earlyprintk"; |
23 | }; | 25 | }; |
26 | |||
27 | regulators { | ||
28 | compatible = "simple-bus"; | ||
29 | #address-cells = <1>; | ||
30 | #size-cells = <0>; | ||
31 | |||
32 | reg_usb0_vbus: regulator@0 { | ||
33 | compatible = "regulator-fixed"; | ||
34 | regulator-name = "usb0_vbus"; | ||
35 | regulator-min-microvolt = <5000000>; | ||
36 | regulator-max-microvolt = <5000000>; | ||
37 | gpio = <&portb 8 GPIO_ACTIVE_HIGH>; | ||
38 | enable-active-high; | ||
39 | }; | ||
40 | |||
41 | reg_usb1_vbus: regulator@1 { | ||
42 | compatible = "regulator-fixed"; | ||
43 | regulator-name = "usb1_vbus"; | ||
44 | regulator-min-microvolt = <5000000>; | ||
45 | regulator-max-microvolt = <5000000>; | ||
46 | gpio = <&portb 10 GPIO_ACTIVE_HIGH>; | ||
47 | enable-active-high; | ||
48 | }; | ||
49 | |||
50 | reg_usb2_vbus: regulator@2 { | ||
51 | compatible = "regulator-fixed"; | ||
52 | regulator-name = "usb2_vbus"; | ||
53 | regulator-min-microvolt = <5000000>; | ||
54 | regulator-max-microvolt = <5000000>; | ||
55 | gpio = <&portb 12 GPIO_ACTIVE_HIGH>; | ||
56 | enable-active-high; | ||
57 | }; | ||
58 | }; | ||
24 | }; | 59 | }; |
25 | 60 | ||
26 | &sdhci1 { | 61 | &sdhci1 { |
@@ -46,6 +81,32 @@ | |||
46 | status = "okay"; | 81 | status = "okay"; |
47 | }; | 82 | }; |
48 | 83 | ||
84 | &usb_phy0 { | ||
85 | status = "okay"; | ||
86 | }; | ||
87 | |||
88 | &usb_phy2 { | ||
89 | status = "okay"; | ||
90 | }; | ||
91 | |||
92 | &usb0 { | ||
93 | vbus-supply = <®_usb0_vbus>; | ||
94 | status = "okay"; | ||
95 | }; | ||
96 | |||
97 | &usb2 { | ||
98 | vbus-supply = <®_usb2_vbus>; | ||
99 | status = "okay"; | ||
100 | }; | ||
101 | |||
49 | ð0 { | 102 | ð0 { |
50 | status = "okay"; | 103 | status = "okay"; |
51 | }; | 104 | }; |
105 | |||
106 | &sata0 { | ||
107 | status = "okay"; | ||
108 | }; | ||
109 | |||
110 | &sata_phy { | ||
111 | status = "okay"; | ||
112 | }; | ||
diff --git a/arch/arm/boot/dts/berlin2q.dtsi b/arch/arm/boot/dts/berlin2q.dtsi index 891d56b03922..35253c947a7c 100644 --- a/arch/arm/boot/dts/berlin2q.dtsi +++ b/arch/arm/boot/dts/berlin2q.dtsi | |||
@@ -114,6 +114,40 @@ | |||
114 | #interrupt-cells = <3>; | 114 | #interrupt-cells = <3>; |
115 | }; | 115 | }; |
116 | 116 | ||
117 | usb_phy2: phy@a2f400 { | ||
118 | compatible = "marvell,berlin2-usb-phy"; | ||
119 | reg = <0xa2f400 0x128>; | ||
120 | #phy-cells = <0>; | ||
121 | resets = <&chip 0x104 14>; | ||
122 | status = "disabled"; | ||
123 | }; | ||
124 | |||
125 | usb2: usb@a30000 { | ||
126 | compatible = "chipidea,usb2"; | ||
127 | reg = <0xa30000 0x10000>; | ||
128 | interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; | ||
129 | clocks = <&chip CLKID_USB2>; | ||
130 | phys = <&usb_phy2>; | ||
131 | phy-names = "usb-phy"; | ||
132 | status = "disabled"; | ||
133 | }; | ||
134 | |||
135 | usb_phy0: phy@b74000 { | ||
136 | compatible = "marvell,berlin2-usb-phy"; | ||
137 | reg = <0xb74000 0x128>; | ||
138 | #phy-cells = <0>; | ||
139 | resets = <&chip 0x104 12>; | ||
140 | status = "disabled"; | ||
141 | }; | ||
142 | |||
143 | usb_phy1: phy@b78000 { | ||
144 | compatible = "marvell,berlin2-usb-phy"; | ||
145 | reg = <0xb78000 0x128>; | ||
146 | #phy-cells = <0>; | ||
147 | resets = <&chip 0x104 13>; | ||
148 | status = "disabled"; | ||
149 | }; | ||
150 | |||
117 | eth0: ethernet@b90000 { | 151 | eth0: ethernet@b90000 { |
118 | compatible = "marvell,pxa168-eth"; | 152 | compatible = "marvell,pxa168-eth"; |
119 | reg = <0xb90000 0x10000>; | 153 | reg = <0xb90000 0x10000>; |
@@ -123,6 +157,7 @@ | |||
123 | local-mac-address = [00 00 00 00 00 00]; | 157 | local-mac-address = [00 00 00 00 00 00]; |
124 | #address-cells = <1>; | 158 | #address-cells = <1>; |
125 | #size-cells = <0>; | 159 | #size-cells = <0>; |
160 | phy-connection-type = "mii"; | ||
126 | phy-handle = <ðphy0>; | 161 | phy-handle = <ðphy0>; |
127 | status = "disabled"; | 162 | status = "disabled"; |
128 | 163 | ||
@@ -255,7 +290,6 @@ | |||
255 | reg = <0x2c14 0x14>; | 290 | reg = <0x2c14 0x14>; |
256 | clocks = <&chip CLKID_CFG>; | 291 | clocks = <&chip CLKID_CFG>; |
257 | clock-names = "timer"; | 292 | clock-names = "timer"; |
258 | status = "disabled"; | ||
259 | }; | 293 | }; |
260 | 294 | ||
261 | timer2: timer@2c28 { | 295 | timer2: timer@2c28 { |
@@ -349,6 +383,7 @@ | |||
349 | chip: chip-control@ea0000 { | 383 | chip: chip-control@ea0000 { |
350 | compatible = "marvell,berlin2q-chip-ctrl"; | 384 | compatible = "marvell,berlin2q-chip-ctrl"; |
351 | #clock-cells = <1>; | 385 | #clock-cells = <1>; |
386 | #reset-cells = <2>; | ||
352 | reg = <0xea0000 0x400>, <0xdd0170 0x10>; | 387 | reg = <0xea0000 0x400>, <0xdd0170 0x10>; |
353 | clocks = <&refclk>; | 388 | clocks = <&refclk>; |
354 | clock-names = "refclk"; | 389 | clock-names = "refclk"; |
@@ -364,6 +399,65 @@ | |||
364 | }; | 399 | }; |
365 | }; | 400 | }; |
366 | 401 | ||
402 | ahci: sata@e90000 { | ||
403 | compatible = "marvell,berlin2q-ahci", "generic-ahci"; | ||
404 | reg = <0xe90000 0x1000>; | ||
405 | interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; | ||
406 | clocks = <&chip CLKID_SATA>; | ||
407 | #address-cells = <1>; | ||
408 | #size-cells = <0>; | ||
409 | |||
410 | sata0: sata-port@0 { | ||
411 | reg = <0>; | ||
412 | phys = <&sata_phy 0>; | ||
413 | status = "disabled"; | ||
414 | }; | ||
415 | |||
416 | sata1: sata-port@1 { | ||
417 | reg = <1>; | ||
418 | phys = <&sata_phy 1>; | ||
419 | status = "disabled"; | ||
420 | }; | ||
421 | }; | ||
422 | |||
423 | sata_phy: phy@e900a0 { | ||
424 | compatible = "marvell,berlin2q-sata-phy"; | ||
425 | reg = <0xe900a0 0x200>; | ||
426 | clocks = <&chip CLKID_SATA>; | ||
427 | #address-cells = <1>; | ||
428 | #size-cells = <0>; | ||
429 | #phy-cells = <1>; | ||
430 | status = "disabled"; | ||
431 | |||
432 | sata-phy@0 { | ||
433 | reg = <0>; | ||
434 | }; | ||
435 | |||
436 | sata-phy@1 { | ||
437 | reg = <1>; | ||
438 | }; | ||
439 | }; | ||
440 | |||
441 | usb0: usb@ed0000 { | ||
442 | compatible = "chipidea,usb2"; | ||
443 | reg = <0xed0000 0x10000>; | ||
444 | interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; | ||
445 | clocks = <&chip CLKID_USB0>; | ||
446 | phys = <&usb_phy0>; | ||
447 | phy-names = "usb-phy"; | ||
448 | status = "disabled"; | ||
449 | }; | ||
450 | |||
451 | usb1: usb@ee0000 { | ||
452 | compatible = "chipidea,usb2"; | ||
453 | reg = <0xee0000 0x10000>; | ||
454 | interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; | ||
455 | clocks = <&chip CLKID_USB1>; | ||
456 | phys = <&usb_phy1>; | ||
457 | phy-names = "usb-phy"; | ||
458 | status = "disabled"; | ||
459 | }; | ||
460 | |||
367 | apb@fc0000 { | 461 | apb@fc0000 { |
368 | compatible = "simple-bus"; | 462 | compatible = "simple-bus"; |
369 | #address-cells = <1>; | 463 | #address-cells = <1>; |
diff --git a/arch/arm/boot/dts/dra7-evm.dts b/arch/arm/boot/dts/dra7-evm.dts index c6ce6258434f..736092b1a535 100644 --- a/arch/arm/boot/dts/dra7-evm.dts +++ b/arch/arm/boot/dts/dra7-evm.dts | |||
@@ -171,6 +171,101 @@ | |||
171 | 0xd0 (PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle */ | 171 | 0xd0 (PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle */ |
172 | >; | 172 | >; |
173 | }; | 173 | }; |
174 | |||
175 | cpsw_default: cpsw_default { | ||
176 | pinctrl-single,pins = < | ||
177 | /* Slave 1 */ | ||
178 | 0x250 (PIN_OUTPUT | MUX_MODE0) /* rgmii0_txc.rgmii0_txc */ | ||
179 | 0x254 (PIN_OUTPUT | MUX_MODE0) /* rgmii0_txctl.rgmii0_txctl */ | ||
180 | 0x258 (PIN_OUTPUT | MUX_MODE0) /* rgmii0_td3.rgmii0_txd3 */ | ||
181 | 0x25c (PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd2.rgmii0_txd2 */ | ||
182 | 0x260 (PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd1.rgmii0_txd1 */ | ||
183 | 0x264 (PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd0.rgmii0_txd0 */ | ||
184 | 0x268 (PIN_INPUT | MUX_MODE0) /* rgmii0_rxc.rgmii0_rxc */ | ||
185 | 0x26c (PIN_INPUT | MUX_MODE0) /* rgmii0_rxctl.rgmii0_rxctl */ | ||
186 | 0x270 (PIN_INPUT | MUX_MODE0) /* rgmii0_rxd3.rgmii0_rxd3 */ | ||
187 | 0x274 (PIN_INPUT | MUX_MODE0) /* rgmii0_rxd2.rgmii0_rxd2 */ | ||
188 | 0x278 (PIN_INPUT | MUX_MODE0) /* rgmii0_rxd1.rgmii0_rxd1 */ | ||
189 | 0x27c (PIN_INPUT | MUX_MODE0) /* rgmii0_rxd0.rgmii0_rxd0 */ | ||
190 | |||
191 | /* Slave 2 */ | ||
192 | 0x198 (PIN_OUTPUT | MUX_MODE3) /* vin2a_d12.rgmii1_txc */ | ||
193 | 0x19c (PIN_OUTPUT | MUX_MODE3) /* vin2a_d13.rgmii1_tctl */ | ||
194 | 0x1a0 (PIN_OUTPUT | MUX_MODE3) /* vin2a_d14.rgmii1_td3 */ | ||
195 | 0x1a4 (PIN_OUTPUT | MUX_MODE3) /* vin2a_d15.rgmii1_td2 */ | ||
196 | 0x1a8 (PIN_OUTPUT | MUX_MODE3) /* vin2a_d16.rgmii1_td1 */ | ||
197 | 0x1ac (PIN_OUTPUT | MUX_MODE3) /* vin2a_d17.rgmii1_td0 */ | ||
198 | 0x1b0 (PIN_INPUT | MUX_MODE3) /* vin2a_d18.rgmii1_rclk */ | ||
199 | 0x1b4 (PIN_INPUT | MUX_MODE3) /* vin2a_d19.rgmii1_rctl */ | ||
200 | 0x1b8 (PIN_INPUT | MUX_MODE3) /* vin2a_d20.rgmii1_rd3 */ | ||
201 | 0x1bc (PIN_INPUT | MUX_MODE3) /* vin2a_d21.rgmii1_rd2 */ | ||
202 | 0x1c0 (PIN_INPUT | MUX_MODE3) /* vin2a_d22.rgmii1_rd1 */ | ||
203 | 0x1c4 (PIN_INPUT | MUX_MODE3) /* vin2a_d23.rgmii1_rd0 */ | ||
204 | >; | ||
205 | |||
206 | }; | ||
207 | |||
208 | cpsw_sleep: cpsw_sleep { | ||
209 | pinctrl-single,pins = < | ||
210 | /* Slave 1 */ | ||
211 | 0x250 (MUX_MODE15) | ||
212 | 0x254 (MUX_MODE15) | ||
213 | 0x258 (MUX_MODE15) | ||
214 | 0x25c (MUX_MODE15) | ||
215 | 0x260 (MUX_MODE15) | ||
216 | 0x264 (MUX_MODE15) | ||
217 | 0x268 (MUX_MODE15) | ||
218 | 0x26c (MUX_MODE15) | ||
219 | 0x270 (MUX_MODE15) | ||
220 | 0x274 (MUX_MODE15) | ||
221 | 0x278 (MUX_MODE15) | ||
222 | 0x27c (MUX_MODE15) | ||
223 | |||
224 | /* Slave 2 */ | ||
225 | 0x198 (MUX_MODE15) | ||
226 | 0x19c (MUX_MODE15) | ||
227 | 0x1a0 (MUX_MODE15) | ||
228 | 0x1a4 (MUX_MODE15) | ||
229 | 0x1a8 (MUX_MODE15) | ||
230 | 0x1ac (MUX_MODE15) | ||
231 | 0x1b0 (MUX_MODE15) | ||
232 | 0x1b4 (MUX_MODE15) | ||
233 | 0x1b8 (MUX_MODE15) | ||
234 | 0x1bc (MUX_MODE15) | ||
235 | 0x1c0 (MUX_MODE15) | ||
236 | 0x1c4 (MUX_MODE15) | ||
237 | >; | ||
238 | }; | ||
239 | |||
240 | davinci_mdio_default: davinci_mdio_default { | ||
241 | pinctrl-single,pins = < | ||
242 | 0x23c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_d.mdio_d */ | ||
243 | 0x240 (PIN_INPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */ | ||
244 | >; | ||
245 | }; | ||
246 | |||
247 | davinci_mdio_sleep: davinci_mdio_sleep { | ||
248 | pinctrl-single,pins = < | ||
249 | 0x23c (MUX_MODE15) | ||
250 | 0x240 (MUX_MODE15) | ||
251 | >; | ||
252 | }; | ||
253 | |||
254 | dcan1_pins_default: dcan1_pins_default { | ||
255 | pinctrl-single,pins = < | ||
256 | 0x3d0 (PIN_OUTPUT | MUX_MODE0) /* dcan1_tx */ | ||
257 | 0x3d4 (MUX_MODE15) /* dcan1_rx.off */ | ||
258 | 0x418 (PULL_DIS | MUX_MODE1) /* wakeup0.dcan1_rx */ | ||
259 | >; | ||
260 | }; | ||
261 | |||
262 | dcan1_pins_sleep: dcan1_pins_sleep { | ||
263 | pinctrl-single,pins = < | ||
264 | 0x3d0 (MUX_MODE15) /* dcan1_tx.off */ | ||
265 | 0x3d4 (MUX_MODE15) /* dcan1_rx.off */ | ||
266 | 0x418 (MUX_MODE15) /* wakeup0.off */ | ||
267 | >; | ||
268 | }; | ||
174 | }; | 269 | }; |
175 | 270 | ||
176 | &i2c1 { | 271 | &i2c1 { |
@@ -201,6 +296,7 @@ | |||
201 | regulator-name = "smps45"; | 296 | regulator-name = "smps45"; |
202 | regulator-min-microvolt = < 850000>; | 297 | regulator-min-microvolt = < 850000>; |
203 | regulator-max-microvolt = <1150000>; | 298 | regulator-max-microvolt = <1150000>; |
299 | regulator-always-on; | ||
204 | regulator-boot-on; | 300 | regulator-boot-on; |
205 | }; | 301 | }; |
206 | 302 | ||
@@ -209,6 +305,7 @@ | |||
209 | regulator-name = "smps6"; | 305 | regulator-name = "smps6"; |
210 | regulator-min-microvolt = <850000>; | 306 | regulator-min-microvolt = <850000>; |
211 | regulator-max-microvolt = <12500000>; | 307 | regulator-max-microvolt = <12500000>; |
308 | regulator-always-on; | ||
212 | regulator-boot-on; | 309 | regulator-boot-on; |
213 | }; | 310 | }; |
214 | 311 | ||
@@ -226,6 +323,7 @@ | |||
226 | regulator-name = "smps8"; | 323 | regulator-name = "smps8"; |
227 | regulator-min-microvolt = < 850000>; | 324 | regulator-min-microvolt = < 850000>; |
228 | regulator-max-microvolt = <1250000>; | 325 | regulator-max-microvolt = <1250000>; |
326 | regulator-always-on; | ||
229 | regulator-boot-on; | 327 | regulator-boot-on; |
230 | }; | 328 | }; |
231 | 329 | ||
@@ -252,6 +350,7 @@ | |||
252 | regulator-name = "ldo2"; | 350 | regulator-name = "ldo2"; |
253 | regulator-min-microvolt = <3300000>; | 351 | regulator-min-microvolt = <3300000>; |
254 | regulator-max-microvolt = <3300000>; | 352 | regulator-max-microvolt = <3300000>; |
353 | regulator-always-on; | ||
255 | regulator-boot-on; | 354 | regulator-boot-on; |
256 | }; | 355 | }; |
257 | 356 | ||
@@ -269,6 +368,7 @@ | |||
269 | regulator-name = "ldo9"; | 368 | regulator-name = "ldo9"; |
270 | regulator-min-microvolt = <1050000>; | 369 | regulator-min-microvolt = <1050000>; |
271 | regulator-max-microvolt = <1050000>; | 370 | regulator-max-microvolt = <1050000>; |
371 | regulator-always-on; | ||
272 | regulator-boot-on; | 372 | regulator-boot-on; |
273 | }; | 373 | }; |
274 | 374 | ||
@@ -528,3 +628,36 @@ | |||
528 | ti,no-reset-on-init; | 628 | ti,no-reset-on-init; |
529 | ti,no-idle-on-init; | 629 | ti,no-idle-on-init; |
530 | }; | 630 | }; |
631 | |||
632 | &mac { | ||
633 | status = "okay"; | ||
634 | pinctrl-names = "default", "sleep"; | ||
635 | pinctrl-0 = <&cpsw_default>; | ||
636 | pinctrl-1 = <&cpsw_sleep>; | ||
637 | dual_emac; | ||
638 | }; | ||
639 | |||
640 | &cpsw_emac0 { | ||
641 | phy_id = <&davinci_mdio>, <2>; | ||
642 | phy-mode = "rgmii"; | ||
643 | dual_emac_res_vlan = <1>; | ||
644 | }; | ||
645 | |||
646 | &cpsw_emac1 { | ||
647 | phy_id = <&davinci_mdio>, <3>; | ||
648 | phy-mode = "rgmii"; | ||
649 | dual_emac_res_vlan = <2>; | ||
650 | }; | ||
651 | |||
652 | &davinci_mdio { | ||
653 | pinctrl-names = "default", "sleep"; | ||
654 | pinctrl-0 = <&davinci_mdio_default>; | ||
655 | pinctrl-1 = <&davinci_mdio_sleep>; | ||
656 | }; | ||
657 | |||
658 | &dcan1 { | ||
659 | status = "ok"; | ||
660 | pinctrl-names = "default", "sleep"; | ||
661 | pinctrl-0 = <&dcan1_pins_default>; | ||
662 | pinctrl-1 = <&dcan1_pins_sleep>; | ||
663 | }; | ||
diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi index 9cc98436a982..63bf99be1762 100644 --- a/arch/arm/boot/dts/dra7.dtsi +++ b/arch/arm/boot/dts/dra7.dtsi | |||
@@ -34,6 +34,14 @@ | |||
34 | serial3 = &uart4; | 34 | serial3 = &uart4; |
35 | serial4 = &uart5; | 35 | serial4 = &uart5; |
36 | serial5 = &uart6; | 36 | serial5 = &uart6; |
37 | serial6 = &uart7; | ||
38 | serial7 = &uart8; | ||
39 | serial8 = &uart9; | ||
40 | serial9 = &uart10; | ||
41 | ethernet0 = &cpsw_emac0; | ||
42 | ethernet1 = &cpsw_emac1; | ||
43 | d_can0 = &dcan1; | ||
44 | d_can1 = &dcan2; | ||
37 | }; | 45 | }; |
38 | 46 | ||
39 | timer { | 47 | timer { |
@@ -201,6 +209,11 @@ | |||
201 | ti,hwmods = "counter_32k"; | 209 | ti,hwmods = "counter_32k"; |
202 | }; | 210 | }; |
203 | 211 | ||
212 | dra7_ctrl_core: ctrl_core@4a002000 { | ||
213 | compatible = "syscon"; | ||
214 | reg = <0x4a002000 0x6d0>; | ||
215 | }; | ||
216 | |||
204 | dra7_ctrl_general: tisyscon@4a002e00 { | 217 | dra7_ctrl_general: tisyscon@4a002e00 { |
205 | compatible = "syscon"; | 218 | compatible = "syscon"; |
206 | reg = <0x4a002e00 0x7c>; | 219 | reg = <0x4a002e00 0x7c>; |
@@ -335,6 +348,8 @@ | |||
335 | ti,hwmods = "uart1"; | 348 | ti,hwmods = "uart1"; |
336 | clock-frequency = <48000000>; | 349 | clock-frequency = <48000000>; |
337 | status = "disabled"; | 350 | status = "disabled"; |
351 | dmas = <&sdma 49>, <&sdma 50>; | ||
352 | dma-names = "tx", "rx"; | ||
338 | }; | 353 | }; |
339 | 354 | ||
340 | uart2: serial@4806c000 { | 355 | uart2: serial@4806c000 { |
@@ -344,6 +359,8 @@ | |||
344 | ti,hwmods = "uart2"; | 359 | ti,hwmods = "uart2"; |
345 | clock-frequency = <48000000>; | 360 | clock-frequency = <48000000>; |
346 | status = "disabled"; | 361 | status = "disabled"; |
362 | dmas = <&sdma 51>, <&sdma 52>; | ||
363 | dma-names = "tx", "rx"; | ||
347 | }; | 364 | }; |
348 | 365 | ||
349 | uart3: serial@48020000 { | 366 | uart3: serial@48020000 { |
@@ -353,6 +370,8 @@ | |||
353 | ti,hwmods = "uart3"; | 370 | ti,hwmods = "uart3"; |
354 | clock-frequency = <48000000>; | 371 | clock-frequency = <48000000>; |
355 | status = "disabled"; | 372 | status = "disabled"; |
373 | dmas = <&sdma 53>, <&sdma 54>; | ||
374 | dma-names = "tx", "rx"; | ||
356 | }; | 375 | }; |
357 | 376 | ||
358 | uart4: serial@4806e000 { | 377 | uart4: serial@4806e000 { |
@@ -362,6 +381,8 @@ | |||
362 | ti,hwmods = "uart4"; | 381 | ti,hwmods = "uart4"; |
363 | clock-frequency = <48000000>; | 382 | clock-frequency = <48000000>; |
364 | status = "disabled"; | 383 | status = "disabled"; |
384 | dmas = <&sdma 55>, <&sdma 56>; | ||
385 | dma-names = "tx", "rx"; | ||
365 | }; | 386 | }; |
366 | 387 | ||
367 | uart5: serial@48066000 { | 388 | uart5: serial@48066000 { |
@@ -371,6 +392,8 @@ | |||
371 | ti,hwmods = "uart5"; | 392 | ti,hwmods = "uart5"; |
372 | clock-frequency = <48000000>; | 393 | clock-frequency = <48000000>; |
373 | status = "disabled"; | 394 | status = "disabled"; |
395 | dmas = <&sdma 63>, <&sdma 64>; | ||
396 | dma-names = "tx", "rx"; | ||
374 | }; | 397 | }; |
375 | 398 | ||
376 | uart6: serial@48068000 { | 399 | uart6: serial@48068000 { |
@@ -380,6 +403,8 @@ | |||
380 | ti,hwmods = "uart6"; | 403 | ti,hwmods = "uart6"; |
381 | clock-frequency = <48000000>; | 404 | clock-frequency = <48000000>; |
382 | status = "disabled"; | 405 | status = "disabled"; |
406 | dmas = <&sdma 79>, <&sdma 80>; | ||
407 | dma-names = "tx", "rx"; | ||
383 | }; | 408 | }; |
384 | 409 | ||
385 | uart7: serial@48420000 { | 410 | uart7: serial@48420000 { |
@@ -421,7 +446,11 @@ | |||
421 | mailbox1: mailbox@4a0f4000 { | 446 | mailbox1: mailbox@4a0f4000 { |
422 | compatible = "ti,omap4-mailbox"; | 447 | compatible = "ti,omap4-mailbox"; |
423 | reg = <0x4a0f4000 0x200>; | 448 | reg = <0x4a0f4000 0x200>; |
449 | interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>, | ||
450 | <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>, | ||
451 | <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>; | ||
424 | ti,hwmods = "mailbox1"; | 452 | ti,hwmods = "mailbox1"; |
453 | #mbox-cells = <1>; | ||
425 | ti,mbox-num-users = <3>; | 454 | ti,mbox-num-users = <3>; |
426 | ti,mbox-num-fifos = <8>; | 455 | ti,mbox-num-fifos = <8>; |
427 | status = "disabled"; | 456 | status = "disabled"; |
@@ -430,7 +459,12 @@ | |||
430 | mailbox2: mailbox@4883a000 { | 459 | mailbox2: mailbox@4883a000 { |
431 | compatible = "ti,omap4-mailbox"; | 460 | compatible = "ti,omap4-mailbox"; |
432 | reg = <0x4883a000 0x200>; | 461 | reg = <0x4883a000 0x200>; |
462 | interrupts = <GIC_SPI 237 IRQ_TYPE_LEVEL_HIGH>, | ||
463 | <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>, | ||
464 | <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>, | ||
465 | <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>; | ||
433 | ti,hwmods = "mailbox2"; | 466 | ti,hwmods = "mailbox2"; |
467 | #mbox-cells = <1>; | ||
434 | ti,mbox-num-users = <4>; | 468 | ti,mbox-num-users = <4>; |
435 | ti,mbox-num-fifos = <12>; | 469 | ti,mbox-num-fifos = <12>; |
436 | status = "disabled"; | 470 | status = "disabled"; |
@@ -439,7 +473,12 @@ | |||
439 | mailbox3: mailbox@4883c000 { | 473 | mailbox3: mailbox@4883c000 { |
440 | compatible = "ti,omap4-mailbox"; | 474 | compatible = "ti,omap4-mailbox"; |
441 | reg = <0x4883c000 0x200>; | 475 | reg = <0x4883c000 0x200>; |
476 | interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>, | ||
477 | <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>, | ||
478 | <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>, | ||
479 | <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>; | ||
442 | ti,hwmods = "mailbox3"; | 480 | ti,hwmods = "mailbox3"; |
481 | #mbox-cells = <1>; | ||
443 | ti,mbox-num-users = <4>; | 482 | ti,mbox-num-users = <4>; |
444 | ti,mbox-num-fifos = <12>; | 483 | ti,mbox-num-fifos = <12>; |
445 | status = "disabled"; | 484 | status = "disabled"; |
@@ -448,7 +487,12 @@ | |||
448 | mailbox4: mailbox@4883e000 { | 487 | mailbox4: mailbox@4883e000 { |
449 | compatible = "ti,omap4-mailbox"; | 488 | compatible = "ti,omap4-mailbox"; |
450 | reg = <0x4883e000 0x200>; | 489 | reg = <0x4883e000 0x200>; |
490 | interrupts = <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>, | ||
491 | <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>, | ||
492 | <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>, | ||
493 | <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>; | ||
451 | ti,hwmods = "mailbox4"; | 494 | ti,hwmods = "mailbox4"; |
495 | #mbox-cells = <1>; | ||
452 | ti,mbox-num-users = <4>; | 496 | ti,mbox-num-users = <4>; |
453 | ti,mbox-num-fifos = <12>; | 497 | ti,mbox-num-fifos = <12>; |
454 | status = "disabled"; | 498 | status = "disabled"; |
@@ -457,7 +501,12 @@ | |||
457 | mailbox5: mailbox@48840000 { | 501 | mailbox5: mailbox@48840000 { |
458 | compatible = "ti,omap4-mailbox"; | 502 | compatible = "ti,omap4-mailbox"; |
459 | reg = <0x48840000 0x200>; | 503 | reg = <0x48840000 0x200>; |
504 | interrupts = <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>, | ||
505 | <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>, | ||
506 | <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>, | ||
507 | <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>; | ||
460 | ti,hwmods = "mailbox5"; | 508 | ti,hwmods = "mailbox5"; |
509 | #mbox-cells = <1>; | ||
461 | ti,mbox-num-users = <4>; | 510 | ti,mbox-num-users = <4>; |
462 | ti,mbox-num-fifos = <12>; | 511 | ti,mbox-num-fifos = <12>; |
463 | status = "disabled"; | 512 | status = "disabled"; |
@@ -466,7 +515,12 @@ | |||
466 | mailbox6: mailbox@48842000 { | 515 | mailbox6: mailbox@48842000 { |
467 | compatible = "ti,omap4-mailbox"; | 516 | compatible = "ti,omap4-mailbox"; |
468 | reg = <0x48842000 0x200>; | 517 | reg = <0x48842000 0x200>; |
518 | interrupts = <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>, | ||
519 | <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>, | ||
520 | <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>, | ||
521 | <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>; | ||
469 | ti,hwmods = "mailbox6"; | 522 | ti,hwmods = "mailbox6"; |
523 | #mbox-cells = <1>; | ||
470 | ti,mbox-num-users = <4>; | 524 | ti,mbox-num-users = <4>; |
471 | ti,mbox-num-fifos = <12>; | 525 | ti,mbox-num-fifos = <12>; |
472 | status = "disabled"; | 526 | status = "disabled"; |
@@ -475,7 +529,12 @@ | |||
475 | mailbox7: mailbox@48844000 { | 529 | mailbox7: mailbox@48844000 { |
476 | compatible = "ti,omap4-mailbox"; | 530 | compatible = "ti,omap4-mailbox"; |
477 | reg = <0x48844000 0x200>; | 531 | reg = <0x48844000 0x200>; |
532 | interrupts = <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>, | ||
533 | <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>, | ||
534 | <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>, | ||
535 | <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>; | ||
478 | ti,hwmods = "mailbox7"; | 536 | ti,hwmods = "mailbox7"; |
537 | #mbox-cells = <1>; | ||
479 | ti,mbox-num-users = <4>; | 538 | ti,mbox-num-users = <4>; |
480 | ti,mbox-num-fifos = <12>; | 539 | ti,mbox-num-fifos = <12>; |
481 | status = "disabled"; | 540 | status = "disabled"; |
@@ -484,7 +543,12 @@ | |||
484 | mailbox8: mailbox@48846000 { | 543 | mailbox8: mailbox@48846000 { |
485 | compatible = "ti,omap4-mailbox"; | 544 | compatible = "ti,omap4-mailbox"; |
486 | reg = <0x48846000 0x200>; | 545 | reg = <0x48846000 0x200>; |
546 | interrupts = <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>, | ||
547 | <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>, | ||
548 | <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>, | ||
549 | <GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>; | ||
487 | ti,hwmods = "mailbox8"; | 550 | ti,hwmods = "mailbox8"; |
551 | #mbox-cells = <1>; | ||
488 | ti,mbox-num-users = <4>; | 552 | ti,mbox-num-users = <4>; |
489 | ti,mbox-num-fifos = <12>; | 553 | ti,mbox-num-fifos = <12>; |
490 | status = "disabled"; | 554 | status = "disabled"; |
@@ -493,7 +557,12 @@ | |||
493 | mailbox9: mailbox@4885e000 { | 557 | mailbox9: mailbox@4885e000 { |
494 | compatible = "ti,omap4-mailbox"; | 558 | compatible = "ti,omap4-mailbox"; |
495 | reg = <0x4885e000 0x200>; | 559 | reg = <0x4885e000 0x200>; |
560 | interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>, | ||
561 | <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>, | ||
562 | <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>, | ||
563 | <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; | ||
496 | ti,hwmods = "mailbox9"; | 564 | ti,hwmods = "mailbox9"; |
565 | #mbox-cells = <1>; | ||
497 | ti,mbox-num-users = <4>; | 566 | ti,mbox-num-users = <4>; |
498 | ti,mbox-num-fifos = <12>; | 567 | ti,mbox-num-fifos = <12>; |
499 | status = "disabled"; | 568 | status = "disabled"; |
@@ -502,7 +571,12 @@ | |||
502 | mailbox10: mailbox@48860000 { | 571 | mailbox10: mailbox@48860000 { |
503 | compatible = "ti,omap4-mailbox"; | 572 | compatible = "ti,omap4-mailbox"; |
504 | reg = <0x48860000 0x200>; | 573 | reg = <0x48860000 0x200>; |
574 | interrupts = <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>, | ||
575 | <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>, | ||
576 | <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>, | ||
577 | <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>; | ||
505 | ti,hwmods = "mailbox10"; | 578 | ti,hwmods = "mailbox10"; |
579 | #mbox-cells = <1>; | ||
506 | ti,mbox-num-users = <4>; | 580 | ti,mbox-num-users = <4>; |
507 | ti,mbox-num-fifos = <12>; | 581 | ti,mbox-num-fifos = <12>; |
508 | status = "disabled"; | 582 | status = "disabled"; |
@@ -511,7 +585,12 @@ | |||
511 | mailbox11: mailbox@48862000 { | 585 | mailbox11: mailbox@48862000 { |
512 | compatible = "ti,omap4-mailbox"; | 586 | compatible = "ti,omap4-mailbox"; |
513 | reg = <0x48862000 0x200>; | 587 | reg = <0x48862000 0x200>; |
588 | interrupts = <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH>, | ||
589 | <GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>, | ||
590 | <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>, | ||
591 | <GIC_SPI 276 IRQ_TYPE_LEVEL_HIGH>; | ||
514 | ti,hwmods = "mailbox11"; | 592 | ti,hwmods = "mailbox11"; |
593 | #mbox-cells = <1>; | ||
515 | ti,mbox-num-users = <4>; | 594 | ti,mbox-num-users = <4>; |
516 | ti,mbox-num-fifos = <12>; | 595 | ti,mbox-num-fifos = <12>; |
517 | status = "disabled"; | 596 | status = "disabled"; |
@@ -520,7 +599,12 @@ | |||
520 | mailbox12: mailbox@48864000 { | 599 | mailbox12: mailbox@48864000 { |
521 | compatible = "ti,omap4-mailbox"; | 600 | compatible = "ti,omap4-mailbox"; |
522 | reg = <0x48864000 0x200>; | 601 | reg = <0x48864000 0x200>; |
602 | interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH>, | ||
603 | <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>, | ||
604 | <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>, | ||
605 | <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>; | ||
523 | ti,hwmods = "mailbox12"; | 606 | ti,hwmods = "mailbox12"; |
607 | #mbox-cells = <1>; | ||
524 | ti,mbox-num-users = <4>; | 608 | ti,mbox-num-users = <4>; |
525 | ti,mbox-num-fifos = <12>; | 609 | ti,mbox-num-fifos = <12>; |
526 | status = "disabled"; | 610 | status = "disabled"; |
@@ -529,7 +613,12 @@ | |||
529 | mailbox13: mailbox@48802000 { | 613 | mailbox13: mailbox@48802000 { |
530 | compatible = "ti,omap4-mailbox"; | 614 | compatible = "ti,omap4-mailbox"; |
531 | reg = <0x48802000 0x200>; | 615 | reg = <0x48802000 0x200>; |
616 | interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>, | ||
617 | <GIC_SPI 380 IRQ_TYPE_LEVEL_HIGH>, | ||
618 | <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH>, | ||
619 | <GIC_SPI 382 IRQ_TYPE_LEVEL_HIGH>; | ||
532 | ti,hwmods = "mailbox13"; | 620 | ti,hwmods = "mailbox13"; |
621 | #mbox-cells = <1>; | ||
533 | ti,mbox-num-users = <4>; | 622 | ti,mbox-num-users = <4>; |
534 | ti,mbox-num-fifos = <12>; | 623 | ti,mbox-num-fifos = <12>; |
535 | status = "disabled"; | 624 | status = "disabled"; |
@@ -1075,6 +1164,15 @@ | |||
1075 | status = "disabled"; | 1164 | status = "disabled"; |
1076 | }; | 1165 | }; |
1077 | 1166 | ||
1167 | rtc@48838000 { | ||
1168 | compatible = "ti,am3352-rtc"; | ||
1169 | reg = <0x48838000 0x100>; | ||
1170 | interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>, | ||
1171 | <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>; | ||
1172 | ti,hwmods = "rtcss"; | ||
1173 | clocks = <&sys_32k_ck>; | ||
1174 | }; | ||
1175 | |||
1078 | omap_control_usb2phy1: control-phy@4a002300 { | 1176 | omap_control_usb2phy1: control-phy@4a002300 { |
1079 | compatible = "ti,control-phy-usb2"; | 1177 | compatible = "ti,control-phy-usb2"; |
1080 | reg = <0x4a002300 0x4>; | 1178 | reg = <0x4a002300 0x4>; |
@@ -1141,7 +1239,7 @@ | |||
1141 | }; | 1239 | }; |
1142 | }; | 1240 | }; |
1143 | 1241 | ||
1144 | omap_dwc3_1@48880000 { | 1242 | omap_dwc3_1: omap_dwc3_1@48880000 { |
1145 | compatible = "ti,dwc3"; | 1243 | compatible = "ti,dwc3"; |
1146 | ti,hwmods = "usb_otg_ss1"; | 1244 | ti,hwmods = "usb_otg_ss1"; |
1147 | reg = <0x48880000 0x10000>; | 1245 | reg = <0x48880000 0x10000>; |
@@ -1162,7 +1260,7 @@ | |||
1162 | }; | 1260 | }; |
1163 | }; | 1261 | }; |
1164 | 1262 | ||
1165 | omap_dwc3_2@488c0000 { | 1263 | omap_dwc3_2: omap_dwc3_2@488c0000 { |
1166 | compatible = "ti,dwc3"; | 1264 | compatible = "ti,dwc3"; |
1167 | ti,hwmods = "usb_otg_ss2"; | 1265 | ti,hwmods = "usb_otg_ss2"; |
1168 | reg = <0x488c0000 0x10000>; | 1266 | reg = <0x488c0000 0x10000>; |
@@ -1184,7 +1282,7 @@ | |||
1184 | }; | 1282 | }; |
1185 | 1283 | ||
1186 | /* IRQ for DWC3_3 and DWC3_4 need IRQ crossbar */ | 1284 | /* IRQ for DWC3_3 and DWC3_4 need IRQ crossbar */ |
1187 | omap_dwc3_3@48900000 { | 1285 | omap_dwc3_3: omap_dwc3_3@48900000 { |
1188 | compatible = "ti,dwc3"; | 1286 | compatible = "ti,dwc3"; |
1189 | ti,hwmods = "usb_otg_ss3"; | 1287 | ti,hwmods = "usb_otg_ss3"; |
1190 | reg = <0x48900000 0x10000>; | 1288 | reg = <0x48900000 0x10000>; |
@@ -1204,26 +1302,6 @@ | |||
1204 | }; | 1302 | }; |
1205 | }; | 1303 | }; |
1206 | 1304 | ||
1207 | omap_dwc3_4@48940000 { | ||
1208 | compatible = "ti,dwc3"; | ||
1209 | ti,hwmods = "usb_otg_ss4"; | ||
1210 | reg = <0x48940000 0x10000>; | ||
1211 | interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>; | ||
1212 | #address-cells = <1>; | ||
1213 | #size-cells = <1>; | ||
1214 | utmi-mode = <2>; | ||
1215 | ranges; | ||
1216 | status = "disabled"; | ||
1217 | usb4: usb@48950000 { | ||
1218 | compatible = "snps,dwc3"; | ||
1219 | reg = <0x48950000 0x17000>; | ||
1220 | interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>; | ||
1221 | tx-fifo-resize; | ||
1222 | maximum-speed = "high-speed"; | ||
1223 | dr_mode = "otg"; | ||
1224 | }; | ||
1225 | }; | ||
1226 | |||
1227 | elm: elm@48078000 { | 1305 | elm: elm@48078000 { |
1228 | compatible = "ti,am3352-elm"; | 1306 | compatible = "ti,am3352-elm"; |
1229 | reg = <0x48078000 0xfc0>; /* device IO registers */ | 1307 | reg = <0x48078000 0xfc0>; /* device IO registers */ |
@@ -1265,6 +1343,84 @@ | |||
1265 | ti,irqs-skip = <10 133 139 140>; | 1343 | ti,irqs-skip = <10 133 139 140>; |
1266 | ti,irqs-safe-map = <0>; | 1344 | ti,irqs-safe-map = <0>; |
1267 | }; | 1345 | }; |
1346 | |||
1347 | mac: ethernet@4a100000 { | ||
1348 | compatible = "ti,cpsw"; | ||
1349 | ti,hwmods = "gmac"; | ||
1350 | clocks = <&dpll_gmac_ck>, <&gmac_gmii_ref_clk_div>; | ||
1351 | clock-names = "fck", "cpts"; | ||
1352 | cpdma_channels = <8>; | ||
1353 | ale_entries = <1024>; | ||
1354 | bd_ram_size = <0x2000>; | ||
1355 | no_bd_ram = <0>; | ||
1356 | rx_descs = <64>; | ||
1357 | mac_control = <0x20>; | ||
1358 | slaves = <2>; | ||
1359 | active_slave = <0>; | ||
1360 | cpts_clock_mult = <0x80000000>; | ||
1361 | cpts_clock_shift = <29>; | ||
1362 | reg = <0x48484000 0x1000 | ||
1363 | 0x48485200 0x2E00>; | ||
1364 | #address-cells = <1>; | ||
1365 | #size-cells = <1>; | ||
1366 | /* | ||
1367 | * rx_thresh_pend | ||
1368 | * rx_pend | ||
1369 | * tx_pend | ||
1370 | * misc_pend | ||
1371 | */ | ||
1372 | interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>, | ||
1373 | <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>, | ||
1374 | <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>, | ||
1375 | <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>; | ||
1376 | ranges; | ||
1377 | status = "disabled"; | ||
1378 | |||
1379 | davinci_mdio: mdio@48485000 { | ||
1380 | compatible = "ti,davinci_mdio"; | ||
1381 | #address-cells = <1>; | ||
1382 | #size-cells = <0>; | ||
1383 | ti,hwmods = "davinci_mdio"; | ||
1384 | bus_freq = <1000000>; | ||
1385 | reg = <0x48485000 0x100>; | ||
1386 | }; | ||
1387 | |||
1388 | cpsw_emac0: slave@48480200 { | ||
1389 | /* Filled in by U-Boot */ | ||
1390 | mac-address = [ 00 00 00 00 00 00 ]; | ||
1391 | }; | ||
1392 | |||
1393 | cpsw_emac1: slave@48480300 { | ||
1394 | /* Filled in by U-Boot */ | ||
1395 | mac-address = [ 00 00 00 00 00 00 ]; | ||
1396 | }; | ||
1397 | |||
1398 | phy_sel: cpsw-phy-sel@4a002554 { | ||
1399 | compatible = "ti,dra7xx-cpsw-phy-sel"; | ||
1400 | reg= <0x4a002554 0x4>; | ||
1401 | reg-names = "gmii-sel"; | ||
1402 | }; | ||
1403 | }; | ||
1404 | |||
1405 | dcan1: can@481cc000 { | ||
1406 | compatible = "ti,dra7-d_can"; | ||
1407 | ti,hwmods = "dcan1"; | ||
1408 | reg = <0x4ae3c000 0x2000>; | ||
1409 | syscon-raminit = <&dra7_ctrl_core 0x558 0>; | ||
1410 | interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>; | ||
1411 | clocks = <&dcan1_sys_clk_mux>; | ||
1412 | status = "disabled"; | ||
1413 | }; | ||
1414 | |||
1415 | dcan2: can@481d0000 { | ||
1416 | compatible = "ti,dra7-d_can"; | ||
1417 | ti,hwmods = "dcan2"; | ||
1418 | reg = <0x48480000 0x2000>; | ||
1419 | syscon-raminit = <&dra7_ctrl_core 0x558 1>; | ||
1420 | interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>; | ||
1421 | clocks = <&sys_clkin1>; | ||
1422 | status = "disabled"; | ||
1423 | }; | ||
1268 | }; | 1424 | }; |
1269 | }; | 1425 | }; |
1270 | 1426 | ||
diff --git a/arch/arm/boot/dts/dra72-evm.dts b/arch/arm/boot/dts/dra72-evm.dts index 41074288adfa..afc74fd4bb5e 100644 --- a/arch/arm/boot/dts/dra72-evm.dts +++ b/arch/arm/boot/dts/dra72-evm.dts | |||
@@ -17,6 +17,13 @@ | |||
17 | device_type = "memory"; | 17 | device_type = "memory"; |
18 | reg = <0x80000000 0x40000000>; /* 1024 MB */ | 18 | reg = <0x80000000 0x40000000>; /* 1024 MB */ |
19 | }; | 19 | }; |
20 | |||
21 | evm_3v3: fixedregulator-evm_3v3 { | ||
22 | compatible = "regulator-fixed"; | ||
23 | regulator-name = "evm_3v3"; | ||
24 | regulator-min-microvolt = <3300000>; | ||
25 | regulator-max-microvolt = <3300000>; | ||
26 | }; | ||
20 | }; | 27 | }; |
21 | 28 | ||
22 | &dra7_pmx_core { | 29 | &dra7_pmx_core { |
@@ -26,6 +33,94 @@ | |||
26 | 0x404 (PIN_INPUT | MUX_MODE0) /* i2c1_scl.i2c1_scl */ | 33 | 0x404 (PIN_INPUT | MUX_MODE0) /* i2c1_scl.i2c1_scl */ |
27 | >; | 34 | >; |
28 | }; | 35 | }; |
36 | |||
37 | nand_default: nand_default { | ||
38 | pinctrl-single,pins = < | ||
39 | 0x0 (PIN_INPUT | MUX_MODE0) /* gpmc_ad0 */ | ||
40 | 0x4 (PIN_INPUT | MUX_MODE0) /* gpmc_ad1 */ | ||
41 | 0x8 (PIN_INPUT | MUX_MODE0) /* gpmc_ad2 */ | ||
42 | 0xc (PIN_INPUT | MUX_MODE0) /* gpmc_ad3 */ | ||
43 | 0x10 (PIN_INPUT | MUX_MODE0) /* gpmc_ad4 */ | ||
44 | 0x14 (PIN_INPUT | MUX_MODE0) /* gpmc_ad5 */ | ||
45 | 0x18 (PIN_INPUT | MUX_MODE0) /* gpmc_ad6 */ | ||
46 | 0x1c (PIN_INPUT | MUX_MODE0) /* gpmc_ad7 */ | ||
47 | 0x20 (PIN_INPUT | MUX_MODE0) /* gpmc_ad8 */ | ||
48 | 0x24 (PIN_INPUT | MUX_MODE0) /* gpmc_ad9 */ | ||
49 | 0x28 (PIN_INPUT | MUX_MODE0) /* gpmc_ad10 */ | ||
50 | 0x2c (PIN_INPUT | MUX_MODE0) /* gpmc_ad11 */ | ||
51 | 0x30 (PIN_INPUT | MUX_MODE0) /* gpmc_ad12 */ | ||
52 | 0x34 (PIN_INPUT | MUX_MODE0) /* gpmc_ad13 */ | ||
53 | 0x38 (PIN_INPUT | MUX_MODE0) /* gpmc_ad14 */ | ||
54 | 0x3c (PIN_INPUT | MUX_MODE0) /* gpmc_ad15 */ | ||
55 | 0xb4 (PIN_OUTPUT | MUX_MODE0) /* gpmc_cs0 */ | ||
56 | 0xc4 (PIN_OUTPUT | MUX_MODE0) /* gpmc_advn_ale */ | ||
57 | 0xcc (PIN_OUTPUT | MUX_MODE0) /* gpmc_wen */ | ||
58 | 0xc8 (PIN_OUTPUT | MUX_MODE0) /* gpmc_oen_ren */ | ||
59 | 0xd0 (PIN_OUTPUT | MUX_MODE0) /* gpmc_ben0 */ | ||
60 | 0xd8 (PIN_INPUT | MUX_MODE0) /* gpmc_wait0 */ | ||
61 | >; | ||
62 | }; | ||
63 | |||
64 | usb1_pins: pinmux_usb1_pins { | ||
65 | pinctrl-single,pins = < | ||
66 | 0x280 (PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */ | ||
67 | >; | ||
68 | }; | ||
69 | |||
70 | usb2_pins: pinmux_usb2_pins { | ||
71 | pinctrl-single,pins = < | ||
72 | 0x284 (PIN_INPUT_SLEW | MUX_MODE0) /* usb2_drvvbus */ | ||
73 | >; | ||
74 | }; | ||
75 | |||
76 | tps65917_pins_default: tps65917_pins_default { | ||
77 | pinctrl-single,pins = < | ||
78 | 0x424 (PIN_INPUT_PULLUP | MUX_MODE1) /* wakeup3.sys_nirq1 */ | ||
79 | >; | ||
80 | }; | ||
81 | |||
82 | mmc1_pins_default: mmc1_pins_default { | ||
83 | pinctrl-single,pins = < | ||
84 | 0x36c (PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */ | ||
85 | 0x354 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */ | ||
86 | 0x358 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */ | ||
87 | 0x35c (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */ | ||
88 | 0x360 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */ | ||
89 | 0x364 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */ | ||
90 | 0x368 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */ | ||
91 | >; | ||
92 | }; | ||
93 | |||
94 | mmc2_pins_default: mmc2_pins_default { | ||
95 | pinctrl-single,pins = < | ||
96 | 0x9c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */ | ||
97 | 0xb0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */ | ||
98 | 0xa0 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */ | ||
99 | 0xa4 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */ | ||
100 | 0xa8 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */ | ||
101 | 0xac (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */ | ||
102 | 0x8c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */ | ||
103 | 0x90 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */ | ||
104 | 0x94 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */ | ||
105 | 0x98 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */ | ||
106 | >; | ||
107 | }; | ||
108 | |||
109 | dcan1_pins_default: dcan1_pins_default { | ||
110 | pinctrl-single,pins = < | ||
111 | 0x3d0 (PIN_OUTPUT | MUX_MODE0) /* dcan1_tx */ | ||
112 | 0x3d4 (MUX_MODE15) /* dcan1_rx.off */ | ||
113 | 0x418 (PULL_DIS | MUX_MODE1) /* wakeup0.dcan1_rx */ | ||
114 | >; | ||
115 | }; | ||
116 | |||
117 | dcan1_pins_sleep: dcan1_pins_sleep { | ||
118 | pinctrl-single,pins = < | ||
119 | 0x3d0 (MUX_MODE15) /* dcan1_tx.off */ | ||
120 | 0x3d4 (MUX_MODE15) /* dcan1_rx.off */ | ||
121 | 0x418 (MUX_MODE15) /* wakeup0.off */ | ||
122 | >; | ||
123 | }; | ||
29 | }; | 124 | }; |
30 | 125 | ||
31 | &i2c1 { | 126 | &i2c1 { |
@@ -38,6 +133,9 @@ | |||
38 | compatible = "ti,tps65917"; | 133 | compatible = "ti,tps65917"; |
39 | reg = <0x58>; | 134 | reg = <0x58>; |
40 | 135 | ||
136 | pinctrl-names = "default"; | ||
137 | pinctrl-0 = <&tps65917_pins_default>; | ||
138 | |||
41 | interrupts = <GIC_SPI 2 IRQ_TYPE_NONE>; /* IRQ_SYS_1N */ | 139 | interrupts = <GIC_SPI 2 IRQ_TYPE_NONE>; /* IRQ_SYS_1N */ |
42 | interrupt-parent = <&gic>; | 140 | interrupt-parent = <&gic>; |
43 | interrupt-controller; | 141 | interrupt-controller; |
@@ -136,9 +234,230 @@ | |||
136 | }; | 234 | }; |
137 | }; | 235 | }; |
138 | }; | 236 | }; |
237 | |||
238 | tps65917_power_button { | ||
239 | compatible = "ti,palmas-pwrbutton"; | ||
240 | interrupt-parent = <&tps65917>; | ||
241 | interrupts = <1 IRQ_TYPE_NONE>; | ||
242 | wakeup-source; | ||
243 | ti,palmas-long-press-seconds = <6>; | ||
244 | }; | ||
139 | }; | 245 | }; |
140 | }; | 246 | }; |
141 | 247 | ||
142 | &uart1 { | 248 | &uart1 { |
143 | status = "okay"; | 249 | status = "okay"; |
144 | }; | 250 | }; |
251 | |||
252 | &elm { | ||
253 | status = "okay"; | ||
254 | }; | ||
255 | |||
256 | &gpmc { | ||
257 | status = "okay"; | ||
258 | pinctrl-names = "default"; | ||
259 | pinctrl-0 = <&nand_default>; | ||
260 | ranges = <0 0 0 0x01000000>; /* minimum GPMC partition = 16MB */ | ||
261 | nand@0,0 { | ||
262 | /* To use NAND, DIP switch SW5 must be set like so: | ||
263 | * SW5.1 (NAND_SELn) = ON (LOW) | ||
264 | * SW5.9 (GPMC_WPN) = OFF (HIGH) | ||
265 | */ | ||
266 | reg = <0 0 4>; /* device IO registers */ | ||
267 | ti,nand-ecc-opt = "bch8"; | ||
268 | ti,elm-id = <&elm>; | ||
269 | nand-bus-width = <16>; | ||
270 | gpmc,device-width = <2>; | ||
271 | gpmc,sync-clk-ps = <0>; | ||
272 | gpmc,cs-on-ns = <0>; | ||
273 | gpmc,cs-rd-off-ns = <80>; | ||
274 | gpmc,cs-wr-off-ns = <80>; | ||
275 | gpmc,adv-on-ns = <0>; | ||
276 | gpmc,adv-rd-off-ns = <60>; | ||
277 | gpmc,adv-wr-off-ns = <60>; | ||
278 | gpmc,we-on-ns = <10>; | ||
279 | gpmc,we-off-ns = <50>; | ||
280 | gpmc,oe-on-ns = <4>; | ||
281 | gpmc,oe-off-ns = <40>; | ||
282 | gpmc,access-ns = <40>; | ||
283 | gpmc,wr-access-ns = <80>; | ||
284 | gpmc,rd-cycle-ns = <80>; | ||
285 | gpmc,wr-cycle-ns = <80>; | ||
286 | gpmc,bus-turnaround-ns = <0>; | ||
287 | gpmc,cycle2cycle-delay-ns = <0>; | ||
288 | gpmc,clk-activation-ns = <0>; | ||
289 | gpmc,wait-monitoring-ns = <0>; | ||
290 | gpmc,wr-data-mux-bus-ns = <0>; | ||
291 | /* MTD partition table */ | ||
292 | /* All SPL-* partitions are sized to minimal length | ||
293 | * which can be independently programmable. For | ||
294 | * NAND flash this is equal to size of erase-block */ | ||
295 | #address-cells = <1>; | ||
296 | #size-cells = <1>; | ||
297 | partition@0 { | ||
298 | label = "NAND.SPL"; | ||
299 | reg = <0x00000000 0x000020000>; | ||
300 | }; | ||
301 | partition@1 { | ||
302 | label = "NAND.SPL.backup1"; | ||
303 | reg = <0x00020000 0x00020000>; | ||
304 | }; | ||
305 | partition@2 { | ||
306 | label = "NAND.SPL.backup2"; | ||
307 | reg = <0x00040000 0x00020000>; | ||
308 | }; | ||
309 | partition@3 { | ||
310 | label = "NAND.SPL.backup3"; | ||
311 | reg = <0x00060000 0x00020000>; | ||
312 | }; | ||
313 | partition@4 { | ||
314 | label = "NAND.u-boot-spl-os"; | ||
315 | reg = <0x00080000 0x00040000>; | ||
316 | }; | ||
317 | partition@5 { | ||
318 | label = "NAND.u-boot"; | ||
319 | reg = <0x000c0000 0x00100000>; | ||
320 | }; | ||
321 | partition@6 { | ||
322 | label = "NAND.u-boot-env"; | ||
323 | reg = <0x001c0000 0x00020000>; | ||
324 | }; | ||
325 | partition@7 { | ||
326 | label = "NAND.u-boot-env.backup1"; | ||
327 | reg = <0x001e0000 0x00020000>; | ||
328 | }; | ||
329 | partition@8 { | ||
330 | label = "NAND.kernel"; | ||
331 | reg = <0x00200000 0x00800000>; | ||
332 | }; | ||
333 | partition@9 { | ||
334 | label = "NAND.file-system"; | ||
335 | reg = <0x00a00000 0x0f600000>; | ||
336 | }; | ||
337 | }; | ||
338 | }; | ||
339 | |||
340 | &usb2_phy1 { | ||
341 | phy-supply = <&ldo4_reg>; | ||
342 | }; | ||
343 | |||
344 | &usb2_phy2 { | ||
345 | phy-supply = <&ldo4_reg>; | ||
346 | }; | ||
347 | |||
348 | &usb1 { | ||
349 | dr_mode = "peripheral"; | ||
350 | pinctrl-names = "default"; | ||
351 | pinctrl-0 = <&usb1_pins>; | ||
352 | }; | ||
353 | |||
354 | &usb2 { | ||
355 | dr_mode = "host"; | ||
356 | pinctrl-names = "default"; | ||
357 | pinctrl-0 = <&usb2_pins>; | ||
358 | }; | ||
359 | |||
360 | &mmc1 { | ||
361 | status = "okay"; | ||
362 | pinctrl-names = "default"; | ||
363 | pinctrl-0 = <&mmc1_pins_default>; | ||
364 | |||
365 | vmmc-supply = <&ldo1_reg>; | ||
366 | bus-width = <4>; | ||
367 | /* | ||
368 | * SDCD signal is not being used here - using the fact that GPIO mode | ||
369 | * is a viable alternative | ||
370 | */ | ||
371 | cd-gpios = <&gpio6 27 0>; | ||
372 | }; | ||
373 | |||
374 | &mmc2 { | ||
375 | /* SW5-3 in ON position */ | ||
376 | status = "okay"; | ||
377 | pinctrl-names = "default"; | ||
378 | pinctrl-0 = <&mmc2_pins_default>; | ||
379 | |||
380 | vmmc-supply = <&evm_3v3>; | ||
381 | bus-width = <8>; | ||
382 | ti,non-removable; | ||
383 | }; | ||
384 | |||
385 | &dra7_pmx_core { | ||
386 | cpsw_default: cpsw_default { | ||
387 | pinctrl-single,pins = < | ||
388 | /* Slave 2 */ | ||
389 | 0x198 (PIN_OUTPUT | MUX_MODE3) /* vin2a_d12.rgmii1_txc */ | ||
390 | 0x19c (PIN_OUTPUT | MUX_MODE3) /* vin2a_d13.rgmii1_tctl */ | ||
391 | 0x1a0 (PIN_OUTPUT | MUX_MODE3) /* vin2a_d14.rgmii1_td3 */ | ||
392 | 0x1a4 (PIN_OUTPUT | MUX_MODE3) /* vin2a_d15.rgmii1_td2 */ | ||
393 | 0x1a8 (PIN_OUTPUT | MUX_MODE3) /* vin2a_d16.rgmii1_td1 */ | ||
394 | 0x1ac (PIN_OUTPUT | MUX_MODE3) /* vin2a_d17.rgmii1_td0 */ | ||
395 | 0x1b0 (PIN_INPUT | MUX_MODE3) /* vin2a_d18.rgmii1_rclk */ | ||
396 | 0x1b4 (PIN_INPUT | MUX_MODE3) /* vin2a_d19.rgmii1_rctl */ | ||
397 | 0x1b8 (PIN_INPUT | MUX_MODE3) /* vin2a_d20.rgmii1_rd3 */ | ||
398 | 0x1bc (PIN_INPUT | MUX_MODE3) /* vin2a_d21.rgmii1_rd2 */ | ||
399 | 0x1c0 (PIN_INPUT | MUX_MODE3) /* vin2a_d22.rgmii1_rd1 */ | ||
400 | 0x1c4 (PIN_INPUT | MUX_MODE3) /* vin2a_d23.rgmii1_rd0 */ | ||
401 | >; | ||
402 | |||
403 | }; | ||
404 | |||
405 | cpsw_sleep: cpsw_sleep { | ||
406 | pinctrl-single,pins = < | ||
407 | /* Slave 2 */ | ||
408 | 0x198 (MUX_MODE15) | ||
409 | 0x19c (MUX_MODE15) | ||
410 | 0x1a0 (MUX_MODE15) | ||
411 | 0x1a4 (MUX_MODE15) | ||
412 | 0x1a8 (MUX_MODE15) | ||
413 | 0x1ac (MUX_MODE15) | ||
414 | 0x1b0 (MUX_MODE15) | ||
415 | 0x1b4 (MUX_MODE15) | ||
416 | 0x1b8 (MUX_MODE15) | ||
417 | 0x1bc (MUX_MODE15) | ||
418 | 0x1c0 (MUX_MODE15) | ||
419 | 0x1c4 (MUX_MODE15) | ||
420 | >; | ||
421 | }; | ||
422 | |||
423 | davinci_mdio_default: davinci_mdio_default { | ||
424 | pinctrl-single,pins = < | ||
425 | /* MDIO */ | ||
426 | 0x23c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_d.mdio_d */ | ||
427 | 0x240 (PIN_INPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */ | ||
428 | >; | ||
429 | }; | ||
430 | |||
431 | davinci_mdio_sleep: davinci_mdio_sleep { | ||
432 | pinctrl-single,pins = < | ||
433 | 0x23c (MUX_MODE15) | ||
434 | 0x240 (MUX_MODE15) | ||
435 | >; | ||
436 | }; | ||
437 | }; | ||
438 | |||
439 | &mac { | ||
440 | status = "okay"; | ||
441 | pinctrl-names = "default", "sleep"; | ||
442 | pinctrl-0 = <&cpsw_default>; | ||
443 | pinctrl-1 = <&cpsw_sleep>; | ||
444 | }; | ||
445 | |||
446 | &cpsw_emac1 { | ||
447 | phy_id = <&davinci_mdio>, <3>; | ||
448 | phy-mode = "rgmii"; | ||
449 | }; | ||
450 | |||
451 | &davinci_mdio { | ||
452 | pinctrl-names = "default", "sleep"; | ||
453 | pinctrl-0 = <&davinci_mdio_default>; | ||
454 | pinctrl-1 = <&davinci_mdio_sleep>; | ||
455 | active_slave = <1>; | ||
456 | }; | ||
457 | |||
458 | &dcan1 { | ||
459 | status = "ok"; | ||
460 | pinctrl-names = "default", "sleep"; | ||
461 | pinctrl-0 = <&dcan1_pins_default>; | ||
462 | pinctrl-1 = <&dcan1_pins_sleep>; | ||
463 | }; | ||
diff --git a/arch/arm/boot/dts/dra74x.dtsi b/arch/arm/boot/dts/dra74x.dtsi index 3be544c4891f..10173fab1a15 100644 --- a/arch/arm/boot/dts/dra74x.dtsi +++ b/arch/arm/boot/dts/dra74x.dtsi | |||
@@ -44,4 +44,26 @@ | |||
44 | interrupts = <GIC_SPI DIRECT_IRQ(131) IRQ_TYPE_LEVEL_HIGH>, | 44 | interrupts = <GIC_SPI DIRECT_IRQ(131) IRQ_TYPE_LEVEL_HIGH>, |
45 | <GIC_SPI DIRECT_IRQ(132) IRQ_TYPE_LEVEL_HIGH>; | 45 | <GIC_SPI DIRECT_IRQ(132) IRQ_TYPE_LEVEL_HIGH>; |
46 | }; | 46 | }; |
47 | |||
48 | ocp { | ||
49 | omap_dwc3_4: omap_dwc3_4@48940000 { | ||
50 | compatible = "ti,dwc3"; | ||
51 | ti,hwmods = "usb_otg_ss4"; | ||
52 | reg = <0x48940000 0x10000>; | ||
53 | interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>; | ||
54 | #address-cells = <1>; | ||
55 | #size-cells = <1>; | ||
56 | utmi-mode = <2>; | ||
57 | ranges; | ||
58 | status = "disabled"; | ||
59 | usb4: usb@48950000 { | ||
60 | compatible = "snps,dwc3"; | ||
61 | reg = <0x48950000 0x17000>; | ||
62 | interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>; | ||
63 | tx-fifo-resize; | ||
64 | maximum-speed = "high-speed"; | ||
65 | dr_mode = "otg"; | ||
66 | }; | ||
67 | }; | ||
68 | }; | ||
47 | }; | 69 | }; |
diff --git a/arch/arm/boot/dts/exynos3250-monk.dts b/arch/arm/boot/dts/exynos3250-monk.dts new file mode 100644 index 000000000000..24822aa98057 --- /dev/null +++ b/arch/arm/boot/dts/exynos3250-monk.dts | |||
@@ -0,0 +1,579 @@ | |||
1 | /* | ||
2 | * Samsung's Exynos3250 based Monk board device tree source | ||
3 | * | ||
4 | * Copyright (c) 2014 Samsung Electronics Co., Ltd. | ||
5 | * http://www.samsung.com | ||
6 | * | ||
7 | * Device tree source file for Samsung's Monk board which is based on | ||
8 | * Samsung Exynos3250 SoC. | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | */ | ||
14 | |||
15 | /dts-v1/; | ||
16 | #include "exynos3250.dtsi" | ||
17 | #include <dt-bindings/input/input.h> | ||
18 | |||
19 | / { | ||
20 | model = "Samsung Monk board"; | ||
21 | compatible = "samsung,monk", "samsung,exynos3250", "samsung,exynos3"; | ||
22 | |||
23 | aliases { | ||
24 | i2c7 = &i2c_max77836; | ||
25 | }; | ||
26 | |||
27 | memory { | ||
28 | reg = <0x40000000 0x1ff00000>; | ||
29 | }; | ||
30 | |||
31 | firmware@0205F000 { | ||
32 | compatible = "samsung,secure-firmware"; | ||
33 | reg = <0x0205F000 0x1000>; | ||
34 | }; | ||
35 | |||
36 | gpio_keys { | ||
37 | compatible = "gpio-keys"; | ||
38 | |||
39 | power_key { | ||
40 | interrupt-parent = <&gpx2>; | ||
41 | interrupts = <7 0>; | ||
42 | gpios = <&gpx2 7 1>; | ||
43 | linux,code = <KEY_POWER>; | ||
44 | label = "power key"; | ||
45 | debounce-interval = <10>; | ||
46 | gpio-key,wakeup; | ||
47 | }; | ||
48 | }; | ||
49 | |||
50 | vemmc_reg: voltage-regulator-0 { | ||
51 | compatible = "regulator-fixed"; | ||
52 | regulator-name = "V_EMMC_2.8V-fixed"; | ||
53 | regulator-min-microvolt = <2800000>; | ||
54 | regulator-max-microvolt = <2800000>; | ||
55 | gpio = <&gpk0 2 0>; | ||
56 | enable-active-high; | ||
57 | }; | ||
58 | |||
59 | i2c_max77836: i2c-gpio-0 { | ||
60 | compatible = "i2c-gpio"; | ||
61 | gpios = <&gpd0 2 0>, <&gpd0 3 0>; | ||
62 | #address-cells = <1>; | ||
63 | #size-cells = <0>; | ||
64 | |||
65 | max77836: subpmic@25 { | ||
66 | compatible = "maxim,max77836"; | ||
67 | interrupt-parent = <&gpx1>; | ||
68 | interrupts = <5 0>; | ||
69 | reg = <0x25>; | ||
70 | wakeup; | ||
71 | |||
72 | muic: max77836-muic { | ||
73 | compatible = "maxim,max77836-muic"; | ||
74 | }; | ||
75 | |||
76 | regulators { | ||
77 | compatible = "maxim,max77836-regulator"; | ||
78 | safeout_reg: SAFEOUT { | ||
79 | regulator-name = "SAFEOUT"; | ||
80 | }; | ||
81 | |||
82 | charger_reg: CHARGER { | ||
83 | regulator-name = "CHARGER"; | ||
84 | regulator-min-microamp = <45000>; | ||
85 | regulator-max-microamp = <475000>; | ||
86 | regulator-boot-on; | ||
87 | }; | ||
88 | |||
89 | motor_reg: LDO1 { | ||
90 | regulator-name = "MOT_2.7V"; | ||
91 | regulator-min-microvolt = <1100000>; | ||
92 | regulator-max-microvolt = <2700000>; | ||
93 | }; | ||
94 | |||
95 | LDO2 { | ||
96 | regulator-name = "UNUSED_LDO2"; | ||
97 | regulator-min-microvolt = <800000>; | ||
98 | regulator-max-microvolt = <3950000>; | ||
99 | }; | ||
100 | }; | ||
101 | |||
102 | charger { | ||
103 | compatible = "maxim,max77836-charger"; | ||
104 | |||
105 | maxim,constant-uvolt = <4350000>; | ||
106 | maxim,fast-charge-uamp = <225000>; | ||
107 | maxim,eoc-uamp = <7500>; | ||
108 | maxim,ovp-uvolt = <6500000>; | ||
109 | }; | ||
110 | }; | ||
111 | }; | ||
112 | }; | ||
113 | |||
114 | &adc { | ||
115 | vdd-supply = <&ldo3_reg>; | ||
116 | status = "okay"; | ||
117 | assigned-clocks = <&cmu CLK_SCLK_TSADC>; | ||
118 | assigned-clock-rates = <6000000>; | ||
119 | |||
120 | thermistor-ap { | ||
121 | compatible = "ntc,ncp15wb473"; | ||
122 | pullup-uv = <1800000>; | ||
123 | pullup-ohm = <100000>; | ||
124 | pulldown-ohm = <100000>; | ||
125 | io-channels = <&adc 0>; | ||
126 | }; | ||
127 | |||
128 | thermistor-battery { | ||
129 | compatible = "ntc,ncp15wb473"; | ||
130 | pullup-uv = <1800000>; | ||
131 | pullup-ohm = <100000>; | ||
132 | pulldown-ohm = <100000>; | ||
133 | io-channels = <&adc 1>; | ||
134 | }; | ||
135 | }; | ||
136 | |||
137 | &i2c_0 { | ||
138 | #address-cells = <1>; | ||
139 | #size-cells = <0>; | ||
140 | samsung,i2c-sda-delay = <100>; | ||
141 | samsung,i2c-slave-addr = <0x10>; | ||
142 | samsung,i2c-max-bus-freq = <100000>; | ||
143 | status = "okay"; | ||
144 | |||
145 | s2mps14_pmic@66 { | ||
146 | compatible = "samsung,s2mps14-pmic"; | ||
147 | interrupt-parent = <&gpx0>; | ||
148 | interrupts = <7 0>; | ||
149 | reg = <0x66>; | ||
150 | wakeup; | ||
151 | |||
152 | s2mps14_osc: clocks { | ||
153 | compatible = "samsung,s2mps14-clk"; | ||
154 | #clock-cells = <1>; | ||
155 | clock-output-names = "s2mps14_ap", "unused", | ||
156 | "s2mps14_bt"; | ||
157 | }; | ||
158 | |||
159 | regulators { | ||
160 | ldo1_reg: LDO1 { | ||
161 | regulator-name = "VAP_ALIVE_1.0V"; | ||
162 | regulator-min-microvolt = <1000000>; | ||
163 | regulator-max-microvolt = <1000000>; | ||
164 | regulator-always-on; | ||
165 | }; | ||
166 | |||
167 | ldo2_reg: LDO2 { | ||
168 | regulator-name = "VAP_M1_1.2V"; | ||
169 | regulator-min-microvolt = <1200000>; | ||
170 | regulator-max-microvolt = <1200000>; | ||
171 | regulator-always-on; | ||
172 | }; | ||
173 | |||
174 | ldo3_reg: LDO3 { | ||
175 | regulator-name = "VCC_AP_1.8V"; | ||
176 | regulator-min-microvolt = <1800000>; | ||
177 | regulator-max-microvolt = <1800000>; | ||
178 | regulator-always-on; | ||
179 | }; | ||
180 | |||
181 | ldo4_reg: LDO4 { | ||
182 | regulator-name = "VAP_AVDD_PLL1"; | ||
183 | regulator-min-microvolt = <1800000>; | ||
184 | regulator-max-microvolt = <1800000>; | ||
185 | regulator-always-on; | ||
186 | }; | ||
187 | |||
188 | ldo5_reg: LDO5 { | ||
189 | regulator-name = "VAP_PLL_ISO_1.0V"; | ||
190 | regulator-min-microvolt = <1000000>; | ||
191 | regulator-max-microvolt = <1000000>; | ||
192 | regulator-always-on; | ||
193 | }; | ||
194 | |||
195 | ldo6_reg: LDO6 { | ||
196 | regulator-name = "VAP_MIPI_1.0V"; | ||
197 | regulator-min-microvolt = <1000000>; | ||
198 | regulator-max-microvolt = <1000000>; | ||
199 | }; | ||
200 | |||
201 | ldo7_reg: LDO7 { | ||
202 | regulator-name = "VAP_AVDD_1.8V"; | ||
203 | regulator-min-microvolt = <1800000>; | ||
204 | regulator-max-microvolt = <1800000>; | ||
205 | regulator-always-on; | ||
206 | }; | ||
207 | |||
208 | ldo8_reg: LDO8 { | ||
209 | regulator-name = "VAP_USB_3.0V"; | ||
210 | regulator-min-microvolt = <3000000>; | ||
211 | regulator-max-microvolt = <3000000>; | ||
212 | regulator-always-on; | ||
213 | }; | ||
214 | |||
215 | ldo9_reg: LDO9 { | ||
216 | regulator-name = "V_LPDDR_1.2V"; | ||
217 | regulator-min-microvolt = <1200000>; | ||
218 | regulator-max-microvolt = <1200000>; | ||
219 | regulator-always-on; | ||
220 | }; | ||
221 | |||
222 | ldo10_reg: LDO10 { | ||
223 | regulator-name = "UNUSED_LDO10"; | ||
224 | regulator-min-microvolt = <1000000>; | ||
225 | regulator-max-microvolt = <1000000>; | ||
226 | }; | ||
227 | |||
228 | ldo11_reg: LDO11 { | ||
229 | regulator-name = "V_EMMC_1.8V"; | ||
230 | regulator-min-microvolt = <1800000>; | ||
231 | regulator-max-microvolt = <1800000>; | ||
232 | samsung,ext-control-gpios = <&gpk0 2 0>; | ||
233 | }; | ||
234 | |||
235 | ldo12_reg: LDO12 { | ||
236 | regulator-name = "V_EMMC_2.8V"; | ||
237 | regulator-min-microvolt = <2800000>; | ||
238 | regulator-max-microvolt = <2800000>; | ||
239 | samsung,ext-control-gpios = <&gpk0 2 0>; | ||
240 | }; | ||
241 | |||
242 | ldo13_reg: LDO13 { | ||
243 | regulator-name = "VSENSOR_2.85V"; | ||
244 | regulator-min-microvolt = <2850000>; | ||
245 | regulator-max-microvolt = <2850000>; | ||
246 | regulator-always-on; | ||
247 | }; | ||
248 | |||
249 | ldo14_reg: LDO14 { | ||
250 | regulator-name = "UNUSED_LDO14"; | ||
251 | regulator-min-microvolt = <1800000>; | ||
252 | regulator-max-microvolt = <1800000>; | ||
253 | }; | ||
254 | |||
255 | ldo15_reg: LDO15 { | ||
256 | regulator-name = "TSP_AVDD_3.3V"; | ||
257 | regulator-min-microvolt = <3300000>; | ||
258 | regulator-max-microvolt = <3300000>; | ||
259 | }; | ||
260 | |||
261 | ldo16_reg: LDO16 { | ||
262 | regulator-name = "LCD_VDD_3.3V"; | ||
263 | regulator-min-microvolt = <3300000>; | ||
264 | regulator-max-microvolt = <3300000>; | ||
265 | }; | ||
266 | |||
267 | ldo17_reg: LDO17 { | ||
268 | regulator-name = "UNUSED_LDO17"; | ||
269 | regulator-min-microvolt = <1800000>; | ||
270 | regulator-max-microvolt = <1800000>; | ||
271 | }; | ||
272 | |||
273 | ldo18_reg: LDO18 { | ||
274 | regulator-name = "UNUSED_LDO18"; | ||
275 | regulator-min-microvolt = <1800000>; | ||
276 | regulator-max-microvolt = <1800000>; | ||
277 | }; | ||
278 | |||
279 | ldo19_reg: LDO19 { | ||
280 | regulator-name = "TSP_VDD_1.8V"; | ||
281 | regulator-min-microvolt = <1800000>; | ||
282 | regulator-max-microvolt = <1800000>; | ||
283 | }; | ||
284 | |||
285 | ldo20_reg: LDO20 { | ||
286 | regulator-name = "LCD_VDD_1.8V"; | ||
287 | regulator-min-microvolt = <1800000>; | ||
288 | regulator-max-microvolt = <1800000>; | ||
289 | }; | ||
290 | |||
291 | ldo21_reg: LDO21 { | ||
292 | regulator-name = "UNUSED_LDO21"; | ||
293 | regulator-min-microvolt = <1000000>; | ||
294 | regulator-max-microvolt = <1000000>; | ||
295 | }; | ||
296 | |||
297 | ldo22_reg: LDO22 { | ||
298 | regulator-name = "UNUSED_LDO22"; | ||
299 | regulator-min-microvolt = <1000000>; | ||
300 | regulator-max-microvolt = <1000000>; | ||
301 | }; | ||
302 | |||
303 | ldo23_reg: LDO23 { | ||
304 | regulator-name = "UNUSED_LDO23"; | ||
305 | regulator-min-microvolt = <1000000>; | ||
306 | regulator-max-microvolt = <1000000>; | ||
307 | regulator-always-on; | ||
308 | }; | ||
309 | |||
310 | ldo24_reg: LDO24 { | ||
311 | regulator-name = "UNUSED_LDO24"; | ||
312 | regulator-min-microvolt = <1800000>; | ||
313 | regulator-max-microvolt = <1800000>; | ||
314 | }; | ||
315 | |||
316 | ldo25_reg: LDO25 { | ||
317 | regulator-name = "UNUSED_LDO25"; | ||
318 | regulator-min-microvolt = <1800000>; | ||
319 | regulator-max-microvolt = <1800000>; | ||
320 | }; | ||
321 | |||
322 | buck1_reg: BUCK1 { | ||
323 | regulator-name = "VAP_MIF_1.0V"; | ||
324 | regulator-min-microvolt = <800000>; | ||
325 | regulator-max-microvolt = <900000>; | ||
326 | regulator-always-on; | ||
327 | }; | ||
328 | |||
329 | buck2_reg: BUCK2 { | ||
330 | regulator-name = "VAP_ARM_1.0V"; | ||
331 | regulator-min-microvolt = <850000>; | ||
332 | regulator-max-microvolt = <1150000>; | ||
333 | regulator-always-on; | ||
334 | }; | ||
335 | |||
336 | buck3_reg: BUCK3 { | ||
337 | regulator-name = "VAP_INT3D_1.0V"; | ||
338 | regulator-min-microvolt = <850000>; | ||
339 | regulator-max-microvolt = <1000000>; | ||
340 | regulator-always-on; | ||
341 | }; | ||
342 | |||
343 | buck4_reg: BUCK4 { | ||
344 | regulator-name = "VCC_SUB_1.95V"; | ||
345 | regulator-min-microvolt = <1950000>; | ||
346 | regulator-max-microvolt = <1950000>; | ||
347 | regulator-always-on; | ||
348 | }; | ||
349 | |||
350 | buck5_reg: BUCK5 { | ||
351 | regulator-name = "VCC_SUB_1.35V"; | ||
352 | regulator-min-microvolt = <1350000>; | ||
353 | regulator-max-microvolt = <1350000>; | ||
354 | regulator-always-on; | ||
355 | }; | ||
356 | }; | ||
357 | }; | ||
358 | }; | ||
359 | |||
360 | &i2c_1 { | ||
361 | #address-cells = <1>; | ||
362 | #size-cells = <0>; | ||
363 | samsung,i2c-sda-delay = <100>; | ||
364 | samsung,i2c-slave-addr = <0x10>; | ||
365 | samsung,i2c-max-bus-freq = <400000>; | ||
366 | status = "okay"; | ||
367 | |||
368 | fuelgauge@36 { | ||
369 | compatible = "maxim,max77836-battery"; | ||
370 | interrupt-parent = <&gpx1>; | ||
371 | interrupts = <2 8>; | ||
372 | reg = <0x36>; | ||
373 | }; | ||
374 | }; | ||
375 | |||
376 | &i2s2 { | ||
377 | status = "okay"; | ||
378 | }; | ||
379 | |||
380 | &mshc_0 { | ||
381 | #address-cells = <1>; | ||
382 | #size-cells = <0>; | ||
383 | num-slots = <1>; | ||
384 | broken-cd; | ||
385 | non-removable; | ||
386 | cap-mmc-highspeed; | ||
387 | desc-num = <4>; | ||
388 | mmc-hs200-1_8v; | ||
389 | card-detect-delay = <200>; | ||
390 | vmmc-supply = <&vemmc_reg>; | ||
391 | clock-frequency = <100000000>; | ||
392 | clock-freq-min-max = <400000 100000000>; | ||
393 | samsung,dw-mshc-ciu-div = <1>; | ||
394 | samsung,dw-mshc-sdr-timing = <0 1>; | ||
395 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
396 | pinctrl-names = "default"; | ||
397 | pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>; | ||
398 | bus-width = <8>; | ||
399 | status = "okay"; | ||
400 | }; | ||
401 | |||
402 | &serial_0 { | ||
403 | assigned-clocks = <&cmu CLK_SCLK_UART0>; | ||
404 | assigned-clock-rates = <100000000>; | ||
405 | status = "okay"; | ||
406 | }; | ||
407 | |||
408 | &serial_1 { | ||
409 | status = "okay"; | ||
410 | }; | ||
411 | |||
412 | &tmu { | ||
413 | vtmu-supply = <&ldo7_reg>; | ||
414 | status = "okay"; | ||
415 | }; | ||
416 | |||
417 | &rtc { | ||
418 | clocks = <&cmu CLK_RTC>, <&s2mps14_osc 0>; | ||
419 | clock-names = "rtc", "rtc_src"; | ||
420 | status = "okay"; | ||
421 | }; | ||
422 | |||
423 | &xusbxti { | ||
424 | clock-frequency = <24000000>; | ||
425 | }; | ||
426 | |||
427 | &pinctrl_0 { | ||
428 | pinctrl-names = "default"; | ||
429 | pinctrl-0 = <&sleep0>; | ||
430 | |||
431 | sleep0: sleep-state { | ||
432 | PIN_SLP(gpa0-0, INPUT, DOWN); | ||
433 | PIN_SLP(gpa0-1, INPUT, DOWN); | ||
434 | PIN_SLP(gpa0-2, INPUT, DOWN); | ||
435 | PIN_SLP(gpa0-3, INPUT, DOWN); | ||
436 | PIN_SLP(gpa0-4, INPUT, DOWN); | ||
437 | PIN_SLP(gpa0-5, INPUT, DOWN); | ||
438 | PIN_SLP(gpa0-6, INPUT, DOWN); | ||
439 | PIN_SLP(gpa0-7, INPUT, DOWN); | ||
440 | |||
441 | PIN_SLP(gpa1-0, INPUT, DOWN); | ||
442 | PIN_SLP(gpa1-1, INPUT, DOWN); | ||
443 | PIN_SLP(gpa1-2, INPUT, DOWN); | ||
444 | PIN_SLP(gpa1-3, INPUT, DOWN); | ||
445 | PIN_SLP(gpa1-4, INPUT, DOWN); | ||
446 | PIN_SLP(gpa1-5, INPUT, DOWN); | ||
447 | |||
448 | PIN_SLP(gpb-0, PREV, NONE); | ||
449 | PIN_SLP(gpb-1, PREV, NONE); | ||
450 | PIN_SLP(gpb-2, PREV, NONE); | ||
451 | PIN_SLP(gpb-3, PREV, NONE); | ||
452 | PIN_SLP(gpb-4, INPUT, DOWN); | ||
453 | PIN_SLP(gpb-5, INPUT, DOWN); | ||
454 | PIN_SLP(gpb-6, INPUT, DOWN); | ||
455 | PIN_SLP(gpb-7, INPUT, DOWN); | ||
456 | |||
457 | PIN_SLP(gpc0-0, INPUT, DOWN); | ||
458 | PIN_SLP(gpc0-1, INPUT, DOWN); | ||
459 | PIN_SLP(gpc0-2, INPUT, DOWN); | ||
460 | PIN_SLP(gpc0-3, INPUT, DOWN); | ||
461 | PIN_SLP(gpc0-4, INPUT, DOWN); | ||
462 | |||
463 | PIN_SLP(gpc1-0, INPUT, DOWN); | ||
464 | PIN_SLP(gpc1-1, INPUT, DOWN); | ||
465 | PIN_SLP(gpc1-2, INPUT, DOWN); | ||
466 | PIN_SLP(gpc1-3, INPUT, DOWN); | ||
467 | PIN_SLP(gpc1-4, INPUT, DOWN); | ||
468 | |||
469 | PIN_SLP(gpd0-0, INPUT, DOWN); | ||
470 | PIN_SLP(gpd0-1, INPUT, DOWN); | ||
471 | PIN_SLP(gpd0-2, INPUT, NONE); | ||
472 | PIN_SLP(gpd0-3, INPUT, NONE); | ||
473 | |||
474 | PIN_SLP(gpd1-0, INPUT, NONE); | ||
475 | PIN_SLP(gpd1-1, INPUT, NONE); | ||
476 | PIN_SLP(gpd1-2, INPUT, NONE); | ||
477 | PIN_SLP(gpd1-3, INPUT, NONE); | ||
478 | }; | ||
479 | }; | ||
480 | |||
481 | &pinctrl_1 { | ||
482 | pinctrl-names = "default"; | ||
483 | pinctrl-0 = <&sleep1>; | ||
484 | |||
485 | sleep1: sleep-state { | ||
486 | PIN_SLP(gpe0-0, PREV, NONE); | ||
487 | PIN_SLP(gpe0-1, PREV, NONE); | ||
488 | PIN_SLP(gpe0-2, INPUT, DOWN); | ||
489 | PIN_SLP(gpe0-3, INPUT, DOWN); | ||
490 | PIN_SLP(gpe0-4, PREV, NONE); | ||
491 | PIN_SLP(gpe0-5, INPUT, DOWN); | ||
492 | PIN_SLP(gpe0-6, INPUT, DOWN); | ||
493 | PIN_SLP(gpe0-7, INPUT, DOWN); | ||
494 | |||
495 | PIN_SLP(gpe1-0, INPUT, DOWN); | ||
496 | PIN_SLP(gpe1-1, PREV, NONE); | ||
497 | PIN_SLP(gpe1-2, INPUT, DOWN); | ||
498 | PIN_SLP(gpe1-3, INPUT, DOWN); | ||
499 | PIN_SLP(gpe1-4, INPUT, DOWN); | ||
500 | PIN_SLP(gpe1-5, INPUT, DOWN); | ||
501 | PIN_SLP(gpe1-6, INPUT, DOWN); | ||
502 | PIN_SLP(gpe1-7, INPUT, NONE); | ||
503 | |||
504 | PIN_SLP(gpe2-0, INPUT, NONE); | ||
505 | PIN_SLP(gpe2-1, INPUT, NONE); | ||
506 | PIN_SLP(gpe2-2, INPUT, NONE); | ||
507 | |||
508 | PIN_SLP(gpk0-0, INPUT, DOWN); | ||
509 | PIN_SLP(gpk0-1, INPUT, DOWN); | ||
510 | PIN_SLP(gpk0-2, OUT0, NONE); | ||
511 | PIN_SLP(gpk0-3, INPUT, DOWN); | ||
512 | PIN_SLP(gpk0-4, INPUT, DOWN); | ||
513 | PIN_SLP(gpk0-5, INPUT, DOWN); | ||
514 | PIN_SLP(gpk0-6, INPUT, DOWN); | ||
515 | PIN_SLP(gpk0-7, INPUT, DOWN); | ||
516 | |||
517 | PIN_SLP(gpk1-0, PREV, NONE); | ||
518 | PIN_SLP(gpk1-1, PREV, NONE); | ||
519 | PIN_SLP(gpk1-2, INPUT, DOWN); | ||
520 | PIN_SLP(gpk1-3, PREV, NONE); | ||
521 | PIN_SLP(gpk1-4, PREV, NONE); | ||
522 | PIN_SLP(gpk1-5, PREV, NONE); | ||
523 | PIN_SLP(gpk1-6, PREV, NONE); | ||
524 | |||
525 | PIN_SLP(gpk2-0, INPUT, DOWN); | ||
526 | PIN_SLP(gpk2-1, INPUT, DOWN); | ||
527 | PIN_SLP(gpk2-2, INPUT, DOWN); | ||
528 | PIN_SLP(gpk2-3, INPUT, DOWN); | ||
529 | PIN_SLP(gpk2-4, INPUT, DOWN); | ||
530 | PIN_SLP(gpk2-5, INPUT, DOWN); | ||
531 | PIN_SLP(gpk2-6, INPUT, DOWN); | ||
532 | |||
533 | PIN_SLP(gpl0-0, INPUT, DOWN); | ||
534 | PIN_SLP(gpl0-1, INPUT, DOWN); | ||
535 | PIN_SLP(gpl0-2, INPUT, DOWN); | ||
536 | PIN_SLP(gpl0-3, INPUT, DOWN); | ||
537 | |||
538 | PIN_SLP(gpm0-0, INPUT, DOWN); | ||
539 | PIN_SLP(gpm0-1, INPUT, DOWN); | ||
540 | PIN_SLP(gpm0-2, INPUT, DOWN); | ||
541 | PIN_SLP(gpm0-3, INPUT, DOWN); | ||
542 | PIN_SLP(gpm0-4, INPUT, DOWN); | ||
543 | PIN_SLP(gpm0-5, INPUT, DOWN); | ||
544 | PIN_SLP(gpm0-6, INPUT, DOWN); | ||
545 | PIN_SLP(gpm0-7, INPUT, DOWN); | ||
546 | |||
547 | PIN_SLP(gpm1-0, INPUT, DOWN); | ||
548 | PIN_SLP(gpm1-1, INPUT, DOWN); | ||
549 | PIN_SLP(gpm1-2, INPUT, DOWN); | ||
550 | PIN_SLP(gpm1-3, INPUT, DOWN); | ||
551 | PIN_SLP(gpm1-4, INPUT, DOWN); | ||
552 | PIN_SLP(gpm1-5, INPUT, DOWN); | ||
553 | PIN_SLP(gpm1-6, INPUT, DOWN); | ||
554 | |||
555 | PIN_SLP(gpm2-0, INPUT, DOWN); | ||
556 | PIN_SLP(gpm2-1, INPUT, DOWN); | ||
557 | PIN_SLP(gpm2-2, INPUT, DOWN); | ||
558 | PIN_SLP(gpm2-3, INPUT, DOWN); | ||
559 | PIN_SLP(gpm2-4, INPUT, DOWN); | ||
560 | |||
561 | PIN_SLP(gpm3-0, INPUT, DOWN); | ||
562 | PIN_SLP(gpm3-1, INPUT, DOWN); | ||
563 | PIN_SLP(gpm3-2, INPUT, DOWN); | ||
564 | PIN_SLP(gpm3-3, INPUT, DOWN); | ||
565 | PIN_SLP(gpm3-4, INPUT, DOWN); | ||
566 | PIN_SLP(gpm3-5, INPUT, DOWN); | ||
567 | PIN_SLP(gpm3-6, INPUT, DOWN); | ||
568 | PIN_SLP(gpm3-7, INPUT, DOWN); | ||
569 | |||
570 | PIN_SLP(gpm4-0, INPUT, DOWN); | ||
571 | PIN_SLP(gpm4-1, INPUT, DOWN); | ||
572 | PIN_SLP(gpm4-2, INPUT, DOWN); | ||
573 | PIN_SLP(gpm4-3, INPUT, DOWN); | ||
574 | PIN_SLP(gpm4-4, INPUT, DOWN); | ||
575 | PIN_SLP(gpm4-5, INPUT, DOWN); | ||
576 | PIN_SLP(gpm4-6, INPUT, DOWN); | ||
577 | PIN_SLP(gpm4-7, INPUT, DOWN); | ||
578 | }; | ||
579 | }; | ||
diff --git a/arch/arm/boot/dts/exynos3250-pinctrl.dtsi b/arch/arm/boot/dts/exynos3250-pinctrl.dtsi index 47b92c150f4e..5ab81c39e2c9 100644 --- a/arch/arm/boot/dts/exynos3250-pinctrl.dtsi +++ b/arch/arm/boot/dts/exynos3250-pinctrl.dtsi | |||
@@ -12,6 +12,22 @@ | |||
12 | * published by the Free Software Foundation. | 12 | * published by the Free Software Foundation. |
13 | */ | 13 | */ |
14 | 14 | ||
15 | #define PIN_PULL_NONE 0 | ||
16 | #define PIN_PULL_DOWN 1 | ||
17 | #define PIN_PULL_UP 3 | ||
18 | |||
19 | #define PIN_PDN_OUT0 0 | ||
20 | #define PIN_PDN_OUT1 1 | ||
21 | #define PIN_PDN_INPUT 2 | ||
22 | #define PIN_PDN_PREV 3 | ||
23 | |||
24 | #define PIN_SLP(_pin, _mode, _pull) \ | ||
25 | _pin { \ | ||
26 | samsung,pins = #_pin; \ | ||
27 | samsung,pin-con-pdn = <PIN_PDN_ ##_mode>; \ | ||
28 | samsung,pin-pud-pdn = <PIN_PULL_ ##_pull>; \ | ||
29 | } | ||
30 | |||
15 | &pinctrl_0 { | 31 | &pinctrl_0 { |
16 | gpa0: gpa0 { | 32 | gpa0: gpa0 { |
17 | gpio-controller; | 33 | gpio-controller; |
diff --git a/arch/arm/boot/dts/exynos3250-rinato.dts b/arch/arm/boot/dts/exynos3250-rinato.dts new file mode 100644 index 000000000000..80aa8b4c4a3d --- /dev/null +++ b/arch/arm/boot/dts/exynos3250-rinato.dts | |||
@@ -0,0 +1,682 @@ | |||
1 | /* | ||
2 | * Samsung's Exynos3250 based Rinato board device tree source | ||
3 | * | ||
4 | * Copyright (c) 2014 Samsung Electronics Co., Ltd. | ||
5 | * http://www.samsung.com | ||
6 | * | ||
7 | * Device tree source file for Samsung's Rinato board which is based on | ||
8 | * Samsung Exynos3250 SoC. | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | */ | ||
14 | |||
15 | /dts-v1/; | ||
16 | #include "exynos3250.dtsi" | ||
17 | #include <dt-bindings/input/input.h> | ||
18 | |||
19 | / { | ||
20 | model = "Samsung Rinato board"; | ||
21 | compatible = "samsung,rinato", "samsung,exynos3250", "samsung,exynos3"; | ||
22 | |||
23 | aliases { | ||
24 | i2c7 = &i2c_max77836; | ||
25 | }; | ||
26 | |||
27 | memory { | ||
28 | reg = <0x40000000 0x1ff00000>; | ||
29 | }; | ||
30 | |||
31 | firmware@0205F000 { | ||
32 | compatible = "samsung,secure-firmware"; | ||
33 | reg = <0x0205F000 0x1000>; | ||
34 | }; | ||
35 | |||
36 | gpio_keys { | ||
37 | compatible = "gpio-keys"; | ||
38 | |||
39 | power_key { | ||
40 | interrupt-parent = <&gpx2>; | ||
41 | interrupts = <7 0>; | ||
42 | gpios = <&gpx2 7 1>; | ||
43 | linux,code = <KEY_POWER>; | ||
44 | label = "power key"; | ||
45 | debounce-interval = <10>; | ||
46 | gpio-key,wakeup; | ||
47 | }; | ||
48 | }; | ||
49 | |||
50 | i2c_max77836: i2c-gpio-0 { | ||
51 | compatible = "i2c-gpio"; | ||
52 | gpios = <&gpd0 2 0>, <&gpd0 3 0>; | ||
53 | #address-cells = <1>; | ||
54 | #size-cells = <0>; | ||
55 | |||
56 | max77836: subpmic@25 { | ||
57 | compatible = "maxim,max77836"; | ||
58 | interrupt-parent = <&gpx1>; | ||
59 | interrupts = <5 0>; | ||
60 | reg = <0x25>; | ||
61 | wakeup; | ||
62 | |||
63 | muic: max77836-muic { | ||
64 | compatible = "maxim,max77836-muic"; | ||
65 | }; | ||
66 | |||
67 | regulators { | ||
68 | compatible = "maxim,max77836-regulator"; | ||
69 | safeout_reg: SAFEOUT { | ||
70 | regulator-name = "SAFEOUT"; | ||
71 | }; | ||
72 | |||
73 | charger_reg: CHARGER { | ||
74 | regulator-name = "CHARGER"; | ||
75 | regulator-min-microamp = <45000>; | ||
76 | regulator-max-microamp = <475000>; | ||
77 | regulator-boot-on; | ||
78 | }; | ||
79 | |||
80 | motor_reg: LDO1 { | ||
81 | regulator-name = "MOT_2.7V"; | ||
82 | regulator-min-microvolt = <1100000>; | ||
83 | regulator-max-microvolt = <2700000>; | ||
84 | }; | ||
85 | |||
86 | LDO2 { | ||
87 | regulator-name = "UNUSED_LDO2"; | ||
88 | regulator-min-microvolt = <800000>; | ||
89 | regulator-max-microvolt = <3950000>; | ||
90 | }; | ||
91 | }; | ||
92 | |||
93 | charger { | ||
94 | compatible = "maxim,max77836-charger"; | ||
95 | |||
96 | maxim,constant-uvolt = <4350000>; | ||
97 | maxim,fast-charge-uamp = <225000>; | ||
98 | maxim,eoc-uamp = <7500>; | ||
99 | maxim,ovp-uvolt = <6500000>; | ||
100 | }; | ||
101 | }; | ||
102 | }; | ||
103 | }; | ||
104 | |||
105 | &adc { | ||
106 | vdd-supply = <&ldo3_reg>; | ||
107 | status = "okay"; | ||
108 | assigned-clocks = <&cmu CLK_SCLK_TSADC>; | ||
109 | assigned-clock-rates = <6000000>; | ||
110 | |||
111 | thermistor-ap { | ||
112 | compatible = "ntc,ncp15wb473"; | ||
113 | pullup-uv = <1800000>; | ||
114 | pullup-ohm = <100000>; | ||
115 | pulldown-ohm = <100000>; | ||
116 | io-channels = <&adc 0>; | ||
117 | }; | ||
118 | |||
119 | thermistor-battery { | ||
120 | compatible = "ntc,ncp15wb473"; | ||
121 | pullup-uv = <1800000>; | ||
122 | pullup-ohm = <100000>; | ||
123 | pulldown-ohm = <100000>; | ||
124 | io-channels = <&adc 1>; | ||
125 | }; | ||
126 | }; | ||
127 | |||
128 | &i2c_0 { | ||
129 | #address-cells = <1>; | ||
130 | #size-cells = <0>; | ||
131 | samsung,i2c-sda-delay = <100>; | ||
132 | samsung,i2c-slave-addr = <0x10>; | ||
133 | samsung,i2c-max-bus-freq = <100000>; | ||
134 | status = "okay"; | ||
135 | |||
136 | s2mps14_pmic@66 { | ||
137 | compatible = "samsung,s2mps14-pmic"; | ||
138 | interrupt-parent = <&gpx0>; | ||
139 | interrupts = <7 0>; | ||
140 | reg = <0x66>; | ||
141 | wakeup; | ||
142 | |||
143 | s2mps14_osc: clocks { | ||
144 | compatible = "samsung,s2mps14-clk"; | ||
145 | #clock-cells = <1>; | ||
146 | clock-output-names = "s2mps14_ap", "unused", | ||
147 | "s2mps14_bt"; | ||
148 | }; | ||
149 | |||
150 | regulators { | ||
151 | ldo1_reg: LDO1 { | ||
152 | regulator-name = "VAP_ALIVE_1.0V"; | ||
153 | regulator-min-microvolt = <1000000>; | ||
154 | regulator-max-microvolt = <1000000>; | ||
155 | regulator-always-on; | ||
156 | |||
157 | regulator-state-mem { | ||
158 | regulator-on-in-suspend; | ||
159 | }; | ||
160 | }; | ||
161 | |||
162 | ldo2_reg: LDO2 { | ||
163 | regulator-name = "VAP_M1_1.2V"; | ||
164 | regulator-min-microvolt = <1200000>; | ||
165 | regulator-max-microvolt = <1200000>; | ||
166 | regulator-always-on; | ||
167 | |||
168 | regulator-state-mem { | ||
169 | regulator-off-in-suspend; | ||
170 | }; | ||
171 | }; | ||
172 | |||
173 | ldo3_reg: LDO3 { | ||
174 | regulator-name = "VCC_AP_1.8V"; | ||
175 | regulator-min-microvolt = <1800000>; | ||
176 | regulator-max-microvolt = <1800000>; | ||
177 | regulator-always-on; | ||
178 | |||
179 | regulator-state-mem { | ||
180 | regulator-off-in-suspend; | ||
181 | }; | ||
182 | }; | ||
183 | |||
184 | ldo4_reg: LDO4 { | ||
185 | regulator-name = "VAP_AVDD_PLL1"; | ||
186 | regulator-min-microvolt = <1800000>; | ||
187 | regulator-max-microvolt = <1800000>; | ||
188 | regulator-always-on; | ||
189 | |||
190 | regulator-state-mem { | ||
191 | regulator-off-in-suspend; | ||
192 | }; | ||
193 | }; | ||
194 | |||
195 | ldo5_reg: LDO5 { | ||
196 | regulator-name = "VAP_PLL_ISO_1.0V"; | ||
197 | regulator-min-microvolt = <1000000>; | ||
198 | regulator-max-microvolt = <1000000>; | ||
199 | regulator-always-on; | ||
200 | |||
201 | regulator-state-mem { | ||
202 | regulator-off-in-suspend; | ||
203 | }; | ||
204 | }; | ||
205 | |||
206 | ldo6_reg: LDO6 { | ||
207 | regulator-name = "VAP_VMIPI_1.0V"; | ||
208 | regulator-min-microvolt = <1000000>; | ||
209 | regulator-max-microvolt = <1000000>; | ||
210 | regulator-always-on; | ||
211 | |||
212 | regulator-state-mem { | ||
213 | regulator-off-in-suspend; | ||
214 | }; | ||
215 | }; | ||
216 | |||
217 | ldo7_reg: LDO7 { | ||
218 | regulator-name = "VAP_AVDD_1.8V"; | ||
219 | regulator-min-microvolt = <1800000>; | ||
220 | regulator-max-microvolt = <1800000>; | ||
221 | regulator-always-on; | ||
222 | |||
223 | regulator-state-mem { | ||
224 | regulator-off-in-suspend; | ||
225 | }; | ||
226 | }; | ||
227 | |||
228 | ldo8_reg: LDO8 { | ||
229 | regulator-name = "VAP_USB_3.0V"; | ||
230 | regulator-min-microvolt = <3000000>; | ||
231 | regulator-max-microvolt = <3000000>; | ||
232 | regulator-always-on; | ||
233 | |||
234 | regulator-state-mem { | ||
235 | regulator-off-in-suspend; | ||
236 | }; | ||
237 | }; | ||
238 | |||
239 | ldo9_reg: LDO9 { | ||
240 | regulator-name = "V_LPDDR_1.2V"; | ||
241 | regulator-min-microvolt = <1200000>; | ||
242 | regulator-max-microvolt = <1200000>; | ||
243 | regulator-always-on; | ||
244 | |||
245 | regulator-state-mem { | ||
246 | regulator-on-in-suspend; | ||
247 | }; | ||
248 | }; | ||
249 | |||
250 | ldo10_reg: LDO10 { | ||
251 | regulator-name = "UNUSED_LDO10"; | ||
252 | regulator-min-microvolt = <1000000>; | ||
253 | regulator-max-microvolt = <1000000>; | ||
254 | |||
255 | regulator-state-mem { | ||
256 | regulator-off-in-suspend; | ||
257 | }; | ||
258 | }; | ||
259 | |||
260 | ldo11_reg: LDO11 { | ||
261 | regulator-name = "V_EMMC_1.8V"; | ||
262 | regulator-min-microvolt = <1800000>; | ||
263 | regulator-max-microvolt = <1800000>; | ||
264 | samsung,ext-control-gpios = <&gpk0 2 0>; | ||
265 | }; | ||
266 | |||
267 | ldo12_reg: LDO12 { | ||
268 | regulator-name = "V_EMMC_2.8V"; | ||
269 | regulator-min-microvolt = <2800000>; | ||
270 | regulator-max-microvolt = <2800000>; | ||
271 | samsung,ext-control-gpios = <&gpk0 2 0>; | ||
272 | }; | ||
273 | |||
274 | ldo13_reg: LDO13 { | ||
275 | regulator-name = "CAM_AVDD_2.8V"; | ||
276 | regulator-min-microvolt = <2800000>; | ||
277 | regulator-max-microvolt = <2800000>; | ||
278 | |||
279 | regulator-state-mem { | ||
280 | regulator-off-in-suspend; | ||
281 | }; | ||
282 | }; | ||
283 | |||
284 | ldo14_reg: LDO14 { | ||
285 | regulator-name = "UNUSED_LDO14"; | ||
286 | regulator-min-microvolt = <2700000>; | ||
287 | regulator-max-microvolt = <2700000>; | ||
288 | |||
289 | regulator-state-mem { | ||
290 | regulator-off-in-suspend; | ||
291 | }; | ||
292 | }; | ||
293 | |||
294 | ldo15_reg: LDO15 { | ||
295 | regulator-name = "TSP_AVDD_3.3V"; | ||
296 | regulator-min-microvolt = <3300000>; | ||
297 | regulator-max-microvolt = <3300000>; | ||
298 | |||
299 | regulator-state-mem { | ||
300 | regulator-off-in-suspend; | ||
301 | }; | ||
302 | }; | ||
303 | |||
304 | ldo16_reg: LDO16 { | ||
305 | regulator-name = "LCD_VDD_3.3V"; | ||
306 | regulator-min-microvolt = <3300000>; | ||
307 | regulator-max-microvolt = <3300000>; | ||
308 | |||
309 | regulator-state-mem { | ||
310 | regulator-off-in-suspend; | ||
311 | }; | ||
312 | }; | ||
313 | |||
314 | ldo17_reg: LDO17 { | ||
315 | regulator-name = "V_IRLED_3.3V"; | ||
316 | regulator-min-microvolt = <3300000>; | ||
317 | regulator-max-microvolt = <3300000>; | ||
318 | |||
319 | regulator-state-mem { | ||
320 | regulator-off-in-suspend; | ||
321 | }; | ||
322 | }; | ||
323 | |||
324 | ldo18_reg: LDO18 { | ||
325 | regulator-name = "CAM_AF_2.8V"; | ||
326 | regulator-min-microvolt = <2800000>; | ||
327 | regulator-max-microvolt = <2800000>; | ||
328 | |||
329 | regulator-state-mem { | ||
330 | regulator-off-in-suspend; | ||
331 | }; | ||
332 | }; | ||
333 | |||
334 | ldo19_reg: LDO19 { | ||
335 | regulator-name = "TSP_VDD_1.8V"; | ||
336 | regulator-min-microvolt = <1800000>; | ||
337 | regulator-max-microvolt = <1800000>; | ||
338 | |||
339 | regulator-state-mem { | ||
340 | regulator-off-in-suspend; | ||
341 | }; | ||
342 | }; | ||
343 | |||
344 | ldo20_reg: LDO20 { | ||
345 | regulator-name = "LCD_VDD_1.8V"; | ||
346 | regulator-min-microvolt = <1800000>; | ||
347 | regulator-max-microvolt = <1800000>; | ||
348 | |||
349 | regulator-state-mem { | ||
350 | regulator-off-in-suspend; | ||
351 | }; | ||
352 | }; | ||
353 | |||
354 | ldo21_reg: LDO21 { | ||
355 | regulator-name = "CAM_IO_1.8V"; | ||
356 | regulator-min-microvolt = <1800000>; | ||
357 | regulator-max-microvolt = <1800000>; | ||
358 | |||
359 | regulator-state-mem { | ||
360 | regulator-off-in-suspend; | ||
361 | }; | ||
362 | }; | ||
363 | |||
364 | ldo22_reg: LDO22 { | ||
365 | regulator-name = "CAM_DVDD_1.2V"; | ||
366 | regulator-min-microvolt = <1200000>; | ||
367 | regulator-max-microvolt = <1200000>; | ||
368 | |||
369 | regulator-state-mem { | ||
370 | regulator-off-in-suspend; | ||
371 | }; | ||
372 | }; | ||
373 | |||
374 | ldo23_reg: LDO23 { | ||
375 | regulator-name = "HRM_VCC_1.8V"; | ||
376 | regulator-min-microvolt = <1800000>; | ||
377 | regulator-max-microvolt = <1800000>; | ||
378 | regulator-always-on; | ||
379 | }; | ||
380 | |||
381 | ldo24_reg: LDO24 { | ||
382 | regulator-name = "HRM_VCC_3.3V"; | ||
383 | regulator-min-microvolt = <3000000>; | ||
384 | regulator-max-microvolt = <3000000>; | ||
385 | |||
386 | regulator-state-mem { | ||
387 | regulator-off-in-suspend; | ||
388 | }; | ||
389 | }; | ||
390 | |||
391 | ldo25_reg: LDO25 { | ||
392 | regulator-name = "UNUSED_LDO25"; | ||
393 | regulator-min-microvolt = <3000000>; | ||
394 | regulator-max-microvolt = <3000000>; | ||
395 | |||
396 | regulator-state-mem { | ||
397 | regulator-off-in-suspend; | ||
398 | }; | ||
399 | }; | ||
400 | |||
401 | buck1_reg: BUCK1 { | ||
402 | regulator-name = "VAP_MIF_1.0V"; | ||
403 | regulator-min-microvolt = <800000>; | ||
404 | regulator-max-microvolt = <900000>; | ||
405 | regulator-always-on; | ||
406 | |||
407 | regulator-state-mem { | ||
408 | regulator-off-in-suspend; | ||
409 | }; | ||
410 | }; | ||
411 | |||
412 | buck2_reg: BUCK2 { | ||
413 | regulator-name = "VAP_ARM_1.0V"; | ||
414 | regulator-min-microvolt = <850000>; | ||
415 | regulator-max-microvolt = <1150000>; | ||
416 | regulator-always-on; | ||
417 | |||
418 | regulator-state-mem { | ||
419 | regulator-off-in-suspend; | ||
420 | }; | ||
421 | }; | ||
422 | |||
423 | buck3_reg: BUCK3 { | ||
424 | regulator-name = "VAP_INT3D_1.0V"; | ||
425 | regulator-min-microvolt = <850000>; | ||
426 | regulator-max-microvolt = <1000000>; | ||
427 | regulator-always-on; | ||
428 | |||
429 | regulator-state-mem { | ||
430 | regulator-off-in-suspend; | ||
431 | }; | ||
432 | }; | ||
433 | |||
434 | buck4_reg: BUCK4 { | ||
435 | regulator-name = "VCC_SUB_1.95V"; | ||
436 | regulator-min-microvolt = <1950000>; | ||
437 | regulator-max-microvolt = <1950000>; | ||
438 | regulator-always-on; | ||
439 | |||
440 | regulator-state-mem { | ||
441 | regulator-on-in-suspend; | ||
442 | }; | ||
443 | }; | ||
444 | |||
445 | buck5_reg: BUCK5 { | ||
446 | regulator-name = "VCC_SUB_1.35V"; | ||
447 | regulator-min-microvolt = <1350000>; | ||
448 | regulator-max-microvolt = <1350000>; | ||
449 | regulator-always-on; | ||
450 | |||
451 | regulator-state-mem { | ||
452 | regulator-on-in-suspend; | ||
453 | }; | ||
454 | }; | ||
455 | }; | ||
456 | }; | ||
457 | }; | ||
458 | |||
459 | &i2c_1 { | ||
460 | #address-cells = <1>; | ||
461 | #size-cells = <0>; | ||
462 | samsung,i2c-sda-delay = <100>; | ||
463 | samsung,i2c-slave-addr = <0x10>; | ||
464 | samsung,i2c-max-bus-freq = <400000>; | ||
465 | status = "okay"; | ||
466 | |||
467 | fuelgauge@36 { | ||
468 | compatible = "maxim,max77836-battery"; | ||
469 | interrupt-parent = <&gpx1>; | ||
470 | interrupts = <2 8>; | ||
471 | reg = <0x36>; | ||
472 | }; | ||
473 | }; | ||
474 | |||
475 | &i2s2 { | ||
476 | status = "okay"; | ||
477 | }; | ||
478 | |||
479 | &mfc { | ||
480 | status = "okay"; | ||
481 | }; | ||
482 | |||
483 | &mshc_0 { | ||
484 | #address-cells = <1>; | ||
485 | #size-cells = <0>; | ||
486 | num-slots = <1>; | ||
487 | broken-cd; | ||
488 | non-removable; | ||
489 | cap-mmc-highspeed; | ||
490 | desc-num = <4>; | ||
491 | mmc-hs200-1_8v; | ||
492 | card-detect-delay = <200>; | ||
493 | vmmc-supply = <&ldo12_reg>; | ||
494 | clock-frequency = <100000000>; | ||
495 | clock-freq-min-max = <400000 100000000>; | ||
496 | samsung,dw-mshc-ciu-div = <1>; | ||
497 | samsung,dw-mshc-sdr-timing = <0 1>; | ||
498 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
499 | pinctrl-names = "default"; | ||
500 | pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>; | ||
501 | bus-width = <8>; | ||
502 | status = "okay"; | ||
503 | }; | ||
504 | |||
505 | &serial_0 { | ||
506 | assigned-clocks = <&cmu CLK_SCLK_UART0>; | ||
507 | assigned-clock-rates = <100000000>; | ||
508 | status = "okay"; | ||
509 | }; | ||
510 | |||
511 | &serial_1 { | ||
512 | status = "okay"; | ||
513 | }; | ||
514 | |||
515 | &tmu { | ||
516 | vtmu-supply = <&ldo7_reg>; | ||
517 | status = "okay"; | ||
518 | }; | ||
519 | |||
520 | &rtc { | ||
521 | clocks = <&cmu CLK_RTC>, <&s2mps14_osc 0>; | ||
522 | clock-names = "rtc", "rtc_src"; | ||
523 | status = "okay"; | ||
524 | }; | ||
525 | |||
526 | &xusbxti { | ||
527 | clock-frequency = <24000000>; | ||
528 | }; | ||
529 | |||
530 | &pinctrl_0 { | ||
531 | pinctrl-names = "default"; | ||
532 | pinctrl-0 = <&sleep0>; | ||
533 | |||
534 | sleep0: sleep-state { | ||
535 | PIN_SLP(gpa0-0, INPUT, DOWN); | ||
536 | PIN_SLP(gpa0-1, INPUT, DOWN); | ||
537 | PIN_SLP(gpa0-2, INPUT, DOWN); | ||
538 | PIN_SLP(gpa0-3, INPUT, DOWN); | ||
539 | PIN_SLP(gpa0-4, INPUT, DOWN); | ||
540 | PIN_SLP(gpa0-5, INPUT, DOWN); | ||
541 | PIN_SLP(gpa0-6, INPUT, DOWN); | ||
542 | PIN_SLP(gpa0-7, INPUT, DOWN); | ||
543 | |||
544 | PIN_SLP(gpa1-0, INPUT, DOWN); | ||
545 | PIN_SLP(gpa1-1, INPUT, DOWN); | ||
546 | PIN_SLP(gpa1-2, INPUT, DOWN); | ||
547 | PIN_SLP(gpa1-3, INPUT, DOWN); | ||
548 | PIN_SLP(gpa1-4, INPUT, DOWN); | ||
549 | PIN_SLP(gpa1-5, INPUT, DOWN); | ||
550 | |||
551 | PIN_SLP(gpb-0, PREV, NONE); | ||
552 | PIN_SLP(gpb-1, PREV, NONE); | ||
553 | PIN_SLP(gpb-2, PREV, NONE); | ||
554 | PIN_SLP(gpb-3, PREV, NONE); | ||
555 | PIN_SLP(gpb-4, INPUT, DOWN); | ||
556 | PIN_SLP(gpb-5, INPUT, DOWN); | ||
557 | PIN_SLP(gpb-6, INPUT, DOWN); | ||
558 | PIN_SLP(gpb-7, INPUT, DOWN); | ||
559 | |||
560 | PIN_SLP(gpc0-0, INPUT, DOWN); | ||
561 | PIN_SLP(gpc0-1, INPUT, DOWN); | ||
562 | PIN_SLP(gpc0-2, INPUT, DOWN); | ||
563 | PIN_SLP(gpc0-3, INPUT, DOWN); | ||
564 | PIN_SLP(gpc0-4, INPUT, DOWN); | ||
565 | |||
566 | PIN_SLP(gpc1-0, INPUT, DOWN); | ||
567 | PIN_SLP(gpc1-1, INPUT, DOWN); | ||
568 | PIN_SLP(gpc1-2, INPUT, DOWN); | ||
569 | PIN_SLP(gpc1-3, INPUT, DOWN); | ||
570 | PIN_SLP(gpc1-4, INPUT, DOWN); | ||
571 | |||
572 | PIN_SLP(gpd0-0, INPUT, DOWN); | ||
573 | PIN_SLP(gpd0-1, INPUT, DOWN); | ||
574 | PIN_SLP(gpd0-2, INPUT, NONE); | ||
575 | PIN_SLP(gpd0-3, INPUT, NONE); | ||
576 | |||
577 | PIN_SLP(gpd1-0, INPUT, NONE); | ||
578 | PIN_SLP(gpd1-1, INPUT, NONE); | ||
579 | PIN_SLP(gpd1-2, INPUT, NONE); | ||
580 | PIN_SLP(gpd1-3, INPUT, NONE); | ||
581 | }; | ||
582 | }; | ||
583 | |||
584 | &pinctrl_1 { | ||
585 | pinctrl-names = "default"; | ||
586 | pinctrl-0 = <&sleep1>; | ||
587 | |||
588 | sleep1: sleep-state { | ||
589 | PIN_SLP(gpe0-0, PREV, NONE); | ||
590 | PIN_SLP(gpe0-1, PREV, NONE); | ||
591 | PIN_SLP(gpe0-2, INPUT, DOWN); | ||
592 | PIN_SLP(gpe0-3, INPUT, UP); | ||
593 | PIN_SLP(gpe0-4, INPUT, DOWN); | ||
594 | PIN_SLP(gpe0-5, INPUT, DOWN); | ||
595 | PIN_SLP(gpe0-6, INPUT, DOWN); | ||
596 | PIN_SLP(gpe0-7, INPUT, DOWN); | ||
597 | |||
598 | PIN_SLP(gpe1-0, INPUT, DOWN); | ||
599 | PIN_SLP(gpe1-1, PREV, NONE); | ||
600 | PIN_SLP(gpe1-2, INPUT, DOWN); | ||
601 | PIN_SLP(gpe1-3, INPUT, DOWN); | ||
602 | PIN_SLP(gpe1-4, INPUT, DOWN); | ||
603 | PIN_SLP(gpe1-5, INPUT, DOWN); | ||
604 | PIN_SLP(gpe1-6, INPUT, DOWN); | ||
605 | PIN_SLP(gpe1-7, INPUT, NONE); | ||
606 | |||
607 | PIN_SLP(gpe2-0, INPUT, NONE); | ||
608 | PIN_SLP(gpe2-1, INPUT, NONE); | ||
609 | PIN_SLP(gpe2-2, INPUT, NONE); | ||
610 | |||
611 | PIN_SLP(gpk0-0, INPUT, DOWN); | ||
612 | PIN_SLP(gpk0-1, INPUT, DOWN); | ||
613 | PIN_SLP(gpk0-2, OUT0, NONE); | ||
614 | PIN_SLP(gpk0-3, INPUT, DOWN); | ||
615 | PIN_SLP(gpk0-4, INPUT, DOWN); | ||
616 | PIN_SLP(gpk0-5, INPUT, DOWN); | ||
617 | PIN_SLP(gpk0-6, INPUT, DOWN); | ||
618 | PIN_SLP(gpk0-7, INPUT, DOWN); | ||
619 | |||
620 | PIN_SLP(gpk1-0, INPUT, DOWN); | ||
621 | PIN_SLP(gpk1-1, INPUT, DOWN); | ||
622 | PIN_SLP(gpk1-2, INPUT, DOWN); | ||
623 | PIN_SLP(gpk1-3, INPUT, DOWN); | ||
624 | PIN_SLP(gpk1-4, INPUT, DOWN); | ||
625 | PIN_SLP(gpk1-5, INPUT, DOWN); | ||
626 | PIN_SLP(gpk1-6, INPUT, DOWN); | ||
627 | |||
628 | PIN_SLP(gpk2-0, INPUT, DOWN); | ||
629 | PIN_SLP(gpk2-1, INPUT, DOWN); | ||
630 | PIN_SLP(gpk2-2, INPUT, DOWN); | ||
631 | PIN_SLP(gpk2-3, INPUT, DOWN); | ||
632 | PIN_SLP(gpk2-4, INPUT, DOWN); | ||
633 | PIN_SLP(gpk2-5, INPUT, DOWN); | ||
634 | PIN_SLP(gpk2-6, INPUT, DOWN); | ||
635 | |||
636 | PIN_SLP(gpl0-0, INPUT, DOWN); | ||
637 | PIN_SLP(gpl0-1, INPUT, DOWN); | ||
638 | PIN_SLP(gpl0-2, INPUT, DOWN); | ||
639 | PIN_SLP(gpl0-3, INPUT, DOWN); | ||
640 | |||
641 | PIN_SLP(gpm0-0, INPUT, DOWN); | ||
642 | PIN_SLP(gpm0-1, INPUT, DOWN); | ||
643 | PIN_SLP(gpm0-2, INPUT, DOWN); | ||
644 | PIN_SLP(gpm0-3, INPUT, DOWN); | ||
645 | PIN_SLP(gpm0-4, INPUT, DOWN); | ||
646 | PIN_SLP(gpm0-5, INPUT, DOWN); | ||
647 | PIN_SLP(gpm0-6, INPUT, DOWN); | ||
648 | PIN_SLP(gpm0-7, INPUT, DOWN); | ||
649 | |||
650 | PIN_SLP(gpm1-0, INPUT, DOWN); | ||
651 | PIN_SLP(gpm1-1, INPUT, DOWN); | ||
652 | PIN_SLP(gpm1-2, INPUT, DOWN); | ||
653 | PIN_SLP(gpm1-3, INPUT, DOWN); | ||
654 | PIN_SLP(gpm1-4, INPUT, DOWN); | ||
655 | PIN_SLP(gpm1-5, INPUT, DOWN); | ||
656 | PIN_SLP(gpm1-6, INPUT, DOWN); | ||
657 | |||
658 | PIN_SLP(gpm2-0, INPUT, DOWN); | ||
659 | PIN_SLP(gpm2-1, INPUT, DOWN); | ||
660 | PIN_SLP(gpm2-2, INPUT, DOWN); | ||
661 | PIN_SLP(gpm2-3, INPUT, DOWN); | ||
662 | PIN_SLP(gpm2-4, INPUT, DOWN); | ||
663 | |||
664 | PIN_SLP(gpm3-0, INPUT, DOWN); | ||
665 | PIN_SLP(gpm3-1, INPUT, DOWN); | ||
666 | PIN_SLP(gpm3-2, INPUT, DOWN); | ||
667 | PIN_SLP(gpm3-3, INPUT, DOWN); | ||
668 | PIN_SLP(gpm3-4, INPUT, DOWN); | ||
669 | PIN_SLP(gpm3-5, INPUT, DOWN); | ||
670 | PIN_SLP(gpm3-6, INPUT, DOWN); | ||
671 | PIN_SLP(gpm3-7, INPUT, DOWN); | ||
672 | |||
673 | PIN_SLP(gpm4-0, INPUT, DOWN); | ||
674 | PIN_SLP(gpm4-1, INPUT, DOWN); | ||
675 | PIN_SLP(gpm4-2, INPUT, DOWN); | ||
676 | PIN_SLP(gpm4-3, INPUT, DOWN); | ||
677 | PIN_SLP(gpm4-4, INPUT, DOWN); | ||
678 | PIN_SLP(gpm4-5, INPUT, DOWN); | ||
679 | PIN_SLP(gpm4-6, INPUT, DOWN); | ||
680 | PIN_SLP(gpm4-7, INPUT, DOWN); | ||
681 | }; | ||
682 | }; | ||
diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi index 693a3275606f..242ddda0a8cd 100644 --- a/arch/arm/boot/dts/exynos3250.dtsi +++ b/arch/arm/boot/dts/exynos3250.dtsi | |||
@@ -320,6 +320,16 @@ | |||
320 | status = "disabled"; | 320 | status = "disabled"; |
321 | }; | 321 | }; |
322 | 322 | ||
323 | mfc: codec@13400000 { | ||
324 | compatible = "samsung,mfc-v7"; | ||
325 | reg = <0x13400000 0x10000>; | ||
326 | interrupts = <0 102 0>; | ||
327 | clock-names = "mfc", "sclk_mfc"; | ||
328 | clocks = <&cmu CLK_MFC>, <&cmu CLK_SCLK_MFC>; | ||
329 | samsung,power-domain = <&pd_mfc>; | ||
330 | status = "disabled"; | ||
331 | }; | ||
332 | |||
323 | serial_0: serial@13800000 { | 333 | serial_0: serial@13800000 { |
324 | compatible = "samsung,exynos4210-uart"; | 334 | compatible = "samsung,exynos4210-uart"; |
325 | reg = <0x13800000 0x100>; | 335 | reg = <0x13800000 0x100>; |
diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index e0278ecbc816..b8168f1f8139 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi | |||
@@ -392,8 +392,8 @@ | |||
392 | reg = <0x13400000 0x10000>; | 392 | reg = <0x13400000 0x10000>; |
393 | interrupts = <0 94 0>; | 393 | interrupts = <0 94 0>; |
394 | samsung,power-domain = <&pd_mfc>; | 394 | samsung,power-domain = <&pd_mfc>; |
395 | clocks = <&clock CLK_MFC>; | 395 | clocks = <&clock CLK_MFC>, <&clock CLK_SCLK_MFC>; |
396 | clock-names = "mfc"; | 396 | clock-names = "mfc", "sclk_mfc"; |
397 | status = "disabled"; | 397 | status = "disabled"; |
398 | }; | 398 | }; |
399 | 399 | ||
diff --git a/arch/arm/boot/dts/exynos4210-trats.dts b/arch/arm/boot/dts/exynos4210-trats.dts index f516da9e8b3a..720836205546 100644 --- a/arch/arm/boot/dts/exynos4210-trats.dts +++ b/arch/arm/boot/dts/exynos4210-trats.dts | |||
@@ -431,18 +431,34 @@ | |||
431 | 431 | ||
432 | fimc_0: fimc@11800000 { | 432 | fimc_0: fimc@11800000 { |
433 | status = "okay"; | 433 | status = "okay"; |
434 | assigned-clocks = <&clock CLK_MOUT_FIMC0>, | ||
435 | <&clock CLK_SCLK_FIMC0>; | ||
436 | assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | ||
437 | assigned-clock-rates = <0>, <160000000>; | ||
434 | }; | 438 | }; |
435 | 439 | ||
436 | fimc_1: fimc@11810000 { | 440 | fimc_1: fimc@11810000 { |
437 | status = "okay"; | 441 | status = "okay"; |
442 | assigned-clocks = <&clock CLK_MOUT_FIMC1>, | ||
443 | <&clock CLK_SCLK_FIMC1>; | ||
444 | assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | ||
445 | assigned-clock-rates = <0>, <160000000>; | ||
438 | }; | 446 | }; |
439 | 447 | ||
440 | fimc_2: fimc@11820000 { | 448 | fimc_2: fimc@11820000 { |
441 | status = "okay"; | 449 | status = "okay"; |
450 | assigned-clocks = <&clock CLK_MOUT_FIMC2>, | ||
451 | <&clock CLK_SCLK_FIMC2>; | ||
452 | assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | ||
453 | assigned-clock-rates = <0>, <160000000>; | ||
442 | }; | 454 | }; |
443 | 455 | ||
444 | fimc_3: fimc@11830000 { | 456 | fimc_3: fimc@11830000 { |
445 | status = "okay"; | 457 | status = "okay"; |
458 | assigned-clocks = <&clock CLK_MOUT_FIMC3>, | ||
459 | <&clock CLK_SCLK_FIMC3>; | ||
460 | assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | ||
461 | assigned-clock-rates = <0>, <160000000>; | ||
446 | }; | 462 | }; |
447 | }; | 463 | }; |
448 | }; | 464 | }; |
diff --git a/arch/arm/boot/dts/exynos4210-universal_c210.dts b/arch/arm/boot/dts/exynos4210-universal_c210.dts index d50eb3aa708e..aaf0cae4f5e8 100644 --- a/arch/arm/boot/dts/exynos4210-universal_c210.dts +++ b/arch/arm/boot/dts/exynos4210-universal_c210.dts | |||
@@ -473,18 +473,34 @@ | |||
473 | 473 | ||
474 | fimc_0: fimc@11800000 { | 474 | fimc_0: fimc@11800000 { |
475 | status = "okay"; | 475 | status = "okay"; |
476 | assigned-clocks = <&clock CLK_MOUT_FIMC0>, | ||
477 | <&clock CLK_SCLK_FIMC0>; | ||
478 | assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | ||
479 | assigned-clock-rates = <0>, <160000000>; | ||
476 | }; | 480 | }; |
477 | 481 | ||
478 | fimc_1: fimc@11810000 { | 482 | fimc_1: fimc@11810000 { |
479 | status = "okay"; | 483 | status = "okay"; |
484 | assigned-clocks = <&clock CLK_MOUT_FIMC1>, | ||
485 | <&clock CLK_SCLK_FIMC1>; | ||
486 | assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | ||
487 | assigned-clock-rates = <0>, <160000000>; | ||
480 | }; | 488 | }; |
481 | 489 | ||
482 | fimc_2: fimc@11820000 { | 490 | fimc_2: fimc@11820000 { |
483 | status = "okay"; | 491 | status = "okay"; |
492 | assigned-clocks = <&clock CLK_MOUT_FIMC2>, | ||
493 | <&clock CLK_SCLK_FIMC2>; | ||
494 | assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | ||
495 | assigned-clock-rates = <0>, <160000000>; | ||
484 | }; | 496 | }; |
485 | 497 | ||
486 | fimc_3: fimc@11830000 { | 498 | fimc_3: fimc@11830000 { |
487 | status = "okay"; | 499 | status = "okay"; |
500 | assigned-clocks = <&clock CLK_MOUT_FIMC3>, | ||
501 | <&clock CLK_SCLK_FIMC3>; | ||
502 | assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | ||
503 | assigned-clock-rates = <0>, <160000000>; | ||
488 | }; | 504 | }; |
489 | }; | 505 | }; |
490 | }; | 506 | }; |
diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi index 807bb5bf91fc..bcc9e63c8070 100644 --- a/arch/arm/boot/dts/exynos4210.dtsi +++ b/arch/arm/boot/dts/exynos4210.dtsi | |||
@@ -31,6 +31,23 @@ | |||
31 | pinctrl2 = &pinctrl_2; | 31 | pinctrl2 = &pinctrl_2; |
32 | }; | 32 | }; |
33 | 33 | ||
34 | cpus { | ||
35 | #address-cells = <1>; | ||
36 | #size-cells = <0>; | ||
37 | |||
38 | cpu@900 { | ||
39 | device_type = "cpu"; | ||
40 | compatible = "arm,cortex-a9"; | ||
41 | reg = <0x900>; | ||
42 | }; | ||
43 | |||
44 | cpu@901 { | ||
45 | device_type = "cpu"; | ||
46 | compatible = "arm,cortex-a9"; | ||
47 | reg = <0x901>; | ||
48 | }; | ||
49 | }; | ||
50 | |||
34 | pmu_system_controller: system-controller@10020000 { | 51 | pmu_system_controller: system-controller@10020000 { |
35 | clock-names = "clkout0", "clkout1", "clkout2", "clkout3", | 52 | clock-names = "clkout0", "clkout1", "clkout2", "clkout3", |
36 | "clkout4", "clkout8", "clkout9"; | 53 | "clkout4", "clkout8", "clkout9"; |
diff --git a/arch/arm/boot/dts/exynos4212.dtsi b/arch/arm/boot/dts/exynos4212.dtsi index 3c00e6ec9302..dd0a43ec56da 100644 --- a/arch/arm/boot/dts/exynos4212.dtsi +++ b/arch/arm/boot/dts/exynos4212.dtsi | |||
@@ -22,6 +22,23 @@ | |||
22 | / { | 22 | / { |
23 | compatible = "samsung,exynos4212", "samsung,exynos4"; | 23 | compatible = "samsung,exynos4212", "samsung,exynos4"; |
24 | 24 | ||
25 | cpus { | ||
26 | #address-cells = <1>; | ||
27 | #size-cells = <0>; | ||
28 | |||
29 | cpu@A00 { | ||
30 | device_type = "cpu"; | ||
31 | compatible = "arm,cortex-a9"; | ||
32 | reg = <0xA00>; | ||
33 | }; | ||
34 | |||
35 | cpu@A01 { | ||
36 | device_type = "cpu"; | ||
37 | compatible = "arm,cortex-a9"; | ||
38 | reg = <0xA01>; | ||
39 | }; | ||
40 | }; | ||
41 | |||
25 | combiner: interrupt-controller@10440000 { | 42 | combiner: interrupt-controller@10440000 { |
26 | samsung,combiner-nr = <18>; | 43 | samsung,combiner-nr = <18>; |
27 | }; | 44 | }; |
diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi index c697ff01ae8d..3fbf588682b9 100644 --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi | |||
@@ -45,6 +45,16 @@ | |||
45 | compatible = "samsung,odroidx2-audio"; | 45 | compatible = "samsung,odroidx2-audio"; |
46 | samsung,i2s-controller = <&i2s0>; | 46 | samsung,i2s-controller = <&i2s0>; |
47 | samsung,audio-codec = <&max98090>; | 47 | samsung,audio-codec = <&max98090>; |
48 | assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>, | ||
49 | <&clock_audss EXYNOS_MOUT_I2S>, | ||
50 | <&clock_audss EXYNOS_DOUT_SRP>, | ||
51 | <&clock_audss EXYNOS_DOUT_AUD_BUS>; | ||
52 | assigned-clock-parents = <&clock CLK_FOUT_EPLL>, | ||
53 | <&clock_audss EXYNOS_MOUT_AUDSS>; | ||
54 | assigned-clock-rates = <0>, | ||
55 | <0>, | ||
56 | <192000000>, | ||
57 | <19200000>; | ||
48 | }; | 58 | }; |
49 | 59 | ||
50 | mmc@12550000 { | 60 | mmc@12550000 { |
@@ -82,18 +92,34 @@ | |||
82 | 92 | ||
83 | fimc_0: fimc@11800000 { | 93 | fimc_0: fimc@11800000 { |
84 | status = "okay"; | 94 | status = "okay"; |
95 | assigned-clocks = <&clock CLK_MOUT_FIMC0>, | ||
96 | <&clock CLK_SCLK_FIMC0>; | ||
97 | assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; | ||
98 | assigned-clock-rates = <0>, <176000000>; | ||
85 | }; | 99 | }; |
86 | 100 | ||
87 | fimc_1: fimc@11810000 { | 101 | fimc_1: fimc@11810000 { |
88 | status = "okay"; | 102 | status = "okay"; |
103 | assigned-clocks = <&clock CLK_MOUT_FIMC1>, | ||
104 | <&clock CLK_SCLK_FIMC1>; | ||
105 | assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; | ||
106 | assigned-clock-rates = <0>, <176000000>; | ||
89 | }; | 107 | }; |
90 | 108 | ||
91 | fimc_2: fimc@11820000 { | 109 | fimc_2: fimc@11820000 { |
92 | status = "okay"; | 110 | status = "okay"; |
111 | assigned-clocks = <&clock CLK_MOUT_FIMC2>, | ||
112 | <&clock CLK_SCLK_FIMC2>; | ||
113 | assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; | ||
114 | assigned-clock-rates = <0>, <176000000>; | ||
93 | }; | 115 | }; |
94 | 116 | ||
95 | fimc_3: fimc@11830000 { | 117 | fimc_3: fimc@11830000 { |
96 | status = "okay"; | 118 | status = "okay"; |
119 | assigned-clocks = <&clock CLK_MOUT_FIMC3>, | ||
120 | <&clock CLK_SCLK_FIMC3>; | ||
121 | assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; | ||
122 | assigned-clock-rates = <0>, <176000000>; | ||
97 | }; | 123 | }; |
98 | }; | 124 | }; |
99 | 125 | ||
diff --git a/arch/arm/boot/dts/exynos4412-trats2.dts b/arch/arm/boot/dts/exynos4412-trats2.dts index 5e066cd87f66..29231b452643 100644 --- a/arch/arm/boot/dts/exynos4412-trats2.dts +++ b/arch/arm/boot/dts/exynos4412-trats2.dts | |||
@@ -14,6 +14,7 @@ | |||
14 | 14 | ||
15 | /dts-v1/; | 15 | /dts-v1/; |
16 | #include "exynos4412.dtsi" | 16 | #include "exynos4412.dtsi" |
17 | #include <dt-bindings/gpio/gpio.h> | ||
17 | 18 | ||
18 | / { | 19 | / { |
19 | model = "Samsung Trats 2 based on Exynos4412"; | 20 | model = "Samsung Trats 2 based on Exynos4412"; |
@@ -22,6 +23,7 @@ | |||
22 | aliases { | 23 | aliases { |
23 | i2c9 = &i2c_ak8975; | 24 | i2c9 = &i2c_ak8975; |
24 | i2c10 = &i2c_cm36651; | 25 | i2c10 = &i2c_cm36651; |
26 | i2c11 = &i2c_max77693; | ||
25 | }; | 27 | }; |
26 | 28 | ||
27 | memory { | 29 | memory { |
@@ -399,8 +401,6 @@ | |||
399 | regulator-name = "VMEM_VDD_2.8V"; | 401 | regulator-name = "VMEM_VDD_2.8V"; |
400 | regulator-min-microvolt = <2800000>; | 402 | regulator-min-microvolt = <2800000>; |
401 | regulator-max-microvolt = <2800000>; | 403 | regulator-max-microvolt = <2800000>; |
402 | regulator-always-on; | ||
403 | regulator-mem-off; | ||
404 | }; | 404 | }; |
405 | 405 | ||
406 | ldo23_reg: ldo23 { | 406 | ldo23_reg: ldo23 { |
@@ -503,8 +503,6 @@ | |||
503 | regulator-name = "VMEM_VDDF_3.0V"; | 503 | regulator-name = "VMEM_VDDF_3.0V"; |
504 | regulator-min-microvolt = <2850000>; | 504 | regulator-min-microvolt = <2850000>; |
505 | regulator-max-microvolt = <2850000>; | 505 | regulator-max-microvolt = <2850000>; |
506 | regulator-always-on; | ||
507 | regulator-mem-off; | ||
508 | }; | 506 | }; |
509 | 507 | ||
510 | buck9_reg: buck9 { | 508 | buck9_reg: buck9 { |
@@ -518,6 +516,42 @@ | |||
518 | }; | 516 | }; |
519 | }; | 517 | }; |
520 | 518 | ||
519 | i2c_max77693: i2c-gpio-1 { | ||
520 | compatible = "i2c-gpio"; | ||
521 | gpios = <&gpm2 0 GPIO_ACTIVE_HIGH>, <&gpm2 1 GPIO_ACTIVE_HIGH>; | ||
522 | i2c-gpio,delay-us = <2>; | ||
523 | #address-cells = <1>; | ||
524 | #size-cells = <0>; | ||
525 | status = "okay"; | ||
526 | |||
527 | max77693@66 { | ||
528 | compatible = "maxim,max77693"; | ||
529 | interrupt-parent = <&gpx1>; | ||
530 | interrupts = <5 2>; | ||
531 | reg = <0x66>; | ||
532 | |||
533 | regulators { | ||
534 | esafeout1_reg: ESAFEOUT1@1 { | ||
535 | regulator-name = "ESAFEOUT1"; | ||
536 | }; | ||
537 | esafeout2_reg: ESAFEOUT2@2 { | ||
538 | regulator-name = "ESAFEOUT2"; | ||
539 | }; | ||
540 | charger_reg: CHARGER@0 { | ||
541 | regulator-name = "CHARGER"; | ||
542 | regulator-min-microamp = <60000>; | ||
543 | regulator-max-microamp = <2580000>; | ||
544 | }; | ||
545 | }; | ||
546 | |||
547 | max77693_haptic { | ||
548 | compatible = "maxim,max77693-haptic"; | ||
549 | haptic-supply = <&ldo26_reg>; | ||
550 | pwms = <&pwm 0 38022 0>; | ||
551 | }; | ||
552 | }; | ||
553 | }; | ||
554 | |||
521 | mmc@12550000 { | 555 | mmc@12550000 { |
522 | num-slots = <1>; | 556 | num-slots = <1>; |
523 | broken-cd; | 557 | broken-cd; |
@@ -535,6 +569,16 @@ | |||
535 | cap-mmc-highspeed; | 569 | cap-mmc-highspeed; |
536 | }; | 570 | }; |
537 | 571 | ||
572 | sdhci@12530000 { | ||
573 | bus-width = <4>; | ||
574 | cd-gpios = <&gpx3 4 0>; | ||
575 | cd-inverted; | ||
576 | pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>; | ||
577 | pinctrl-names = "default"; | ||
578 | vmmc-supply = <&ldo21_reg>; | ||
579 | status = "okay"; | ||
580 | }; | ||
581 | |||
538 | serial@13800000 { | 582 | serial@13800000 { |
539 | status = "okay"; | 583 | status = "okay"; |
540 | }; | 584 | }; |
@@ -551,6 +595,11 @@ | |||
551 | status = "okay"; | 595 | status = "okay"; |
552 | }; | 596 | }; |
553 | 597 | ||
598 | tmu@100C0000 { | ||
599 | vtmu-supply = <&ldo10_reg>; | ||
600 | status = "okay"; | ||
601 | }; | ||
602 | |||
554 | i2c_ak8975: i2c-gpio-0 { | 603 | i2c_ak8975: i2c-gpio-0 { |
555 | compatible = "i2c-gpio"; | 604 | compatible = "i2c-gpio"; |
556 | gpios = <&gpy2 4 0>, <&gpy2 5 0>; | 605 | gpios = <&gpy2 4 0>, <&gpy2 5 0>; |
@@ -598,6 +647,13 @@ | |||
598 | }; | 647 | }; |
599 | }; | 648 | }; |
600 | 649 | ||
650 | pwm: pwm@139D0000 { | ||
651 | pinctrl-0 = <&pwm0_out>; | ||
652 | pinctrl-names = "default"; | ||
653 | samsung,pwm-outputs = <0>; | ||
654 | status = "okay"; | ||
655 | }; | ||
656 | |||
601 | dsi_0: dsi@11C80000 { | 657 | dsi_0: dsi@11C80000 { |
602 | vddcore-supply = <&ldo8_reg>; | 658 | vddcore-supply = <&ldo8_reg>; |
603 | vddio-supply = <&ldo10_reg>; | 659 | vddio-supply = <&ldo10_reg>; |
@@ -663,28 +719,51 @@ | |||
663 | pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>; | 719 | pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>; |
664 | pinctrl-names = "default"; | 720 | pinctrl-names = "default"; |
665 | status = "okay"; | 721 | status = "okay"; |
722 | assigned-clocks = <&clock CLK_MOUT_CAM0>, | ||
723 | <&clock CLK_MOUT_CAM1>; | ||
724 | assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>, | ||
725 | <&clock CLK_MOUT_MPLL_USER_T>; | ||
666 | 726 | ||
667 | fimc_0: fimc@11800000 { | 727 | fimc_0: fimc@11800000 { |
668 | status = "okay"; | 728 | status = "okay"; |
729 | assigned-clocks = <&clock CLK_MOUT_FIMC0>, | ||
730 | <&clock CLK_SCLK_FIMC0>; | ||
731 | assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; | ||
732 | assigned-clock-rates = <0>, <176000000>; | ||
669 | }; | 733 | }; |
670 | 734 | ||
671 | fimc_1: fimc@11810000 { | 735 | fimc_1: fimc@11810000 { |
672 | status = "okay"; | 736 | status = "okay"; |
737 | assigned-clocks = <&clock CLK_MOUT_FIMC1>, | ||
738 | <&clock CLK_SCLK_FIMC1>; | ||
739 | assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; | ||
740 | assigned-clock-rates = <0>, <176000000>; | ||
673 | }; | 741 | }; |
674 | 742 | ||
675 | fimc_2: fimc@11820000 { | 743 | fimc_2: fimc@11820000 { |
676 | status = "okay"; | 744 | status = "okay"; |
745 | assigned-clocks = <&clock CLK_MOUT_FIMC2>, | ||
746 | <&clock CLK_SCLK_FIMC2>; | ||
747 | assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; | ||
748 | assigned-clock-rates = <0>, <176000000>; | ||
677 | }; | 749 | }; |
678 | 750 | ||
679 | fimc_3: fimc@11830000 { | 751 | fimc_3: fimc@11830000 { |
680 | status = "okay"; | 752 | status = "okay"; |
753 | assigned-clocks = <&clock CLK_MOUT_FIMC3>, | ||
754 | <&clock CLK_SCLK_FIMC3>; | ||
755 | assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; | ||
756 | assigned-clock-rates = <0>, <176000000>; | ||
681 | }; | 757 | }; |
682 | 758 | ||
683 | csis_0: csis@11880000 { | 759 | csis_0: csis@11880000 { |
684 | status = "okay"; | 760 | status = "okay"; |
685 | vddcore-supply = <&ldo8_reg>; | 761 | vddcore-supply = <&ldo8_reg>; |
686 | vddio-supply = <&ldo10_reg>; | 762 | vddio-supply = <&ldo10_reg>; |
687 | clock-frequency = <176000000>; | 763 | assigned-clocks = <&clock CLK_MOUT_CSIS0>, |
764 | <&clock CLK_SCLK_CSIS0>; | ||
765 | assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; | ||
766 | assigned-clock-rates = <0>, <176000000>; | ||
688 | 767 | ||
689 | /* Camera C (3) MIPI CSI-2 (CSIS0) */ | 768 | /* Camera C (3) MIPI CSI-2 (CSIS0) */ |
690 | port@3 { | 769 | port@3 { |
@@ -698,10 +777,13 @@ | |||
698 | }; | 777 | }; |
699 | 778 | ||
700 | csis_1: csis@11890000 { | 779 | csis_1: csis@11890000 { |
780 | status = "okay"; | ||
701 | vddcore-supply = <&ldo8_reg>; | 781 | vddcore-supply = <&ldo8_reg>; |
702 | vddio-supply = <&ldo10_reg>; | 782 | vddio-supply = <&ldo10_reg>; |
703 | clock-frequency = <160000000>; | 783 | assigned-clocks = <&clock CLK_MOUT_CSIS1>, |
704 | status = "okay"; | 784 | <&clock CLK_SCLK_CSIS1>; |
785 | assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; | ||
786 | assigned-clock-rates = <0>, <176000000>; | ||
705 | 787 | ||
706 | /* Camera D (4) MIPI CSI-2 (CSIS1) */ | 788 | /* Camera D (4) MIPI CSI-2 (CSIS1) */ |
707 | port@4 { | 789 | port@4 { |
@@ -782,3 +864,319 @@ | |||
782 | io-channels = <&adc 2>; /* Battery temperature */ | 864 | io-channels = <&adc 2>; /* Battery temperature */ |
783 | }; | 865 | }; |
784 | }; | 866 | }; |
867 | |||
868 | &pinctrl_0 { | ||
869 | pinctrl-names = "default"; | ||
870 | pinctrl-0 = <&sleep0>; | ||
871 | |||
872 | sleep0: sleep-states { | ||
873 | PIN_SLP(gpa0-0, INPUT, NONE); | ||
874 | PIN_SLP(gpa0-1, OUT0, NONE); | ||
875 | PIN_SLP(gpa0-2, INPUT, NONE); | ||
876 | PIN_SLP(gpa0-3, INPUT, UP); | ||
877 | PIN_SLP(gpa0-4, INPUT, NONE); | ||
878 | PIN_SLP(gpa0-5, INPUT, DOWN); | ||
879 | PIN_SLP(gpa0-6, INPUT, DOWN); | ||
880 | PIN_SLP(gpa0-7, INPUT, UP); | ||
881 | |||
882 | PIN_SLP(gpa1-0, INPUT, DOWN); | ||
883 | PIN_SLP(gpa1-1, INPUT, DOWN); | ||
884 | PIN_SLP(gpa1-2, INPUT, DOWN); | ||
885 | PIN_SLP(gpa1-3, INPUT, DOWN); | ||
886 | PIN_SLP(gpa1-4, INPUT, DOWN); | ||
887 | PIN_SLP(gpa1-5, INPUT, DOWN); | ||
888 | |||
889 | PIN_SLP(gpb-0, INPUT, NONE); | ||
890 | PIN_SLP(gpb-1, INPUT, NONE); | ||
891 | PIN_SLP(gpb-2, INPUT, NONE); | ||
892 | PIN_SLP(gpb-3, INPUT, NONE); | ||
893 | PIN_SLP(gpb-4, INPUT, DOWN); | ||
894 | PIN_SLP(gpb-5, INPUT, UP); | ||
895 | PIN_SLP(gpb-6, INPUT, DOWN); | ||
896 | PIN_SLP(gpb-7, INPUT, DOWN); | ||
897 | |||
898 | PIN_SLP(gpc0-0, INPUT, DOWN); | ||
899 | PIN_SLP(gpc0-1, INPUT, DOWN); | ||
900 | PIN_SLP(gpc0-2, INPUT, DOWN); | ||
901 | PIN_SLP(gpc0-3, INPUT, DOWN); | ||
902 | PIN_SLP(gpc0-4, INPUT, DOWN); | ||
903 | |||
904 | PIN_SLP(gpc1-0, INPUT, NONE); | ||
905 | PIN_SLP(gpc1-1, PREV, NONE); | ||
906 | PIN_SLP(gpc1-2, INPUT, NONE); | ||
907 | PIN_SLP(gpc1-3, INPUT, NONE); | ||
908 | PIN_SLP(gpc1-4, INPUT, NONE); | ||
909 | |||
910 | PIN_SLP(gpd0-0, INPUT, DOWN); | ||
911 | PIN_SLP(gpd0-1, INPUT, DOWN); | ||
912 | PIN_SLP(gpd0-2, INPUT, NONE); | ||
913 | PIN_SLP(gpd0-3, INPUT, NONE); | ||
914 | |||
915 | PIN_SLP(gpd1-0, INPUT, DOWN); | ||
916 | PIN_SLP(gpd1-1, INPUT, DOWN); | ||
917 | PIN_SLP(gpd1-2, INPUT, NONE); | ||
918 | PIN_SLP(gpd1-3, INPUT, NONE); | ||
919 | |||
920 | PIN_SLP(gpf0-0, INPUT, NONE); | ||
921 | PIN_SLP(gpf0-1, INPUT, NONE); | ||
922 | PIN_SLP(gpf0-2, INPUT, DOWN); | ||
923 | PIN_SLP(gpf0-3, INPUT, DOWN); | ||
924 | PIN_SLP(gpf0-4, INPUT, NONE); | ||
925 | PIN_SLP(gpf0-5, INPUT, DOWN); | ||
926 | PIN_SLP(gpf0-6, INPUT, NONE); | ||
927 | PIN_SLP(gpf0-7, INPUT, DOWN); | ||
928 | |||
929 | PIN_SLP(gpf1-0, INPUT, DOWN); | ||
930 | PIN_SLP(gpf1-1, INPUT, DOWN); | ||
931 | PIN_SLP(gpf1-2, INPUT, DOWN); | ||
932 | PIN_SLP(gpf1-3, INPUT, DOWN); | ||
933 | PIN_SLP(gpf1-4, INPUT, NONE); | ||
934 | PIN_SLP(gpf1-5, INPUT, NONE); | ||
935 | PIN_SLP(gpf1-6, INPUT, DOWN); | ||
936 | PIN_SLP(gpf1-7, PREV, NONE); | ||
937 | |||
938 | PIN_SLP(gpf2-0, PREV, NONE); | ||
939 | PIN_SLP(gpf2-1, INPUT, DOWN); | ||
940 | PIN_SLP(gpf2-2, INPUT, DOWN); | ||
941 | PIN_SLP(gpf2-3, INPUT, DOWN); | ||
942 | PIN_SLP(gpf2-4, INPUT, DOWN); | ||
943 | PIN_SLP(gpf2-5, INPUT, DOWN); | ||
944 | PIN_SLP(gpf2-6, INPUT, NONE); | ||
945 | PIN_SLP(gpf2-7, INPUT, NONE); | ||
946 | |||
947 | PIN_SLP(gpf3-0, INPUT, NONE); | ||
948 | PIN_SLP(gpf3-1, PREV, NONE); | ||
949 | PIN_SLP(gpf3-2, PREV, NONE); | ||
950 | PIN_SLP(gpf3-3, PREV, NONE); | ||
951 | PIN_SLP(gpf3-4, OUT1, NONE); | ||
952 | PIN_SLP(gpf3-5, INPUT, DOWN); | ||
953 | |||
954 | PIN_SLP(gpj0-0, PREV, NONE); | ||
955 | PIN_SLP(gpj0-1, PREV, NONE); | ||
956 | PIN_SLP(gpj0-2, PREV, NONE); | ||
957 | PIN_SLP(gpj0-3, INPUT, DOWN); | ||
958 | PIN_SLP(gpj0-4, PREV, NONE); | ||
959 | PIN_SLP(gpj0-5, PREV, NONE); | ||
960 | PIN_SLP(gpj0-6, INPUT, DOWN); | ||
961 | PIN_SLP(gpj0-7, INPUT, DOWN); | ||
962 | |||
963 | PIN_SLP(gpj1-0, INPUT, DOWN); | ||
964 | PIN_SLP(gpj1-1, PREV, NONE); | ||
965 | PIN_SLP(gpj1-2, PREV, NONE); | ||
966 | PIN_SLP(gpj1-3, INPUT, DOWN); | ||
967 | PIN_SLP(gpj1-4, INPUT, DOWN); | ||
968 | }; | ||
969 | }; | ||
970 | |||
971 | &pinctrl_1 { | ||
972 | pinctrl-names = "default"; | ||
973 | pinctrl-0 = <&sleep1>; | ||
974 | |||
975 | sleep1: sleep-states { | ||
976 | PIN_SLP(gpk0-0, PREV, NONE); | ||
977 | PIN_SLP(gpk0-1, PREV, NONE); | ||
978 | PIN_SLP(gpk0-2, OUT0, NONE); | ||
979 | PIN_SLP(gpk0-3, PREV, NONE); | ||
980 | PIN_SLP(gpk0-4, PREV, NONE); | ||
981 | PIN_SLP(gpk0-5, PREV, NONE); | ||
982 | PIN_SLP(gpk0-6, PREV, NONE); | ||
983 | |||
984 | PIN_SLP(gpk1-0, INPUT, DOWN); | ||
985 | PIN_SLP(gpk1-1, INPUT, DOWN); | ||
986 | PIN_SLP(gpk1-2, INPUT, DOWN); | ||
987 | PIN_SLP(gpk1-3, PREV, NONE); | ||
988 | PIN_SLP(gpk1-4, PREV, NONE); | ||
989 | PIN_SLP(gpk1-5, PREV, NONE); | ||
990 | PIN_SLP(gpk1-6, PREV, NONE); | ||
991 | |||
992 | PIN_SLP(gpk2-0, INPUT, DOWN); | ||
993 | PIN_SLP(gpk2-1, INPUT, DOWN); | ||
994 | PIN_SLP(gpk2-2, INPUT, DOWN); | ||
995 | PIN_SLP(gpk2-3, INPUT, DOWN); | ||
996 | PIN_SLP(gpk2-4, INPUT, DOWN); | ||
997 | PIN_SLP(gpk2-5, INPUT, DOWN); | ||
998 | PIN_SLP(gpk2-6, INPUT, DOWN); | ||
999 | |||
1000 | PIN_SLP(gpk3-0, OUT0, NONE); | ||
1001 | PIN_SLP(gpk3-1, INPUT, NONE); | ||
1002 | PIN_SLP(gpk3-2, INPUT, DOWN); | ||
1003 | PIN_SLP(gpk3-3, INPUT, NONE); | ||
1004 | PIN_SLP(gpk3-4, INPUT, NONE); | ||
1005 | PIN_SLP(gpk3-5, INPUT, NONE); | ||
1006 | PIN_SLP(gpk3-6, INPUT, NONE); | ||
1007 | |||
1008 | PIN_SLP(gpl0-0, INPUT, DOWN); | ||
1009 | PIN_SLP(gpl0-1, INPUT, DOWN); | ||
1010 | PIN_SLP(gpl0-2, INPUT, DOWN); | ||
1011 | PIN_SLP(gpl0-3, INPUT, DOWN); | ||
1012 | PIN_SLP(gpl0-4, PREV, NONE); | ||
1013 | PIN_SLP(gpl0-6, PREV, NONE); | ||
1014 | |||
1015 | PIN_SLP(gpl1-0, INPUT, DOWN); | ||
1016 | PIN_SLP(gpl1-1, INPUT, DOWN); | ||
1017 | PIN_SLP(gpl2-0, INPUT, DOWN); | ||
1018 | PIN_SLP(gpl2-1, INPUT, DOWN); | ||
1019 | PIN_SLP(gpl2-2, INPUT, DOWN); | ||
1020 | PIN_SLP(gpl2-3, INPUT, DOWN); | ||
1021 | PIN_SLP(gpl2-4, INPUT, DOWN); | ||
1022 | PIN_SLP(gpl2-5, INPUT, DOWN); | ||
1023 | PIN_SLP(gpl2-6, PREV, NONE); | ||
1024 | PIN_SLP(gpl2-7, INPUT, DOWN); | ||
1025 | |||
1026 | PIN_SLP(gpm0-0, INPUT, DOWN); | ||
1027 | PIN_SLP(gpm0-1, INPUT, DOWN); | ||
1028 | PIN_SLP(gpm0-2, INPUT, DOWN); | ||
1029 | PIN_SLP(gpm0-3, INPUT, DOWN); | ||
1030 | PIN_SLP(gpm0-4, INPUT, DOWN); | ||
1031 | PIN_SLP(gpm0-5, INPUT, DOWN); | ||
1032 | PIN_SLP(gpm0-6, INPUT, DOWN); | ||
1033 | PIN_SLP(gpm0-7, INPUT, DOWN); | ||
1034 | |||
1035 | PIN_SLP(gpm1-0, INPUT, DOWN); | ||
1036 | PIN_SLP(gpm1-1, INPUT, DOWN); | ||
1037 | PIN_SLP(gpm1-2, INPUT, NONE); | ||
1038 | PIN_SLP(gpm1-3, INPUT, NONE); | ||
1039 | PIN_SLP(gpm1-4, INPUT, NONE); | ||
1040 | PIN_SLP(gpm1-5, INPUT, NONE); | ||
1041 | PIN_SLP(gpm1-6, INPUT, DOWN); | ||
1042 | |||
1043 | PIN_SLP(gpm2-0, INPUT, NONE); | ||
1044 | PIN_SLP(gpm2-1, INPUT, NONE); | ||
1045 | PIN_SLP(gpm2-2, INPUT, DOWN); | ||
1046 | PIN_SLP(gpm2-3, INPUT, DOWN); | ||
1047 | PIN_SLP(gpm2-4, INPUT, DOWN); | ||
1048 | |||
1049 | PIN_SLP(gpm3-0, PREV, NONE); | ||
1050 | PIN_SLP(gpm3-1, PREV, NONE); | ||
1051 | PIN_SLP(gpm3-2, PREV, NONE); | ||
1052 | PIN_SLP(gpm3-3, OUT1, NONE); | ||
1053 | PIN_SLP(gpm3-4, INPUT, DOWN); | ||
1054 | PIN_SLP(gpm3-5, INPUT, DOWN); | ||
1055 | PIN_SLP(gpm3-6, INPUT, DOWN); | ||
1056 | PIN_SLP(gpm3-7, INPUT, DOWN); | ||
1057 | |||
1058 | PIN_SLP(gpm4-0, INPUT, DOWN); | ||
1059 | PIN_SLP(gpm4-1, INPUT, DOWN); | ||
1060 | PIN_SLP(gpm4-2, INPUT, DOWN); | ||
1061 | PIN_SLP(gpm4-3, INPUT, DOWN); | ||
1062 | PIN_SLP(gpm4-4, INPUT, DOWN); | ||
1063 | PIN_SLP(gpm4-5, INPUT, DOWN); | ||
1064 | PIN_SLP(gpm4-6, INPUT, DOWN); | ||
1065 | PIN_SLP(gpm4-7, INPUT, DOWN); | ||
1066 | |||
1067 | PIN_SLP(gpy0-0, INPUT, DOWN); | ||
1068 | PIN_SLP(gpy0-1, INPUT, DOWN); | ||
1069 | PIN_SLP(gpy0-2, INPUT, DOWN); | ||
1070 | PIN_SLP(gpy0-3, INPUT, DOWN); | ||
1071 | PIN_SLP(gpy0-4, INPUT, DOWN); | ||
1072 | PIN_SLP(gpy0-5, INPUT, DOWN); | ||
1073 | |||
1074 | PIN_SLP(gpy1-0, INPUT, DOWN); | ||
1075 | PIN_SLP(gpy1-1, INPUT, DOWN); | ||
1076 | PIN_SLP(gpy1-2, INPUT, DOWN); | ||
1077 | PIN_SLP(gpy1-3, INPUT, DOWN); | ||
1078 | |||
1079 | PIN_SLP(gpy2-0, PREV, NONE); | ||
1080 | PIN_SLP(gpy2-1, INPUT, DOWN); | ||
1081 | PIN_SLP(gpy2-2, INPUT, NONE); | ||
1082 | PIN_SLP(gpy2-3, INPUT, NONE); | ||
1083 | PIN_SLP(gpy2-4, INPUT, NONE); | ||
1084 | PIN_SLP(gpy2-5, INPUT, NONE); | ||
1085 | |||
1086 | PIN_SLP(gpy3-0, INPUT, DOWN); | ||
1087 | PIN_SLP(gpy3-1, INPUT, DOWN); | ||
1088 | PIN_SLP(gpy3-2, INPUT, DOWN); | ||
1089 | PIN_SLP(gpy3-3, INPUT, DOWN); | ||
1090 | PIN_SLP(gpy3-4, INPUT, DOWN); | ||
1091 | PIN_SLP(gpy3-5, INPUT, DOWN); | ||
1092 | PIN_SLP(gpy3-6, INPUT, DOWN); | ||
1093 | PIN_SLP(gpy3-7, INPUT, DOWN); | ||
1094 | |||
1095 | PIN_SLP(gpy4-0, INPUT, DOWN); | ||
1096 | PIN_SLP(gpy4-1, INPUT, DOWN); | ||
1097 | PIN_SLP(gpy4-2, INPUT, DOWN); | ||
1098 | PIN_SLP(gpy4-3, INPUT, DOWN); | ||
1099 | PIN_SLP(gpy4-4, INPUT, DOWN); | ||
1100 | PIN_SLP(gpy4-5, INPUT, DOWN); | ||
1101 | PIN_SLP(gpy4-6, INPUT, DOWN); | ||
1102 | PIN_SLP(gpy4-7, INPUT, DOWN); | ||
1103 | |||
1104 | PIN_SLP(gpy5-0, INPUT, DOWN); | ||
1105 | PIN_SLP(gpy5-1, INPUT, DOWN); | ||
1106 | PIN_SLP(gpy5-2, INPUT, DOWN); | ||
1107 | PIN_SLP(gpy5-3, INPUT, DOWN); | ||
1108 | PIN_SLP(gpy5-4, INPUT, DOWN); | ||
1109 | PIN_SLP(gpy5-5, INPUT, DOWN); | ||
1110 | PIN_SLP(gpy5-6, INPUT, DOWN); | ||
1111 | PIN_SLP(gpy5-7, INPUT, DOWN); | ||
1112 | |||
1113 | PIN_SLP(gpy6-0, INPUT, DOWN); | ||
1114 | PIN_SLP(gpy6-1, INPUT, DOWN); | ||
1115 | PIN_SLP(gpy6-2, INPUT, DOWN); | ||
1116 | PIN_SLP(gpy6-3, INPUT, DOWN); | ||
1117 | PIN_SLP(gpy6-4, INPUT, DOWN); | ||
1118 | PIN_SLP(gpy6-5, INPUT, DOWN); | ||
1119 | PIN_SLP(gpy6-6, INPUT, DOWN); | ||
1120 | PIN_SLP(gpy6-7, INPUT, DOWN); | ||
1121 | }; | ||
1122 | }; | ||
1123 | |||
1124 | &pinctrl_2 { | ||
1125 | pinctrl-names = "default"; | ||
1126 | pinctrl-0 = <&sleep2>; | ||
1127 | |||
1128 | sleep2: sleep-states { | ||
1129 | PIN_SLP(gpz-0, INPUT, DOWN); | ||
1130 | PIN_SLP(gpz-1, INPUT, DOWN); | ||
1131 | PIN_SLP(gpz-2, INPUT, DOWN); | ||
1132 | PIN_SLP(gpz-3, INPUT, DOWN); | ||
1133 | PIN_SLP(gpz-4, INPUT, DOWN); | ||
1134 | PIN_SLP(gpz-5, INPUT, DOWN); | ||
1135 | PIN_SLP(gpz-6, INPUT, DOWN); | ||
1136 | }; | ||
1137 | }; | ||
1138 | |||
1139 | &pinctrl_3 { | ||
1140 | pinctrl-names = "default"; | ||
1141 | pinctrl-0 = <&sleep3>; | ||
1142 | |||
1143 | sleep3: sleep-states { | ||
1144 | PIN_SLP(gpv0-0, INPUT, DOWN); | ||
1145 | PIN_SLP(gpv0-1, INPUT, DOWN); | ||
1146 | PIN_SLP(gpv0-2, INPUT, DOWN); | ||
1147 | PIN_SLP(gpv0-3, INPUT, DOWN); | ||
1148 | PIN_SLP(gpv0-4, INPUT, DOWN); | ||
1149 | PIN_SLP(gpv0-5, INPUT, DOWN); | ||
1150 | PIN_SLP(gpv0-6, INPUT, DOWN); | ||
1151 | PIN_SLP(gpv0-7, INPUT, DOWN); | ||
1152 | |||
1153 | PIN_SLP(gpv1-0, INPUT, DOWN); | ||
1154 | PIN_SLP(gpv1-1, INPUT, DOWN); | ||
1155 | PIN_SLP(gpv1-2, INPUT, DOWN); | ||
1156 | PIN_SLP(gpv1-3, INPUT, DOWN); | ||
1157 | PIN_SLP(gpv1-4, INPUT, DOWN); | ||
1158 | PIN_SLP(gpv1-5, INPUT, DOWN); | ||
1159 | PIN_SLP(gpv1-6, INPUT, DOWN); | ||
1160 | PIN_SLP(gpv1-7, INPUT, DOWN); | ||
1161 | |||
1162 | PIN_SLP(gpv2-0, INPUT, DOWN); | ||
1163 | PIN_SLP(gpv2-1, INPUT, DOWN); | ||
1164 | PIN_SLP(gpv2-2, INPUT, DOWN); | ||
1165 | PIN_SLP(gpv2-3, INPUT, DOWN); | ||
1166 | PIN_SLP(gpv2-4, INPUT, DOWN); | ||
1167 | PIN_SLP(gpv2-5, INPUT, DOWN); | ||
1168 | PIN_SLP(gpv2-6, INPUT, DOWN); | ||
1169 | PIN_SLP(gpv2-7, INPUT, DOWN); | ||
1170 | |||
1171 | PIN_SLP(gpv3-0, INPUT, DOWN); | ||
1172 | PIN_SLP(gpv3-1, INPUT, DOWN); | ||
1173 | PIN_SLP(gpv3-2, INPUT, DOWN); | ||
1174 | PIN_SLP(gpv3-3, INPUT, DOWN); | ||
1175 | PIN_SLP(gpv3-4, INPUT, DOWN); | ||
1176 | PIN_SLP(gpv3-5, INPUT, DOWN); | ||
1177 | PIN_SLP(gpv3-6, INPUT, DOWN); | ||
1178 | PIN_SLP(gpv3-7, INPUT, DOWN); | ||
1179 | |||
1180 | PIN_SLP(gpv4-0, INPUT, DOWN); | ||
1181 | }; | ||
1182 | }; | ||
diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi index d8bc059e172f..0f6ec93bb1d8 100644 --- a/arch/arm/boot/dts/exynos4412.dtsi +++ b/arch/arm/boot/dts/exynos4412.dtsi | |||
@@ -22,6 +22,35 @@ | |||
22 | / { | 22 | / { |
23 | compatible = "samsung,exynos4412", "samsung,exynos4"; | 23 | compatible = "samsung,exynos4412", "samsung,exynos4"; |
24 | 24 | ||
25 | cpus { | ||
26 | #address-cells = <1>; | ||
27 | #size-cells = <0>; | ||
28 | |||
29 | cpu@A00 { | ||
30 | device_type = "cpu"; | ||
31 | compatible = "arm,cortex-a9"; | ||
32 | reg = <0xA00>; | ||
33 | }; | ||
34 | |||
35 | cpu@A01 { | ||
36 | device_type = "cpu"; | ||
37 | compatible = "arm,cortex-a9"; | ||
38 | reg = <0xA01>; | ||
39 | }; | ||
40 | |||
41 | cpu@A02 { | ||
42 | device_type = "cpu"; | ||
43 | compatible = "arm,cortex-a9"; | ||
44 | reg = <0xA02>; | ||
45 | }; | ||
46 | |||
47 | cpu@A03 { | ||
48 | device_type = "cpu"; | ||
49 | compatible = "arm,cortex-a9"; | ||
50 | reg = <0xA03>; | ||
51 | }; | ||
52 | }; | ||
53 | |||
25 | combiner: interrupt-controller@10440000 { | 54 | combiner: interrupt-controller@10440000 { |
26 | samsung,combiner-nr = <20>; | 55 | samsung,combiner-nr = <20>; |
27 | }; | 56 | }; |
diff --git a/arch/arm/boot/dts/exynos4415-pinctrl.dtsi b/arch/arm/boot/dts/exynos4415-pinctrl.dtsi new file mode 100644 index 000000000000..75af9c56123e --- /dev/null +++ b/arch/arm/boot/dts/exynos4415-pinctrl.dtsi | |||
@@ -0,0 +1,573 @@ | |||
1 | /* | ||
2 | * Samsung's Exynos4415 SoCs pin-mux and pin-config device tree source | ||
3 | * | ||
4 | * Copyright (c) 2014 Samsung Electronics Co., Ltd. | ||
5 | * | ||
6 | * Samsung's Exynos4415 SoCs pin-mux and pin-config optiosn are listed as device | ||
7 | * tree nodes are listed in this file. | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 as | ||
11 | * published by the Free Software Foundation. | ||
12 | */ | ||
13 | |||
14 | &pinctrl_0 { | ||
15 | gpa0: gpa0 { | ||
16 | gpio-controller; | ||
17 | #gpio-cells = <2>; | ||
18 | |||
19 | interrupt-controller; | ||
20 | #interrupt-cells = <2>; | ||
21 | }; | ||
22 | |||
23 | gpa1: gpa1 { | ||
24 | gpio-controller; | ||
25 | #gpio-cells = <2>; | ||
26 | |||
27 | interrupt-controller; | ||
28 | #interrupt-cells = <2>; | ||
29 | }; | ||
30 | |||
31 | gpb: gpb { | ||
32 | gpio-controller; | ||
33 | #gpio-cells = <2>; | ||
34 | |||
35 | interrupt-controller; | ||
36 | #interrupt-cells = <2>; | ||
37 | }; | ||
38 | |||
39 | gpc0: gpc0 { | ||
40 | gpio-controller; | ||
41 | #gpio-cells = <2>; | ||
42 | |||
43 | interrupt-controller; | ||
44 | #interrupt-cells = <2>; | ||
45 | }; | ||
46 | |||
47 | gpc1: gpc1 { | ||
48 | gpio-controller; | ||
49 | #gpio-cells = <2>; | ||
50 | |||
51 | interrupt-controller; | ||
52 | #interrupt-cells = <2>; | ||
53 | }; | ||
54 | |||
55 | gpd0: gpd0 { | ||
56 | gpio-controller; | ||
57 | #gpio-cells = <2>; | ||
58 | |||
59 | interrupt-controller; | ||
60 | #interrupt-cells = <2>; | ||
61 | }; | ||
62 | |||
63 | gpd1: gpd1 { | ||
64 | gpio-controller; | ||
65 | #gpio-cells = <2>; | ||
66 | |||
67 | interrupt-controller; | ||
68 | #interrupt-cells = <2>; | ||
69 | }; | ||
70 | |||
71 | gpf0: gpf0 { | ||
72 | gpio-controller; | ||
73 | #gpio-cells = <2>; | ||
74 | |||
75 | interrupt-controller; | ||
76 | #interrupt-cells = <2>; | ||
77 | }; | ||
78 | |||
79 | gpf1: gpf1 { | ||
80 | gpio-controller; | ||
81 | #gpio-cells = <2>; | ||
82 | |||
83 | interrupt-controller; | ||
84 | #interrupt-cells = <2>; | ||
85 | }; | ||
86 | |||
87 | gpf2: gpf2 { | ||
88 | gpio-controller; | ||
89 | #gpio-cells = <2>; | ||
90 | |||
91 | interrupt-controller; | ||
92 | #interrupt-cells = <2>; | ||
93 | }; | ||
94 | |||
95 | uart0_data: uart0-data { | ||
96 | samsung,pins = "gpa0-0", "gpa0-1"; | ||
97 | samsung,pin-function = <0x2>; | ||
98 | samsung,pin-pud = <0>; | ||
99 | samsung,pin-drv = <0>; | ||
100 | }; | ||
101 | |||
102 | uart0_fctl: uart0-fctl { | ||
103 | samsung,pins = "gpa0-2", "gpa0-3"; | ||
104 | samsung,pin-function = <2>; | ||
105 | samsung,pin-pud = <0>; | ||
106 | samsung,pin-drv = <0>; | ||
107 | }; | ||
108 | |||
109 | uart1_data: uart1-data { | ||
110 | samsung,pins = "gpa0-4", "gpa0-5"; | ||
111 | samsung,pin-function = <2>; | ||
112 | samsung,pin-pud = <0>; | ||
113 | samsung,pin-drv = <0>; | ||
114 | }; | ||
115 | |||
116 | uart1_fctl: uart1-fctl { | ||
117 | samsung,pins = "gpa0-6", "gpa0-7"; | ||
118 | samsung,pin-function = <2>; | ||
119 | samsung,pin-pud = <0>; | ||
120 | samsung,pin-drv = <0>; | ||
121 | }; | ||
122 | |||
123 | uart2_data: uart2-data { | ||
124 | samsung,pins = "gpa1-0", "gpa1-1"; | ||
125 | samsung,pin-function = <2>; | ||
126 | samsung,pin-pud = <0>; | ||
127 | samsung,pin-drv = <0>; | ||
128 | }; | ||
129 | |||
130 | uart2_fctl: uart2-fctl { | ||
131 | samsung,pins = "gpa1-2", "gpa1-3"; | ||
132 | samsung,pin-function = <2>; | ||
133 | samsung,pin-pud = <0>; | ||
134 | samsung,pin-drv = <0>; | ||
135 | }; | ||
136 | |||
137 | uart3_data: uart3-data { | ||
138 | samsung,pins = "gpa1-4", "gpa1-5"; | ||
139 | samsung,pin-function = <2>; | ||
140 | samsung,pin-pud = <0>; | ||
141 | samsung,pin-drv = <0>; | ||
142 | }; | ||
143 | |||
144 | i2c2_bus: i2c2-bus { | ||
145 | samsung,pins = "gpa0-6", "gpa0-7"; | ||
146 | samsung,pin-function = <3>; | ||
147 | samsung,pin-pud = <3>; | ||
148 | samsung,pin-drv = <0>; | ||
149 | }; | ||
150 | |||
151 | i2c3_bus: i2c3-bus { | ||
152 | samsung,pins = "gpa1-2", "gpa1-3"; | ||
153 | samsung,pin-function = <3>; | ||
154 | samsung,pin-pud = <3>; | ||
155 | samsung,pin-drv = <0>; | ||
156 | }; | ||
157 | |||
158 | spi0_bus: spi0-bus { | ||
159 | samsung,pins = "gpb-0", "gpb-2", "gpb-3"; | ||
160 | samsung,pin-function = <2>; | ||
161 | samsung,pin-pud = <3>; | ||
162 | samsung,pin-drv = <0>; | ||
163 | }; | ||
164 | |||
165 | i2c4_bus: i2c4-bus { | ||
166 | samsung,pins = "gpb-0", "gpb-1"; | ||
167 | samsung,pin-function = <3>; | ||
168 | samsung,pin-pud = <3>; | ||
169 | samsung,pin-drv = <0>; | ||
170 | }; | ||
171 | |||
172 | spi1_bus: spi1-bus { | ||
173 | samsung,pins = "gpb-4", "gpb-6", "gpb-7"; | ||
174 | samsung,pin-function = <2>; | ||
175 | samsung,pin-pud = <3>; | ||
176 | samsung,pin-drv = <0>; | ||
177 | }; | ||
178 | |||
179 | i2c5_bus: i2c5-bus { | ||
180 | samsung,pins = "gpb-2", "gpb-3"; | ||
181 | samsung,pin-function = <3>; | ||
182 | samsung,pin-pud = <3>; | ||
183 | samsung,pin-drv = <0>; | ||
184 | }; | ||
185 | |||
186 | i2s1_bus: i2s1-bus { | ||
187 | samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3", | ||
188 | "gpc0-4"; | ||
189 | samsung,pin-function = <2>; | ||
190 | samsung,pin-pud = <0>; | ||
191 | samsung,pin-drv = <0>; | ||
192 | }; | ||
193 | |||
194 | i2s2_bus: i2s2-bus { | ||
195 | samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3", | ||
196 | "gpc1-4"; | ||
197 | samsung,pin-function = <2>; | ||
198 | samsung,pin-pud = <0>; | ||
199 | samsung,pin-drv = <0>; | ||
200 | }; | ||
201 | |||
202 | pcm2_bus: pcm2-bus { | ||
203 | samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3", | ||
204 | "gpc1-4"; | ||
205 | samsung,pin-function = <3>; | ||
206 | samsung,pin-pud = <0>; | ||
207 | samsung,pin-drv = <0>; | ||
208 | }; | ||
209 | |||
210 | i2c6_bus: i2c6-bus { | ||
211 | samsung,pins = "gpc1-3", "gpc1-4"; | ||
212 | samsung,pin-function = <4>; | ||
213 | samsung,pin-pud = <3>; | ||
214 | samsung,pin-drv = <0>; | ||
215 | }; | ||
216 | |||
217 | spi2_bus: spi2-bus { | ||
218 | samsung,pins = "gpc1-1", "gpc1-3", "gpc1-4"; | ||
219 | samsung,pin-function = <5>; | ||
220 | samsung,pin-pud = <3>; | ||
221 | samsung,pin-drv = <0>; | ||
222 | }; | ||
223 | |||
224 | pwm0_out: pwm0-out { | ||
225 | samsung,pins = "gpd0-0"; | ||
226 | samsung,pin-function = <2>; | ||
227 | samsung,pin-pud = <0>; | ||
228 | samsung,pin-drv = <0>; | ||
229 | }; | ||
230 | |||
231 | pwm1_out: pwm1-out { | ||
232 | samsung,pins = "gpd0-1"; | ||
233 | samsung,pin-function = <2>; | ||
234 | samsung,pin-pud = <0>; | ||
235 | samsung,pin-drv = <0>; | ||
236 | }; | ||
237 | |||
238 | pwm2_out: pwm2-out { | ||
239 | samsung,pins = "gpd0-2"; | ||
240 | samsung,pin-function = <2>; | ||
241 | samsung,pin-pud = <0>; | ||
242 | samsung,pin-drv = <0>; | ||
243 | }; | ||
244 | |||
245 | pwm3_out: pwm3-out { | ||
246 | samsung,pins = "gpd0-3"; | ||
247 | samsung,pin-function = <2>; | ||
248 | samsung,pin-pud = <0>; | ||
249 | samsung,pin-drv = <0>; | ||
250 | }; | ||
251 | |||
252 | i2c7_bus: i2c7-bus { | ||
253 | samsung,pins = "gpd0-2", "gpd0-3"; | ||
254 | samsung,pin-function = <3>; | ||
255 | samsung,pin-pud = <3>; | ||
256 | samsung,pin-drv = <0>; | ||
257 | }; | ||
258 | |||
259 | i2c0_bus: i2c0-bus { | ||
260 | samsung,pins = "gpd1-0", "gpd1-1"; | ||
261 | samsung,pin-function = <2>; | ||
262 | samsung,pin-pud = <3>; | ||
263 | samsung,pin-drv = <0>; | ||
264 | }; | ||
265 | |||
266 | i2c1_bus: i2c1-bus { | ||
267 | samsung,pins = "gpd1-2", "gpd1-3"; | ||
268 | samsung,pin-function = <2>; | ||
269 | samsung,pin-pud = <3>; | ||
270 | samsung,pin-drv = <0>; | ||
271 | }; | ||
272 | }; | ||
273 | |||
274 | &pinctrl_1 { | ||
275 | gpk0: gpk0 { | ||
276 | gpio-controller; | ||
277 | #gpio-cells = <2>; | ||
278 | |||
279 | interrupt-controller; | ||
280 | #interrupt-cells = <2>; | ||
281 | }; | ||
282 | |||
283 | gpk1: gpk1 { | ||
284 | gpio-controller; | ||
285 | #gpio-cells = <2>; | ||
286 | |||
287 | interrupt-controller; | ||
288 | #interrupt-cells = <2>; | ||
289 | }; | ||
290 | |||
291 | gpk2: gpk2 { | ||
292 | gpio-controller; | ||
293 | #gpio-cells = <2>; | ||
294 | |||
295 | interrupt-controller; | ||
296 | #interrupt-cells = <2>; | ||
297 | }; | ||
298 | |||
299 | gpk3: gpk3 { | ||
300 | gpio-controller; | ||
301 | #gpio-cells = <2>; | ||
302 | |||
303 | interrupt-controller; | ||
304 | #interrupt-cells = <2>; | ||
305 | }; | ||
306 | |||
307 | gpl0: gpl0 { | ||
308 | gpio-controller; | ||
309 | #gpio-cells = <2>; | ||
310 | |||
311 | interrupt-controller; | ||
312 | #interrupt-cells = <2>; | ||
313 | }; | ||
314 | |||
315 | gpm0: gpm0 { | ||
316 | gpio-controller; | ||
317 | #gpio-cells = <2>; | ||
318 | |||
319 | interrupt-controller; | ||
320 | #interrupt-cells = <2>; | ||
321 | }; | ||
322 | |||
323 | gpm1: gpm1 { | ||
324 | gpio-controller; | ||
325 | #gpio-cells = <2>; | ||
326 | |||
327 | interrupt-controller; | ||
328 | #interrupt-cells = <2>; | ||
329 | }; | ||
330 | |||
331 | gpm2: gpm2 { | ||
332 | gpio-controller; | ||
333 | #gpio-cells = <2>; | ||
334 | |||
335 | interrupt-controller; | ||
336 | #interrupt-cells = <2>; | ||
337 | }; | ||
338 | |||
339 | gpm3: gpm3 { | ||
340 | gpio-controller; | ||
341 | #gpio-cells = <2>; | ||
342 | |||
343 | interrupt-controller; | ||
344 | #interrupt-cells = <2>; | ||
345 | }; | ||
346 | |||
347 | gpm4: gpm4 { | ||
348 | gpio-controller; | ||
349 | #gpio-cells = <2>; | ||
350 | |||
351 | interrupt-controller; | ||
352 | #interrupt-cells = <2>; | ||
353 | }; | ||
354 | |||
355 | gpx0: gpx0 { | ||
356 | gpio-controller; | ||
357 | #gpio-cells = <2>; | ||
358 | |||
359 | interrupt-controller; | ||
360 | interrupt-parent = <&gic>; | ||
361 | interrupts = <0 32 0>, <0 33 0>, <0 34 0>, <0 35 0>, | ||
362 | <0 36 0>, <0 37 0>, <0 38 0>, <0 39 0>; | ||
363 | #interrupt-cells = <2>; | ||
364 | }; | ||
365 | |||
366 | gpx1: gpx1 { | ||
367 | gpio-controller; | ||
368 | #gpio-cells = <2>; | ||
369 | |||
370 | interrupt-controller; | ||
371 | interrupt-parent = <&gic>; | ||
372 | interrupts = <0 40 0>, <0 41 0>, <0 42 0>, <0 43 0>, | ||
373 | <0 44 0>, <0 45 0>, <0 46 0>, <0 47 0>; | ||
374 | #interrupt-cells = <2>; | ||
375 | }; | ||
376 | |||
377 | gpx2: gpx2 { | ||
378 | gpio-controller; | ||
379 | #gpio-cells = <2>; | ||
380 | |||
381 | interrupt-controller; | ||
382 | #interrupt-cells = <2>; | ||
383 | }; | ||
384 | |||
385 | gpx3: gpx3 { | ||
386 | gpio-controller; | ||
387 | #gpio-cells = <2>; | ||
388 | |||
389 | interrupt-controller; | ||
390 | #interrupt-cells = <2>; | ||
391 | }; | ||
392 | |||
393 | sd0_clk: sd0-clk { | ||
394 | samsung,pins = "gpk0-0"; | ||
395 | samsung,pin-function = <2>; | ||
396 | samsung,pin-pud = <0>; | ||
397 | samsung,pin-drv = <3>; | ||
398 | }; | ||
399 | |||
400 | sd0_cmd: sd0-cmd { | ||
401 | samsung,pins = "gpk0-1"; | ||
402 | samsung,pin-function = <2>; | ||
403 | samsung,pin-pud = <0>; | ||
404 | samsung,pin-drv = <3>; | ||
405 | }; | ||
406 | |||
407 | sd0_cd: sd0-cd { | ||
408 | samsung,pins = "gpk0-2"; | ||
409 | samsung,pin-function = <2>; | ||
410 | samsung,pin-pud = <3>; | ||
411 | samsung,pin-drv = <3>; | ||
412 | }; | ||
413 | |||
414 | sd0_rdqs: sd0-rdqs { | ||
415 | samsung,pins = "gpk0-7"; | ||
416 | samsung,pin-function = <2>; | ||
417 | samsung,pin-pud = <0>; | ||
418 | samsung,pin-drv = <3>; | ||
419 | }; | ||
420 | |||
421 | sd0_bus1: sd0-bus-width1 { | ||
422 | samsung,pins = "gpk0-3"; | ||
423 | samsung,pin-function = <2>; | ||
424 | samsung,pin-pud = <3>; | ||
425 | samsung,pin-drv = <3>; | ||
426 | }; | ||
427 | |||
428 | sd0_bus4: sd0-bus-width4 { | ||
429 | samsung,pins = "gpk0-4", "gpk0-5", "gpk0-6"; | ||
430 | samsung,pin-function = <2>; | ||
431 | samsung,pin-pud = <3>; | ||
432 | samsung,pin-drv = <3>; | ||
433 | }; | ||
434 | |||
435 | sd0_bus8: sd0-bus-width8 { | ||
436 | samsung,pins = "gpl0-0", "gpl0-1", "gpl0-2", "gpl0-3"; | ||
437 | samsung,pin-function = <2>; | ||
438 | samsung,pin-pud = <3>; | ||
439 | samsung,pin-drv = <3>; | ||
440 | }; | ||
441 | |||
442 | sd1_clk: sd1-clk { | ||
443 | samsung,pins = "gpk1-0"; | ||
444 | samsung,pin-function = <2>; | ||
445 | samsung,pin-pud = <0>; | ||
446 | samsung,pin-drv = <3>; | ||
447 | }; | ||
448 | |||
449 | sd1_cmd: sd1-cmd { | ||
450 | samsung,pins = "gpk1-1"; | ||
451 | samsung,pin-function = <2>; | ||
452 | samsung,pin-pud = <0>; | ||
453 | samsung,pin-drv = <3>; | ||
454 | }; | ||
455 | |||
456 | sd1_cd: sd1-cd { | ||
457 | samsung,pins = "gpk1-2"; | ||
458 | samsung,pin-function = <2>; | ||
459 | samsung,pin-pud = <3>; | ||
460 | samsung,pin-drv = <3>; | ||
461 | }; | ||
462 | |||
463 | sd1_bus1: sd1-bus-width1 { | ||
464 | samsung,pins = "gpk1-3"; | ||
465 | samsung,pin-function = <2>; | ||
466 | samsung,pin-pud = <3>; | ||
467 | samsung,pin-drv = <3>; | ||
468 | }; | ||
469 | |||
470 | sd1_bus4: sd1-bus-width4 { | ||
471 | samsung,pins = "gpk1-4", "gpk1-5", "gpk1-6"; | ||
472 | samsung,pin-function = <2>; | ||
473 | samsung,pin-pud = <3>; | ||
474 | samsung,pin-drv = <3>; | ||
475 | }; | ||
476 | |||
477 | sd2_clk: sd2-clk { | ||
478 | samsung,pins = "gpk2-0"; | ||
479 | samsung,pin-function = <2>; | ||
480 | samsung,pin-pud = <0>; | ||
481 | samsung,pin-drv = <4>; | ||
482 | }; | ||
483 | |||
484 | sd2_cmd: sd2-cmd { | ||
485 | samsung,pins = "gpk2-1"; | ||
486 | samsung,pin-function = <2>; | ||
487 | samsung,pin-pud = <0>; | ||
488 | samsung,pin-drv = <4>; | ||
489 | }; | ||
490 | |||
491 | sd2_cd: sd2-cd { | ||
492 | samsung,pins = "gpk2-2"; | ||
493 | samsung,pin-function = <2>; | ||
494 | samsung,pin-pud = <3>; | ||
495 | samsung,pin-drv = <3>; | ||
496 | }; | ||
497 | |||
498 | sd2_bus1: sd2-bus-width1 { | ||
499 | samsung,pins = "gpk2-3"; | ||
500 | samsung,pin-function = <2>; | ||
501 | samsung,pin-pud = <3>; | ||
502 | samsung,pin-drv = <4>; | ||
503 | }; | ||
504 | |||
505 | sd2_bus4: sd2-bus-width4 { | ||
506 | samsung,pins = "gpk2-4", "gpk2-5", "gpk2-6"; | ||
507 | samsung,pin-function = <2>; | ||
508 | samsung,pin-pud = <3>; | ||
509 | samsung,pin-drv = <4>; | ||
510 | }; | ||
511 | |||
512 | cam_port_b_io: cam-port-b-io { | ||
513 | samsung,pins = "gpm0-0", "gpm0-1", "gpm0-2", "gpm0-3", | ||
514 | "gpm0-4", "gpm0-5", "gpm0-6", "gpm0-7", | ||
515 | "gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1"; | ||
516 | samsung,pin-function = <3>; | ||
517 | samsung,pin-pud = <3>; | ||
518 | samsung,pin-drv = <0>; | ||
519 | }; | ||
520 | |||
521 | cam_port_b_clk_active: cam-port-b-clk-active { | ||
522 | samsung,pins = "gpm2-2"; | ||
523 | samsung,pin-function = <3>; | ||
524 | samsung,pin-pud = <0>; | ||
525 | samsung,pin-drv = <3>; | ||
526 | }; | ||
527 | |||
528 | cam_port_b_clk_idle: cam-port-b-clk-idle { | ||
529 | samsung,pins = "gpm2-2"; | ||
530 | samsung,pin-function = <0>; | ||
531 | samsung,pin-pud = <0>; | ||
532 | samsung,pin-drv = <0>; | ||
533 | }; | ||
534 | |||
535 | fimc_is_i2c0: fimc-is-i2c0 { | ||
536 | samsung,pins = "gpm4-0", "gpm4-1"; | ||
537 | samsung,pin-function = <2>; | ||
538 | samsung,pin-pud = <0>; | ||
539 | samsung,pin-drv = <0>; | ||
540 | }; | ||
541 | |||
542 | fimc_is_i2c1: fimc-is-i2c1 { | ||
543 | samsung,pins = "gpm4-2", "gpm4-3"; | ||
544 | samsung,pin-function = <2>; | ||
545 | samsung,pin-pud = <0>; | ||
546 | samsung,pin-drv = <0>; | ||
547 | }; | ||
548 | |||
549 | fimc_is_uart: fimc-is-uart { | ||
550 | samsung,pins = "gpm3-5", "gpm3-7"; | ||
551 | samsung,pin-function = <3>; | ||
552 | samsung,pin-pud = <0>; | ||
553 | samsung,pin-drv = <0>; | ||
554 | }; | ||
555 | }; | ||
556 | |||
557 | &pinctrl_2 { | ||
558 | gpz: gpz { | ||
559 | gpio-controller; | ||
560 | #gpio-cells = <2>; | ||
561 | |||
562 | interrupt-controller; | ||
563 | #interrupt-cells = <2>; | ||
564 | }; | ||
565 | |||
566 | i2s0_bus: i2s0-bus { | ||
567 | samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3", | ||
568 | "gpz-4", "gpz-5", "gpz-6"; | ||
569 | samsung,pin-function = <2>; | ||
570 | samsung,pin-pud = <0>; | ||
571 | samsung,pin-drv = <0>; | ||
572 | }; | ||
573 | }; | ||
diff --git a/arch/arm/boot/dts/exynos4415.dtsi b/arch/arm/boot/dts/exynos4415.dtsi new file mode 100644 index 000000000000..c1c9b37340d9 --- /dev/null +++ b/arch/arm/boot/dts/exynos4415.dtsi | |||
@@ -0,0 +1,604 @@ | |||
1 | /* | ||
2 | * Samsung's Exynos4415 SoC device tree source | ||
3 | * | ||
4 | * Copyright (c) 2014 Samsung Electronics Co., Ltd. | ||
5 | * | ||
6 | * Samsung's Exynos4415 SoC device nodes are listed in this file. Exynos4415 | ||
7 | * based board files can include this file and provide values for board | ||
8 | * specific bindings. | ||
9 | * | ||
10 | * Note: This file does not include device nodes for all the controllers in | ||
11 | * Exynos4415 SoC. As device tree coverage for Exynos4415 increases, additional | ||
12 | * nodes can be added to this file. | ||
13 | * | ||
14 | * This program is free software; you can redistribute it and/or modify | ||
15 | * it under the terms of the GNU General Public License version 2 as | ||
16 | * published by the Free Software Foundation. | ||
17 | */ | ||
18 | |||
19 | #include "skeleton.dtsi" | ||
20 | #include <dt-bindings/clock/exynos4415.h> | ||
21 | #include <dt-bindings/clock/exynos-audss-clk.h> | ||
22 | |||
23 | / { | ||
24 | compatible = "samsung,exynos4415"; | ||
25 | interrupt-parent = <&gic>; | ||
26 | |||
27 | aliases { | ||
28 | pinctrl0 = &pinctrl_0; | ||
29 | pinctrl1 = &pinctrl_1; | ||
30 | pinctrl2 = &pinctrl_2; | ||
31 | mshc0 = &mshc_0; | ||
32 | mshc1 = &mshc_1; | ||
33 | mshc2 = &mshc_2; | ||
34 | spi0 = &spi_0; | ||
35 | spi1 = &spi_1; | ||
36 | spi2 = &spi_2; | ||
37 | i2c0 = &i2c_0; | ||
38 | i2c1 = &i2c_1; | ||
39 | i2c2 = &i2c_2; | ||
40 | i2c3 = &i2c_3; | ||
41 | i2c4 = &i2c_4; | ||
42 | i2c5 = &i2c_5; | ||
43 | i2c6 = &i2c_6; | ||
44 | i2c7 = &i2c_7; | ||
45 | }; | ||
46 | |||
47 | cpus { | ||
48 | #address-cells = <1>; | ||
49 | #size-cells = <0>; | ||
50 | |||
51 | cpu0: cpu@a00 { | ||
52 | device_type = "cpu"; | ||
53 | compatible = "arm,cortex-a9"; | ||
54 | reg = <0xa00>; | ||
55 | clock-frequency = <1600000000>; | ||
56 | }; | ||
57 | |||
58 | cpu1: cpu@a01 { | ||
59 | device_type = "cpu"; | ||
60 | compatible = "arm,cortex-a9"; | ||
61 | reg = <0xa01>; | ||
62 | clock-frequency = <1600000000>; | ||
63 | }; | ||
64 | |||
65 | cpu2: cpu@a02 { | ||
66 | device_type = "cpu"; | ||
67 | compatible = "arm,cortex-a9"; | ||
68 | reg = <0xa02>; | ||
69 | clock-frequency = <1600000000>; | ||
70 | }; | ||
71 | |||
72 | cpu3: cpu@a03 { | ||
73 | device_type = "cpu"; | ||
74 | compatible = "arm,cortex-a9"; | ||
75 | reg = <0xa03>; | ||
76 | clock-frequency = <1600000000>; | ||
77 | }; | ||
78 | }; | ||
79 | |||
80 | soc: soc { | ||
81 | compatible = "simple-bus"; | ||
82 | #address-cells = <1>; | ||
83 | #size-cells = <1>; | ||
84 | ranges; | ||
85 | |||
86 | sysram@02020000 { | ||
87 | compatible = "mmio-sram"; | ||
88 | reg = <0x02020000 0x50000>; | ||
89 | #address-cells = <1>; | ||
90 | #size-cells = <1>; | ||
91 | ranges = <0 0x02020000 0x50000>; | ||
92 | |||
93 | smp-sysram@0 { | ||
94 | compatible = "samsung,exynos4210-sysram"; | ||
95 | reg = <0x0 0x1000>; | ||
96 | }; | ||
97 | |||
98 | smp-sysram@4f000 { | ||
99 | compatible = "samsung,exynos4210-sysram-ns"; | ||
100 | reg = <0x4f000 0x1000>; | ||
101 | }; | ||
102 | }; | ||
103 | |||
104 | pinctrl_2: pinctrl@03860000 { | ||
105 | compatible = "samsung,exynos4415-pinctrl"; | ||
106 | reg = <0x03860000 0x1000>; | ||
107 | interrupts = <0 242 0>; | ||
108 | }; | ||
109 | |||
110 | chipid@10000000 { | ||
111 | compatible = "samsung,exynos4210-chipid"; | ||
112 | reg = <0x10000000 0x100>; | ||
113 | }; | ||
114 | |||
115 | sysreg_system_controller: syscon@10010000 { | ||
116 | compatible = "samsung,exynos4-sysreg", "syscon"; | ||
117 | reg = <0x10010000 0x400>; | ||
118 | }; | ||
119 | |||
120 | pmu_system_controller: system-controller@10020000 { | ||
121 | compatible = "samsung,exynos4415-pmu", "syscon"; | ||
122 | reg = <0x10020000 0x4000>; | ||
123 | }; | ||
124 | |||
125 | mipi_phy: video-phy@10020710 { | ||
126 | compatible = "samsung,s5pv210-mipi-video-phy"; | ||
127 | reg = <0x10020710 8>; | ||
128 | #phy-cells = <1>; | ||
129 | }; | ||
130 | |||
131 | pd_cam: cam-power-domain@10024000 { | ||
132 | compatible = "samsung,exynos4210-pd"; | ||
133 | reg = <0x10024000 0x20>; | ||
134 | }; | ||
135 | |||
136 | pd_tv: tv-power-domain@10024020 { | ||
137 | compatible = "samsung,exynos4210-pd"; | ||
138 | reg = <0x10024020 0x20>; | ||
139 | }; | ||
140 | |||
141 | pd_mfc: mfc-power-domain@10024040 { | ||
142 | compatible = "samsung,exynos4210-pd"; | ||
143 | reg = <0x10024040 0x20>; | ||
144 | }; | ||
145 | |||
146 | pd_g3d: g3d-power-domain@10024060 { | ||
147 | compatible = "samsung,exynos4210-pd"; | ||
148 | reg = <0x10024060 0x20>; | ||
149 | }; | ||
150 | |||
151 | pd_lcd0: lcd0-power-domain@10024080 { | ||
152 | compatible = "samsung,exynos4210-pd"; | ||
153 | reg = <0x10024080 0x20>; | ||
154 | }; | ||
155 | |||
156 | pd_isp0: isp0-power-domain@100240A0 { | ||
157 | compatible = "samsung,exynos4210-pd"; | ||
158 | reg = <0x100240A0 0x20>; | ||
159 | }; | ||
160 | |||
161 | pd_isp1: isp1-power-domain@100240E0 { | ||
162 | compatible = "samsung,exynos4210-pd"; | ||
163 | reg = <0x100240E0 0x20>; | ||
164 | }; | ||
165 | |||
166 | cmu: clock-controller@10030000 { | ||
167 | compatible = "samsung,exynos4415-cmu"; | ||
168 | reg = <0x10030000 0x18000>; | ||
169 | #clock-cells = <1>; | ||
170 | }; | ||
171 | |||
172 | rtc: rtc@10070000 { | ||
173 | compatible = "samsung,exynos3250-rtc"; | ||
174 | reg = <0x10070000 0x100>; | ||
175 | interrupts = <0 73 0>, <0 74 0>; | ||
176 | status = "disabled"; | ||
177 | }; | ||
178 | |||
179 | mct@10050000 { | ||
180 | compatible = "samsung,exynos4210-mct"; | ||
181 | reg = <0x10050000 0x800>; | ||
182 | interrupts = <0 218 0>, <0 219 0>, <0 220 0>, <0 221 0>, | ||
183 | <0 223 0>, <0 226 0>, <0 227 0>, <0 228 0>; | ||
184 | clocks = <&cmu CLK_FIN_PLL>, <&cmu CLK_MCT>; | ||
185 | clock-names = "fin_pll", "mct"; | ||
186 | }; | ||
187 | |||
188 | gic: interrupt-controller@10481000 { | ||
189 | compatible = "arm,cortex-a9-gic"; | ||
190 | #interrupt-cells = <3>; | ||
191 | interrupt-controller; | ||
192 | reg = <0x10481000 0x1000>, | ||
193 | <0x10482000 0x1000>, | ||
194 | <0x10484000 0x2000>, | ||
195 | <0x10486000 0x2000>; | ||
196 | interrupts = <1 9 0xf04>; | ||
197 | }; | ||
198 | |||
199 | l2c: l2-cache-controller@10502000 { | ||
200 | compatible = "arm,pl310-cache"; | ||
201 | reg = <0x10502000 0x1000>; | ||
202 | cache-unified; | ||
203 | cache-level = <2>; | ||
204 | arm,tag-latency = <2 2 1>; | ||
205 | arm,data-latency = <3 2 1>; | ||
206 | arm,double-linefill = <1>; | ||
207 | arm,double-linefill-incr = <0>; | ||
208 | arm,double-linefill-wrap = <1>; | ||
209 | arm,prefetch-drop = <1>; | ||
210 | arm,prefetch-offset = <7>; | ||
211 | }; | ||
212 | |||
213 | cmu_dmc: clock-controller@105C0000 { | ||
214 | compatible = "samsung,exynos4415-cmu-dmc"; | ||
215 | reg = <0x105C0000 0x3000>; | ||
216 | #clock-cells = <1>; | ||
217 | }; | ||
218 | |||
219 | pinctrl_1: pinctrl@11000000 { | ||
220 | compatible = "samsung,exynos4415-pinctrl"; | ||
221 | reg = <0x11000000 0x1000>; | ||
222 | interrupts = <0 225 0>; | ||
223 | |||
224 | wakeup-interrupt-controller { | ||
225 | compatible = "samsung,exynos4210-wakeup-eint"; | ||
226 | interrupt-parent = <&gic>; | ||
227 | interrupts = <0 48 0>; | ||
228 | }; | ||
229 | }; | ||
230 | |||
231 | pinctrl_0: pinctrl@11400000 { | ||
232 | compatible = "samsung,exynos4415-pinctrl"; | ||
233 | reg = <0x11400000 0x1000>; | ||
234 | interrupts = <0 240 0>; | ||
235 | }; | ||
236 | |||
237 | hsotg: hsotg@12480000 { | ||
238 | compatible = "samsung,s3c6400-hsotg"; | ||
239 | reg = <0x12480000 0x20000>; | ||
240 | interrupts = <0 141 0>; | ||
241 | clocks = <&cmu CLK_USBDEVICE>; | ||
242 | clock-names = "otg"; | ||
243 | phys = <&exynos_usbphy 0>; | ||
244 | phy-names = "usb2-phy"; | ||
245 | status = "disabled"; | ||
246 | }; | ||
247 | |||
248 | mshc_0: mshc@12510000 { | ||
249 | compatible = "samsung,exynos5250-dw-mshc"; | ||
250 | reg = <0x12510000 0x1000>; | ||
251 | interrupts = <0 142 0>; | ||
252 | clocks = <&cmu CLK_SDMMC0>, <&cmu CLK_SCLK_MMC0>; | ||
253 | clock-names = "biu", "ciu"; | ||
254 | fifo-depth = <0x80>; | ||
255 | #address-cells = <1>; | ||
256 | #size-cells = <0>; | ||
257 | status = "disabled"; | ||
258 | }; | ||
259 | |||
260 | mshc_1: mshc@12520000 { | ||
261 | compatible = "samsung,exynos5250-dw-mshc"; | ||
262 | reg = <0x12520000 0x1000>; | ||
263 | interrupts = <0 143 0>; | ||
264 | clocks = <&cmu CLK_SDMMC1>, <&cmu CLK_SCLK_MMC1>; | ||
265 | clock-names = "biu", "ciu"; | ||
266 | fifo-depth = <0x80>; | ||
267 | #address-cells = <1>; | ||
268 | #size-cells = <0>; | ||
269 | status = "disabled"; | ||
270 | }; | ||
271 | |||
272 | mshc_2: mshc@12530000 { | ||
273 | compatible = "samsung,exynos5250-dw-mshc"; | ||
274 | reg = <0x12530000 0x1000>; | ||
275 | interrupts = <0 144 0>; | ||
276 | clocks = <&cmu CLK_SDMMC2>, <&cmu CLK_SCLK_MMC2>; | ||
277 | clock-names = "biu", "ciu"; | ||
278 | fifo-depth = <0x80>; | ||
279 | #address-cells = <1>; | ||
280 | #size-cells = <0>; | ||
281 | status = "disabled"; | ||
282 | }; | ||
283 | |||
284 | ehci: ehci@12580000 { | ||
285 | compatible = "samsung,exynos4210-ehci"; | ||
286 | reg = <0x12580000 0x100>; | ||
287 | interrupts = <0 140 0>; | ||
288 | clocks = <&cmu CLK_USBHOST>; | ||
289 | clock-names = "usbhost"; | ||
290 | status = "disabled"; | ||
291 | #address-cells = <1>; | ||
292 | #size-cells = <0>; | ||
293 | port@0 { | ||
294 | reg = <0>; | ||
295 | phys = <&exynos_usbphy 1>; | ||
296 | status = "disabled"; | ||
297 | }; | ||
298 | port@1 { | ||
299 | reg = <1>; | ||
300 | phys = <&exynos_usbphy 2>; | ||
301 | status = "disabled"; | ||
302 | }; | ||
303 | port@2 { | ||
304 | reg = <2>; | ||
305 | phys = <&exynos_usbphy 3>; | ||
306 | status = "disabled"; | ||
307 | }; | ||
308 | }; | ||
309 | |||
310 | ohci: ohci@12590000 { | ||
311 | compatible = "samsung,exynos4210-ohci"; | ||
312 | reg = <0x12590000 0x100>; | ||
313 | interrupts = <0 140 0>; | ||
314 | clocks = <&cmu CLK_USBHOST>; | ||
315 | clock-names = "usbhost"; | ||
316 | status = "disabled"; | ||
317 | #address-cells = <1>; | ||
318 | #size-cells = <0>; | ||
319 | port@0 { | ||
320 | reg = <0>; | ||
321 | phys = <&exynos_usbphy 1>; | ||
322 | status = "disabled"; | ||
323 | }; | ||
324 | }; | ||
325 | |||
326 | exynos_usbphy: exynos-usbphy@125B0000 { | ||
327 | compatible = "samsung,exynos4x12-usb2-phy"; | ||
328 | reg = <0x125B0000 0x100>; | ||
329 | samsung,pmureg-phandle = <&pmu_system_controller>; | ||
330 | samsung,sysreg-phandle = <&sysreg_system_controller>; | ||
331 | clocks = <&cmu CLK_USBDEVICE>, <&xusbxti>; | ||
332 | clock-names = "phy", "ref"; | ||
333 | #phy-cells = <1>; | ||
334 | status = "disabled"; | ||
335 | }; | ||
336 | |||
337 | amba { | ||
338 | compatible = "arm,amba-bus"; | ||
339 | #address-cells = <1>; | ||
340 | #size-cells = <1>; | ||
341 | interrupt-parent = <&gic>; | ||
342 | ranges; | ||
343 | |||
344 | pdma0: pdma@12680000 { | ||
345 | compatible = "arm,pl330", "arm,primecell"; | ||
346 | reg = <0x12680000 0x1000>; | ||
347 | interrupts = <0 138 0>; | ||
348 | clocks = <&cmu CLK_PDMA0>; | ||
349 | clock-names = "apb_pclk"; | ||
350 | #dma-cells = <1>; | ||
351 | #dma-channels = <8>; | ||
352 | #dma-requests = <32>; | ||
353 | }; | ||
354 | |||
355 | pdma1: pdma@12690000 { | ||
356 | compatible = "arm,pl330", "arm,primecell"; | ||
357 | reg = <0x12690000 0x1000>; | ||
358 | interrupts = <0 139 0>; | ||
359 | clocks = <&cmu CLK_PDMA1>; | ||
360 | clock-names = "apb_pclk"; | ||
361 | #dma-cells = <1>; | ||
362 | #dma-channels = <8>; | ||
363 | #dma-requests = <32>; | ||
364 | }; | ||
365 | }; | ||
366 | |||
367 | adc: adc@126C0000 { | ||
368 | compatible = "samsung,exynos3250-adc", | ||
369 | "samsung,exynos-adc-v2"; | ||
370 | reg = <0x126C0000 0x100>, <0x10020718 0x4>; | ||
371 | interrupts = <0 137 0>; | ||
372 | clock-names = "adc", "sclk"; | ||
373 | clocks = <&cmu CLK_TSADC>, <&cmu CLK_SCLK_TSADC>; | ||
374 | #io-channel-cells = <1>; | ||
375 | io-channel-ranges; | ||
376 | status = "disabled"; | ||
377 | }; | ||
378 | |||
379 | serial_0: serial@13800000 { | ||
380 | compatible = "samsung,exynos4210-uart"; | ||
381 | reg = <0x13800000 0x100>; | ||
382 | interrupts = <0 109 0>; | ||
383 | clocks = <&cmu CLK_UART0>, <&cmu CLK_SCLK_UART0>; | ||
384 | clock-names = "uart", "clk_uart_baud0"; | ||
385 | status = "disabled"; | ||
386 | }; | ||
387 | |||
388 | serial_1: serial@13810000 { | ||
389 | compatible = "samsung,exynos4210-uart"; | ||
390 | reg = <0x13810000 0x100>; | ||
391 | interrupts = <0 110 0>; | ||
392 | clocks = <&cmu CLK_UART1>, <&cmu CLK_SCLK_UART1>; | ||
393 | clock-names = "uart", "clk_uart_baud0"; | ||
394 | status = "disabled"; | ||
395 | }; | ||
396 | |||
397 | serial_2: serial@13820000 { | ||
398 | compatible = "samsung,exynos4210-uart"; | ||
399 | reg = <0x13820000 0x100>; | ||
400 | interrupts = <0 111 0>; | ||
401 | clocks = <&cmu CLK_UART2>, <&cmu CLK_SCLK_UART2>; | ||
402 | clock-names = "uart", "clk_uart_baud0"; | ||
403 | status = "disabled"; | ||
404 | }; | ||
405 | |||
406 | serial_3: serial@13830000 { | ||
407 | compatible = "samsung,exynos4210-uart"; | ||
408 | reg = <0x13830000 0x100>; | ||
409 | interrupts = <0 112 0>; | ||
410 | clocks = <&cmu CLK_UART3>, <&cmu CLK_SCLK_UART3>; | ||
411 | clock-names = "uart", "clk_uart_baud0"; | ||
412 | status = "disabled"; | ||
413 | }; | ||
414 | |||
415 | i2c_0: i2c@13860000 { | ||
416 | #address-cells = <1>; | ||
417 | #size-cells = <0>; | ||
418 | compatible = "samsung,s3c2440-i2c"; | ||
419 | reg = <0x13860000 0x100>; | ||
420 | interrupts = <0 113 0>; | ||
421 | clocks = <&cmu CLK_I2C0>; | ||
422 | clock-names = "i2c"; | ||
423 | pinctrl-names = "default"; | ||
424 | pinctrl-0 = <&i2c0_bus>; | ||
425 | status = "disabled"; | ||
426 | }; | ||
427 | |||
428 | i2c_1: i2c@13870000 { | ||
429 | #address-cells = <1>; | ||
430 | #size-cells = <0>; | ||
431 | compatible = "samsung,s3c2440-i2c"; | ||
432 | reg = <0x13870000 0x100>; | ||
433 | interrupts = <0 114 0>; | ||
434 | clocks = <&cmu CLK_I2C1>; | ||
435 | clock-names = "i2c"; | ||
436 | pinctrl-names = "default"; | ||
437 | pinctrl-0 = <&i2c1_bus>; | ||
438 | status = "disabled"; | ||
439 | }; | ||
440 | |||
441 | i2c_2: i2c@13880000 { | ||
442 | #address-cells = <1>; | ||
443 | #size-cells = <0>; | ||
444 | compatible = "samsung,s3c2440-i2c"; | ||
445 | reg = <0x13880000 0x100>; | ||
446 | interrupts = <0 115 0>; | ||
447 | clocks = <&cmu CLK_I2C2>; | ||
448 | clock-names = "i2c"; | ||
449 | pinctrl-names = "default"; | ||
450 | pinctrl-0 = <&i2c2_bus>; | ||
451 | status = "disabled"; | ||
452 | }; | ||
453 | |||
454 | i2c_3: i2c@13890000 { | ||
455 | #address-cells = <1>; | ||
456 | #size-cells = <0>; | ||
457 | compatible = "samsung,s3c2440-i2c"; | ||
458 | reg = <0x13890000 0x100>; | ||
459 | interrupts = <0 116 0>; | ||
460 | clocks = <&cmu CLK_I2C3>; | ||
461 | clock-names = "i2c"; | ||
462 | pinctrl-names = "default"; | ||
463 | pinctrl-0 = <&i2c3_bus>; | ||
464 | status = "disabled"; | ||
465 | }; | ||
466 | |||
467 | i2c_4: i2c@138A0000 { | ||
468 | #address-cells = <1>; | ||
469 | #size-cells = <0>; | ||
470 | compatible = "samsung,s3c2440-i2c"; | ||
471 | reg = <0x138A0000 0x100>; | ||
472 | interrupts = <0 117 0>; | ||
473 | clocks = <&cmu CLK_I2C4>; | ||
474 | clock-names = "i2c"; | ||
475 | pinctrl-names = "default"; | ||
476 | pinctrl-0 = <&i2c4_bus>; | ||
477 | status = "disabled"; | ||
478 | }; | ||
479 | |||
480 | i2c_5: i2c@138B0000 { | ||
481 | #address-cells = <1>; | ||
482 | #size-cells = <0>; | ||
483 | compatible = "samsung,s3c2440-i2c"; | ||
484 | reg = <0x138B0000 0x100>; | ||
485 | interrupts = <0 118 0>; | ||
486 | clocks = <&cmu CLK_I2C5>; | ||
487 | clock-names = "i2c"; | ||
488 | pinctrl-names = "default"; | ||
489 | pinctrl-0 = <&i2c5_bus>; | ||
490 | status = "disabled"; | ||
491 | }; | ||
492 | |||
493 | i2c_6: i2c@138C0000 { | ||
494 | #address-cells = <1>; | ||
495 | #size-cells = <0>; | ||
496 | compatible = "samsung,s3c2440-i2c"; | ||
497 | reg = <0x138C0000 0x100>; | ||
498 | interrupts = <0 119 0>; | ||
499 | clocks = <&cmu CLK_I2C6>; | ||
500 | clock-names = "i2c"; | ||
501 | pinctrl-names = "default"; | ||
502 | pinctrl-0 = <&i2c6_bus>; | ||
503 | status = "disabled"; | ||
504 | }; | ||
505 | |||
506 | i2c_7: i2c@138D0000 { | ||
507 | #address-cells = <1>; | ||
508 | #size-cells = <0>; | ||
509 | compatible = "samsung,s3c2440-i2c"; | ||
510 | reg = <0x138D0000 0x100>; | ||
511 | interrupts = <0 120 0>; | ||
512 | clocks = <&cmu CLK_I2C7>; | ||
513 | clock-names = "i2c"; | ||
514 | pinctrl-names = "default"; | ||
515 | pinctrl-0 = <&i2c7_bus>; | ||
516 | status = "disabled"; | ||
517 | }; | ||
518 | |||
519 | spi_0: spi@13920000 { | ||
520 | compatible = "samsung,exynos4210-spi"; | ||
521 | reg = <0x13920000 0x100>; | ||
522 | interrupts = <0 121 0>; | ||
523 | dmas = <&pdma0 7>, <&pdma0 6>; | ||
524 | dma-names = "tx", "rx"; | ||
525 | #address-cells = <1>; | ||
526 | #size-cells = <0>; | ||
527 | clocks = <&cmu CLK_SPI0>, <&cmu CLK_SCLK_SPI0>; | ||
528 | clock-names = "spi", "spi_busclk0"; | ||
529 | samsung,spi-src-clk = <0>; | ||
530 | pinctrl-names = "default"; | ||
531 | pinctrl-0 = <&spi0_bus>; | ||
532 | status = "disabled"; | ||
533 | }; | ||
534 | |||
535 | spi_1: spi@13930000 { | ||
536 | compatible = "samsung,exynos4210-spi"; | ||
537 | reg = <0x13930000 0x100>; | ||
538 | interrupts = <0 122 0>; | ||
539 | dmas = <&pdma1 7>, <&pdma1 6>; | ||
540 | dma-names = "tx", "rx"; | ||
541 | #address-cells = <1>; | ||
542 | #size-cells = <0>; | ||
543 | clocks = <&cmu CLK_SPI1>, <&cmu CLK_SCLK_SPI1>; | ||
544 | clock-names = "spi", "spi_busclk0"; | ||
545 | samsung,spi-src-clk = <0>; | ||
546 | pinctrl-names = "default"; | ||
547 | pinctrl-0 = <&spi1_bus>; | ||
548 | status = "disabled"; | ||
549 | }; | ||
550 | |||
551 | spi_2: spi@13940000 { | ||
552 | compatible = "samsung,exynos4210-spi"; | ||
553 | reg = <0x13940000 0x100>; | ||
554 | interrupts = <0 123 0>; | ||
555 | dmas = <&pdma0 9>, <&pdma0 8>; | ||
556 | dma-names = "tx", "rx"; | ||
557 | #address-cells = <1>; | ||
558 | #size-cells = <0>; | ||
559 | clocks = <&cmu CLK_SPI2>, <&cmu CLK_SCLK_SPI2>; | ||
560 | clock-names = "spi", "spi_busclk0"; | ||
561 | samsung,spi-src-clk = <0>; | ||
562 | pinctrl-names = "default"; | ||
563 | pinctrl-0 = <&spi2_bus>; | ||
564 | status = "disabled"; | ||
565 | }; | ||
566 | |||
567 | clock_audss: clock-controller@03810000 { | ||
568 | compatible = "samsung,exynos4210-audss-clock"; | ||
569 | reg = <0x03810000 0x0C>; | ||
570 | #clock-cells = <1>; | ||
571 | }; | ||
572 | |||
573 | i2s0: i2s@3830000 { | ||
574 | compatible = "samsung,s5pv210-i2s"; | ||
575 | reg = <0x03830000 0x100>; | ||
576 | interrupts = <0 124 0>; | ||
577 | clocks = <&clock_audss EXYNOS_I2S_BUS>, | ||
578 | <&clock_audss EXYNOS_SCLK_I2S>; | ||
579 | clock-names = "iis", "i2s_opclk0"; | ||
580 | dmas = <&pdma1 10>, <&pdma1 9>, <&pdma1 8>; | ||
581 | dma-names = "tx", "rx", "tx-sec"; | ||
582 | pinctrl-names = "default"; | ||
583 | pinctrl-0 = <&i2s0_bus>; | ||
584 | samsung,idma-addr = <0x03000000>; | ||
585 | status = "disabled"; | ||
586 | }; | ||
587 | |||
588 | pwm: pwm@139D0000 { | ||
589 | compatible = "samsung,exynos4210-pwm"; | ||
590 | reg = <0x139D0000 0x1000>; | ||
591 | interrupts = <0 104 0>, <0 105 0>, <0 106 0>, | ||
592 | <0 107 0>, <0 108 0>; | ||
593 | #pwm-cells = <3>; | ||
594 | status = "disabled"; | ||
595 | }; | ||
596 | |||
597 | pmu { | ||
598 | compatible = "arm,cortex-a9-pmu"; | ||
599 | interrupts = <0 18 0>, <0 19 0>, <0 20 0>, <0 21 0>; | ||
600 | }; | ||
601 | }; | ||
602 | }; | ||
603 | |||
604 | #include "exynos4415-pinctrl.dtsi" | ||
diff --git a/arch/arm/boot/dts/exynos4x12-pinctrl.dtsi b/arch/arm/boot/dts/exynos4x12-pinctrl.dtsi index 0865a2e33f97..c141931378e7 100644 --- a/arch/arm/boot/dts/exynos4x12-pinctrl.dtsi +++ b/arch/arm/boot/dts/exynos4x12-pinctrl.dtsi | |||
@@ -12,6 +12,22 @@ | |||
12 | * published by the Free Software Foundation. | 12 | * published by the Free Software Foundation. |
13 | */ | 13 | */ |
14 | 14 | ||
15 | #define PIN_PULL_NONE 0 | ||
16 | #define PIN_PULL_DOWN 1 | ||
17 | #define PIN_PULL_UP 3 | ||
18 | |||
19 | #define PIN_PDN_OUT0 0 | ||
20 | #define PIN_PDN_OUT1 1 | ||
21 | #define PIN_PDN_INPUT 2 | ||
22 | #define PIN_PDN_PREV 3 | ||
23 | |||
24 | #define PIN_SLP(_pin, _mode, _pull) \ | ||
25 | _pin { \ | ||
26 | samsung,pins = #_pin; \ | ||
27 | samsung,pin-con-pdn = <PIN_PDN_ ##_mode>; \ | ||
28 | samsung,pin-pud-pdn = <PIN_PULL_ ##_pull>; \ | ||
29 | } | ||
30 | |||
15 | / { | 31 | / { |
16 | pinctrl@11400000 { | 32 | pinctrl@11400000 { |
17 | gpa0: gpa0 { | 33 | gpa0: gpa0 { |
diff --git a/arch/arm/boot/dts/exynos4x12.dtsi b/arch/arm/boot/dts/exynos4x12.dtsi index 861bb919f6d3..2e9f1f7be77b 100644 --- a/arch/arm/boot/dts/exynos4x12.dtsi +++ b/arch/arm/boot/dts/exynos4x12.dtsi | |||
@@ -271,4 +271,14 @@ | |||
271 | compatible = "samsung,exynos4x12-usb2-phy"; | 271 | compatible = "samsung,exynos4x12-usb2-phy"; |
272 | samsung,sysreg-phandle = <&sys_reg>; | 272 | samsung,sysreg-phandle = <&sys_reg>; |
273 | }; | 273 | }; |
274 | |||
275 | tmu@100C0000 { | ||
276 | compatible = "samsung,exynos4412-tmu"; | ||
277 | interrupt-parent = <&combiner>; | ||
278 | interrupts = <2 4>; | ||
279 | reg = <0x100C0000 0x100>; | ||
280 | clocks = <&clock 383>; | ||
281 | clock-names = "tmu_apbif"; | ||
282 | status = "disabled"; | ||
283 | }; | ||
274 | }; | 284 | }; |
diff --git a/arch/arm/boot/dts/exynos5250-arndale.dts b/arch/arm/boot/dts/exynos5250-arndale.dts index 3acd97eb6630..7e728a1b5559 100644 --- a/arch/arm/boot/dts/exynos5250-arndale.dts +++ b/arch/arm/boot/dts/exynos5250-arndale.dts | |||
@@ -7,12 +7,13 @@ | |||
7 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
8 | * it under the terms of the GNU General Public License version 2 as | 8 | * it under the terms of the GNU General Public License version 2 as |
9 | * published by the Free Software Foundation. | 9 | * published by the Free Software Foundation. |
10 | */ | 10 | */ |
11 | 11 | ||
12 | /dts-v1/; | 12 | /dts-v1/; |
13 | #include "exynos5250.dtsi" | 13 | #include <dt-bindings/gpio/gpio.h> |
14 | #include <dt-bindings/interrupt-controller/irq.h> | 14 | #include <dt-bindings/interrupt-controller/irq.h> |
15 | #include <dt-bindings/input/input.h> | 15 | #include <dt-bindings/input/input.h> |
16 | #include "exynos5250.dtsi" | ||
16 | 17 | ||
17 | / { | 18 | / { |
18 | model = "Insignal Arndale evaluation board based on EXYNOS5250"; | 19 | model = "Insignal Arndale evaluation board based on EXYNOS5250"; |
@@ -26,465 +27,52 @@ | |||
26 | bootargs = "console=ttySAC2,115200"; | 27 | bootargs = "console=ttySAC2,115200"; |
27 | }; | 28 | }; |
28 | 29 | ||
29 | rtc@101E0000 { | ||
30 | status = "okay"; | ||
31 | }; | ||
32 | |||
33 | codec@11000000 { | ||
34 | samsung,mfc-r = <0x43000000 0x800000>; | ||
35 | samsung,mfc-l = <0x51000000 0x800000>; | ||
36 | }; | ||
37 | |||
38 | i2c@12C60000 { | ||
39 | samsung,i2c-sda-delay = <100>; | ||
40 | samsung,i2c-max-bus-freq = <20000>; | ||
41 | samsung,i2c-slave-addr = <0x66>; | ||
42 | status = "okay"; | ||
43 | |||
44 | s5m8767_pmic@66 { | ||
45 | compatible = "samsung,s5m8767-pmic"; | ||
46 | reg = <0x66>; | ||
47 | interrupt-parent = <&gpx3>; | ||
48 | interrupts = <2 IRQ_TYPE_LEVEL_LOW>; | ||
49 | |||
50 | vinb1-supply = <&main_dc_reg>; | ||
51 | vinb2-supply = <&main_dc_reg>; | ||
52 | vinb3-supply = <&main_dc_reg>; | ||
53 | vinb4-supply = <&main_dc_reg>; | ||
54 | vinb5-supply = <&main_dc_reg>; | ||
55 | vinb6-supply = <&main_dc_reg>; | ||
56 | vinb7-supply = <&main_dc_reg>; | ||
57 | vinb8-supply = <&main_dc_reg>; | ||
58 | vinb9-supply = <&main_dc_reg>; | ||
59 | |||
60 | vinl1-supply = <&buck7_reg>; | ||
61 | vinl2-supply = <&buck7_reg>; | ||
62 | vinl3-supply = <&buck7_reg>; | ||
63 | vinl4-supply = <&main_dc_reg>; | ||
64 | vinl5-supply = <&main_dc_reg>; | ||
65 | vinl6-supply = <&main_dc_reg>; | ||
66 | vinl7-supply = <&main_dc_reg>; | ||
67 | vinl8-supply = <&buck8_reg>; | ||
68 | vinl9-supply = <&buck8_reg>; | ||
69 | |||
70 | s5m8767,pmic-buck2-dvs-voltage = <1300000>; | ||
71 | s5m8767,pmic-buck3-dvs-voltage = <1100000>; | ||
72 | s5m8767,pmic-buck4-dvs-voltage = <1200000>; | ||
73 | s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 0>, | ||
74 | <&gpd1 1 0>, | ||
75 | <&gpd1 2 0>; | ||
76 | s5m8767,pmic-buck-ds-gpios = <&gpx2 3 0>, | ||
77 | <&gpx2 4 0>, | ||
78 | <&gpx2 5 0>; | ||
79 | regulators { | ||
80 | ldo1_reg: LDO1 { | ||
81 | regulator-name = "VDD_ALIVE_1.0V"; | ||
82 | regulator-min-microvolt = <1100000>; | ||
83 | regulator-max-microvolt = <1100000>; | ||
84 | regulator-always-on; | ||
85 | regulator-boot-on; | ||
86 | op_mode = <1>; | ||
87 | }; | ||
88 | |||
89 | ldo2_reg: LDO2 { | ||
90 | regulator-name = "VDD_28IO_DP_1.35V"; | ||
91 | regulator-min-microvolt = <1200000>; | ||
92 | regulator-max-microvolt = <1200000>; | ||
93 | regulator-always-on; | ||
94 | regulator-boot-on; | ||
95 | op_mode = <1>; | ||
96 | }; | ||
97 | |||
98 | ldo3_reg: LDO3 { | ||
99 | regulator-name = "VDD_COMMON1_1.8V"; | ||
100 | regulator-min-microvolt = <1800000>; | ||
101 | regulator-max-microvolt = <1800000>; | ||
102 | regulator-always-on; | ||
103 | regulator-boot-on; | ||
104 | op_mode = <1>; | ||
105 | }; | ||
106 | |||
107 | ldo4_reg: LDO4 { | ||
108 | regulator-name = "VDD_IOPERI_1.8V"; | ||
109 | regulator-min-microvolt = <1800000>; | ||
110 | regulator-max-microvolt = <1800000>; | ||
111 | regulator-always-on; | ||
112 | op_mode = <1>; | ||
113 | }; | ||
114 | |||
115 | ldo5_reg: LDO5 { | ||
116 | regulator-name = "VDD_EXT_1.8V"; | ||
117 | regulator-min-microvolt = <1800000>; | ||
118 | regulator-max-microvolt = <1800000>; | ||
119 | regulator-always-on; | ||
120 | regulator-boot-on; | ||
121 | op_mode = <1>; | ||
122 | }; | ||
123 | |||
124 | ldo6_reg: LDO6 { | ||
125 | regulator-name = "VDD_MPLL_1.1V"; | ||
126 | regulator-min-microvolt = <1100000>; | ||
127 | regulator-max-microvolt = <1100000>; | ||
128 | regulator-always-on; | ||
129 | regulator-boot-on; | ||
130 | op_mode = <1>; | ||
131 | }; | ||
132 | |||
133 | ldo7_reg: LDO7 { | ||
134 | regulator-name = "VDD_XPLL_1.1V"; | ||
135 | regulator-min-microvolt = <1100000>; | ||
136 | regulator-max-microvolt = <1100000>; | ||
137 | regulator-always-on; | ||
138 | regulator-boot-on; | ||
139 | op_mode = <1>; | ||
140 | }; | ||
141 | |||
142 | ldo8_reg: LDO8 { | ||
143 | regulator-name = "VDD_COMMON2_1.0V"; | ||
144 | regulator-min-microvolt = <1000000>; | ||
145 | regulator-max-microvolt = <1000000>; | ||
146 | regulator-always-on; | ||
147 | regulator-boot-on; | ||
148 | op_mode = <1>; | ||
149 | }; | ||
150 | |||
151 | ldo9_reg: LDO9 { | ||
152 | regulator-name = "VDD_33ON_3.0V"; | ||
153 | regulator-min-microvolt = <3000000>; | ||
154 | regulator-max-microvolt = <3000000>; | ||
155 | op_mode = <1>; | ||
156 | }; | ||
157 | |||
158 | ldo10_reg: LDO10 { | ||
159 | regulator-name = "VDD_COMMON3_1.8V"; | ||
160 | regulator-min-microvolt = <1800000>; | ||
161 | regulator-max-microvolt = <1800000>; | ||
162 | regulator-always-on; | ||
163 | regulator-boot-on; | ||
164 | op_mode = <1>; | ||
165 | }; | ||
166 | |||
167 | ldo11_reg: LDO11 { | ||
168 | regulator-name = "VDD_ABB2_1.8V"; | ||
169 | regulator-min-microvolt = <1800000>; | ||
170 | regulator-max-microvolt = <1800000>; | ||
171 | regulator-always-on; | ||
172 | regulator-boot-on; | ||
173 | op_mode = <1>; | ||
174 | }; | ||
175 | |||
176 | ldo12_reg: LDO12 { | ||
177 | regulator-name = "VDD_USB_3.0V"; | ||
178 | regulator-min-microvolt = <3000000>; | ||
179 | regulator-max-microvolt = <3000000>; | ||
180 | regulator-always-on; | ||
181 | regulator-boot-on; | ||
182 | op_mode = <1>; | ||
183 | }; | ||
184 | |||
185 | ldo13_reg: LDO13 { | ||
186 | regulator-name = "VDDQ_C2C_W_1.8V"; | ||
187 | regulator-min-microvolt = <1800000>; | ||
188 | regulator-max-microvolt = <1800000>; | ||
189 | regulator-always-on; | ||
190 | regulator-boot-on; | ||
191 | op_mode = <1>; | ||
192 | }; | ||
193 | |||
194 | ldo14_reg: LDO14 { | ||
195 | regulator-name = "VDD18_ABB0_3_1.8V"; | ||
196 | regulator-min-microvolt = <1800000>; | ||
197 | regulator-max-microvolt = <1800000>; | ||
198 | regulator-always-on; | ||
199 | regulator-boot-on; | ||
200 | op_mode = <1>; | ||
201 | }; | ||
202 | |||
203 | ldo15_reg: LDO15 { | ||
204 | regulator-name = "VDD10_COMMON4_1.0V"; | ||
205 | regulator-min-microvolt = <1000000>; | ||
206 | regulator-max-microvolt = <1000000>; | ||
207 | regulator-always-on; | ||
208 | regulator-boot-on; | ||
209 | op_mode = <1>; | ||
210 | }; | ||
211 | |||
212 | ldo16_reg: LDO16 { | ||
213 | regulator-name = "VDD18_HSIC_1.8V"; | ||
214 | regulator-min-microvolt = <1800000>; | ||
215 | regulator-max-microvolt = <1800000>; | ||
216 | regulator-always-on; | ||
217 | regulator-boot-on; | ||
218 | op_mode = <1>; | ||
219 | }; | ||
220 | |||
221 | ldo17_reg: LDO17 { | ||
222 | regulator-name = "VDDQ_MMC2_3_2.8V"; | ||
223 | regulator-min-microvolt = <2800000>; | ||
224 | regulator-max-microvolt = <2800000>; | ||
225 | regulator-always-on; | ||
226 | regulator-boot-on; | ||
227 | op_mode = <1>; | ||
228 | }; | ||
229 | |||
230 | ldo18_reg: LDO18 { | ||
231 | regulator-name = "VDD_33ON_2.8V"; | ||
232 | regulator-min-microvolt = <2800000>; | ||
233 | regulator-max-microvolt = <2800000>; | ||
234 | op_mode = <1>; | ||
235 | }; | ||
236 | |||
237 | ldo22_reg: LDO22 { | ||
238 | regulator-name = "EXT_33_OFF"; | ||
239 | regulator-min-microvolt = <3300000>; | ||
240 | regulator-max-microvolt = <3300000>; | ||
241 | op_mode = <1>; | ||
242 | }; | ||
243 | |||
244 | ldo23_reg: LDO23 { | ||
245 | regulator-name = "EXT_28_OFF"; | ||
246 | regulator-min-microvolt = <2800000>; | ||
247 | regulator-max-microvolt = <2800000>; | ||
248 | op_mode = <1>; | ||
249 | }; | ||
250 | |||
251 | ldo25_reg: LDO25 { | ||
252 | regulator-name = "PVDD_LDO25"; | ||
253 | regulator-min-microvolt = <1200000>; | ||
254 | regulator-max-microvolt = <1200000>; | ||
255 | op_mode = <1>; | ||
256 | }; | ||
257 | |||
258 | ldo26_reg: LDO26 { | ||
259 | regulator-name = "EXT_18_OFF"; | ||
260 | regulator-min-microvolt = <1800000>; | ||
261 | regulator-max-microvolt = <1800000>; | ||
262 | op_mode = <1>; | ||
263 | }; | ||
264 | |||
265 | buck1_reg: BUCK1 { | ||
266 | regulator-name = "vdd_mif"; | ||
267 | regulator-min-microvolt = <950000>; | ||
268 | regulator-max-microvolt = <1200000>; | ||
269 | regulator-always-on; | ||
270 | regulator-boot-on; | ||
271 | op_mode = <1>; | ||
272 | }; | ||
273 | |||
274 | buck2_reg: BUCK2 { | ||
275 | regulator-name = "vdd_arm"; | ||
276 | regulator-min-microvolt = <912500>; | ||
277 | regulator-max-microvolt = <1300000>; | ||
278 | regulator-always-on; | ||
279 | regulator-boot-on; | ||
280 | op_mode = <1>; | ||
281 | }; | ||
282 | |||
283 | buck3_reg: BUCK3 { | ||
284 | regulator-name = "vdd_int"; | ||
285 | regulator-min-microvolt = <900000>; | ||
286 | regulator-max-microvolt = <1200000>; | ||
287 | regulator-always-on; | ||
288 | regulator-boot-on; | ||
289 | op_mode = <1>; | ||
290 | }; | ||
291 | |||
292 | buck4_reg: BUCK4 { | ||
293 | regulator-name = "vdd_g3d"; | ||
294 | regulator-min-microvolt = <1000000>; | ||
295 | regulator-max-microvolt = <1000000>; | ||
296 | regulator-always-on; | ||
297 | regulator-boot-on; | ||
298 | op_mode = <1>; | ||
299 | }; | ||
300 | |||
301 | buck5_reg: BUCK5 { | ||
302 | regulator-name = "VDD_MEM_1.35V"; | ||
303 | regulator-min-microvolt = <750000>; | ||
304 | regulator-max-microvolt = <1355000>; | ||
305 | regulator-always-on; | ||
306 | regulator-boot-on; | ||
307 | op_mode = <1>; | ||
308 | }; | ||
309 | |||
310 | buck7_reg: BUCK7 { | ||
311 | regulator-name = "PVDD_BUCK7"; | ||
312 | regulator-always-on; | ||
313 | op_mode = <1>; | ||
314 | }; | ||
315 | |||
316 | buck8_reg: BUCK8 { | ||
317 | regulator-name = "PVDD_BUCK8"; | ||
318 | regulator-always-on; | ||
319 | op_mode = <1>; | ||
320 | }; | ||
321 | |||
322 | buck9_reg: BUCK9 { | ||
323 | regulator-name = "VDD_33_OFF_EXT1"; | ||
324 | regulator-min-microvolt = <750000>; | ||
325 | regulator-max-microvolt = <3000000>; | ||
326 | op_mode = <1>; | ||
327 | }; | ||
328 | }; | ||
329 | }; | ||
330 | }; | ||
331 | |||
332 | i2c@12C80000 { | ||
333 | status = "okay"; | ||
334 | |||
335 | samsung,i2c-sda-delay = <100>; | ||
336 | samsung,i2c-max-bus-freq = <66000>; | ||
337 | samsung,i2c-slave-addr = <0x50>; | ||
338 | |||
339 | hdmiddc@50 { | ||
340 | compatible = "samsung,exynos4210-hdmiddc"; | ||
341 | reg = <0x50>; | ||
342 | }; | ||
343 | }; | ||
344 | |||
345 | i2c@12C90000 { | ||
346 | status = "okay"; | ||
347 | |||
348 | wm1811a@1a { | ||
349 | |||
350 | compatible = "wlf,wm1811"; | ||
351 | reg = <0x1a>; | ||
352 | |||
353 | AVDD2-supply = <&main_dc_reg>; | ||
354 | CPVDD-supply = <&main_dc_reg>; | ||
355 | DBVDD1-supply = <&main_dc_reg>; | ||
356 | DBVDD2-supply = <&main_dc_reg>; | ||
357 | DBVDD3-supply = <&main_dc_reg>; | ||
358 | LDO1VDD-supply = <&main_dc_reg>; | ||
359 | SPKVDD1-supply = <&main_dc_reg>; | ||
360 | SPKVDD2-supply = <&main_dc_reg>; | ||
361 | |||
362 | wlf,ldo1ena = <&gpb0 0 0>; | ||
363 | wlf,ldo2ena = <&gpb0 1 0>; | ||
364 | }; | ||
365 | }; | ||
366 | |||
367 | i2c@12CE0000 { | ||
368 | status = "okay"; | ||
369 | |||
370 | samsung,i2c-sda-delay = <100>; | ||
371 | samsung,i2c-max-bus-freq = <66000>; | ||
372 | samsung,i2c-slave-addr = <0x38>; | ||
373 | |||
374 | hdmiphy@38 { | ||
375 | compatible = "samsung,exynos4212-hdmiphy"; | ||
376 | reg = <0x38>; | ||
377 | }; | ||
378 | }; | ||
379 | |||
380 | i2c@121D0000 { | ||
381 | status = "okay"; | ||
382 | samsung,i2c-sda-delay = <100>; | ||
383 | samsung,i2c-max-bus-freq = <40000>; | ||
384 | samsung,i2c-slave-addr = <0x38>; | ||
385 | |||
386 | sata_phy_i2c:sata-phy@38 { | ||
387 | compatible = "samsung,exynos-sataphy-i2c"; | ||
388 | reg = <0x38>; | ||
389 | }; | ||
390 | }; | ||
391 | |||
392 | sata@122F0000 { | ||
393 | status = "okay"; | ||
394 | }; | ||
395 | |||
396 | sata-phy@12170000 { | ||
397 | status = "okay"; | ||
398 | samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>; | ||
399 | }; | ||
400 | |||
401 | mmc_0: mmc@12200000 { | ||
402 | status = "okay"; | ||
403 | num-slots = <1>; | ||
404 | broken-cd; | ||
405 | card-detect-delay = <200>; | ||
406 | samsung,dw-mshc-ciu-div = <3>; | ||
407 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
408 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
409 | vmmc-supply = <&mmc_reg>; | ||
410 | pinctrl-names = "default"; | ||
411 | pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; | ||
412 | bus-width = <8>; | ||
413 | cap-mmc-highspeed; | ||
414 | }; | ||
415 | |||
416 | mmc_2: mmc@12220000 { | ||
417 | status = "okay"; | ||
418 | num-slots = <1>; | ||
419 | card-detect-delay = <200>; | ||
420 | samsung,dw-mshc-ciu-div = <3>; | ||
421 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
422 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
423 | vmmc-supply = <&mmc_reg>; | ||
424 | pinctrl-names = "default"; | ||
425 | pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; | ||
426 | bus-width = <4>; | ||
427 | disable-wp; | ||
428 | cap-sd-highspeed; | ||
429 | }; | ||
430 | |||
431 | i2s0: i2s@03830000 { | ||
432 | status = "okay"; | ||
433 | }; | ||
434 | |||
435 | gpio_keys { | 30 | gpio_keys { |
436 | compatible = "gpio-keys"; | 31 | compatible = "gpio-keys"; |
437 | 32 | ||
438 | menu { | 33 | menu { |
439 | label = "SW-TACT2"; | 34 | label = "SW-TACT2"; |
440 | gpios = <&gpx1 4 1>; | 35 | gpios = <&gpx1 4 GPIO_ACTIVE_LOW>; |
441 | linux,code = <KEY_MENU>; | 36 | linux,code = <KEY_MENU>; |
442 | gpio-key,wakeup; | 37 | gpio-key,wakeup; |
443 | }; | 38 | }; |
444 | 39 | ||
445 | home { | 40 | home { |
446 | label = "SW-TACT3"; | 41 | label = "SW-TACT3"; |
447 | gpios = <&gpx1 5 1>; | 42 | gpios = <&gpx1 5 GPIO_ACTIVE_LOW>; |
448 | linux,code = <KEY_HOME>; | 43 | linux,code = <KEY_HOME>; |
449 | gpio-key,wakeup; | 44 | gpio-key,wakeup; |
450 | }; | 45 | }; |
451 | 46 | ||
452 | up { | 47 | up { |
453 | label = "SW-TACT4"; | 48 | label = "SW-TACT4"; |
454 | gpios = <&gpx1 6 1>; | 49 | gpios = <&gpx1 6 GPIO_ACTIVE_LOW>; |
455 | linux,code = <KEY_UP>; | 50 | linux,code = <KEY_UP>; |
456 | gpio-key,wakeup; | 51 | gpio-key,wakeup; |
457 | }; | 52 | }; |
458 | 53 | ||
459 | down { | 54 | down { |
460 | label = "SW-TACT5"; | 55 | label = "SW-TACT5"; |
461 | gpios = <&gpx1 7 1>; | 56 | gpios = <&gpx1 7 GPIO_ACTIVE_LOW>; |
462 | linux,code = <KEY_DOWN>; | 57 | linux,code = <KEY_DOWN>; |
463 | gpio-key,wakeup; | 58 | gpio-key,wakeup; |
464 | }; | 59 | }; |
465 | 60 | ||
466 | back { | 61 | back { |
467 | label = "SW-TACT6"; | 62 | label = "SW-TACT6"; |
468 | gpios = <&gpx2 0 1>; | 63 | gpios = <&gpx2 0 GPIO_ACTIVE_LOW>; |
469 | linux,code = <KEY_BACK>; | 64 | linux,code = <KEY_BACK>; |
470 | gpio-key,wakeup; | 65 | gpio-key,wakeup; |
471 | }; | 66 | }; |
472 | 67 | ||
473 | wakeup { | 68 | wakeup { |
474 | label = "SW-TACT7"; | 69 | label = "SW-TACT7"; |
475 | gpios = <&gpx2 1 1>; | 70 | gpios = <&gpx2 1 GPIO_ACTIVE_LOW>; |
476 | linux,code = <KEY_WAKEUP>; | 71 | linux,code = <KEY_WAKEUP>; |
477 | gpio-key,wakeup; | 72 | gpio-key,wakeup; |
478 | }; | 73 | }; |
479 | }; | 74 | }; |
480 | 75 | ||
481 | hdmi { | ||
482 | hpd-gpio = <&gpx3 7 2>; | ||
483 | vdd_osc-supply = <&ldo10_reg>; | ||
484 | vdd_pll-supply = <&ldo8_reg>; | ||
485 | vdd-supply = <&ldo8_reg>; | ||
486 | }; | ||
487 | |||
488 | regulators { | 76 | regulators { |
489 | compatible = "simple-bus"; | 77 | compatible = "simple-bus"; |
490 | #address-cells = <1>; | 78 | #address-cells = <1>; |
@@ -502,7 +90,7 @@ | |||
502 | regulator-name = "VDD_33ON_2.8V"; | 90 | regulator-name = "VDD_33ON_2.8V"; |
503 | regulator-min-microvolt = <2800000>; | 91 | regulator-min-microvolt = <2800000>; |
504 | regulator-max-microvolt = <2800000>; | 92 | regulator-max-microvolt = <2800000>; |
505 | gpio = <&gpx1 1 1>; | 93 | gpio = <&gpx1 1 GPIO_ACTIVE_LOW>; |
506 | enable-active-high; | 94 | enable-active-high; |
507 | }; | 95 | }; |
508 | 96 | ||
@@ -520,46 +108,455 @@ | |||
520 | }; | 108 | }; |
521 | }; | 109 | }; |
522 | 110 | ||
523 | dp-controller@145B0000 { | 111 | // SMSC USB3503 connected in hardware only mode as a PHY |
524 | samsung,color-space = <0>; | 112 | usb_hub: usb-hub { |
525 | samsung,dynamic-range = <0>; | 113 | compatible = "smsc,usb3503a"; |
526 | samsung,ycbcr-coeff = <0>; | 114 | |
527 | samsung,color-depth = <1>; | 115 | reset-gpios = <&gpx3 5 GPIO_ACTIVE_LOW>; |
528 | samsung,link-rate = <0x0a>; | 116 | connect-gpios = <&gpd1 7 GPIO_ACTIVE_LOW>; |
529 | samsung,lane-count = <4>; | ||
530 | status = "okay"; | ||
531 | }; | 117 | }; |
118 | }; | ||
532 | 119 | ||
533 | fimd: fimd@14400000 { | 120 | &dp { |
534 | status = "okay"; | 121 | status = "okay"; |
535 | display-timings { | 122 | samsung,color-space = <0>; |
536 | native-mode = <&timing0>; | 123 | samsung,dynamic-range = <0>; |
537 | timing0: timing@0 { | 124 | samsung,ycbcr-coeff = <0>; |
538 | /* 2560x1600 DP panel */ | 125 | samsung,color-depth = <1>; |
539 | clock-frequency = <50000>; | 126 | samsung,link-rate = <0x0a>; |
540 | hactive = <2560>; | 127 | samsung,lane-count = <4>; |
541 | vactive = <1600>; | 128 | }; |
542 | hfront-porch = <48>; | 129 | |
543 | hback-porch = <80>; | 130 | &fimd { |
544 | hsync-len = <32>; | 131 | status = "okay"; |
545 | vback-porch = <16>; | 132 | |
546 | vfront-porch = <8>; | 133 | display-timings { |
547 | vsync-len = <6>; | 134 | native-mode = <&timing0>; |
548 | }; | 135 | |
136 | timing0: timing@0 { | ||
137 | /* 2560x1600 DP panel */ | ||
138 | clock-frequency = <50000>; | ||
139 | hactive = <2560>; | ||
140 | vactive = <1600>; | ||
141 | hfront-porch = <48>; | ||
142 | hback-porch = <80>; | ||
143 | hsync-len = <32>; | ||
144 | vback-porch = <16>; | ||
145 | vfront-porch = <8>; | ||
146 | vsync-len = <6>; | ||
549 | }; | 147 | }; |
550 | }; | 148 | }; |
149 | }; | ||
551 | 150 | ||
552 | usb_hub_bus { | 151 | &hdmi { |
553 | compatible = "simple-bus"; | 152 | hpd-gpio = <&gpx3 7 GPIO_ACTIVE_LOW>; |
554 | #address-cells = <1>; | 153 | vdd_osc-supply = <&ldo10_reg>; |
555 | #size-cells = <0>; | 154 | vdd_pll-supply = <&ldo8_reg>; |
155 | vdd-supply = <&ldo8_reg>; | ||
156 | }; | ||
157 | |||
158 | &i2c_0 { | ||
159 | status = "okay"; | ||
160 | samsung,i2c-sda-delay = <100>; | ||
161 | samsung,i2c-max-bus-freq = <20000>; | ||
162 | samsung,i2c-slave-addr = <0x66>; | ||
163 | |||
164 | s5m8767_pmic@66 { | ||
165 | compatible = "samsung,s5m8767-pmic"; | ||
166 | reg = <0x66>; | ||
167 | interrupt-parent = <&gpx3>; | ||
168 | interrupts = <2 IRQ_TYPE_LEVEL_LOW>; | ||
169 | |||
170 | vinb1-supply = <&main_dc_reg>; | ||
171 | vinb2-supply = <&main_dc_reg>; | ||
172 | vinb3-supply = <&main_dc_reg>; | ||
173 | vinb4-supply = <&main_dc_reg>; | ||
174 | vinb5-supply = <&main_dc_reg>; | ||
175 | vinb6-supply = <&main_dc_reg>; | ||
176 | vinb7-supply = <&main_dc_reg>; | ||
177 | vinb8-supply = <&main_dc_reg>; | ||
178 | vinb9-supply = <&main_dc_reg>; | ||
179 | |||
180 | vinl1-supply = <&buck7_reg>; | ||
181 | vinl2-supply = <&buck7_reg>; | ||
182 | vinl3-supply = <&buck7_reg>; | ||
183 | vinl4-supply = <&main_dc_reg>; | ||
184 | vinl5-supply = <&main_dc_reg>; | ||
185 | vinl6-supply = <&main_dc_reg>; | ||
186 | vinl7-supply = <&main_dc_reg>; | ||
187 | vinl8-supply = <&buck8_reg>; | ||
188 | vinl9-supply = <&buck8_reg>; | ||
189 | |||
190 | s5m8767,pmic-buck2-dvs-voltage = <1300000>; | ||
191 | s5m8767,pmic-buck3-dvs-voltage = <1100000>; | ||
192 | s5m8767,pmic-buck4-dvs-voltage = <1200000>; | ||
193 | s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 GPIO_ACTIVE_HIGH>, | ||
194 | <&gpd1 1 GPIO_ACTIVE_HIGH>, | ||
195 | <&gpd1 2 GPIO_ACTIVE_HIGH>; | ||
196 | s5m8767,pmic-buck-ds-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>, | ||
197 | <&gpx2 4 GPIO_ACTIVE_HIGH>, | ||
198 | <&gpx2 5 GPIO_ACTIVE_HIGH>; | ||
199 | |||
200 | regulators { | ||
201 | ldo1_reg: LDO1 { | ||
202 | regulator-name = "VDD_ALIVE_1.0V"; | ||
203 | regulator-min-microvolt = <1100000>; | ||
204 | regulator-max-microvolt = <1100000>; | ||
205 | regulator-always-on; | ||
206 | regulator-boot-on; | ||
207 | op_mode = <1>; | ||
208 | }; | ||
556 | 209 | ||
557 | // SMSC USB3503 connected in hardware only mode as a PHY | 210 | ldo2_reg: LDO2 { |
558 | usb_hub: usb_hub { | 211 | regulator-name = "VDD_28IO_DP_1.35V"; |
559 | compatible = "smsc,usb3503a"; | 212 | regulator-min-microvolt = <1200000>; |
213 | regulator-max-microvolt = <1200000>; | ||
214 | regulator-always-on; | ||
215 | regulator-boot-on; | ||
216 | op_mode = <1>; | ||
217 | }; | ||
218 | |||
219 | ldo3_reg: LDO3 { | ||
220 | regulator-name = "VDD_COMMON1_1.8V"; | ||
221 | regulator-min-microvolt = <1800000>; | ||
222 | regulator-max-microvolt = <1800000>; | ||
223 | regulator-always-on; | ||
224 | regulator-boot-on; | ||
225 | op_mode = <1>; | ||
226 | }; | ||
227 | |||
228 | ldo4_reg: LDO4 { | ||
229 | regulator-name = "VDD_IOPERI_1.8V"; | ||
230 | regulator-min-microvolt = <1800000>; | ||
231 | regulator-max-microvolt = <1800000>; | ||
232 | regulator-always-on; | ||
233 | op_mode = <1>; | ||
234 | }; | ||
235 | |||
236 | ldo5_reg: LDO5 { | ||
237 | regulator-name = "VDD_EXT_1.8V"; | ||
238 | regulator-min-microvolt = <1800000>; | ||
239 | regulator-max-microvolt = <1800000>; | ||
240 | regulator-always-on; | ||
241 | regulator-boot-on; | ||
242 | op_mode = <1>; | ||
243 | }; | ||
244 | |||
245 | ldo6_reg: LDO6 { | ||
246 | regulator-name = "VDD_MPLL_1.1V"; | ||
247 | regulator-min-microvolt = <1100000>; | ||
248 | regulator-max-microvolt = <1100000>; | ||
249 | regulator-always-on; | ||
250 | regulator-boot-on; | ||
251 | op_mode = <1>; | ||
252 | }; | ||
560 | 253 | ||
561 | reset-gpios = <&gpx3 5 1>; | 254 | ldo7_reg: LDO7 { |
562 | connect-gpios = <&gpd1 7 1>; | 255 | regulator-name = "VDD_XPLL_1.1V"; |
256 | regulator-min-microvolt = <1100000>; | ||
257 | regulator-max-microvolt = <1100000>; | ||
258 | regulator-always-on; | ||
259 | regulator-boot-on; | ||
260 | op_mode = <1>; | ||
261 | }; | ||
262 | |||
263 | ldo8_reg: LDO8 { | ||
264 | regulator-name = "VDD_COMMON2_1.0V"; | ||
265 | regulator-min-microvolt = <1000000>; | ||
266 | regulator-max-microvolt = <1000000>; | ||
267 | regulator-always-on; | ||
268 | regulator-boot-on; | ||
269 | op_mode = <1>; | ||
270 | }; | ||
271 | |||
272 | ldo9_reg: LDO9 { | ||
273 | regulator-name = "VDD_33ON_3.0V"; | ||
274 | regulator-min-microvolt = <3000000>; | ||
275 | regulator-max-microvolt = <3000000>; | ||
276 | op_mode = <1>; | ||
277 | }; | ||
278 | |||
279 | ldo10_reg: LDO10 { | ||
280 | regulator-name = "VDD_COMMON3_1.8V"; | ||
281 | regulator-min-microvolt = <1800000>; | ||
282 | regulator-max-microvolt = <1800000>; | ||
283 | regulator-always-on; | ||
284 | regulator-boot-on; | ||
285 | op_mode = <1>; | ||
286 | }; | ||
287 | |||
288 | ldo11_reg: LDO11 { | ||
289 | regulator-name = "VDD_ABB2_1.8V"; | ||
290 | regulator-min-microvolt = <1800000>; | ||
291 | regulator-max-microvolt = <1800000>; | ||
292 | regulator-always-on; | ||
293 | regulator-boot-on; | ||
294 | op_mode = <1>; | ||
295 | }; | ||
296 | |||
297 | ldo12_reg: LDO12 { | ||
298 | regulator-name = "VDD_USB_3.0V"; | ||
299 | regulator-min-microvolt = <3000000>; | ||
300 | regulator-max-microvolt = <3000000>; | ||
301 | regulator-always-on; | ||
302 | regulator-boot-on; | ||
303 | op_mode = <1>; | ||
304 | }; | ||
305 | |||
306 | ldo13_reg: LDO13 { | ||
307 | regulator-name = "VDDQ_C2C_W_1.8V"; | ||
308 | regulator-min-microvolt = <1800000>; | ||
309 | regulator-max-microvolt = <1800000>; | ||
310 | regulator-always-on; | ||
311 | regulator-boot-on; | ||
312 | op_mode = <1>; | ||
313 | }; | ||
314 | |||
315 | ldo14_reg: LDO14 { | ||
316 | regulator-name = "VDD18_ABB0_3_1.8V"; | ||
317 | regulator-min-microvolt = <1800000>; | ||
318 | regulator-max-microvolt = <1800000>; | ||
319 | regulator-always-on; | ||
320 | regulator-boot-on; | ||
321 | op_mode = <1>; | ||
322 | }; | ||
323 | |||
324 | ldo15_reg: LDO15 { | ||
325 | regulator-name = "VDD10_COMMON4_1.0V"; | ||
326 | regulator-min-microvolt = <1000000>; | ||
327 | regulator-max-microvolt = <1000000>; | ||
328 | regulator-always-on; | ||
329 | regulator-boot-on; | ||
330 | op_mode = <1>; | ||
331 | }; | ||
332 | |||
333 | ldo16_reg: LDO16 { | ||
334 | regulator-name = "VDD18_HSIC_1.8V"; | ||
335 | regulator-min-microvolt = <1800000>; | ||
336 | regulator-max-microvolt = <1800000>; | ||
337 | regulator-always-on; | ||
338 | regulator-boot-on; | ||
339 | op_mode = <1>; | ||
340 | }; | ||
341 | |||
342 | ldo17_reg: LDO17 { | ||
343 | regulator-name = "VDDQ_MMC2_3_2.8V"; | ||
344 | regulator-min-microvolt = <2800000>; | ||
345 | regulator-max-microvolt = <2800000>; | ||
346 | regulator-always-on; | ||
347 | regulator-boot-on; | ||
348 | op_mode = <1>; | ||
349 | }; | ||
350 | |||
351 | ldo18_reg: LDO18 { | ||
352 | regulator-name = "VDD_33ON_2.8V"; | ||
353 | regulator-min-microvolt = <2800000>; | ||
354 | regulator-max-microvolt = <2800000>; | ||
355 | op_mode = <1>; | ||
356 | }; | ||
357 | |||
358 | ldo22_reg: LDO22 { | ||
359 | regulator-name = "EXT_33_OFF"; | ||
360 | regulator-min-microvolt = <3300000>; | ||
361 | regulator-max-microvolt = <3300000>; | ||
362 | op_mode = <1>; | ||
363 | }; | ||
364 | |||
365 | ldo23_reg: LDO23 { | ||
366 | regulator-name = "EXT_28_OFF"; | ||
367 | regulator-min-microvolt = <2800000>; | ||
368 | regulator-max-microvolt = <2800000>; | ||
369 | op_mode = <1>; | ||
370 | }; | ||
371 | |||
372 | ldo25_reg: LDO25 { | ||
373 | regulator-name = "PVDD_LDO25"; | ||
374 | regulator-min-microvolt = <1200000>; | ||
375 | regulator-max-microvolt = <1200000>; | ||
376 | op_mode = <1>; | ||
377 | }; | ||
378 | |||
379 | ldo26_reg: LDO26 { | ||
380 | regulator-name = "EXT_18_OFF"; | ||
381 | regulator-min-microvolt = <1800000>; | ||
382 | regulator-max-microvolt = <1800000>; | ||
383 | op_mode = <1>; | ||
384 | }; | ||
385 | |||
386 | buck1_reg: BUCK1 { | ||
387 | regulator-name = "vdd_mif"; | ||
388 | regulator-min-microvolt = <950000>; | ||
389 | regulator-max-microvolt = <1200000>; | ||
390 | regulator-always-on; | ||
391 | regulator-boot-on; | ||
392 | op_mode = <1>; | ||
393 | }; | ||
394 | |||
395 | buck2_reg: BUCK2 { | ||
396 | regulator-name = "vdd_arm"; | ||
397 | regulator-min-microvolt = <912500>; | ||
398 | regulator-max-microvolt = <1300000>; | ||
399 | regulator-always-on; | ||
400 | regulator-boot-on; | ||
401 | op_mode = <1>; | ||
402 | }; | ||
403 | |||
404 | buck3_reg: BUCK3 { | ||
405 | regulator-name = "vdd_int"; | ||
406 | regulator-min-microvolt = <900000>; | ||
407 | regulator-max-microvolt = <1200000>; | ||
408 | regulator-always-on; | ||
409 | regulator-boot-on; | ||
410 | op_mode = <1>; | ||
411 | }; | ||
412 | |||
413 | buck4_reg: BUCK4 { | ||
414 | regulator-name = "vdd_g3d"; | ||
415 | regulator-min-microvolt = <1000000>; | ||
416 | regulator-max-microvolt = <1000000>; | ||
417 | regulator-always-on; | ||
418 | regulator-boot-on; | ||
419 | op_mode = <1>; | ||
420 | }; | ||
421 | |||
422 | buck5_reg: BUCK5 { | ||
423 | regulator-name = "VDD_MEM_1.35V"; | ||
424 | regulator-min-microvolt = <750000>; | ||
425 | regulator-max-microvolt = <1355000>; | ||
426 | regulator-always-on; | ||
427 | regulator-boot-on; | ||
428 | op_mode = <1>; | ||
429 | }; | ||
430 | |||
431 | buck7_reg: BUCK7 { | ||
432 | regulator-name = "PVDD_BUCK7"; | ||
433 | regulator-always-on; | ||
434 | op_mode = <1>; | ||
435 | }; | ||
436 | |||
437 | buck8_reg: BUCK8 { | ||
438 | regulator-name = "PVDD_BUCK8"; | ||
439 | regulator-always-on; | ||
440 | op_mode = <1>; | ||
441 | }; | ||
442 | |||
443 | buck9_reg: BUCK9 { | ||
444 | regulator-name = "VDD_33_OFF_EXT1"; | ||
445 | regulator-min-microvolt = <750000>; | ||
446 | regulator-max-microvolt = <3000000>; | ||
447 | op_mode = <1>; | ||
448 | }; | ||
563 | }; | 449 | }; |
564 | }; | 450 | }; |
565 | }; | 451 | }; |
452 | |||
453 | &i2c_2 { | ||
454 | status = "okay"; | ||
455 | |||
456 | samsung,i2c-sda-delay = <100>; | ||
457 | samsung,i2c-max-bus-freq = <66000>; | ||
458 | samsung,i2c-slave-addr = <0x50>; | ||
459 | |||
460 | hdmiddc@50 { | ||
461 | compatible = "samsung,exynos4210-hdmiddc"; | ||
462 | reg = <0x50>; | ||
463 | }; | ||
464 | }; | ||
465 | |||
466 | &i2c_3 { | ||
467 | status = "okay"; | ||
468 | |||
469 | wm1811a@1a { | ||
470 | compatible = "wlf,wm1811"; | ||
471 | reg = <0x1a>; | ||
472 | |||
473 | AVDD2-supply = <&main_dc_reg>; | ||
474 | CPVDD-supply = <&main_dc_reg>; | ||
475 | DBVDD1-supply = <&main_dc_reg>; | ||
476 | DBVDD2-supply = <&main_dc_reg>; | ||
477 | DBVDD3-supply = <&main_dc_reg>; | ||
478 | LDO1VDD-supply = <&main_dc_reg>; | ||
479 | SPKVDD1-supply = <&main_dc_reg>; | ||
480 | SPKVDD2-supply = <&main_dc_reg>; | ||
481 | |||
482 | wlf,ldo1ena = <&gpb0 0 GPIO_ACTIVE_HIGH>; | ||
483 | wlf,ldo2ena = <&gpb0 1 GPIO_ACTIVE_HIGH>; | ||
484 | }; | ||
485 | }; | ||
486 | |||
487 | &i2c_8 { | ||
488 | status = "okay"; | ||
489 | |||
490 | samsung,i2c-sda-delay = <100>; | ||
491 | samsung,i2c-max-bus-freq = <66000>; | ||
492 | samsung,i2c-slave-addr = <0x38>; | ||
493 | |||
494 | hdmiphy@38 { | ||
495 | compatible = "samsung,exynos4212-hdmiphy"; | ||
496 | reg = <0x38>; | ||
497 | }; | ||
498 | }; | ||
499 | |||
500 | &i2c_9 { | ||
501 | status = "okay"; | ||
502 | samsung,i2c-sda-delay = <100>; | ||
503 | samsung,i2c-max-bus-freq = <40000>; | ||
504 | samsung,i2c-slave-addr = <0x38>; | ||
505 | |||
506 | sata_phy_i2c:sata-phy@38 { | ||
507 | compatible = "samsung,exynos-sataphy-i2c"; | ||
508 | reg = <0x38>; | ||
509 | }; | ||
510 | }; | ||
511 | |||
512 | &i2s0 { | ||
513 | status = "okay"; | ||
514 | }; | ||
515 | |||
516 | &mfc { | ||
517 | samsung,mfc-r = <0x43000000 0x800000>; | ||
518 | samsung,mfc-l = <0x51000000 0x800000>; | ||
519 | }; | ||
520 | |||
521 | &mmc_0 { | ||
522 | status = "okay"; | ||
523 | num-slots = <1>; | ||
524 | broken-cd; | ||
525 | card-detect-delay = <200>; | ||
526 | samsung,dw-mshc-ciu-div = <3>; | ||
527 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
528 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
529 | vmmc-supply = <&mmc_reg>; | ||
530 | pinctrl-names = "default"; | ||
531 | pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; | ||
532 | bus-width = <8>; | ||
533 | cap-mmc-highspeed; | ||
534 | }; | ||
535 | |||
536 | &mmc_2 { | ||
537 | status = "okay"; | ||
538 | num-slots = <1>; | ||
539 | card-detect-delay = <200>; | ||
540 | samsung,dw-mshc-ciu-div = <3>; | ||
541 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
542 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
543 | vmmc-supply = <&mmc_reg>; | ||
544 | pinctrl-names = "default"; | ||
545 | pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; | ||
546 | bus-width = <4>; | ||
547 | disable-wp; | ||
548 | cap-sd-highspeed; | ||
549 | }; | ||
550 | |||
551 | &rtc { | ||
552 | status = "okay"; | ||
553 | }; | ||
554 | |||
555 | &sata { | ||
556 | status = "okay"; | ||
557 | }; | ||
558 | |||
559 | &sata_phy { | ||
560 | status = "okay"; | ||
561 | samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>; | ||
562 | }; | ||
diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts index 6a0f4c0ff763..bc27cc2558fe 100644 --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts | |||
@@ -7,9 +7,11 @@ | |||
7 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
8 | * it under the terms of the GNU General Public License version 2 as | 8 | * it under the terms of the GNU General Public License version 2 as |
9 | * published by the Free Software Foundation. | 9 | * published by the Free Software Foundation. |
10 | */ | 10 | */ |
11 | 11 | ||
12 | /dts-v1/; | 12 | /dts-v1/; |
13 | #include <dt-bindings/gpio/gpio.h> | ||
14 | #include <dt-bindings/interrupt-controller/irq.h> | ||
13 | #include "exynos5250.dtsi" | 15 | #include "exynos5250.dtsi" |
14 | 16 | ||
15 | / { | 17 | / { |
@@ -27,165 +29,6 @@ | |||
27 | bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc"; | 29 | bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc"; |
28 | }; | 30 | }; |
29 | 31 | ||
30 | rtc@101E0000 { | ||
31 | status = "okay"; | ||
32 | }; | ||
33 | |||
34 | i2c@12C60000 { | ||
35 | samsung,i2c-sda-delay = <100>; | ||
36 | samsung,i2c-max-bus-freq = <20000>; | ||
37 | status = "okay"; | ||
38 | |||
39 | eeprom@50 { | ||
40 | compatible = "samsung,s524ad0xd1"; | ||
41 | reg = <0x50>; | ||
42 | }; | ||
43 | |||
44 | max77686@09 { | ||
45 | compatible = "maxim,max77686"; | ||
46 | reg = <0x09>; | ||
47 | interrupt-parent = <&gpx3>; | ||
48 | interrupts = <2 0>; | ||
49 | |||
50 | voltage-regulators { | ||
51 | ldo1_reg: LDO1 { | ||
52 | regulator-name = "P1.0V_LDO_OUT1"; | ||
53 | regulator-min-microvolt = <1000000>; | ||
54 | regulator-max-microvolt = <1000000>; | ||
55 | regulator-always-on; | ||
56 | }; | ||
57 | |||
58 | ldo2_reg: LDO2 { | ||
59 | regulator-name = "P1.2V_LDO_OUT2"; | ||
60 | regulator-min-microvolt = <1200000>; | ||
61 | regulator-max-microvolt = <1200000>; | ||
62 | regulator-always-on; | ||
63 | }; | ||
64 | |||
65 | ldo3_reg: LDO3 { | ||
66 | regulator-name = "P1.8V_LDO_OUT3"; | ||
67 | regulator-min-microvolt = <1800000>; | ||
68 | regulator-max-microvolt = <1800000>; | ||
69 | regulator-always-on; | ||
70 | }; | ||
71 | |||
72 | ldo4_reg: LDO4 { | ||
73 | regulator-name = "P2.8V_LDO_OUT4"; | ||
74 | regulator-min-microvolt = <2800000>; | ||
75 | regulator-max-microvolt = <2800000>; | ||
76 | }; | ||
77 | |||
78 | ldo5_reg: LDO5 { | ||
79 | regulator-name = "P1.8V_LDO_OUT5"; | ||
80 | regulator-min-microvolt = <1800000>; | ||
81 | regulator-max-microvolt = <1800000>; | ||
82 | }; | ||
83 | |||
84 | ldo6_reg: LDO6 { | ||
85 | regulator-name = "P1.1V_LDO_OUT6"; | ||
86 | regulator-min-microvolt = <1100000>; | ||
87 | regulator-max-microvolt = <1100000>; | ||
88 | regulator-always-on; | ||
89 | }; | ||
90 | |||
91 | ldo7_reg: LDO7 { | ||
92 | regulator-name = "P1.1V_LDO_OUT7"; | ||
93 | regulator-min-microvolt = <1100000>; | ||
94 | regulator-max-microvolt = <1100000>; | ||
95 | regulator-always-on; | ||
96 | }; | ||
97 | |||
98 | ldo8_reg: LDO8 { | ||
99 | regulator-name = "P1.0V_LDO_OUT8"; | ||
100 | regulator-min-microvolt = <1000000>; | ||
101 | regulator-max-microvolt = <1000000>; | ||
102 | }; | ||
103 | |||
104 | ldo10_reg: LDO10 { | ||
105 | regulator-name = "P1.8V_LDO_OUT10"; | ||
106 | regulator-min-microvolt = <1800000>; | ||
107 | regulator-max-microvolt = <1800000>; | ||
108 | }; | ||
109 | |||
110 | ldo11_reg: LDO11 { | ||
111 | regulator-name = "P1.8V_LDO_OUT11"; | ||
112 | regulator-min-microvolt = <1800000>; | ||
113 | regulator-max-microvolt = <1800000>; | ||
114 | }; | ||
115 | |||
116 | ldo12_reg: LDO12 { | ||
117 | regulator-name = "P3.0V_LDO_OUT12"; | ||
118 | regulator-min-microvolt = <3000000>; | ||
119 | regulator-max-microvolt = <3000000>; | ||
120 | }; | ||
121 | |||
122 | ldo13_reg: LDO13 { | ||
123 | regulator-name = "P1.8V_LDO_OUT13"; | ||
124 | regulator-min-microvolt = <1800000>; | ||
125 | regulator-max-microvolt = <1800000>; | ||
126 | }; | ||
127 | |||
128 | ldo14_reg: LDO14 { | ||
129 | regulator-name = "P1.8V_LDO_OUT14"; | ||
130 | regulator-min-microvolt = <1800000>; | ||
131 | regulator-max-microvolt = <1800000>; | ||
132 | }; | ||
133 | |||
134 | ldo15_reg: LDO15 { | ||
135 | regulator-name = "P1.0V_LDO_OUT15"; | ||
136 | regulator-min-microvolt = <1000000>; | ||
137 | regulator-max-microvolt = <1000000>; | ||
138 | }; | ||
139 | |||
140 | ldo16_reg: LDO16 { | ||
141 | regulator-name = "P1.8V_LDO_OUT16"; | ||
142 | regulator-min-microvolt = <1800000>; | ||
143 | regulator-max-microvolt = <1800000>; | ||
144 | }; | ||
145 | |||
146 | buck1_reg: BUCK1 { | ||
147 | regulator-name = "vdd_mif"; | ||
148 | regulator-min-microvolt = <950000>; | ||
149 | regulator-max-microvolt = <1300000>; | ||
150 | regulator-always-on; | ||
151 | regulator-boot-on; | ||
152 | }; | ||
153 | |||
154 | buck2_reg: BUCK2 { | ||
155 | regulator-name = "vdd_arm"; | ||
156 | regulator-min-microvolt = <850000>; | ||
157 | regulator-max-microvolt = <1350000>; | ||
158 | regulator-always-on; | ||
159 | regulator-boot-on; | ||
160 | }; | ||
161 | |||
162 | buck3_reg: BUCK3 { | ||
163 | regulator-name = "vdd_int"; | ||
164 | regulator-min-microvolt = <900000>; | ||
165 | regulator-max-microvolt = <1200000>; | ||
166 | regulator-always-on; | ||
167 | regulator-boot-on; | ||
168 | }; | ||
169 | |||
170 | buck4_reg: BUCK4 { | ||
171 | regulator-name = "vdd_g3d"; | ||
172 | regulator-min-microvolt = <850000>; | ||
173 | regulator-max-microvolt = <1300000>; | ||
174 | regulator-always-on; | ||
175 | regulator-boot-on; | ||
176 | }; | ||
177 | |||
178 | buck5_reg: BUCK5 { | ||
179 | regulator-name = "P1.8V_BUCK_OUT5"; | ||
180 | regulator-min-microvolt = <1800000>; | ||
181 | regulator-max-microvolt = <1800000>; | ||
182 | regulator-always-on; | ||
183 | regulator-boot-on; | ||
184 | }; | ||
185 | }; | ||
186 | }; | ||
187 | }; | ||
188 | |||
189 | vdd: fixed-regulator@0 { | 32 | vdd: fixed-regulator@0 { |
190 | compatible = "regulator-fixed"; | 33 | compatible = "regulator-fixed"; |
191 | regulator-name = "vdd-supply"; | 34 | regulator-name = "vdd-supply"; |
@@ -210,199 +53,360 @@ | |||
210 | regulator-always-on; | 53 | regulator-always-on; |
211 | }; | 54 | }; |
212 | 55 | ||
213 | i2c@12C70000 { | 56 | sound { |
214 | samsung,i2c-sda-delay = <100>; | 57 | compatible = "samsung,smdk-wm8994"; |
215 | samsung,i2c-max-bus-freq = <20000>; | ||
216 | status = "okay"; | ||
217 | 58 | ||
218 | eeprom@51 { | 59 | samsung,i2s-controller = <&i2s0>; |
219 | compatible = "samsung,s524ad0xd1"; | 60 | samsung,audio-codec = <&wm8994>; |
220 | reg = <0x51>; | 61 | }; |
62 | |||
63 | fixed-rate-clocks { | ||
64 | xxti { | ||
65 | compatible = "samsung,clock-xxti"; | ||
66 | clock-frequency = <24000000>; | ||
221 | }; | 67 | }; |
222 | 68 | ||
223 | wm8994: wm8994@1a { | 69 | codec_mclk: codec-mclk { |
224 | compatible = "wlf,wm8994"; | 70 | compatible = "fixed-clock"; |
225 | reg = <0x1a>; | 71 | #clock-cells = <0>; |
72 | clock-frequency = <16934000>; | ||
73 | }; | ||
74 | }; | ||
75 | }; | ||
226 | 76 | ||
227 | gpio-controller; | 77 | &dp { |
228 | #gpio-cells = <2>; | 78 | samsung,color-space = <0>; |
79 | samsung,dynamic-range = <0>; | ||
80 | samsung,ycbcr-coeff = <0>; | ||
81 | samsung,color-depth = <1>; | ||
82 | samsung,link-rate = <0x0a>; | ||
83 | samsung,lane-count = <4>; | ||
84 | |||
85 | pinctrl-names = "default"; | ||
86 | pinctrl-0 = <&dp_hpd>; | ||
87 | status = "okay"; | ||
88 | }; | ||
229 | 89 | ||
230 | clocks = <&codec_mclk>; | 90 | &ehci { |
231 | clock-names = "MCLK1"; | 91 | samsung,vbus-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>; |
92 | }; | ||
232 | 93 | ||
233 | AVDD2-supply = <&vdd>; | 94 | &fimd { |
234 | CPVDD-supply = <&vdd>; | 95 | status = "okay"; |
235 | DBVDD-supply = <&dbvdd>; | 96 | |
236 | SPKVDD1-supply = <&spkvdd>; | 97 | display-timings { |
237 | SPKVDD2-supply = <&spkvdd>; | 98 | native-mode = <&timing0>; |
99 | |||
100 | timing0: timing@0 { | ||
101 | /* 1280x800 */ | ||
102 | clock-frequency = <50000>; | ||
103 | hactive = <1280>; | ||
104 | vactive = <800>; | ||
105 | hfront-porch = <4>; | ||
106 | hback-porch = <4>; | ||
107 | hsync-len = <4>; | ||
108 | vback-porch = <4>; | ||
109 | vfront-porch = <4>; | ||
110 | vsync-len = <4>; | ||
238 | }; | 111 | }; |
239 | }; | 112 | }; |
113 | }; | ||
240 | 114 | ||
241 | i2c@121D0000 { | 115 | &hdmi { |
242 | samsung,i2c-sda-delay = <100>; | 116 | hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>; |
243 | samsung,i2c-max-bus-freq = <40000>; | 117 | }; |
244 | samsung,i2c-slave-addr = <0x38>; | ||
245 | status = "okay"; | ||
246 | 118 | ||
247 | sata_phy_i2c:sata-phy@38 { | 119 | &i2c_0 { |
248 | compatible = "samsung,exynos-sataphy-i2c"; | 120 | status = "okay"; |
249 | reg = <0x38>; | 121 | samsung,i2c-sda-delay = <100>; |
250 | }; | 122 | samsung,i2c-max-bus-freq = <20000>; |
123 | |||
124 | eeprom@50 { | ||
125 | compatible = "samsung,s524ad0xd1"; | ||
126 | reg = <0x50>; | ||
251 | }; | 127 | }; |
252 | 128 | ||
253 | i2c@12C80000 { | 129 | max77686@09 { |
254 | samsung,i2c-sda-delay = <100>; | 130 | compatible = "maxim,max77686"; |
255 | samsung,i2c-max-bus-freq = <66000>; | 131 | reg = <0x09>; |
256 | status = "okay"; | 132 | interrupt-parent = <&gpx3>; |
133 | interrupts = <2 IRQ_TYPE_NONE>; | ||
134 | |||
135 | voltage-regulators { | ||
136 | ldo1_reg: LDO1 { | ||
137 | regulator-name = "P1.0V_LDO_OUT1"; | ||
138 | regulator-min-microvolt = <1000000>; | ||
139 | regulator-max-microvolt = <1000000>; | ||
140 | regulator-always-on; | ||
141 | }; | ||
257 | 142 | ||
258 | hdmiddc@50 { | 143 | ldo2_reg: LDO2 { |
259 | compatible = "samsung,exynos4210-hdmiddc"; | 144 | regulator-name = "P1.2V_LDO_OUT2"; |
260 | reg = <0x50>; | 145 | regulator-min-microvolt = <1200000>; |
261 | }; | 146 | regulator-max-microvolt = <1200000>; |
262 | }; | 147 | regulator-always-on; |
148 | }; | ||
263 | 149 | ||
264 | i2c@12CE0000 { | 150 | ldo3_reg: LDO3 { |
265 | samsung,i2c-sda-delay = <100>; | 151 | regulator-name = "P1.8V_LDO_OUT3"; |
266 | samsung,i2c-max-bus-freq = <66000>; | 152 | regulator-min-microvolt = <1800000>; |
267 | status = "okay"; | 153 | regulator-max-microvolt = <1800000>; |
154 | regulator-always-on; | ||
155 | }; | ||
268 | 156 | ||
269 | hdmiphy@38 { | 157 | ldo4_reg: LDO4 { |
270 | compatible = "samsung,exynos4212-hdmiphy"; | 158 | regulator-name = "P2.8V_LDO_OUT4"; |
271 | reg = <0x38>; | 159 | regulator-min-microvolt = <2800000>; |
272 | }; | 160 | regulator-max-microvolt = <2800000>; |
273 | }; | 161 | }; |
274 | 162 | ||
275 | sata@122F0000 { | 163 | ldo5_reg: LDO5 { |
276 | status = "okay"; | 164 | regulator-name = "P1.8V_LDO_OUT5"; |
277 | }; | 165 | regulator-min-microvolt = <1800000>; |
166 | regulator-max-microvolt = <1800000>; | ||
167 | }; | ||
278 | 168 | ||
279 | sata-phy@12170000 { | 169 | ldo6_reg: LDO6 { |
280 | status = "okay"; | 170 | regulator-name = "P1.1V_LDO_OUT6"; |
281 | samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>; | 171 | regulator-min-microvolt = <1100000>; |
282 | }; | 172 | regulator-max-microvolt = <1100000>; |
173 | regulator-always-on; | ||
174 | }; | ||
283 | 175 | ||
284 | mmc@12200000 { | 176 | ldo7_reg: LDO7 { |
285 | status = "okay"; | 177 | regulator-name = "P1.1V_LDO_OUT7"; |
286 | num-slots = <1>; | 178 | regulator-min-microvolt = <1100000>; |
287 | broken-cd; | 179 | regulator-max-microvolt = <1100000>; |
288 | card-detect-delay = <200>; | 180 | regulator-always-on; |
289 | samsung,dw-mshc-ciu-div = <3>; | 181 | }; |
290 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
291 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
292 | pinctrl-names = "default"; | ||
293 | pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; | ||
294 | bus-width = <8>; | ||
295 | cap-mmc-highspeed; | ||
296 | }; | ||
297 | 182 | ||
298 | mmc@12220000 { | 183 | ldo8_reg: LDO8 { |
299 | status = "okay"; | 184 | regulator-name = "P1.0V_LDO_OUT8"; |
300 | num-slots = <1>; | 185 | regulator-min-microvolt = <1000000>; |
301 | card-detect-delay = <200>; | 186 | regulator-max-microvolt = <1000000>; |
302 | samsung,dw-mshc-ciu-div = <3>; | 187 | }; |
303 | samsung,dw-mshc-sdr-timing = <2 3>; | 188 | |
304 | samsung,dw-mshc-ddr-timing = <1 2>; | 189 | ldo10_reg: LDO10 { |
305 | pinctrl-names = "default"; | 190 | regulator-name = "P1.8V_LDO_OUT10"; |
306 | pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; | 191 | regulator-min-microvolt = <1800000>; |
307 | bus-width = <4>; | 192 | regulator-max-microvolt = <1800000>; |
308 | disable-wp; | 193 | }; |
309 | cap-sd-highspeed; | ||
310 | }; | ||
311 | 194 | ||
312 | spi_1: spi@12d30000 { | 195 | ldo11_reg: LDO11 { |
313 | cs-gpios = <&gpa2 5 0>; | 196 | regulator-name = "P1.8V_LDO_OUT11"; |
314 | status = "okay"; | 197 | regulator-min-microvolt = <1800000>; |
198 | regulator-max-microvolt = <1800000>; | ||
199 | }; | ||
315 | 200 | ||
316 | w25q80bw@0 { | 201 | ldo12_reg: LDO12 { |
317 | #address-cells = <1>; | 202 | regulator-name = "P3.0V_LDO_OUT12"; |
318 | #size-cells = <1>; | 203 | regulator-min-microvolt = <3000000>; |
319 | compatible = "w25x80"; | 204 | regulator-max-microvolt = <3000000>; |
320 | reg = <0>; | 205 | }; |
321 | spi-max-frequency = <1000000>; | ||
322 | 206 | ||
323 | controller-data { | 207 | ldo13_reg: LDO13 { |
324 | samsung,spi-feedback-delay = <0>; | 208 | regulator-name = "P1.8V_LDO_OUT13"; |
209 | regulator-min-microvolt = <1800000>; | ||
210 | regulator-max-microvolt = <1800000>; | ||
325 | }; | 211 | }; |
326 | 212 | ||
327 | partition@0 { | 213 | ldo14_reg: LDO14 { |
328 | label = "U-Boot"; | 214 | regulator-name = "P1.8V_LDO_OUT14"; |
329 | reg = <0x0 0x40000>; | 215 | regulator-min-microvolt = <1800000>; |
330 | read-only; | 216 | regulator-max-microvolt = <1800000>; |
331 | }; | 217 | }; |
332 | 218 | ||
333 | partition@40000 { | 219 | ldo15_reg: LDO15 { |
334 | label = "Kernel"; | 220 | regulator-name = "P1.0V_LDO_OUT15"; |
335 | reg = <0x40000 0xc0000>; | 221 | regulator-min-microvolt = <1000000>; |
222 | regulator-max-microvolt = <1000000>; | ||
223 | }; | ||
224 | |||
225 | ldo16_reg: LDO16 { | ||
226 | regulator-name = "P1.8V_LDO_OUT16"; | ||
227 | regulator-min-microvolt = <1800000>; | ||
228 | regulator-max-microvolt = <1800000>; | ||
229 | }; | ||
230 | |||
231 | buck1_reg: BUCK1 { | ||
232 | regulator-name = "vdd_mif"; | ||
233 | regulator-min-microvolt = <950000>; | ||
234 | regulator-max-microvolt = <1300000>; | ||
235 | regulator-always-on; | ||
236 | regulator-boot-on; | ||
237 | }; | ||
238 | |||
239 | buck2_reg: BUCK2 { | ||
240 | regulator-name = "vdd_arm"; | ||
241 | regulator-min-microvolt = <850000>; | ||
242 | regulator-max-microvolt = <1350000>; | ||
243 | regulator-always-on; | ||
244 | regulator-boot-on; | ||
245 | }; | ||
246 | |||
247 | buck3_reg: BUCK3 { | ||
248 | regulator-name = "vdd_int"; | ||
249 | regulator-min-microvolt = <900000>; | ||
250 | regulator-max-microvolt = <1200000>; | ||
251 | regulator-always-on; | ||
252 | regulator-boot-on; | ||
253 | }; | ||
254 | |||
255 | buck4_reg: BUCK4 { | ||
256 | regulator-name = "vdd_g3d"; | ||
257 | regulator-min-microvolt = <850000>; | ||
258 | regulator-max-microvolt = <1300000>; | ||
259 | regulator-always-on; | ||
260 | regulator-boot-on; | ||
261 | }; | ||
262 | |||
263 | buck5_reg: BUCK5 { | ||
264 | regulator-name = "P1.8V_BUCK_OUT5"; | ||
265 | regulator-min-microvolt = <1800000>; | ||
266 | regulator-max-microvolt = <1800000>; | ||
267 | regulator-always-on; | ||
268 | regulator-boot-on; | ||
336 | }; | 269 | }; |
337 | }; | 270 | }; |
338 | }; | 271 | }; |
272 | }; | ||
339 | 273 | ||
340 | hdmi { | 274 | &i2c_1 { |
341 | hpd-gpio = <&gpx3 7 0>; | 275 | status = "okay"; |
342 | }; | 276 | samsung,i2c-sda-delay = <100>; |
277 | samsung,i2c-max-bus-freq = <20000>; | ||
343 | 278 | ||
344 | codec@11000000 { | 279 | eeprom@51 { |
345 | samsung,mfc-r = <0x43000000 0x800000>; | 280 | compatible = "samsung,s524ad0xd1"; |
346 | samsung,mfc-l = <0x51000000 0x800000>; | 281 | reg = <0x51>; |
347 | }; | 282 | }; |
348 | 283 | ||
349 | i2s0: i2s@03830000 { | 284 | wm8994: wm8994@1a { |
350 | status = "okay"; | 285 | compatible = "wlf,wm8994"; |
286 | reg = <0x1a>; | ||
287 | |||
288 | gpio-controller; | ||
289 | #gpio-cells = <2>; | ||
290 | |||
291 | clocks = <&codec_mclk>; | ||
292 | clock-names = "MCLK1"; | ||
293 | |||
294 | AVDD2-supply = <&vdd>; | ||
295 | CPVDD-supply = <&vdd>; | ||
296 | DBVDD-supply = <&dbvdd>; | ||
297 | SPKVDD1-supply = <&spkvdd>; | ||
298 | SPKVDD2-supply = <&spkvdd>; | ||
351 | }; | 299 | }; |
300 | }; | ||
352 | 301 | ||
353 | sound { | 302 | &i2c_2 { |
354 | compatible = "samsung,smdk-wm8994"; | 303 | status = "okay"; |
304 | samsung,i2c-sda-delay = <100>; | ||
305 | samsung,i2c-max-bus-freq = <66000>; | ||
355 | 306 | ||
356 | samsung,i2s-controller = <&i2s0>; | 307 | hdmiddc@50 { |
357 | samsung,audio-codec = <&wm8994>; | 308 | compatible = "samsung,exynos4210-hdmiddc"; |
309 | reg = <0x50>; | ||
358 | }; | 310 | }; |
311 | }; | ||
312 | |||
313 | &i2c_8 { | ||
314 | status = "okay"; | ||
315 | samsung,i2c-sda-delay = <100>; | ||
316 | samsung,i2c-max-bus-freq = <66000>; | ||
359 | 317 | ||
360 | usb@12110000 { | 318 | hdmiphy@38 { |
361 | samsung,vbus-gpio = <&gpx2 6 0>; | 319 | compatible = "samsung,exynos4212-hdmiphy"; |
320 | reg = <0x38>; | ||
362 | }; | 321 | }; |
322 | }; | ||
323 | |||
324 | &i2c_9 { | ||
325 | status = "okay"; | ||
326 | samsung,i2c-sda-delay = <100>; | ||
327 | samsung,i2c-max-bus-freq = <40000>; | ||
328 | samsung,i2c-slave-addr = <0x38>; | ||
363 | 329 | ||
364 | dp-controller@145B0000 { | 330 | sata_phy_i2c: sata-phy@38 { |
365 | samsung,color-space = <0>; | 331 | compatible = "samsung,exynos-sataphy-i2c"; |
366 | samsung,dynamic-range = <0>; | 332 | reg = <0x38>; |
367 | samsung,ycbcr-coeff = <0>; | ||
368 | samsung,color-depth = <1>; | ||
369 | samsung,link-rate = <0x0a>; | ||
370 | samsung,lane-count = <4>; | ||
371 | |||
372 | pinctrl-names = "default"; | ||
373 | pinctrl-0 = <&dp_hpd>; | ||
374 | status = "okay"; | ||
375 | }; | 333 | }; |
334 | }; | ||
376 | 335 | ||
377 | fimd@14400000 { | 336 | &i2s0 { |
378 | status = "okay"; | 337 | status = "okay"; |
379 | display-timings { | 338 | }; |
380 | native-mode = <&timing0>; | 339 | |
381 | timing0: timing@0 { | 340 | &mfc { |
382 | /* 1280x800 */ | 341 | samsung,mfc-r = <0x43000000 0x800000>; |
383 | clock-frequency = <50000>; | 342 | samsung,mfc-l = <0x51000000 0x800000>; |
384 | hactive = <1280>; | 343 | }; |
385 | vactive = <800>; | 344 | |
386 | hfront-porch = <4>; | 345 | &mmc_0 { |
387 | hback-porch = <4>; | 346 | status = "okay"; |
388 | hsync-len = <4>; | 347 | num-slots = <1>; |
389 | vback-porch = <4>; | 348 | broken-cd; |
390 | vfront-porch = <4>; | 349 | card-detect-delay = <200>; |
391 | vsync-len = <4>; | 350 | samsung,dw-mshc-ciu-div = <3>; |
392 | }; | 351 | samsung,dw-mshc-sdr-timing = <2 3>; |
352 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
353 | pinctrl-names = "default"; | ||
354 | pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; | ||
355 | bus-width = <8>; | ||
356 | cap-mmc-highspeed; | ||
357 | }; | ||
358 | |||
359 | &mmc_2 { | ||
360 | status = "okay"; | ||
361 | num-slots = <1>; | ||
362 | card-detect-delay = <200>; | ||
363 | samsung,dw-mshc-ciu-div = <3>; | ||
364 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
365 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
366 | pinctrl-names = "default"; | ||
367 | pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; | ||
368 | bus-width = <4>; | ||
369 | disable-wp; | ||
370 | cap-sd-highspeed; | ||
371 | }; | ||
372 | |||
373 | &rtc { | ||
374 | status = "okay"; | ||
375 | }; | ||
376 | |||
377 | &sata { | ||
378 | status = "okay"; | ||
379 | }; | ||
380 | |||
381 | &sata_phy { | ||
382 | status = "okay"; | ||
383 | samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>; | ||
384 | }; | ||
385 | |||
386 | &spi_1 { | ||
387 | status = "okay"; | ||
388 | cs-gpios = <&gpa2 5 GPIO_ACTIVE_HIGH>; | ||
389 | |||
390 | w25q80bw@0 { | ||
391 | #address-cells = <1>; | ||
392 | #size-cells = <1>; | ||
393 | compatible = "w25x80"; | ||
394 | reg = <0>; | ||
395 | spi-max-frequency = <1000000>; | ||
396 | |||
397 | controller-data { | ||
398 | samsung,spi-feedback-delay = <0>; | ||
393 | }; | 399 | }; |
394 | }; | ||
395 | 400 | ||
396 | fixed-rate-clocks { | 401 | partition@0 { |
397 | xxti { | 402 | label = "U-Boot"; |
398 | compatible = "samsung,clock-xxti"; | 403 | reg = <0x0 0x40000>; |
399 | clock-frequency = <24000000>; | 404 | read-only; |
400 | }; | 405 | }; |
401 | 406 | ||
402 | codec_mclk: codec-mclk { | 407 | partition@40000 { |
403 | compatible = "fixed-clock"; | 408 | label = "Kernel"; |
404 | #clock-cells = <0>; | 409 | reg = <0x40000 0xc0000>; |
405 | clock-frequency = <16934000>; | ||
406 | }; | 410 | }; |
407 | }; | 411 | }; |
408 | }; | 412 | }; |
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts index 60429ad1c5d8..effaf2af41bc 100644 --- a/arch/arm/boot/dts/exynos5250-snow.dts +++ b/arch/arm/boot/dts/exynos5250-snow.dts | |||
@@ -6,10 +6,13 @@ | |||
6 | * This program is free software; you can redistribute it and/or modify | 6 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License version 2 as | 7 | * it under the terms of the GNU General Public License version 2 as |
8 | * published by the Free Software Foundation. | 8 | * published by the Free Software Foundation. |
9 | */ | 9 | */ |
10 | 10 | ||
11 | /dts-v1/; | 11 | /dts-v1/; |
12 | #include <dt-bindings/gpio/gpio.h> | 12 | #include <dt-bindings/gpio/gpio.h> |
13 | #include <dt-bindings/clock/maxim,max77686.h> | ||
14 | #include <dt-bindings/interrupt-controller/irq.h> | ||
15 | #include <dt-bindings/input/input.h> | ||
13 | #include "exynos5250.dtsi" | 16 | #include "exynos5250.dtsi" |
14 | 17 | ||
15 | / { | 18 | / { |
@@ -25,76 +28,7 @@ | |||
25 | }; | 28 | }; |
26 | 29 | ||
27 | chosen { | 30 | chosen { |
28 | }; | 31 | bootargs = "console=tty1"; |
29 | |||
30 | rtc@101E0000 { | ||
31 | status = "okay"; | ||
32 | }; | ||
33 | |||
34 | pinctrl@11400000 { | ||
35 | ec_irq: ec-irq { | ||
36 | samsung,pins = "gpx1-6"; | ||
37 | samsung,pin-function = <0>; | ||
38 | samsung,pin-pud = <0>; | ||
39 | samsung,pin-drv = <0>; | ||
40 | }; | ||
41 | |||
42 | sd3_clk: sd3-clk { | ||
43 | samsung,pin-drv = <0>; | ||
44 | }; | ||
45 | |||
46 | sd3_cmd: sd3-cmd { | ||
47 | samsung,pin-pud = <3>; | ||
48 | samsung,pin-drv = <0>; | ||
49 | }; | ||
50 | |||
51 | sd3_bus4: sd3-bus-width4 { | ||
52 | samsung,pin-drv = <0>; | ||
53 | }; | ||
54 | |||
55 | max98095_en: max98095-en { | ||
56 | samsung,pins = "gpx1-7"; | ||
57 | samsung,pin-function = <0>; | ||
58 | samsung,pin-pud = <3>; | ||
59 | samsung,pin-drv = <0>; | ||
60 | }; | ||
61 | |||
62 | tps65090_irq: tps65090-irq { | ||
63 | samsung,pins = "gpx2-6"; | ||
64 | samsung,pin-function = <0>; | ||
65 | samsung,pin-pud = <0>; | ||
66 | samsung,pin-drv = <0>; | ||
67 | }; | ||
68 | |||
69 | usb3_vbus_en: usb3-vbus-en { | ||
70 | samsung,pins = "gpx2-7"; | ||
71 | samsung,pin-function = <1>; | ||
72 | samsung,pin-pud = <0>; | ||
73 | samsung,pin-drv = <0>; | ||
74 | }; | ||
75 | |||
76 | hdmi_hpd_irq: hdmi-hpd-irq { | ||
77 | samsung,pins = "gpx3-7"; | ||
78 | samsung,pin-function = <0>; | ||
79 | samsung,pin-pud = <1>; | ||
80 | samsung,pin-drv = <0>; | ||
81 | }; | ||
82 | }; | ||
83 | |||
84 | pinctrl@13400000 { | ||
85 | arb_their_claim: arb-their-claim { | ||
86 | samsung,pins = "gpe0-4"; | ||
87 | samsung,pin-function = <0>; | ||
88 | samsung,pin-pud = <3>; | ||
89 | samsung,pin-drv = <0>; | ||
90 | }; | ||
91 | |||
92 | arb_our_claim: arb-our-claim { | ||
93 | samsung,pins = "gpf0-3"; | ||
94 | samsung,pin-function = <1>; | ||
95 | samsung,pin-pud = <0>; | ||
96 | samsung,pin-drv = <0>; | ||
97 | }; | ||
98 | }; | 32 | }; |
99 | 33 | ||
100 | gpio-keys { | 34 | gpio-keys { |
@@ -102,14 +36,14 @@ | |||
102 | 36 | ||
103 | power { | 37 | power { |
104 | label = "Power"; | 38 | label = "Power"; |
105 | gpios = <&gpx1 3 1>; | 39 | gpios = <&gpx1 3 GPIO_ACTIVE_LOW>; |
106 | linux,code = <116>; /* KEY_POWER */ | 40 | linux,code = <KEY_POWER>; |
107 | gpio-key,wakeup; | 41 | gpio-key,wakeup; |
108 | }; | 42 | }; |
109 | 43 | ||
110 | lid-switch { | 44 | lid-switch { |
111 | label = "Lid"; | 45 | label = "Lid"; |
112 | gpios = <&gpx3 5 1>; | 46 | gpios = <&gpx3 5 GPIO_ACTIVE_LOW>; |
113 | linux,input-type = <5>; /* EV_SW */ | 47 | linux,input-type = <5>; /* EV_SW */ |
114 | linux,code = <0>; /* SW_LID */ | 48 | linux,code = <0>; /* SW_LID */ |
115 | debounce-interval = <1>; | 49 | debounce-interval = <1>; |
@@ -130,8 +64,8 @@ | |||
130 | 64 | ||
131 | i2c-parent = <&{/i2c@12CA0000}>; | 65 | i2c-parent = <&{/i2c@12CA0000}>; |
132 | 66 | ||
133 | our-claim-gpio = <&gpf0 3 1>; | 67 | our-claim-gpio = <&gpf0 3 GPIO_ACTIVE_LOW>; |
134 | their-claim-gpios = <&gpe0 4 1>; | 68 | their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>; |
135 | slew-delay-us = <10>; | 69 | slew-delay-us = <10>; |
136 | wait-retry-us = <3000>; | 70 | wait-retry-us = <3000>; |
137 | wait-free-us = <50000>; | 71 | wait-free-us = <50000>; |
@@ -154,7 +88,7 @@ | |||
154 | cros_ec: embedded-controller { | 88 | cros_ec: embedded-controller { |
155 | compatible = "google,cros-ec-i2c"; | 89 | compatible = "google,cros-ec-i2c"; |
156 | reg = <0x1e>; | 90 | reg = <0x1e>; |
157 | interrupts = <6 0>; | 91 | interrupts = <6 IRQ_TYPE_NONE>; |
158 | interrupt-parent = <&gpx1>; | 92 | interrupt-parent = <&gpx1>; |
159 | pinctrl-names = "default"; | 93 | pinctrl-names = "default"; |
160 | pinctrl-0 = <&ec_irq>; | 94 | pinctrl-0 = <&ec_irq>; |
@@ -241,13 +175,6 @@ | |||
241 | }; | 175 | }; |
242 | 176 | ||
243 | i2c@12CD0000 { | 177 | i2c@12CD0000 { |
244 | max98095: codec@11 { | ||
245 | compatible = "maxim,max98095"; | ||
246 | reg = <0x11>; | ||
247 | pinctrl-0 = <&max98095_en>; | ||
248 | pinctrl-names = "default"; | ||
249 | }; | ||
250 | |||
251 | ptn3460: lvds-bridge@20 { | 178 | ptn3460: lvds-bridge@20 { |
252 | compatible = "nxp,ptn3460"; | 179 | compatible = "nxp,ptn3460"; |
253 | reg = <0x20>; | 180 | reg = <0x20>; |
@@ -258,10 +185,6 @@ | |||
258 | }; | 185 | }; |
259 | }; | 186 | }; |
260 | 187 | ||
261 | i2s0: i2s@03830000 { | ||
262 | status = "okay"; | ||
263 | }; | ||
264 | |||
265 | sound { | 188 | sound { |
266 | compatible = "google,snow-audio-max98095"; | 189 | compatible = "google,snow-audio-max98095"; |
267 | 190 | ||
@@ -275,20 +198,12 @@ | |||
275 | regulator-name = "P5.0V_USB3CON"; | 198 | regulator-name = "P5.0V_USB3CON"; |
276 | regulator-min-microvolt = <5000000>; | 199 | regulator-min-microvolt = <5000000>; |
277 | regulator-max-microvolt = <5000000>; | 200 | regulator-max-microvolt = <5000000>; |
278 | gpio = <&gpx2 7 0>; | 201 | gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>; |
279 | pinctrl-names = "default"; | 202 | pinctrl-names = "default"; |
280 | pinctrl-0 = <&usb3_vbus_en>; | 203 | pinctrl-0 = <&usb3_vbus_en>; |
281 | enable-active-high; | 204 | enable-active-high; |
282 | }; | 205 | }; |
283 | 206 | ||
284 | phy@12100000 { | ||
285 | vbus-supply = <&usb3_vbus_reg>; | ||
286 | }; | ||
287 | |||
288 | usb@12110000 { | ||
289 | samsung,vbus-gpio = <&gpx1 1 0>; | ||
290 | }; | ||
291 | |||
292 | fixed-rate-clocks { | 207 | fixed-rate-clocks { |
293 | xxti { | 208 | xxti { |
294 | compatible = "samsung,clock-xxti"; | 209 | compatible = "samsung,clock-xxti"; |
@@ -296,18 +211,6 @@ | |||
296 | }; | 211 | }; |
297 | }; | 212 | }; |
298 | 213 | ||
299 | hdmi { | ||
300 | hpd-gpio = <&gpx3 7 0>; | ||
301 | pinctrl-names = "default"; | ||
302 | pinctrl-0 = <&hdmi_hpd_irq>; | ||
303 | phy = <&hdmiphy>; | ||
304 | ddc = <&i2c_2>; | ||
305 | hdmi-en-supply = <&tps65090_fet7>; | ||
306 | vdd-supply = <&ldo8_reg>; | ||
307 | vdd_osc-supply = <&ldo10_reg>; | ||
308 | vdd_pll-supply = <&ldo8_reg>; | ||
309 | }; | ||
310 | |||
311 | backlight: backlight { | 214 | backlight: backlight { |
312 | compatible = "pwm-backlight"; | 215 | compatible = "pwm-backlight"; |
313 | pwms = <&pwm 0 1000000 0>; | 216 | pwms = <&pwm 0 1000000 0>; |
@@ -319,30 +222,46 @@ | |||
319 | pinctrl-names = "default"; | 222 | pinctrl-names = "default"; |
320 | }; | 223 | }; |
321 | 224 | ||
322 | fimd@14400000 { | ||
323 | status = "okay"; | ||
324 | samsung,invert-vclk; | ||
325 | }; | ||
326 | |||
327 | panel: panel { | 225 | panel: panel { |
328 | compatible = "auo,b116xw03"; | 226 | compatible = "auo,b116xw03"; |
329 | power-supply = <&fet6>; | 227 | power-supply = <&fet6>; |
330 | backlight = <&backlight>; | 228 | backlight = <&backlight>; |
331 | }; | 229 | }; |
230 | }; | ||
332 | 231 | ||
333 | dp-controller@145B0000 { | 232 | &dp { |
334 | status = "okay"; | 233 | status = "okay"; |
335 | pinctrl-names = "default"; | 234 | pinctrl-names = "default"; |
336 | pinctrl-0 = <&dp_hpd>; | 235 | pinctrl-0 = <&dp_hpd>; |
337 | samsung,color-space = <0>; | 236 | samsung,color-space = <0>; |
338 | samsung,dynamic-range = <0>; | 237 | samsung,dynamic-range = <0>; |
339 | samsung,ycbcr-coeff = <0>; | 238 | samsung,ycbcr-coeff = <0>; |
340 | samsung,color-depth = <1>; | 239 | samsung,color-depth = <1>; |
341 | samsung,link-rate = <0x0a>; | 240 | samsung,link-rate = <0x0a>; |
342 | samsung,lane-count = <2>; | 241 | samsung,lane-count = <2>; |
343 | samsung,hpd-gpio = <&gpx0 7 0>; | 242 | samsung,hpd-gpio = <&gpx0 7 GPIO_ACTIVE_HIGH>; |
344 | bridge = <&ptn3460>; | 243 | bridge = <&ptn3460>; |
345 | }; | 244 | }; |
245 | |||
246 | &ehci { | ||
247 | samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>; | ||
248 | }; | ||
249 | |||
250 | &fimd { | ||
251 | status = "okay"; | ||
252 | samsung,invert-vclk; | ||
253 | }; | ||
254 | |||
255 | &hdmi { | ||
256 | hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>; | ||
257 | pinctrl-names = "default"; | ||
258 | pinctrl-0 = <&hdmi_hpd_irq>; | ||
259 | phy = <&hdmiphy>; | ||
260 | ddc = <&i2c_2>; | ||
261 | hdmi-en-supply = <&tps65090_fet7>; | ||
262 | vdd-supply = <&ldo8_reg>; | ||
263 | vdd_osc-supply = <&ldo10_reg>; | ||
264 | vdd_pll-supply = <&ldo8_reg>; | ||
346 | }; | 265 | }; |
347 | 266 | ||
348 | &i2c_0 { | 267 | &i2c_0 { |
@@ -350,10 +269,10 @@ | |||
350 | samsung,i2c-sda-delay = <100>; | 269 | samsung,i2c-sda-delay = <100>; |
351 | samsung,i2c-max-bus-freq = <378000>; | 270 | samsung,i2c-max-bus-freq = <378000>; |
352 | 271 | ||
353 | max77686@09 { | 272 | max77686: max77686@09 { |
354 | compatible = "maxim,max77686"; | 273 | compatible = "maxim,max77686"; |
355 | interrupt-parent = <&gpx3>; | 274 | interrupt-parent = <&gpx3>; |
356 | interrupts = <2 0>; | 275 | interrupts = <2 IRQ_TYPE_NONE>; |
357 | pinctrl-names = "default"; | 276 | pinctrl-names = "default"; |
358 | pinctrl-0 = <&max77686_irq>; | 277 | pinctrl-0 = <&max77686_irq>; |
359 | wakeup-source; | 278 | wakeup-source; |
@@ -503,7 +422,7 @@ | |||
503 | trackpad { | 422 | trackpad { |
504 | reg = <0x67>; | 423 | reg = <0x67>; |
505 | compatible = "cypress,cyapa"; | 424 | compatible = "cypress,cyapa"; |
506 | interrupts = <2 0>; | 425 | interrupts = <2 IRQ_TYPE_NONE>; |
507 | interrupt-parent = <&gpx1>; | 426 | interrupt-parent = <&gpx1>; |
508 | wakeup-source; | 427 | wakeup-source; |
509 | }; | 428 | }; |
@@ -550,6 +469,13 @@ | |||
550 | status = "okay"; | 469 | status = "okay"; |
551 | samsung,i2c-sda-delay = <100>; | 470 | samsung,i2c-sda-delay = <100>; |
552 | samsung,i2c-max-bus-freq = <66000>; | 471 | samsung,i2c-max-bus-freq = <66000>; |
472 | |||
473 | max98095: codec@11 { | ||
474 | compatible = "maxim,max98095"; | ||
475 | reg = <0x11>; | ||
476 | pinctrl-0 = <&max98095_en>; | ||
477 | pinctrl-names = "default"; | ||
478 | }; | ||
553 | }; | 479 | }; |
554 | 480 | ||
555 | &i2c_8 { | 481 | &i2c_8 { |
@@ -563,6 +489,10 @@ | |||
563 | }; | 489 | }; |
564 | }; | 490 | }; |
565 | 491 | ||
492 | &i2s0 { | ||
493 | status = "okay"; | ||
494 | }; | ||
495 | |||
566 | &mmc_0 { | 496 | &mmc_0 { |
567 | status = "okay"; | 497 | status = "okay"; |
568 | num-slots = <1>; | 498 | num-slots = <1>; |
@@ -587,7 +517,7 @@ | |||
587 | pinctrl-names = "default"; | 517 | pinctrl-names = "default"; |
588 | pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; | 518 | pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; |
589 | bus-width = <4>; | 519 | bus-width = <4>; |
590 | wp-gpios = <&gpc2 1 0>; | 520 | wp-gpios = <&gpc2 1 GPIO_ACTIVE_HIGH>; |
591 | cap-sd-highspeed; | 521 | cap-sd-highspeed; |
592 | }; | 522 | }; |
593 | 523 | ||
@@ -610,12 +540,82 @@ | |||
610 | }; | 540 | }; |
611 | 541 | ||
612 | &pinctrl_0 { | 542 | &pinctrl_0 { |
543 | ec_irq: ec-irq { | ||
544 | samsung,pins = "gpx1-6"; | ||
545 | samsung,pin-function = <0>; | ||
546 | samsung,pin-pud = <0>; | ||
547 | samsung,pin-drv = <0>; | ||
548 | }; | ||
549 | |||
550 | max98095_en: max98095-en { | ||
551 | samsung,pins = "gpx1-7"; | ||
552 | samsung,pin-function = <0>; | ||
553 | samsung,pin-pud = <3>; | ||
554 | samsung,pin-drv = <0>; | ||
555 | }; | ||
556 | |||
557 | tps65090_irq: tps65090-irq { | ||
558 | samsung,pins = "gpx2-6"; | ||
559 | samsung,pin-function = <0>; | ||
560 | samsung,pin-pud = <0>; | ||
561 | samsung,pin-drv = <0>; | ||
562 | }; | ||
563 | |||
564 | usb3_vbus_en: usb3-vbus-en { | ||
565 | samsung,pins = "gpx2-7"; | ||
566 | samsung,pin-function = <1>; | ||
567 | samsung,pin-pud = <0>; | ||
568 | samsung,pin-drv = <0>; | ||
569 | }; | ||
570 | |||
613 | max77686_irq: max77686-irq { | 571 | max77686_irq: max77686-irq { |
614 | samsung,pins = "gpx3-2"; | 572 | samsung,pins = "gpx3-2"; |
615 | samsung,pin-function = <0>; | 573 | samsung,pin-function = <0>; |
616 | samsung,pin-pud = <0>; | 574 | samsung,pin-pud = <0>; |
617 | samsung,pin-drv = <0>; | 575 | samsung,pin-drv = <0>; |
618 | }; | 576 | }; |
577 | |||
578 | hdmi_hpd_irq: hdmi-hpd-irq { | ||
579 | samsung,pins = "gpx3-7"; | ||
580 | samsung,pin-function = <0>; | ||
581 | samsung,pin-pud = <1>; | ||
582 | samsung,pin-drv = <0>; | ||
583 | }; | ||
584 | }; | ||
585 | |||
586 | &pinctrl_1 { | ||
587 | arb_their_claim: arb-their-claim { | ||
588 | samsung,pins = "gpe0-4"; | ||
589 | samsung,pin-function = <0>; | ||
590 | samsung,pin-pud = <3>; | ||
591 | samsung,pin-drv = <0>; | ||
592 | }; | ||
593 | |||
594 | arb_our_claim: arb-our-claim { | ||
595 | samsung,pins = "gpf0-3"; | ||
596 | samsung,pin-function = <1>; | ||
597 | samsung,pin-pud = <0>; | ||
598 | samsung,pin-drv = <0>; | ||
599 | }; | ||
600 | }; | ||
601 | |||
602 | &rtc { | ||
603 | status = "okay"; | ||
604 | clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>; | ||
605 | clock-names = "rtc", "rtc_src"; | ||
606 | }; | ||
607 | |||
608 | &sd3_bus4 { | ||
609 | samsung,pin-drv = <0>; | ||
610 | }; | ||
611 | |||
612 | &sd3_clk { | ||
613 | samsung,pin-drv = <0>; | ||
614 | }; | ||
615 | |||
616 | &sd3_cmd { | ||
617 | samsung,pin-pud = <3>; | ||
618 | samsung,pin-drv = <0>; | ||
619 | }; | 619 | }; |
620 | 620 | ||
621 | &spi_1 { | 621 | &spi_1 { |
@@ -628,4 +628,8 @@ | |||
628 | dr_mode = "host"; | 628 | dr_mode = "host"; |
629 | }; | 629 | }; |
630 | 630 | ||
631 | &usbdrd_phy { | ||
632 | vbus-supply = <&usb3_vbus_reg>; | ||
633 | }; | ||
634 | |||
631 | #include "cros-ec-keyboard.dtsi" | 635 | #include "cros-ec-keyboard.dtsi" |
diff --git a/arch/arm/boot/dts/exynos5250-spring.dts b/arch/arm/boot/dts/exynos5250-spring.dts new file mode 100644 index 000000000000..f02775487cd4 --- /dev/null +++ b/arch/arm/boot/dts/exynos5250-spring.dts | |||
@@ -0,0 +1,566 @@ | |||
1 | /* | ||
2 | * Google Spring board device tree source | ||
3 | * | ||
4 | * Copyright (c) 2013 Google, Inc | ||
5 | * Copyright (c) 2014 SUSE LINUX Products GmbH | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | #include <dt-bindings/gpio/gpio.h> | ||
14 | #include <dt-bindings/interrupt-controller/irq.h> | ||
15 | #include <dt-bindings/input/input.h> | ||
16 | #include "exynos5250.dtsi" | ||
17 | |||
18 | / { | ||
19 | model = "Google Spring"; | ||
20 | compatible = "google,spring", "samsung,exynos5250", "samsung,exynos5"; | ||
21 | |||
22 | memory { | ||
23 | reg = <0x40000000 0x80000000>; | ||
24 | }; | ||
25 | |||
26 | chosen { | ||
27 | bootargs = "console=tty1"; | ||
28 | }; | ||
29 | |||
30 | gpio-keys { | ||
31 | compatible = "gpio-keys"; | ||
32 | pinctrl-names = "default"; | ||
33 | pinctrl-0 = <&power_key_irq>, <&lid_irq>; | ||
34 | |||
35 | power { | ||
36 | label = "Power"; | ||
37 | gpios = <&gpx1 3 GPIO_ACTIVE_LOW>; | ||
38 | linux,code = <KEY_POWER>; | ||
39 | gpio-key,wakeup; | ||
40 | }; | ||
41 | |||
42 | lid-switch { | ||
43 | label = "Lid"; | ||
44 | gpios = <&gpx3 5 GPIO_ACTIVE_LOW>; | ||
45 | linux,input-type = <5>; /* EV_SW */ | ||
46 | linux,code = <0>; /* SW_LID */ | ||
47 | debounce-interval = <1>; | ||
48 | gpio-key,wakeup; | ||
49 | }; | ||
50 | }; | ||
51 | |||
52 | usb-hub { | ||
53 | compatible = "smsc,usb3503a"; | ||
54 | reset-gpios = <&gpe1 0 GPIO_ACTIVE_LOW>; | ||
55 | pinctrl-names = "default"; | ||
56 | pinctrl-0 = <&hsic_reset>; | ||
57 | }; | ||
58 | |||
59 | fixed-rate-clocks { | ||
60 | xxti { | ||
61 | compatible = "samsung,clock-xxti"; | ||
62 | clock-frequency = <24000000>; | ||
63 | }; | ||
64 | }; | ||
65 | }; | ||
66 | |||
67 | &dp { | ||
68 | status = "okay"; | ||
69 | pinctrl-names = "default"; | ||
70 | pinctrl-0 = <&dp_hpd_gpio>; | ||
71 | samsung,color-space = <0>; | ||
72 | samsung,dynamic-range = <0>; | ||
73 | samsung,ycbcr-coeff = <0>; | ||
74 | samsung,color-depth = <1>; | ||
75 | samsung,link-rate = <0x0a>; | ||
76 | samsung,lane-count = <1>; | ||
77 | samsung,hpd-gpio = <&gpc3 0 GPIO_ACTIVE_HIGH>; | ||
78 | }; | ||
79 | |||
80 | &ehci { | ||
81 | samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>; | ||
82 | }; | ||
83 | |||
84 | &fimd { | ||
85 | status = "okay"; | ||
86 | samsung,invert-vclk; | ||
87 | }; | ||
88 | |||
89 | &hdmi { | ||
90 | hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>; | ||
91 | pinctrl-names = "default"; | ||
92 | pinctrl-0 = <&hdmi_hpd_irq>; | ||
93 | phy = <&hdmiphy>; | ||
94 | ddc = <&i2c_2>; | ||
95 | hdmi-en-supply = <&ldo8_reg>; | ||
96 | vdd-supply = <&ldo8_reg>; | ||
97 | vdd_osc-supply = <&ldo10_reg>; | ||
98 | vdd_pll-supply = <&ldo8_reg>; | ||
99 | }; | ||
100 | |||
101 | &i2c_0 { | ||
102 | status = "okay"; | ||
103 | samsung,i2c-sda-delay = <100>; | ||
104 | samsung,i2c-max-bus-freq = <378000>; | ||
105 | |||
106 | s5m8767-pmic@66 { | ||
107 | compatible = "samsung,s5m8767-pmic"; | ||
108 | reg = <0x66>; | ||
109 | interrupt-parent = <&gpx3>; | ||
110 | interrupts = <2 IRQ_TYPE_NONE>; | ||
111 | pinctrl-names = "default"; | ||
112 | pinctrl-0 = <&s5m8767_irq &s5m8767_dvs &s5m8767_ds>; | ||
113 | wakeup-source; | ||
114 | |||
115 | s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 GPIO_ACTIVE_LOW>, /* DVS1 */ | ||
116 | <&gpd1 1 GPIO_ACTIVE_LOW>, /* DVS2 */ | ||
117 | <&gpd1 2 GPIO_ACTIVE_LOW>; /* DVS3 */ | ||
118 | |||
119 | s5m8767,pmic-buck-ds-gpios = <&gpx2 3 GPIO_ACTIVE_LOW>, /* SET1 */ | ||
120 | <&gpx2 4 GPIO_ACTIVE_LOW>, /* SET2 */ | ||
121 | <&gpx2 5 GPIO_ACTIVE_LOW>; /* SET3 */ | ||
122 | |||
123 | /* | ||
124 | * The following arrays of DVS voltages are not used, since we are | ||
125 | * not using GPIOs to control PMIC bucks, but they must be defined | ||
126 | * to please the driver. | ||
127 | */ | ||
128 | s5m8767,pmic-buck2-dvs-voltage = <1350000>, <1300000>, | ||
129 | <1250000>, <1200000>, | ||
130 | <1150000>, <1100000>, | ||
131 | <1000000>, <950000>; | ||
132 | |||
133 | s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>, | ||
134 | <1100000>, <1100000>, | ||
135 | <1000000>, <1000000>, | ||
136 | <1000000>, <1000000>; | ||
137 | |||
138 | s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>, | ||
139 | <1200000>, <1200000>, | ||
140 | <1200000>, <1200000>, | ||
141 | <1200000>, <1200000>; | ||
142 | |||
143 | clocks { | ||
144 | compatible = "samsung,s5m8767-clk"; | ||
145 | #clock-cells = <1>; | ||
146 | clock-output-names = "en32khz_ap", | ||
147 | "en32khz_cp", | ||
148 | "en32khz_bt"; | ||
149 | }; | ||
150 | |||
151 | regulators { | ||
152 | ldo4_reg: LDO4 { | ||
153 | regulator-name = "P1.0V_LDO_OUT4"; | ||
154 | regulator-min-microvolt = <1000000>; | ||
155 | regulator-max-microvolt = <1000000>; | ||
156 | regulator-always-on; | ||
157 | op_mode = <0>; | ||
158 | }; | ||
159 | |||
160 | ldo5_reg: LDO5 { | ||
161 | regulator-name = "P1.0V_LDO_OUT5"; | ||
162 | regulator-min-microvolt = <1000000>; | ||
163 | regulator-max-microvolt = <1000000>; | ||
164 | regulator-always-on; | ||
165 | op_mode = <0>; | ||
166 | }; | ||
167 | |||
168 | ldo6_reg: LDO6 { | ||
169 | regulator-name = "vdd_mydp"; | ||
170 | regulator-min-microvolt = <1000000>; | ||
171 | regulator-max-microvolt = <1000000>; | ||
172 | regulator-always-on; | ||
173 | op_mode = <3>; | ||
174 | }; | ||
175 | |||
176 | ldo7_reg: LDO7 { | ||
177 | regulator-name = "P1.1V_LDO_OUT7"; | ||
178 | regulator-min-microvolt = <1100000>; | ||
179 | regulator-max-microvolt = <1100000>; | ||
180 | regulator-always-on; | ||
181 | op_mode = <3>; | ||
182 | }; | ||
183 | |||
184 | ldo8_reg: LDO8 { | ||
185 | regulator-name = "P1.0V_LDO_OUT8"; | ||
186 | regulator-min-microvolt = <1000000>; | ||
187 | regulator-max-microvolt = <1000000>; | ||
188 | regulator-always-on; | ||
189 | op_mode = <3>; | ||
190 | }; | ||
191 | |||
192 | ldo10_reg: LDO10 { | ||
193 | regulator-name = "P1.8V_LDO_OUT10"; | ||
194 | regulator-min-microvolt = <1800000>; | ||
195 | regulator-max-microvolt = <1800000>; | ||
196 | regulator-always-on; | ||
197 | op_mode = <3>; | ||
198 | }; | ||
199 | |||
200 | ldo11_reg: LDO11 { | ||
201 | regulator-name = "P1.8V_LDO_OUT11"; | ||
202 | regulator-min-microvolt = <1800000>; | ||
203 | regulator-max-microvolt = <1800000>; | ||
204 | regulator-always-on; | ||
205 | op_mode = <0>; | ||
206 | }; | ||
207 | |||
208 | ldo12_reg: LDO12 { | ||
209 | regulator-name = "P3.0V_LDO_OUT12"; | ||
210 | regulator-min-microvolt = <3000000>; | ||
211 | regulator-max-microvolt = <3000000>; | ||
212 | regulator-always-on; | ||
213 | op_mode = <3>; | ||
214 | }; | ||
215 | |||
216 | ldo13_reg: LDO13 { | ||
217 | regulator-name = "P1.8V_LDO_OUT13"; | ||
218 | regulator-min-microvolt = <1800000>; | ||
219 | regulator-max-microvolt = <1800000>; | ||
220 | regulator-always-on; | ||
221 | op_mode = <0>; | ||
222 | }; | ||
223 | |||
224 | ldo14_reg: LDO14 { | ||
225 | regulator-name = "P1.8V_LDO_OUT14"; | ||
226 | regulator-min-microvolt = <1800000>; | ||
227 | regulator-max-microvolt = <1800000>; | ||
228 | regulator-always-on; | ||
229 | op_mode = <3>; | ||
230 | }; | ||
231 | |||
232 | ldo15_reg: LDO15 { | ||
233 | regulator-name = "P1.0V_LDO_OUT15"; | ||
234 | regulator-min-microvolt = <1000000>; | ||
235 | regulator-max-microvolt = <1000000>; | ||
236 | regulator-always-on; | ||
237 | op_mode = <3>; | ||
238 | }; | ||
239 | |||
240 | ldo16_reg: LDO16 { | ||
241 | regulator-name = "P1.8V_LDO_OUT16"; | ||
242 | regulator-min-microvolt = <1800000>; | ||
243 | regulator-max-microvolt = <1800000>; | ||
244 | regulator-always-on; | ||
245 | op_mode = <3>; | ||
246 | }; | ||
247 | |||
248 | ldo17_reg: LDO17 { | ||
249 | regulator-name = "P2.8V_LDO_OUT17"; | ||
250 | regulator-min-microvolt = <2800000>; | ||
251 | regulator-max-microvolt = <2800000>; | ||
252 | regulator-always-on; | ||
253 | op_mode = <0>; | ||
254 | }; | ||
255 | |||
256 | ldo25_reg: LDO25 { | ||
257 | regulator-name = "vdd_bridge"; | ||
258 | regulator-min-microvolt = <1200000>; | ||
259 | regulator-max-microvolt = <1200000>; | ||
260 | regulator-always-on; | ||
261 | op_mode = <1>; | ||
262 | }; | ||
263 | |||
264 | buck1_reg: BUCK1 { | ||
265 | regulator-name = "vdd_mif"; | ||
266 | regulator-min-microvolt = <950000>; | ||
267 | regulator-max-microvolt = <1300000>; | ||
268 | regulator-always-on; | ||
269 | regulator-boot-on; | ||
270 | op_mode = <3>; | ||
271 | }; | ||
272 | |||
273 | buck2_reg: BUCK2 { | ||
274 | regulator-name = "vdd_arm"; | ||
275 | regulator-min-microvolt = <850000>; | ||
276 | regulator-max-microvolt = <1350000>; | ||
277 | regulator-always-on; | ||
278 | regulator-boot-on; | ||
279 | op_mode = <3>; | ||
280 | }; | ||
281 | |||
282 | buck3_reg: BUCK3 { | ||
283 | regulator-name = "vdd_int"; | ||
284 | regulator-min-microvolt = <900000>; | ||
285 | regulator-max-microvolt = <1200000>; | ||
286 | regulator-always-on; | ||
287 | regulator-boot-on; | ||
288 | op_mode = <3>; | ||
289 | }; | ||
290 | |||
291 | buck4_reg: BUCK4 { | ||
292 | regulator-name = "vdd_g3d"; | ||
293 | regulator-min-microvolt = <850000>; | ||
294 | regulator-max-microvolt = <1300000>; | ||
295 | regulator-boot-on; | ||
296 | op_mode = <3>; | ||
297 | }; | ||
298 | |||
299 | buck5_reg: BUCK5 { | ||
300 | regulator-name = "P1.8V_BUCK_OUT5"; | ||
301 | regulator-min-microvolt = <1800000>; | ||
302 | regulator-max-microvolt = <1800000>; | ||
303 | regulator-always-on; | ||
304 | regulator-boot-on; | ||
305 | op_mode = <1>; | ||
306 | }; | ||
307 | |||
308 | buck6_reg: BUCK6 { | ||
309 | regulator-name = "P1.2V_BUCK_OUT6"; | ||
310 | regulator-min-microvolt = <1200000>; | ||
311 | regulator-max-microvolt = <1200000>; | ||
312 | regulator-always-on; | ||
313 | regulator-boot-on; | ||
314 | op_mode = <0>; | ||
315 | }; | ||
316 | |||
317 | buck9_reg: BUCK9 { | ||
318 | regulator-name = "vdd_ummc"; | ||
319 | regulator-min-microvolt = <950000>; | ||
320 | regulator-max-microvolt = <3000000>; | ||
321 | regulator-always-on; | ||
322 | regulator-boot-on; | ||
323 | op_mode = <3>; | ||
324 | }; | ||
325 | }; | ||
326 | }; | ||
327 | }; | ||
328 | |||
329 | &i2c_1 { | ||
330 | status = "okay"; | ||
331 | samsung,i2c-sda-delay = <100>; | ||
332 | samsung,i2c-max-bus-freq = <378000>; | ||
333 | |||
334 | trackpad@4b { | ||
335 | compatible = "atmel,maxtouch"; | ||
336 | reg = <0x4b>; | ||
337 | interrupt-parent = <&gpx1>; | ||
338 | interrupts = <2 IRQ_TYPE_EDGE_FALLING>; | ||
339 | pinctrl-names = "default"; | ||
340 | pinctrl-0 = <&trackpad_irq>; | ||
341 | linux,gpio-keymap = <KEY_RESERVED | ||
342 | KEY_RESERVED | ||
343 | KEY_RESERVED | ||
344 | KEY_RESERVED | ||
345 | KEY_RESERVED | ||
346 | BTN_LEFT>; | ||
347 | wakeup-source; | ||
348 | }; | ||
349 | }; | ||
350 | |||
351 | /* | ||
352 | * Disabled pullups since external part has its own pullups and | ||
353 | * double-pulling gets us out of spec in some cases. | ||
354 | */ | ||
355 | &i2c2_bus { | ||
356 | samsung,pin-pud = <0>; | ||
357 | }; | ||
358 | |||
359 | &i2c_2 { | ||
360 | status = "okay"; | ||
361 | samsung,i2c-sda-delay = <100>; | ||
362 | samsung,i2c-max-bus-freq = <66000>; | ||
363 | |||
364 | hdmiddc@50 { | ||
365 | compatible = "samsung,exynos4210-hdmiddc"; | ||
366 | reg = <0x50>; | ||
367 | }; | ||
368 | }; | ||
369 | |||
370 | &i2c_3 { | ||
371 | status = "okay"; | ||
372 | samsung,i2c-sda-delay = <100>; | ||
373 | samsung,i2c-max-bus-freq = <66000>; | ||
374 | }; | ||
375 | |||
376 | &i2c_4 { | ||
377 | status = "okay"; | ||
378 | samsung,i2c-sda-delay = <100>; | ||
379 | samsung,i2c-max-bus-freq = <66000>; | ||
380 | |||
381 | cros_ec: embedded-controller { | ||
382 | compatible = "google,cros-ec-i2c"; | ||
383 | reg = <0x1e>; | ||
384 | interrupts = <6 IRQ_TYPE_NONE>; | ||
385 | interrupt-parent = <&gpx1>; | ||
386 | wakeup-source; | ||
387 | pinctrl-names = "default"; | ||
388 | pinctrl-0 = <&ec_irq>; | ||
389 | }; | ||
390 | }; | ||
391 | |||
392 | &i2c_5 { | ||
393 | status = "okay"; | ||
394 | samsung,i2c-sda-delay = <100>; | ||
395 | samsung,i2c-max-bus-freq = <66000>; | ||
396 | }; | ||
397 | |||
398 | &i2c_7 { | ||
399 | status = "okay"; | ||
400 | samsung,i2c-sda-delay = <100>; | ||
401 | samsung,i2c-max-bus-freq = <66000>; | ||
402 | |||
403 | temperature-sensor@4c { | ||
404 | compatible = "gmt,g781"; | ||
405 | reg = <0x4c>; | ||
406 | }; | ||
407 | }; | ||
408 | |||
409 | &i2c_8 { | ||
410 | status = "okay"; | ||
411 | samsung,i2c-sda-delay = <100>; | ||
412 | samsung,i2c-max-bus-freq = <378000>; | ||
413 | |||
414 | hdmiphy: hdmiphy@38 { | ||
415 | compatible = "samsung,exynos4212-hdmiphy"; | ||
416 | reg = <0x38>; | ||
417 | }; | ||
418 | }; | ||
419 | |||
420 | &i2s0 { | ||
421 | status = "okay"; | ||
422 | }; | ||
423 | |||
424 | &mfc { | ||
425 | samsung,mfc-r = <0x43000000 0x800000>; | ||
426 | samsung,mfc-l = <0x51000000 0x800000>; | ||
427 | }; | ||
428 | |||
429 | &mmc_0 { | ||
430 | status = "okay"; | ||
431 | num-slots = <1>; | ||
432 | supports-highspeed; | ||
433 | broken-cd; | ||
434 | card-detect-delay = <200>; | ||
435 | samsung,dw-mshc-ciu-div = <3>; | ||
436 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
437 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
438 | pinctrl-names = "default"; | ||
439 | pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>; | ||
440 | |||
441 | slot@0 { | ||
442 | reg = <0>; | ||
443 | bus-width = <8>; | ||
444 | }; | ||
445 | }; | ||
446 | |||
447 | /* | ||
448 | * On Spring we've got SIP WiFi and so can keep drive strengths low to | ||
449 | * reduce EMI. | ||
450 | */ | ||
451 | &mmc_1 { | ||
452 | status = "okay"; | ||
453 | num-slots = <1>; | ||
454 | supports-highspeed; | ||
455 | broken-cd; | ||
456 | card-detect-delay = <200>; | ||
457 | samsung,dw-mshc-ciu-div = <3>; | ||
458 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
459 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
460 | pinctrl-names = "default"; | ||
461 | pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_cd &sd1_bus4>; | ||
462 | |||
463 | slot@0 { | ||
464 | reg = <0>; | ||
465 | bus-width = <4>; | ||
466 | }; | ||
467 | }; | ||
468 | |||
469 | &pinctrl_0 { | ||
470 | s5m8767_dvs: s5m8767-dvs { | ||
471 | samsung,pins = "gpd1-0", "gpd1-1", "gpd1-2"; | ||
472 | samsung,pin-function = <0>; | ||
473 | samsung,pin-pud = <1>; | ||
474 | samsung,pin-drv = <0>; | ||
475 | }; | ||
476 | |||
477 | dp_hpd_gpio: dp-hpd-gpio { | ||
478 | samsung,pins = "gpc3-0"; | ||
479 | samsung,pin-function = <0>; | ||
480 | samsung,pin-pud = <3>; | ||
481 | samsung,pin-drv = <0>; | ||
482 | }; | ||
483 | |||
484 | trackpad_irq: trackpad-irq { | ||
485 | samsung,pins = "gpx1-2"; | ||
486 | samsung,pin-function = <0xf>; | ||
487 | samsung,pin-pud = <0>; | ||
488 | samsung,pin-drv = <0>; | ||
489 | }; | ||
490 | |||
491 | power_key_irq: power-key-irq { | ||
492 | samsung,pins = "gpx1-3"; | ||
493 | samsung,pin-function = <0>; | ||
494 | samsung,pin-pud = <0>; | ||
495 | samsung,pin-drv = <0>; | ||
496 | }; | ||
497 | |||
498 | ec_irq: ec-irq { | ||
499 | samsung,pins = "gpx1-6"; | ||
500 | samsung,pin-function = <0>; | ||
501 | samsung,pin-pud = <0>; | ||
502 | samsung,pin-drv = <0>; | ||
503 | }; | ||
504 | |||
505 | s5m8767_ds: s5m8767-ds { | ||
506 | samsung,pins = "gpx2-3", "gpx2-4", "gpx2-5"; | ||
507 | samsung,pin-function = <0>; | ||
508 | samsung,pin-pud = <1>; | ||
509 | samsung,pin-drv = <0>; | ||
510 | }; | ||
511 | |||
512 | s5m8767_irq: s5m8767-irq { | ||
513 | samsung,pins = "gpx3-2"; | ||
514 | samsung,pin-function = <0>; | ||
515 | samsung,pin-pud = <0>; | ||
516 | samsung,pin-drv = <0>; | ||
517 | }; | ||
518 | |||
519 | lid_irq: lid-irq { | ||
520 | samsung,pins = "gpx3-5"; | ||
521 | samsung,pin-function = <0>; | ||
522 | samsung,pin-pud = <0>; | ||
523 | samsung,pin-drv = <0>; | ||
524 | }; | ||
525 | |||
526 | hdmi_hpd_irq: hdmi-hpd-irq { | ||
527 | samsung,pins = "gpx3-7"; | ||
528 | samsung,pin-function = <0>; | ||
529 | samsung,pin-pud = <1>; | ||
530 | samsung,pin-drv = <0>; | ||
531 | }; | ||
532 | }; | ||
533 | |||
534 | &pinctrl_1 { | ||
535 | hsic_reset: hsic-reset { | ||
536 | samsung,pins = "gpe1-0"; | ||
537 | samsung,pin-function = <1>; | ||
538 | samsung,pin-pud = <0>; | ||
539 | samsung,pin-drv = <0>; | ||
540 | }; | ||
541 | }; | ||
542 | |||
543 | &sd1_bus4 { | ||
544 | samsung,pin-drv = <0>; | ||
545 | }; | ||
546 | |||
547 | &sd1_cd { | ||
548 | samsung,pin-drv = <0>; | ||
549 | }; | ||
550 | |||
551 | &sd1_clk { | ||
552 | samsung,pin-drv = <0>; | ||
553 | }; | ||
554 | |||
555 | &sd1_cmd { | ||
556 | samsung,pin-pud = <3>; | ||
557 | samsung,pin-drv = <0>; | ||
558 | }; | ||
559 | |||
560 | &spi_1 { | ||
561 | status = "okay"; | ||
562 | samsung,spi-src-clk = <0>; | ||
563 | num-cs = <1>; | ||
564 | }; | ||
565 | |||
566 | #include "cros-ec-keyboard.dtsi" | ||
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi index d55c1a2eb798..d45a07ea3402 100644 --- a/arch/arm/boot/dts/exynos5250.dtsi +++ b/arch/arm/boot/dts/exynos5250.dtsi | |||
@@ -218,7 +218,7 @@ | |||
218 | clock-names = "fimg2d"; | 218 | clock-names = "fimg2d"; |
219 | }; | 219 | }; |
220 | 220 | ||
221 | codec@11000000 { | 221 | mfc: codec@11000000 { |
222 | compatible = "samsung,mfc-v6"; | 222 | compatible = "samsung,mfc-v6"; |
223 | reg = <0x11000000 0x10000>; | 223 | reg = <0x11000000 0x10000>; |
224 | interrupts = <0 96 0>; | 224 | interrupts = <0 96 0>; |
@@ -227,7 +227,7 @@ | |||
227 | clock-names = "mfc"; | 227 | clock-names = "mfc"; |
228 | }; | 228 | }; |
229 | 229 | ||
230 | rtc@101E0000 { | 230 | rtc: rtc@101E0000 { |
231 | clocks = <&clock CLK_RTC>; | 231 | clocks = <&clock CLK_RTC>; |
232 | clock-names = "rtc"; | 232 | clock-names = "rtc"; |
233 | status = "disabled"; | 233 | status = "disabled"; |
@@ -261,7 +261,7 @@ | |||
261 | clock-names = "uart", "clk_uart_baud0"; | 261 | clock-names = "uart", "clk_uart_baud0"; |
262 | }; | 262 | }; |
263 | 263 | ||
264 | sata@122F0000 { | 264 | sata: sata@122F0000 { |
265 | compatible = "snps,dwc-ahci"; | 265 | compatible = "snps,dwc-ahci"; |
266 | samsung,sata-freq = <66>; | 266 | samsung,sata-freq = <66>; |
267 | reg = <0x122F0000 0x1ff>; | 267 | reg = <0x122F0000 0x1ff>; |
@@ -293,6 +293,7 @@ | |||
293 | clock-names = "i2c"; | 293 | clock-names = "i2c"; |
294 | pinctrl-names = "default"; | 294 | pinctrl-names = "default"; |
295 | pinctrl-0 = <&i2c0_bus>; | 295 | pinctrl-0 = <&i2c0_bus>; |
296 | samsung,sysreg-phandle = <&sysreg_system_controller>; | ||
296 | status = "disabled"; | 297 | status = "disabled"; |
297 | }; | 298 | }; |
298 | 299 | ||
@@ -306,6 +307,7 @@ | |||
306 | clock-names = "i2c"; | 307 | clock-names = "i2c"; |
307 | pinctrl-names = "default"; | 308 | pinctrl-names = "default"; |
308 | pinctrl-0 = <&i2c1_bus>; | 309 | pinctrl-0 = <&i2c1_bus>; |
310 | samsung,sysreg-phandle = <&sysreg_system_controller>; | ||
309 | status = "disabled"; | 311 | status = "disabled"; |
310 | }; | 312 | }; |
311 | 313 | ||
@@ -319,6 +321,7 @@ | |||
319 | clock-names = "i2c"; | 321 | clock-names = "i2c"; |
320 | pinctrl-names = "default"; | 322 | pinctrl-names = "default"; |
321 | pinctrl-0 = <&i2c2_bus>; | 323 | pinctrl-0 = <&i2c2_bus>; |
324 | samsung,sysreg-phandle = <&sysreg_system_controller>; | ||
322 | status = "disabled"; | 325 | status = "disabled"; |
323 | }; | 326 | }; |
324 | 327 | ||
@@ -332,6 +335,7 @@ | |||
332 | clock-names = "i2c"; | 335 | clock-names = "i2c"; |
333 | pinctrl-names = "default"; | 336 | pinctrl-names = "default"; |
334 | pinctrl-0 = <&i2c3_bus>; | 337 | pinctrl-0 = <&i2c3_bus>; |
338 | samsung,sysreg-phandle = <&sysreg_system_controller>; | ||
335 | status = "disabled"; | 339 | status = "disabled"; |
336 | }; | 340 | }; |
337 | 341 | ||
@@ -573,7 +577,7 @@ | |||
573 | #phy-cells = <1>; | 577 | #phy-cells = <1>; |
574 | }; | 578 | }; |
575 | 579 | ||
576 | usb@12110000 { | 580 | ehci: usb@12110000 { |
577 | compatible = "samsung,exynos4210-ehci"; | 581 | compatible = "samsung,exynos4210-ehci"; |
578 | reg = <0x12110000 0x100>; | 582 | reg = <0x12110000 0x100>; |
579 | interrupts = <0 71 0>; | 583 | interrupts = <0 71 0>; |
@@ -588,7 +592,7 @@ | |||
588 | }; | 592 | }; |
589 | }; | 593 | }; |
590 | 594 | ||
591 | usb@12120000 { | 595 | ohci: usb@12120000 { |
592 | compatible = "samsung,exynos4210-ohci"; | 596 | compatible = "samsung,exynos4210-ohci"; |
593 | reg = <0x12120000 0x100>; | 597 | reg = <0x12120000 0x100>; |
594 | interrupts = <0 71 0>; | 598 | interrupts = <0 71 0>; |
@@ -710,7 +714,7 @@ | |||
710 | clock-names = "gscl"; | 714 | clock-names = "gscl"; |
711 | }; | 715 | }; |
712 | 716 | ||
713 | hdmi { | 717 | hdmi: hdmi { |
714 | compatible = "samsung,exynos4212-hdmi"; | 718 | compatible = "samsung,exynos4212-hdmi"; |
715 | reg = <0x14530000 0x70000>; | 719 | reg = <0x14530000 0x70000>; |
716 | interrupts = <0 95 0>; | 720 | interrupts = <0 95 0>; |
@@ -736,14 +740,14 @@ | |||
736 | #phy-cells = <0>; | 740 | #phy-cells = <0>; |
737 | }; | 741 | }; |
738 | 742 | ||
739 | dp-controller@145B0000 { | 743 | dp: dp-controller@145B0000 { |
740 | clocks = <&clock CLK_DP>; | 744 | clocks = <&clock CLK_DP>; |
741 | clock-names = "dp"; | 745 | clock-names = "dp"; |
742 | phys = <&dp_phy>; | 746 | phys = <&dp_phy>; |
743 | phy-names = "dp"; | 747 | phy-names = "dp"; |
744 | }; | 748 | }; |
745 | 749 | ||
746 | fimd@14400000 { | 750 | fimd: fimd@14400000 { |
747 | clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>; | 751 | clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>; |
748 | clock-names = "sclk_fimd", "fimd"; | 752 | clock-names = "sclk_fimd", "fimd"; |
749 | }; | 753 | }; |
diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts index 82cdb74484cc..9a050e19a4dc 100644 --- a/arch/arm/boot/dts/exynos5420-peach-pit.dts +++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <dt-bindings/input/input.h> | 12 | #include <dt-bindings/input/input.h> |
13 | #include <dt-bindings/gpio/gpio.h> | 13 | #include <dt-bindings/gpio/gpio.h> |
14 | #include <dt-bindings/interrupt-controller/irq.h> | 14 | #include <dt-bindings/interrupt-controller/irq.h> |
15 | #include <dt-bindings/clock/maxim,max77802.h> | ||
15 | #include "exynos5420.dtsi" | 16 | #include "exynos5420.dtsi" |
16 | 17 | ||
17 | / { | 18 | / { |
@@ -151,7 +152,7 @@ | |||
151 | status = "okay"; | 152 | status = "okay"; |
152 | clock-frequency = <400000>; | 153 | clock-frequency = <400000>; |
153 | 154 | ||
154 | max77802-pmic@9 { | 155 | max77802: max77802-pmic@9 { |
155 | compatible = "maxim,max77802"; | 156 | compatible = "maxim,max77802"; |
156 | interrupt-parent = <&gpx3>; | 157 | interrupt-parent = <&gpx3>; |
157 | interrupts = <1 IRQ_TYPE_NONE>; | 158 | interrupts = <1 IRQ_TYPE_NONE>; |
@@ -560,7 +561,7 @@ | |||
560 | status = "okay"; | 561 | status = "okay"; |
561 | num-slots = <1>; | 562 | num-slots = <1>; |
562 | broken-cd; | 563 | broken-cd; |
563 | caps2-mmc-hs200-1_8v; | 564 | mmc-hs200-1_8v; |
564 | cap-mmc-highspeed; | 565 | cap-mmc-highspeed; |
565 | non-removable; | 566 | non-removable; |
566 | card-detect-delay = <200>; | 567 | card-detect-delay = <200>; |
@@ -727,6 +728,8 @@ | |||
727 | 728 | ||
728 | &rtc { | 729 | &rtc { |
729 | status = "okay"; | 730 | status = "okay"; |
731 | clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>; | ||
732 | clock-names = "rtc", "rtc_src"; | ||
730 | }; | 733 | }; |
731 | 734 | ||
732 | &spi_2 { | 735 | &spi_2 { |
diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi index 8617a031cbc0..90bf4011e319 100644 --- a/arch/arm/boot/dts/exynos5420.dtsi +++ b/arch/arm/boot/dts/exynos5420.dtsi | |||
@@ -560,6 +560,7 @@ | |||
560 | clock-names = "i2c"; | 560 | clock-names = "i2c"; |
561 | pinctrl-names = "default"; | 561 | pinctrl-names = "default"; |
562 | pinctrl-0 = <&i2c0_bus>; | 562 | pinctrl-0 = <&i2c0_bus>; |
563 | samsung,sysreg-phandle = <&sysreg_system_controller>; | ||
563 | status = "disabled"; | 564 | status = "disabled"; |
564 | }; | 565 | }; |
565 | 566 | ||
@@ -573,6 +574,7 @@ | |||
573 | clock-names = "i2c"; | 574 | clock-names = "i2c"; |
574 | pinctrl-names = "default"; | 575 | pinctrl-names = "default"; |
575 | pinctrl-0 = <&i2c1_bus>; | 576 | pinctrl-0 = <&i2c1_bus>; |
577 | samsung,sysreg-phandle = <&sysreg_system_controller>; | ||
576 | status = "disabled"; | 578 | status = "disabled"; |
577 | }; | 579 | }; |
578 | 580 | ||
@@ -586,6 +588,7 @@ | |||
586 | clock-names = "i2c"; | 588 | clock-names = "i2c"; |
587 | pinctrl-names = "default"; | 589 | pinctrl-names = "default"; |
588 | pinctrl-0 = <&i2c2_bus>; | 590 | pinctrl-0 = <&i2c2_bus>; |
591 | samsung,sysreg-phandle = <&sysreg_system_controller>; | ||
589 | status = "disabled"; | 592 | status = "disabled"; |
590 | }; | 593 | }; |
591 | 594 | ||
@@ -599,6 +602,7 @@ | |||
599 | clock-names = "i2c"; | 602 | clock-names = "i2c"; |
600 | pinctrl-names = "default"; | 603 | pinctrl-names = "default"; |
601 | pinctrl-0 = <&i2c3_bus>; | 604 | pinctrl-0 = <&i2c3_bus>; |
605 | samsung,sysreg-phandle = <&sysreg_system_controller>; | ||
602 | status = "disabled"; | 606 | status = "disabled"; |
603 | }; | 607 | }; |
604 | 608 | ||
diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts index 7bb1c8dd42dd..e8fdda827fc9 100644 --- a/arch/arm/boot/dts/exynos5800-peach-pi.dts +++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <dt-bindings/input/input.h> | 12 | #include <dt-bindings/input/input.h> |
13 | #include <dt-bindings/gpio/gpio.h> | 13 | #include <dt-bindings/gpio/gpio.h> |
14 | #include <dt-bindings/interrupt-controller/irq.h> | 14 | #include <dt-bindings/interrupt-controller/irq.h> |
15 | #include <dt-bindings/clock/maxim,max77802.h> | ||
15 | #include "exynos5800.dtsi" | 16 | #include "exynos5800.dtsi" |
16 | 17 | ||
17 | / { | 18 | / { |
@@ -150,7 +151,7 @@ | |||
150 | status = "okay"; | 151 | status = "okay"; |
151 | clock-frequency = <400000>; | 152 | clock-frequency = <400000>; |
152 | 153 | ||
153 | max77802-pmic@9 { | 154 | max77802: max77802-pmic@9 { |
154 | compatible = "maxim,max77802"; | 155 | compatible = "maxim,max77802"; |
155 | interrupt-parent = <&gpx3>; | 156 | interrupt-parent = <&gpx3>; |
156 | interrupts = <1 IRQ_TYPE_NONE>; | 157 | interrupts = <1 IRQ_TYPE_NONE>; |
@@ -548,7 +549,7 @@ | |||
548 | status = "okay"; | 549 | status = "okay"; |
549 | num-slots = <1>; | 550 | num-slots = <1>; |
550 | broken-cd; | 551 | broken-cd; |
551 | caps2-mmc-hs200-1_8v; | 552 | mmc-hs200-1_8v; |
552 | cap-mmc-highspeed; | 553 | cap-mmc-highspeed; |
553 | non-removable; | 554 | non-removable; |
554 | card-detect-delay = <200>; | 555 | card-detect-delay = <200>; |
@@ -715,6 +716,8 @@ | |||
715 | 716 | ||
716 | &rtc { | 717 | &rtc { |
717 | status = "okay"; | 718 | status = "okay"; |
719 | clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>; | ||
720 | clock-names = "rtc", "rtc_src"; | ||
718 | }; | 721 | }; |
719 | 722 | ||
720 | &spi_2 { | 723 | &spi_2 { |
diff --git a/arch/arm/boot/dts/hisi-x5hd2-dkb.dts b/arch/arm/boot/dts/hisi-x5hd2-dkb.dts index 05b44c272c9a..721b09238f58 100644 --- a/arch/arm/boot/dts/hisi-x5hd2-dkb.dts +++ b/arch/arm/boot/dts/hisi-x5hd2-dkb.dts | |||
@@ -51,3 +51,36 @@ | |||
51 | &uart0 { | 51 | &uart0 { |
52 | status = "okay"; | 52 | status = "okay"; |
53 | }; | 53 | }; |
54 | |||
55 | &gmac0 { | ||
56 | #address-cells = <1>; | ||
57 | #size-cells = <0>; | ||
58 | phy-handle = <&phy2>; | ||
59 | phy-mode = "mii"; | ||
60 | /* Placeholder, overwritten by bootloader */ | ||
61 | mac-address = [00 00 00 00 00 00]; | ||
62 | status = "okay"; | ||
63 | |||
64 | phy2: ethernet-phy@2 { | ||
65 | reg = <2>; | ||
66 | }; | ||
67 | }; | ||
68 | |||
69 | &gmac1 { | ||
70 | #address-cells = <1>; | ||
71 | #size-cells = <0>; | ||
72 | phy-handle = <&phy1>; | ||
73 | phy-mode = "rgmii"; | ||
74 | /* Placeholder, overwritten by bootloader */ | ||
75 | mac-address = [00 00 00 00 00 00]; | ||
76 | status = "okay"; | ||
77 | |||
78 | phy1: ethernet-phy@1 { | ||
79 | reg = <1>; | ||
80 | }; | ||
81 | }; | ||
82 | |||
83 | &ahci { | ||
84 | phys = <&sata_phy>; | ||
85 | phy-names = "sata-phy"; | ||
86 | }; | ||
diff --git a/arch/arm/boot/dts/hisi-x5hd2.dtsi b/arch/arm/boot/dts/hisi-x5hd2.dtsi index f85ba2924ff7..c52722b14e4a 100644 --- a/arch/arm/boot/dts/hisi-x5hd2.dtsi +++ b/arch/arm/boot/dts/hisi-x5hd2.dtsi | |||
@@ -131,6 +131,249 @@ | |||
131 | clock-names = "apb_pclk"; | 131 | clock-names = "apb_pclk"; |
132 | status = "disabled"; | 132 | status = "disabled"; |
133 | }; | 133 | }; |
134 | |||
135 | gpio0: gpio@b20000 { | ||
136 | compatible = "arm,pl061", "arm,primecell"; | ||
137 | reg = <0xb20000 0x1000>; | ||
138 | interrupts = <0 108 0x4>; | ||
139 | gpio-controller; | ||
140 | #gpio-cells = <2>; | ||
141 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
142 | clock-names = "apb_pclk"; | ||
143 | interrupt-controller; | ||
144 | #interrupt-cells = <2>; | ||
145 | status = "disabled"; | ||
146 | }; | ||
147 | |||
148 | gpio1: gpio@b21000 { | ||
149 | compatible = "arm,pl061", "arm,primecell"; | ||
150 | reg = <0xb21000 0x1000>; | ||
151 | interrupts = <0 109 0x4>; | ||
152 | gpio-controller; | ||
153 | #gpio-cells = <2>; | ||
154 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
155 | clock-names = "apb_pclk"; | ||
156 | interrupt-controller; | ||
157 | #interrupt-cells = <2>; | ||
158 | status = "disabled"; | ||
159 | }; | ||
160 | |||
161 | gpio2: gpio@b22000 { | ||
162 | compatible = "arm,pl061", "arm,primecell"; | ||
163 | reg = <0xb22000 0x1000>; | ||
164 | interrupts = <0 110 0x4>; | ||
165 | gpio-controller; | ||
166 | #gpio-cells = <2>; | ||
167 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
168 | clock-names = "apb_pclk"; | ||
169 | interrupt-controller; | ||
170 | #interrupt-cells = <2>; | ||
171 | status = "disabled"; | ||
172 | }; | ||
173 | |||
174 | gpio3: gpio@b23000 { | ||
175 | compatible = "arm,pl061", "arm,primecell"; | ||
176 | reg = <0xb23000 0x1000>; | ||
177 | interrupts = <0 111 0x4>; | ||
178 | gpio-controller; | ||
179 | #gpio-cells = <2>; | ||
180 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
181 | clock-names = "apb_pclk"; | ||
182 | interrupt-controller; | ||
183 | #interrupt-cells = <2>; | ||
184 | status = "disabled"; | ||
185 | }; | ||
186 | |||
187 | gpio4: gpio@b24000 { | ||
188 | compatible = "arm,pl061", "arm,primecell"; | ||
189 | reg = <0xb24000 0x1000>; | ||
190 | interrupts = <0 112 0x4>; | ||
191 | gpio-controller; | ||
192 | #gpio-cells = <2>; | ||
193 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
194 | clock-names = "apb_pclk"; | ||
195 | interrupt-controller; | ||
196 | #interrupt-cells = <2>; | ||
197 | status = "disabled"; | ||
198 | }; | ||
199 | |||
200 | gpio5: gpio@004000 { | ||
201 | compatible = "arm,pl061", "arm,primecell"; | ||
202 | reg = <0x004000 0x1000>; | ||
203 | interrupts = <0 113 0x4>; | ||
204 | gpio-controller; | ||
205 | #gpio-cells = <2>; | ||
206 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
207 | clock-names = "apb_pclk"; | ||
208 | interrupt-controller; | ||
209 | #interrupt-cells = <2>; | ||
210 | status = "disabled"; | ||
211 | }; | ||
212 | |||
213 | gpio6: gpio@b26000 { | ||
214 | compatible = "arm,pl061", "arm,primecell"; | ||
215 | reg = <0xb26000 0x1000>; | ||
216 | interrupts = <0 114 0x4>; | ||
217 | gpio-controller; | ||
218 | #gpio-cells = <2>; | ||
219 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
220 | clock-names = "apb_pclk"; | ||
221 | interrupt-controller; | ||
222 | #interrupt-cells = <2>; | ||
223 | status = "disabled"; | ||
224 | }; | ||
225 | |||
226 | gpio7: gpio@b27000 { | ||
227 | compatible = "arm,pl061", "arm,primecell"; | ||
228 | reg = <0xb27000 0x1000>; | ||
229 | interrupts = <0 115 0x4>; | ||
230 | gpio-controller; | ||
231 | #gpio-cells = <2>; | ||
232 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
233 | clock-names = "apb_pclk"; | ||
234 | interrupt-controller; | ||
235 | #interrupt-cells = <2>; | ||
236 | status = "disabled"; | ||
237 | }; | ||
238 | |||
239 | gpio8: gpio@b28000 { | ||
240 | compatible = "arm,pl061", "arm,primecell"; | ||
241 | reg = <0xb28000 0x1000>; | ||
242 | interrupts = <0 116 0x4>; | ||
243 | gpio-controller; | ||
244 | #gpio-cells = <2>; | ||
245 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
246 | clock-names = "apb_pclk"; | ||
247 | interrupt-controller; | ||
248 | #interrupt-cells = <2>; | ||
249 | status = "disabled"; | ||
250 | }; | ||
251 | |||
252 | gpio9: gpio@b29000 { | ||
253 | compatible = "arm,pl061", "arm,primecell"; | ||
254 | reg = <0xb29000 0x1000>; | ||
255 | interrupts = <0 117 0x4>; | ||
256 | gpio-controller; | ||
257 | #gpio-cells = <2>; | ||
258 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
259 | clock-names = "apb_pclk"; | ||
260 | interrupt-controller; | ||
261 | #interrupt-cells = <2>; | ||
262 | status = "disabled"; | ||
263 | }; | ||
264 | |||
265 | gpio10: gpio@b2a000 { | ||
266 | compatible = "arm,pl061", "arm,primecell"; | ||
267 | reg = <0xb2a000 0x1000>; | ||
268 | interrupts = <0 118 0x4>; | ||
269 | gpio-controller; | ||
270 | #gpio-cells = <2>; | ||
271 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
272 | clock-names = "apb_pclk"; | ||
273 | interrupt-controller; | ||
274 | #interrupt-cells = <2>; | ||
275 | status = "disabled"; | ||
276 | }; | ||
277 | |||
278 | gpio11: gpio@b2b000 { | ||
279 | compatible = "arm,pl061", "arm,primecell"; | ||
280 | reg = <0xb2b000 0x1000>; | ||
281 | interrupts = <0 119 0x4>; | ||
282 | gpio-controller; | ||
283 | #gpio-cells = <2>; | ||
284 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
285 | clock-names = "apb_pclk"; | ||
286 | interrupt-controller; | ||
287 | #interrupt-cells = <2>; | ||
288 | status = "disabled"; | ||
289 | }; | ||
290 | |||
291 | gpio12: gpio@b2c000 { | ||
292 | compatible = "arm,pl061", "arm,primecell"; | ||
293 | reg = <0xb2c000 0x1000>; | ||
294 | interrupts = <0 120 0x4>; | ||
295 | gpio-controller; | ||
296 | #gpio-cells = <2>; | ||
297 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
298 | clock-names = "apb_pclk"; | ||
299 | interrupt-controller; | ||
300 | #interrupt-cells = <2>; | ||
301 | status = "disabled"; | ||
302 | }; | ||
303 | |||
304 | gpio13: gpio@b2d000 { | ||
305 | compatible = "arm,pl061", "arm,primecell"; | ||
306 | reg = <0xb2d000 0x1000>; | ||
307 | interrupts = <0 121 0x4>; | ||
308 | gpio-controller; | ||
309 | #gpio-cells = <2>; | ||
310 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
311 | clock-names = "apb_pclk"; | ||
312 | interrupt-controller; | ||
313 | #interrupt-cells = <2>; | ||
314 | status = "disabled"; | ||
315 | }; | ||
316 | |||
317 | gpio14: gpio@b2e000 { | ||
318 | compatible = "arm,pl061", "arm,primecell"; | ||
319 | reg = <0xb2e000 0x1000>; | ||
320 | interrupts = <0 122 0x4>; | ||
321 | gpio-controller; | ||
322 | #gpio-cells = <2>; | ||
323 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
324 | clock-names = "apb_pclk"; | ||
325 | interrupt-controller; | ||
326 | #interrupt-cells = <2>; | ||
327 | status = "disabled"; | ||
328 | }; | ||
329 | |||
330 | gpio15: gpio@b2f000 { | ||
331 | compatible = "arm,pl061", "arm,primecell"; | ||
332 | reg = <0xb2f000 0x1000>; | ||
333 | interrupts = <0 123 0x4>; | ||
334 | gpio-controller; | ||
335 | #gpio-cells = <2>; | ||
336 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
337 | clock-names = "apb_pclk"; | ||
338 | interrupt-controller; | ||
339 | #interrupt-cells = <2>; | ||
340 | status = "disabled"; | ||
341 | }; | ||
342 | |||
343 | gpio16: gpio@b30000 { | ||
344 | compatible = "arm,pl061", "arm,primecell"; | ||
345 | reg = <0xb30000 0x1000>; | ||
346 | interrupts = <0 124 0x4>; | ||
347 | gpio-controller; | ||
348 | #gpio-cells = <2>; | ||
349 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
350 | clock-names = "apb_pclk"; | ||
351 | interrupt-controller; | ||
352 | #interrupt-cells = <2>; | ||
353 | status = "disabled"; | ||
354 | }; | ||
355 | |||
356 | gpio17: gpio@b31000 { | ||
357 | compatible = "arm,pl061", "arm,primecell"; | ||
358 | reg = <0xb31000 0x1000>; | ||
359 | interrupts = <0 125 0x4>; | ||
360 | gpio-controller; | ||
361 | #gpio-cells = <2>; | ||
362 | clocks = <&clock HIX5HD2_FIXED_100M>; | ||
363 | clock-names = "apb_pclk"; | ||
364 | interrupt-controller; | ||
365 | #interrupt-cells = <2>; | ||
366 | status = "disabled"; | ||
367 | }; | ||
368 | |||
369 | wdt0: watchdog@a2c000 { | ||
370 | compatible = "arm,sp805", "arm,primecell"; | ||
371 | arm,primecell-periphid = <0x00141805>; | ||
372 | reg = <0xa2c000 0x1000>; | ||
373 | interrupts = <0 29 4>; | ||
374 | clocks = <&clock HIX5HD2_WDG0_RST>; | ||
375 | clock-names = "apb_pclk"; | ||
376 | }; | ||
134 | }; | 377 | }; |
135 | 378 | ||
136 | local_timer@00a00600 { | 379 | local_timer@00a00600 { |
@@ -148,9 +391,15 @@ | |||
148 | }; | 391 | }; |
149 | 392 | ||
150 | sysctrl: system-controller@00000000 { | 393 | sysctrl: system-controller@00000000 { |
151 | compatible = "hisilicon,sysctrl"; | 394 | compatible = "hisilicon,sysctrl", "syscon"; |
152 | reg = <0x00000000 0x1000>; | 395 | reg = <0x00000000 0x1000>; |
153 | reboot-offset = <0x4>; | 396 | }; |
397 | |||
398 | reboot { | ||
399 | compatible = "syscon-reboot"; | ||
400 | regmap = <&sysctrl>; | ||
401 | offset = <0x4>; | ||
402 | mask = <0xdeadbeef>; | ||
154 | }; | 403 | }; |
155 | 404 | ||
156 | cpuctrl@00a22000 { | 405 | cpuctrl@00a22000 { |
@@ -166,5 +415,142 @@ | |||
166 | #clock-cells = <1>; | 415 | #clock-cells = <1>; |
167 | }; | 416 | }; |
168 | }; | 417 | }; |
418 | |||
419 | /* unremovable emmc as mmcblk0 */ | ||
420 | mmc: mmc@1830000 { | ||
421 | compatible = "snps,dw-mshc"; | ||
422 | reg = <0x1830000 0x1000>; | ||
423 | interrupts = <0 35 4>; | ||
424 | clocks = <&clock HIX5HD2_MMC_CIU_RST>, | ||
425 | <&clock HIX5HD2_MMC_BIU_CLK>; | ||
426 | clock-names = "ciu", "biu"; | ||
427 | }; | ||
428 | |||
429 | sd: mmc@1820000 { | ||
430 | compatible = "snps,dw-mshc"; | ||
431 | reg = <0x1820000 0x1000>; | ||
432 | interrupts = <0 34 4>; | ||
433 | clocks = <&clock HIX5HD2_SD_CIU_RST>, | ||
434 | <&clock HIX5HD2_SD_BIU_CLK>; | ||
435 | clock-names = "ciu","biu"; | ||
436 | }; | ||
437 | |||
438 | gmac0: ethernet@1840000 { | ||
439 | compatible = "hisilicon,hix5hd2-gmac"; | ||
440 | reg = <0x1840000 0x1000>,<0x184300c 0x4>; | ||
441 | interrupts = <0 71 4>; | ||
442 | clocks = <&clock HIX5HD2_MAC0_CLK>; | ||
443 | status = "disabled"; | ||
444 | }; | ||
445 | |||
446 | gmac1: ethernet@1841000 { | ||
447 | compatible = "hisilicon,hix5hd2-gmac"; | ||
448 | reg = <0x1841000 0x1000>,<0x1843010 0x4>; | ||
449 | interrupts = <0 72 4>; | ||
450 | clocks = <&clock HIX5HD2_MAC1_CLK>; | ||
451 | status = "disabled"; | ||
452 | }; | ||
453 | |||
454 | usb0: ehci@1890000 { | ||
455 | compatible = "generic-ehci"; | ||
456 | reg = <0x1890000 0x1000>; | ||
457 | interrupts = <0 66 4>; | ||
458 | clocks = <&clock HIX5HD2_USB_CLK>; | ||
459 | }; | ||
460 | |||
461 | usb1: ohci@1880000 { | ||
462 | compatible = "generic-ohci"; | ||
463 | reg = <0x1880000 0x1000>; | ||
464 | interrupts = <0 67 4>; | ||
465 | clocks = <&clock HIX5HD2_USB_CLK>; | ||
466 | }; | ||
467 | |||
468 | peripheral_ctrl: syscon@a20000 { | ||
469 | compatible = "syscon"; | ||
470 | reg = <0xa20000 0x1000>; | ||
471 | }; | ||
472 | |||
473 | sata_phy: phy@1900000 { | ||
474 | compatible = "hisilicon,hix5hd2-sata-phy"; | ||
475 | reg = <0x1900000 0x10000>; | ||
476 | #phy-cells = <0>; | ||
477 | hisilicon,peripheral-syscon = <&peripheral_ctrl>; | ||
478 | hisilicon,power-reg = <0x8 10>; | ||
479 | }; | ||
480 | |||
481 | ahci: sata@1900000 { | ||
482 | compatible = "hisilicon,hisi-ahci"; | ||
483 | reg = <0x1900000 0x10000>; | ||
484 | interrupts = <0 70 4>; | ||
485 | clocks = <&clock HIX5HD2_SATA_CLK>; | ||
486 | }; | ||
487 | |||
488 | ir: ir@001000 { | ||
489 | compatible = "hisilicon,hix5hd2-ir"; | ||
490 | reg = <0x001000 0x1000>; | ||
491 | interrupts = <0 47 4>; | ||
492 | clocks = <&clock HIX5HD2_FIXED_24M>; | ||
493 | hisilicon,power-syscon = <&sysctrl>; | ||
494 | }; | ||
495 | |||
496 | i2c0: i2c@b10000 { | ||
497 | compatible = "hisilicon,hix5hd2-i2c"; | ||
498 | reg = <0xb10000 0x1000>; | ||
499 | interrupts = <0 38 4>; | ||
500 | clocks = <&clock HIX5HD2_I2C0_RST>; | ||
501 | #address-cells = <1>; | ||
502 | #size-cells = <0>; | ||
503 | status = "disabled"; | ||
504 | }; | ||
505 | |||
506 | i2c1: i2c@b11000 { | ||
507 | compatible = "hisilicon,hix5hd2-i2c"; | ||
508 | reg = <0xb11000 0x1000>; | ||
509 | interrupts = <0 39 4>; | ||
510 | clocks = <&clock HIX5HD2_I2C1_RST>; | ||
511 | #address-cells = <1>; | ||
512 | #size-cells = <0>; | ||
513 | status = "disabled"; | ||
514 | }; | ||
515 | |||
516 | i2c2: i2c@b12000 { | ||
517 | compatible = "hisilicon,hix5hd2-i2c"; | ||
518 | reg = <0xb12000 0x1000>; | ||
519 | interrupts = <0 40 4>; | ||
520 | clocks = <&clock HIX5HD2_I2C2_RST>; | ||
521 | #address-cells = <1>; | ||
522 | #size-cells = <0>; | ||
523 | status = "disabled"; | ||
524 | }; | ||
525 | |||
526 | i2c3: i2c@b13000 { | ||
527 | compatible = "hisilicon,hix5hd2-i2c"; | ||
528 | reg = <0xb13000 0x1000>; | ||
529 | interrupts = <0 41 4>; | ||
530 | clocks = <&clock HIX5HD2_I2C3_RST>; | ||
531 | #address-cells = <1>; | ||
532 | #size-cells = <0>; | ||
533 | status = "disabled"; | ||
534 | }; | ||
535 | |||
536 | i2c4: i2c@b16000 { | ||
537 | compatible = "hisilicon,hix5hd2-i2c"; | ||
538 | reg = <0xb16000 0x1000>; | ||
539 | interrupts = <0 43 4>; | ||
540 | clocks = <&clock HIX5HD2_I2C4_RST>; | ||
541 | #address-cells = <1>; | ||
542 | #size-cells = <0>; | ||
543 | status = "disabled"; | ||
544 | }; | ||
545 | |||
546 | i2c5: i2c@b17000 { | ||
547 | compatible = "hisilicon,hix5hd2-i2c"; | ||
548 | reg = <0xb17000 0x1000>; | ||
549 | interrupts = <0 44 4>; | ||
550 | clocks = <&clock HIX5HD2_I2C5_RST>; | ||
551 | #address-cells = <1>; | ||
552 | #size-cells = <0>; | ||
553 | status = "disabled"; | ||
554 | }; | ||
169 | }; | 555 | }; |
170 | }; | 556 | }; |
diff --git a/arch/arm/boot/dts/imx51.dtsi b/arch/arm/boot/dts/imx51.dtsi index 92660e1fe1fc..c0116cffc513 100644 --- a/arch/arm/boot/dts/imx51.dtsi +++ b/arch/arm/boot/dts/imx51.dtsi | |||
@@ -214,7 +214,9 @@ | |||
214 | compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; | 214 | compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; |
215 | reg = <0x70014000 0x4000>; | 215 | reg = <0x70014000 0x4000>; |
216 | interrupts = <30>; | 216 | interrupts = <30>; |
217 | clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>; | 217 | clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>, |
218 | <&clks IMX5_CLK_SSI2_ROOT_GATE>; | ||
219 | clock-names = "ipg", "baud"; | ||
218 | dmas = <&sdma 24 1 0>, | 220 | dmas = <&sdma 24 1 0>, |
219 | <&sdma 25 1 0>; | 221 | <&sdma 25 1 0>; |
220 | dma-names = "rx", "tx"; | 222 | dma-names = "rx", "tx"; |
@@ -504,7 +506,9 @@ | |||
504 | compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; | 506 | compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; |
505 | reg = <0x83fcc000 0x4000>; | 507 | reg = <0x83fcc000 0x4000>; |
506 | interrupts = <29>; | 508 | interrupts = <29>; |
507 | clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>; | 509 | clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>, |
510 | <&clks IMX5_CLK_SSI1_ROOT_GATE>; | ||
511 | clock-names = "ipg", "baud"; | ||
508 | dmas = <&sdma 28 0 0>, | 512 | dmas = <&sdma 28 0 0>, |
509 | <&sdma 29 0 0>; | 513 | <&sdma 29 0 0>; |
510 | dma-names = "rx", "tx"; | 514 | dma-names = "rx", "tx"; |
@@ -560,7 +564,9 @@ | |||
560 | compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; | 564 | compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; |
561 | reg = <0x83fe8000 0x4000>; | 565 | reg = <0x83fe8000 0x4000>; |
562 | interrupts = <96>; | 566 | interrupts = <96>; |
563 | clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>; | 567 | clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>, |
568 | <&clks IMX5_CLK_SSI3_ROOT_GATE>; | ||
569 | clock-names = "ipg", "baud"; | ||
564 | dmas = <&sdma 46 0 0>, | 570 | dmas = <&sdma 46 0 0>, |
565 | <&sdma 47 0 0>; | 571 | <&sdma 47 0 0>; |
566 | dma-names = "rx", "tx"; | 572 | dma-names = "rx", "tx"; |
diff --git a/arch/arm/boot/dts/imx53.dtsi b/arch/arm/boot/dts/imx53.dtsi index f91725b2e8ab..a30bddfdbdb6 100644 --- a/arch/arm/boot/dts/imx53.dtsi +++ b/arch/arm/boot/dts/imx53.dtsi | |||
@@ -46,10 +46,21 @@ | |||
46 | cpus { | 46 | cpus { |
47 | #address-cells = <1>; | 47 | #address-cells = <1>; |
48 | #size-cells = <0>; | 48 | #size-cells = <0>; |
49 | cpu@0 { | 49 | cpu0: cpu@0 { |
50 | device_type = "cpu"; | 50 | device_type = "cpu"; |
51 | compatible = "arm,cortex-a8"; | 51 | compatible = "arm,cortex-a8"; |
52 | reg = <0x0>; | 52 | reg = <0x0>; |
53 | clocks = <&clks IMX5_CLK_ARM>; | ||
54 | clock-latency = <61036>; | ||
55 | voltage-tolerance = <5>; | ||
56 | operating-points = < | ||
57 | /* kHz */ | ||
58 | 166666 850000 | ||
59 | 400000 900000 | ||
60 | 800000 1050000 | ||
61 | 1000000 1200000 | ||
62 | 1200000 1300000 | ||
63 | >; | ||
53 | }; | 64 | }; |
54 | }; | 65 | }; |
55 | 66 | ||
@@ -227,7 +238,9 @@ | |||
227 | "fsl,imx21-ssi"; | 238 | "fsl,imx21-ssi"; |
228 | reg = <0x50014000 0x4000>; | 239 | reg = <0x50014000 0x4000>; |
229 | interrupts = <30>; | 240 | interrupts = <30>; |
230 | clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>; | 241 | clocks = <&clks IMX5_CLK_SSI2_IPG_GATE>, |
242 | <&clks IMX5_CLK_SSI2_ROOT_GATE>; | ||
243 | clock-names = "ipg", "baud"; | ||
231 | dmas = <&sdma 24 1 0>, | 244 | dmas = <&sdma 24 1 0>, |
232 | <&sdma 25 1 0>; | 245 | <&sdma 25 1 0>; |
233 | dma-names = "rx", "tx"; | 246 | dma-names = "rx", "tx"; |
@@ -675,7 +688,9 @@ | |||
675 | "fsl,imx21-ssi"; | 688 | "fsl,imx21-ssi"; |
676 | reg = <0x63fcc000 0x4000>; | 689 | reg = <0x63fcc000 0x4000>; |
677 | interrupts = <29>; | 690 | interrupts = <29>; |
678 | clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>; | 691 | clocks = <&clks IMX5_CLK_SSI1_IPG_GATE>, |
692 | <&clks IMX5_CLK_SSI1_ROOT_GATE>; | ||
693 | clock-names = "ipg", "baud"; | ||
679 | dmas = <&sdma 28 0 0>, | 694 | dmas = <&sdma 28 0 0>, |
680 | <&sdma 29 0 0>; | 695 | <&sdma 29 0 0>; |
681 | dma-names = "rx", "tx"; | 696 | dma-names = "rx", "tx"; |
@@ -703,7 +718,9 @@ | |||
703 | "fsl,imx21-ssi"; | 718 | "fsl,imx21-ssi"; |
704 | reg = <0x63fe8000 0x4000>; | 719 | reg = <0x63fe8000 0x4000>; |
705 | interrupts = <96>; | 720 | interrupts = <96>; |
706 | clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>; | 721 | clocks = <&clks IMX5_CLK_SSI3_IPG_GATE>, |
722 | <&clks IMX5_CLK_SSI3_ROOT_GATE>; | ||
723 | clock-names = "ipg", "baud"; | ||
707 | dmas = <&sdma 46 0 0>, | 724 | dmas = <&sdma 46 0 0>, |
708 | <&sdma 47 0 0>; | 725 | <&sdma 47 0 0>; |
709 | dma-names = "rx", "tx"; | 726 | dma-names = "rx", "tx"; |
diff --git a/arch/arm/boot/dts/imx6dl.dtsi b/arch/arm/boot/dts/imx6dl.dtsi index b453e0e28aee..1ac2fe732867 100644 --- a/arch/arm/boot/dts/imx6dl.dtsi +++ b/arch/arm/boot/dts/imx6dl.dtsi | |||
@@ -13,6 +13,10 @@ | |||
13 | #include "imx6qdl.dtsi" | 13 | #include "imx6qdl.dtsi" |
14 | 14 | ||
15 | / { | 15 | / { |
16 | aliases { | ||
17 | i2c3 = &i2c4; | ||
18 | }; | ||
19 | |||
16 | cpus { | 20 | cpus { |
17 | #address-cells = <1>; | 21 | #address-cells = <1>; |
18 | #size-cells = <0>; | 22 | #size-cells = <0>; |
@@ -114,3 +118,7 @@ | |||
114 | "di0_sel", "di1_sel", | 118 | "di0_sel", "di1_sel", |
115 | "di0", "di1"; | 119 | "di0", "di1"; |
116 | }; | 120 | }; |
121 | |||
122 | &vpu { | ||
123 | compatible = "fsl,imx6dl-vpu", "cnm,coda960"; | ||
124 | }; | ||
diff --git a/arch/arm/boot/dts/imx6q-tbs2910.dts b/arch/arm/boot/dts/imx6q-tbs2910.dts new file mode 100644 index 000000000000..a43abfa21e33 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-tbs2910.dts | |||
@@ -0,0 +1,432 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Soeren Moch <smoch@web.de> | ||
3 | * | ||
4 | * This file is dual-licensed: you can use it either under the terms | ||
5 | * of the GPL or the X11 license, at your option. Note that this dual | ||
6 | * licensing only applies to this file, and not this project as a | ||
7 | * whole. | ||
8 | * | ||
9 | * a) This file is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License as | ||
11 | * published by the Free Software Foundation; either version 2 of | ||
12 | * the License, or (at your option) any later version. | ||
13 | * | ||
14 | * This file is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public | ||
20 | * License along with this file; if not, write to the Free | ||
21 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
22 | * MA 02110-1301 USA | ||
23 | * | ||
24 | * Or, alternatively, | ||
25 | * | ||
26 | * b) Permission is hereby granted, free of charge, to any person | ||
27 | * obtaining a copy of this software and associated documentation | ||
28 | * files (the "Software"), to deal in the Software without | ||
29 | * restriction, including without limitation the rights to use, | ||
30 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
31 | * sell copies of the Software, and to permit persons to whom the | ||
32 | * Software is furnished to do so, subject to the following | ||
33 | * conditions: | ||
34 | * | ||
35 | * The above copyright notice and this permission notice shall be | ||
36 | * included in all copies or substantial portions of the Software. | ||
37 | * | ||
38 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
39 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
40 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
41 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
42 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
43 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
44 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
45 | * OTHER DEALINGS IN THE SOFTWARE. | ||
46 | */ | ||
47 | |||
48 | /dts-v1/; | ||
49 | |||
50 | #include "imx6q.dtsi" | ||
51 | #include <dt-bindings/gpio/gpio.h> | ||
52 | #include <dt-bindings/input/input.h> | ||
53 | |||
54 | / { | ||
55 | model = "TBS2910 Matrix ARM mini PC"; | ||
56 | compatible = "tbs,imx6q-tbs2910", "fsl,imx6q"; | ||
57 | |||
58 | chosen { | ||
59 | stdout-path = &uart1; | ||
60 | }; | ||
61 | |||
62 | memory { | ||
63 | reg = <0x10000000 0x80000000>; | ||
64 | }; | ||
65 | |||
66 | fan { | ||
67 | compatible = "gpio-fan"; | ||
68 | pinctrl-names = "default"; | ||
69 | pinctrl-0 = <&pinctrl_gpio_fan>; | ||
70 | gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>; | ||
71 | gpio-fan,speed-map = <0 0 | ||
72 | 3000 1>; | ||
73 | }; | ||
74 | |||
75 | ir_recv { | ||
76 | compatible = "gpio-ir-receiver"; | ||
77 | gpios = <&gpio3 18 GPIO_ACTIVE_LOW>; | ||
78 | pinctrl-names = "default"; | ||
79 | pinctrl-0 = <&pinctrl_ir>; | ||
80 | }; | ||
81 | |||
82 | leds { | ||
83 | compatible = "gpio-leds"; | ||
84 | pinctrl-names = "default"; | ||
85 | pinctrl-0 = <&pinctrl_gpio_leds>; | ||
86 | |||
87 | blue { | ||
88 | label = "blue_status_led"; | ||
89 | gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; | ||
90 | default-state = "keep"; | ||
91 | }; | ||
92 | }; | ||
93 | |||
94 | regulators { | ||
95 | compatible = "simple-bus"; | ||
96 | #address-cells = <1>; | ||
97 | #size-cells = <0>; | ||
98 | |||
99 | reg_2p5v: regulator@0 { | ||
100 | compatible = "regulator-fixed"; | ||
101 | reg = <0>; | ||
102 | regulator-name = "2P5V"; | ||
103 | regulator-min-microvolt = <2500000>; | ||
104 | regulator-max-microvolt = <2500000>; | ||
105 | }; | ||
106 | |||
107 | reg_3p3v: regulator@1 { | ||
108 | compatible = "regulator-fixed"; | ||
109 | reg = <1>; | ||
110 | regulator-name = "3P3V"; | ||
111 | regulator-min-microvolt = <3300000>; | ||
112 | regulator-max-microvolt = <3300000>; | ||
113 | }; | ||
114 | |||
115 | reg_5p0v: regulator@2 { | ||
116 | compatible = "regulator-fixed"; | ||
117 | reg = <2>; | ||
118 | regulator-name = "5P0V"; | ||
119 | regulator-min-microvolt = <5000000>; | ||
120 | regulator-max-microvolt = <5000000>; | ||
121 | }; | ||
122 | }; | ||
123 | |||
124 | sound-sgtl5000 { | ||
125 | audio-codec = <&sgtl5000>; | ||
126 | audio-routing = | ||
127 | "MIC_IN", "Mic Jack", | ||
128 | "Mic Jack", "Mic Bias", | ||
129 | "Headphone Jack", "HP_OUT"; | ||
130 | compatible = "fsl,imx-audio-sgtl5000"; | ||
131 | model = "On-board Codec"; | ||
132 | mux-ext-port = <3>; | ||
133 | mux-int-port = <1>; | ||
134 | ssi-controller = <&ssi1>; | ||
135 | }; | ||
136 | |||
137 | sound-spdif { | ||
138 | compatible = "fsl,imx-audio-spdif"; | ||
139 | model = "On-board SPDIF"; | ||
140 | spdif-controller = <&spdif>; | ||
141 | spdif-out; | ||
142 | }; | ||
143 | }; | ||
144 | |||
145 | &audmux { | ||
146 | status = "okay"; | ||
147 | }; | ||
148 | |||
149 | &fec { | ||
150 | pinctrl-names = "default"; | ||
151 | pinctrl-0 = <&pinctrl_enet>; | ||
152 | phy-mode = "rgmii"; | ||
153 | phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_HIGH>; | ||
154 | status = "okay"; | ||
155 | }; | ||
156 | |||
157 | &hdmi { | ||
158 | pinctrl-names = "default"; | ||
159 | pinctrl-0 = <&pinctrl_hdmi>; | ||
160 | ddc-i2c-bus = <&i2c2>; | ||
161 | status = "okay"; | ||
162 | }; | ||
163 | |||
164 | &i2c1 { | ||
165 | clock-frequency = <100000>; | ||
166 | pinctrl-names = "default"; | ||
167 | pinctrl-0 = <&pinctrl_i2c1>; | ||
168 | status = "okay"; | ||
169 | |||
170 | sgtl5000: sgtl5000@0a { | ||
171 | clocks = <&clks 201>; | ||
172 | compatible = "fsl,sgtl5000"; | ||
173 | pinctrl-names = "default"; | ||
174 | pinctrl-0 = <&pinctrl_sgtl5000>; | ||
175 | reg = <0x0a>; | ||
176 | VDDA-supply = <®_2p5v>; | ||
177 | VDDIO-supply = <®_3p3v>; | ||
178 | }; | ||
179 | }; | ||
180 | |||
181 | &i2c2 { | ||
182 | clock-frequency = <100000>; | ||
183 | pinctrl-names = "default"; | ||
184 | pinctrl-0 = <&pinctrl_i2c2>; | ||
185 | status = "okay"; | ||
186 | }; | ||
187 | |||
188 | &i2c3 { | ||
189 | clock-frequency = <100000>; | ||
190 | pinctrl-names = "default"; | ||
191 | pinctrl-0 = <&pinctrl_i2c3>; | ||
192 | status = "okay"; | ||
193 | |||
194 | rtc: ds1307@68 { | ||
195 | compatible = "dallas,ds1307"; | ||
196 | reg = <0x68>; | ||
197 | }; | ||
198 | }; | ||
199 | |||
200 | &pcie { | ||
201 | pinctrl-names = "default"; | ||
202 | pinctrl-0 = <&pinctrl_pcie>; | ||
203 | reset-gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>; | ||
204 | status = "okay"; | ||
205 | }; | ||
206 | |||
207 | &sata { | ||
208 | status = "okay"; | ||
209 | }; | ||
210 | |||
211 | &snvs_poweroff { | ||
212 | status = "okay"; | ||
213 | }; | ||
214 | |||
215 | &spdif { | ||
216 | pinctrl-names = "default"; | ||
217 | pinctrl-0 = <&pinctrl_spdif>; | ||
218 | status = "okay"; | ||
219 | }; | ||
220 | |||
221 | &ssi1 { | ||
222 | status = "okay"; | ||
223 | }; | ||
224 | |||
225 | &uart1 { | ||
226 | pinctrl-names = "default"; | ||
227 | pinctrl-0 = <&pinctrl_uart1>; | ||
228 | status = "okay"; | ||
229 | }; | ||
230 | |||
231 | &uart2 { | ||
232 | pinctrl-names = "default"; | ||
233 | pinctrl-0 = <&pinctrl_uart2>; | ||
234 | status = "okay"; | ||
235 | }; | ||
236 | |||
237 | &usbh1 { | ||
238 | vbus-supply = <®_5p0v>; | ||
239 | status = "okay"; | ||
240 | }; | ||
241 | |||
242 | &usbotg { | ||
243 | vbus-supply = <®_5p0v>; | ||
244 | pinctrl-names = "default"; | ||
245 | pinctrl-0 = <&pinctrl_usbotg>; | ||
246 | disable-over-current; | ||
247 | status = "okay"; | ||
248 | }; | ||
249 | |||
250 | &usdhc2 { | ||
251 | pinctrl-names = "default"; | ||
252 | pinctrl-0 = <&pinctrl_usdhc2>; | ||
253 | bus-width = <4>; | ||
254 | cd-gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>; | ||
255 | vmmc-supply = <®_3p3v>; | ||
256 | status = "okay"; | ||
257 | }; | ||
258 | |||
259 | &usdhc3 { | ||
260 | pinctrl-names = "default"; | ||
261 | pinctrl-0 = <&pinctrl_usdhc3>; | ||
262 | bus-width = <4>; | ||
263 | cd-gpios = <&gpio2 0 GPIO_ACTIVE_HIGH>; | ||
264 | wp-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; | ||
265 | vmmc-supply = <®_3p3v>; | ||
266 | status = "okay"; | ||
267 | }; | ||
268 | |||
269 | &usdhc4 { | ||
270 | pinctrl-names = "default"; | ||
271 | pinctrl-0 = <&pinctrl_usdhc4>; | ||
272 | bus-width = <8>; | ||
273 | non-removable; | ||
274 | no-1-8-v; | ||
275 | status = "okay"; | ||
276 | }; | ||
277 | |||
278 | &iomuxc { | ||
279 | imx6q-tbs2910 { | ||
280 | pinctrl_enet: enetgrp { | ||
281 | fsl,pins = < | ||
282 | MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 | ||
283 | MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 | ||
284 | MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0 | ||
285 | MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0 | ||
286 | MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0 | ||
287 | MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0 | ||
288 | MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0 | ||
289 | MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0 | ||
290 | MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0 | ||
291 | MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0 | ||
292 | MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0 | ||
293 | MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0 | ||
294 | MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0 | ||
295 | MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0 | ||
296 | MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0 | ||
297 | MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8 | ||
298 | MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25 0x1b059 | ||
299 | >; | ||
300 | }; | ||
301 | |||
302 | pinctrl_hdmi: hdmigrp { | ||
303 | fsl,pins = < | ||
304 | MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0 | ||
305 | >; | ||
306 | }; | ||
307 | |||
308 | pinctrl_i2c1: i2c1grp { | ||
309 | fsl,pins = < | ||
310 | MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1 | ||
311 | MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1 | ||
312 | >; | ||
313 | }; | ||
314 | |||
315 | pinctrl_i2c2: i2c2grp { | ||
316 | fsl,pins = < | ||
317 | MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 | ||
318 | MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 | ||
319 | >; | ||
320 | }; | ||
321 | |||
322 | pinctrl_i2c3: i2c3grp { | ||
323 | fsl,pins = < | ||
324 | MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1 | ||
325 | MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1 | ||
326 | >; | ||
327 | }; | ||
328 | |||
329 | pinctrl_ir: irgrp { | ||
330 | fsl,pins = < | ||
331 | MX6QDL_PAD_EIM_D18__GPIO3_IO18 0x17059 | ||
332 | >; | ||
333 | }; | ||
334 | |||
335 | pinctrl_pcie: pciegrp { | ||
336 | fsl,pins = < | ||
337 | MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x17059 | ||
338 | >; | ||
339 | }; | ||
340 | |||
341 | pinctrl_sgtl5000: sgtl5000grp { | ||
342 | fsl,pins = < | ||
343 | MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x130b0 | ||
344 | MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0 | ||
345 | MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x110b0 | ||
346 | MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0 | ||
347 | MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0 | ||
348 | >; | ||
349 | }; | ||
350 | |||
351 | pinctrl_spdif: spdifgrp { | ||
352 | fsl,pins = <MX6QDL_PAD_GPIO_19__SPDIF_OUT 0x13091 | ||
353 | >; | ||
354 | }; | ||
355 | |||
356 | pinctrl_uart1: uart1grp { | ||
357 | fsl,pins = < | ||
358 | MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1 | ||
359 | MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1 | ||
360 | >; | ||
361 | }; | ||
362 | |||
363 | pinctrl_uart2: uart2grp { | ||
364 | fsl,pins = < | ||
365 | MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1 | ||
366 | MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1 | ||
367 | >; | ||
368 | }; | ||
369 | |||
370 | pinctrl_usbotg: usbotggrp { | ||
371 | fsl,pins = < | ||
372 | MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059 | ||
373 | >; | ||
374 | }; | ||
375 | |||
376 | pinctrl_usdhc2: usdhc2grp { | ||
377 | fsl,pins = < | ||
378 | MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059 | ||
379 | MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059 | ||
380 | MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059 | ||
381 | MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 | ||
382 | MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 | ||
383 | MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059 | ||
384 | MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x17059 | ||
385 | >; | ||
386 | }; | ||
387 | |||
388 | pinctrl_usdhc3: usdhc3grp { | ||
389 | fsl,pins = < | ||
390 | MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 | ||
391 | MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059 | ||
392 | MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 | ||
393 | MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 | ||
394 | MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 | ||
395 | MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 | ||
396 | MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x17059 | ||
397 | MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x17059 | ||
398 | >; | ||
399 | }; | ||
400 | |||
401 | pinctrl_usdhc4: usdhc4grp { | ||
402 | fsl,pins = < | ||
403 | MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059 | ||
404 | MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059 | ||
405 | MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059 | ||
406 | MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059 | ||
407 | MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059 | ||
408 | MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059 | ||
409 | MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17059 | ||
410 | MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17059 | ||
411 | MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17059 | ||
412 | MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17059 | ||
413 | >; | ||
414 | }; | ||
415 | }; | ||
416 | |||
417 | gpio_fan { | ||
418 | pinctrl_gpio_fan: gpiofangrp { | ||
419 | fsl,pins = < | ||
420 | MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x130b1 | ||
421 | >; | ||
422 | }; | ||
423 | }; | ||
424 | |||
425 | gpio_leds { | ||
426 | pinctrl_gpio_leds: gpioledsgrp { | ||
427 | fsl,pins = < | ||
428 | MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x130b1 | ||
429 | >; | ||
430 | }; | ||
431 | }; | ||
432 | }; | ||
diff --git a/arch/arm/boot/dts/imx6q.dtsi b/arch/arm/boot/dts/imx6q.dtsi index e9f3646d1760..85f72e6b5bad 100644 --- a/arch/arm/boot/dts/imx6q.dtsi +++ b/arch/arm/boot/dts/imx6q.dtsi | |||
@@ -308,3 +308,7 @@ | |||
308 | }; | 308 | }; |
309 | }; | 309 | }; |
310 | }; | 310 | }; |
311 | |||
312 | &vpu { | ||
313 | compatible = "fsl,imx6q-vpu", "cnm,coda960"; | ||
314 | }; | ||
diff --git a/arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi b/arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi index 584721264121..585b4f6986c1 100644 --- a/arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi +++ b/arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi | |||
@@ -9,17 +9,103 @@ | |||
9 | * http://www.gnu.org/copyleft/gpl.html | 9 | * http://www.gnu.org/copyleft/gpl.html |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include <dt-bindings/sound/fsl-imx-audmux.h> | ||
13 | |||
12 | / { | 14 | / { |
13 | chosen { | 15 | chosen { |
14 | linux,stdout-path = &uart4; | 16 | linux,stdout-path = &uart4; |
15 | }; | 17 | }; |
18 | |||
19 | regulators { | ||
20 | sound_1v8: regulator@2 { | ||
21 | compatible = "regulator-fixed"; | ||
22 | reg = <2>; | ||
23 | regulator-name = "i2s-audio-1v8"; | ||
24 | regulator-min-microvolt = <1800000>; | ||
25 | regulator-max-microvolt = <1800000>; | ||
26 | }; | ||
27 | |||
28 | sound_3v3: regulator@3 { | ||
29 | compatible = "regulator-fixed"; | ||
30 | reg = <3>; | ||
31 | regulator-name = "i2s-audio-3v3"; | ||
32 | regulator-min-microvolt = <3300000>; | ||
33 | regulator-max-microvolt = <3300000>; | ||
34 | }; | ||
35 | }; | ||
36 | |||
37 | tlv320_mclk: oscillator { | ||
38 | compatible = "fixed-clock"; | ||
39 | #clock-cells = <0>; | ||
40 | clock-frequency = <19200000>; | ||
41 | clock-output-names = "tlv320-mclk"; | ||
42 | }; | ||
43 | |||
44 | sound { | ||
45 | compatible = "simple-audio-card"; | ||
46 | simple-audio-card,name = "OnboardTLV320AIC3007"; | ||
47 | simple-audio-card,format = "i2s"; | ||
48 | simple-audio-card,bitclock-master = <&dailink_master>; | ||
49 | simple-audio-card,frame-master = <&dailink_master>; | ||
50 | simple-audio-card,widgets = | ||
51 | "Microphone", "Mic Jack", | ||
52 | "Line", "Line In", | ||
53 | "Line", "Line Out", | ||
54 | "Speaker", "Speaker", | ||
55 | "Headphone", "Headphone Jack"; | ||
56 | simple-audio-card,routing = | ||
57 | "Line Out", "LLOUT", | ||
58 | "Line Out", "RLOUT", | ||
59 | "Speaker", "SPOP", | ||
60 | "Speaker", "SPOM", | ||
61 | "Headphone Jack", "HPLOUT", | ||
62 | "Headphone Jack", "HPROUT", | ||
63 | "MIC3L", "Mic Jack", | ||
64 | "MIC3R", "Mic Jack", | ||
65 | "Mic Jack", "Mic Bias", | ||
66 | "LINE1L", "Line In", | ||
67 | "LINE1R", "Line In"; | ||
68 | |||
69 | simple-audio-card,cpu { | ||
70 | sound-dai = <&ssi2>; | ||
71 | }; | ||
72 | |||
73 | dailink_master: simple-audio-card,codec { | ||
74 | sound-dai = <&codec>; | ||
75 | clocks = <&tlv320_mclk>; | ||
76 | }; | ||
77 | }; | ||
78 | |||
16 | }; | 79 | }; |
17 | 80 | ||
18 | &fec { | 81 | &audmux { |
19 | status = "okay"; | 82 | status = "okay"; |
83 | |||
84 | ssi2 { | ||
85 | fsl,audmux-port = <1>; | ||
86 | fsl,port-config = < | ||
87 | (IMX_AUDMUX_V2_PTCR_TFSDIR | | ||
88 | IMX_AUDMUX_V2_PTCR_TFSEL(4) | | ||
89 | IMX_AUDMUX_V2_PTCR_TCLKDIR | | ||
90 | IMX_AUDMUX_V2_PTCR_TCSEL(4)) | ||
91 | IMX_AUDMUX_V2_PDCR_RXDSEL(4) | ||
92 | >; | ||
93 | }; | ||
94 | |||
95 | pins5 { | ||
96 | fsl,audmux-port = <4>; | ||
97 | fsl,port-config = < | ||
98 | 0x00000000 | ||
99 | IMX_AUDMUX_V2_PDCR_RXDSEL(1) | ||
100 | >; | ||
101 | }; | ||
20 | }; | 102 | }; |
21 | 103 | ||
22 | &gpmi { | 104 | &can1 { |
105 | status = "okay"; | ||
106 | }; | ||
107 | |||
108 | &fec { | ||
23 | status = "okay"; | 109 | status = "okay"; |
24 | }; | 110 | }; |
25 | 111 | ||
@@ -28,14 +114,18 @@ | |||
28 | }; | 114 | }; |
29 | 115 | ||
30 | &i2c2 { | 116 | &i2c2 { |
31 | pinctrl-names = "default"; | ||
32 | pinctrl-0 = <&pinctrl_i2c2>; | ||
33 | clock-frequency = <100000>; | ||
34 | status = "okay"; | 117 | status = "okay"; |
35 | 118 | ||
36 | tlv320@18 { | 119 | codec: tlv320@18 { |
37 | compatible = "ti,tlv320aic3x"; | 120 | compatible = "ti,tlv320aic3007"; |
121 | #sound-dai-cells = <0>; | ||
38 | reg = <0x18>; | 122 | reg = <0x18>; |
123 | ai3x-micbias-vg = <2>; | ||
124 | |||
125 | AVDD-supply = <&sound_3v3>; | ||
126 | IOVDD-supply = <&sound_3v3>; | ||
127 | DRVDD-supply = <&sound_3v3>; | ||
128 | DVDD-supply = <&sound_1v8>; | ||
39 | }; | 129 | }; |
40 | 130 | ||
41 | stmpe@41 { | 131 | stmpe@41 { |
@@ -55,9 +145,14 @@ | |||
55 | }; | 145 | }; |
56 | 146 | ||
57 | &i2c3 { | 147 | &i2c3 { |
58 | pinctrl-names = "default"; | 148 | status = "okay"; |
59 | pinctrl-0 = <&pinctrl_i2c3>; | 149 | }; |
60 | clock-frequency = <100000>; | 150 | |
151 | &pcie { | ||
152 | status = "okay"; | ||
153 | }; | ||
154 | |||
155 | &ssi2 { | ||
61 | status = "okay"; | 156 | status = "okay"; |
62 | }; | 157 | }; |
63 | 158 | ||
@@ -84,19 +179,3 @@ | |||
84 | &usdhc3 { | 179 | &usdhc3 { |
85 | status = "okay"; | 180 | status = "okay"; |
86 | }; | 181 | }; |
87 | |||
88 | &iomuxc { | ||
89 | pinctrl_i2c2: i2c2grp { | ||
90 | fsl,pins = < | ||
91 | MX6QDL_PAD_EIM_EB2__I2C2_SCL 0x4001b8b1 | ||
92 | MX6QDL_PAD_EIM_D16__I2C2_SDA 0x4001b8b1 | ||
93 | >; | ||
94 | }; | ||
95 | |||
96 | pinctrl_i2c3: i2c3grp { | ||
97 | fsl,pins = < | ||
98 | MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1 | ||
99 | MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1 | ||
100 | >; | ||
101 | }; | ||
102 | }; | ||
diff --git a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi index 0e50bb0a6b94..19cc269a08d4 100644 --- a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi +++ b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi | |||
@@ -58,6 +58,18 @@ | |||
58 | }; | 58 | }; |
59 | }; | 59 | }; |
60 | 60 | ||
61 | &audmux { | ||
62 | pinctrl-names = "default"; | ||
63 | pinctrl-0 = <&pinctrl_audmux>; | ||
64 | status = "disabled"; | ||
65 | }; | ||
66 | |||
67 | &can1 { | ||
68 | pinctrl-names = "default"; | ||
69 | pinctrl-0 = <&pinctrl_flexcan1>; | ||
70 | status = "disabled"; | ||
71 | }; | ||
72 | |||
61 | &ecspi3 { | 73 | &ecspi3 { |
62 | pinctrl-names = "default"; | 74 | pinctrl-names = "default"; |
63 | pinctrl-0 = <&pinctrl_ecspi3>; | 75 | pinctrl-0 = <&pinctrl_ecspi3>; |
@@ -72,6 +84,22 @@ | |||
72 | }; | 84 | }; |
73 | }; | 85 | }; |
74 | 86 | ||
87 | &fec { | ||
88 | pinctrl-names = "default"; | ||
89 | pinctrl-0 = <&pinctrl_enet>; | ||
90 | phy-mode = "rgmii"; | ||
91 | phy-reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>; | ||
92 | phy-supply = <&vdd_eth_io_reg>; | ||
93 | status = "disabled"; | ||
94 | }; | ||
95 | |||
96 | &gpmi { | ||
97 | pinctrl-names = "default"; | ||
98 | pinctrl-0 = <&pinctrl_gpmi_nand>; | ||
99 | nand-on-flash-bbt; | ||
100 | status = "okay"; | ||
101 | }; | ||
102 | |||
75 | &i2c1 { | 103 | &i2c1 { |
76 | pinctrl-names = "default"; | 104 | pinctrl-names = "default"; |
77 | pinctrl-0 = <&pinctrl_i2c1>; | 105 | pinctrl-0 = <&pinctrl_i2c1>; |
@@ -85,8 +113,8 @@ | |||
85 | pmic@58 { | 113 | pmic@58 { |
86 | compatible = "dlg,da9063"; | 114 | compatible = "dlg,da9063"; |
87 | reg = <0x58>; | 115 | reg = <0x58>; |
88 | interrupt-parent = <&gpio4>; | 116 | interrupt-parent = <&gpio2>; |
89 | interrupts = <17 0x8>; /* active-low GPIO4_17 */ | 117 | interrupts = <9 0x8>; /* active-low GPIO2_9 */ |
90 | 118 | ||
91 | regulators { | 119 | regulators { |
92 | vddcore_reg: bcore1 { | 120 | vddcore_reg: bcore1 { |
@@ -162,6 +190,18 @@ | |||
162 | }; | 190 | }; |
163 | }; | 191 | }; |
164 | 192 | ||
193 | &i2c2 { | ||
194 | pinctrl-names = "default"; | ||
195 | pinctrl-0 = <&pinctrl_i2c2>; | ||
196 | clock-frequency = <100000>; | ||
197 | }; | ||
198 | |||
199 | &i2c3 { | ||
200 | pinctrl-names = "default"; | ||
201 | pinctrl-0 = <&pinctrl_i2c3>; | ||
202 | clock-frequency = <100000>; | ||
203 | }; | ||
204 | |||
165 | &iomuxc { | 205 | &iomuxc { |
166 | pinctrl-names = "default"; | 206 | pinctrl-names = "default"; |
167 | pinctrl-0 = <&pinctrl_hog>; | 207 | pinctrl-0 = <&pinctrl_hog>; |
@@ -171,7 +211,7 @@ | |||
171 | fsl,pins = < | 211 | fsl,pins = < |
172 | MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x80000000 | 212 | MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x80000000 |
173 | MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24 0x80000000 /* SPI NOR chipselect */ | 213 | MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24 0x80000000 /* SPI NOR chipselect */ |
174 | MX6QDL_PAD_DI0_PIN15__GPIO4_IO17 0x80000000 /* PMIC interrupt */ | 214 | MX6QDL_PAD_SD4_DAT1__GPIO2_IO09 0x80000000 /* PMIC interrupt */ |
175 | MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* Green LED */ | 215 | MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* Green LED */ |
176 | MX6QDL_PAD_EIM_EB3__GPIO2_IO31 0x80000000 /* Red LED */ | 216 | MX6QDL_PAD_EIM_EB3__GPIO2_IO31 0x80000000 /* Red LED */ |
177 | >; | 217 | >; |
@@ -206,6 +246,13 @@ | |||
206 | >; | 246 | >; |
207 | }; | 247 | }; |
208 | 248 | ||
249 | pinctrl_flexcan1: flexcan1grp { | ||
250 | fsl,pins = < | ||
251 | MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x1b0b0 | ||
252 | MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x1b0b0 | ||
253 | >; | ||
254 | }; | ||
255 | |||
209 | pinctrl_gpmi_nand: gpminandgrp { | 256 | pinctrl_gpmi_nand: gpminandgrp { |
210 | fsl,pins = < | 257 | fsl,pins = < |
211 | MX6QDL_PAD_NANDF_CLE__NAND_CLE 0xb0b1 | 258 | MX6QDL_PAD_NANDF_CLE__NAND_CLE 0xb0b1 |
@@ -235,6 +282,24 @@ | |||
235 | >; | 282 | >; |
236 | }; | 283 | }; |
237 | 284 | ||
285 | pinctrl_i2c2: i2c2grp { | ||
286 | fsl,pins = < | ||
287 | MX6QDL_PAD_EIM_EB2__I2C2_SCL 0x4001b8b1 | ||
288 | MX6QDL_PAD_EIM_D16__I2C2_SDA 0x4001b8b1 | ||
289 | >; | ||
290 | }; | ||
291 | |||
292 | pinctrl_i2c3: i2c3grp { | ||
293 | fsl,pins = < | ||
294 | MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1 | ||
295 | MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1 | ||
296 | >; | ||
297 | }; | ||
298 | |||
299 | pinctrl_pcie: pciegrp { | ||
300 | fsl,pins = <MX6QDL_PAD_DI0_PIN15__GPIO4_IO17 0x80000000>; | ||
301 | }; | ||
302 | |||
238 | pinctrl_uart3: uart3grp { | 303 | pinctrl_uart3: uart3grp { |
239 | fsl,pins = < | 304 | fsl,pins = < |
240 | MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1 | 305 | MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1 |
@@ -293,22 +358,22 @@ | |||
293 | MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 | 358 | MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 |
294 | >; | 359 | >; |
295 | }; | 360 | }; |
296 | }; | ||
297 | }; | ||
298 | 361 | ||
299 | &fec { | 362 | pinctrl_audmux: audmuxgrp { |
300 | pinctrl-names = "default"; | 363 | fsl,pins = < |
301 | pinctrl-0 = <&pinctrl_enet>; | 364 | MX6QDL_PAD_DISP0_DAT16__AUD5_TXC 0x130b0 |
302 | phy-mode = "rgmii"; | 365 | MX6QDL_PAD_DISP0_DAT17__AUD5_TXD 0x110b0 |
303 | phy-reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>; | 366 | MX6QDL_PAD_DISP0_DAT18__AUD5_TXFS 0x130b0 |
304 | phy-supply = <&vdd_eth_io_reg>; | 367 | MX6QDL_PAD_DISP0_DAT19__AUD5_RXD 0x130b0 |
305 | status = "disabled"; | 368 | >; |
369 | }; | ||
370 | }; | ||
306 | }; | 371 | }; |
307 | 372 | ||
308 | &gpmi { | 373 | &pcie { |
309 | pinctrl-names = "default"; | 374 | pinctrl-name = "default"; |
310 | pinctrl-0 = <&pinctrl_gpmi_nand>; | 375 | pinctrl-0 = <&pinctrl_pcie>; |
311 | nand-on-flash-bbt; | 376 | reset-gpio = <&gpio4 17 0>; |
312 | status = "disabled"; | 377 | status = "disabled"; |
313 | }; | 378 | }; |
314 | 379 | ||
diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi index 5db4a2417d94..f1cd2147421d 100644 --- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi +++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi | |||
@@ -529,6 +529,10 @@ | |||
529 | status = "okay"; | 529 | status = "okay"; |
530 | }; | 530 | }; |
531 | 531 | ||
532 | &snvs_poweroff { | ||
533 | status = "okay"; | ||
534 | }; | ||
535 | |||
532 | &ssi2 { | 536 | &ssi2 { |
533 | status = "okay"; | 537 | status = "okay"; |
534 | }; | 538 | }; |
diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi index 9596ed5867e6..4fc03b7f1cee 100644 --- a/arch/arm/boot/dts/imx6qdl.dtsi +++ b/arch/arm/boot/dts/imx6qdl.dtsi | |||
@@ -333,9 +333,17 @@ | |||
333 | }; | 333 | }; |
334 | 334 | ||
335 | vpu: vpu@02040000 { | 335 | vpu: vpu@02040000 { |
336 | compatible = "cnm,coda960"; | ||
336 | reg = <0x02040000 0x3c000>; | 337 | reg = <0x02040000 0x3c000>; |
337 | interrupts = <0 3 IRQ_TYPE_LEVEL_HIGH>, | 338 | interrupts = <0 3 IRQ_TYPE_LEVEL_HIGH>, |
338 | <0 12 IRQ_TYPE_LEVEL_HIGH>; | 339 | <0 12 IRQ_TYPE_LEVEL_HIGH>; |
340 | interrupt-names = "bit", "jpeg"; | ||
341 | clocks = <&clks IMX6QDL_CLK_VPU_AXI>, | ||
342 | <&clks IMX6QDL_CLK_MMDC_CH0_AXI>, | ||
343 | <&clks IMX6QDL_CLK_OCRAM>; | ||
344 | clock-names = "per", "ahb", "ocram"; | ||
345 | resets = <&src 1>; | ||
346 | iram = <&ocram>; | ||
339 | }; | 347 | }; |
340 | 348 | ||
341 | aipstz@0207c000 { /* AIPSTZ1 */ | 349 | aipstz@0207c000 { /* AIPSTZ1 */ |
@@ -657,6 +665,12 @@ | |||
657 | interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>, | 665 | interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>, |
658 | <0 20 IRQ_TYPE_LEVEL_HIGH>; | 666 | <0 20 IRQ_TYPE_LEVEL_HIGH>; |
659 | }; | 667 | }; |
668 | |||
669 | snvs_poweroff: snvs-poweroff@38 { | ||
670 | compatible = "fsl,sec-v4.0-poweroff"; | ||
671 | reg = <0x38 0x4>; | ||
672 | status = "disabled"; | ||
673 | }; | ||
660 | }; | 674 | }; |
661 | 675 | ||
662 | epit1: epit@020d0000 { /* EPIT1 */ | 676 | epit1: epit@020d0000 { /* EPIT1 */ |
diff --git a/arch/arm/boot/dts/imx6sl-evk.dts b/arch/arm/boot/dts/imx6sl-evk.dts index 898d14fd765f..fda4932faefd 100644 --- a/arch/arm/boot/dts/imx6sl-evk.dts +++ b/arch/arm/boot/dts/imx6sl-evk.dts | |||
@@ -580,6 +580,10 @@ | |||
580 | status = "okay"; | 580 | status = "okay"; |
581 | }; | 581 | }; |
582 | 582 | ||
583 | &snvs_poweroff { | ||
584 | status = "okay"; | ||
585 | }; | ||
586 | |||
583 | &ssi2 { | 587 | &ssi2 { |
584 | status = "okay"; | 588 | status = "okay"; |
585 | }; | 589 | }; |
diff --git a/arch/arm/boot/dts/imx6sl.dtsi b/arch/arm/boot/dts/imx6sl.dtsi index dfd83e6d8087..36ab8e054cee 100644 --- a/arch/arm/boot/dts/imx6sl.dtsi +++ b/arch/arm/boot/dts/imx6sl.dtsi | |||
@@ -574,6 +574,12 @@ | |||
574 | interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>, | 574 | interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>, |
575 | <0 20 IRQ_TYPE_LEVEL_HIGH>; | 575 | <0 20 IRQ_TYPE_LEVEL_HIGH>; |
576 | }; | 576 | }; |
577 | |||
578 | snvs_poweroff: snvs-poweroff@38 { | ||
579 | compatible = "fsl,sec-v4.0-poweroff"; | ||
580 | reg = <0x38 0x4>; | ||
581 | status = "disabled"; | ||
582 | }; | ||
577 | }; | 583 | }; |
578 | 584 | ||
579 | epit1: epit@020d0000 { | 585 | epit1: epit@020d0000 { |
diff --git a/arch/arm/boot/dts/imx6sx-sdb.dts b/arch/arm/boot/dts/imx6sx-sdb.dts index 82d6b34527b7..1e6e5cc1c14c 100644 --- a/arch/arm/boot/dts/imx6sx-sdb.dts +++ b/arch/arm/boot/dts/imx6sx-sdb.dts | |||
@@ -105,6 +105,30 @@ | |||
105 | gpio = <&gpio3 27 0>; | 105 | gpio = <&gpio3 27 0>; |
106 | enable-active-high; | 106 | enable-active-high; |
107 | }; | 107 | }; |
108 | |||
109 | reg_peri_3v3: regulator@5 { | ||
110 | compatible = "regulator-fixed"; | ||
111 | reg = <5>; | ||
112 | pinctrl-names = "default"; | ||
113 | pinctrl-0 = <&pinctrl_peri_3v3>; | ||
114 | regulator-name = "peri_3v3"; | ||
115 | regulator-min-microvolt = <3300000>; | ||
116 | regulator-max-microvolt = <3300000>; | ||
117 | gpios = <&gpio4 16 GPIO_ACTIVE_HIGH>; | ||
118 | enable-active-high; | ||
119 | regulator-always-on; | ||
120 | }; | ||
121 | |||
122 | reg_enet_3v3: regulator@6 { | ||
123 | compatible = "regulator-fixed"; | ||
124 | reg = <6>; | ||
125 | pinctrl-names = "default"; | ||
126 | pinctrl-0 = <&pinctrl_enet_3v3>; | ||
127 | regulator-name = "enet_3v3"; | ||
128 | regulator-min-microvolt = <3300000>; | ||
129 | regulator-max-microvolt = <3300000>; | ||
130 | gpios = <&gpio2 6 GPIO_ACTIVE_LOW>; | ||
131 | }; | ||
108 | }; | 132 | }; |
109 | 133 | ||
110 | sound { | 134 | sound { |
@@ -133,6 +157,14 @@ | |||
133 | &fec1 { | 157 | &fec1 { |
134 | pinctrl-names = "default"; | 158 | pinctrl-names = "default"; |
135 | pinctrl-0 = <&pinctrl_enet1>; | 159 | pinctrl-0 = <&pinctrl_enet1>; |
160 | phy-supply = <®_enet_3v3>; | ||
161 | phy-mode = "rgmii"; | ||
162 | status = "okay"; | ||
163 | }; | ||
164 | |||
165 | &fec2 { | ||
166 | pinctrl-names = "default"; | ||
167 | pinctrl-0 = <&pinctrl_enet2>; | ||
136 | phy-mode = "rgmii"; | 168 | phy-mode = "rgmii"; |
137 | status = "okay"; | 169 | status = "okay"; |
138 | }; | 170 | }; |
@@ -304,6 +336,10 @@ | |||
304 | status = "okay"; | 336 | status = "okay"; |
305 | }; | 337 | }; |
306 | 338 | ||
339 | &snvs_poweroff { | ||
340 | status = "okay"; | ||
341 | }; | ||
342 | |||
307 | &ssi2 { | 343 | &ssi2 { |
308 | status = "okay"; | 344 | status = "okay"; |
309 | }; | 345 | }; |
@@ -394,6 +430,30 @@ | |||
394 | MX6SX_PAD_RGMII1_RD2__ENET1_RX_DATA_2 0x3081 | 430 | MX6SX_PAD_RGMII1_RD2__ENET1_RX_DATA_2 0x3081 |
395 | MX6SX_PAD_RGMII1_RD3__ENET1_RX_DATA_3 0x3081 | 431 | MX6SX_PAD_RGMII1_RD3__ENET1_RX_DATA_3 0x3081 |
396 | MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN 0x3081 | 432 | MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN 0x3081 |
433 | MX6SX_PAD_ENET2_RX_CLK__ENET2_REF_CLK_25M 0x91 | ||
434 | >; | ||
435 | }; | ||
436 | |||
437 | pinctrl_enet_3v3: enet3v3grp { | ||
438 | fsl,pins = < | ||
439 | MX6SX_PAD_ENET2_COL__GPIO2_IO_6 0x80000000 | ||
440 | >; | ||
441 | }; | ||
442 | |||
443 | pinctrl_enet2: enet2grp { | ||
444 | fsl,pins = < | ||
445 | MX6SX_PAD_RGMII2_TXC__ENET2_RGMII_TXC 0xa0b9 | ||
446 | MX6SX_PAD_RGMII2_TD0__ENET2_TX_DATA_0 0xa0b1 | ||
447 | MX6SX_PAD_RGMII2_TD1__ENET2_TX_DATA_1 0xa0b1 | ||
448 | MX6SX_PAD_RGMII2_TD2__ENET2_TX_DATA_2 0xa0b1 | ||
449 | MX6SX_PAD_RGMII2_TD3__ENET2_TX_DATA_3 0xa0b1 | ||
450 | MX6SX_PAD_RGMII2_TX_CTL__ENET2_TX_EN 0xa0b1 | ||
451 | MX6SX_PAD_RGMII2_RXC__ENET2_RX_CLK 0x3081 | ||
452 | MX6SX_PAD_RGMII2_RD0__ENET2_RX_DATA_0 0x3081 | ||
453 | MX6SX_PAD_RGMII2_RD1__ENET2_RX_DATA_1 0x3081 | ||
454 | MX6SX_PAD_RGMII2_RD2__ENET2_RX_DATA_2 0x3081 | ||
455 | MX6SX_PAD_RGMII2_RD3__ENET2_RX_DATA_3 0x3081 | ||
456 | MX6SX_PAD_RGMII2_RX_CTL__ENET2_RX_EN 0x3081 | ||
397 | >; | 457 | >; |
398 | }; | 458 | }; |
399 | 459 | ||
@@ -452,6 +512,12 @@ | |||
452 | >; | 512 | >; |
453 | }; | 513 | }; |
454 | 514 | ||
515 | pinctrl_peri_3v3: peri3v3grp { | ||
516 | fsl,pins = < | ||
517 | MX6SX_PAD_QSPI1A_DATA0__GPIO4_IO_16 0x80000000 | ||
518 | >; | ||
519 | }; | ||
520 | |||
455 | pinctrl_pwm3: pwm3grp-1 { | 521 | pinctrl_pwm3: pwm3grp-1 { |
456 | fsl,pins = < | 522 | fsl,pins = < |
457 | MX6SX_PAD_SD1_DATA2__PWM3_OUT 0x110b0 | 523 | MX6SX_PAD_SD1_DATA2__PWM3_OUT 0x110b0 |
diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi index f3e88c03b1e4..7a24fee1e7ae 100644 --- a/arch/arm/boot/dts/imx6sx.dtsi +++ b/arch/arm/boot/dts/imx6sx.dtsi | |||
@@ -671,6 +671,12 @@ | |||
671 | reg = <0x34 0x58>; | 671 | reg = <0x34 0x58>; |
672 | interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; | 672 | interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; |
673 | }; | 673 | }; |
674 | |||
675 | snvs_poweroff: snvs-poweroff@38 { | ||
676 | compatible = "fsl,sec-v4.0-poweroff"; | ||
677 | reg = <0x38 0x4>; | ||
678 | status = "disabled"; | ||
679 | }; | ||
674 | }; | 680 | }; |
675 | 681 | ||
676 | epit1: epit@020d0000 { | 682 | epit1: epit@020d0000 { |
@@ -877,7 +883,7 @@ | |||
877 | }; | 883 | }; |
878 | 884 | ||
879 | fec2: ethernet@021b4000 { | 885 | fec2: ethernet@021b4000 { |
880 | compatible = "fsl,imx6sx-fec"; | 886 | compatible = "fsl,imx6sx-fec", "fsl,imx6q-fec"; |
881 | reg = <0x021b4000 0x4000>; | 887 | reg = <0x021b4000 0x4000>; |
882 | interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, | 888 | interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, |
883 | <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; | 889 | <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; |
diff --git a/arch/arm/boot/dts/k2e-evm.dts b/arch/arm/boot/dts/k2e-evm.dts index c568f067604d..560d62150ade 100644 --- a/arch/arm/boot/dts/k2e-evm.dts +++ b/arch/arm/boot/dts/k2e-evm.dts | |||
@@ -139,3 +139,15 @@ | |||
139 | }; | 139 | }; |
140 | }; | 140 | }; |
141 | }; | 141 | }; |
142 | |||
143 | &mdio { | ||
144 | ethphy0: ethernet-phy@0 { | ||
145 | compatible = "marvell,88E1514", "marvell,88E1510", "ethernet-phy-ieee802.3-c22"; | ||
146 | reg = <0>; | ||
147 | }; | ||
148 | |||
149 | ethphy1: ethernet-phy@1 { | ||
150 | compatible = "marvell,88E1514", "marvell,88E1510", "ethernet-phy-ieee802.3-c22"; | ||
151 | reg = <1>; | ||
152 | }; | ||
153 | }; | ||
diff --git a/arch/arm/boot/dts/k2e.dtsi b/arch/arm/boot/dts/k2e.dtsi index c358b4b9a073..5fc14683d6df 100644 --- a/arch/arm/boot/dts/k2e.dtsi +++ b/arch/arm/boot/dts/k2e.dtsi | |||
@@ -85,6 +85,51 @@ | |||
85 | #gpio-cells = <2>; | 85 | #gpio-cells = <2>; |
86 | gpio,syscon-dev = <&devctrl 0x240>; | 86 | gpio,syscon-dev = <&devctrl 0x240>; |
87 | }; | 87 | }; |
88 | |||
89 | pcie@21020000 { | ||
90 | compatible = "ti,keystone-pcie","snps,dw-pcie"; | ||
91 | clocks = <&clkpcie1>; | ||
92 | clock-names = "pcie"; | ||
93 | #address-cells = <3>; | ||
94 | #size-cells = <2>; | ||
95 | reg = <0x21021000 0x2000>, <0x21020000 0x1000>, <0x02620128 4>; | ||
96 | ranges = <0x81000000 0 0 0x23260000 0x4000 0x4000 | ||
97 | 0x82000000 0 0x60000000 0x60000000 0 0x10000000>; | ||
98 | |||
99 | device_type = "pci"; | ||
100 | num-lanes = <2>; | ||
101 | |||
102 | #interrupt-cells = <1>; | ||
103 | interrupt-map-mask = <0 0 0 7>; | ||
104 | interrupt-map = <0 0 0 1 &pcie_intc1 0>, /* INT A */ | ||
105 | <0 0 0 2 &pcie_intc1 1>, /* INT B */ | ||
106 | <0 0 0 3 &pcie_intc1 2>, /* INT C */ | ||
107 | <0 0 0 4 &pcie_intc1 3>; /* INT D */ | ||
108 | |||
109 | pcie_msi_intc1: msi-interrupt-controller { | ||
110 | interrupt-controller; | ||
111 | #interrupt-cells = <1>; | ||
112 | interrupt-parent = <&gic>; | ||
113 | interrupts = <GIC_SPI 377 IRQ_TYPE_EDGE_RISING>, | ||
114 | <GIC_SPI 378 IRQ_TYPE_EDGE_RISING>, | ||
115 | <GIC_SPI 379 IRQ_TYPE_EDGE_RISING>, | ||
116 | <GIC_SPI 380 IRQ_TYPE_EDGE_RISING>, | ||
117 | <GIC_SPI 381 IRQ_TYPE_EDGE_RISING>, | ||
118 | <GIC_SPI 382 IRQ_TYPE_EDGE_RISING>, | ||
119 | <GIC_SPI 383 IRQ_TYPE_EDGE_RISING>, | ||
120 | <GIC_SPI 384 IRQ_TYPE_EDGE_RISING>; | ||
121 | }; | ||
122 | |||
123 | pcie_intc1: legacy-interrupt-controller { | ||
124 | interrupt-controller; | ||
125 | #interrupt-cells = <1>; | ||
126 | interrupt-parent = <&gic>; | ||
127 | interrupts = <GIC_SPI 373 IRQ_TYPE_EDGE_RISING>, | ||
128 | <GIC_SPI 374 IRQ_TYPE_EDGE_RISING>, | ||
129 | <GIC_SPI 375 IRQ_TYPE_EDGE_RISING>, | ||
130 | <GIC_SPI 376 IRQ_TYPE_EDGE_RISING>; | ||
131 | }; | ||
132 | }; | ||
88 | }; | 133 | }; |
89 | }; | 134 | }; |
90 | 135 | ||
diff --git a/arch/arm/boot/dts/k2l-evm.dts b/arch/arm/boot/dts/k2l-evm.dts index fec43128a2e0..85cc7f2872d7 100644 --- a/arch/arm/boot/dts/k2l-evm.dts +++ b/arch/arm/boot/dts/k2l-evm.dts | |||
@@ -116,3 +116,15 @@ | |||
116 | }; | 116 | }; |
117 | }; | 117 | }; |
118 | }; | 118 | }; |
119 | |||
120 | &mdio { | ||
121 | ethphy0: ethernet-phy@0 { | ||
122 | compatible = "marvell,88E1514", "marvell,88E1510", "ethernet-phy-ieee802.3-c22"; | ||
123 | reg = <0>; | ||
124 | }; | ||
125 | |||
126 | ethphy1: ethernet-phy@1 { | ||
127 | compatible = "marvell,88E1514", "marvell,88E1510", "ethernet-phy-ieee802.3-c22"; | ||
128 | reg = <1>; | ||
129 | }; | ||
130 | }; | ||
diff --git a/arch/arm/boot/dts/keystone.dtsi b/arch/arm/boot/dts/keystone.dtsi index 5d3e83fa2242..c06542b2c954 100644 --- a/arch/arm/boot/dts/keystone.dtsi +++ b/arch/arm/boot/dts/keystone.dtsi | |||
@@ -285,5 +285,50 @@ | |||
285 | #interrupt-cells = <1>; | 285 | #interrupt-cells = <1>; |
286 | ti,syscon-dev = <&devctrl 0x2a0>; | 286 | ti,syscon-dev = <&devctrl 0x2a0>; |
287 | }; | 287 | }; |
288 | |||
289 | pcie@21800000 { | ||
290 | compatible = "ti,keystone-pcie", "snps,dw-pcie"; | ||
291 | clocks = <&clkpcie>; | ||
292 | clock-names = "pcie"; | ||
293 | #address-cells = <3>; | ||
294 | #size-cells = <2>; | ||
295 | reg = <0x21801000 0x2000>, <0x21800000 0x1000>, <0x02620128 4>; | ||
296 | ranges = <0x81000000 0 0 0x23250000 0 0x4000 | ||
297 | 0x82000000 0 0x50000000 0x50000000 0 0x10000000>; | ||
298 | |||
299 | device_type = "pci"; | ||
300 | num-lanes = <2>; | ||
301 | |||
302 | #interrupt-cells = <1>; | ||
303 | interrupt-map-mask = <0 0 0 7>; | ||
304 | interrupt-map = <0 0 0 1 &pcie_intc0 0>, /* INT A */ | ||
305 | <0 0 0 2 &pcie_intc0 1>, /* INT B */ | ||
306 | <0 0 0 3 &pcie_intc0 2>, /* INT C */ | ||
307 | <0 0 0 4 &pcie_intc0 3>; /* INT D */ | ||
308 | |||
309 | pcie_msi_intc0: msi-interrupt-controller { | ||
310 | interrupt-controller; | ||
311 | #interrupt-cells = <1>; | ||
312 | interrupt-parent = <&gic>; | ||
313 | interrupts = <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>, | ||
314 | <GIC_SPI 31 IRQ_TYPE_EDGE_RISING>, | ||
315 | <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>, | ||
316 | <GIC_SPI 33 IRQ_TYPE_EDGE_RISING>, | ||
317 | <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>, | ||
318 | <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>, | ||
319 | <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>, | ||
320 | <GIC_SPI 37 IRQ_TYPE_EDGE_RISING>; | ||
321 | }; | ||
322 | |||
323 | pcie_intc0: legacy-interrupt-controller { | ||
324 | interrupt-controller; | ||
325 | #interrupt-cells = <1>; | ||
326 | interrupt-parent = <&gic>; | ||
327 | interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>, | ||
328 | <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>, | ||
329 | <GIC_SPI 28 IRQ_TYPE_EDGE_RISING>, | ||
330 | <GIC_SPI 29 IRQ_TYPE_EDGE_RISING>; | ||
331 | }; | ||
332 | }; | ||
288 | }; | 333 | }; |
289 | }; | 334 | }; |
diff --git a/arch/arm/boot/dts/kirkwood-dir665.dts b/arch/arm/boot/dts/kirkwood-dir665.dts new file mode 100644 index 000000000000..786959ee9cbe --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-dir665.dts | |||
@@ -0,0 +1,278 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 Claudio Leite <leitec@staticky.com> | ||
3 | * | ||
4 | * This file is licensed under the terms of the GNU General Public | ||
5 | * License version 2. This program is licensed "as is" without any | ||
6 | * warranty of any kind, whether express or implied. | ||
7 | */ | ||
8 | |||
9 | /dts-v1/; | ||
10 | |||
11 | #include "kirkwood.dtsi" | ||
12 | #include "kirkwood-6281.dtsi" | ||
13 | |||
14 | / { | ||
15 | model = "D-Link DIR-665"; | ||
16 | compatible = "dlink,dir-665", "marvell,kirkwood-88f6281", "marvell,kirkwood"; | ||
17 | |||
18 | memory { | ||
19 | device_type = "memory"; | ||
20 | reg = <0x00000000 0x8000000>; /* 128 MB */ | ||
21 | }; | ||
22 | |||
23 | chosen { | ||
24 | bootargs = "console=ttyS0,115200n8 earlyprintk"; | ||
25 | stdout-path = &uart0; | ||
26 | }; | ||
27 | |||
28 | mbus { | ||
29 | pcie-controller { | ||
30 | status = "okay"; | ||
31 | |||
32 | pcie@1,0 { | ||
33 | status = "okay"; | ||
34 | }; | ||
35 | }; | ||
36 | }; | ||
37 | |||
38 | ocp@f1000000 { | ||
39 | pinctrl: pin-controller@10000 { | ||
40 | pinctrl-0 =< &pmx_led_usb | ||
41 | &pmx_led_internet_blue | ||
42 | &pmx_led_internet_amber | ||
43 | &pmx_led_5g &pmx_led_status_blue | ||
44 | &pmx_led_wps &pmx_led_status_amber | ||
45 | &pmx_led_24g | ||
46 | &pmx_btn_restart &pmx_btn_wps>; | ||
47 | pinctrl-names = "default"; | ||
48 | |||
49 | pmx_led_usb: pmx-led-usb { | ||
50 | marvell,pins = "mpp12"; | ||
51 | marvell,function = "gpio"; | ||
52 | }; | ||
53 | pmx_led_internet_blue: pmx-led-internet-blue { | ||
54 | marvell,pins = "mpp42"; | ||
55 | marvell,function = "gpio"; | ||
56 | }; | ||
57 | pmx_led_internet_amber: pmx-led-internet-amber { | ||
58 | marvell,pins = "mpp43"; | ||
59 | marvell,function = "gpio"; | ||
60 | }; | ||
61 | pmx_led_5g: pmx-led-5g { | ||
62 | marvell,pins = "mpp44"; | ||
63 | marvell,function = "gpio"; | ||
64 | }; | ||
65 | pmx_led_status_blue: pmx-led-status-blue { | ||
66 | marvell,pins = "mpp45"; | ||
67 | marvell,function = "gpio"; | ||
68 | }; | ||
69 | pmx_led_wps: pmx-led-wps { | ||
70 | marvell,pins = "mpp47"; | ||
71 | marvell,function = "gpio"; | ||
72 | }; | ||
73 | pmx_led_status_amber: pmx-led-status-amber { | ||
74 | marvell,pins = "mpp48"; | ||
75 | marvell,function = "gpio"; | ||
76 | }; | ||
77 | pmx_led_24g: pmx-led-24g { | ||
78 | marvell,pins = "mpp49"; | ||
79 | marvell,function = "gpio"; | ||
80 | }; | ||
81 | pmx_btn_restart: pmx-btn-restart { | ||
82 | marvell,pins = "mpp28"; | ||
83 | marvell,function = "gpio"; | ||
84 | }; | ||
85 | pmx_btn_wps: pmx-btn-wps { | ||
86 | marvell,pins = "mpp46"; | ||
87 | marvell,function = "gpio"; | ||
88 | }; | ||
89 | }; | ||
90 | |||
91 | spi@10600 { | ||
92 | status = "okay"; | ||
93 | m25p80@0 { | ||
94 | #address-cells = <1>; | ||
95 | #size-cells = <1>; | ||
96 | compatible = "mxicy,mx25l12805d"; | ||
97 | spi-max-frequency = <50000000>; | ||
98 | reg = <0>; | ||
99 | |||
100 | partition@0 { | ||
101 | label = "uboot"; | ||
102 | reg = <0x0 0x30000>; | ||
103 | read-only; | ||
104 | }; | ||
105 | |||
106 | partition@30000 { | ||
107 | label = "nvram"; | ||
108 | reg = <0x30000 0x10000>; | ||
109 | read-only; | ||
110 | }; | ||
111 | |||
112 | partition@40000 { | ||
113 | label = "kernel"; | ||
114 | reg = <0x40000 0x180000>; | ||
115 | }; | ||
116 | |||
117 | partition@1c0000 { | ||
118 | label = "rootfs"; | ||
119 | reg = <0x1c0000 0xe00000>; | ||
120 | }; | ||
121 | |||
122 | cal_data: partition@fc0000 { | ||
123 | label = "cal_data"; | ||
124 | reg = <0xfc0000 0x10000>; | ||
125 | read-only; | ||
126 | }; | ||
127 | |||
128 | partition@fd0000 { | ||
129 | label = "lang_pack"; | ||
130 | reg = <0xfd0000 0x30000>; | ||
131 | read-only; | ||
132 | }; | ||
133 | }; | ||
134 | }; | ||
135 | |||
136 | serial@12000 { | ||
137 | status = "okay"; | ||
138 | }; | ||
139 | |||
140 | i2c@11000 { | ||
141 | status = "okay"; | ||
142 | }; | ||
143 | |||
144 | ehci@50000 { | ||
145 | status = "okay"; | ||
146 | }; | ||
147 | }; | ||
148 | |||
149 | gpio-leds { | ||
150 | compatible = "gpio-leds"; | ||
151 | |||
152 | blue-usb { | ||
153 | label = "dir665:blue:usb"; | ||
154 | gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; | ||
155 | }; | ||
156 | blue-internet { | ||
157 | /* Can only be turned on if the Internet | ||
158 | * Ethernet port has Link | ||
159 | */ | ||
160 | label = "dir665:blue:internet"; | ||
161 | gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; | ||
162 | }; | ||
163 | amber-internet { | ||
164 | label = "dir665:amber:internet"; | ||
165 | gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; | ||
166 | }; | ||
167 | blue-wifi5g { | ||
168 | label = "dir665:blue:5g"; | ||
169 | gpios = <&gpio1 12 GPIO_ACTIVE_LOW>; | ||
170 | }; | ||
171 | blue-status { | ||
172 | label = "dir665:blue:status"; | ||
173 | gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; | ||
174 | }; | ||
175 | blue-wps { | ||
176 | label = "dir665:blue:wps"; | ||
177 | gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; | ||
178 | }; | ||
179 | amber-status { | ||
180 | label = "dir665:amber:status"; | ||
181 | gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>; | ||
182 | }; | ||
183 | blue-24g { | ||
184 | label = "dir665:blue:24g"; | ||
185 | gpios = <&gpio1 17 GPIO_ACTIVE_LOW>; | ||
186 | }; | ||
187 | }; | ||
188 | |||
189 | gpio-keys { | ||
190 | compatible = "gpio-keys"; | ||
191 | #address-cells = <1>; | ||
192 | #size-cells = <0>; | ||
193 | |||
194 | reset { | ||
195 | label = "reset"; | ||
196 | linux,code = <KEY_RESTART>; | ||
197 | gpios = <&gpio0 28 GPIO_ACTIVE_LOW>; | ||
198 | }; | ||
199 | wps { | ||
200 | label = "wps"; | ||
201 | linux,code = <KEY_WPS_BUTTON>; | ||
202 | gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; | ||
203 | }; | ||
204 | }; | ||
205 | |||
206 | dsa@0 { | ||
207 | compatible = "marvell,dsa"; | ||
208 | #address-cells = <2>; | ||
209 | #size-cells = <0>; | ||
210 | |||
211 | dsa,ethernet = <ð0port>; | ||
212 | dsa,mii-bus = <&mdio>; | ||
213 | |||
214 | switch@0 { | ||
215 | #address-cells = <1>; | ||
216 | #size-cells = <0>; | ||
217 | reg = <0 0>; /* MDIO address 0, switch 0 in tree */ | ||
218 | |||
219 | port@0 { | ||
220 | reg = <0>; | ||
221 | label = "lan4"; | ||
222 | }; | ||
223 | |||
224 | port@1 { | ||
225 | reg = <1>; | ||
226 | label = "lan3"; | ||
227 | }; | ||
228 | |||
229 | port@2 { | ||
230 | reg = <2>; | ||
231 | label = "lan2"; | ||
232 | }; | ||
233 | |||
234 | port@3 { | ||
235 | reg = <3>; | ||
236 | label = "lan1"; | ||
237 | }; | ||
238 | |||
239 | port@4 { | ||
240 | reg = <4>; | ||
241 | label = "wan"; | ||
242 | }; | ||
243 | |||
244 | port@6 { | ||
245 | reg = <6>; | ||
246 | label = "cpu"; | ||
247 | }; | ||
248 | }; | ||
249 | }; | ||
250 | }; | ||
251 | |||
252 | &mdio { | ||
253 | status = "okay"; | ||
254 | }; | ||
255 | |||
256 | /* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set | ||
257 | * fixed speed and duplex. */ | ||
258 | ð0 { | ||
259 | status = "okay"; | ||
260 | |||
261 | ethernet0-port@0 { | ||
262 | speed = <1000>; | ||
263 | duplex = <1>; | ||
264 | }; | ||
265 | }; | ||
266 | |||
267 | /* eth1 is connected to the switch as well. However DSA only supports a | ||
268 | * single CPU port. So leave this port disabled to avoid confusion. */ | ||
269 | |||
270 | ð1 { | ||
271 | status = "disabled"; | ||
272 | }; | ||
273 | |||
274 | /* There is no battery on the boards, so the RTC does not keep time | ||
275 | * when there is no power, making it useless. */ | ||
276 | &rtc { | ||
277 | status = "disabled"; | ||
278 | }; | ||
diff --git a/arch/arm/boot/dts/kirkwood-synology.dtsi b/arch/arm/boot/dts/kirkwood-synology.dtsi index 811e0971fc58..8be5b2e4626e 100644 --- a/arch/arm/boot/dts/kirkwood-synology.dtsi +++ b/arch/arm/boot/dts/kirkwood-synology.dtsi | |||
@@ -266,7 +266,7 @@ | |||
266 | 266 | ||
267 | s35390a: s35390a@30 { | 267 | s35390a: s35390a@30 { |
268 | status = "disabled"; | 268 | status = "disabled"; |
269 | compatible = "ssi,s35390a"; | 269 | compatible = "sii,s35390a"; |
270 | reg = <0x30>; | 270 | reg = <0x30>; |
271 | }; | 271 | }; |
272 | }; | 272 | }; |
diff --git a/arch/arm/boot/dts/ls1021a-qds.dts b/arch/arm/boot/dts/ls1021a-qds.dts new file mode 100644 index 000000000000..9c5e16ba8c95 --- /dev/null +++ b/arch/arm/boot/dts/ls1021a-qds.dts | |||
@@ -0,0 +1,240 @@ | |||
1 | /* | ||
2 | * Copyright 2013-2014 Freescale Semiconductor, Inc. | ||
3 | * | ||
4 | * This file is dual-licensed: you can use it either under the terms | ||
5 | * of the GPL or the X11 license, at your option. Note that this dual | ||
6 | * licensing only applies to this file, and not this project as a | ||
7 | * whole. | ||
8 | * | ||
9 | * a) This file is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License as | ||
11 | * published by the Free Software Foundation; either version 2 of | ||
12 | * the License, or (at your option) any later version. | ||
13 | * | ||
14 | * This file is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public | ||
20 | * License along with this file; if not, write to the Free | ||
21 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
22 | * MA 02110-1301 USA | ||
23 | * | ||
24 | * Or, alternatively, | ||
25 | * | ||
26 | * b) Permission is hereby granted, free of charge, to any person | ||
27 | * obtaining a copy of this software and associated documentation | ||
28 | * files (the "Software"), to deal in the Software without | ||
29 | * restriction, including without limitation the rights to use, | ||
30 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
31 | * sell copies of the Software, and to permit persons to whom the | ||
32 | * Software is furnished to do so, subject to the following | ||
33 | * conditions: | ||
34 | * | ||
35 | * The above copyright notice and this permission notice shall be | ||
36 | * included in all copies or substantial portions of the Software. | ||
37 | * | ||
38 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
39 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
40 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
41 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
42 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
43 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
44 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
45 | * OTHER DEALINGS IN THE SOFTWARE. | ||
46 | */ | ||
47 | |||
48 | /dts-v1/; | ||
49 | #include "ls1021a.dtsi" | ||
50 | |||
51 | / { | ||
52 | model = "LS1021A QDS Board"; | ||
53 | |||
54 | aliases { | ||
55 | enet0_rgmii_phy = &rgmii_phy1; | ||
56 | enet1_rgmii_phy = &rgmii_phy2; | ||
57 | enet2_rgmii_phy = &rgmii_phy3; | ||
58 | enet0_sgmii_phy = &sgmii_phy1c; | ||
59 | enet1_sgmii_phy = &sgmii_phy1d; | ||
60 | }; | ||
61 | }; | ||
62 | |||
63 | &dspi0 { | ||
64 | bus-num = <0>; | ||
65 | status = "okay"; | ||
66 | |||
67 | dspiflash: at45db021d@0 { | ||
68 | #address-cells = <1>; | ||
69 | #size-cells = <1>; | ||
70 | compatible = "atmel,at45db021d", "atmel,at45", "atmel,dataflash"; | ||
71 | spi-max-frequency = <16000000>; | ||
72 | spi-cpol; | ||
73 | spi-cpha; | ||
74 | reg = <0>; | ||
75 | }; | ||
76 | }; | ||
77 | |||
78 | &i2c0 { | ||
79 | status = "okay"; | ||
80 | |||
81 | pca9547: mux@77 { | ||
82 | reg = <0x77>; | ||
83 | #address-cells = <1>; | ||
84 | #size-cells = <0>; | ||
85 | |||
86 | i2c@0 { | ||
87 | #address-cells = <1>; | ||
88 | #size-cells = <0>; | ||
89 | reg = <0x0>; | ||
90 | |||
91 | ds3232: rtc@68 { | ||
92 | compatible = "dallas,ds3232"; | ||
93 | reg = <0x68>; | ||
94 | interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; | ||
95 | }; | ||
96 | }; | ||
97 | |||
98 | i2c@2 { | ||
99 | #address-cells = <1>; | ||
100 | #size-cells = <0>; | ||
101 | reg = <0x2>; | ||
102 | |||
103 | ina220@40 { | ||
104 | compatible = "ti,ina220"; | ||
105 | reg = <0x40>; | ||
106 | shunt-resistor = <1000>; | ||
107 | }; | ||
108 | |||
109 | ina220@41 { | ||
110 | compatible = "ti,ina220"; | ||
111 | reg = <0x41>; | ||
112 | shunt-resistor = <1000>; | ||
113 | }; | ||
114 | }; | ||
115 | |||
116 | i2c@3 { | ||
117 | #address-cells = <1>; | ||
118 | #size-cells = <0>; | ||
119 | reg = <0x3>; | ||
120 | |||
121 | eeprom@56 { | ||
122 | compatible = "atmel,24c512"; | ||
123 | reg = <0x56>; | ||
124 | }; | ||
125 | |||
126 | eeprom@57 { | ||
127 | compatible = "atmel,24c512"; | ||
128 | reg = <0x57>; | ||
129 | }; | ||
130 | |||
131 | adt7461a@4c { | ||
132 | compatible = "adi,adt7461a"; | ||
133 | reg = <0x4c>; | ||
134 | }; | ||
135 | }; | ||
136 | }; | ||
137 | }; | ||
138 | |||
139 | &ifc { | ||
140 | #address-cells = <2>; | ||
141 | #size-cells = <1>; | ||
142 | /* NOR, NAND Flashes and FPGA on board */ | ||
143 | ranges = <0x0 0x0 0x0 0x60000000 0x08000000 | ||
144 | 0x2 0x0 0x0 0x7e800000 0x00010000 | ||
145 | 0x3 0x0 0x0 0x7fb00000 0x00000100>; | ||
146 | status = "okay"; | ||
147 | |||
148 | nor@0,0 { | ||
149 | #address-cells = <1>; | ||
150 | #size-cells = <1>; | ||
151 | compatible = "cfi-flash"; | ||
152 | reg = <0x0 0x0 0x8000000>; | ||
153 | bank-width = <2>; | ||
154 | device-width = <1>; | ||
155 | }; | ||
156 | |||
157 | fpga: board-control@3,0 { | ||
158 | #address-cells = <1>; | ||
159 | #size-cells = <1>; | ||
160 | compatible = "simple-bus"; | ||
161 | reg = <0x3 0x0 0x0000100>; | ||
162 | bank-width = <1>; | ||
163 | device-width = <1>; | ||
164 | ranges = <0 3 0 0x100>; | ||
165 | |||
166 | mdio-mux-emi1 { | ||
167 | compatible = "mdio-mux-mmioreg"; | ||
168 | mdio-parent-bus = <&mdio0>; | ||
169 | #address-cells = <1>; | ||
170 | #size-cells = <0>; | ||
171 | reg = <0x54 1>; /* BRDCFG4 */ | ||
172 | mux-mask = <0xe0>; /* EMI1[2:0] */ | ||
173 | |||
174 | /* Onboard PHYs */ | ||
175 | ls1021amdio0: mdio@0 { | ||
176 | reg = <0>; | ||
177 | #address-cells = <1>; | ||
178 | #size-cells = <0>; | ||
179 | rgmii_phy1: ethernet-phy@1 { | ||
180 | reg = <0x1>; | ||
181 | }; | ||
182 | }; | ||
183 | |||
184 | ls1021amdio1: mdio@20 { | ||
185 | reg = <0x20>; | ||
186 | #address-cells = <1>; | ||
187 | #size-cells = <0>; | ||
188 | rgmii_phy2: ethernet-phy@2 { | ||
189 | reg = <0x2>; | ||
190 | }; | ||
191 | }; | ||
192 | |||
193 | ls1021amdio2: mdio@40 { | ||
194 | reg = <0x40>; | ||
195 | #address-cells = <1>; | ||
196 | #size-cells = <0>; | ||
197 | rgmii_phy3: ethernet-phy@3 { | ||
198 | reg = <0x3>; | ||
199 | }; | ||
200 | }; | ||
201 | |||
202 | ls1021amdio3: mdio@60 { | ||
203 | reg = <0x60>; | ||
204 | #address-cells = <1>; | ||
205 | #size-cells = <0>; | ||
206 | sgmii_phy1c: ethernet-phy@1c { | ||
207 | reg = <0x1c>; | ||
208 | }; | ||
209 | }; | ||
210 | |||
211 | ls1021amdio4: mdio@80 { | ||
212 | reg = <0x80>; | ||
213 | #address-cells = <1>; | ||
214 | #size-cells = <0>; | ||
215 | sgmii_phy1d: ethernet-phy@1d { | ||
216 | reg = <0x1d>; | ||
217 | }; | ||
218 | }; | ||
219 | }; | ||
220 | }; | ||
221 | }; | ||
222 | |||
223 | &lpuart0 { | ||
224 | status = "okay"; | ||
225 | }; | ||
226 | |||
227 | &mdio0 { | ||
228 | tbi0: tbi-phy@8 { | ||
229 | reg = <0x8>; | ||
230 | device_type = "tbi-phy"; | ||
231 | }; | ||
232 | }; | ||
233 | |||
234 | &uart0 { | ||
235 | status = "okay"; | ||
236 | }; | ||
237 | |||
238 | &uart1 { | ||
239 | status = "okay"; | ||
240 | }; | ||
diff --git a/arch/arm/boot/dts/ls1021a-twr.dts b/arch/arm/boot/dts/ls1021a-twr.dts new file mode 100644 index 000000000000..a2c591e2d918 --- /dev/null +++ b/arch/arm/boot/dts/ls1021a-twr.dts | |||
@@ -0,0 +1,127 @@ | |||
1 | /* | ||
2 | * Copyright 2013-2014 Freescale Semiconductor, Inc. | ||
3 | * | ||
4 | * This file is dual-licensed: you can use it either under the terms | ||
5 | * of the GPL or the X11 license, at your option. Note that this dual | ||
6 | * licensing only applies to this file, and not this project as a | ||
7 | * whole. | ||
8 | * | ||
9 | * a) This file is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License as | ||
11 | * published by the Free Software Foundation; either version 2 of | ||
12 | * the License, or (at your option) any later version. | ||
13 | * | ||
14 | * This file is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public | ||
20 | * License along with this file; if not, write to the Free | ||
21 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
22 | * MA 02110-1301 USA | ||
23 | * | ||
24 | * Or, alternatively, | ||
25 | * | ||
26 | * b) Permission is hereby granted, free of charge, to any person | ||
27 | * obtaining a copy of this software and associated documentation | ||
28 | * files (the "Software"), to deal in the Software without | ||
29 | * restriction, including without limitation the rights to use, | ||
30 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
31 | * sell copies of the Software, and to permit persons to whom the | ||
32 | * Software is furnished to do so, subject to the following | ||
33 | * conditions: | ||
34 | * | ||
35 | * The above copyright notice and this permission notice shall be | ||
36 | * included in all copies or substantial portions of the Software. | ||
37 | * | ||
38 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
39 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
40 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
41 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
42 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
43 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
44 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
45 | * OTHER DEALINGS IN THE SOFTWARE. | ||
46 | */ | ||
47 | |||
48 | /dts-v1/; | ||
49 | #include "ls1021a.dtsi" | ||
50 | |||
51 | / { | ||
52 | model = "LS1021A TWR Board"; | ||
53 | |||
54 | aliases { | ||
55 | enet2_rgmii_phy = &rgmii_phy1; | ||
56 | enet0_sgmii_phy = &sgmii_phy2; | ||
57 | enet1_sgmii_phy = &sgmii_phy0; | ||
58 | }; | ||
59 | }; | ||
60 | |||
61 | &dspi1 { | ||
62 | bus-num = <0>; | ||
63 | status = "okay"; | ||
64 | |||
65 | dspiflash: s25fl064k@0 { | ||
66 | #address-cells = <1>; | ||
67 | #size-cells = <1>; | ||
68 | compatible = "spansion,s25fl064k"; | ||
69 | spi-max-frequency = <16000000>; | ||
70 | spi-cpol; | ||
71 | spi-cpha; | ||
72 | reg = <0>; | ||
73 | }; | ||
74 | }; | ||
75 | |||
76 | &i2c0 { | ||
77 | status = "okay"; | ||
78 | }; | ||
79 | |||
80 | &i2c1 { | ||
81 | status = "okay"; | ||
82 | }; | ||
83 | |||
84 | &ifc { | ||
85 | #address-cells = <2>; | ||
86 | #size-cells = <1>; | ||
87 | /* NOR Flash on board */ | ||
88 | ranges = <0x0 0x0 0x0 0x60000000 0x08000000>; | ||
89 | status = "okay"; | ||
90 | |||
91 | nor@0,0 { | ||
92 | #address-cells = <1>; | ||
93 | #size-cells = <1>; | ||
94 | compatible = "cfi-flash"; | ||
95 | reg = <0x0 0x0 0x8000000>; | ||
96 | bank-width = <2>; | ||
97 | device-width = <1>; | ||
98 | }; | ||
99 | }; | ||
100 | |||
101 | &lpuart0 { | ||
102 | status = "okay"; | ||
103 | }; | ||
104 | |||
105 | &mdio0 { | ||
106 | sgmii_phy0: ethernet-phy@0 { | ||
107 | reg = <0x0>; | ||
108 | }; | ||
109 | rgmii_phy1: ethernet-phy@1 { | ||
110 | reg = <0x1>; | ||
111 | }; | ||
112 | sgmii_phy2: ethernet-phy@2 { | ||
113 | reg = <0x2>; | ||
114 | }; | ||
115 | tbi1: tbi-phy@1f { | ||
116 | reg = <0x1f>; | ||
117 | device_type = "tbi-phy"; | ||
118 | }; | ||
119 | }; | ||
120 | |||
121 | &uart0 { | ||
122 | status = "okay"; | ||
123 | }; | ||
124 | |||
125 | &uart1 { | ||
126 | status = "okay"; | ||
127 | }; | ||
diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi new file mode 100644 index 000000000000..657da14cb4b5 --- /dev/null +++ b/arch/arm/boot/dts/ls1021a.dtsi | |||
@@ -0,0 +1,408 @@ | |||
1 | /* | ||
2 | * Copyright 2013-2014 Freescale Semiconductor, Inc. | ||
3 | * | ||
4 | * This file is dual-licensed: you can use it either under the terms | ||
5 | * of the GPL or the X11 license, at your option. Note that this dual | ||
6 | * licensing only applies to this file, and not this project as a | ||
7 | * whole. | ||
8 | * | ||
9 | * a) This file is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License as | ||
11 | * published by the Free Software Foundation; either version 2 of | ||
12 | * the License, or (at your option) any later version. | ||
13 | * | ||
14 | * This file is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public | ||
20 | * License along with this file; if not, write to the Free | ||
21 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
22 | * MA 02110-1301 USA | ||
23 | * | ||
24 | * Or, alternatively, | ||
25 | * | ||
26 | * b) Permission is hereby granted, free of charge, to any person | ||
27 | * obtaining a copy of this software and associated documentation | ||
28 | * files (the "Software"), to deal in the Software without | ||
29 | * restriction, including without limitation the rights to use, | ||
30 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
31 | * sell copies of the Software, and to permit persons to whom the | ||
32 | * Software is furnished to do so, subject to the following | ||
33 | * conditions: | ||
34 | * | ||
35 | * The above copyright notice and this permission notice shall be | ||
36 | * included in all copies or substantial portions of the Software. | ||
37 | * | ||
38 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
39 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
40 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
41 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
42 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
43 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
44 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
45 | * OTHER DEALINGS IN THE SOFTWARE. | ||
46 | */ | ||
47 | |||
48 | #include "skeleton64.dtsi" | ||
49 | #include <dt-bindings/interrupt-controller/arm-gic.h> | ||
50 | |||
51 | / { | ||
52 | compatible = "fsl,ls1021a"; | ||
53 | interrupt-parent = <&gic>; | ||
54 | |||
55 | aliases { | ||
56 | serial0 = &lpuart0; | ||
57 | serial1 = &lpuart1; | ||
58 | serial2 = &lpuart2; | ||
59 | serial3 = &lpuart3; | ||
60 | serial4 = &lpuart4; | ||
61 | serial5 = &lpuart5; | ||
62 | sysclk = &sysclk; | ||
63 | }; | ||
64 | |||
65 | cpus { | ||
66 | #address-cells = <1>; | ||
67 | #size-cells = <0>; | ||
68 | |||
69 | cpu@f00 { | ||
70 | compatible = "arm,cortex-a7"; | ||
71 | device_type = "cpu"; | ||
72 | reg = <0xf00>; | ||
73 | clocks = <&cluster1_clk>; | ||
74 | }; | ||
75 | |||
76 | cpu@f01 { | ||
77 | compatible = "arm,cortex-a7"; | ||
78 | device_type = "cpu"; | ||
79 | reg = <0xf01>; | ||
80 | clocks = <&cluster1_clk>; | ||
81 | }; | ||
82 | }; | ||
83 | |||
84 | timer { | ||
85 | compatible = "arm,armv7-timer"; | ||
86 | interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, | ||
87 | <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, | ||
88 | <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, | ||
89 | <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; | ||
90 | }; | ||
91 | |||
92 | pmu { | ||
93 | compatible = "arm,cortex-a7-pmu"; | ||
94 | interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, | ||
95 | <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; | ||
96 | }; | ||
97 | |||
98 | soc { | ||
99 | compatible = "simple-bus"; | ||
100 | #address-cells = <2>; | ||
101 | #size-cells = <2>; | ||
102 | device_type = "soc"; | ||
103 | interrupt-parent = <&gic>; | ||
104 | ranges; | ||
105 | |||
106 | gic: interrupt-controller@1400000 { | ||
107 | compatible = "arm,cortex-a7-gic"; | ||
108 | #interrupt-cells = <3>; | ||
109 | interrupt-controller; | ||
110 | reg = <0x0 0x1401000 0x0 0x1000>, | ||
111 | <0x0 0x1402000 0x0 0x1000>, | ||
112 | <0x0 0x1404000 0x0 0x2000>, | ||
113 | <0x0 0x1406000 0x0 0x2000>; | ||
114 | interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>; | ||
115 | |||
116 | }; | ||
117 | |||
118 | ifc: ifc@1530000 { | ||
119 | compatible = "fsl,ifc", "simple-bus"; | ||
120 | reg = <0x0 0x1530000 0x0 0x10000>; | ||
121 | interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; | ||
122 | }; | ||
123 | |||
124 | dcfg: dcfg@1ee0000 { | ||
125 | compatible = "fsl,ls1021a-dcfg", "syscon"; | ||
126 | reg = <0x0 0x1ee0000 0x0 0x10000>; | ||
127 | big-endian; | ||
128 | }; | ||
129 | |||
130 | esdhc: esdhc@1560000 { | ||
131 | compatible = "fsl,esdhc"; | ||
132 | reg = <0x0 0x1560000 0x0 0x10000>; | ||
133 | interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; | ||
134 | clock-frequency = <0>; | ||
135 | voltage-ranges = <1800 1800 3300 3300>; | ||
136 | sdhci,auto-cmd12; | ||
137 | big-endian; | ||
138 | bus-width = <4>; | ||
139 | status = "disabled"; | ||
140 | }; | ||
141 | |||
142 | scfg: scfg@1570000 { | ||
143 | compatible = "fsl,ls1021a-scfg", "syscon"; | ||
144 | reg = <0x0 0x1570000 0x0 0x10000>; | ||
145 | }; | ||
146 | |||
147 | clockgen: clocking@1ee1000 { | ||
148 | #address-cells = <1>; | ||
149 | #size-cells = <1>; | ||
150 | ranges = <0x0 0x0 0x1ee1000 0x10000>; | ||
151 | |||
152 | sysclk: sysclk { | ||
153 | compatible = "fixed-clock"; | ||
154 | #clock-cells = <0>; | ||
155 | clock-output-names = "sysclk"; | ||
156 | }; | ||
157 | |||
158 | cga_pll1: pll@800 { | ||
159 | compatible = "fsl,qoriq-core-pll-2.0"; | ||
160 | #clock-cells = <1>; | ||
161 | reg = <0x800 0x10>; | ||
162 | clocks = <&sysclk>; | ||
163 | clock-output-names = "cga-pll1", "cga-pll1-div2", | ||
164 | "cga-pll1-div4"; | ||
165 | }; | ||
166 | |||
167 | platform_clk: pll@c00 { | ||
168 | compatible = "fsl,qoriq-core-pll-2.0"; | ||
169 | #clock-cells = <1>; | ||
170 | reg = <0xc00 0x10>; | ||
171 | clocks = <&sysclk>; | ||
172 | clock-output-names = "platform-clk", "platform-clk-div2"; | ||
173 | }; | ||
174 | |||
175 | cluster1_clk: clk0c0@0 { | ||
176 | compatible = "fsl,qoriq-core-mux-2.0"; | ||
177 | #clock-cells = <0>; | ||
178 | reg = <0x0 0x10>; | ||
179 | clock-names = "pll1cga", "pll1cga-div2", "pll1cga-div4"; | ||
180 | clocks = <&cga_pll1 0>, <&cga_pll1 1>, <&cga_pll1 2>; | ||
181 | clock-output-names = "cluster1-clk"; | ||
182 | }; | ||
183 | }; | ||
184 | |||
185 | dspi0: dspi@2100000 { | ||
186 | compatible = "fsl,vf610-dspi"; | ||
187 | #address-cells = <1>; | ||
188 | #size-cells = <0>; | ||
189 | reg = <0x0 0x2100000 0x0 0x10000>; | ||
190 | interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; | ||
191 | clock-names = "dspi"; | ||
192 | clocks = <&platform_clk 1>; | ||
193 | spi-num-chipselects = <5>; | ||
194 | big-endian; | ||
195 | status = "disabled"; | ||
196 | }; | ||
197 | |||
198 | dspi1: dspi@2110000 { | ||
199 | compatible = "fsl,vf610-dspi"; | ||
200 | #address-cells = <1>; | ||
201 | #size-cells = <0>; | ||
202 | reg = <0x0 0x2110000 0x0 0x10000>; | ||
203 | interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; | ||
204 | clock-names = "dspi"; | ||
205 | clocks = <&platform_clk 1>; | ||
206 | spi-num-chipselects = <5>; | ||
207 | big-endian; | ||
208 | status = "disabled"; | ||
209 | }; | ||
210 | |||
211 | i2c0: i2c@2180000 { | ||
212 | compatible = "fsl,vf610-i2c"; | ||
213 | #address-cells = <1>; | ||
214 | #size-cells = <0>; | ||
215 | reg = <0x0 0x2180000 0x0 0x10000>; | ||
216 | interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; | ||
217 | clock-names = "i2c"; | ||
218 | clocks = <&platform_clk 1>; | ||
219 | status = "disabled"; | ||
220 | }; | ||
221 | |||
222 | i2c1: i2c@2190000 { | ||
223 | compatible = "fsl,vf610-i2c"; | ||
224 | #address-cells = <1>; | ||
225 | #size-cells = <0>; | ||
226 | reg = <0x0 0x2190000 0x0 0x10000>; | ||
227 | interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; | ||
228 | clock-names = "i2c"; | ||
229 | clocks = <&platform_clk 1>; | ||
230 | status = "disabled"; | ||
231 | }; | ||
232 | |||
233 | i2c2: i2c@21a0000 { | ||
234 | compatible = "fsl,vf610-i2c"; | ||
235 | #address-cells = <1>; | ||
236 | #size-cells = <0>; | ||
237 | reg = <0x0 0x21a0000 0x0 0x10000>; | ||
238 | interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; | ||
239 | clock-names = "i2c"; | ||
240 | clocks = <&platform_clk 1>; | ||
241 | status = "disabled"; | ||
242 | }; | ||
243 | |||
244 | uart0: serial@21c0500 { | ||
245 | compatible = "fsl,16550-FIFO64", "ns16550a"; | ||
246 | reg = <0x0 0x21c0500 0x0 0x100>; | ||
247 | interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; | ||
248 | clock-frequency = <0>; | ||
249 | fifo-size = <15>; | ||
250 | status = "disabled"; | ||
251 | }; | ||
252 | |||
253 | uart1: serial@21c0600 { | ||
254 | compatible = "fsl,16550-FIFO64", "ns16550a"; | ||
255 | reg = <0x0 0x21c0600 0x0 0x100>; | ||
256 | interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; | ||
257 | clock-frequency = <0>; | ||
258 | fifo-size = <15>; | ||
259 | status = "disabled"; | ||
260 | }; | ||
261 | |||
262 | uart2: serial@21d0500 { | ||
263 | compatible = "fsl,16550-FIFO64", "ns16550a"; | ||
264 | reg = <0x0 0x21d0500 0x0 0x100>; | ||
265 | interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; | ||
266 | clock-frequency = <0>; | ||
267 | fifo-size = <15>; | ||
268 | status = "disabled"; | ||
269 | }; | ||
270 | |||
271 | uart3: serial@21d0600 { | ||
272 | compatible = "fsl,16550-FIFO64", "ns16550a"; | ||
273 | reg = <0x0 0x21d0600 0x0 0x100>; | ||
274 | interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; | ||
275 | clock-frequency = <0>; | ||
276 | fifo-size = <15>; | ||
277 | status = "disabled"; | ||
278 | }; | ||
279 | |||
280 | lpuart0: serial@2950000 { | ||
281 | compatible = "fsl,ls1021a-lpuart"; | ||
282 | reg = <0x0 0x2950000 0x0 0x1000>; | ||
283 | interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; | ||
284 | clocks = <&sysclk>; | ||
285 | clock-names = "ipg"; | ||
286 | status = "disabled"; | ||
287 | }; | ||
288 | |||
289 | lpuart1: serial@2960000 { | ||
290 | compatible = "fsl,ls1021a-lpuart"; | ||
291 | reg = <0x0 0x2960000 0x0 0x1000>; | ||
292 | interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; | ||
293 | clocks = <&platform_clk 1>; | ||
294 | clock-names = "ipg"; | ||
295 | status = "disabled"; | ||
296 | }; | ||
297 | |||
298 | lpuart2: serial@2970000 { | ||
299 | compatible = "fsl,ls1021a-lpuart"; | ||
300 | reg = <0x0 0x2970000 0x0 0x1000>; | ||
301 | interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; | ||
302 | clocks = <&platform_clk 1>; | ||
303 | clock-names = "ipg"; | ||
304 | status = "disabled"; | ||
305 | }; | ||
306 | |||
307 | lpuart3: serial@2980000 { | ||
308 | compatible = "fsl,ls1021a-lpuart"; | ||
309 | reg = <0x0 0x2980000 0x0 0x1000>; | ||
310 | interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; | ||
311 | clocks = <&platform_clk 1>; | ||
312 | clock-names = "ipg"; | ||
313 | status = "disabled"; | ||
314 | }; | ||
315 | |||
316 | lpuart4: serial@2990000 { | ||
317 | compatible = "fsl,ls1021a-lpuart"; | ||
318 | reg = <0x0 0x2990000 0x0 0x1000>; | ||
319 | interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; | ||
320 | clocks = <&platform_clk 1>; | ||
321 | clock-names = "ipg"; | ||
322 | status = "disabled"; | ||
323 | }; | ||
324 | |||
325 | lpuart5: serial@29a0000 { | ||
326 | compatible = "fsl,ls1021a-lpuart"; | ||
327 | reg = <0x0 0x29a0000 0x0 0x1000>; | ||
328 | interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; | ||
329 | clocks = <&platform_clk 1>; | ||
330 | clock-names = "ipg"; | ||
331 | status = "disabled"; | ||
332 | }; | ||
333 | |||
334 | wdog0: watchdog@2ad0000 { | ||
335 | compatible = "fsl,imx21-wdt"; | ||
336 | reg = <0x0 0x2ad0000 0x0 0x10000>; | ||
337 | interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; | ||
338 | clocks = <&platform_clk 1>; | ||
339 | clock-names = "wdog-en"; | ||
340 | big-endian; | ||
341 | }; | ||
342 | |||
343 | sai1: sai@2b50000 { | ||
344 | compatible = "fsl,vf610-sai"; | ||
345 | reg = <0x0 0x2b50000 0x0 0x10000>; | ||
346 | interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>; | ||
347 | clocks = <&platform_clk 1>; | ||
348 | clock-names = "sai"; | ||
349 | dma-names = "tx", "rx"; | ||
350 | dmas = <&edma0 1 47>, | ||
351 | <&edma0 1 46>; | ||
352 | big-endian; | ||
353 | status = "disabled"; | ||
354 | }; | ||
355 | |||
356 | sai2: sai@2b60000 { | ||
357 | compatible = "fsl,vf610-sai"; | ||
358 | reg = <0x0 0x2b60000 0x0 0x10000>; | ||
359 | interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; | ||
360 | clocks = <&platform_clk 1>; | ||
361 | clock-names = "sai"; | ||
362 | dma-names = "tx", "rx"; | ||
363 | dmas = <&edma0 1 45>, | ||
364 | <&edma0 1 44>; | ||
365 | big-endian; | ||
366 | status = "disabled"; | ||
367 | }; | ||
368 | |||
369 | edma0: edma@2c00000 { | ||
370 | #dma-cells = <2>; | ||
371 | compatible = "fsl,vf610-edma"; | ||
372 | reg = <0x0 0x2c00000 0x0 0x10000>, | ||
373 | <0x0 0x2c10000 0x0 0x10000>, | ||
374 | <0x0 0x2c20000 0x0 0x10000>; | ||
375 | interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>, | ||
376 | <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>; | ||
377 | interrupt-names = "edma-tx", "edma-err"; | ||
378 | dma-channels = <32>; | ||
379 | big-endian; | ||
380 | clock-names = "dmamux0", "dmamux1"; | ||
381 | clocks = <&platform_clk 1>, | ||
382 | <&platform_clk 1>; | ||
383 | }; | ||
384 | |||
385 | mdio0: mdio@2d24000 { | ||
386 | compatible = "gianfar"; | ||
387 | device_type = "mdio"; | ||
388 | #address-cells = <1>; | ||
389 | #size-cells = <0>; | ||
390 | reg = <0x0 0x2d24000 0x0 0x4000>; | ||
391 | }; | ||
392 | |||
393 | usb@8600000 { | ||
394 | compatible = "fsl-usb2-dr-v2.5", "fsl-usb2-dr"; | ||
395 | reg = <0x0 0x8600000 0x0 0x1000>; | ||
396 | interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>; | ||
397 | dr_mode = "host"; | ||
398 | phy_type = "ulpi"; | ||
399 | }; | ||
400 | |||
401 | usb3@3100000 { | ||
402 | compatible = "snps,dwc3"; | ||
403 | reg = <0x0 0x3100000 0x0 0x10000>; | ||
404 | interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; | ||
405 | dr_mode = "host"; | ||
406 | }; | ||
407 | }; | ||
408 | }; | ||
diff --git a/arch/arm/boot/dts/meson.dtsi b/arch/arm/boot/dts/meson.dtsi index e6539ea5a711..03bcff87bd27 100644 --- a/arch/arm/boot/dts/meson.dtsi +++ b/arch/arm/boot/dts/meson.dtsi | |||
@@ -50,6 +50,13 @@ | |||
50 | / { | 50 | / { |
51 | interrupt-parent = <&gic>; | 51 | interrupt-parent = <&gic>; |
52 | 52 | ||
53 | L2: l2-cache-controller@c4200000 { | ||
54 | compatible = "arm,pl310-cache"; | ||
55 | reg = <0xc4200000 0x1000>; | ||
56 | cache-unified; | ||
57 | cache-level = <2>; | ||
58 | }; | ||
59 | |||
53 | gic: interrupt-controller@c4301000 { | 60 | gic: interrupt-controller@c4301000 { |
54 | compatible = "arm,cortex-a9-gic"; | 61 | compatible = "arm,cortex-a9-gic"; |
55 | reg = <0xc4301000 0x1000>, | 62 | reg = <0xc4301000 0x1000>, |
@@ -106,5 +113,35 @@ | |||
106 | clocks = <&clk81>; | 113 | clocks = <&clk81>; |
107 | status = "disabled"; | 114 | status = "disabled"; |
108 | }; | 115 | }; |
116 | |||
117 | i2c_AO: i2c@c8100500 { | ||
118 | compatible = "amlogic,meson6-i2c"; | ||
119 | reg = <0xc8100500 0x20>; | ||
120 | interrupts = <0 92 1>; | ||
121 | clocks = <&clk81>; | ||
122 | #address-cells = <1>; | ||
123 | #size-cells = <0>; | ||
124 | status = "disabled"; | ||
125 | }; | ||
126 | |||
127 | i2c_A: i2c@c1108500 { | ||
128 | compatible = "amlogic,meson6-i2c"; | ||
129 | reg = <0xc1108500 0x20>; | ||
130 | interrupts = <0 21 1>; | ||
131 | clocks = <&clk81>; | ||
132 | #address-cells = <1>; | ||
133 | #size-cells = <0>; | ||
134 | status = "disabled"; | ||
135 | }; | ||
136 | |||
137 | i2c_B: i2c@c11087c0 { | ||
138 | compatible = "amlogic,meson6-i2c"; | ||
139 | reg = <0xc11087c0 0x20>; | ||
140 | interrupts = <0 128 1>; | ||
141 | clocks = <&clk81>; | ||
142 | #address-cells = <1>; | ||
143 | #size-cells = <0>; | ||
144 | status = "disabled"; | ||
145 | }; | ||
109 | }; | 146 | }; |
110 | }; /* end of / */ | 147 | }; /* end of / */ |
diff --git a/arch/arm/boot/dts/meson6-atv1200.dts b/arch/arm/boot/dts/meson6-atv1200.dts index dc2541faf1ec..d7d351a68944 100644 --- a/arch/arm/boot/dts/meson6-atv1200.dts +++ b/arch/arm/boot/dts/meson6-atv1200.dts | |||
@@ -50,7 +50,7 @@ | |||
50 | 50 | ||
51 | / { | 51 | / { |
52 | model = "Geniatech ATV1200"; | 52 | model = "Geniatech ATV1200"; |
53 | compatible = "geniatech,atv1200"; | 53 | compatible = "geniatech,atv1200", "amlogic,meson6"; |
54 | 54 | ||
55 | aliases { | 55 | aliases { |
56 | serial0 = &uart_AO; | 56 | serial0 = &uart_AO; |
diff --git a/arch/arm/boot/dts/meson6.dtsi b/arch/arm/boot/dts/meson6.dtsi index 4ba49127779f..8b33be15af94 100644 --- a/arch/arm/boot/dts/meson6.dtsi +++ b/arch/arm/boot/dts/meson6.dtsi | |||
@@ -60,12 +60,14 @@ | |||
60 | cpu@200 { | 60 | cpu@200 { |
61 | device_type = "cpu"; | 61 | device_type = "cpu"; |
62 | compatible = "arm,cortex-a9"; | 62 | compatible = "arm,cortex-a9"; |
63 | next-level-cache = <&L2>; | ||
63 | reg = <0x200>; | 64 | reg = <0x200>; |
64 | }; | 65 | }; |
65 | 66 | ||
66 | cpu@201 { | 67 | cpu@201 { |
67 | device_type = "cpu"; | 68 | device_type = "cpu"; |
68 | compatible = "arm,cortex-a9"; | 69 | compatible = "arm,cortex-a9"; |
70 | next-level-cache = <&L2>; | ||
69 | reg = <0x201>; | 71 | reg = <0x201>; |
70 | }; | 72 | }; |
71 | }; | 73 | }; |
diff --git a/arch/arm/boot/dts/meson8.dtsi b/arch/arm/boot/dts/meson8.dtsi new file mode 100644 index 000000000000..1f442a7fe03b --- /dev/null +++ b/arch/arm/boot/dts/meson8.dtsi | |||
@@ -0,0 +1,92 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Carlo Caione <carlo@caione.org> | ||
3 | * | ||
4 | * This file is dual-licensed: you can use it either under the terms | ||
5 | * of the GPL or the X11 license, at your option. Note that this dual | ||
6 | * licensing only applies to this file, and not this project as a | ||
7 | * whole. | ||
8 | * | ||
9 | * a) This library is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License as | ||
11 | * published by the Free Software Foundation; either version 2 of the | ||
12 | * License, or (at your option) any later version. | ||
13 | * | ||
14 | * This library is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public License | ||
20 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
21 | * | ||
22 | * Or, alternatively, | ||
23 | * | ||
24 | * b) Permission is hereby granted, free of charge, to any person | ||
25 | * obtaining a copy of this software and associated documentation | ||
26 | * files (the "Software"), to deal in the Software without | ||
27 | * restriction, including without limitation the rights to use, | ||
28 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
29 | * sell copies of the Software, and to permit persons to whom the | ||
30 | * Software is furnished to do so, subject to the following | ||
31 | * conditions: | ||
32 | * | ||
33 | * The above copyright notice and this permission notice shall be | ||
34 | * included in all copies or substantial portions of the Software. | ||
35 | * | ||
36 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
37 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
38 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
39 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
40 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
41 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
42 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
43 | * OTHER DEALINGS IN THE SOFTWARE. | ||
44 | */ | ||
45 | |||
46 | /include/ "meson.dtsi" | ||
47 | |||
48 | / { | ||
49 | model = "Amlogic Meson8 SoC"; | ||
50 | compatible = "amlogic,meson8"; | ||
51 | |||
52 | interrupt-parent = <&gic>; | ||
53 | |||
54 | cpus { | ||
55 | #address-cells = <1>; | ||
56 | #size-cells = <0>; | ||
57 | |||
58 | cpu@200 { | ||
59 | device_type = "cpu"; | ||
60 | compatible = "arm,cortex-a9"; | ||
61 | next-level-cache = <&L2>; | ||
62 | reg = <0x200>; | ||
63 | }; | ||
64 | |||
65 | cpu@201 { | ||
66 | device_type = "cpu"; | ||
67 | compatible = "arm,cortex-a9"; | ||
68 | next-level-cache = <&L2>; | ||
69 | reg = <0x201>; | ||
70 | }; | ||
71 | |||
72 | cpu@202 { | ||
73 | device_type = "cpu"; | ||
74 | compatible = "arm,cortex-a9"; | ||
75 | next-level-cache = <&L2>; | ||
76 | reg = <0x202>; | ||
77 | }; | ||
78 | |||
79 | cpu@203 { | ||
80 | device_type = "cpu"; | ||
81 | compatible = "arm,cortex-a9"; | ||
82 | next-level-cache = <&L2>; | ||
83 | reg = <0x203>; | ||
84 | }; | ||
85 | }; | ||
86 | |||
87 | clk81: clk@0 { | ||
88 | #clock-cells = <0>; | ||
89 | compatible = "fixed-clock"; | ||
90 | clock-frequency = <141666666>; | ||
91 | }; | ||
92 | }; /* end of / */ | ||
diff --git a/arch/arm/boot/dts/mt6592-evb.dts b/arch/arm/boot/dts/mt6592-evb.dts new file mode 100644 index 000000000000..b57237e6394a --- /dev/null +++ b/arch/arm/boot/dts/mt6592-evb.dts | |||
@@ -0,0 +1,26 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2014 MediaTek Inc. | ||
3 | * Author: Howard Chen <ibanezchen@gmail.com> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | */ | ||
14 | |||
15 | /dts-v1/; | ||
16 | #include "mt6592.dtsi" | ||
17 | |||
18 | / { | ||
19 | model = "mt6592 evb"; | ||
20 | compatible = "mediatek,mt6592-evb", "mediatek,mt6592"; | ||
21 | |||
22 | memory { | ||
23 | reg = <0x80000000 0x40000000>; | ||
24 | }; | ||
25 | }; | ||
26 | |||
diff --git a/arch/arm/boot/dts/mt6592.dtsi b/arch/arm/boot/dts/mt6592.dtsi new file mode 100644 index 000000000000..31e5a0979d78 --- /dev/null +++ b/arch/arm/boot/dts/mt6592.dtsi | |||
@@ -0,0 +1,98 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2014 MediaTek Inc. | ||
3 | * Author: Howard Chen <ibanezchen@gmail.com> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * 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/irq.h> | ||
16 | #include <dt-bindings/interrupt-controller/arm-gic.h> | ||
17 | #include "skeleton.dtsi" | ||
18 | |||
19 | / { | ||
20 | compatible = "mediatek,mt6592"; | ||
21 | interrupt-parent = <&gic>; | ||
22 | |||
23 | cpus { | ||
24 | #address-cells = <1>; | ||
25 | #size-cells = <0>; | ||
26 | |||
27 | cpu@0 { | ||
28 | device_type = "cpu"; | ||
29 | compatible = "arm,cortex-a7"; | ||
30 | reg = <0x0>; | ||
31 | }; | ||
32 | cpu@1 { | ||
33 | device_type = "cpu"; | ||
34 | compatible = "arm,cortex-a7"; | ||
35 | reg = <0x1>; | ||
36 | }; | ||
37 | cpu@2 { | ||
38 | device_type = "cpu"; | ||
39 | compatible = "arm,cortex-a7"; | ||
40 | reg = <0x2>; | ||
41 | }; | ||
42 | cpu@3 { | ||
43 | device_type = "cpu"; | ||
44 | compatible = "arm,cortex-a7"; | ||
45 | reg = <0x3>; | ||
46 | }; | ||
47 | cpu@4 { | ||
48 | device_type = "cpu"; | ||
49 | compatible = "arm,cortex-a7"; | ||
50 | reg = <0x4>; | ||
51 | }; | ||
52 | cpu@5 { | ||
53 | device_type = "cpu"; | ||
54 | compatible = "arm,cortex-a7"; | ||
55 | reg = <0x5>; | ||
56 | }; | ||
57 | cpu@6 { | ||
58 | device_type = "cpu"; | ||
59 | compatible = "arm,cortex-a7"; | ||
60 | reg = <0x6>; | ||
61 | }; | ||
62 | cpu@7 { | ||
63 | device_type = "cpu"; | ||
64 | compatible = "arm,cortex-a7"; | ||
65 | reg = <0x7>; | ||
66 | }; | ||
67 | }; | ||
68 | |||
69 | system_clk: dummy13m { | ||
70 | compatible = "fixed-clock"; | ||
71 | clock-frequency = <13000000>; | ||
72 | #clock-cells = <0>; | ||
73 | }; | ||
74 | |||
75 | rtc_clk: dummy32k { | ||
76 | compatible = "fixed-clock"; | ||
77 | clock-frequency = <32000>; | ||
78 | #clock-cells = <0>; | ||
79 | }; | ||
80 | |||
81 | timer: timer@10008000 { | ||
82 | compatible = "mediatek,mt6577-timer"; | ||
83 | reg = <0x10008000 0x80>; | ||
84 | interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; | ||
85 | clocks = <&system_clk>, <&rtc_clk>; | ||
86 | clock-names = "system-clk", "rtc-clk"; | ||
87 | }; | ||
88 | |||
89 | gic: interrupt-controller@10211000 { | ||
90 | compatible = "arm,cortex-a7-gic"; | ||
91 | interrupt-controller; | ||
92 | #interrupt-cells = <3>; | ||
93 | reg = <0x10211000 0x1000>, | ||
94 | <0x10212000 0x1000>; | ||
95 | }; | ||
96 | |||
97 | }; | ||
98 | |||
diff --git a/arch/arm/boot/dts/mt8127-moose.dts b/arch/arm/boot/dts/mt8127-moose.dts new file mode 100644 index 000000000000..13cba0e77e08 --- /dev/null +++ b/arch/arm/boot/dts/mt8127-moose.dts | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2014 MediaTek Inc. | ||
3 | * Author: Joe.C <yingjoe.chen@mediatek.com> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | */ | ||
14 | |||
15 | /dts-v1/; | ||
16 | #include "mt8127.dtsi" | ||
17 | |||
18 | / { | ||
19 | model = "MediaTek MT8127 Moose Board"; | ||
20 | compatible = "mediatek,mt8127-moose", "mediatek,mt8127"; | ||
21 | |||
22 | memory { | ||
23 | reg = <0 0x80000000 0 0x40000000>; | ||
24 | }; | ||
25 | }; | ||
diff --git a/arch/arm/boot/dts/mt8127.dtsi b/arch/arm/boot/dts/mt8127.dtsi new file mode 100644 index 000000000000..b24c0a2f3c44 --- /dev/null +++ b/arch/arm/boot/dts/mt8127.dtsi | |||
@@ -0,0 +1,94 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2014 MediaTek Inc. | ||
3 | * Author: Joe.C <yingjoe.chen@mediatek.com> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * 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/irq.h> | ||
16 | #include <dt-bindings/interrupt-controller/arm-gic.h> | ||
17 | #include "skeleton64.dtsi" | ||
18 | |||
19 | / { | ||
20 | compatible = "mediatek,mt8127"; | ||
21 | interrupt-parent = <&gic>; | ||
22 | |||
23 | cpus { | ||
24 | #address-cells = <1>; | ||
25 | #size-cells = <0>; | ||
26 | |||
27 | cpu@0 { | ||
28 | device_type = "cpu"; | ||
29 | compatible = "arm,cortex-a7"; | ||
30 | reg = <0x0>; | ||
31 | }; | ||
32 | cpu@1 { | ||
33 | device_type = "cpu"; | ||
34 | compatible = "arm,cortex-a7"; | ||
35 | reg = <0x1>; | ||
36 | }; | ||
37 | cpu@2 { | ||
38 | device_type = "cpu"; | ||
39 | compatible = "arm,cortex-a7"; | ||
40 | reg = <0x2>; | ||
41 | }; | ||
42 | cpu@3 { | ||
43 | device_type = "cpu"; | ||
44 | compatible = "arm,cortex-a7"; | ||
45 | reg = <0x3>; | ||
46 | }; | ||
47 | |||
48 | }; | ||
49 | |||
50 | clocks { | ||
51 | #address-cells = <2>; | ||
52 | #size-cells = <2>; | ||
53 | compatible = "simple-bus"; | ||
54 | ranges; | ||
55 | |||
56 | system_clk: dummy13m { | ||
57 | compatible = "fixed-clock"; | ||
58 | clock-frequency = <13000000>; | ||
59 | #clock-cells = <0>; | ||
60 | }; | ||
61 | |||
62 | rtc_clk: dummy32k { | ||
63 | compatible = "fixed-clock"; | ||
64 | clock-frequency = <32000>; | ||
65 | #clock-cells = <0>; | ||
66 | }; | ||
67 | }; | ||
68 | |||
69 | soc { | ||
70 | #address-cells = <2>; | ||
71 | #size-cells = <2>; | ||
72 | compatible = "simple-bus"; | ||
73 | ranges; | ||
74 | |||
75 | timer: timer@10008000 { | ||
76 | compatible = "mediatek,mt8127-timer", | ||
77 | "mediatek,mt6577-timer"; | ||
78 | reg = <0 0x10008000 0 0x80>; | ||
79 | interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; | ||
80 | clocks = <&system_clk>, <&rtc_clk>; | ||
81 | clock-names = "system-clk", "rtc-clk"; | ||
82 | }; | ||
83 | |||
84 | gic: interrupt-controller@10211000 { | ||
85 | compatible = "arm,cortex-a7-gic"; | ||
86 | interrupt-controller; | ||
87 | #interrupt-cells = <3>; | ||
88 | reg = <0 0x10211000 0 0x1000>, | ||
89 | <0 0x10212000 0 0x1000>, | ||
90 | <0 0x10214000 0 0x2000>, | ||
91 | <0 0x10216000 0 0x2000>; | ||
92 | }; | ||
93 | }; | ||
94 | }; | ||
diff --git a/arch/arm/boot/dts/mt8135-evbp1.dts b/arch/arm/boot/dts/mt8135-evbp1.dts new file mode 100644 index 000000000000..a5adf9742308 --- /dev/null +++ b/arch/arm/boot/dts/mt8135-evbp1.dts | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2014 MediaTek Inc. | ||
3 | * Author: Joe.C <yingjoe.chen@mediatek.com> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | */ | ||
14 | |||
15 | /dts-v1/; | ||
16 | #include "mt8135.dtsi" | ||
17 | |||
18 | / { | ||
19 | model = "MediaTek MT8135 evaluation board"; | ||
20 | compatible = "mediatek,mt8135-evbp1", "mediatek,mt8135"; | ||
21 | |||
22 | memory { | ||
23 | reg = <0 0x80000000 0 0x40000000>; | ||
24 | }; | ||
25 | }; | ||
diff --git a/arch/arm/boot/dts/mt8135.dtsi b/arch/arm/boot/dts/mt8135.dtsi new file mode 100644 index 000000000000..7d56a986358e --- /dev/null +++ b/arch/arm/boot/dts/mt8135.dtsi | |||
@@ -0,0 +1,116 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2014 MediaTek Inc. | ||
3 | * Author: Joe.C <yingjoe.chen@mediatek.com> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * 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/irq.h> | ||
16 | #include <dt-bindings/interrupt-controller/arm-gic.h> | ||
17 | #include "skeleton64.dtsi" | ||
18 | |||
19 | / { | ||
20 | compatible = "mediatek,mt8135"; | ||
21 | interrupt-parent = <&gic>; | ||
22 | |||
23 | cpu-map { | ||
24 | cluster0 { | ||
25 | core0 { | ||
26 | cpu = <&cpu0>; | ||
27 | }; | ||
28 | core1 { | ||
29 | cpu = <&cpu1>; | ||
30 | }; | ||
31 | }; | ||
32 | |||
33 | cluster1 { | ||
34 | core0 { | ||
35 | cpu = <&cpu2>; | ||
36 | }; | ||
37 | core1 { | ||
38 | cpu = <&cpu3>; | ||
39 | }; | ||
40 | }; | ||
41 | }; | ||
42 | |||
43 | cpus { | ||
44 | #address-cells = <1>; | ||
45 | #size-cells = <0>; | ||
46 | |||
47 | cpu0: cpu@0 { | ||
48 | device_type = "cpu"; | ||
49 | compatible = "arm,cortex-a7"; | ||
50 | reg = <0x000>; | ||
51 | }; | ||
52 | |||
53 | cpu1: cpu@1 { | ||
54 | device_type = "cpu"; | ||
55 | compatible = "arm,cortex-a7"; | ||
56 | reg = <0x001>; | ||
57 | }; | ||
58 | |||
59 | cpu2: cpu@100 { | ||
60 | device_type = "cpu"; | ||
61 | compatible = "arm,cortex-a15"; | ||
62 | reg = <0x100>; | ||
63 | }; | ||
64 | |||
65 | cpu3: cpu@101 { | ||
66 | device_type = "cpu"; | ||
67 | compatible = "arm,cortex-a15"; | ||
68 | reg = <0x101>; | ||
69 | }; | ||
70 | }; | ||
71 | |||
72 | clocks { | ||
73 | #address-cells = <2>; | ||
74 | #size-cells = <2>; | ||
75 | compatible = "simple-bus"; | ||
76 | ranges; | ||
77 | |||
78 | system_clk: dummy13m { | ||
79 | compatible = "fixed-clock"; | ||
80 | clock-frequency = <13000000>; | ||
81 | #clock-cells = <0>; | ||
82 | }; | ||
83 | |||
84 | rtc_clk: dummy32k { | ||
85 | compatible = "fixed-clock"; | ||
86 | clock-frequency = <32000>; | ||
87 | #clock-cells = <0>; | ||
88 | }; | ||
89 | }; | ||
90 | |||
91 | soc { | ||
92 | #address-cells = <2>; | ||
93 | #size-cells = <2>; | ||
94 | compatible = "simple-bus"; | ||
95 | ranges; | ||
96 | |||
97 | timer: timer@10008000 { | ||
98 | compatible = "mediatek,mt8135-timer", | ||
99 | "mediatek,mt6577-timer"; | ||
100 | reg = <0 0x10008000 0 0x80>; | ||
101 | interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; | ||
102 | clocks = <&system_clk>, <&rtc_clk>; | ||
103 | clock-names = "system-clk", "rtc-clk"; | ||
104 | }; | ||
105 | |||
106 | gic: interrupt-controller@10211000 { | ||
107 | compatible = "arm,cortex-a15-gic"; | ||
108 | interrupt-controller; | ||
109 | #interrupt-cells = <3>; | ||
110 | reg = <0 0x10211000 0 0x1000>, | ||
111 | <0 0x10212000 0 0x1000>, | ||
112 | <0 0x10214000 0 0x2000>, | ||
113 | <0 0x10216000 0 0x2000>; | ||
114 | }; | ||
115 | }; | ||
116 | }; | ||
diff --git a/arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi b/arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi index 521c587acaee..445fafc73254 100644 --- a/arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi +++ b/arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi | |||
@@ -23,24 +23,29 @@ | |||
23 | ethernet@gpmc { | 23 | ethernet@gpmc { |
24 | compatible = "smsc,lan9221", "smsc,lan9115"; | 24 | compatible = "smsc,lan9221", "smsc,lan9115"; |
25 | bank-width = <2>; | 25 | bank-width = <2>; |
26 | gpmc,mux-add-data; | 26 | gpmc,device-width = <1>; |
27 | gpmc,cs-on-ns = <1>; | 27 | gpmc,cycle2cycle-samecsen = <1>; |
28 | gpmc,cs-rd-off-ns = <180>; | 28 | gpmc,cycle2cycle-diffcsen = <1>; |
29 | gpmc,cs-wr-off-ns = <180>; | 29 | gpmc,cs-on-ns = <5>; |
30 | gpmc,adv-rd-off-ns = <18>; | 30 | gpmc,cs-rd-off-ns = <150>; |
31 | gpmc,adv-wr-off-ns = <48>; | 31 | gpmc,cs-wr-off-ns = <150>; |
32 | gpmc,oe-on-ns = <54>; | 32 | gpmc,adv-on-ns = <0>; |
33 | gpmc,oe-off-ns = <168>; | 33 | gpmc,adv-rd-off-ns = <15>; |
34 | gpmc,we-on-ns = <54>; | 34 | gpmc,adv-wr-off-ns = <40>; |
35 | gpmc,we-off-ns = <168>; | 35 | gpmc,oe-on-ns = <45>; |
36 | gpmc,rd-cycle-ns = <186>; | 36 | gpmc,oe-off-ns = <140>; |
37 | gpmc,wr-cycle-ns = <186>; | 37 | gpmc,we-on-ns = <45>; |
38 | gpmc,access-ns = <144>; | 38 | gpmc,we-off-ns = <140>; |
39 | gpmc,page-burst-access-ns = <24>; | 39 | gpmc,rd-cycle-ns = <155>; |
40 | gpmc,bus-turnaround-ns = <90>; | 40 | gpmc,wr-cycle-ns = <155>; |
41 | gpmc,cycle2cycle-delay-ns = <90>; | 41 | gpmc,access-ns = <120>; |
42 | gpmc,cycle2cycle-samecsen; | 42 | gpmc,page-burst-access-ns = <20>; |
43 | gpmc,cycle2cycle-diffcsen; | 43 | gpmc,bus-turnaround-ns = <75>; |
44 | gpmc,cycle2cycle-delay-ns = <75>; | ||
45 | gpmc,wait-monitoring-ns = <0>; | ||
46 | gpmc,clk-activation-ns = <0>; | ||
47 | gpmc,wr-data-mux-bus-ns = <0>; | ||
48 | gpmc,wr-access-ns = <0>; | ||
44 | vddvario-supply = <&vddvario>; | 49 | vddvario-supply = <&vddvario>; |
45 | vdd33a-supply = <&vdd33a>; | 50 | vdd33a-supply = <&vdd33a>; |
46 | reg-io-width = <4>; | 51 | reg-io-width = <4>; |
diff --git a/arch/arm/boot/dts/omap-zoom-common.dtsi b/arch/arm/boot/dts/omap-zoom-common.dtsi index 68221fab978d..46ef3e443861 100644 --- a/arch/arm/boot/dts/omap-zoom-common.dtsi +++ b/arch/arm/boot/dts/omap-zoom-common.dtsi | |||
@@ -5,7 +5,7 @@ | |||
5 | #include "omap-gpmc-smsc911x.dtsi" | 5 | #include "omap-gpmc-smsc911x.dtsi" |
6 | 6 | ||
7 | &gpmc { | 7 | &gpmc { |
8 | ranges = <3 0 0x10000000 0x00000400>, | 8 | ranges = <3 0 0x10000000 0x1000000>, /* CS3: 16MB for UART */ |
9 | <7 0 0x2c000000 0x01000000>; | 9 | <7 0 0x2c000000 0x01000000>; |
10 | 10 | ||
11 | /* | 11 | /* |
@@ -15,7 +15,65 @@ | |||
15 | */ | 15 | */ |
16 | uart@3,0 { | 16 | uart@3,0 { |
17 | compatible = "ns16550a"; | 17 | compatible = "ns16550a"; |
18 | reg = <3 0 0x100>; | 18 | reg = <3 0 8>; /* CS3, offset 0, IO size 8 */ |
19 | bank-width = <2>; | ||
20 | reg-shift = <1>; | ||
21 | reg-io-width = <1>; | ||
22 | interrupt-parent = <&gpio4>; | ||
23 | interrupts = <6 IRQ_TYPE_EDGE_RISING>; /* gpio102 */ | ||
24 | clock-frequency = <1843200>; | ||
25 | current-speed = <115200>; | ||
26 | gpmc,mux-add-data = <0>; | ||
27 | gpmc,device-width = <1>; | ||
28 | gpmc,wait-pin = <1>; | ||
29 | gpmc,cycle2cycle-samecsen = <1>; | ||
30 | gpmc,cycle2cycle-diffcsen = <1>; | ||
31 | gpmc,cs-on-ns = <5>; | ||
32 | gpmc,cs-rd-off-ns = <155>; | ||
33 | gpmc,cs-wr-off-ns = <155>; | ||
34 | gpmc,adv-on-ns = <15>; | ||
35 | gpmc,adv-rd-off-ns = <40>; | ||
36 | gpmc,adv-wr-off-ns = <40>; | ||
37 | gpmc,oe-on-ns = <45>; | ||
38 | gpmc,oe-off-ns = <145>; | ||
39 | gpmc,we-on-ns = <45>; | ||
40 | gpmc,we-off-ns = <145>; | ||
41 | gpmc,rd-cycle-ns = <155>; | ||
42 | gpmc,wr-cycle-ns = <155>; | ||
43 | gpmc,access-ns = <145>; | ||
44 | gpmc,page-burst-access-ns = <20>; | ||
45 | gpmc,bus-turnaround-ns = <20>; | ||
46 | gpmc,cycle2cycle-delay-ns = <20>; | ||
47 | gpmc,wait-monitoring-ns = <0>; | ||
48 | gpmc,clk-activation-ns = <0>; | ||
49 | gpmc,wr-data-mux-bus-ns = <45>; | ||
50 | gpmc,wr-access-ns = <145>; | ||
51 | }; | ||
52 | uart@3,1 { | ||
53 | compatible = "ns16550a"; | ||
54 | reg = <3 0x100 8>; /* CS3, offset 0x100, IO size 8 */ | ||
55 | bank-width = <2>; | ||
56 | reg-shift = <1>; | ||
57 | reg-io-width = <1>; | ||
58 | interrupt-parent = <&gpio4>; | ||
59 | interrupts = <6 IRQ_TYPE_EDGE_RISING>; /* gpio102 */ | ||
60 | clock-frequency = <1843200>; | ||
61 | current-speed = <115200>; | ||
62 | }; | ||
63 | uart@3,2 { | ||
64 | compatible = "ns16550a"; | ||
65 | reg = <3 0x200 8>; /* CS3, offset 0x200, IO size 8 */ | ||
66 | bank-width = <2>; | ||
67 | reg-shift = <1>; | ||
68 | reg-io-width = <1>; | ||
69 | interrupt-parent = <&gpio4>; | ||
70 | interrupts = <6 IRQ_TYPE_EDGE_RISING>; /* gpio102 */ | ||
71 | clock-frequency = <1843200>; | ||
72 | current-speed = <115200>; | ||
73 | }; | ||
74 | uart@3,3 { | ||
75 | compatible = "ns16550a"; | ||
76 | reg = <3 0x300 8>; /* CS3, offset 0x300, IO size 8 */ | ||
19 | bank-width = <2>; | 77 | bank-width = <2>; |
20 | reg-shift = <1>; | 78 | reg-shift = <1>; |
21 | reg-io-width = <1>; | 79 | reg-io-width = <1>; |
diff --git a/arch/arm/boot/dts/omap2420-n8x0-common.dtsi b/arch/arm/boot/dts/omap2420-n8x0-common.dtsi index 24c50db2a478..c9f1e93a95ae 100644 --- a/arch/arm/boot/dts/omap2420-n8x0-common.dtsi +++ b/arch/arm/boot/dts/omap2420-n8x0-common.dtsi | |||
@@ -40,14 +40,14 @@ | |||
40 | }; | 40 | }; |
41 | 41 | ||
42 | &gpmc { | 42 | &gpmc { |
43 | ranges = <0 0 0x04000000 0x10000000>; | 43 | ranges = <0 0 0x04000000 0x1000000>; /* CS0: 16MB for OneNAND */ |
44 | 44 | ||
45 | /* gpio-irq for dma: 26 */ | 45 | /* gpio-irq for dma: 26 */ |
46 | 46 | ||
47 | onenand@0,0 { | 47 | onenand@0,0 { |
48 | #address-cells = <1>; | 48 | #address-cells = <1>; |
49 | #size-cells = <1>; | 49 | #size-cells = <1>; |
50 | reg = <0 0 0x10000000>; | 50 | reg = <0 0 0x20000>; /* CS0, offset 0, IO size 128K */ |
51 | 51 | ||
52 | gpmc,sync-read; | 52 | gpmc,sync-read; |
53 | gpmc,burst-length = <16>; | 53 | gpmc,burst-length = <16>; |
diff --git a/arch/arm/boot/dts/omap2420.dtsi b/arch/arm/boot/dts/omap2420.dtsi index ae89aad01595..e2b2e93d7b61 100644 --- a/arch/arm/boot/dts/omap2420.dtsi +++ b/arch/arm/boot/dts/omap2420.dtsi | |||
@@ -157,6 +157,7 @@ | |||
157 | interrupts = <26>, <34>; | 157 | interrupts = <26>, <34>; |
158 | interrupt-names = "dsp", "iva"; | 158 | interrupt-names = "dsp", "iva"; |
159 | ti,hwmods = "mailbox"; | 159 | ti,hwmods = "mailbox"; |
160 | #mbox-cells = <1>; | ||
160 | ti,mbox-num-users = <4>; | 161 | ti,mbox-num-users = <4>; |
161 | ti,mbox-num-fifos = <6>; | 162 | ti,mbox-num-fifos = <6>; |
162 | mbox_dsp: dsp { | 163 | mbox_dsp: dsp { |
diff --git a/arch/arm/boot/dts/omap2430-sdp.dts b/arch/arm/boot/dts/omap2430-sdp.dts index 2c90d29b4cad..05eca2e4430f 100644 --- a/arch/arm/boot/dts/omap2430-sdp.dts +++ b/arch/arm/boot/dts/omap2430-sdp.dts | |||
@@ -43,7 +43,31 @@ | |||
43 | interrupts = <21 IRQ_TYPE_LEVEL_LOW>; /* gpio149 */ | 43 | interrupts = <21 IRQ_TYPE_LEVEL_LOW>; /* gpio149 */ |
44 | reg = <5 0x300 0xf>; | 44 | reg = <5 0x300 0xf>; |
45 | bank-width = <2>; | 45 | bank-width = <2>; |
46 | gpmc,mux-add-data; | 46 | gpmc,sync-clk-ps = <0>; |
47 | }; | 47 | gpmc,mux-add-data = <2>; |
48 | gpmc,device-width = <1>; | ||
49 | gpmc,cycle2cycle-samecsen = <1>; | ||
50 | gpmc,cycle2cycle-diffcsen = <1>; | ||
51 | gpmc,cs-on-ns = <7>; | ||
52 | gpmc,cs-rd-off-ns = <233>; | ||
53 | gpmc,cs-wr-off-ns = <233>; | ||
54 | gpmc,adv-on-ns = <22>; | ||
55 | gpmc,adv-rd-off-ns = <60>; | ||
56 | gpmc,adv-wr-off-ns = <60>; | ||
57 | gpmc,oe-on-ns = <67>; | ||
58 | gpmc,oe-off-ns = <210>; | ||
59 | gpmc,we-on-ns = <67>; | ||
60 | gpmc,we-off-ns = <210>; | ||
61 | gpmc,rd-cycle-ns = <233>; | ||
62 | gpmc,wr-cycle-ns = <233>; | ||
63 | gpmc,access-ns = <233>; | ||
64 | gpmc,page-burst-access-ns = <30>; | ||
65 | gpmc,bus-turnaround-ns = <30>; | ||
66 | gpmc,cycle2cycle-delay-ns = <30>; | ||
67 | gpmc,wait-monitoring-ns = <0>; | ||
68 | gpmc,clk-activation-ns = <0>; | ||
69 | gpmc,wr-data-mux-bus-ns = <0>; | ||
70 | gpmc,wr-access-ns = <0>; | ||
71 | }; | ||
48 | }; | 72 | }; |
49 | 73 | ||
diff --git a/arch/arm/boot/dts/omap2430.dtsi b/arch/arm/boot/dts/omap2430.dtsi index b56d71611026..0dc8de2782b1 100644 --- a/arch/arm/boot/dts/omap2430.dtsi +++ b/arch/arm/boot/dts/omap2430.dtsi | |||
@@ -247,6 +247,7 @@ | |||
247 | reg = <0x48094000 0x200>; | 247 | reg = <0x48094000 0x200>; |
248 | interrupts = <26>; | 248 | interrupts = <26>; |
249 | ti,hwmods = "mailbox"; | 249 | ti,hwmods = "mailbox"; |
250 | #mbox-cells = <1>; | ||
250 | ti,mbox-num-users = <4>; | 251 | ti,mbox-num-users = <4>; |
251 | ti,mbox-num-fifos = <6>; | 252 | ti,mbox-num-fifos = <6>; |
252 | mbox_dsp: dsp { | 253 | mbox_dsp: dsp { |
diff --git a/arch/arm/boot/dts/omap3-cm-t3517.dts b/arch/arm/boot/dts/omap3-cm-t3517.dts index d00502f4fd9b..0ab748cf7749 100644 --- a/arch/arm/boot/dts/omap3-cm-t3517.dts +++ b/arch/arm/boot/dts/omap3-cm-t3517.dts | |||
@@ -134,3 +134,14 @@ | |||
134 | bus-width = <4>; | 134 | bus-width = <4>; |
135 | cap-power-off-card; | 135 | cap-power-off-card; |
136 | }; | 136 | }; |
137 | |||
138 | &dss { | ||
139 | status = "ok"; | ||
140 | |||
141 | pinctrl-names = "default"; | ||
142 | pinctrl-0 = < | ||
143 | &dss_dpi_pins_common | ||
144 | &dss_dpi_pins_cm_t35x | ||
145 | >; | ||
146 | }; | ||
147 | |||
diff --git a/arch/arm/boot/dts/omap3-cm-t3530.dts b/arch/arm/boot/dts/omap3-cm-t3530.dts index d1458496520e..8dd14fcf6825 100644 --- a/arch/arm/boot/dts/omap3-cm-t3530.dts +++ b/arch/arm/boot/dts/omap3-cm-t3530.dts | |||
@@ -46,3 +46,14 @@ | |||
46 | bus-width = <4>; | 46 | bus-width = <4>; |
47 | cap-power-off-card; | 47 | cap-power-off-card; |
48 | }; | 48 | }; |
49 | |||
50 | &dss { | ||
51 | status = "ok"; | ||
52 | |||
53 | pinctrl-names = "default"; | ||
54 | pinctrl-0 = < | ||
55 | &dss_dpi_pins_common | ||
56 | &dss_dpi_pins_cm_t35x | ||
57 | >; | ||
58 | }; | ||
59 | |||
diff --git a/arch/arm/boot/dts/omap3-cm-t3730.dts b/arch/arm/boot/dts/omap3-cm-t3730.dts index b3f9a50b3bc8..46eadb21b5ef 100644 --- a/arch/arm/boot/dts/omap3-cm-t3730.dts +++ b/arch/arm/boot/dts/omap3-cm-t3730.dts | |||
@@ -31,6 +31,19 @@ | |||
31 | }; | 31 | }; |
32 | }; | 32 | }; |
33 | 33 | ||
34 | &omap3_pmx_wkup { | ||
35 | dss_dpi_pins_cm_t3730: pinmux_dss_dpi_pins_cm_t3730 { | ||
36 | pinctrl-single,pins = < | ||
37 | OMAP3_WKUP_IOPAD(0x2a08, PIN_OUTPUT | MUX_MODE3) /* sys_boot0.dss_data18 */ | ||
38 | OMAP3_WKUP_IOPAD(0x2a0c, PIN_OUTPUT | MUX_MODE3) /* sys_boot1.dss_data19 */ | ||
39 | OMAP3_WKUP_IOPAD(0x2a10, PIN_OUTPUT | MUX_MODE3) /* sys_boot3.dss_data20 */ | ||
40 | OMAP3_WKUP_IOPAD(0x2a12, PIN_OUTPUT | MUX_MODE3) /* sys_boot4.dss_data21 */ | ||
41 | OMAP3_WKUP_IOPAD(0x2a14, PIN_OUTPUT | MUX_MODE3) /* sys_boot5.dss_data22 */ | ||
42 | OMAP3_WKUP_IOPAD(0x2a16, PIN_OUTPUT | MUX_MODE3) /* sys_boot6.dss_data23 */ | ||
43 | >; | ||
44 | }; | ||
45 | }; | ||
46 | |||
34 | &omap3_pmx_core { | 47 | &omap3_pmx_core { |
35 | 48 | ||
36 | mmc2_pins: pinmux_mmc2_pins { | 49 | mmc2_pins: pinmux_mmc2_pins { |
@@ -61,3 +74,14 @@ | |||
61 | bus-width = <4>; | 74 | bus-width = <4>; |
62 | cap-power-off-card; | 75 | cap-power-off-card; |
63 | }; | 76 | }; |
77 | |||
78 | &dss { | ||
79 | status = "ok"; | ||
80 | |||
81 | pinctrl-names = "default"; | ||
82 | pinctrl-0 = < | ||
83 | &dss_dpi_pins_common | ||
84 | &dss_dpi_pins_cm_t3730 | ||
85 | >; | ||
86 | }; | ||
87 | |||
diff --git a/arch/arm/boot/dts/omap3-cm-t3x.dtsi b/arch/arm/boot/dts/omap3-cm-t3x.dtsi index c671a2299ea8..6ea6d460db30 100644 --- a/arch/arm/boot/dts/omap3-cm-t3x.dtsi +++ b/arch/arm/boot/dts/omap3-cm-t3x.dtsi | |||
@@ -49,6 +49,24 @@ | |||
49 | compatible = "usb-nop-xceiv"; | 49 | compatible = "usb-nop-xceiv"; |
50 | vcc-supply = <&hsusb2_power>; | 50 | vcc-supply = <&hsusb2_power>; |
51 | }; | 51 | }; |
52 | |||
53 | ads7846reg: ads7846-reg { | ||
54 | compatible = "regulator-fixed"; | ||
55 | regulator-name = "ads7846-reg"; | ||
56 | regulator-min-microvolt = <3300000>; | ||
57 | regulator-max-microvolt = <3300000>; | ||
58 | }; | ||
59 | |||
60 | tv0: connector@1 { | ||
61 | compatible = "svideo-connector"; | ||
62 | label = "tv"; | ||
63 | |||
64 | port { | ||
65 | tv_connector_in: endpoint { | ||
66 | remote-endpoint = <&venc_out>; | ||
67 | }; | ||
68 | }; | ||
69 | }; | ||
52 | }; | 70 | }; |
53 | 71 | ||
54 | &omap3_pmx_core { | 72 | &omap3_pmx_core { |
@@ -76,6 +94,76 @@ | |||
76 | OMAP3_CORE1_IOPAD(0x21e2, PIN_OUTPUT | MUX_MODE4) /* sys_clkout2.gpio_186 */ | 94 | OMAP3_CORE1_IOPAD(0x21e2, PIN_OUTPUT | MUX_MODE4) /* sys_clkout2.gpio_186 */ |
77 | >; | 95 | >; |
78 | }; | 96 | }; |
97 | |||
98 | dss_dpi_pins_common: pinmux_dss_dpi_pins_common { | ||
99 | pinctrl-single,pins = < | ||
100 | OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */ | ||
101 | OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */ | ||
102 | OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */ | ||
103 | OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */ | ||
104 | |||
105 | OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */ | ||
106 | OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */ | ||
107 | OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */ | ||
108 | OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */ | ||
109 | OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */ | ||
110 | OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */ | ||
111 | OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */ | ||
112 | OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */ | ||
113 | OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */ | ||
114 | OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */ | ||
115 | OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */ | ||
116 | OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */ | ||
117 | OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */ | ||
118 | OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */ | ||
119 | OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */ | ||
120 | OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */ | ||
121 | OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */ | ||
122 | OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */ | ||
123 | >; | ||
124 | }; | ||
125 | |||
126 | dss_dpi_pins_cm_t35x: pinmux_dss_dpi_pins_cm_t35x { | ||
127 | pinctrl-single,pins = < | ||
128 | OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */ | ||
129 | OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */ | ||
130 | OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */ | ||
131 | OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */ | ||
132 | OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */ | ||
133 | OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */ | ||
134 | >; | ||
135 | }; | ||
136 | |||
137 | ads7846_pins: pinmux_ads7846_pins { | ||
138 | pinctrl-single,pins = < | ||
139 | OMAP3_CORE1_IOPAD(0x20ba, PIN_INPUT_PULLUP | MUX_MODE4) /* gpmc_ncs6.gpio_57 */ | ||
140 | >; | ||
141 | }; | ||
142 | |||
143 | mcspi1_pins: pinmux_mcspi1_pins { | ||
144 | pinctrl-single,pins = < | ||
145 | OMAP3_CORE1_IOPAD(0x21c8, PIN_INPUT | MUX_MODE0) /* mcspi1_clk */ | ||
146 | OMAP3_CORE1_IOPAD(0x21ca, PIN_INPUT | MUX_MODE0) /* mcspi1_simo */ | ||
147 | OMAP3_CORE1_IOPAD(0x21cc, PIN_INPUT | MUX_MODE0) /* mcspi1_somi */ | ||
148 | OMAP3_CORE1_IOPAD(0x21ce, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcspi1_cs0 */ | ||
149 | >; | ||
150 | }; | ||
151 | |||
152 | i2c1_pins: pinmux_i2c1_pins { | ||
153 | pinctrl-single,pins = < | ||
154 | OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */ | ||
155 | OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */ | ||
156 | >; | ||
157 | }; | ||
158 | |||
159 | mcbsp2_pins: pinmux_mcbsp2_pins { | ||
160 | pinctrl-single,pins = < | ||
161 | OMAP3_CORE1_IOPAD(0x213c, PIN_INPUT | MUX_MODE0) /* mcbsp2_fsx */ | ||
162 | OMAP3_CORE1_IOPAD(0x213e, PIN_INPUT | MUX_MODE0) /* mcbsp2_clkx */ | ||
163 | OMAP3_CORE1_IOPAD(0x2140, PIN_INPUT | MUX_MODE0) /* mcbsp2_dr */ | ||
164 | OMAP3_CORE1_IOPAD(0x2142, PIN_OUTPUT | MUX_MODE0) /* mcbsp2_dx */ | ||
165 | >; | ||
166 | }; | ||
79 | }; | 167 | }; |
80 | 168 | ||
81 | &uart3 { | 169 | &uart3 { |
@@ -94,12 +182,22 @@ | |||
94 | }; | 182 | }; |
95 | 183 | ||
96 | &i2c1 { | 184 | &i2c1 { |
185 | pinctrl-names = "default"; | ||
186 | pinctrl-0 = <&i2c1_pins>; | ||
187 | |||
97 | clock-frequency = <400000>; | 188 | clock-frequency = <400000>; |
189 | |||
190 | at24@50 { | ||
191 | compatible = "at24,24c02"; | ||
192 | pagesize = <16>; | ||
193 | reg = <0x50>; | ||
194 | }; | ||
98 | }; | 195 | }; |
99 | 196 | ||
100 | &i2c3 { | 197 | &i2c3 { |
101 | clock-frequency = <400000>; | 198 | clock-frequency = <400000>; |
102 | }; | 199 | }; |
200 | |||
103 | &usbhshost { | 201 | &usbhshost { |
104 | port1-mode = "ehci-phy"; | 202 | port1-mode = "ehci-phy"; |
105 | port2-mode = "ehci-phy"; | 203 | port2-mode = "ehci-phy"; |
@@ -108,3 +206,56 @@ | |||
108 | &usbhsehci { | 206 | &usbhsehci { |
109 | phys = <&hsusb1_phy &hsusb2_phy>; | 207 | phys = <&hsusb1_phy &hsusb2_phy>; |
110 | }; | 208 | }; |
209 | |||
210 | &mcspi1 { | ||
211 | pinctrl-names = "default"; | ||
212 | pinctrl-0 = <&mcspi1_pins>; | ||
213 | |||
214 | /* touch controller */ | ||
215 | ads7846@0 { | ||
216 | pinctrl-names = "default"; | ||
217 | pinctrl-0 = <&ads7846_pins>; | ||
218 | |||
219 | compatible = "ti,ads7846"; | ||
220 | vcc-supply = <&ads7846reg>; | ||
221 | |||
222 | reg = <0>; /* CS0 */ | ||
223 | spi-max-frequency = <1500000>; | ||
224 | |||
225 | interrupt-parent = <&gpio2>; | ||
226 | interrupts = <25 0>; /* gpio_57 */ | ||
227 | pendown-gpio = <&gpio2 25 0>; | ||
228 | |||
229 | ti,x-min = /bits/ 16 <0x0>; | ||
230 | ti,x-max = /bits/ 16 <0x0fff>; | ||
231 | ti,y-min = /bits/ 16 <0x0>; | ||
232 | ti,y-max = /bits/ 16 <0x0fff>; | ||
233 | |||
234 | ti,x-plate-ohms = /bits/ 16 <180>; | ||
235 | ti,pressure-max = /bits/ 16 <255>; | ||
236 | |||
237 | ti,debounce-max = /bits/ 16 <30>; | ||
238 | ti,debounce-tol = /bits/ 16 <10>; | ||
239 | ti,debounce-rep = /bits/ 16 <1>; | ||
240 | |||
241 | linux,wakeup; | ||
242 | }; | ||
243 | }; | ||
244 | |||
245 | &venc { | ||
246 | status = "ok"; | ||
247 | |||
248 | port { | ||
249 | venc_out: endpoint { | ||
250 | remote-endpoint = <&tv_connector_in>; | ||
251 | ti,channels = <2>; | ||
252 | }; | ||
253 | }; | ||
254 | }; | ||
255 | |||
256 | &mcbsp2 { | ||
257 | status = "ok"; | ||
258 | |||
259 | pinctrl-names = "default"; | ||
260 | pinctrl-0 = <&mcbsp2_pins>; | ||
261 | }; | ||
diff --git a/arch/arm/boot/dts/omap3-cm-t3x30.dtsi b/arch/arm/boot/dts/omap3-cm-t3x30.dtsi index 3cbaf98c1372..9a4a3ab9af78 100644 --- a/arch/arm/boot/dts/omap3-cm-t3x30.dtsi +++ b/arch/arm/boot/dts/omap3-cm-t3x30.dtsi | |||
@@ -10,6 +10,14 @@ | |||
10 | cpu0-supply = <&vcc>; | 10 | cpu0-supply = <&vcc>; |
11 | }; | 11 | }; |
12 | }; | 12 | }; |
13 | |||
14 | sound { | ||
15 | compatible = "ti,omap-twl4030"; | ||
16 | ti,model = "cm-t35"; | ||
17 | |||
18 | ti,mcbsp = <&mcbsp2>; | ||
19 | ti,codec = <&twl_audio>; | ||
20 | }; | ||
13 | }; | 21 | }; |
14 | 22 | ||
15 | &omap3_pmx_core { | 23 | &omap3_pmx_core { |
@@ -59,6 +67,12 @@ | |||
59 | reg = <0x48>; | 67 | reg = <0x48>; |
60 | interrupts = <7>; /* SYS_NIRQ cascaded to intc */ | 68 | interrupts = <7>; /* SYS_NIRQ cascaded to intc */ |
61 | interrupt-parent = <&intc>; | 69 | interrupt-parent = <&intc>; |
70 | |||
71 | twl_audio: audio { | ||
72 | compatible = "ti,twl4030-audio"; | ||
73 | codec { | ||
74 | }; | ||
75 | }; | ||
62 | }; | 76 | }; |
63 | }; | 77 | }; |
64 | 78 | ||
@@ -66,6 +80,10 @@ | |||
66 | #include "twl4030_omap3.dtsi" | 80 | #include "twl4030_omap3.dtsi" |
67 | #include <dt-bindings/input/input.h> | 81 | #include <dt-bindings/input/input.h> |
68 | 82 | ||
83 | &venc { | ||
84 | vdda-supply = <&vdac>; | ||
85 | }; | ||
86 | |||
69 | &mmc1 { | 87 | &mmc1 { |
70 | vmmc-supply = <&vmmc1>; | 88 | vmmc-supply = <&vmmc1>; |
71 | }; | 89 | }; |
diff --git a/arch/arm/boot/dts/omap3-devkit8000.dts b/arch/arm/boot/dts/omap3-devkit8000.dts index da402f0fdab4..169037e5ff53 100644 --- a/arch/arm/boot/dts/omap3-devkit8000.dts +++ b/arch/arm/boot/dts/omap3-devkit8000.dts | |||
@@ -106,10 +106,10 @@ | |||
106 | }; | 106 | }; |
107 | 107 | ||
108 | &gpmc { | 108 | &gpmc { |
109 | ranges = <0 0 0x30000000 0x04>; /* CS0: NAND */ | 109 | ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */ |
110 | 110 | ||
111 | nand@0,0 { | 111 | nand@0,0 { |
112 | reg = <0 0 0>; /* CS0, offset 0 */ | 112 | reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ |
113 | nand-bus-width = <16>; | 113 | nand-bus-width = <16>; |
114 | 114 | ||
115 | gpmc,sync-clk-ps = <0>; | 115 | gpmc,sync-clk-ps = <0>; |
diff --git a/arch/arm/boot/dts/omap3-evm-37xx.dts b/arch/arm/boot/dts/omap3-evm-37xx.dts index a8bd4349c7d2..16e8ce350dda 100644 --- a/arch/arm/boot/dts/omap3-evm-37xx.dts +++ b/arch/arm/boot/dts/omap3-evm-37xx.dts | |||
@@ -154,13 +154,14 @@ | |||
154 | }; | 154 | }; |
155 | 155 | ||
156 | &gpmc { | 156 | &gpmc { |
157 | ranges = <0 0 0x00000000 0x20000000>, | 157 | ranges = <0 0 0x00000000 0x1000000>, /* CS0: 16MB for NAND */ |
158 | <5 0 0x2c000000 0x01000000>; | 158 | <5 0 0x2c000000 0x01000000>; |
159 | 159 | ||
160 | nand@0,0 { | 160 | nand@0,0 { |
161 | linux,mtd-name= "hynix,h8kds0un0mer-4em"; | 161 | linux,mtd-name= "hynix,h8kds0un0mer-4em"; |
162 | reg = <0 0 0>; | 162 | reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ |
163 | nand-bus-width = <16>; | 163 | nand-bus-width = <16>; |
164 | gpmc,device-width = <2>; | ||
164 | ti,nand-ecc-opt = "bch8"; | 165 | ti,nand-ecc-opt = "bch8"; |
165 | 166 | ||
166 | gpmc,sync-clk-ps = <0>; | 167 | gpmc,sync-clk-ps = <0>; |
diff --git a/arch/arm/boot/dts/omap3-gta04.dtsi b/arch/arm/boot/dts/omap3-gta04.dtsi index fd34f913ace3..655d6e920a86 100644 --- a/arch/arm/boot/dts/omap3-gta04.dtsi +++ b/arch/arm/boot/dts/omap3-gta04.dtsi | |||
@@ -104,67 +104,67 @@ | |||
104 | 104 | ||
105 | uart1_pins: pinmux_uart1_pins { | 105 | uart1_pins: pinmux_uart1_pins { |
106 | pinctrl-single,pins = < | 106 | pinctrl-single,pins = < |
107 | 0x152 (PIN_INPUT | MUX_MODE0) /* uart1_rx.uart1_rx */ | 107 | OMAP3_CORE1_IOPAD(0x2182, PIN_INPUT | MUX_MODE0) /* uart1_rx.uart1_rx */ |
108 | 0x14c (PIN_OUTPUT |MUX_MODE0) /* uart1_tx.uart1_tx */ | 108 | OMAP3_CORE1_IOPAD(0x217c, PIN_OUTPUT | MUX_MODE0) /* uart1_tx.uart1_tx */ |
109 | >; | 109 | >; |
110 | }; | 110 | }; |
111 | 111 | ||
112 | uart2_pins: pinmux_uart2_pins { | 112 | uart2_pins: pinmux_uart2_pins { |
113 | pinctrl-single,pins = < | 113 | pinctrl-single,pins = < |
114 | 0x14a (PIN_INPUT | MUX_MODE0) /* uart2_rx.uart2_rx */ | 114 | OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0) /* uart2_rx.uart2_rx */ |
115 | 0x148 (PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */ | 115 | OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */ |
116 | >; | 116 | >; |
117 | }; | 117 | }; |
118 | 118 | ||
119 | uart3_pins: pinmux_uart3_pins { | 119 | uart3_pins: pinmux_uart3_pins { |
120 | pinctrl-single,pins = < | 120 | pinctrl-single,pins = < |
121 | 0x16e (PIN_INPUT | MUX_MODE0) /* uart3_rx.uart3_rx */ | 121 | OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | MUX_MODE0) /* uart3_rx.uart3_rx */ |
122 | 0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx.uart3_tx */ | 122 | OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx.uart3_tx */ |
123 | >; | 123 | >; |
124 | }; | 124 | }; |
125 | 125 | ||
126 | mmc1_pins: pinmux_mmc1_pins { | 126 | mmc1_pins: pinmux_mmc1_pins { |
127 | pinctrl-single,pins = < | 127 | pinctrl-single,pins = < |
128 | 0x114 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */ | 128 | OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */ |
129 | 0x116 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */ | 129 | OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */ |
130 | 0x118 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */ | 130 | OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */ |
131 | 0x11a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */ | 131 | OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */ |
132 | 0x11c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */ | 132 | OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */ |
133 | 0x11e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */ | 133 | OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */ |
134 | >; | 134 | >; |
135 | }; | 135 | }; |
136 | 136 | ||
137 | dss_dpi_pins: pinmux_dss_dpi_pins { | 137 | dss_dpi_pins: pinmux_dss_dpi_pins { |
138 | pinctrl-single,pins = < | 138 | pinctrl-single,pins = < |
139 | 0x0a4 (PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */ | 139 | OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */ |
140 | 0x0a6 (PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */ | 140 | OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */ |
141 | 0x0a8 (PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */ | 141 | OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */ |
142 | 0x0aa (PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */ | 142 | OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */ |
143 | 0x0ac (PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */ | 143 | OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */ |
144 | 0x0ae (PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */ | 144 | OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */ |
145 | 0x0b0 (PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */ | 145 | OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */ |
146 | 0x0b2 (PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */ | 146 | OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */ |
147 | 0x0b4 (PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */ | 147 | OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */ |
148 | 0x0b6 (PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */ | 148 | OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */ |
149 | 0x0b8 (PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */ | 149 | OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */ |
150 | 0x0ba (PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */ | 150 | OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */ |
151 | 0x0bc (PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */ | 151 | OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */ |
152 | 0x0be (PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */ | 152 | OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */ |
153 | 0x0c0 (PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */ | 153 | OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */ |
154 | 0x0c2 (PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */ | 154 | OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */ |
155 | 0x0c4 (PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */ | 155 | OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */ |
156 | 0x0c6 (PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */ | 156 | OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */ |
157 | 0x0c8 (PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */ | 157 | OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */ |
158 | 0x0ca (PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */ | 158 | OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */ |
159 | 0x0cc (PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */ | 159 | OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */ |
160 | 0x0ce (PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */ | 160 | OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */ |
161 | 0x0d0 (PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */ | 161 | OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */ |
162 | 0x0d2 (PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */ | 162 | OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */ |
163 | 0x0d4 (PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */ | 163 | OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */ |
164 | 0x0d6 (PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */ | 164 | OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */ |
165 | 0x0d8 (PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */ | 165 | OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */ |
166 | 0x0da (PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */ | 166 | OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */ |
167 | >; | 167 | >; |
168 | }; | 168 | }; |
169 | }; | 169 | }; |
170 | 170 | ||
@@ -397,10 +397,10 @@ | |||
397 | }; | 397 | }; |
398 | 398 | ||
399 | &gpmc { | 399 | &gpmc { |
400 | ranges = <0 0 0x30000000 0x04>; /* CS0: NAND */ | 400 | ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */ |
401 | 401 | ||
402 | nand@0,0 { | 402 | nand@0,0 { |
403 | reg = <0 0 0>; /* CS0, offset 0 */ | 403 | reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ |
404 | nand-bus-width = <16>; | 404 | nand-bus-width = <16>; |
405 | ti,nand-ecc-opt = "bch8"; | 405 | ti,nand-ecc-opt = "bch8"; |
406 | 406 | ||
diff --git a/arch/arm/boot/dts/omap3-igep.dtsi b/arch/arm/boot/dts/omap3-igep.dtsi index e2d163bf0619..8a63ad2286aa 100644 --- a/arch/arm/boot/dts/omap3-igep.dtsi +++ b/arch/arm/boot/dts/omap3-igep.dtsi | |||
@@ -31,18 +31,6 @@ | |||
31 | regulator-always-on; | 31 | regulator-always-on; |
32 | }; | 32 | }; |
33 | 33 | ||
34 | lbee1usjyc_vmmc: lbee1usjyc_vmmc { | ||
35 | pinctrl-names = "default"; | ||
36 | pinctrl-0 = <&lbee1usjyc_pins>; | ||
37 | compatible = "regulator-fixed"; | ||
38 | regulator-name = "regulator-lbee1usjyc"; | ||
39 | regulator-min-microvolt = <3300000>; | ||
40 | regulator-max-microvolt = <3300000>; | ||
41 | gpio = <&gpio5 10 GPIO_ACTIVE_HIGH>; /* gpio_138 WIFI_PDN */ | ||
42 | startup-delay-us = <10000>; | ||
43 | enable-active-high; | ||
44 | vin-supply = <&vdd33>; | ||
45 | }; | ||
46 | }; | 34 | }; |
47 | 35 | ||
48 | &omap3_pmx_core { | 36 | &omap3_pmx_core { |
@@ -53,13 +41,6 @@ | |||
53 | >; | 41 | >; |
54 | }; | 42 | }; |
55 | 43 | ||
56 | uart2_pins: pinmux_uart2_pins { | ||
57 | pinctrl-single,pins = < | ||
58 | 0x14a (PIN_INPUT | MUX_MODE0) /* uart2_rx.uart2_rx */ | ||
59 | 0x148 (PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */ | ||
60 | >; | ||
61 | }; | ||
62 | |||
63 | uart3_pins: pinmux_uart3_pins { | 44 | uart3_pins: pinmux_uart3_pins { |
64 | pinctrl-single,pins = < | 45 | pinctrl-single,pins = < |
65 | 0x16e (PIN_INPUT | MUX_MODE0) /* uart3_rx.uart3_rx */ | 46 | 0x16e (PIN_INPUT | MUX_MODE0) /* uart3_rx.uart3_rx */ |
@@ -67,15 +48,6 @@ | |||
67 | >; | 48 | >; |
68 | }; | 49 | }; |
69 | 50 | ||
70 | /* WiFi/BT combo */ | ||
71 | lbee1usjyc_pins: pinmux_lbee1usjyc_pins { | ||
72 | pinctrl-single,pins = < | ||
73 | 0x136 (PIN_OUTPUT | MUX_MODE4) /* sdmmc2_dat5.gpio_137 */ | ||
74 | 0x138 (PIN_OUTPUT | MUX_MODE4) /* sdmmc2_dat6.gpio_138 */ | ||
75 | 0x13a (PIN_OUTPUT | MUX_MODE4) /* sdmmc2_dat7.gpio_139 */ | ||
76 | >; | ||
77 | }; | ||
78 | |||
79 | mcbsp2_pins: pinmux_mcbsp2_pins { | 51 | mcbsp2_pins: pinmux_mcbsp2_pins { |
80 | pinctrl-single,pins = < | 52 | pinctrl-single,pins = < |
81 | 0x10c (PIN_INPUT | MUX_MODE0) /* mcbsp2_fsx.mcbsp2_fsx */ | 53 | 0x10c (PIN_INPUT | MUX_MODE0) /* mcbsp2_fsx.mcbsp2_fsx */ |
@@ -120,13 +92,6 @@ | |||
120 | >; | 92 | >; |
121 | }; | 93 | }; |
122 | 94 | ||
123 | i2c2_pins: pinmux_i2c2_pins { | ||
124 | pinctrl-single,pins = < | ||
125 | 0x18e (PIN_INPUT | MUX_MODE0) /* i2c2_scl.i2c2_scl */ | ||
126 | 0x190 (PIN_INPUT | MUX_MODE0) /* i2c2_sda.i2c2_sda */ | ||
127 | >; | ||
128 | }; | ||
129 | |||
130 | i2c3_pins: pinmux_i2c3_pins { | 95 | i2c3_pins: pinmux_i2c3_pins { |
131 | pinctrl-single,pins = < | 96 | pinctrl-single,pins = < |
132 | 0x192 (PIN_INPUT | MUX_MODE0) /* i2c3_scl.i2c3_scl */ | 97 | 0x192 (PIN_INPUT | MUX_MODE0) /* i2c3_scl.i2c3_scl */ |
@@ -135,6 +100,55 @@ | |||
135 | }; | 100 | }; |
136 | }; | 101 | }; |
137 | 102 | ||
103 | &gpmc { | ||
104 | nand@0,0 { | ||
105 | linux,mtd-name= "micron,mt29c4g96maz"; | ||
106 | reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ | ||
107 | nand-bus-width = <16>; | ||
108 | gpmc,device-width = <2>; | ||
109 | ti,nand-ecc-opt = "bch8"; | ||
110 | |||
111 | gpmc,sync-clk-ps = <0>; | ||
112 | gpmc,cs-on-ns = <0>; | ||
113 | gpmc,cs-rd-off-ns = <44>; | ||
114 | gpmc,cs-wr-off-ns = <44>; | ||
115 | gpmc,adv-on-ns = <6>; | ||
116 | gpmc,adv-rd-off-ns = <34>; | ||
117 | gpmc,adv-wr-off-ns = <44>; | ||
118 | gpmc,we-off-ns = <40>; | ||
119 | gpmc,oe-off-ns = <54>; | ||
120 | gpmc,access-ns = <64>; | ||
121 | gpmc,rd-cycle-ns = <82>; | ||
122 | gpmc,wr-cycle-ns = <82>; | ||
123 | gpmc,wr-access-ns = <40>; | ||
124 | gpmc,wr-data-mux-bus-ns = <0>; | ||
125 | |||
126 | #address-cells = <1>; | ||
127 | #size-cells = <1>; | ||
128 | |||
129 | partition@0 { | ||
130 | label = "SPL"; | ||
131 | reg = <0 0x100000>; | ||
132 | }; | ||
133 | partition@80000 { | ||
134 | label = "U-Boot"; | ||
135 | reg = <0x100000 0x180000>; | ||
136 | }; | ||
137 | partition@1c0000 { | ||
138 | label = "Environment"; | ||
139 | reg = <0x280000 0x100000>; | ||
140 | }; | ||
141 | partition@280000 { | ||
142 | label = "Kernel"; | ||
143 | reg = <0x380000 0x300000>; | ||
144 | }; | ||
145 | partition@780000 { | ||
146 | label = "Filesystem"; | ||
147 | reg = <0x680000 0x1f980000>; | ||
148 | }; | ||
149 | }; | ||
150 | }; | ||
151 | |||
138 | &i2c1 { | 152 | &i2c1 { |
139 | pinctrl-names = "default"; | 153 | pinctrl-names = "default"; |
140 | pinctrl-0 = <&i2c1_pins>; | 154 | pinctrl-0 = <&i2c1_pins>; |
@@ -156,12 +170,6 @@ | |||
156 | #include "twl4030.dtsi" | 170 | #include "twl4030.dtsi" |
157 | #include "twl4030_omap3.dtsi" | 171 | #include "twl4030_omap3.dtsi" |
158 | 172 | ||
159 | &i2c2 { | ||
160 | pinctrl-names = "default"; | ||
161 | pinctrl-0 = <&i2c2_pins>; | ||
162 | clock-frequency = <400000>; | ||
163 | }; | ||
164 | |||
165 | &i2c3 { | 173 | &i2c3 { |
166 | pinctrl-names = "default"; | 174 | pinctrl-names = "default"; |
167 | pinctrl-0 = <&i2c3_pins>; | 175 | pinctrl-0 = <&i2c3_pins>; |
@@ -181,14 +189,6 @@ | |||
181 | bus-width = <4>; | 189 | bus-width = <4>; |
182 | }; | 190 | }; |
183 | 191 | ||
184 | &mmc2 { | ||
185 | pinctrl-names = "default"; | ||
186 | pinctrl-0 = <&mmc2_pins>; | ||
187 | vmmc-supply = <&lbee1usjyc_vmmc>; | ||
188 | bus-width = <4>; | ||
189 | non-removable; | ||
190 | }; | ||
191 | |||
192 | &mmc3 { | 192 | &mmc3 { |
193 | status = "disabled"; | 193 | status = "disabled"; |
194 | }; | 194 | }; |
@@ -198,11 +198,6 @@ | |||
198 | pinctrl-0 = <&uart1_pins>; | 198 | pinctrl-0 = <&uart1_pins>; |
199 | }; | 199 | }; |
200 | 200 | ||
201 | &uart2 { | ||
202 | pinctrl-names = "default"; | ||
203 | pinctrl-0 = <&uart2_pins>; | ||
204 | }; | ||
205 | |||
206 | &uart3 { | 201 | &uart3 { |
207 | pinctrl-names = "default"; | 202 | pinctrl-names = "default"; |
208 | pinctrl-0 = <&uart3_pins>; | 203 | pinctrl-0 = <&uart3_pins>; |
diff --git a/arch/arm/boot/dts/omap3-igep0020-common.dtsi b/arch/arm/boot/dts/omap3-igep0020-common.dtsi new file mode 100644 index 000000000000..e458c2185e3c --- /dev/null +++ b/arch/arm/boot/dts/omap3-igep0020-common.dtsi | |||
@@ -0,0 +1,246 @@ | |||
1 | /* | ||
2 | * Common Device Tree Source for IGEPv2 | ||
3 | * | ||
4 | * Copyright (C) 2014 Javier Martinez Canillas <javier@collabora.co.uk> | ||
5 | * Copyright (C) 2014 Enric Balletbo i Serra <eballetbo@gmail.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | #include "omap3-igep.dtsi" | ||
13 | #include "omap-gpmc-smsc9221.dtsi" | ||
14 | |||
15 | / { | ||
16 | |||
17 | leds { | ||
18 | pinctrl-names = "default"; | ||
19 | pinctrl-0 = <&leds_pins>; | ||
20 | compatible = "gpio-leds"; | ||
21 | |||
22 | boot { | ||
23 | label = "omap3:green:boot"; | ||
24 | gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>; | ||
25 | default-state = "on"; | ||
26 | }; | ||
27 | |||
28 | user0 { | ||
29 | label = "omap3:red:user0"; | ||
30 | gpios = <&gpio1 27 GPIO_ACTIVE_HIGH>; | ||
31 | default-state = "off"; | ||
32 | }; | ||
33 | |||
34 | user1 { | ||
35 | label = "omap3:red:user1"; | ||
36 | gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; | ||
37 | default-state = "off"; | ||
38 | }; | ||
39 | |||
40 | user2 { | ||
41 | label = "omap3:green:user1"; | ||
42 | gpios = <&twl_gpio 19 GPIO_ACTIVE_LOW>; | ||
43 | }; | ||
44 | }; | ||
45 | |||
46 | /* HS USB Port 1 Power */ | ||
47 | hsusb1_power: hsusb1_power_reg { | ||
48 | compatible = "regulator-fixed"; | ||
49 | regulator-name = "hsusb1_vbus"; | ||
50 | regulator-min-microvolt = <3300000>; | ||
51 | regulator-max-microvolt = <3300000>; | ||
52 | gpio = <&twl_gpio 18 GPIO_ACTIVE_LOW>; /* GPIO LEDA */ | ||
53 | startup-delay-us = <70000>; | ||
54 | }; | ||
55 | |||
56 | /* HS USB Host PHY on PORT 1 */ | ||
57 | hsusb1_phy: hsusb1_phy { | ||
58 | compatible = "usb-nop-xceiv"; | ||
59 | reset-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; /* gpio_24 */ | ||
60 | vcc-supply = <&hsusb1_power>; | ||
61 | }; | ||
62 | |||
63 | tfp410: encoder@0 { | ||
64 | compatible = "ti,tfp410"; | ||
65 | powerdown-gpios = <&gpio6 10 GPIO_ACTIVE_LOW>; /* gpio_170 */ | ||
66 | |||
67 | ports { | ||
68 | #address-cells = <1>; | ||
69 | #size-cells = <0>; | ||
70 | |||
71 | port@0 { | ||
72 | reg = <0>; | ||
73 | |||
74 | tfp410_in: endpoint@0 { | ||
75 | remote-endpoint = <&dpi_out>; | ||
76 | }; | ||
77 | }; | ||
78 | |||
79 | port@1 { | ||
80 | reg = <1>; | ||
81 | |||
82 | tfp410_out: endpoint@0 { | ||
83 | remote-endpoint = <&dvi_connector_in>; | ||
84 | }; | ||
85 | }; | ||
86 | }; | ||
87 | }; | ||
88 | |||
89 | dvi0: connector@0 { | ||
90 | compatible = "dvi-connector"; | ||
91 | label = "dvi"; | ||
92 | |||
93 | digital; | ||
94 | |||
95 | ddc-i2c-bus = <&i2c3>; | ||
96 | |||
97 | port { | ||
98 | dvi_connector_in: endpoint { | ||
99 | remote-endpoint = <&tfp410_out>; | ||
100 | }; | ||
101 | }; | ||
102 | }; | ||
103 | }; | ||
104 | |||
105 | &omap3_pmx_core { | ||
106 | pinctrl-names = "default"; | ||
107 | pinctrl-0 = < | ||
108 | &tfp410_pins | ||
109 | &dss_dpi_pins | ||
110 | >; | ||
111 | |||
112 | tfp410_pins: pinmux_tfp410_pins { | ||
113 | pinctrl-single,pins = < | ||
114 | 0x196 (PIN_OUTPUT | MUX_MODE4) /* hdq_sio.gpio_170 */ | ||
115 | >; | ||
116 | }; | ||
117 | |||
118 | dss_dpi_pins: pinmux_dss_dpi_pins { | ||
119 | pinctrl-single,pins = < | ||
120 | 0x0a4 (PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */ | ||
121 | 0x0a6 (PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */ | ||
122 | 0x0a8 (PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */ | ||
123 | 0x0aa (PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */ | ||
124 | 0x0ac (PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */ | ||
125 | 0x0ae (PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */ | ||
126 | 0x0b0 (PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */ | ||
127 | 0x0b2 (PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */ | ||
128 | 0x0b4 (PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */ | ||
129 | 0x0b6 (PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */ | ||
130 | 0x0b8 (PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */ | ||
131 | 0x0ba (PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */ | ||
132 | 0x0bc (PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */ | ||
133 | 0x0be (PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */ | ||
134 | 0x0c0 (PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */ | ||
135 | 0x0c2 (PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */ | ||
136 | 0x0c4 (PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */ | ||
137 | 0x0c6 (PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */ | ||
138 | 0x0c8 (PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */ | ||
139 | 0x0ca (PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */ | ||
140 | 0x0cc (PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */ | ||
141 | 0x0ce (PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */ | ||
142 | 0x0d0 (PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */ | ||
143 | 0x0d2 (PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */ | ||
144 | 0x0d4 (PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */ | ||
145 | 0x0d6 (PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */ | ||
146 | 0x0d8 (PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */ | ||
147 | 0x0da (PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */ | ||
148 | >; | ||
149 | }; | ||
150 | |||
151 | uart2_pins: pinmux_uart2_pins { | ||
152 | pinctrl-single,pins = < | ||
153 | OMAP3_CORE1_IOPAD(0x2174, PIN_INPUT | MUX_MODE0) /* uart2_cts.uart2_cts */ | ||
154 | OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE0) /* uart2_rts .uart2_rts*/ | ||
155 | OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */ | ||
156 | OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0) /* uart2_rx.uart2_rx */ | ||
157 | >; | ||
158 | }; | ||
159 | }; | ||
160 | |||
161 | &omap3_pmx_core2 { | ||
162 | pinctrl-names = "default"; | ||
163 | pinctrl-0 = < | ||
164 | &hsusbb1_pins | ||
165 | >; | ||
166 | |||
167 | hsusbb1_pins: pinmux_hsusbb1_pins { | ||
168 | pinctrl-single,pins = < | ||
169 | OMAP3630_CORE2_IOPAD(0x25da, PIN_OUTPUT | MUX_MODE3) /* etk_ctl.hsusb1_clk */ | ||
170 | OMAP3630_CORE2_IOPAD(0x25d8, PIN_OUTPUT | MUX_MODE3) /* etk_clk.hsusb1_stp */ | ||
171 | OMAP3630_CORE2_IOPAD(0x25ec, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d8.hsusb1_dir */ | ||
172 | OMAP3630_CORE2_IOPAD(0x25ee, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d9.hsusb1_nxt */ | ||
173 | OMAP3630_CORE2_IOPAD(0x25dc, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d0.hsusb1_data0 */ | ||
174 | OMAP3630_CORE2_IOPAD(0x25de, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d1.hsusb1_data1 */ | ||
175 | OMAP3630_CORE2_IOPAD(0x25e0, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d2.hsusb1_data2 */ | ||
176 | OMAP3630_CORE2_IOPAD(0x25e2, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d3.hsusb1_data7 */ | ||
177 | OMAP3630_CORE2_IOPAD(0x25e4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d4.hsusb1_data4 */ | ||
178 | OMAP3630_CORE2_IOPAD(0x25e6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d5.hsusb1_data5 */ | ||
179 | OMAP3630_CORE2_IOPAD(0x25e8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d6.hsusb1_data6 */ | ||
180 | OMAP3630_CORE2_IOPAD(0x25ea, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d7.hsusb1_data3 */ | ||
181 | >; | ||
182 | }; | ||
183 | |||
184 | leds_pins: pinmux_leds_pins { | ||
185 | pinctrl-single,pins = < | ||
186 | OMAP3630_CORE2_IOPAD(0x25f4, PIN_OUTPUT | MUX_MODE4) /* etk_d12.gpio_26 */ | ||
187 | OMAP3630_CORE2_IOPAD(0x25f6, PIN_OUTPUT | MUX_MODE4) /* etk_d13.gpio_27 */ | ||
188 | OMAP3630_CORE2_IOPAD(0x25f8, PIN_OUTPUT | MUX_MODE4) /* etk_d14.gpio_28 */ | ||
189 | >; | ||
190 | }; | ||
191 | }; | ||
192 | |||
193 | &i2c3 { | ||
194 | clock-frequency = <100000>; | ||
195 | |||
196 | /* | ||
197 | * Display monitor features are burnt in the EEPROM | ||
198 | * as EDID data. | ||
199 | */ | ||
200 | eeprom@50 { | ||
201 | compatible = "ti,eeprom"; | ||
202 | reg = <0x50>; | ||
203 | }; | ||
204 | }; | ||
205 | |||
206 | &gpmc { | ||
207 | ranges = <0 0 0x00000000 0x20000000>, | ||
208 | <5 0 0x2c000000 0x01000000>; | ||
209 | |||
210 | ethernet@gpmc { | ||
211 | pinctrl-names = "default"; | ||
212 | pinctrl-0 = <&smsc9221_pins>; | ||
213 | reg = <5 0 0xff>; | ||
214 | interrupt-parent = <&gpio6>; | ||
215 | interrupts = <16 IRQ_TYPE_LEVEL_LOW>; | ||
216 | }; | ||
217 | }; | ||
218 | |||
219 | &uart2 { | ||
220 | pinctrl-names = "default"; | ||
221 | pinctrl-0 = <&uart2_pins>; | ||
222 | }; | ||
223 | |||
224 | &usbhshost { | ||
225 | port1-mode = "ehci-phy"; | ||
226 | }; | ||
227 | |||
228 | &usbhsehci { | ||
229 | phys = <&hsusb1_phy>; | ||
230 | }; | ||
231 | |||
232 | &vpll2 { | ||
233 | /* Needed for DSS */ | ||
234 | regulator-name = "vdds_dsi"; | ||
235 | }; | ||
236 | |||
237 | &dss { | ||
238 | status = "ok"; | ||
239 | |||
240 | port { | ||
241 | dpi_out: endpoint { | ||
242 | remote-endpoint = <&tfp410_in>; | ||
243 | data-lines = <24>; | ||
244 | }; | ||
245 | }; | ||
246 | }; | ||
diff --git a/arch/arm/boot/dts/omap3-igep0020-rev-f.dts b/arch/arm/boot/dts/omap3-igep0020-rev-f.dts new file mode 100644 index 000000000000..cc8bd0cd8cf8 --- /dev/null +++ b/arch/arm/boot/dts/omap3-igep0020-rev-f.dts | |||
@@ -0,0 +1,45 @@ | |||
1 | /* | ||
2 | * Device Tree Source for IGEPv2 Rev. F (TI OMAP AM/DM37x) | ||
3 | * | ||
4 | * Copyright (C) 2012 Javier Martinez Canillas <javier@collabora.co.uk> | ||
5 | * Copyright (C) 2012 Enric Balletbo i Serra <eballetbo@gmail.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | #include "omap3-igep0020-common.dtsi" | ||
13 | |||
14 | / { | ||
15 | model = "IGEPv2 Rev. F (TI OMAP AM/DM37x)"; | ||
16 | compatible = "isee,omap3-igep0020-rev-f", "ti,omap36xx", "ti,omap3"; | ||
17 | |||
18 | /* Regulator to trigger the WL_EN signal of the Wifi module */ | ||
19 | lbep5clwmc_wlen: regulator-lbep5clwmc-wlen { | ||
20 | compatible = "regulator-fixed"; | ||
21 | regulator-name = "regulator-lbep5clwmc-wlen"; | ||
22 | regulator-min-microvolt = <3300000>; | ||
23 | regulator-max-microvolt = <3300000>; | ||
24 | gpio = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* gpio_139 - WL_EN */ | ||
25 | enable-active-high; | ||
26 | }; | ||
27 | }; | ||
28 | |||
29 | &omap3_pmx_core { | ||
30 | lbep5clwmc_pins: pinmux_lbep5clwmc_pins { | ||
31 | pinctrl-single,pins = < | ||
32 | OMAP3_CORE1_IOPAD(0x21d4, PIN_INPUT | MUX_MODE4) /* mcspi1_cs3.gpio_177 - W_IRQ */ | ||
33 | OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT | MUX_MODE4) /* sdmmc2_dat5.gpio_137 - BT_EN */ | ||
34 | OMAP3_CORE1_IOPAD(0x216a, PIN_OUTPUT | MUX_MODE4) /* sdmmc2_dat7.gpio_139 - WL_EN */ | ||
35 | >; | ||
36 | }; | ||
37 | }; | ||
38 | |||
39 | &mmc2 { | ||
40 | pinctrl-names = "default"; | ||
41 | pinctrl-0 = <&mmc2_pins &lbep5clwmc_pins>; | ||
42 | vmmc-supply = <&lbep5clwmc_wlen>; | ||
43 | bus-width = <4>; | ||
44 | non-removable; | ||
45 | }; | ||
diff --git a/arch/arm/boot/dts/omap3-igep0020.dts b/arch/arm/boot/dts/omap3-igep0020.dts index b22caaaf774b..fea7f7edb45d 100644 --- a/arch/arm/boot/dts/omap3-igep0020.dts +++ b/arch/arm/boot/dts/omap3-igep0020.dts | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Device Tree Source for IGEPv2 Rev. (TI OMAP AM/DM37x) | 2 | * Device Tree Source for IGEPv2 Rev. C (TI OMAP AM/DM37x) |
3 | * | 3 | * |
4 | * Copyright (C) 2012 Javier Martinez Canillas <javier@collabora.co.uk> | 4 | * Copyright (C) 2012 Javier Martinez Canillas <javier@collabora.co.uk> |
5 | * Copyright (C) 2012 Enric Balletbo i Serra <eballetbo@gmail.com> | 5 | * Copyright (C) 2012 Enric Balletbo i Serra <eballetbo@gmail.com> |
@@ -9,272 +9,59 @@ | |||
9 | * published by the Free Software Foundation. | 9 | * published by the Free Software Foundation. |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include "omap3-igep.dtsi" | 12 | #include "omap3-igep0020-common.dtsi" |
13 | #include "omap-gpmc-smsc9221.dtsi" | ||
14 | 13 | ||
15 | / { | 14 | / { |
16 | model = "IGEPv2 (TI OMAP AM/DM37x)"; | 15 | model = "IGEPv2 Rev. C (TI OMAP AM/DM37x)"; |
17 | compatible = "isee,omap3-igep0020", "ti,omap36xx", "ti,omap3"; | 16 | compatible = "isee,omap3-igep0020", "ti,omap36xx", "ti,omap3"; |
18 | 17 | ||
19 | leds { | 18 | /* Regulator to trigger the WIFI_PDN signal of the Wifi module */ |
20 | pinctrl-names = "default"; | 19 | lbee1usjyc_pdn: lbee1usjyc_pdn { |
21 | pinctrl-0 = <&leds_pins>; | 20 | compatible = "regulator-fixed"; |
22 | compatible = "gpio-leds"; | 21 | regulator-name = "regulator-lbee1usjyc-pdn"; |
23 | 22 | regulator-min-microvolt = <3300000>; | |
24 | boot { | 23 | regulator-max-microvolt = <3300000>; |
25 | label = "omap3:green:boot"; | 24 | gpio = <&gpio5 10 GPIO_ACTIVE_HIGH>; /* gpio_138 - WIFI_PDN */ |
26 | gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>; | 25 | startup-delay-us = <10000>; |
27 | default-state = "on"; | 26 | enable-active-high; |
28 | }; | ||
29 | |||
30 | user0 { | ||
31 | label = "omap3:red:user0"; | ||
32 | gpios = <&gpio1 27 GPIO_ACTIVE_HIGH>; | ||
33 | default-state = "off"; | ||
34 | }; | ||
35 | |||
36 | user1 { | ||
37 | label = "omap3:red:user1"; | ||
38 | gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; | ||
39 | default-state = "off"; | ||
40 | }; | ||
41 | |||
42 | user2 { | ||
43 | label = "omap3:green:user1"; | ||
44 | gpios = <&twl_gpio 19 GPIO_ACTIVE_LOW>; | ||
45 | }; | ||
46 | }; | 27 | }; |
47 | 28 | ||
48 | /* HS USB Port 1 Power */ | 29 | /* Regulator to trigger the RESET_N_W signal of the Wifi module */ |
49 | hsusb1_power: hsusb1_power_reg { | 30 | lbee1usjyc_reset_n_w: lbee1usjyc_reset_n_w { |
50 | compatible = "regulator-fixed"; | 31 | compatible = "regulator-fixed"; |
51 | regulator-name = "hsusb1_vbus"; | 32 | regulator-name = "regulator-lbee1usjyc-reset-n-w"; |
52 | regulator-min-microvolt = <3300000>; | 33 | regulator-min-microvolt = <3300000>; |
53 | regulator-max-microvolt = <3300000>; | 34 | regulator-max-microvolt = <3300000>; |
54 | gpio = <&twl_gpio 18 GPIO_ACTIVE_LOW>; /* GPIO LEDA */ | 35 | gpio = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* gpio_139 - RESET_N_W */ |
55 | startup-delay-us = <70000>; | 36 | enable-active-high; |
56 | }; | ||
57 | |||
58 | /* HS USB Host PHY on PORT 1 */ | ||
59 | hsusb1_phy: hsusb1_phy { | ||
60 | compatible = "usb-nop-xceiv"; | ||
61 | reset-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; /* gpio_24 */ | ||
62 | vcc-supply = <&hsusb1_power>; | ||
63 | }; | ||
64 | |||
65 | tfp410: encoder@0 { | ||
66 | compatible = "ti,tfp410"; | ||
67 | powerdown-gpios = <&gpio6 10 GPIO_ACTIVE_LOW>; /* gpio_170 */ | ||
68 | |||
69 | ports { | ||
70 | #address-cells = <1>; | ||
71 | #size-cells = <0>; | ||
72 | |||
73 | port@0 { | ||
74 | reg = <0>; | ||
75 | |||
76 | tfp410_in: endpoint@0 { | ||
77 | remote-endpoint = <&dpi_out>; | ||
78 | }; | ||
79 | }; | ||
80 | |||
81 | port@1 { | ||
82 | reg = <1>; | ||
83 | |||
84 | tfp410_out: endpoint@0 { | ||
85 | remote-endpoint = <&dvi_connector_in>; | ||
86 | }; | ||
87 | }; | ||
88 | }; | ||
89 | }; | ||
90 | |||
91 | dvi0: connector@0 { | ||
92 | compatible = "dvi-connector"; | ||
93 | label = "dvi"; | ||
94 | |||
95 | digital; | ||
96 | |||
97 | ddc-i2c-bus = <&i2c3>; | ||
98 | |||
99 | port { | ||
100 | dvi_connector_in: endpoint { | ||
101 | remote-endpoint = <&tfp410_out>; | ||
102 | }; | ||
103 | }; | ||
104 | }; | 37 | }; |
105 | }; | 38 | }; |
106 | 39 | ||
107 | &omap3_pmx_core { | 40 | &omap3_pmx_core { |
108 | pinctrl-names = "default"; | 41 | lbee1usjyc_pins: pinmux_lbee1usjyc_pins { |
109 | pinctrl-0 = < | ||
110 | &tfp410_pins | ||
111 | &dss_dpi_pins | ||
112 | >; | ||
113 | |||
114 | tfp410_pins: pinmux_tfp410_pins { | ||
115 | pinctrl-single,pins = < | 42 | pinctrl-single,pins = < |
116 | 0x196 (PIN_OUTPUT | MUX_MODE4) /* hdq_sio.gpio_170 */ | 43 | OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT | MUX_MODE4) /* sdmmc2_dat5.gpio_137 - RESET_N_W */ |
44 | OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT | MUX_MODE4) /* sdmmc2_dat6.gpio_138 - WIFI_PDN */ | ||
45 | OMAP3_CORE1_IOPAD(0x216a, PIN_OUTPUT | MUX_MODE4) /* sdmmc2_dat7.gpio_139 - RST_N_B */ | ||
117 | >; | 46 | >; |
118 | }; | 47 | }; |
119 | 48 | ||
120 | dss_dpi_pins: pinmux_dss_dpi_pins { | 49 | uart2_pins: pinmux_uart2_pins { |
121 | pinctrl-single,pins = < | 50 | pinctrl-single,pins = < |
122 | 0x0a4 (PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */ | 51 | OMAP3_CORE1_IOPAD(0x2174, PIN_INPUT | MUX_MODE0) /* uart2_cts.uart2_cts */ |
123 | 0x0a6 (PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */ | 52 | OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE0) /* uart2_rts .uart2_rts*/ |
124 | 0x0a8 (PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */ | 53 | OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */ |
125 | 0x0aa (PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */ | 54 | OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0) /* uart2_rx.uart2_rx */ |
126 | 0x0ac (PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */ | ||
127 | 0x0ae (PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */ | ||
128 | 0x0b0 (PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */ | ||
129 | 0x0b2 (PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */ | ||
130 | 0x0b4 (PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */ | ||
131 | 0x0b6 (PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */ | ||
132 | 0x0b8 (PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */ | ||
133 | 0x0ba (PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */ | ||
134 | 0x0bc (PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */ | ||
135 | 0x0be (PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */ | ||
136 | 0x0c0 (PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */ | ||
137 | 0x0c2 (PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */ | ||
138 | 0x0c4 (PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */ | ||
139 | 0x0c6 (PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */ | ||
140 | 0x0c8 (PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */ | ||
141 | 0x0ca (PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */ | ||
142 | 0x0cc (PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */ | ||
143 | 0x0ce (PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */ | ||
144 | 0x0d0 (PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */ | ||
145 | 0x0d2 (PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */ | ||
146 | 0x0d4 (PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */ | ||
147 | 0x0d6 (PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */ | ||
148 | 0x0d8 (PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */ | ||
149 | 0x0da (PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */ | ||
150 | >; | 55 | >; |
151 | }; | 56 | }; |
152 | }; | 57 | }; |
153 | 58 | ||
154 | &omap3_pmx_core2 { | 59 | /* On board Wifi module */ |
60 | &mmc2 { | ||
155 | pinctrl-names = "default"; | 61 | pinctrl-names = "default"; |
156 | pinctrl-0 = < | 62 | pinctrl-0 = <&mmc2_pins &lbee1usjyc_pins>; |
157 | &hsusbb1_pins | 63 | vmmc-supply = <&lbee1usjyc_pdn>; |
158 | >; | 64 | vmmc_aux-supply = <&lbee1usjyc_reset_n_w>; |
159 | 65 | bus-width = <4>; | |
160 | hsusbb1_pins: pinmux_hsusbb1_pins { | 66 | non-removable; |
161 | pinctrl-single,pins = < | ||
162 | OMAP3630_CORE2_IOPAD(0x25da, PIN_OUTPUT | MUX_MODE3) /* etk_ctl.hsusb1_clk */ | ||
163 | OMAP3630_CORE2_IOPAD(0x25d8, PIN_OUTPUT | MUX_MODE3) /* etk_clk.hsusb1_stp */ | ||
164 | OMAP3630_CORE2_IOPAD(0x25ec, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d8.hsusb1_dir */ | ||
165 | OMAP3630_CORE2_IOPAD(0x25ee, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d9.hsusb1_nxt */ | ||
166 | OMAP3630_CORE2_IOPAD(0x25dc, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d0.hsusb1_data0 */ | ||
167 | OMAP3630_CORE2_IOPAD(0x25de, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d1.hsusb1_data1 */ | ||
168 | OMAP3630_CORE2_IOPAD(0x25e0, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d2.hsusb1_data2 */ | ||
169 | OMAP3630_CORE2_IOPAD(0x25e2, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d3.hsusb1_data7 */ | ||
170 | OMAP3630_CORE2_IOPAD(0x25e4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d4.hsusb1_data4 */ | ||
171 | OMAP3630_CORE2_IOPAD(0x25e6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d5.hsusb1_data5 */ | ||
172 | OMAP3630_CORE2_IOPAD(0x25e8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d6.hsusb1_data6 */ | ||
173 | OMAP3630_CORE2_IOPAD(0x25ea, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d7.hsusb1_data3 */ | ||
174 | >; | ||
175 | }; | ||
176 | |||
177 | leds_pins: pinmux_leds_pins { | ||
178 | pinctrl-single,pins = < | ||
179 | OMAP3630_CORE2_IOPAD(0x25f4, PIN_OUTPUT | MUX_MODE4) /* etk_d12.gpio_26 */ | ||
180 | OMAP3630_CORE2_IOPAD(0x25f6, PIN_OUTPUT | MUX_MODE4) /* etk_d13.gpio_27 */ | ||
181 | OMAP3630_CORE2_IOPAD(0x25f8, PIN_OUTPUT | MUX_MODE4) /* etk_d14.gpio_28 */ | ||
182 | >; | ||
183 | }; | ||
184 | }; | ||
185 | |||
186 | &i2c3 { | ||
187 | clock-frequency = <100000>; | ||
188 | |||
189 | /* | ||
190 | * Display monitor features are burnt in the EEPROM | ||
191 | * as EDID data. | ||
192 | */ | ||
193 | eeprom@50 { | ||
194 | compatible = "ti,eeprom"; | ||
195 | reg = <0x50>; | ||
196 | }; | ||
197 | }; | ||
198 | |||
199 | &gpmc { | ||
200 | ranges = <0 0 0x00000000 0x20000000>, | ||
201 | <5 0 0x2c000000 0x01000000>; | ||
202 | |||
203 | nand@0,0 { | ||
204 | linux,mtd-name= "micron,mt29c4g96maz"; | ||
205 | reg = <0 0 0>; | ||
206 | nand-bus-width = <16>; | ||
207 | ti,nand-ecc-opt = "bch8"; | ||
208 | |||
209 | gpmc,sync-clk-ps = <0>; | ||
210 | gpmc,cs-on-ns = <0>; | ||
211 | gpmc,cs-rd-off-ns = <44>; | ||
212 | gpmc,cs-wr-off-ns = <44>; | ||
213 | gpmc,adv-on-ns = <6>; | ||
214 | gpmc,adv-rd-off-ns = <34>; | ||
215 | gpmc,adv-wr-off-ns = <44>; | ||
216 | gpmc,we-off-ns = <40>; | ||
217 | gpmc,oe-off-ns = <54>; | ||
218 | gpmc,access-ns = <64>; | ||
219 | gpmc,rd-cycle-ns = <82>; | ||
220 | gpmc,wr-cycle-ns = <82>; | ||
221 | gpmc,wr-access-ns = <40>; | ||
222 | gpmc,wr-data-mux-bus-ns = <0>; | ||
223 | |||
224 | #address-cells = <1>; | ||
225 | #size-cells = <1>; | ||
226 | |||
227 | partition@0 { | ||
228 | label = "SPL"; | ||
229 | reg = <0 0x100000>; | ||
230 | }; | ||
231 | partition@80000 { | ||
232 | label = "U-Boot"; | ||
233 | reg = <0x100000 0x180000>; | ||
234 | }; | ||
235 | partition@1c0000 { | ||
236 | label = "Environment"; | ||
237 | reg = <0x280000 0x100000>; | ||
238 | }; | ||
239 | partition@280000 { | ||
240 | label = "Kernel"; | ||
241 | reg = <0x380000 0x300000>; | ||
242 | }; | ||
243 | partition@780000 { | ||
244 | label = "Filesystem"; | ||
245 | reg = <0x680000 0x1f980000>; | ||
246 | }; | ||
247 | }; | ||
248 | |||
249 | ethernet@gpmc { | ||
250 | pinctrl-names = "default"; | ||
251 | pinctrl-0 = <&smsc9221_pins>; | ||
252 | reg = <5 0 0xff>; | ||
253 | interrupt-parent = <&gpio6>; | ||
254 | interrupts = <16 IRQ_TYPE_LEVEL_LOW>; | ||
255 | }; | ||
256 | }; | ||
257 | |||
258 | &usbhshost { | ||
259 | port1-mode = "ehci-phy"; | ||
260 | }; | ||
261 | |||
262 | &usbhsehci { | ||
263 | phys = <&hsusb1_phy>; | ||
264 | }; | ||
265 | |||
266 | &vpll2 { | ||
267 | /* Needed for DSS */ | ||
268 | regulator-name = "vdds_dsi"; | ||
269 | }; | ||
270 | |||
271 | &dss { | ||
272 | status = "ok"; | ||
273 | |||
274 | port { | ||
275 | dpi_out: endpoint { | ||
276 | remote-endpoint = <&tfp410_in>; | ||
277 | data-lines = <24>; | ||
278 | }; | ||
279 | }; | ||
280 | }; | 67 | }; |
diff --git a/arch/arm/boot/dts/omap3-igep0030-common.dtsi b/arch/arm/boot/dts/omap3-igep0030-common.dtsi new file mode 100644 index 000000000000..0cb1527c39d4 --- /dev/null +++ b/arch/arm/boot/dts/omap3-igep0030-common.dtsi | |||
@@ -0,0 +1,60 @@ | |||
1 | /* | ||
2 | * Common Device Tree Source for IGEP COM MODULE | ||
3 | * | ||
4 | * Copyright (C) 2014 Javier Martinez Canillas <javier@collabora.co.uk> | ||
5 | * Copyright (C) 2014 Enric Balletbo i Serra <eballetbo@gmail.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | #include "omap3-igep.dtsi" | ||
13 | |||
14 | / { | ||
15 | leds: gpio_leds { | ||
16 | compatible = "gpio-leds"; | ||
17 | |||
18 | user0 { | ||
19 | label = "omap3:red:user0"; | ||
20 | gpios = <&twl_gpio 18 GPIO_ACTIVE_LOW>; /* LEDA */ | ||
21 | default-state = "off"; | ||
22 | }; | ||
23 | |||
24 | user1 { | ||
25 | label = "omap3:green:user1"; | ||
26 | gpios = <&twl_gpio 19 GPIO_ACTIVE_LOW>; /* LEDB */ | ||
27 | default-state = "off"; | ||
28 | }; | ||
29 | |||
30 | user2 { | ||
31 | label = "omap3:red:user1"; | ||
32 | gpios = <&gpio1 16 GPIO_ACTIVE_LOW>; /* gpio_16 */ | ||
33 | default-state = "off"; | ||
34 | }; | ||
35 | }; | ||
36 | }; | ||
37 | |||
38 | &omap3_pmx_core { | ||
39 | uart2_pins: pinmux_uart2_pins { | ||
40 | pinctrl-single,pins = < | ||
41 | OMAP3_CORE1_IOPAD(0x216c, PIN_INPUT | MUX_MODE1) /* mcbsp3_dx.uart2_cts */ | ||
42 | OMAP3_CORE1_IOPAD(0x216e, PIN_OUTPUT | MUX_MODE1) /* mcbsp3_dr.uart2_rts */ | ||
43 | OMAP3_CORE1_IOPAD(0x2170, PIN_OUTPUT | MUX_MODE1) /* mcbsp3_clk.uart2_tx */ | ||
44 | OMAP3_CORE1_IOPAD(0x2172, PIN_INPUT | MUX_MODE1) /* mcbsp3_fsx.uart2_rx */ | ||
45 | >; | ||
46 | }; | ||
47 | }; | ||
48 | |||
49 | &omap3_pmx_core2 { | ||
50 | leds_core2_pins: pinmux_leds_core2_pins { | ||
51 | pinctrl-single,pins = < | ||
52 | OMAP3630_CORE2_IOPAD(0x25e0, PIN_OUTPUT | MUX_MODE4) /* etk_d2.gpio_16 */ | ||
53 | >; | ||
54 | }; | ||
55 | }; | ||
56 | |||
57 | &uart2 { | ||
58 | pinctrl-names = "default"; | ||
59 | pinctrl-0 = <&uart2_pins>; | ||
60 | }; | ||
diff --git a/arch/arm/boot/dts/omap3-igep0030-rev-g.dts b/arch/arm/boot/dts/omap3-igep0030-rev-g.dts new file mode 100644 index 000000000000..9326b282c94a --- /dev/null +++ b/arch/arm/boot/dts/omap3-igep0030-rev-g.dts | |||
@@ -0,0 +1,67 @@ | |||
1 | /* | ||
2 | * Device Tree Source for IGEP COM MODULE Rev. G (TI OMAP AM/DM37x) | ||
3 | * | ||
4 | * Copyright (C) 2014 Javier Martinez Canillas <javier@collabora.co.uk> | ||
5 | * Copyright (C) 2014 Enric Balletbo i Serra <eballetbo@gmail.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | #include "omap3-igep0030-common.dtsi" | ||
13 | |||
14 | / { | ||
15 | model = "IGEP COM MODULE Rev. G (TI OMAP AM/DM37x)"; | ||
16 | compatible = "isee,omap3-igep0030-rev-g", "ti,omap36xx", "ti,omap3"; | ||
17 | |||
18 | /* Regulator to trigger the WL_EN signal of the Wifi module */ | ||
19 | lbep5clwmc_wlen: regulator-lbep5clwmc-wlen { | ||
20 | compatible = "regulator-fixed"; | ||
21 | regulator-name = "regulator-lbep5clwmc-wlen"; | ||
22 | regulator-min-microvolt = <3300000>; | ||
23 | regulator-max-microvolt = <3300000>; | ||
24 | gpio = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* gpio_139 - WL_EN */ | ||
25 | enable-active-high; | ||
26 | }; | ||
27 | }; | ||
28 | |||
29 | &omap3_pmx_core { | ||
30 | lbep5clwmc_pins: pinmux_lbep5clwmc_pins { | ||
31 | pinctrl-single,pins = < | ||
32 | OMAP3_CORE1_IOPAD(0x2164, PIN_INPUT | MUX_MODE4) /* sdmmc2_dat4.gpio_136 - W_IRQ */ | ||
33 | OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT | MUX_MODE4) /* sdmmc2_dat5.gpio_137 - BT_EN */ | ||
34 | OMAP3_CORE1_IOPAD(0x216a, PIN_OUTPUT | MUX_MODE4) /* sdmmc2_dat7.gpio_139 - WL_EN */ | ||
35 | >; | ||
36 | }; | ||
37 | |||
38 | leds_pins: pinmux_leds_pins { | ||
39 | pinctrl-single,pins = < | ||
40 | OMAP3_CORE1_IOPAD(0x21be, PIN_OUTPUT | MUX_MODE4) /* i2c2_scl.gpio_168 */ | ||
41 | >; | ||
42 | }; | ||
43 | |||
44 | }; | ||
45 | |||
46 | &i2c2 { | ||
47 | status = "disabled"; | ||
48 | }; | ||
49 | |||
50 | &leds { | ||
51 | pinctrl-names = "default"; | ||
52 | pinctrl-0 = <&leds_pins &leds_core2_pins>; | ||
53 | |||
54 | boot { | ||
55 | label = "omap3:green:boot"; | ||
56 | gpios = <&gpio6 8 GPIO_ACTIVE_HIGH>; | ||
57 | default-state = "on"; | ||
58 | }; | ||
59 | }; | ||
60 | |||
61 | &mmc2 { | ||
62 | pinctrl-names = "default"; | ||
63 | pinctrl-0 = <&mmc2_pins &lbep5clwmc_pins>; | ||
64 | vmmc-supply = <&lbep5clwmc_wlen>; | ||
65 | bus-width = <4>; | ||
66 | non-removable; | ||
67 | }; | ||
diff --git a/arch/arm/boot/dts/omap3-igep0030.dts b/arch/arm/boot/dts/omap3-igep0030.dts index 2793749eb1ba..8150f47ccdf5 100644 --- a/arch/arm/boot/dts/omap3-igep0030.dts +++ b/arch/arm/boot/dts/omap3-igep0030.dts | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Device Tree Source for IGEP COM MODULE (TI OMAP AM/DM37x) | 2 | * Device Tree Source for IGEP COM MODULE Rev. E (TI OMAP AM/DM37x) |
3 | * | 3 | * |
4 | * Copyright (C) 2012 Javier Martinez Canillas <javier@collabora.co.uk> | 4 | * Copyright (C) 2012 Javier Martinez Canillas <javier@collabora.co.uk> |
5 | * Copyright (C) 2012 Enric Balletbo i Serra <eballetbo@gmail.com> | 5 | * Copyright (C) 2012 Enric Balletbo i Serra <eballetbo@gmail.com> |
@@ -9,97 +9,62 @@ | |||
9 | * published by the Free Software Foundation. | 9 | * published by the Free Software Foundation. |
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include "omap3-igep.dtsi" | 12 | #include "omap3-igep0030-common.dtsi" |
13 | 13 | ||
14 | / { | 14 | / { |
15 | model = "IGEP COM MODULE (TI OMAP AM/DM37x)"; | 15 | model = "IGEP COM MODULE Rev. E (TI OMAP AM/DM37x)"; |
16 | compatible = "isee,omap3-igep0030", "ti,omap36xx", "ti,omap3"; | 16 | compatible = "isee,omap3-igep0030", "ti,omap36xx", "ti,omap3"; |
17 | 17 | ||
18 | leds { | 18 | /* Regulator to trigger the WIFI_PDN signal of the Wifi module */ |
19 | pinctrl-names = "default"; | 19 | lbee1usjyc_pdn: lbee1usjyc_pdn { |
20 | pinctrl-0 = <&leds_pins>; | 20 | compatible = "regulator-fixed"; |
21 | compatible = "gpio-leds"; | 21 | regulator-name = "regulator-lbee1usjyc-pdn"; |
22 | 22 | regulator-min-microvolt = <3300000>; | |
23 | boot { | 23 | regulator-max-microvolt = <3300000>; |
24 | label = "omap3:green:boot"; | 24 | gpio = <&gpio5 10 GPIO_ACTIVE_HIGH>; /* gpio_138 - WIFI_PDN */ |
25 | gpios = <&twl_gpio 13 GPIO_ACTIVE_LOW>; | 25 | startup-delay-us = <10000>; |
26 | default-state = "on"; | 26 | enable-active-high; |
27 | }; | 27 | }; |
28 | |||
29 | user0 { | ||
30 | label = "omap3:red:user0"; | ||
31 | gpios = <&twl_gpio 18 GPIO_ACTIVE_LOW>; /* LEDA */ | ||
32 | default-state = "off"; | ||
33 | }; | ||
34 | |||
35 | user1 { | ||
36 | label = "omap3:green:user1"; | ||
37 | gpios = <&twl_gpio 19 GPIO_ACTIVE_LOW>; /* LEDB */ | ||
38 | default-state = "off"; | ||
39 | }; | ||
40 | 28 | ||
41 | user2 { | 29 | /* Regulator to trigger the RESET_N_W signal of the Wifi module */ |
42 | label = "omap3:red:user1"; | 30 | lbee1usjyc_reset_n_w: lbee1usjyc_reset_n_w { |
43 | gpios = <&gpio1 16 GPIO_ACTIVE_LOW>; | 31 | compatible = "regulator-fixed"; |
44 | default-state = "off"; | 32 | regulator-name = "regulator-lbee1usjyc-reset-n-w"; |
45 | }; | 33 | regulator-min-microvolt = <3300000>; |
34 | regulator-max-microvolt = <3300000>; | ||
35 | gpio = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* gpio_139 - RESET_N_W */ | ||
36 | enable-active-high; | ||
46 | }; | 37 | }; |
47 | }; | 38 | }; |
48 | 39 | ||
49 | &omap3_pmx_core2 { | 40 | &omap3_pmx_core { |
50 | leds_pins: pinmux_leds_pins { | 41 | lbee1usjyc_pins: pinmux_lbee1usjyc_pins { |
51 | pinctrl-single,pins = < | 42 | pinctrl-single,pins = < |
52 | OMAP3630_CORE2_IOPAD(0x25e0, PIN_OUTPUT | MUX_MODE4) /* etk_d2.gpio_16 */ | 43 | OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT | MUX_MODE4) /* sdmmc2_dat5.gpio_137 - RESET_N_W */ |
44 | OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT | MUX_MODE4) /* sdmmc2_dat6.gpio_138 - WIFI_PDN */ | ||
45 | OMAP3_CORE1_IOPAD(0x216a, PIN_OUTPUT | MUX_MODE4) /* sdmmc2_dat7.gpio_139 - RST_N_B */ | ||
53 | >; | 46 | >; |
54 | }; | 47 | }; |
55 | }; | 48 | }; |
56 | 49 | ||
57 | &gpmc { | 50 | &leds { |
58 | ranges = <0 0 0x00000000 0x20000000>; | 51 | pinctrl-names = "default"; |
59 | 52 | pinctrl-0 = <&leds_core2_pins>; | |
60 | nand@0,0 { | ||
61 | linux,mtd-name= "micron,mt29c4g96maz"; | ||
62 | reg = <0 0 0>; | ||
63 | nand-bus-width = <16>; | ||
64 | ti,nand-ecc-opt = "bch8"; | ||
65 | 53 | ||
66 | gpmc,sync-clk-ps = <0>; | 54 | boot { |
67 | gpmc,cs-on-ns = <0>; | 55 | label = "omap3:green:boot"; |
68 | gpmc,cs-rd-off-ns = <44>; | 56 | gpios = <&twl_gpio 13 GPIO_ACTIVE_LOW>; /* LEDSYNC */ |
69 | gpmc,cs-wr-off-ns = <44>; | 57 | default-state = "on"; |
70 | gpmc,adv-on-ns = <6>; | ||
71 | gpmc,adv-rd-off-ns = <34>; | ||
72 | gpmc,adv-wr-off-ns = <44>; | ||
73 | gpmc,we-off-ns = <40>; | ||
74 | gpmc,oe-off-ns = <54>; | ||
75 | gpmc,access-ns = <64>; | ||
76 | gpmc,rd-cycle-ns = <82>; | ||
77 | gpmc,wr-cycle-ns = <82>; | ||
78 | gpmc,wr-access-ns = <40>; | ||
79 | gpmc,wr-data-mux-bus-ns = <0>; | ||
80 | |||
81 | #address-cells = <1>; | ||
82 | #size-cells = <1>; | ||
83 | |||
84 | partition@0 { | ||
85 | label = "SPL"; | ||
86 | reg = <0 0x100000>; | ||
87 | }; | ||
88 | partition@80000 { | ||
89 | label = "U-Boot"; | ||
90 | reg = <0x100000 0x180000>; | ||
91 | }; | ||
92 | partition@1c0000 { | ||
93 | label = "Environment"; | ||
94 | reg = <0x280000 0x100000>; | ||
95 | }; | ||
96 | partition@280000 { | ||
97 | label = "Kernel"; | ||
98 | reg = <0x380000 0x300000>; | ||
99 | }; | ||
100 | partition@780000 { | ||
101 | label = "Filesystem"; | ||
102 | reg = <0x680000 0x1f980000>; | ||
103 | }; | ||
104 | }; | 58 | }; |
105 | }; | 59 | }; |
60 | |||
61 | /* On board Wifi module */ | ||
62 | &mmc2 { | ||
63 | pinctrl-names = "default"; | ||
64 | pinctrl-0 = <&mmc2_pins &lbee1usjyc_pins>; | ||
65 | vmmc-supply = <&lbee1usjyc_pdn>; | ||
66 | vmmc_aux-supply = <&lbee1usjyc_reset_n_w>; | ||
67 | bus-width = <4>; | ||
68 | non-removable; | ||
69 | }; | ||
70 | |||
diff --git a/arch/arm/boot/dts/omap3-ldp.dts b/arch/arm/boot/dts/omap3-ldp.dts index 77fee3fb7515..b699bc48f242 100644 --- a/arch/arm/boot/dts/omap3-ldp.dts +++ b/arch/arm/boot/dts/omap3-ldp.dts | |||
@@ -102,8 +102,9 @@ | |||
102 | 102 | ||
103 | nand@0,0 { | 103 | nand@0,0 { |
104 | linux,mtd-name= "micron,nand"; | 104 | linux,mtd-name= "micron,nand"; |
105 | reg = <0 0 0>; | 105 | reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ |
106 | nand-bus-width = <16>; | 106 | nand-bus-width = <16>; |
107 | gpmc,device-width = <2>; | ||
107 | ti,nand-ecc-opt = "bch8"; | 108 | ti,nand-ecc-opt = "bch8"; |
108 | 109 | ||
109 | gpmc,sync-clk-ps = <0>; | 110 | gpmc,sync-clk-ps = <0>; |
diff --git a/arch/arm/boot/dts/omap3-lilly-a83x.dtsi b/arch/arm/boot/dts/omap3-lilly-a83x.dtsi index d97308896f0c..e81fb651d5d0 100644 --- a/arch/arm/boot/dts/omap3-lilly-a83x.dtsi +++ b/arch/arm/boot/dts/omap3-lilly-a83x.dtsi | |||
@@ -363,7 +363,7 @@ | |||
363 | <7 0 0x15000000 0x01000000>; | 363 | <7 0 0x15000000 0x01000000>; |
364 | 364 | ||
365 | nand@0,0 { | 365 | nand@0,0 { |
366 | reg = <0 0 0x1000000>; | 366 | reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ |
367 | nand-bus-width = <16>; | 367 | nand-bus-width = <16>; |
368 | ti,nand-ecc-opt = "bch8"; | 368 | ti,nand-ecc-opt = "bch8"; |
369 | /* no elm on omap3 */ | 369 | /* no elm on omap3 */ |
diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts index bc82a12d4c2c..53f3ca064140 100644 --- a/arch/arm/boot/dts/omap3-n900.dts +++ b/arch/arm/boot/dts/omap3-n900.dts | |||
@@ -115,6 +115,12 @@ | |||
115 | eci-switch-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>; /* 182 */ | 115 | eci-switch-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>; /* 182 */ |
116 | speaker-amplifier-gpios = <&twl_gpio 7 GPIO_ACTIVE_HIGH>; | 116 | speaker-amplifier-gpios = <&twl_gpio 7 GPIO_ACTIVE_HIGH>; |
117 | }; | 117 | }; |
118 | |||
119 | battery: n900-battery { | ||
120 | compatible = "nokia,n900-battery"; | ||
121 | io-channels = <&twl_madc 0>, <&twl_madc 4>, <&twl_madc 12>; | ||
122 | io-channel-names = "temp", "bsi", "vbat"; | ||
123 | }; | ||
118 | }; | 124 | }; |
119 | 125 | ||
120 | &omap3_pmx_core { | 126 | &omap3_pmx_core { |
@@ -142,6 +148,33 @@ | |||
142 | >; | 148 | >; |
143 | }; | 149 | }; |
144 | 150 | ||
151 | gpmc_pins: pinmux_gpmc_pins { | ||
152 | pinctrl-single,pins = < | ||
153 | |||
154 | /* address lines */ | ||
155 | OMAP3_CORE1_IOPAD(0x207a, PIN_OUTPUT | MUX_MODE0) /* gpmc_a1.gpmc_a1 */ | ||
156 | OMAP3_CORE1_IOPAD(0x207c, PIN_OUTPUT | MUX_MODE0) /* gpmc_a2.gpmc_a2 */ | ||
157 | OMAP3_CORE1_IOPAD(0x207e, PIN_OUTPUT | MUX_MODE0) /* gpmc_a3.gpmc_a3 */ | ||
158 | |||
159 | /* data lines, gpmc_d0..d7 not muxable according to TRM */ | ||
160 | OMAP3_CORE1_IOPAD(0x209e, PIN_INPUT | MUX_MODE0) /* gpmc_d8.gpmc_d8 */ | ||
161 | OMAP3_CORE1_IOPAD(0x20a0, PIN_INPUT | MUX_MODE0) /* gpmc_d9.gpmc_d9 */ | ||
162 | OMAP3_CORE1_IOPAD(0x20a2, PIN_INPUT | MUX_MODE0) /* gpmc_d10.gpmc_d10 */ | ||
163 | OMAP3_CORE1_IOPAD(0x20a4, PIN_INPUT | MUX_MODE0) /* gpmc_d11.gpmc_d11 */ | ||
164 | OMAP3_CORE1_IOPAD(0x20a6, PIN_INPUT | MUX_MODE0) /* gpmc_d12.gpmc_d12 */ | ||
165 | OMAP3_CORE1_IOPAD(0x20a8, PIN_INPUT | MUX_MODE0) /* gpmc_d13.gpmc_d13 */ | ||
166 | OMAP3_CORE1_IOPAD(0x20aa, PIN_INPUT | MUX_MODE0) /* gpmc_d14.gpmc_d14 */ | ||
167 | OMAP3_CORE1_IOPAD(0x20ac, PIN_INPUT | MUX_MODE0) /* gpmc_d15.gpmc_d15 */ | ||
168 | |||
169 | /* | ||
170 | * gpmc_ncs0, gpmc_nadv_ale, gpmc_noe, gpmc_nwe, gpmc_wait0 not muxable | ||
171 | * according to TRM. OneNAND seems to require PIN_INPUT on clock. | ||
172 | */ | ||
173 | OMAP3_CORE1_IOPAD(0x20b0, PIN_OUTPUT | MUX_MODE0) /* gpmc_ncs1.gpmc_ncs1 */ | ||
174 | OMAP3_CORE1_IOPAD(0x20be, PIN_INPUT | MUX_MODE0) /* gpmc_clk.gpmc_clk */ | ||
175 | >; | ||
176 | }; | ||
177 | |||
145 | i2c1_pins: pinmux_i2c1_pins { | 178 | i2c1_pins: pinmux_i2c1_pins { |
146 | pinctrl-single,pins = < | 179 | pinctrl-single,pins = < |
147 | 0x18a (PIN_INPUT | MUX_MODE0) /* i2c1_scl */ | 180 | 0x18a (PIN_INPUT | MUX_MODE0) /* i2c1_scl */ |
@@ -540,6 +573,16 @@ | |||
540 | power-gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>; /* 98 */ | 573 | power-gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>; /* 98 */ |
541 | }; | 574 | }; |
542 | 575 | ||
576 | si4713: si4713@63 { | ||
577 | compatible = "silabs,si4713"; | ||
578 | reg = <0x63>; | ||
579 | |||
580 | interrupts-extended = <&gpio2 21 IRQ_TYPE_EDGE_FALLING>; /* 53 */ | ||
581 | reset-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; /* 163 */ | ||
582 | vio-supply = <&vio>; | ||
583 | vdd-supply = <&vaux1>; | ||
584 | }; | ||
585 | |||
543 | bq24150a: bq24150a@6b { | 586 | bq24150a: bq24150a@6b { |
544 | compatible = "ti,bq24150a"; | 587 | compatible = "ti,bq24150a"; |
545 | reg = <0x6b>; | 588 | reg = <0x6b>; |
@@ -585,16 +628,16 @@ | |||
585 | }; | 628 | }; |
586 | 629 | ||
587 | &gpmc { | 630 | &gpmc { |
588 | ranges = <0 0 0x04000000 0x10000000>; /* 256MB */ | ||
589 | ranges = <0 0 0x01000000 0x01000000>, /* 16 MB for OneNAND */ | 631 | ranges = <0 0 0x01000000 0x01000000>, /* 16 MB for OneNAND */ |
590 | <1 0 0x02000000 0x01000000>; /* 16 MB for smc91c96 */ | 632 | <1 0 0x02000000 0x01000000>; /* 16 MB for smc91c96 */ |
633 | pinctrl-names = "default"; | ||
634 | pinctrl-0 = <&gpmc_pins>; | ||
591 | 635 | ||
592 | /* gpio-irq for dma: 65 */ | 636 | /* sys_ndmareq1 could be used by the driver, not as gpio65 though */ |
593 | |||
594 | onenand@0,0 { | 637 | onenand@0,0 { |
595 | #address-cells = <1>; | 638 | #address-cells = <1>; |
596 | #size-cells = <1>; | 639 | #size-cells = <1>; |
597 | reg = <0 0 0x10000000>; | 640 | reg = <0 0 0x20000>; /* CS0, offset 0, IO size 128K */ |
598 | 641 | ||
599 | gpmc,sync-read; | 642 | gpmc,sync-read; |
600 | gpmc,sync-write; | 643 | gpmc,sync-write; |
diff --git a/arch/arm/boot/dts/omap3-n950-n9.dtsi b/arch/arm/boot/dts/omap3-n950-n9.dtsi index 70addcba37c5..1e49dfe7e212 100644 --- a/arch/arm/boot/dts/omap3-n950-n9.dtsi +++ b/arch/arm/boot/dts/omap3-n950-n9.dtsi | |||
@@ -115,12 +115,12 @@ | |||
115 | }; | 115 | }; |
116 | 116 | ||
117 | &gpmc { | 117 | &gpmc { |
118 | ranges = <0 0 0x04000000 0x20000000>; | 118 | ranges = <0 0 0x04000000 0x1000000>; /* CS0: 16MB for OneNAND */ |
119 | 119 | ||
120 | onenand@0,0 { | 120 | onenand@0,0 { |
121 | #address-cells = <1>; | 121 | #address-cells = <1>; |
122 | #size-cells = <1>; | 122 | #size-cells = <1>; |
123 | reg = <0 0 0x20000000>; | 123 | reg = <0 0 0x20000>; /* CS0, offset 0, IO size 128K */ |
124 | 124 | ||
125 | gpmc,sync-read; | 125 | gpmc,sync-read; |
126 | gpmc,sync-write; | 126 | gpmc,sync-write; |
diff --git a/arch/arm/boot/dts/omap3-sb-t35.dtsi b/arch/arm/boot/dts/omap3-sb-t35.dtsi index d59e3de1441e..827f614261f6 100644 --- a/arch/arm/boot/dts/omap3-sb-t35.dtsi +++ b/arch/arm/boot/dts/omap3-sb-t35.dtsi | |||
@@ -2,6 +2,59 @@ | |||
2 | * Common support for CompuLab SB-T35 used on SBC-T3530, SBC-T3517 and SBC-T3730 | 2 | * Common support for CompuLab SB-T35 used on SBC-T3530, SBC-T3517 and SBC-T3730 |
3 | */ | 3 | */ |
4 | 4 | ||
5 | / { | ||
6 | tfp410: encoder@0 { | ||
7 | compatible = "ti,tfp410"; | ||
8 | |||
9 | powerdown-gpios = <&gpio2 22 GPIO_ACTIVE_LOW>; /* gpio_54 */ | ||
10 | |||
11 | pinctrl-names = "default"; | ||
12 | pinctrl-0 = <&tfp410_pins>; | ||
13 | |||
14 | ports { | ||
15 | #address-cells = <1>; | ||
16 | #size-cells = <0>; | ||
17 | |||
18 | port@0 { | ||
19 | reg = <0>; | ||
20 | |||
21 | tfp410_in: endpoint@0 { | ||
22 | remote-endpoint = <&dpi_out>; | ||
23 | }; | ||
24 | }; | ||
25 | |||
26 | port@1 { | ||
27 | reg = <1>; | ||
28 | |||
29 | tfp410_out: endpoint@0 { | ||
30 | remote-endpoint = <&dvi_connector_in>; | ||
31 | }; | ||
32 | }; | ||
33 | }; | ||
34 | }; | ||
35 | |||
36 | dvi0: connector@0 { | ||
37 | compatible = "dvi-connector"; | ||
38 | label = "dvi"; | ||
39 | |||
40 | port { | ||
41 | dvi_connector_in: endpoint { | ||
42 | remote-endpoint = <&tfp410_out>; | ||
43 | }; | ||
44 | }; | ||
45 | }; | ||
46 | |||
47 | audio_amp: audio_amp { | ||
48 | compatible = "regulator-fixed"; | ||
49 | regulator-name = "audio_amp"; | ||
50 | pinctrl-names = "default"; | ||
51 | pinctrl-0 = <&sb_t35_audio_amp>; | ||
52 | gpio = <&gpio2 29 GPIO_ACTIVE_LOW>; /* gpio_61 */ | ||
53 | enable-active-low; | ||
54 | regulator-always-on; | ||
55 | }; | ||
56 | }; | ||
57 | |||
5 | &omap3_pmx_core { | 58 | &omap3_pmx_core { |
6 | smsc2_pins: pinmux_smsc2_pins { | 59 | smsc2_pins: pinmux_smsc2_pins { |
7 | pinctrl-single,pins = < | 60 | pinctrl-single,pins = < |
@@ -9,6 +62,38 @@ | |||
9 | OMAP3_CORE1_IOPAD(0x20d2, PIN_INPUT_PULLUP | MUX_MODE4) /* gpmc_wait3.gpio_65 */ | 62 | OMAP3_CORE1_IOPAD(0x20d2, PIN_INPUT_PULLUP | MUX_MODE4) /* gpmc_wait3.gpio_65 */ |
10 | >; | 63 | >; |
11 | }; | 64 | }; |
65 | |||
66 | tfp410_pins: pinmux_tfp410_pins { | ||
67 | pinctrl-single,pins = < | ||
68 | OMAP3_CORE1_IOPAD(0x20b4, PIN_OUTPUT | MUX_MODE4) /* gpmc_ncs3.gpio_54 */ | ||
69 | >; | ||
70 | }; | ||
71 | |||
72 | i2c3_pins: pinmux_i2c3_pins { | ||
73 | pinctrl-single,pins = < | ||
74 | OMAP3_CORE1_IOPAD(0x21c2, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */ | ||
75 | OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */ | ||
76 | >; | ||
77 | }; | ||
78 | |||
79 | sb_t35_audio_amp: pinmux_sb_t35_audio_amp { | ||
80 | pinctrl-single,pins = < | ||
81 | OMAP3_CORE1_IOPAD(0x20c8, PIN_OUTPUT | MUX_MODE4) /* gpmc_nbe1.gpio_61 */ | ||
82 | >; | ||
83 | }; | ||
84 | }; | ||
85 | |||
86 | &i2c3 { | ||
87 | pinctrl-names = "default"; | ||
88 | pinctrl-0 = <&i2c3_pins>; | ||
89 | |||
90 | clock-frequency = <400000>; | ||
91 | |||
92 | at24@50 { | ||
93 | compatible = "at24,24c02"; | ||
94 | pagesize = <16>; | ||
95 | reg = <0x50>; | ||
96 | }; | ||
12 | }; | 97 | }; |
13 | 98 | ||
14 | &gpmc { | 99 | &gpmc { |
@@ -22,24 +107,29 @@ | |||
22 | interrupts = <1 IRQ_TYPE_LEVEL_LOW>; | 107 | interrupts = <1 IRQ_TYPE_LEVEL_LOW>; |
23 | reg = <4 0 0xff>; | 108 | reg = <4 0 0xff>; |
24 | bank-width = <2>; | 109 | bank-width = <2>; |
25 | gpmc,mux-add-data; | 110 | gpmc,device-width = <1>; |
26 | gpmc,cs-on-ns = <1>; | 111 | gpmc,cycle2cycle-samecsen = <1>; |
27 | gpmc,cs-rd-off-ns = <180>; | 112 | gpmc,cycle2cycle-diffcsen = <1>; |
28 | gpmc,cs-wr-off-ns = <180>; | 113 | gpmc,cs-on-ns = <5>; |
29 | gpmc,adv-rd-off-ns = <18>; | 114 | gpmc,cs-rd-off-ns = <150>; |
30 | gpmc,adv-wr-off-ns = <48>; | 115 | gpmc,cs-wr-off-ns = <150>; |
31 | gpmc,oe-on-ns = <54>; | 116 | gpmc,adv-on-ns = <0>; |
32 | gpmc,oe-off-ns = <168>; | 117 | gpmc,adv-rd-off-ns = <15>; |
33 | gpmc,we-on-ns = <54>; | 118 | gpmc,adv-wr-off-ns = <40>; |
34 | gpmc,we-off-ns = <168>; | 119 | gpmc,oe-on-ns = <45>; |
35 | gpmc,rd-cycle-ns = <186>; | 120 | gpmc,oe-off-ns = <140>; |
36 | gpmc,wr-cycle-ns = <186>; | 121 | gpmc,we-on-ns = <45>; |
37 | gpmc,access-ns = <144>; | 122 | gpmc,we-off-ns = <140>; |
38 | gpmc,page-burst-access-ns = <24>; | 123 | gpmc,rd-cycle-ns = <155>; |
39 | gpmc,bus-turnaround-ns = <90>; | 124 | gpmc,wr-cycle-ns = <155>; |
40 | gpmc,cycle2cycle-delay-ns = <90>; | 125 | gpmc,access-ns = <120>; |
41 | gpmc,cycle2cycle-samecsen; | 126 | gpmc,page-burst-access-ns = <20>; |
42 | gpmc,cycle2cycle-diffcsen; | 127 | gpmc,bus-turnaround-ns = <75>; |
128 | gpmc,cycle2cycle-delay-ns = <75>; | ||
129 | gpmc,wait-monitoring-ns = <0>; | ||
130 | gpmc,clk-activation-ns = <0>; | ||
131 | gpmc,wr-data-mux-bus-ns = <0>; | ||
132 | gpmc,wr-access-ns = <0>; | ||
43 | vddvario-supply = <&vddvario>; | 133 | vddvario-supply = <&vddvario>; |
44 | vdd33a-supply = <&vdd33a>; | 134 | vdd33a-supply = <&vdd33a>; |
45 | reg-io-width = <4>; | 135 | reg-io-width = <4>; |
diff --git a/arch/arm/boot/dts/omap3-sbc-t3517.dts b/arch/arm/boot/dts/omap3-sbc-t3517.dts index 42189b65d393..17986536c61f 100644 --- a/arch/arm/boot/dts/omap3-sbc-t3517.dts +++ b/arch/arm/boot/dts/omap3-sbc-t3517.dts | |||
@@ -9,6 +9,11 @@ | |||
9 | model = "CompuLab SBC-T3517 with CM-T3517"; | 9 | model = "CompuLab SBC-T3517 with CM-T3517"; |
10 | compatible = "compulab,omap3-sbc-t3517", "compulab,omap3-cm-t3517", "ti,am3517", "ti,omap3"; | 10 | compatible = "compulab,omap3-sbc-t3517", "compulab,omap3-cm-t3517", "ti,am3517", "ti,omap3"; |
11 | 11 | ||
12 | aliases { | ||
13 | display0 = &dvi0; | ||
14 | display1 = &tv0; | ||
15 | }; | ||
16 | |||
12 | /* Only one GPMC smsc9220 on SBC-T3517, CM-T3517 uses am35x Ethernet */ | 17 | /* Only one GPMC smsc9220 on SBC-T3517, CM-T3517 uses am35x Ethernet */ |
13 | vddvario: regulator-vddvario-sb-t35 { | 18 | vddvario: regulator-vddvario-sb-t35 { |
14 | compatible = "regulator-fixed"; | 19 | compatible = "regulator-fixed"; |
@@ -54,3 +59,13 @@ | |||
54 | wp-gpios = <&gpio2 27 GPIO_ACTIVE_HIGH>; /* gpio_59 */ | 59 | wp-gpios = <&gpio2 27 GPIO_ACTIVE_HIGH>; /* gpio_59 */ |
55 | cd-gpios = <&gpio5 16 GPIO_ACTIVE_HIGH>; /* gpio_144 */ | 60 | cd-gpios = <&gpio5 16 GPIO_ACTIVE_HIGH>; /* gpio_144 */ |
56 | }; | 61 | }; |
62 | |||
63 | &dss { | ||
64 | port { | ||
65 | dpi_out: endpoint { | ||
66 | remote-endpoint = <&tfp410_in>; | ||
67 | data-lines = <24>; | ||
68 | }; | ||
69 | }; | ||
70 | }; | ||
71 | |||
diff --git a/arch/arm/boot/dts/omap3-sbc-t3530.dts b/arch/arm/boot/dts/omap3-sbc-t3530.dts index bbbeea6b1988..c994f0f7e38a 100644 --- a/arch/arm/boot/dts/omap3-sbc-t3530.dts +++ b/arch/arm/boot/dts/omap3-sbc-t3530.dts | |||
@@ -8,6 +8,11 @@ | |||
8 | / { | 8 | / { |
9 | model = "CompuLab SBC-T3530 with CM-T3530"; | 9 | model = "CompuLab SBC-T3530 with CM-T3530"; |
10 | compatible = "compulab,omap3-sbc-t3530", "compulab,omap3-cm-t3530", "ti,omap34xx", "ti,omap3"; | 10 | compatible = "compulab,omap3-sbc-t3530", "compulab,omap3-cm-t3530", "ti,omap34xx", "ti,omap3"; |
11 | |||
12 | aliases { | ||
13 | display0 = &dvi0; | ||
14 | display1 = &tv0; | ||
15 | }; | ||
11 | }; | 16 | }; |
12 | 17 | ||
13 | &omap3_pmx_core { | 18 | &omap3_pmx_core { |
@@ -34,3 +39,13 @@ | |||
34 | &mmc1 { | 39 | &mmc1 { |
35 | cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_HIGH>; | 40 | cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_HIGH>; |
36 | }; | 41 | }; |
42 | |||
43 | &dss { | ||
44 | port { | ||
45 | dpi_out: endpoint { | ||
46 | remote-endpoint = <&tfp410_in>; | ||
47 | data-lines = <24>; | ||
48 | }; | ||
49 | }; | ||
50 | }; | ||
51 | |||
diff --git a/arch/arm/boot/dts/omap3-sbc-t3730.dts b/arch/arm/boot/dts/omap3-sbc-t3730.dts index 08e4a7086f22..5bdddf29341d 100644 --- a/arch/arm/boot/dts/omap3-sbc-t3730.dts +++ b/arch/arm/boot/dts/omap3-sbc-t3730.dts | |||
@@ -8,6 +8,11 @@ | |||
8 | / { | 8 | / { |
9 | model = "CompuLab SBC-T3730 with CM-T3730"; | 9 | model = "CompuLab SBC-T3730 with CM-T3730"; |
10 | compatible = "compulab,omap3-sbc-t3730", "compulab,omap3-cm-t3730", "ti,omap36xx", "ti,omap3"; | 10 | compatible = "compulab,omap3-sbc-t3730", "compulab,omap3-cm-t3730", "ti,omap36xx", "ti,omap3"; |
11 | |||
12 | aliases { | ||
13 | display0 = &dvi0; | ||
14 | display1 = &tv0; | ||
15 | }; | ||
11 | }; | 16 | }; |
12 | 17 | ||
13 | &omap3_pmx_core { | 18 | &omap3_pmx_core { |
@@ -25,3 +30,13 @@ | |||
25 | ranges = <5 0 0x2c000000 0x01000000>, | 30 | ranges = <5 0 0x2c000000 0x01000000>, |
26 | <4 0 0x2d000000 0x01000000>; | 31 | <4 0 0x2d000000 0x01000000>; |
27 | }; | 32 | }; |
33 | |||
34 | &dss { | ||
35 | port { | ||
36 | dpi_out: endpoint { | ||
37 | remote-endpoint = <&tfp410_in>; | ||
38 | data-lines = <24>; | ||
39 | }; | ||
40 | }; | ||
41 | }; | ||
42 | |||
diff --git a/arch/arm/boot/dts/omap3-tao3530.dtsi b/arch/arm/boot/dts/omap3-tao3530.dtsi index b30f387d3a83..e89820a6776e 100644 --- a/arch/arm/boot/dts/omap3-tao3530.dtsi +++ b/arch/arm/boot/dts/omap3-tao3530.dtsi | |||
@@ -270,7 +270,7 @@ | |||
270 | ranges = <0 0 0x00000000 0x01000000>; | 270 | ranges = <0 0 0x00000000 0x01000000>; |
271 | 271 | ||
272 | nand@0,0 { | 272 | nand@0,0 { |
273 | reg = <0 0 0>; /* CS0, offset 0 */ | 273 | reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ |
274 | nand-bus-width = <16>; | 274 | nand-bus-width = <16>; |
275 | gpmc,device-width = <2>; /* GPMC_DEVWIDTH_16BIT */ | 275 | gpmc,device-width = <2>; /* GPMC_DEVWIDTH_16BIT */ |
276 | ti,nand-ecc-opt = "sw"; | 276 | ti,nand-ecc-opt = "sw"; |
diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi index e602e75ce5b7..01b71111bd55 100644 --- a/arch/arm/boot/dts/omap3.dtsi +++ b/arch/arm/boot/dts/omap3.dtsi | |||
@@ -332,6 +332,7 @@ | |||
332 | ti,hwmods = "mailbox"; | 332 | ti,hwmods = "mailbox"; |
333 | reg = <0x48094000 0x200>; | 333 | reg = <0x48094000 0x200>; |
334 | interrupts = <26>; | 334 | interrupts = <26>; |
335 | #mbox-cells = <1>; | ||
335 | ti,mbox-num-users = <2>; | 336 | ti,mbox-num-users = <2>; |
336 | ti,mbox-num-fifos = <2>; | 337 | ti,mbox-num-fifos = <2>; |
337 | mbox_dsp: dsp { | 338 | mbox_dsp: dsp { |
diff --git a/arch/arm/boot/dts/omap3430-sdp.dts b/arch/arm/boot/dts/omap3430-sdp.dts index 9bad94efe1c8..16b0cdfbee9c 100644 --- a/arch/arm/boot/dts/omap3430-sdp.dts +++ b/arch/arm/boot/dts/omap3430-sdp.dts | |||
@@ -51,8 +51,8 @@ | |||
51 | 51 | ||
52 | &gpmc { | 52 | &gpmc { |
53 | ranges = <0 0 0x10000000 0x08000000>, | 53 | ranges = <0 0 0x10000000 0x08000000>, |
54 | <1 0 0x28000000 0x08000000>, | 54 | <1 0 0x28000000 0x1000000>, /* CS1: 16MB for NAND */ |
55 | <2 0 0x20000000 0x10000000>; | 55 | <2 0 0x20000000 0x1000000>; /* CS2: 16MB for OneNAND */ |
56 | 56 | ||
57 | nor@0,0 { | 57 | nor@0,0 { |
58 | compatible = "cfi-flash"; | 58 | compatible = "cfi-flash"; |
@@ -106,7 +106,7 @@ | |||
106 | linux,mtd-name= "micron,mt29f1g08abb"; | 106 | linux,mtd-name= "micron,mt29f1g08abb"; |
107 | #address-cells = <1>; | 107 | #address-cells = <1>; |
108 | #size-cells = <1>; | 108 | #size-cells = <1>; |
109 | reg = <1 0 0x08000000>; | 109 | reg = <1 0 4>; /* CS1, offset 0, IO size 4 */ |
110 | ti,nand-ecc-opt = "sw"; | 110 | ti,nand-ecc-opt = "sw"; |
111 | nand-bus-width = <8>; | 111 | nand-bus-width = <8>; |
112 | gpmc,cs-on-ns = <0>; | 112 | gpmc,cs-on-ns = <0>; |
@@ -150,7 +150,7 @@ | |||
150 | linux,mtd-name= "samsung,kfm2g16q2m-deb8"; | 150 | linux,mtd-name= "samsung,kfm2g16q2m-deb8"; |
151 | #address-cells = <1>; | 151 | #address-cells = <1>; |
152 | #size-cells = <1>; | 152 | #size-cells = <1>; |
153 | reg = <2 0 0x10000000>; | 153 | reg = <2 0 0x20000>; /* CS2, offset 0, IO size 4 */ |
154 | 154 | ||
155 | gpmc,device-width = <2>; | 155 | gpmc,device-width = <2>; |
156 | gpmc,mux-add-data = <2>; | 156 | gpmc,mux-add-data = <2>; |
diff --git a/arch/arm/boot/dts/omap4-duovero-parlor.dts b/arch/arm/boot/dts/omap4-duovero-parlor.dts index 6dc84d9f9b4c..1a78f013f37a 100644 --- a/arch/arm/boot/dts/omap4-duovero-parlor.dts +++ b/arch/arm/boot/dts/omap4-duovero-parlor.dts | |||
@@ -177,6 +177,7 @@ | |||
177 | 177 | ||
178 | &hdmi { | 178 | &hdmi { |
179 | status = "ok"; | 179 | status = "ok"; |
180 | vdda-supply = <&vdac>; | ||
180 | 181 | ||
181 | pinctrl-names = "default"; | 182 | pinctrl-names = "default"; |
182 | pinctrl-0 = <&dss_hdmi_pins>; | 183 | pinctrl-0 = <&dss_hdmi_pins>; |
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi index 84045a5c3ce8..074147cebae4 100644 --- a/arch/arm/boot/dts/omap4.dtsi +++ b/arch/arm/boot/dts/omap4.dtsi | |||
@@ -661,6 +661,7 @@ | |||
661 | reg = <0x4a0f4000 0x200>; | 661 | reg = <0x4a0f4000 0x200>; |
662 | interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; | 662 | interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; |
663 | ti,hwmods = "mailbox"; | 663 | ti,hwmods = "mailbox"; |
664 | #mbox-cells = <1>; | ||
664 | ti,mbox-num-users = <3>; | 665 | ti,mbox-num-users = <3>; |
665 | ti,mbox-num-fifos = <8>; | 666 | ti,mbox-num-fifos = <8>; |
666 | mbox_ipu: mbox_ipu { | 667 | mbox_ipu: mbox_ipu { |
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi index 256b7f69e45b..b321fdf42c9f 100644 --- a/arch/arm/boot/dts/omap5.dtsi +++ b/arch/arm/boot/dts/omap5.dtsi | |||
@@ -651,6 +651,7 @@ | |||
651 | reg = <0x4a0f4000 0x200>; | 651 | reg = <0x4a0f4000 0x200>; |
652 | interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; | 652 | interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; |
653 | ti,hwmods = "mailbox"; | 653 | ti,hwmods = "mailbox"; |
654 | #mbox-cells = <1>; | ||
654 | ti,mbox-num-users = <3>; | 655 | ti,mbox-num-users = <3>; |
655 | ti,mbox-num-fifos = <8>; | 656 | ti,mbox-num-fifos = <8>; |
656 | mbox_ipu: mbox_ipu { | 657 | mbox_ipu: mbox_ipu { |
diff --git a/arch/arm/boot/dts/prima2.dtsi b/arch/arm/boot/dts/prima2.dtsi index 963b7e54ab15..1ca1a9aa953f 100644 --- a/arch/arm/boot/dts/prima2.dtsi +++ b/arch/arm/boot/dts/prima2.dtsi | |||
@@ -41,6 +41,11 @@ | |||
41 | }; | 41 | }; |
42 | }; | 42 | }; |
43 | 43 | ||
44 | arm-pmu { | ||
45 | compatible = "arm,cortex-a9-pmu"; | ||
46 | interrupts = <29>; | ||
47 | }; | ||
48 | |||
44 | axi { | 49 | axi { |
45 | compatible = "simple-bus"; | 50 | compatible = "simple-bus"; |
46 | #address-cells = <1>; | 51 | #address-cells = <1>; |
@@ -132,6 +137,7 @@ | |||
132 | reg = <0x90020000 0x10000>; | 137 | reg = <0x90020000 0x10000>; |
133 | interrupts = <31>; | 138 | interrupts = <31>; |
134 | clocks = <&clks 35>; | 139 | clocks = <&clks 35>; |
140 | resets = <&rstc 6>; | ||
135 | }; | 141 | }; |
136 | }; | 142 | }; |
137 | 143 | ||
@@ -173,6 +179,7 @@ | |||
173 | compatible = "sirf,prima2-dspif"; | 179 | compatible = "sirf,prima2-dspif"; |
174 | reg = <0xa8000000 0x10000>; | 180 | reg = <0xa8000000 0x10000>; |
175 | interrupts = <9>; | 181 | interrupts = <9>; |
182 | resets = <&rstc 1>; | ||
176 | }; | 183 | }; |
177 | 184 | ||
178 | gps@a8010000 { | 185 | gps@a8010000 { |
@@ -180,6 +187,7 @@ | |||
180 | reg = <0xa8010000 0x10000>; | 187 | reg = <0xa8010000 0x10000>; |
181 | interrupts = <7>; | 188 | interrupts = <7>; |
182 | clocks = <&clks 9>; | 189 | clocks = <&clks 9>; |
190 | resets = <&rstc 2>; | ||
183 | }; | 191 | }; |
184 | 192 | ||
185 | dsp@a9000000 { | 193 | dsp@a9000000 { |
@@ -187,6 +195,7 @@ | |||
187 | reg = <0xa9000000 0x1000000>; | 195 | reg = <0xa9000000 0x1000000>; |
188 | interrupts = <8>; | 196 | interrupts = <8>; |
189 | clocks = <&clks 8>; | 197 | clocks = <&clks 8>; |
198 | resets = <&rstc 0>; | ||
190 | }; | 199 | }; |
191 | }; | 200 | }; |
192 | 201 | ||
@@ -524,12 +533,36 @@ | |||
524 | sirf,function = "sdmmc5"; | 533 | sirf,function = "sdmmc5"; |
525 | }; | 534 | }; |
526 | }; | 535 | }; |
536 | i2s_mclk_pins_a: i2s_mclk@0 { | ||
537 | i2s_mclk { | ||
538 | sirf,pins = "i2smclkgrp"; | ||
539 | sirf,function = "i2s_mclk"; | ||
540 | }; | ||
541 | }; | ||
542 | i2s_ext_clk_input_pins_a: i2s_ext_clk_input@0 { | ||
543 | i2s_ext_clk_input { | ||
544 | sirf,pins = "i2s_ext_clk_inputgrp"; | ||
545 | sirf,function = "i2s_ext_clk_input"; | ||
546 | }; | ||
547 | }; | ||
527 | i2s_pins_a: i2s@0 { | 548 | i2s_pins_a: i2s@0 { |
528 | i2s { | 549 | i2s { |
529 | sirf,pins = "i2sgrp"; | 550 | sirf,pins = "i2sgrp"; |
530 | sirf,function = "i2s"; | 551 | sirf,function = "i2s"; |
531 | }; | 552 | }; |
532 | }; | 553 | }; |
554 | i2s_no_din_pins_a: i2s_no_din@0 { | ||
555 | i2s_no_din { | ||
556 | sirf,pins = "i2s_no_dingrp"; | ||
557 | sirf,function = "i2s_no_din"; | ||
558 | }; | ||
559 | }; | ||
560 | i2s_6chn_pins_a: i2s_6chn@0 { | ||
561 | i2s_6chn { | ||
562 | sirf,pins = "i2s_6chngrp"; | ||
563 | sirf,function = "i2s_6chn"; | ||
564 | }; | ||
565 | }; | ||
533 | ac97_pins_a: ac97@0 { | 566 | ac97_pins_a: ac97@0 { |
534 | ac97 { | 567 | ac97 { |
535 | sirf,pins = "ac97grp"; | 568 | sirf,pins = "ac97grp"; |
diff --git a/arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts b/arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts index 2bcf69124a6a..84e05f713c54 100644 --- a/arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts +++ b/arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts | |||
@@ -94,6 +94,10 @@ | |||
94 | voltage-tolerance = <1>; /* 1% */ | 94 | voltage-tolerance = <1>; /* 1% */ |
95 | }; | 95 | }; |
96 | 96 | ||
97 | &cmt1 { | ||
98 | status = "okay"; | ||
99 | }; | ||
100 | |||
97 | &pfc { | 101 | &pfc { |
98 | scifa0_pins: serial0 { | 102 | scifa0_pins: serial0 { |
99 | renesas,groups = "scifa0_data"; | 103 | renesas,groups = "scifa0_data"; |
diff --git a/arch/arm/boot/dts/r8a73a4.dtsi b/arch/arm/boot/dts/r8a73a4.dtsi index c17afef92e8d..5ac57babc3b9 100644 --- a/arch/arm/boot/dts/r8a73a4.dtsi +++ b/arch/arm/boot/dts/r8a73a4.dtsi | |||
@@ -106,9 +106,20 @@ | |||
106 | i2c5: i2c@e60b0000 { | 106 | i2c5: i2c@e60b0000 { |
107 | #address-cells = <1>; | 107 | #address-cells = <1>; |
108 | #size-cells = <0>; | 108 | #size-cells = <0>; |
109 | compatible = "renesas,rmobile-iic"; | 109 | compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic"; |
110 | reg = <0 0xe60b0000 0 0x428>; | 110 | reg = <0 0xe60b0000 0 0x428>; |
111 | interrupts = <0 179 IRQ_TYPE_LEVEL_HIGH>; | 111 | interrupts = <0 179 IRQ_TYPE_LEVEL_HIGH>; |
112 | |||
113 | status = "disabled"; | ||
114 | }; | ||
115 | |||
116 | cmt1: timer@e6130000 { | ||
117 | compatible = "renesas,cmt-48-r8a73a4", "renesas,cmt-48-gen2"; | ||
118 | reg = <0 0xe6130000 0 0x1004>; | ||
119 | interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>; | ||
120 | |||
121 | renesas,channels-mask = <0xff>; | ||
122 | |||
112 | status = "disabled"; | 123 | status = "disabled"; |
113 | }; | 124 | }; |
114 | 125 | ||
@@ -194,7 +205,7 @@ | |||
194 | i2c0: i2c@e6500000 { | 205 | i2c0: i2c@e6500000 { |
195 | #address-cells = <1>; | 206 | #address-cells = <1>; |
196 | #size-cells = <0>; | 207 | #size-cells = <0>; |
197 | compatible = "renesas,rmobile-iic"; | 208 | compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic"; |
198 | reg = <0 0xe6500000 0 0x428>; | 209 | reg = <0 0xe6500000 0 0x428>; |
199 | interrupts = <0 174 IRQ_TYPE_LEVEL_HIGH>; | 210 | interrupts = <0 174 IRQ_TYPE_LEVEL_HIGH>; |
200 | status = "disabled"; | 211 | status = "disabled"; |
@@ -203,7 +214,7 @@ | |||
203 | i2c1: i2c@e6510000 { | 214 | i2c1: i2c@e6510000 { |
204 | #address-cells = <1>; | 215 | #address-cells = <1>; |
205 | #size-cells = <0>; | 216 | #size-cells = <0>; |
206 | compatible = "renesas,rmobile-iic"; | 217 | compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic"; |
207 | reg = <0 0xe6510000 0 0x428>; | 218 | reg = <0 0xe6510000 0 0x428>; |
208 | interrupts = <0 175 IRQ_TYPE_LEVEL_HIGH>; | 219 | interrupts = <0 175 IRQ_TYPE_LEVEL_HIGH>; |
209 | status = "disabled"; | 220 | status = "disabled"; |
@@ -212,7 +223,7 @@ | |||
212 | i2c2: i2c@e6520000 { | 223 | i2c2: i2c@e6520000 { |
213 | #address-cells = <1>; | 224 | #address-cells = <1>; |
214 | #size-cells = <0>; | 225 | #size-cells = <0>; |
215 | compatible = "renesas,rmobile-iic"; | 226 | compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic"; |
216 | reg = <0 0xe6520000 0 0x428>; | 227 | reg = <0 0xe6520000 0 0x428>; |
217 | interrupts = <0 176 IRQ_TYPE_LEVEL_HIGH>; | 228 | interrupts = <0 176 IRQ_TYPE_LEVEL_HIGH>; |
218 | status = "disabled"; | 229 | status = "disabled"; |
@@ -221,7 +232,7 @@ | |||
221 | i2c3: i2c@e6530000 { | 232 | i2c3: i2c@e6530000 { |
222 | #address-cells = <1>; | 233 | #address-cells = <1>; |
223 | #size-cells = <0>; | 234 | #size-cells = <0>; |
224 | compatible = "renesas,rmobile-iic"; | 235 | compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic"; |
225 | reg = <0 0xe6530000 0 0x428>; | 236 | reg = <0 0xe6530000 0 0x428>; |
226 | interrupts = <0 177 IRQ_TYPE_LEVEL_HIGH>; | 237 | interrupts = <0 177 IRQ_TYPE_LEVEL_HIGH>; |
227 | status = "disabled"; | 238 | status = "disabled"; |
@@ -230,7 +241,7 @@ | |||
230 | i2c4: i2c@e6540000 { | 241 | i2c4: i2c@e6540000 { |
231 | #address-cells = <1>; | 242 | #address-cells = <1>; |
232 | #size-cells = <0>; | 243 | #size-cells = <0>; |
233 | compatible = "renesas,rmobile-iic"; | 244 | compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic"; |
234 | reg = <0 0xe6540000 0 0x428>; | 245 | reg = <0 0xe6540000 0 0x428>; |
235 | interrupts = <0 178 IRQ_TYPE_LEVEL_HIGH>; | 246 | interrupts = <0 178 IRQ_TYPE_LEVEL_HIGH>; |
236 | status = "disabled"; | 247 | status = "disabled"; |
@@ -239,7 +250,7 @@ | |||
239 | i2c6: i2c@e6550000 { | 250 | i2c6: i2c@e6550000 { |
240 | #address-cells = <1>; | 251 | #address-cells = <1>; |
241 | #size-cells = <0>; | 252 | #size-cells = <0>; |
242 | compatible = "renesas,rmobile-iic"; | 253 | compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic"; |
243 | reg = <0 0xe6550000 0 0x428>; | 254 | reg = <0 0xe6550000 0 0x428>; |
244 | interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>; | 255 | interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>; |
245 | status = "disabled"; | 256 | status = "disabled"; |
@@ -248,7 +259,7 @@ | |||
248 | i2c7: i2c@e6560000 { | 259 | i2c7: i2c@e6560000 { |
249 | #address-cells = <1>; | 260 | #address-cells = <1>; |
250 | #size-cells = <0>; | 261 | #size-cells = <0>; |
251 | compatible = "renesas,rmobile-iic"; | 262 | compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic"; |
252 | reg = <0 0xe6560000 0 0x428>; | 263 | reg = <0 0xe6560000 0 0x428>; |
253 | interrupts = <0 185 IRQ_TYPE_LEVEL_HIGH>; | 264 | interrupts = <0 185 IRQ_TYPE_LEVEL_HIGH>; |
254 | status = "disabled"; | 265 | status = "disabled"; |
@@ -257,20 +268,20 @@ | |||
257 | i2c8: i2c@e6570000 { | 268 | i2c8: i2c@e6570000 { |
258 | #address-cells = <1>; | 269 | #address-cells = <1>; |
259 | #size-cells = <0>; | 270 | #size-cells = <0>; |
260 | compatible = "renesas,rmobile-iic"; | 271 | compatible = "renesas,iic-r8a73a4", "renesas,rmobile-iic"; |
261 | reg = <0 0xe6570000 0 0x428>; | 272 | reg = <0 0xe6570000 0 0x428>; |
262 | interrupts = <0 173 IRQ_TYPE_LEVEL_HIGH>; | 273 | interrupts = <0 173 IRQ_TYPE_LEVEL_HIGH>; |
263 | status = "disabled"; | 274 | status = "disabled"; |
264 | }; | 275 | }; |
265 | 276 | ||
266 | scifb2: serial@e6c20000 { | 277 | scifb0: serial@e6c20000 { |
267 | compatible = "renesas,scifb-r8a73a4", "renesas,scifb"; | 278 | compatible = "renesas,scifb-r8a73a4", "renesas,scifb"; |
268 | reg = <0 0xe6c20000 0 0x100>; | 279 | reg = <0 0xe6c20000 0 0x100>; |
269 | interrupts = <0 148 IRQ_TYPE_LEVEL_HIGH>; | 280 | interrupts = <0 148 IRQ_TYPE_LEVEL_HIGH>; |
270 | status = "disabled"; | 281 | status = "disabled"; |
271 | }; | 282 | }; |
272 | 283 | ||
273 | scifb3: serial@e6c30000 { | 284 | scifb1: serial@e6c30000 { |
274 | compatible = "renesas,scifb-r8a73a4", "renesas,scifb"; | 285 | compatible = "renesas,scifb-r8a73a4", "renesas,scifb"; |
275 | reg = <0 0xe6c30000 0 0x100>; | 286 | reg = <0 0xe6c30000 0 0x100>; |
276 | interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH>; | 287 | interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH>; |
@@ -291,14 +302,14 @@ | |||
291 | status = "disabled"; | 302 | status = "disabled"; |
292 | }; | 303 | }; |
293 | 304 | ||
294 | scifb4: serial@e6ce0000 { | 305 | scifb2: serial@e6ce0000 { |
295 | compatible = "renesas,scifb-r8a73a4", "renesas,scifb"; | 306 | compatible = "renesas,scifb-r8a73a4", "renesas,scifb"; |
296 | reg = <0 0xe6ce0000 0 0x100>; | 307 | reg = <0 0xe6ce0000 0 0x100>; |
297 | interrupts = <0 150 IRQ_TYPE_LEVEL_HIGH>; | 308 | interrupts = <0 150 IRQ_TYPE_LEVEL_HIGH>; |
298 | status = "disabled"; | 309 | status = "disabled"; |
299 | }; | 310 | }; |
300 | 311 | ||
301 | scifb5: serial@e6cf0000 { | 312 | scifb3: serial@e6cf0000 { |
302 | compatible = "renesas,scifb-r8a73a4", "renesas,scifb"; | 313 | compatible = "renesas,scifb-r8a73a4", "renesas,scifb"; |
303 | reg = <0 0xe6cf0000 0 0x100>; | 314 | reg = <0 0xe6cf0000 0 0x100>; |
304 | interrupts = <0 151 IRQ_TYPE_LEVEL_HIGH>; | 315 | interrupts = <0 151 IRQ_TYPE_LEVEL_HIGH>; |
diff --git a/arch/arm/boot/dts/r8a7740-armadillo800eva.dts b/arch/arm/boot/dts/r8a7740-armadillo800eva.dts index 2703428557fc..d4af4d86c6b0 100644 --- a/arch/arm/boot/dts/r8a7740-armadillo800eva.dts +++ b/arch/arm/boot/dts/r8a7740-armadillo800eva.dts | |||
@@ -78,7 +78,7 @@ | |||
78 | regulator-boot-on; | 78 | regulator-boot-on; |
79 | }; | 79 | }; |
80 | 80 | ||
81 | gpio-keys { | 81 | keyboard { |
82 | compatible = "gpio-keys"; | 82 | compatible = "gpio-keys"; |
83 | 83 | ||
84 | power-key { | 84 | power-key { |
@@ -299,3 +299,7 @@ | |||
299 | 299 | ||
300 | status = "okay"; | 300 | status = "okay"; |
301 | }; | 301 | }; |
302 | |||
303 | &tmu0 { | ||
304 | status = "okay"; | ||
305 | }; | ||
diff --git a/arch/arm/boot/dts/r8a7740.dtsi b/arch/arm/boot/dts/r8a7740.dtsi index eed697a6bd6b..a8a674bafa67 100644 --- a/arch/arm/boot/dts/r8a7740.dtsi +++ b/arch/arm/boot/dts/r8a7740.dtsi | |||
@@ -71,6 +71,7 @@ | |||
71 | 0 149 IRQ_TYPE_LEVEL_HIGH | 71 | 0 149 IRQ_TYPE_LEVEL_HIGH |
72 | 0 149 IRQ_TYPE_LEVEL_HIGH | 72 | 0 149 IRQ_TYPE_LEVEL_HIGH |
73 | 0 149 IRQ_TYPE_LEVEL_HIGH>; | 73 | 0 149 IRQ_TYPE_LEVEL_HIGH>; |
74 | clocks = <&mstp2_clks R8A7740_CLK_INTCA>; | ||
74 | }; | 75 | }; |
75 | 76 | ||
76 | /* irqpin1: IRQ8 - IRQ15 */ | 77 | /* irqpin1: IRQ8 - IRQ15 */ |
@@ -91,6 +92,7 @@ | |||
91 | 0 149 IRQ_TYPE_LEVEL_HIGH | 92 | 0 149 IRQ_TYPE_LEVEL_HIGH |
92 | 0 149 IRQ_TYPE_LEVEL_HIGH | 93 | 0 149 IRQ_TYPE_LEVEL_HIGH |
93 | 0 149 IRQ_TYPE_LEVEL_HIGH>; | 94 | 0 149 IRQ_TYPE_LEVEL_HIGH>; |
95 | clocks = <&mstp2_clks R8A7740_CLK_INTCA>; | ||
94 | }; | 96 | }; |
95 | 97 | ||
96 | /* irqpin2: IRQ16 - IRQ23 */ | 98 | /* irqpin2: IRQ16 - IRQ23 */ |
@@ -111,6 +113,7 @@ | |||
111 | 0 149 IRQ_TYPE_LEVEL_HIGH | 113 | 0 149 IRQ_TYPE_LEVEL_HIGH |
112 | 0 149 IRQ_TYPE_LEVEL_HIGH | 114 | 0 149 IRQ_TYPE_LEVEL_HIGH |
113 | 0 149 IRQ_TYPE_LEVEL_HIGH>; | 115 | 0 149 IRQ_TYPE_LEVEL_HIGH>; |
116 | clocks = <&mstp2_clks R8A7740_CLK_INTCA>; | ||
114 | }; | 117 | }; |
115 | 118 | ||
116 | /* irqpin3: IRQ24 - IRQ31 */ | 119 | /* irqpin3: IRQ24 - IRQ31 */ |
@@ -131,6 +134,7 @@ | |||
131 | 0 149 IRQ_TYPE_LEVEL_HIGH | 134 | 0 149 IRQ_TYPE_LEVEL_HIGH |
132 | 0 149 IRQ_TYPE_LEVEL_HIGH | 135 | 0 149 IRQ_TYPE_LEVEL_HIGH |
133 | 0 149 IRQ_TYPE_LEVEL_HIGH>; | 136 | 0 149 IRQ_TYPE_LEVEL_HIGH>; |
137 | clocks = <&mstp2_clks R8A7740_CLK_INTCA>; | ||
134 | }; | 138 | }; |
135 | 139 | ||
136 | ether: ethernet@e9a00000 { | 140 | ether: ethernet@e9a00000 { |
@@ -193,7 +197,7 @@ | |||
193 | compatible = "renesas,scifa-r8a7740", "renesas,scifa"; | 197 | compatible = "renesas,scifa-r8a7740", "renesas,scifa"; |
194 | reg = <0xe6c60000 0x100>; | 198 | reg = <0xe6c60000 0x100>; |
195 | interrupts = <0 102 IRQ_TYPE_LEVEL_HIGH>; | 199 | interrupts = <0 102 IRQ_TYPE_LEVEL_HIGH>; |
196 | clocks = <&mstp2_clks R8A7740_CLK_SCIFA0>; | 200 | clocks = <&mstp2_clks R8A7740_CLK_SCIFA2>; |
197 | clock-names = "sci_ick"; | 201 | clock-names = "sci_ick"; |
198 | status = "disabled"; | 202 | status = "disabled"; |
199 | }; | 203 | }; |
@@ -331,6 +335,34 @@ | |||
331 | status = "disabled"; | 335 | status = "disabled"; |
332 | }; | 336 | }; |
333 | 337 | ||
338 | tmu0: timer@fff80000 { | ||
339 | compatible = "renesas,tmu-r8a7740", "renesas,tmu"; | ||
340 | reg = <0xfff80000 0x2c>; | ||
341 | interrupts = <0 198 IRQ_TYPE_LEVEL_HIGH>, | ||
342 | <0 199 IRQ_TYPE_LEVEL_HIGH>, | ||
343 | <0 200 IRQ_TYPE_LEVEL_HIGH>; | ||
344 | clocks = <&mstp1_clks R8A7740_CLK_TMU0>; | ||
345 | clock-names = "fck"; | ||
346 | |||
347 | #renesas,channels = <3>; | ||
348 | |||
349 | status = "disabled"; | ||
350 | }; | ||
351 | |||
352 | tmu1: timer@fff90000 { | ||
353 | compatible = "renesas,tmu-r8a7740", "renesas,tmu"; | ||
354 | reg = <0xfff90000 0x2c>; | ||
355 | interrupts = <0 170 IRQ_TYPE_LEVEL_HIGH>, | ||
356 | <0 171 IRQ_TYPE_LEVEL_HIGH>, | ||
357 | <0 172 IRQ_TYPE_LEVEL_HIGH>; | ||
358 | clocks = <&mstp1_clks R8A7740_CLK_TMU1>; | ||
359 | clock-names = "fck"; | ||
360 | |||
361 | #renesas,channels = <3>; | ||
362 | |||
363 | status = "disabled"; | ||
364 | }; | ||
365 | |||
334 | clocks { | 366 | clocks { |
335 | #address-cells = <1>; | 367 | #address-cells = <1>; |
336 | #size-cells = <1>; | 368 | #size-cells = <1>; |
@@ -448,8 +480,8 @@ | |||
448 | mstp2_clks: mstp2_clks@e6150138 { | 480 | mstp2_clks: mstp2_clks@e6150138 { |
449 | compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks"; | 481 | compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks"; |
450 | reg = <0xe6150138 4>, <0xe6150040 4>; | 482 | reg = <0xe6150138 4>, <0xe6150040 4>; |
451 | clocks = <&sub_clk>, <&sub_clk>, | 483 | clocks = <&sub_clk>, <&cpg_clocks R8A7740_CLK_HP>, |
452 | <&cpg_clocks R8A7740_CLK_HP>, | 484 | <&sub_clk>, <&cpg_clocks R8A7740_CLK_HP>, |
453 | <&cpg_clocks R8A7740_CLK_HP>, | 485 | <&cpg_clocks R8A7740_CLK_HP>, |
454 | <&cpg_clocks R8A7740_CLK_HP>, | 486 | <&cpg_clocks R8A7740_CLK_HP>, |
455 | <&cpg_clocks R8A7740_CLK_HP>, | 487 | <&cpg_clocks R8A7740_CLK_HP>, |
@@ -458,7 +490,8 @@ | |||
458 | <&sub_clk>; | 490 | <&sub_clk>; |
459 | #clock-cells = <1>; | 491 | #clock-cells = <1>; |
460 | renesas,clock-indices = < | 492 | renesas,clock-indices = < |
461 | R8A7740_CLK_SCIFA6 R8A7740_CLK_SCIFA7 | 493 | R8A7740_CLK_SCIFA6 R8A7740_CLK_INTCA |
494 | R8A7740_CLK_SCIFA7 | ||
462 | R8A7740_CLK_DMAC1 R8A7740_CLK_DMAC2 | 495 | R8A7740_CLK_DMAC1 R8A7740_CLK_DMAC2 |
463 | R8A7740_CLK_DMAC3 R8A7740_CLK_USBDMAC | 496 | R8A7740_CLK_DMAC3 R8A7740_CLK_USBDMAC |
464 | R8A7740_CLK_SCIFA5 R8A7740_CLK_SCIFB | 497 | R8A7740_CLK_SCIFA5 R8A7740_CLK_SCIFB |
@@ -467,7 +500,8 @@ | |||
467 | R8A7740_CLK_SCIFA4 | 500 | R8A7740_CLK_SCIFA4 |
468 | >; | 501 | >; |
469 | clock-output-names = | 502 | clock-output-names = |
470 | "scifa6", "scifa7", "dmac1", "dmac2", "dmac3", | 503 | "scifa6", "intca", |
504 | "scifa7", "dmac1", "dmac2", "dmac3", | ||
471 | "usbdmac", "scifa5", "scifb", "scifa0", "scifa1", | 505 | "usbdmac", "scifa5", "scifb", "scifa0", "scifa1", |
472 | "scifa2", "scifa3", "scifa4"; | 506 | "scifa2", "scifa3", "scifa4"; |
473 | }; | 507 | }; |
diff --git a/arch/arm/boot/dts/r8a7778-bockw-reference.dts b/arch/arm/boot/dts/r8a7778-bockw-reference.dts index fba294905ff4..04c0c37bb784 100644 --- a/arch/arm/boot/dts/r8a7778-bockw-reference.dts +++ b/arch/arm/boot/dts/r8a7778-bockw-reference.dts | |||
@@ -74,6 +74,10 @@ | |||
74 | status = "okay"; | 74 | status = "okay"; |
75 | }; | 75 | }; |
76 | 76 | ||
77 | &tmu0 { | ||
78 | status = "okay"; | ||
79 | }; | ||
80 | |||
77 | &pfc { | 81 | &pfc { |
78 | scif0_pins: serial0 { | 82 | scif0_pins: serial0 { |
79 | renesas,groups = "scif0_data_a", "scif0_ctrl"; | 83 | renesas,groups = "scif0_data_a", "scif0_ctrl"; |
diff --git a/arch/arm/boot/dts/r8a7778.dtsi b/arch/arm/boot/dts/r8a7778.dtsi index 315ec62cb96b..ef8533910029 100644 --- a/arch/arm/boot/dts/r8a7778.dtsi +++ b/arch/arm/boot/dts/r8a7778.dtsi | |||
@@ -162,6 +162,42 @@ | |||
162 | status = "disabled"; | 162 | status = "disabled"; |
163 | }; | 163 | }; |
164 | 164 | ||
165 | tmu0: timer@ffd80000 { | ||
166 | compatible = "renesas,tmu-r8a7778", "renesas,tmu"; | ||
167 | reg = <0xffd80000 0x30>; | ||
168 | interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>, | ||
169 | <0 33 IRQ_TYPE_LEVEL_HIGH>, | ||
170 | <0 34 IRQ_TYPE_LEVEL_HIGH>; | ||
171 | |||
172 | #renesas,channels = <3>; | ||
173 | |||
174 | status = "disabled"; | ||
175 | }; | ||
176 | |||
177 | tmu1: timer@ffd81000 { | ||
178 | compatible = "renesas,tmu-r8a7778", "renesas,tmu"; | ||
179 | reg = <0xffd81000 0x30>; | ||
180 | interrupts = <0 36 IRQ_TYPE_LEVEL_HIGH>, | ||
181 | <0 37 IRQ_TYPE_LEVEL_HIGH>, | ||
182 | <0 38 IRQ_TYPE_LEVEL_HIGH>; | ||
183 | |||
184 | #renesas,channels = <3>; | ||
185 | |||
186 | status = "disabled"; | ||
187 | }; | ||
188 | |||
189 | tmu2: timer@ffd82000 { | ||
190 | compatible = "renesas,tmu-r8a7778", "renesas,tmu"; | ||
191 | reg = <0xffd82000 0x30>; | ||
192 | interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>, | ||
193 | <0 41 IRQ_TYPE_LEVEL_HIGH>, | ||
194 | <0 42 IRQ_TYPE_LEVEL_HIGH>; | ||
195 | |||
196 | #renesas,channels = <3>; | ||
197 | |||
198 | status = "disabled"; | ||
199 | }; | ||
200 | |||
165 | scif0: serial@ffe40000 { | 201 | scif0: serial@ffe40000 { |
166 | compatible = "renesas,scif-r8a7778", "renesas,scif"; | 202 | compatible = "renesas,scif-r8a7778", "renesas,scif"; |
167 | reg = <0xffe40000 0x100>; | 203 | reg = <0xffe40000 0x100>; |
@@ -215,8 +251,6 @@ | |||
215 | compatible = "renesas,sdhi-r8a7778"; | 251 | compatible = "renesas,sdhi-r8a7778"; |
216 | reg = <0xffe4c000 0x100>; | 252 | reg = <0xffe4c000 0x100>; |
217 | interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>; | 253 | interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>; |
218 | cap-sd-highspeed; | ||
219 | cap-sdio-irq; | ||
220 | status = "disabled"; | 254 | status = "disabled"; |
221 | }; | 255 | }; |
222 | 256 | ||
@@ -224,8 +258,6 @@ | |||
224 | compatible = "renesas,sdhi-r8a7778"; | 258 | compatible = "renesas,sdhi-r8a7778"; |
225 | reg = <0xffe4d000 0x100>; | 259 | reg = <0xffe4d000 0x100>; |
226 | interrupts = <0 88 IRQ_TYPE_LEVEL_HIGH>; | 260 | interrupts = <0 88 IRQ_TYPE_LEVEL_HIGH>; |
227 | cap-sd-highspeed; | ||
228 | cap-sdio-irq; | ||
229 | status = "disabled"; | 261 | status = "disabled"; |
230 | }; | 262 | }; |
231 | 263 | ||
@@ -233,8 +265,6 @@ | |||
233 | compatible = "renesas,sdhi-r8a7778"; | 265 | compatible = "renesas,sdhi-r8a7778"; |
234 | reg = <0xffe4f000 0x100>; | 266 | reg = <0xffe4f000 0x100>; |
235 | interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>; | 267 | interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>; |
236 | cap-sd-highspeed; | ||
237 | cap-sdio-irq; | ||
238 | status = "disabled"; | 268 | status = "disabled"; |
239 | }; | 269 | }; |
240 | 270 | ||
diff --git a/arch/arm/boot/dts/r8a7779.dtsi b/arch/arm/boot/dts/r8a7779.dtsi index fda814ed191d..ede9a29e4bc6 100644 --- a/arch/arm/boot/dts/r8a7779.dtsi +++ b/arch/arm/boot/dts/r8a7779.dtsi | |||
@@ -303,7 +303,7 @@ | |||
303 | }; | 303 | }; |
304 | 304 | ||
305 | sata: sata@fc600000 { | 305 | sata: sata@fc600000 { |
306 | compatible = "renesas,rcar-sata"; | 306 | compatible = "renesas,sata-r8a7779", "renesas,rcar-sata"; |
307 | reg = <0xfc600000 0x2000>; | 307 | reg = <0xfc600000 0x2000>; |
308 | interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>; | 308 | interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>; |
309 | clocks = <&mstp1_clks R8A7779_CLK_SATA>; | 309 | clocks = <&mstp1_clks R8A7779_CLK_SATA>; |
@@ -314,8 +314,6 @@ | |||
314 | reg = <0xffe4c000 0x100>; | 314 | reg = <0xffe4c000 0x100>; |
315 | interrupts = <0 104 IRQ_TYPE_LEVEL_HIGH>; | 315 | interrupts = <0 104 IRQ_TYPE_LEVEL_HIGH>; |
316 | clocks = <&mstp3_clks R8A7779_CLK_SDHI0>; | 316 | clocks = <&mstp3_clks R8A7779_CLK_SDHI0>; |
317 | cap-sd-highspeed; | ||
318 | cap-sdio-irq; | ||
319 | status = "disabled"; | 317 | status = "disabled"; |
320 | }; | 318 | }; |
321 | 319 | ||
@@ -324,8 +322,6 @@ | |||
324 | reg = <0xffe4d000 0x100>; | 322 | reg = <0xffe4d000 0x100>; |
325 | interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>; | 323 | interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>; |
326 | clocks = <&mstp3_clks R8A7779_CLK_SDHI1>; | 324 | clocks = <&mstp3_clks R8A7779_CLK_SDHI1>; |
327 | cap-sd-highspeed; | ||
328 | cap-sdio-irq; | ||
329 | status = "disabled"; | 325 | status = "disabled"; |
330 | }; | 326 | }; |
331 | 327 | ||
@@ -334,8 +330,6 @@ | |||
334 | reg = <0xffe4e000 0x100>; | 330 | reg = <0xffe4e000 0x100>; |
335 | interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>; | 331 | interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>; |
336 | clocks = <&mstp3_clks R8A7779_CLK_SDHI2>; | 332 | clocks = <&mstp3_clks R8A7779_CLK_SDHI2>; |
337 | cap-sd-highspeed; | ||
338 | cap-sdio-irq; | ||
339 | status = "disabled"; | 333 | status = "disabled"; |
340 | }; | 334 | }; |
341 | 335 | ||
@@ -344,8 +338,6 @@ | |||
344 | reg = <0xffe4f000 0x100>; | 338 | reg = <0xffe4f000 0x100>; |
345 | interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>; | 339 | interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>; |
346 | clocks = <&mstp3_clks R8A7779_CLK_SDHI3>; | 340 | clocks = <&mstp3_clks R8A7779_CLK_SDHI3>; |
347 | cap-sd-highspeed; | ||
348 | cap-sdio-irq; | ||
349 | status = "disabled"; | 341 | status = "disabled"; |
350 | }; | 342 | }; |
351 | 343 | ||
diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts index acab2e153382..636d53bb87a2 100644 --- a/arch/arm/boot/dts/r8a7790-lager.dts +++ b/arch/arm/boot/dts/r8a7790-lager.dts | |||
@@ -9,6 +9,34 @@ | |||
9 | * kind, whether express or implied. | 9 | * kind, whether express or implied. |
10 | */ | 10 | */ |
11 | 11 | ||
12 | /* | ||
13 | * SSI-AK4643 | ||
14 | * | ||
15 | * SW1: 1: AK4643 | ||
16 | * 2: CN22 | ||
17 | * 3: ADV7511 | ||
18 | * | ||
19 | * This command is required when Playback/Capture | ||
20 | * | ||
21 | * amixer set "LINEOUT Mixer DACL" on | ||
22 | * amixer set "DVC Out" 100% | ||
23 | * amixer set "DVC In" 100% | ||
24 | * | ||
25 | * You can use Mute | ||
26 | * | ||
27 | * amixer set "DVC Out Mute" on | ||
28 | * amixer set "DVC In Mute" on | ||
29 | * | ||
30 | * You can use Volume Ramp | ||
31 | * | ||
32 | * amixer set "DVC Out Ramp Up Rate" "0.125 dB/64 steps" | ||
33 | * amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps" | ||
34 | * amixer set "DVC Out Ramp" on | ||
35 | * aplay xxx.wav & | ||
36 | * amixer set "DVC Out" 80% // Volume Down | ||
37 | * amixer set "DVC Out" 100% // Volume Up | ||
38 | */ | ||
39 | |||
12 | /dts-v1/; | 40 | /dts-v1/; |
13 | #include "r8a7790.dtsi" | 41 | #include "r8a7790.dtsi" |
14 | #include <dt-bindings/gpio/gpio.h> | 42 | #include <dt-bindings/gpio/gpio.h> |
@@ -19,8 +47,8 @@ | |||
19 | compatible = "renesas,lager", "renesas,r8a7790"; | 47 | compatible = "renesas,lager", "renesas,r8a7790"; |
20 | 48 | ||
21 | aliases { | 49 | aliases { |
22 | serial6 = &scif0; | 50 | serial6 = &scifa0; |
23 | serial7 = &scif1; | 51 | serial7 = &scifa1; |
24 | }; | 52 | }; |
25 | 53 | ||
26 | chosen { | 54 | chosen { |
@@ -43,7 +71,7 @@ | |||
43 | #size-cells = <1>; | 71 | #size-cells = <1>; |
44 | }; | 72 | }; |
45 | 73 | ||
46 | gpio_keys { | 74 | keyboard { |
47 | compatible = "gpio-keys"; | 75 | compatible = "gpio-keys"; |
48 | 76 | ||
49 | button@1 { | 77 | button@1 { |
@@ -146,6 +174,23 @@ | |||
146 | 1800000 0>; | 174 | 1800000 0>; |
147 | }; | 175 | }; |
148 | 176 | ||
177 | sound { | ||
178 | compatible = "simple-audio-card"; | ||
179 | |||
180 | simple-audio-card,format = "left_j"; | ||
181 | simple-audio-card,bitclock-master = <&sndcodec>; | ||
182 | simple-audio-card,frame-master = <&sndcodec>; | ||
183 | |||
184 | sndcpu: simple-audio-card,cpu { | ||
185 | sound-dai = <&rcar_sound>; | ||
186 | }; | ||
187 | |||
188 | sndcodec: simple-audio-card,codec { | ||
189 | sound-dai = <&ak4643>; | ||
190 | system-clock-frequency = <11289600>; | ||
191 | }; | ||
192 | }; | ||
193 | |||
149 | vga-encoder { | 194 | vga-encoder { |
150 | compatible = "adi,adv7123"; | 195 | compatible = "adi,adv7123"; |
151 | 196 | ||
@@ -207,9 +252,9 @@ | |||
207 | renesas,function = "du"; | 252 | renesas,function = "du"; |
208 | }; | 253 | }; |
209 | 254 | ||
210 | scif0_pins: serial0 { | 255 | scifa0_pins: serial0 { |
211 | renesas,groups = "scif0_data"; | 256 | renesas,groups = "scifa0_data"; |
212 | renesas,function = "scif0"; | 257 | renesas,function = "scifa0"; |
213 | }; | 258 | }; |
214 | 259 | ||
215 | ether_pins: ether { | 260 | ether_pins: ether { |
@@ -222,9 +267,9 @@ | |||
222 | renesas,function = "intc"; | 267 | renesas,function = "intc"; |
223 | }; | 268 | }; |
224 | 269 | ||
225 | scif1_pins: serial1 { | 270 | scifa1_pins: serial1 { |
226 | renesas,groups = "scif1_data"; | 271 | renesas,groups = "scifa1_data"; |
227 | renesas,function = "scif1"; | 272 | renesas,function = "scifa1"; |
228 | }; | 273 | }; |
229 | 274 | ||
230 | sdhi0_pins: sd0 { | 275 | sdhi0_pins: sd0 { |
@@ -268,6 +313,11 @@ | |||
268 | renesas,function = "iic3"; | 313 | renesas,function = "iic3"; |
269 | }; | 314 | }; |
270 | 315 | ||
316 | hsusb_pins: hsusb { | ||
317 | renesas,groups = "usb0_ovc_vbus"; | ||
318 | renesas,function = "usb0"; | ||
319 | }; | ||
320 | |||
271 | usb0_pins: usb0 { | 321 | usb0_pins: usb0 { |
272 | renesas,groups = "usb0"; | 322 | renesas,groups = "usb0"; |
273 | renesas,function = "usb0"; | 323 | renesas,function = "usb0"; |
@@ -287,6 +337,16 @@ | |||
287 | renesas,groups = "vin1_data8", "vin1_clk"; | 337 | renesas,groups = "vin1_data8", "vin1_clk"; |
288 | renesas,function = "vin1"; | 338 | renesas,function = "vin1"; |
289 | }; | 339 | }; |
340 | |||
341 | sound_pins: sound { | ||
342 | renesas,groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data"; | ||
343 | renesas,function = "ssi"; | ||
344 | }; | ||
345 | |||
346 | sound_clk_pins: sound_clk { | ||
347 | renesas,groups = "audio_clk_a"; | ||
348 | renesas,function = "audio_clk"; | ||
349 | }; | ||
290 | }; | 350 | }; |
291 | 351 | ||
292 | ðer { | 352 | ðer { |
@@ -356,15 +416,15 @@ | |||
356 | }; | 416 | }; |
357 | }; | 417 | }; |
358 | 418 | ||
359 | &scif0 { | 419 | &scifa0 { |
360 | pinctrl-0 = <&scif0_pins>; | 420 | pinctrl-0 = <&scifa0_pins>; |
361 | pinctrl-names = "default"; | 421 | pinctrl-names = "default"; |
362 | 422 | ||
363 | status = "okay"; | 423 | status = "okay"; |
364 | }; | 424 | }; |
365 | 425 | ||
366 | &scif1 { | 426 | &scifa1 { |
367 | pinctrl-0 = <&scif1_pins>; | 427 | pinctrl-0 = <&scifa1_pins>; |
368 | pinctrl-names = "default"; | 428 | pinctrl-names = "default"; |
369 | 429 | ||
370 | status = "okay"; | 430 | status = "okay"; |
@@ -424,6 +484,14 @@ | |||
424 | pinctrl-0 = <&iic2_pins>; | 484 | pinctrl-0 = <&iic2_pins>; |
425 | pinctrl-names = "default"; | 485 | pinctrl-names = "default"; |
426 | 486 | ||
487 | clock-frequency = <100000>; | ||
488 | |||
489 | ak4643: sound-codec@12 { | ||
490 | compatible = "asahi-kasei,ak4643"; | ||
491 | #sound-dai-cells = <0>; | ||
492 | reg = <0x12>; | ||
493 | }; | ||
494 | |||
427 | composite-in@20 { | 495 | composite-in@20 { |
428 | compatible = "adi,adv7180"; | 496 | compatible = "adi,adv7180"; |
429 | reg = <0x20>; | 497 | reg = <0x20>; |
@@ -466,12 +534,29 @@ | |||
466 | pinctrl-names = "default"; | 534 | pinctrl-names = "default"; |
467 | }; | 535 | }; |
468 | 536 | ||
537 | &xhci { | ||
538 | status = "okay"; | ||
539 | pinctrl-0 = <&usb2_pins>; | ||
540 | pinctrl-names = "default"; | ||
541 | }; | ||
542 | |||
469 | &pci2 { | 543 | &pci2 { |
470 | status = "okay"; | 544 | status = "okay"; |
471 | pinctrl-0 = <&usb2_pins>; | 545 | pinctrl-0 = <&usb2_pins>; |
472 | pinctrl-names = "default"; | 546 | pinctrl-names = "default"; |
473 | }; | 547 | }; |
474 | 548 | ||
549 | &hsusb { | ||
550 | status = "okay"; | ||
551 | pinctrl-0 = <&hsusb_pins>; | ||
552 | pinctrl-names = "default"; | ||
553 | renesas,enable-gpio = <&gpio5 18 GPIO_ACTIVE_HIGH>; | ||
554 | }; | ||
555 | |||
556 | &usbphy { | ||
557 | status = "okay"; | ||
558 | }; | ||
559 | |||
475 | /* composite video input */ | 560 | /* composite video input */ |
476 | &vin1 { | 561 | &vin1 { |
477 | pinctrl-0 = <&vin1_pins>; | 562 | pinctrl-0 = <&vin1_pins>; |
@@ -489,3 +574,23 @@ | |||
489 | }; | 574 | }; |
490 | }; | 575 | }; |
491 | }; | 576 | }; |
577 | |||
578 | &rcar_sound { | ||
579 | pinctrl-0 = <&sound_pins &sound_clk_pins>; | ||
580 | pinctrl-names = "default"; | ||
581 | |||
582 | #sound-dai-cells = <0>; | ||
583 | |||
584 | status = "okay"; | ||
585 | |||
586 | rcar_sound,dai { | ||
587 | dai0 { | ||
588 | playback = <&ssi0 &src2 &dvc0>; | ||
589 | capture = <&ssi1 &src3 &dvc1>; | ||
590 | }; | ||
591 | }; | ||
592 | }; | ||
593 | |||
594 | &ssi1 { | ||
595 | shared-pin; | ||
596 | }; | ||
diff --git a/arch/arm/boot/dts/r8a7790.dtsi b/arch/arm/boot/dts/r8a7790.dtsi index 0c20c90d8c06..af7e255f629e 100644 --- a/arch/arm/boot/dts/r8a7790.dtsi +++ b/arch/arm/boot/dts/r8a7790.dtsi | |||
@@ -312,6 +312,70 @@ | |||
312 | #dma-cells = <1>; | 312 | #dma-cells = <1>; |
313 | dma-channels = <15>; | 313 | dma-channels = <15>; |
314 | }; | 314 | }; |
315 | |||
316 | audma0: dma-controller@ec700000 { | ||
317 | compatible = "renesas,rcar-dmac"; | ||
318 | reg = <0 0xec700000 0 0x10000>; | ||
319 | interrupts = <0 346 IRQ_TYPE_LEVEL_HIGH | ||
320 | 0 320 IRQ_TYPE_LEVEL_HIGH | ||
321 | 0 321 IRQ_TYPE_LEVEL_HIGH | ||
322 | 0 322 IRQ_TYPE_LEVEL_HIGH | ||
323 | 0 323 IRQ_TYPE_LEVEL_HIGH | ||
324 | 0 324 IRQ_TYPE_LEVEL_HIGH | ||
325 | 0 325 IRQ_TYPE_LEVEL_HIGH | ||
326 | 0 326 IRQ_TYPE_LEVEL_HIGH | ||
327 | 0 327 IRQ_TYPE_LEVEL_HIGH | ||
328 | 0 328 IRQ_TYPE_LEVEL_HIGH | ||
329 | 0 329 IRQ_TYPE_LEVEL_HIGH | ||
330 | 0 330 IRQ_TYPE_LEVEL_HIGH | ||
331 | 0 331 IRQ_TYPE_LEVEL_HIGH | ||
332 | 0 332 IRQ_TYPE_LEVEL_HIGH>; | ||
333 | interrupt-names = "error", | ||
334 | "ch0", "ch1", "ch2", "ch3", | ||
335 | "ch4", "ch5", "ch6", "ch7", | ||
336 | "ch8", "ch9", "ch10", "ch11", | ||
337 | "ch12"; | ||
338 | clocks = <&mstp5_clks R8A7790_CLK_AUDIO_DMAC0>; | ||
339 | clock-names = "fck"; | ||
340 | #dma-cells = <1>; | ||
341 | dma-channels = <13>; | ||
342 | }; | ||
343 | |||
344 | audma1: dma-controller@ec720000 { | ||
345 | compatible = "renesas,rcar-dmac"; | ||
346 | reg = <0 0xec720000 0 0x10000>; | ||
347 | interrupts = <0 347 IRQ_TYPE_LEVEL_HIGH | ||
348 | 0 333 IRQ_TYPE_LEVEL_HIGH | ||
349 | 0 334 IRQ_TYPE_LEVEL_HIGH | ||
350 | 0 335 IRQ_TYPE_LEVEL_HIGH | ||
351 | 0 336 IRQ_TYPE_LEVEL_HIGH | ||
352 | 0 337 IRQ_TYPE_LEVEL_HIGH | ||
353 | 0 338 IRQ_TYPE_LEVEL_HIGH | ||
354 | 0 339 IRQ_TYPE_LEVEL_HIGH | ||
355 | 0 340 IRQ_TYPE_LEVEL_HIGH | ||
356 | 0 341 IRQ_TYPE_LEVEL_HIGH | ||
357 | 0 342 IRQ_TYPE_LEVEL_HIGH | ||
358 | 0 343 IRQ_TYPE_LEVEL_HIGH | ||
359 | 0 344 IRQ_TYPE_LEVEL_HIGH | ||
360 | 0 345 IRQ_TYPE_LEVEL_HIGH>; | ||
361 | interrupt-names = "error", | ||
362 | "ch0", "ch1", "ch2", "ch3", | ||
363 | "ch4", "ch5", "ch6", "ch7", | ||
364 | "ch8", "ch9", "ch10", "ch11", | ||
365 | "ch12"; | ||
366 | clocks = <&mstp5_clks R8A7790_CLK_AUDIO_DMAC1>; | ||
367 | clock-names = "fck"; | ||
368 | #dma-cells = <1>; | ||
369 | dma-channels = <13>; | ||
370 | }; | ||
371 | |||
372 | audmapp: dma-controller@ec740000 { | ||
373 | compatible = "renesas,rcar-audmapp"; | ||
374 | #dma-cells = <1>; | ||
375 | |||
376 | reg = <0 0xec740000 0 0x200>; | ||
377 | }; | ||
378 | |||
315 | i2c0: i2c@e6508000 { | 379 | i2c0: i2c@e6508000 { |
316 | #address-cells = <1>; | 380 | #address-cells = <1>; |
317 | #size-cells = <0>; | 381 | #size-cells = <0>; |
@@ -359,6 +423,8 @@ | |||
359 | reg = <0 0xe6500000 0 0x425>; | 423 | reg = <0 0xe6500000 0 0x425>; |
360 | interrupts = <0 174 IRQ_TYPE_LEVEL_HIGH>; | 424 | interrupts = <0 174 IRQ_TYPE_LEVEL_HIGH>; |
361 | clocks = <&mstp3_clks R8A7790_CLK_IIC0>; | 425 | clocks = <&mstp3_clks R8A7790_CLK_IIC0>; |
426 | dmas = <&dmac0 0x61>, <&dmac0 0x62>; | ||
427 | dma-names = "tx", "rx"; | ||
362 | status = "disabled"; | 428 | status = "disabled"; |
363 | }; | 429 | }; |
364 | 430 | ||
@@ -369,6 +435,8 @@ | |||
369 | reg = <0 0xe6510000 0 0x425>; | 435 | reg = <0 0xe6510000 0 0x425>; |
370 | interrupts = <0 175 IRQ_TYPE_LEVEL_HIGH>; | 436 | interrupts = <0 175 IRQ_TYPE_LEVEL_HIGH>; |
371 | clocks = <&mstp3_clks R8A7790_CLK_IIC1>; | 437 | clocks = <&mstp3_clks R8A7790_CLK_IIC1>; |
438 | dmas = <&dmac0 0x65>, <&dmac0 0x66>; | ||
439 | dma-names = "tx", "rx"; | ||
372 | status = "disabled"; | 440 | status = "disabled"; |
373 | }; | 441 | }; |
374 | 442 | ||
@@ -379,6 +447,8 @@ | |||
379 | reg = <0 0xe6520000 0 0x425>; | 447 | reg = <0 0xe6520000 0 0x425>; |
380 | interrupts = <0 176 IRQ_TYPE_LEVEL_HIGH>; | 448 | interrupts = <0 176 IRQ_TYPE_LEVEL_HIGH>; |
381 | clocks = <&mstp3_clks R8A7790_CLK_IIC2>; | 449 | clocks = <&mstp3_clks R8A7790_CLK_IIC2>; |
450 | dmas = <&dmac0 0x69>, <&dmac0 0x6a>; | ||
451 | dma-names = "tx", "rx"; | ||
382 | status = "disabled"; | 452 | status = "disabled"; |
383 | }; | 453 | }; |
384 | 454 | ||
@@ -389,14 +459,18 @@ | |||
389 | reg = <0 0xe60b0000 0 0x425>; | 459 | reg = <0 0xe60b0000 0 0x425>; |
390 | interrupts = <0 173 IRQ_TYPE_LEVEL_HIGH>; | 460 | interrupts = <0 173 IRQ_TYPE_LEVEL_HIGH>; |
391 | clocks = <&mstp9_clks R8A7790_CLK_IICDVFS>; | 461 | clocks = <&mstp9_clks R8A7790_CLK_IICDVFS>; |
462 | dmas = <&dmac0 0x77>, <&dmac0 0x78>; | ||
463 | dma-names = "tx", "rx"; | ||
392 | status = "disabled"; | 464 | status = "disabled"; |
393 | }; | 465 | }; |
394 | 466 | ||
395 | mmcif0: mmcif@ee200000 { | 467 | mmcif0: mmc@ee200000 { |
396 | compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif"; | 468 | compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif"; |
397 | reg = <0 0xee200000 0 0x80>; | 469 | reg = <0 0xee200000 0 0x80>; |
398 | interrupts = <0 169 IRQ_TYPE_LEVEL_HIGH>; | 470 | interrupts = <0 169 IRQ_TYPE_LEVEL_HIGH>; |
399 | clocks = <&mstp3_clks R8A7790_CLK_MMCIF0>; | 471 | clocks = <&mstp3_clks R8A7790_CLK_MMCIF0>; |
472 | dmas = <&dmac0 0xd1>, <&dmac0 0xd2>; | ||
473 | dma-names = "tx", "rx"; | ||
400 | reg-io-width = <4>; | 474 | reg-io-width = <4>; |
401 | status = "disabled"; | 475 | status = "disabled"; |
402 | }; | 476 | }; |
@@ -406,6 +480,8 @@ | |||
406 | reg = <0 0xee220000 0 0x80>; | 480 | reg = <0 0xee220000 0 0x80>; |
407 | interrupts = <0 170 IRQ_TYPE_LEVEL_HIGH>; | 481 | interrupts = <0 170 IRQ_TYPE_LEVEL_HIGH>; |
408 | clocks = <&mstp3_clks R8A7790_CLK_MMCIF1>; | 482 | clocks = <&mstp3_clks R8A7790_CLK_MMCIF1>; |
483 | dmas = <&dmac0 0xe1>, <&dmac0 0xe2>; | ||
484 | dma-names = "tx", "rx"; | ||
409 | reg-io-width = <4>; | 485 | reg-io-width = <4>; |
410 | status = "disabled"; | 486 | status = "disabled"; |
411 | }; | 487 | }; |
@@ -420,7 +496,6 @@ | |||
420 | reg = <0 0xee100000 0 0x200>; | 496 | reg = <0 0xee100000 0 0x200>; |
421 | interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>; | 497 | interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>; |
422 | clocks = <&mstp3_clks R8A7790_CLK_SDHI0>; | 498 | clocks = <&mstp3_clks R8A7790_CLK_SDHI0>; |
423 | cap-sd-highspeed; | ||
424 | status = "disabled"; | 499 | status = "disabled"; |
425 | }; | 500 | }; |
426 | 501 | ||
@@ -429,7 +504,6 @@ | |||
429 | reg = <0 0xee120000 0 0x200>; | 504 | reg = <0 0xee120000 0 0x200>; |
430 | interrupts = <0 166 IRQ_TYPE_LEVEL_HIGH>; | 505 | interrupts = <0 166 IRQ_TYPE_LEVEL_HIGH>; |
431 | clocks = <&mstp3_clks R8A7790_CLK_SDHI1>; | 506 | clocks = <&mstp3_clks R8A7790_CLK_SDHI1>; |
432 | cap-sd-highspeed; | ||
433 | status = "disabled"; | 507 | status = "disabled"; |
434 | }; | 508 | }; |
435 | 509 | ||
@@ -438,7 +512,6 @@ | |||
438 | reg = <0 0xee140000 0 0x100>; | 512 | reg = <0 0xee140000 0 0x100>; |
439 | interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH>; | 513 | interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH>; |
440 | clocks = <&mstp3_clks R8A7790_CLK_SDHI2>; | 514 | clocks = <&mstp3_clks R8A7790_CLK_SDHI2>; |
441 | cap-sd-highspeed; | ||
442 | status = "disabled"; | 515 | status = "disabled"; |
443 | }; | 516 | }; |
444 | 517 | ||
@@ -447,7 +520,6 @@ | |||
447 | reg = <0 0xee160000 0 0x100>; | 520 | reg = <0 0xee160000 0 0x100>; |
448 | interrupts = <0 168 IRQ_TYPE_LEVEL_HIGH>; | 521 | interrupts = <0 168 IRQ_TYPE_LEVEL_HIGH>; |
449 | clocks = <&mstp3_clks R8A7790_CLK_SDHI3>; | 522 | clocks = <&mstp3_clks R8A7790_CLK_SDHI3>; |
450 | cap-sd-highspeed; | ||
451 | status = "disabled"; | 523 | status = "disabled"; |
452 | }; | 524 | }; |
453 | 525 | ||
@@ -568,6 +640,36 @@ | |||
568 | status = "disabled"; | 640 | status = "disabled"; |
569 | }; | 641 | }; |
570 | 642 | ||
643 | hsusb: usb@e6590000 { | ||
644 | compatible = "renesas,usbhs-r8a7790"; | ||
645 | reg = <0 0xe6590000 0 0x100>; | ||
646 | interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>; | ||
647 | clocks = <&mstp7_clks R8A7790_CLK_HSUSB>; | ||
648 | renesas,buswait = <4>; | ||
649 | phys = <&usb0 1>; | ||
650 | phy-names = "usb"; | ||
651 | status = "disabled"; | ||
652 | }; | ||
653 | |||
654 | usbphy: usb-phy@e6590100 { | ||
655 | compatible = "renesas,usb-phy-r8a7790"; | ||
656 | reg = <0 0xe6590100 0 0x100>; | ||
657 | #address-cells = <1>; | ||
658 | #size-cells = <0>; | ||
659 | clocks = <&mstp7_clks R8A7790_CLK_HSUSB>; | ||
660 | clock-names = "usbhs"; | ||
661 | status = "disabled"; | ||
662 | |||
663 | usb0: usb-channel@0 { | ||
664 | reg = <0>; | ||
665 | #phy-cells = <1>; | ||
666 | }; | ||
667 | usb2: usb-channel@2 { | ||
668 | reg = <2>; | ||
669 | #phy-cells = <1>; | ||
670 | }; | ||
671 | }; | ||
672 | |||
571 | vin0: video@e6ef0000 { | 673 | vin0: video@e6ef0000 { |
572 | compatible = "renesas,vin-r8a7790"; | 674 | compatible = "renesas,vin-r8a7790"; |
573 | clocks = <&mstp8_clks R8A7790_CLK_VIN0>; | 675 | clocks = <&mstp8_clks R8A7790_CLK_VIN0>; |
@@ -958,18 +1060,25 @@ | |||
958 | mstp1_clks: mstp1_clks@e6150134 { | 1060 | mstp1_clks: mstp1_clks@e6150134 { |
959 | compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks"; | 1061 | compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks"; |
960 | reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>; | 1062 | reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>; |
961 | clocks = <&m2_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>, | 1063 | clocks = <&zs_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>, <&m2_clk>, |
962 | <&cp_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>, | 1064 | <&zs_clk>, <&p_clk>, <&zg_clk>, <&zs_clk>, <&zs_clk>, |
963 | <&zs_clk>; | 1065 | <&zs_clk>, <&zs_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>, |
1066 | <&cp_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>; | ||
964 | #clock-cells = <1>; | 1067 | #clock-cells = <1>; |
965 | renesas,clock-indices = < | 1068 | renesas,clock-indices = < |
966 | R8A7790_CLK_JPU R8A7790_CLK_TMU1 R8A7790_CLK_TMU3 R8A7790_CLK_TMU2 | 1069 | R8A7790_CLK_VCP1 R8A7790_CLK_VCP0 R8A7790_CLK_VPC1 |
967 | R8A7790_CLK_CMT0 R8A7790_CLK_TMU0 R8A7790_CLK_VSP1_DU1 | 1070 | R8A7790_CLK_VPC0 R8A7790_CLK_JPU R8A7790_CLK_SSP1 |
968 | R8A7790_CLK_VSP1_DU0 R8A7790_CLK_VSP1_R R8A7790_CLK_VSP1_S | 1071 | R8A7790_CLK_TMU1 R8A7790_CLK_3DG R8A7790_CLK_2DDMAC |
1072 | R8A7790_CLK_FDP1_2 R8A7790_CLK_FDP1_1 R8A7790_CLK_FDP1_0 | ||
1073 | R8A7790_CLK_TMU3 R8A7790_CLK_TMU2 R8A7790_CLK_CMT0 | ||
1074 | R8A7790_CLK_TMU0 R8A7790_CLK_VSP1_DU1 R8A7790_CLK_VSP1_DU0 | ||
1075 | R8A7790_CLK_VSP1_R R8A7790_CLK_VSP1_S | ||
969 | >; | 1076 | >; |
970 | clock-output-names = | 1077 | clock-output-names = |
971 | "jpu", "tmu1", "tmu3", "tmu2", "cmt0", "tmu0", "vsp1-du1", | 1078 | "vcp1", "vcp0", "vpc1", "vpc0", "jpu", "ssp1", |
972 | "vsp1-du0", "vsp1-rt", "vsp1-sy"; | 1079 | "tmu1", "3dg", "2ddmac", "fdp1-2", "fdp1-1", |
1080 | "fdp1-0", "tmu3", "tmu2", "cmt0", "tmu0", | ||
1081 | "vsp1-du1", "vsp1-du0", "vsp1-rt", "vsp1-sy"; | ||
973 | }; | 1082 | }; |
974 | mstp2_clks: mstp2_clks@e6150138 { | 1083 | mstp2_clks: mstp2_clks@e6150138 { |
975 | compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks"; | 1084 | compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks"; |
@@ -994,25 +1103,29 @@ | |||
994 | reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>; | 1103 | reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>; |
995 | clocks = <&hp_clk>, <&cp_clk>, <&mmc1_clk>, <&sd3_clk>, | 1104 | clocks = <&hp_clk>, <&cp_clk>, <&mmc1_clk>, <&sd3_clk>, |
996 | <&sd2_clk>, <&cpg_clocks R8A7790_CLK_SD1>, <&cpg_clocks R8A7790_CLK_SD0>, <&mmc0_clk>, | 1105 | <&sd2_clk>, <&cpg_clocks R8A7790_CLK_SD1>, <&cpg_clocks R8A7790_CLK_SD0>, <&mmc0_clk>, |
997 | <&hp_clk>, <&mp_clk>, <&hp_clk>, <&mp_clk>, <&rclk_clk>; | 1106 | <&hp_clk>, <&mp_clk>, <&hp_clk>, <&mp_clk>, <&rclk_clk>, |
1107 | <&hp_clk>, <&hp_clk>; | ||
998 | #clock-cells = <1>; | 1108 | #clock-cells = <1>; |
999 | renesas,clock-indices = < | 1109 | renesas,clock-indices = < |
1000 | R8A7790_CLK_IIC2 R8A7790_CLK_TPU0 R8A7790_CLK_MMCIF1 R8A7790_CLK_SDHI3 | 1110 | R8A7790_CLK_IIC2 R8A7790_CLK_TPU0 R8A7790_CLK_MMCIF1 R8A7790_CLK_SDHI3 |
1001 | R8A7790_CLK_SDHI2 R8A7790_CLK_SDHI1 R8A7790_CLK_SDHI0 R8A7790_CLK_MMCIF0 | 1111 | R8A7790_CLK_SDHI2 R8A7790_CLK_SDHI1 R8A7790_CLK_SDHI0 R8A7790_CLK_MMCIF0 |
1002 | R8A7790_CLK_IIC0 R8A7790_CLK_PCIEC R8A7790_CLK_IIC1 R8A7790_CLK_SSUSB R8A7790_CLK_CMT1 | 1112 | R8A7790_CLK_IIC0 R8A7790_CLK_PCIEC R8A7790_CLK_IIC1 R8A7790_CLK_SSUSB R8A7790_CLK_CMT1 |
1113 | R8A7790_CLK_USBDMAC0 R8A7790_CLK_USBDMAC1 | ||
1003 | >; | 1114 | >; |
1004 | clock-output-names = | 1115 | clock-output-names = |
1005 | "iic2", "tpu0", "mmcif1", "sdhi3", | 1116 | "iic2", "tpu0", "mmcif1", "sdhi3", |
1006 | "sdhi2", "sdhi1", "sdhi0", "mmcif0", | 1117 | "sdhi2", "sdhi1", "sdhi0", "mmcif0", |
1007 | "iic0", "pciec", "iic1", "ssusb", "cmt1"; | 1118 | "iic0", "pciec", "iic1", "ssusb", "cmt1", |
1119 | "usbdmac0", "usbdmac1"; | ||
1008 | }; | 1120 | }; |
1009 | mstp5_clks: mstp5_clks@e6150144 { | 1121 | mstp5_clks: mstp5_clks@e6150144 { |
1010 | compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks"; | 1122 | compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks"; |
1011 | reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>; | 1123 | reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>; |
1012 | clocks = <&extal_clk>, <&p_clk>; | 1124 | clocks = <&hp_clk>, <&hp_clk>, <&extal_clk>, <&p_clk>; |
1013 | #clock-cells = <1>; | 1125 | #clock-cells = <1>; |
1014 | renesas,clock-indices = <R8A7790_CLK_THERMAL R8A7790_CLK_PWM>; | 1126 | renesas,clock-indices = <R8A7790_CLK_AUDIO_DMAC0 R8A7790_CLK_AUDIO_DMAC1 |
1015 | clock-output-names = "thermal", "pwm"; | 1127 | R8A7790_CLK_THERMAL R8A7790_CLK_PWM>; |
1128 | clock-output-names = "audmac0", "audmac1", "thermal", "pwm"; | ||
1016 | }; | 1129 | }; |
1017 | mstp7_clks: mstp7_clks@e615014c { | 1130 | mstp7_clks: mstp7_clks@e615014c { |
1018 | compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks"; | 1131 | compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks"; |
@@ -1160,6 +1273,16 @@ | |||
1160 | status = "disabled"; | 1273 | status = "disabled"; |
1161 | }; | 1274 | }; |
1162 | 1275 | ||
1276 | xhci: usb@ee000000 { | ||
1277 | compatible = "renesas,xhci-r8a7790"; | ||
1278 | reg = <0 0xee000000 0 0xc00>; | ||
1279 | interrupts = <0 101 IRQ_TYPE_LEVEL_HIGH>; | ||
1280 | clocks = <&mstp3_clks R8A7790_CLK_SSUSB>; | ||
1281 | phys = <&usb2 1>; | ||
1282 | phy-names = "usb"; | ||
1283 | status = "disabled"; | ||
1284 | }; | ||
1285 | |||
1163 | pci0: pci@ee090000 { | 1286 | pci0: pci@ee090000 { |
1164 | compatible = "renesas,pci-r8a7790"; | 1287 | compatible = "renesas,pci-r8a7790"; |
1165 | device_type = "pci"; | 1288 | device_type = "pci"; |
@@ -1178,6 +1301,20 @@ | |||
1178 | interrupt-map = <0x0000 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH | 1301 | interrupt-map = <0x0000 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH |
1179 | 0x0800 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH | 1302 | 0x0800 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH |
1180 | 0x1000 0 0 2 &gic 0 108 IRQ_TYPE_LEVEL_HIGH>; | 1303 | 0x1000 0 0 2 &gic 0 108 IRQ_TYPE_LEVEL_HIGH>; |
1304 | |||
1305 | usb@0,1 { | ||
1306 | reg = <0x800 0 0 0 0>; | ||
1307 | device_type = "pci"; | ||
1308 | phys = <&usb0 0>; | ||
1309 | phy-names = "usb"; | ||
1310 | }; | ||
1311 | |||
1312 | usb@0,2 { | ||
1313 | reg = <0x1000 0 0 0 0>; | ||
1314 | device_type = "pci"; | ||
1315 | phys = <&usb0 0>; | ||
1316 | phy-names = "usb"; | ||
1317 | }; | ||
1181 | }; | 1318 | }; |
1182 | 1319 | ||
1183 | pci1: pci@ee0b0000 { | 1320 | pci1: pci@ee0b0000 { |
@@ -1218,6 +1355,20 @@ | |||
1218 | interrupt-map = <0x0000 0 0 1 &gic 0 113 IRQ_TYPE_LEVEL_HIGH | 1355 | interrupt-map = <0x0000 0 0 1 &gic 0 113 IRQ_TYPE_LEVEL_HIGH |
1219 | 0x0800 0 0 1 &gic 0 113 IRQ_TYPE_LEVEL_HIGH | 1356 | 0x0800 0 0 1 &gic 0 113 IRQ_TYPE_LEVEL_HIGH |
1220 | 0x1000 0 0 2 &gic 0 113 IRQ_TYPE_LEVEL_HIGH>; | 1357 | 0x1000 0 0 2 &gic 0 113 IRQ_TYPE_LEVEL_HIGH>; |
1358 | |||
1359 | usb@0,1 { | ||
1360 | reg = <0x800 0 0 0 0>; | ||
1361 | device_type = "pci"; | ||
1362 | phys = <&usb2 0>; | ||
1363 | phy-names = "usb"; | ||
1364 | }; | ||
1365 | |||
1366 | usb@0,2 { | ||
1367 | reg = <0x1000 0 0 0 0>; | ||
1368 | device_type = "pci"; | ||
1369 | phys = <&usb2 0>; | ||
1370 | phy-names = "usb"; | ||
1371 | }; | ||
1221 | }; | 1372 | }; |
1222 | 1373 | ||
1223 | pciec: pcie@fe000000 { | 1374 | pciec: pcie@fe000000 { |
@@ -1245,7 +1396,7 @@ | |||
1245 | status = "disabled"; | 1396 | status = "disabled"; |
1246 | }; | 1397 | }; |
1247 | 1398 | ||
1248 | rcar_sound: rcar_sound@0xec500000 { | 1399 | rcar_sound: rcar_sound@ec500000 { |
1249 | #sound-dai-cells = <1>; | 1400 | #sound-dai-cells = <1>; |
1250 | compatible = "renesas,rcar_sound-r8a7790", "renesas,rcar_sound-gen2", "renesas,rcar_sound"; | 1401 | compatible = "renesas,rcar_sound-r8a7790", "renesas,rcar_sound-gen2", "renesas,rcar_sound"; |
1251 | reg = <0 0xec500000 0 0x1000>, /* SCU */ | 1402 | reg = <0 0xec500000 0 0x1000>, /* SCU */ |
diff --git a/arch/arm/boot/dts/r8a7791-henninger.dts b/arch/arm/boot/dts/r8a7791-henninger.dts index 0868899882e3..740e38678032 100644 --- a/arch/arm/boot/dts/r8a7791-henninger.dts +++ b/arch/arm/boot/dts/r8a7791-henninger.dts | |||
@@ -272,6 +272,17 @@ | |||
272 | pinctrl-names = "default"; | 272 | pinctrl-names = "default"; |
273 | }; | 273 | }; |
274 | 274 | ||
275 | &hsusb { | ||
276 | status = "okay"; | ||
277 | pinctrl-0 = <&usb0_pins>; | ||
278 | pinctrl-names = "default"; | ||
279 | renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>; | ||
280 | }; | ||
281 | |||
282 | &usbphy { | ||
283 | status = "okay"; | ||
284 | }; | ||
285 | |||
275 | &pcie_bus_clk { | 286 | &pcie_bus_clk { |
276 | status = "okay"; | 287 | status = "okay"; |
277 | }; | 288 | }; |
diff --git a/arch/arm/boot/dts/r8a7791-koelsch.dts b/arch/arm/boot/dts/r8a7791-koelsch.dts index 924183817b02..990af167c551 100644 --- a/arch/arm/boot/dts/r8a7791-koelsch.dts +++ b/arch/arm/boot/dts/r8a7791-koelsch.dts | |||
@@ -10,6 +10,34 @@ | |||
10 | * kind, whether express or implied. | 10 | * kind, whether express or implied. |
11 | */ | 11 | */ |
12 | 12 | ||
13 | /* | ||
14 | * SSI-AK4643 | ||
15 | * | ||
16 | * SW1: 1: AK4643 | ||
17 | * 2: CN22 | ||
18 | * 3: ADV7511 | ||
19 | * | ||
20 | * This command is required when Playback/Capture | ||
21 | * | ||
22 | * amixer set "LINEOUT Mixer DACL" on | ||
23 | * amixer set "DVC Out" 100% | ||
24 | * amixer set "DVC In" 100% | ||
25 | * | ||
26 | * You can use Mute | ||
27 | * | ||
28 | * amixer set "DVC Out Mute" on | ||
29 | * amixer set "DVC In Mute" on | ||
30 | * | ||
31 | * You can use Volume Ramp | ||
32 | * | ||
33 | * amixer set "DVC Out Ramp Up Rate" "0.125 dB/64 steps" | ||
34 | * amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps" | ||
35 | * amixer set "DVC Out Ramp" on | ||
36 | * aplay xxx.wav & | ||
37 | * amixer set "DVC Out" 80% // Volume Down | ||
38 | * amixer set "DVC Out" 100% // Volume Up | ||
39 | */ | ||
40 | |||
13 | /dts-v1/; | 41 | /dts-v1/; |
14 | #include "r8a7791.dtsi" | 42 | #include "r8a7791.dtsi" |
15 | #include <dt-bindings/gpio/gpio.h> | 43 | #include <dt-bindings/gpio/gpio.h> |
@@ -44,7 +72,7 @@ | |||
44 | #size-cells = <1>; | 72 | #size-cells = <1>; |
45 | }; | 73 | }; |
46 | 74 | ||
47 | gpio-keys { | 75 | keyboard { |
48 | compatible = "gpio-keys"; | 76 | compatible = "gpio-keys"; |
49 | 77 | ||
50 | key-1 { | 78 | key-1 { |
@@ -130,12 +158,15 @@ | |||
130 | compatible = "gpio-leds"; | 158 | compatible = "gpio-leds"; |
131 | led6 { | 159 | led6 { |
132 | gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>; | 160 | gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>; |
161 | label = "LED6"; | ||
133 | }; | 162 | }; |
134 | led7 { | 163 | led7 { |
135 | gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>; | 164 | gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>; |
165 | label = "LED7"; | ||
136 | }; | 166 | }; |
137 | led8 { | 167 | led8 { |
138 | gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>; | 168 | gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>; |
169 | label = "LED8"; | ||
139 | }; | 170 | }; |
140 | }; | 171 | }; |
141 | 172 | ||
@@ -210,6 +241,23 @@ | |||
210 | states = <3300000 1 | 241 | states = <3300000 1 |
211 | 1800000 0>; | 242 | 1800000 0>; |
212 | }; | 243 | }; |
244 | |||
245 | sound { | ||
246 | compatible = "simple-audio-card"; | ||
247 | |||
248 | simple-audio-card,format = "left_j"; | ||
249 | simple-audio-card,bitclock-master = <&sndcodec>; | ||
250 | simple-audio-card,frame-master = <&sndcodec>; | ||
251 | |||
252 | sndcpu: simple-audio-card,cpu { | ||
253 | sound-dai = <&rcar_sound>; | ||
254 | }; | ||
255 | |||
256 | sndcodec: simple-audio-card,codec { | ||
257 | sound-dai = <&ak4643>; | ||
258 | system-clock-frequency = <11289600>; | ||
259 | }; | ||
260 | }; | ||
213 | }; | 261 | }; |
214 | 262 | ||
215 | &du { | 263 | &du { |
@@ -300,6 +348,16 @@ | |||
300 | renesas,groups = "vin1_data8", "vin1_clk"; | 348 | renesas,groups = "vin1_data8", "vin1_clk"; |
301 | renesas,function = "vin1"; | 349 | renesas,function = "vin1"; |
302 | }; | 350 | }; |
351 | |||
352 | sound_pins: sound { | ||
353 | renesas,groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data"; | ||
354 | renesas,function = "ssi"; | ||
355 | }; | ||
356 | |||
357 | sound_clk_pins: sound_clk { | ||
358 | renesas,groups = "audio_clk_a"; | ||
359 | renesas,function = "audio_clk"; | ||
360 | }; | ||
303 | }; | 361 | }; |
304 | 362 | ||
305 | ðer { | 363 | ðer { |
@@ -425,7 +483,13 @@ | |||
425 | pinctrl-names = "default"; | 483 | pinctrl-names = "default"; |
426 | 484 | ||
427 | status = "okay"; | 485 | status = "okay"; |
428 | clock-frequency = <400000>; | 486 | clock-frequency = <100000>; |
487 | |||
488 | ak4643: sound-codec@12 { | ||
489 | compatible = "asahi-kasei,ak4643"; | ||
490 | #sound-dai-cells = <0>; | ||
491 | reg = <0x12>; | ||
492 | }; | ||
429 | 493 | ||
430 | composite-in@20 { | 494 | composite-in@20 { |
431 | compatible = "adi,adv7180"; | 495 | compatible = "adi,adv7180"; |
@@ -474,6 +538,17 @@ | |||
474 | pinctrl-names = "default"; | 538 | pinctrl-names = "default"; |
475 | }; | 539 | }; |
476 | 540 | ||
541 | &hsusb { | ||
542 | status = "okay"; | ||
543 | pinctrl-0 = <&usb0_pins>; | ||
544 | pinctrl-names = "default"; | ||
545 | renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>; | ||
546 | }; | ||
547 | |||
548 | &usbphy { | ||
549 | status = "okay"; | ||
550 | }; | ||
551 | |||
477 | &pcie_bus_clk { | 552 | &pcie_bus_clk { |
478 | status = "okay"; | 553 | status = "okay"; |
479 | }; | 554 | }; |
@@ -502,3 +577,23 @@ | |||
502 | }; | 577 | }; |
503 | }; | 578 | }; |
504 | }; | 579 | }; |
580 | |||
581 | &rcar_sound { | ||
582 | pinctrl-0 = <&sound_pins &sound_clk_pins>; | ||
583 | pinctrl-names = "default"; | ||
584 | |||
585 | #sound-dai-cells = <0>; | ||
586 | |||
587 | status = "okay"; | ||
588 | |||
589 | rcar_sound,dai { | ||
590 | dai0 { | ||
591 | playback = <&ssi0 &src2 &dvc0>; | ||
592 | capture = <&ssi1 &src3 &dvc1>; | ||
593 | }; | ||
594 | }; | ||
595 | }; | ||
596 | |||
597 | &ssi1 { | ||
598 | shared-pin; | ||
599 | }; | ||
diff --git a/arch/arm/boot/dts/r8a7791.dtsi b/arch/arm/boot/dts/r8a7791.dtsi index e4a7170f368b..77c0beeb8d7c 100644 --- a/arch/arm/boot/dts/r8a7791.dtsi +++ b/arch/arm/boot/dts/r8a7791.dtsi | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Device Tree Source for the r8a7791 SoC | 2 | * Device Tree Source for the r8a7791 SoC |
3 | * | 3 | * |
4 | * Copyright (C) 2013 Renesas Electronics Corporation | 4 | * Copyright (C) 2013-2014 Renesas Electronics Corporation |
5 | * Copyright (C) 2013-2014 Renesas Solutions Corp. | 5 | * Copyright (C) 2013-2014 Renesas Solutions Corp. |
6 | * Copyright (C) 2014 Cogent Embedded Inc. | 6 | * Copyright (C) 2014 Cogent Embedded Inc. |
7 | * | 7 | * |
@@ -301,6 +301,69 @@ | |||
301 | dma-channels = <15>; | 301 | dma-channels = <15>; |
302 | }; | 302 | }; |
303 | 303 | ||
304 | audma0: dma-controller@ec700000 { | ||
305 | compatible = "renesas,rcar-dmac"; | ||
306 | reg = <0 0xec700000 0 0x10000>; | ||
307 | interrupts = <0 346 IRQ_TYPE_LEVEL_HIGH | ||
308 | 0 320 IRQ_TYPE_LEVEL_HIGH | ||
309 | 0 321 IRQ_TYPE_LEVEL_HIGH | ||
310 | 0 322 IRQ_TYPE_LEVEL_HIGH | ||
311 | 0 323 IRQ_TYPE_LEVEL_HIGH | ||
312 | 0 324 IRQ_TYPE_LEVEL_HIGH | ||
313 | 0 325 IRQ_TYPE_LEVEL_HIGH | ||
314 | 0 326 IRQ_TYPE_LEVEL_HIGH | ||
315 | 0 327 IRQ_TYPE_LEVEL_HIGH | ||
316 | 0 328 IRQ_TYPE_LEVEL_HIGH | ||
317 | 0 329 IRQ_TYPE_LEVEL_HIGH | ||
318 | 0 330 IRQ_TYPE_LEVEL_HIGH | ||
319 | 0 331 IRQ_TYPE_LEVEL_HIGH | ||
320 | 0 332 IRQ_TYPE_LEVEL_HIGH>; | ||
321 | interrupt-names = "error", | ||
322 | "ch0", "ch1", "ch2", "ch3", | ||
323 | "ch4", "ch5", "ch6", "ch7", | ||
324 | "ch8", "ch9", "ch10", "ch11", | ||
325 | "ch12"; | ||
326 | clocks = <&mstp5_clks R8A7791_CLK_AUDIO_DMAC0>; | ||
327 | clock-names = "fck"; | ||
328 | #dma-cells = <1>; | ||
329 | dma-channels = <13>; | ||
330 | }; | ||
331 | |||
332 | audma1: dma-controller@ec720000 { | ||
333 | compatible = "renesas,rcar-dmac"; | ||
334 | reg = <0 0xec720000 0 0x10000>; | ||
335 | interrupts = <0 347 IRQ_TYPE_LEVEL_HIGH | ||
336 | 0 333 IRQ_TYPE_LEVEL_HIGH | ||
337 | 0 334 IRQ_TYPE_LEVEL_HIGH | ||
338 | 0 335 IRQ_TYPE_LEVEL_HIGH | ||
339 | 0 336 IRQ_TYPE_LEVEL_HIGH | ||
340 | 0 337 IRQ_TYPE_LEVEL_HIGH | ||
341 | 0 338 IRQ_TYPE_LEVEL_HIGH | ||
342 | 0 339 IRQ_TYPE_LEVEL_HIGH | ||
343 | 0 340 IRQ_TYPE_LEVEL_HIGH | ||
344 | 0 341 IRQ_TYPE_LEVEL_HIGH | ||
345 | 0 342 IRQ_TYPE_LEVEL_HIGH | ||
346 | 0 343 IRQ_TYPE_LEVEL_HIGH | ||
347 | 0 344 IRQ_TYPE_LEVEL_HIGH | ||
348 | 0 345 IRQ_TYPE_LEVEL_HIGH>; | ||
349 | interrupt-names = "error", | ||
350 | "ch0", "ch1", "ch2", "ch3", | ||
351 | "ch4", "ch5", "ch6", "ch7", | ||
352 | "ch8", "ch9", "ch10", "ch11", | ||
353 | "ch12"; | ||
354 | clocks = <&mstp5_clks R8A7791_CLK_AUDIO_DMAC1>; | ||
355 | clock-names = "fck"; | ||
356 | #dma-cells = <1>; | ||
357 | dma-channels = <13>; | ||
358 | }; | ||
359 | |||
360 | audmapp: dma-controller@ec740000 { | ||
361 | compatible = "renesas,rcar-audmapp"; | ||
362 | #dma-cells = <1>; | ||
363 | |||
364 | reg = <0 0xec740000 0 0x200>; | ||
365 | }; | ||
366 | |||
304 | /* The memory map in the User's Manual maps the cores to bus numbers */ | 367 | /* The memory map in the User's Manual maps the cores to bus numbers */ |
305 | i2c0: i2c@e6508000 { | 368 | i2c0: i2c@e6508000 { |
306 | #address-cells = <1>; | 369 | #address-cells = <1>; |
@@ -371,6 +434,8 @@ | |||
371 | reg = <0 0xe60b0000 0 0x425>; | 434 | reg = <0 0xe60b0000 0 0x425>; |
372 | interrupts = <0 173 IRQ_TYPE_LEVEL_HIGH>; | 435 | interrupts = <0 173 IRQ_TYPE_LEVEL_HIGH>; |
373 | clocks = <&mstp9_clks R8A7791_CLK_IICDVFS>; | 436 | clocks = <&mstp9_clks R8A7791_CLK_IICDVFS>; |
437 | dmas = <&dmac0 0x77>, <&dmac0 0x78>; | ||
438 | dma-names = "tx", "rx"; | ||
374 | status = "disabled"; | 439 | status = "disabled"; |
375 | }; | 440 | }; |
376 | 441 | ||
@@ -381,6 +446,8 @@ | |||
381 | reg = <0 0xe6500000 0 0x425>; | 446 | reg = <0 0xe6500000 0 0x425>; |
382 | interrupts = <0 174 IRQ_TYPE_LEVEL_HIGH>; | 447 | interrupts = <0 174 IRQ_TYPE_LEVEL_HIGH>; |
383 | clocks = <&mstp3_clks R8A7791_CLK_IIC0>; | 448 | clocks = <&mstp3_clks R8A7791_CLK_IIC0>; |
449 | dmas = <&dmac0 0x61>, <&dmac0 0x62>; | ||
450 | dma-names = "tx", "rx"; | ||
384 | status = "disabled"; | 451 | status = "disabled"; |
385 | }; | 452 | }; |
386 | 453 | ||
@@ -391,6 +458,8 @@ | |||
391 | reg = <0 0xe6510000 0 0x425>; | 458 | reg = <0 0xe6510000 0 0x425>; |
392 | interrupts = <0 175 IRQ_TYPE_LEVEL_HIGH>; | 459 | interrupts = <0 175 IRQ_TYPE_LEVEL_HIGH>; |
393 | clocks = <&mstp3_clks R8A7791_CLK_IIC1>; | 460 | clocks = <&mstp3_clks R8A7791_CLK_IIC1>; |
461 | dmas = <&dmac0 0x65>, <&dmac0 0x66>; | ||
462 | dma-names = "tx", "rx"; | ||
394 | status = "disabled"; | 463 | status = "disabled"; |
395 | }; | 464 | }; |
396 | 465 | ||
@@ -400,6 +469,17 @@ | |||
400 | #gpio-range-cells = <3>; | 469 | #gpio-range-cells = <3>; |
401 | }; | 470 | }; |
402 | 471 | ||
472 | mmcif0: mmc@ee200000 { | ||
473 | compatible = "renesas,mmcif-r8a7791", "renesas,sh-mmcif"; | ||
474 | reg = <0 0xee200000 0 0x80>; | ||
475 | interrupts = <0 169 IRQ_TYPE_LEVEL_HIGH>; | ||
476 | clocks = <&mstp3_clks R8A7791_CLK_MMCIF0>; | ||
477 | dmas = <&dmac0 0xd1>, <&dmac0 0xd2>; | ||
478 | dma-names = "tx", "rx"; | ||
479 | reg-io-width = <4>; | ||
480 | status = "disabled"; | ||
481 | }; | ||
482 | |||
403 | sdhi0: sd@ee100000 { | 483 | sdhi0: sd@ee100000 { |
404 | compatible = "renesas,sdhi-r8a7791"; | 484 | compatible = "renesas,sdhi-r8a7791"; |
405 | reg = <0 0xee100000 0 0x200>; | 485 | reg = <0 0xee100000 0 0x200>; |
@@ -613,6 +693,36 @@ | |||
613 | status = "disabled"; | 693 | status = "disabled"; |
614 | }; | 694 | }; |
615 | 695 | ||
696 | hsusb: usb@e6590000 { | ||
697 | compatible = "renesas,usbhs-r8a7791"; | ||
698 | reg = <0 0xe6590000 0 0x100>; | ||
699 | interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>; | ||
700 | clocks = <&mstp7_clks R8A7791_CLK_HSUSB>; | ||
701 | renesas,buswait = <4>; | ||
702 | phys = <&usb0 1>; | ||
703 | phy-names = "usb"; | ||
704 | status = "disabled"; | ||
705 | }; | ||
706 | |||
707 | usbphy: usb-phy@e6590100 { | ||
708 | compatible = "renesas,usb-phy-r8a7791"; | ||
709 | reg = <0 0xe6590100 0 0x100>; | ||
710 | #address-cells = <1>; | ||
711 | #size-cells = <0>; | ||
712 | clocks = <&mstp7_clks R8A7791_CLK_HSUSB>; | ||
713 | clock-names = "usbhs"; | ||
714 | status = "disabled"; | ||
715 | |||
716 | usb0: usb-channel@0 { | ||
717 | reg = <0>; | ||
718 | #phy-cells = <1>; | ||
719 | }; | ||
720 | usb2: usb-channel@2 { | ||
721 | reg = <2>; | ||
722 | #phy-cells = <1>; | ||
723 | }; | ||
724 | }; | ||
725 | |||
616 | vin0: video@e6ef0000 { | 726 | vin0: video@e6ef0000 { |
617 | compatible = "renesas,vin-r8a7791"; | 727 | compatible = "renesas,vin-r8a7791"; |
618 | clocks = <&mstp8_clks R8A7791_CLK_VIN0>; | 728 | clocks = <&mstp8_clks R8A7791_CLK_VIN0>; |
@@ -958,17 +1068,23 @@ | |||
958 | mstp1_clks: mstp1_clks@e6150134 { | 1068 | mstp1_clks: mstp1_clks@e6150134 { |
959 | compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks"; | 1069 | compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks"; |
960 | reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>; | 1070 | reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>; |
961 | clocks = <&m2_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>, | 1071 | clocks = <&zs_clk>, <&zs_clk>, <&m2_clk>, <&zs_clk>, <&p_clk>, |
962 | <&cp_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>; | 1072 | <&zg_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>, <&p_clk>, |
1073 | <&p_clk>, <&rclk_clk>, <&cp_clk>, <&zs_clk>, <&zs_clk>, | ||
1074 | <&zs_clk>; | ||
963 | #clock-cells = <1>; | 1075 | #clock-cells = <1>; |
964 | renesas,clock-indices = < | 1076 | renesas,clock-indices = < |
965 | R8A7791_CLK_JPU R8A7791_CLK_TMU1 R8A7791_CLK_TMU3 R8A7791_CLK_TMU2 | 1077 | R8A7791_CLK_VCP0 R8A7791_CLK_VPC0 R8A7791_CLK_JPU |
966 | R8A7791_CLK_CMT0 R8A7791_CLK_TMU0 R8A7791_CLK_VSP1_DU1 | 1078 | R8A7791_CLK_SSP1 R8A7791_CLK_TMU1 R8A7791_CLK_3DG |
967 | R8A7791_CLK_VSP1_DU0 R8A7791_CLK_VSP1_S | 1079 | R8A7791_CLK_2DDMAC R8A7791_CLK_FDP1_1 R8A7791_CLK_FDP1_0 |
1080 | R8A7791_CLK_TMU3 R8A7791_CLK_TMU2 R8A7791_CLK_CMT0 | ||
1081 | R8A7791_CLK_TMU0 R8A7791_CLK_VSP1_DU1 R8A7791_CLK_VSP1_DU0 | ||
1082 | R8A7791_CLK_VSP1_S | ||
968 | >; | 1083 | >; |
969 | clock-output-names = | 1084 | clock-output-names = |
970 | "jpu", "tmu1", "tmu3", "tmu2", "cmt0", "tmu0", "vsp1-du1", | 1085 | "vcp0", "vpc0", "jpu", "ssp1", "tmu1", "3dg", |
971 | "vsp1-du0", "vsp1-sy"; | 1086 | "2ddmac", "fdp1-1", "fdp1-0", "tmu3", "tmu2", "cmt0", |
1087 | "tmu0", "vsp1-du1", "vsp1-du0", "vsp1-sy"; | ||
972 | }; | 1088 | }; |
973 | mstp2_clks: mstp2_clks@e6150138 { | 1089 | mstp2_clks: mstp2_clks@e6150138 { |
974 | compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks"; | 1090 | compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks"; |
@@ -992,24 +1108,28 @@ | |||
992 | compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks"; | 1108 | compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks"; |
993 | reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>; | 1109 | reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>; |
994 | clocks = <&cp_clk>, <&sd2_clk>, <&sd1_clk>, <&cpg_clocks R8A7791_CLK_SD0>, | 1110 | clocks = <&cp_clk>, <&sd2_clk>, <&sd1_clk>, <&cpg_clocks R8A7791_CLK_SD0>, |
995 | <&mmc0_clk>, <&hp_clk>, <&mp_clk>, <&hp_clk>, <&mp_clk>, <&rclk_clk>; | 1111 | <&mmc0_clk>, <&hp_clk>, <&mp_clk>, <&hp_clk>, <&mp_clk>, <&rclk_clk>, |
1112 | <&hp_clk>, <&hp_clk>; | ||
996 | #clock-cells = <1>; | 1113 | #clock-cells = <1>; |
997 | renesas,clock-indices = < | 1114 | renesas,clock-indices = < |
998 | R8A7791_CLK_TPU0 R8A7791_CLK_SDHI2 R8A7791_CLK_SDHI1 R8A7791_CLK_SDHI0 | 1115 | R8A7791_CLK_TPU0 R8A7791_CLK_SDHI2 R8A7791_CLK_SDHI1 R8A7791_CLK_SDHI0 |
999 | R8A7791_CLK_MMCIF0 R8A7791_CLK_IIC0 R8A7791_CLK_PCIEC R8A7791_CLK_IIC1 | 1116 | R8A7791_CLK_MMCIF0 R8A7791_CLK_IIC0 R8A7791_CLK_PCIEC R8A7791_CLK_IIC1 |
1000 | R8A7791_CLK_SSUSB R8A7791_CLK_CMT1 | 1117 | R8A7791_CLK_SSUSB R8A7791_CLK_CMT1 |
1118 | R8A7791_CLK_USBDMAC0 R8A7791_CLK_USBDMAC1 | ||
1001 | >; | 1119 | >; |
1002 | clock-output-names = | 1120 | clock-output-names = |
1003 | "tpu0", "sdhi2", "sdhi1", "sdhi0", | 1121 | "tpu0", "sdhi2", "sdhi1", "sdhi0", |
1004 | "mmcif0", "i2c7", "pciec", "i2c8", "ssusb", "cmt1"; | 1122 | "mmcif0", "i2c7", "pciec", "i2c8", "ssusb", "cmt1", |
1123 | "usbdmac0", "usbdmac1"; | ||
1005 | }; | 1124 | }; |
1006 | mstp5_clks: mstp5_clks@e6150144 { | 1125 | mstp5_clks: mstp5_clks@e6150144 { |
1007 | compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks"; | 1126 | compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks"; |
1008 | reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>; | 1127 | reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>; |
1009 | clocks = <&extal_clk>, <&p_clk>; | 1128 | clocks = <&hp_clk>, <&hp_clk>, <&extal_clk>, <&p_clk>; |
1010 | #clock-cells = <1>; | 1129 | #clock-cells = <1>; |
1011 | renesas,clock-indices = <R8A7791_CLK_THERMAL R8A7791_CLK_PWM>; | 1130 | renesas,clock-indices = <R8A7791_CLK_AUDIO_DMAC0 R8A7791_CLK_AUDIO_DMAC1 |
1012 | clock-output-names = "thermal", "pwm"; | 1131 | R8A7791_CLK_THERMAL R8A7791_CLK_PWM>; |
1132 | clock-output-names = "audmac0", "audmac1", "thermal", "pwm"; | ||
1013 | }; | 1133 | }; |
1014 | mstp7_clks: mstp7_clks@e615014c { | 1134 | mstp7_clks: mstp7_clks@e615014c { |
1015 | compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks"; | 1135 | compatible = "renesas,r8a7791-mstp-clocks", "renesas,cpg-mstp-clocks"; |
@@ -1157,6 +1277,16 @@ | |||
1157 | status = "disabled"; | 1277 | status = "disabled"; |
1158 | }; | 1278 | }; |
1159 | 1279 | ||
1280 | xhci: usb@ee000000 { | ||
1281 | compatible = "renesas,xhci-r8a7791"; | ||
1282 | reg = <0 0xee000000 0 0xc00>; | ||
1283 | interrupts = <0 101 IRQ_TYPE_LEVEL_HIGH>; | ||
1284 | clocks = <&mstp3_clks R8A7791_CLK_SSUSB>; | ||
1285 | phys = <&usb2 1>; | ||
1286 | phy-names = "usb"; | ||
1287 | status = "disabled"; | ||
1288 | }; | ||
1289 | |||
1160 | pci0: pci@ee090000 { | 1290 | pci0: pci@ee090000 { |
1161 | compatible = "renesas,pci-r8a7791"; | 1291 | compatible = "renesas,pci-r8a7791"; |
1162 | device_type = "pci"; | 1292 | device_type = "pci"; |
@@ -1175,6 +1305,20 @@ | |||
1175 | interrupt-map = <0x0000 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH | 1305 | interrupt-map = <0x0000 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH |
1176 | 0x0800 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH | 1306 | 0x0800 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH |
1177 | 0x1000 0 0 2 &gic 0 108 IRQ_TYPE_LEVEL_HIGH>; | 1307 | 0x1000 0 0 2 &gic 0 108 IRQ_TYPE_LEVEL_HIGH>; |
1308 | |||
1309 | usb@0,1 { | ||
1310 | reg = <0x800 0 0 0 0>; | ||
1311 | device_type = "pci"; | ||
1312 | phys = <&usb0 0>; | ||
1313 | phy-names = "usb"; | ||
1314 | }; | ||
1315 | |||
1316 | usb@0,2 { | ||
1317 | reg = <0x1000 0 0 0 0>; | ||
1318 | device_type = "pci"; | ||
1319 | phys = <&usb0 0>; | ||
1320 | phy-names = "usb"; | ||
1321 | }; | ||
1178 | }; | 1322 | }; |
1179 | 1323 | ||
1180 | pci1: pci@ee0d0000 { | 1324 | pci1: pci@ee0d0000 { |
@@ -1195,6 +1339,20 @@ | |||
1195 | interrupt-map = <0x0000 0 0 1 &gic 0 113 IRQ_TYPE_LEVEL_HIGH | 1339 | interrupt-map = <0x0000 0 0 1 &gic 0 113 IRQ_TYPE_LEVEL_HIGH |
1196 | 0x0800 0 0 1 &gic 0 113 IRQ_TYPE_LEVEL_HIGH | 1340 | 0x0800 0 0 1 &gic 0 113 IRQ_TYPE_LEVEL_HIGH |
1197 | 0x1000 0 0 2 &gic 0 113 IRQ_TYPE_LEVEL_HIGH>; | 1341 | 0x1000 0 0 2 &gic 0 113 IRQ_TYPE_LEVEL_HIGH>; |
1342 | |||
1343 | usb@0,1 { | ||
1344 | reg = <0x800 0 0 0 0>; | ||
1345 | device_type = "pci"; | ||
1346 | phys = <&usb2 0>; | ||
1347 | phy-names = "usb"; | ||
1348 | }; | ||
1349 | |||
1350 | usb@0,2 { | ||
1351 | reg = <0x1000 0 0 0 0>; | ||
1352 | device_type = "pci"; | ||
1353 | phys = <&usb2 0>; | ||
1354 | phy-names = "usb"; | ||
1355 | }; | ||
1198 | }; | 1356 | }; |
1199 | 1357 | ||
1200 | pciec: pcie@fe000000 { | 1358 | pciec: pcie@fe000000 { |
@@ -1222,7 +1380,7 @@ | |||
1222 | status = "disabled"; | 1380 | status = "disabled"; |
1223 | }; | 1381 | }; |
1224 | 1382 | ||
1225 | rcar_sound: rcar_sound@0xec500000 { | 1383 | rcar_sound: rcar_sound@ec500000 { |
1226 | #sound-dai-cells = <1>; | 1384 | #sound-dai-cells = <1>; |
1227 | compatible = "renesas,rcar_sound-r8a7791", "renesas,rcar_sound-gen2", "renesas,rcar_sound"; | 1385 | compatible = "renesas,rcar_sound-r8a7791", "renesas,rcar_sound-gen2", "renesas,rcar_sound"; |
1228 | reg = <0 0xec500000 0 0x1000>, /* SCU */ | 1386 | reg = <0 0xec500000 0 0x1000>, /* SCU */ |
diff --git a/arch/arm/boot/dts/r8a7794-alt.dts b/arch/arm/boot/dts/r8a7794-alt.dts index 8aec51268b7d..f2cf7576bf3f 100644 --- a/arch/arm/boot/dts/r8a7794-alt.dts +++ b/arch/arm/boot/dts/r8a7794-alt.dts | |||
@@ -20,7 +20,7 @@ | |||
20 | }; | 20 | }; |
21 | 21 | ||
22 | chosen { | 22 | chosen { |
23 | bootargs = "console=ttySC0,38400 ignore_loglevel rw root=/dev/nfs ip=dhcp"; | 23 | bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp"; |
24 | stdout-path = &scif2; | 24 | stdout-path = &scif2; |
25 | }; | 25 | }; |
26 | 26 | ||
diff --git a/arch/arm/boot/dts/r8a7794.dtsi b/arch/arm/boot/dts/r8a7794.dtsi index d4e8bce1e0b7..19c9de3f2a5a 100644 --- a/arch/arm/boot/dts/r8a7794.dtsi +++ b/arch/arm/boot/dts/r8a7794.dtsi | |||
@@ -82,6 +82,14 @@ | |||
82 | status = "disabled"; | 82 | status = "disabled"; |
83 | }; | 83 | }; |
84 | 84 | ||
85 | timer { | ||
86 | compatible = "arm,armv7-timer"; | ||
87 | interrupts = <1 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | ||
88 | <1 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | ||
89 | <1 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | ||
90 | <1 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; | ||
91 | }; | ||
92 | |||
85 | irqc0: interrupt-controller@e61c0000 { | 93 | irqc0: interrupt-controller@e61c0000 { |
86 | compatible = "renesas,irqc-r8a7794", "renesas,irqc"; | 94 | compatible = "renesas,irqc-r8a7794", "renesas,irqc"; |
87 | #interrupt-cells = <2>; | 95 | #interrupt-cells = <2>; |
@@ -453,16 +461,19 @@ | |||
453 | mstp1_clks: mstp1_clks@e6150134 { | 461 | mstp1_clks: mstp1_clks@e6150134 { |
454 | compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks"; | 462 | compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks"; |
455 | reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>; | 463 | reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>; |
456 | clocks = <&p_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>, | 464 | clocks = <&zs_clk>, <&zs_clk>, <&p_clk>, <&zg_clk>, <&zs_clk>, |
457 | <&cp_clk>, | 465 | <&zs_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>, <&cp_clk>, |
458 | <&zs_clk>, <&zs_clk>, <&zs_clk>; | 466 | <&zs_clk>, <&zs_clk>; |
459 | #clock-cells = <1>; | 467 | #clock-cells = <1>; |
460 | renesas,clock-indices = < | 468 | renesas,clock-indices = < |
461 | R8A7794_CLK_TMU1 R8A7794_CLK_TMU3 R8A7794_CLK_TMU2 | 469 | R8A7794_CLK_VCP0 R8A7794_CLK_VPC0 R8A7794_CLK_TMU1 |
462 | R8A7794_CLK_CMT0 R8A7794_CLK_TMU0 | 470 | R8A7794_CLK_3DG R8A7794_CLK_2DDMAC R8A7794_CLK_FDP1_0 |
471 | R8A7794_CLK_TMU3 R8A7794_CLK_TMU2 R8A7794_CLK_CMT0 | ||
472 | R8A7794_CLK_TMU0 R8A7794_CLK_VSP1_DU0 R8A7794_CLK_VSP1_S | ||
463 | >; | 473 | >; |
464 | clock-output-names = | 474 | clock-output-names = |
465 | "tmu1", "tmu3", "tmu2", "cmt0", "tmu0"; | 475 | "vcp0", "vpc0", "tmu1", "3dg", "2ddmac", "fdp1-0", |
476 | "tmu3", "tmu2", "cmt0", "tmu0", "vsp1-du0", "vsps"; | ||
466 | }; | 477 | }; |
467 | mstp2_clks: mstp2_clks@e6150138 { | 478 | mstp2_clks: mstp2_clks@e6150138 { |
468 | compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks"; | 479 | compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks"; |
@@ -509,13 +520,13 @@ | |||
509 | mstp8_clks: mstp8_clks@e6150990 { | 520 | mstp8_clks: mstp8_clks@e6150990 { |
510 | compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks"; | 521 | compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks"; |
511 | reg = <0 0xe6150990 0 4>, <0 0xe61509a0 0 4>; | 522 | reg = <0 0xe6150990 0 4>, <0 0xe61509a0 0 4>; |
512 | clocks = <&p_clk>; | 523 | clocks = <&zg_clk>, <&zg_clk>, <&p_clk>; |
513 | #clock-cells = <1>; | 524 | #clock-cells = <1>; |
514 | renesas,clock-indices = < | 525 | renesas,clock-indices = < |
515 | R8A7794_CLK_ETHER | 526 | R8A7794_CLK_VIN1 R8A7794_CLK_VIN0 R8A7794_CLK_ETHER |
516 | >; | 527 | >; |
517 | clock-output-names = | 528 | clock-output-names = |
518 | "ether"; | 529 | "vin1", "vin0", "ether"; |
519 | }; | 530 | }; |
520 | mstp11_clks: mstp11_clks@e615099c { | 531 | mstp11_clks: mstp11_clks@e615099c { |
521 | compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks"; | 532 | compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks"; |
diff --git a/arch/arm/boot/dts/rk3066a-bqcurie2.dts b/arch/arm/boot/dts/rk3066a-bqcurie2.dts index d5344510c676..baf21ac6ce7f 100644 --- a/arch/arm/boot/dts/rk3066a-bqcurie2.dts +++ b/arch/arm/boot/dts/rk3066a-bqcurie2.dts | |||
@@ -60,6 +60,10 @@ | |||
60 | }; | 60 | }; |
61 | }; | 61 | }; |
62 | 62 | ||
63 | &cpu0 { | ||
64 | cpu0-supply = <&vdd_arm>; | ||
65 | }; | ||
66 | |||
63 | &i2c1 { | 67 | &i2c1 { |
64 | status = "okay"; | 68 | status = "okay"; |
65 | clock-frequency = <400000>; | 69 | clock-frequency = <400000>; |
diff --git a/arch/arm/boot/dts/rk3066a-marsboard.dts b/arch/arm/boot/dts/rk3066a-marsboard.dts new file mode 100644 index 000000000000..0a7304beb417 --- /dev/null +++ b/arch/arm/boot/dts/rk3066a-marsboard.dts | |||
@@ -0,0 +1,206 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2014 Romain Perier <romain.perier@gmail.com> | ||
3 | * | ||
4 | * This file is dual-licensed: you can use it either under the terms | ||
5 | * of the GPL or the X11 license, at your option. Note that this dual | ||
6 | * licensing only applies to this file, and not this project as a | ||
7 | * whole. | ||
8 | * | ||
9 | * a) This file is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License as | ||
11 | * published by the Free Software Foundation; either version 2 of the | ||
12 | * License, or (at your option) any later version. | ||
13 | * | ||
14 | * This file is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * Or, alternatively, | ||
20 | * | ||
21 | * b) Permission is hereby granted, free of charge, to any person | ||
22 | * obtaining a copy of this software and associated documentation | ||
23 | * files (the "Software"), to deal in the Software without | ||
24 | * restriction, including without limitation the rights to use, | ||
25 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
26 | * sell copies of the Software, and to permit persons to whom the | ||
27 | * Software is furnished to do so, subject to the following | ||
28 | * conditions: | ||
29 | * | ||
30 | * The above copyright notice and this permission notice shall be | ||
31 | * included in all copies or substantial portions of the Software. | ||
32 | * | ||
33 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
34 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
35 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
36 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
37 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
38 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
39 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
40 | * OTHER DEALINGS IN THE SOFTWARE. | ||
41 | */ | ||
42 | |||
43 | /dts-v1/; | ||
44 | #include "rk3066a.dtsi" | ||
45 | |||
46 | / { | ||
47 | model = "MarsBoard RK3066"; | ||
48 | compatible = "haoyu,marsboard-rk3066", "rockchip,rk3066a"; | ||
49 | |||
50 | memory { | ||
51 | reg = <0x60000000 0x40000000>; | ||
52 | }; | ||
53 | |||
54 | vcc_sd0: sdmmc-regulator { | ||
55 | compatible = "regulator-fixed"; | ||
56 | regulator-name = "sdmmc-supply"; | ||
57 | regulator-min-microvolt = <3000000>; | ||
58 | regulator-max-microvolt = <3000000>; | ||
59 | gpio = <&gpio3 7 GPIO_ACTIVE_LOW>; | ||
60 | startup-delay-us = <100000>; | ||
61 | vin-supply = <&vcc_io>; | ||
62 | }; | ||
63 | |||
64 | vsys: vsys-regulator { | ||
65 | compatible = "regulator-fixed"; | ||
66 | regulator-name = "vsys"; | ||
67 | regulator-min-microvolt = <5000000>; | ||
68 | regulator-max-microvolt = <5000000>; | ||
69 | regulator-boot-on; | ||
70 | }; | ||
71 | }; | ||
72 | |||
73 | &i2c1 { | ||
74 | status = "okay"; | ||
75 | clock-frequency = <400000>; | ||
76 | |||
77 | tps: tps@2d { | ||
78 | reg = <0x2d>; | ||
79 | |||
80 | interrupt-parent = <&gpio6>; | ||
81 | interrupts = <4 IRQ_TYPE_LEVEL_LOW>; | ||
82 | |||
83 | vcc1-supply = <&vsys>; | ||
84 | vcc2-supply = <&vsys>; | ||
85 | vcc3-supply = <&vsys>; | ||
86 | vcc4-supply = <&vsys>; | ||
87 | vcc5-supply = <&vcc_io>; | ||
88 | vcc6-supply = <&vcc_io>; | ||
89 | vcc7-supply = <&vsys>; | ||
90 | vccio-supply = <&vsys>; | ||
91 | |||
92 | regulators { | ||
93 | vcc_rtc: regulator@0 { | ||
94 | regulator-name = "vcc_rtc"; | ||
95 | regulator-always-on; | ||
96 | }; | ||
97 | |||
98 | vcc_io: regulator@1 { | ||
99 | regulator-name = "vcc_io"; | ||
100 | regulator-always-on; | ||
101 | }; | ||
102 | |||
103 | vdd_arm: regulator@2 { | ||
104 | regulator-name = "vdd_arm"; | ||
105 | regulator-min-microvolt = <600000>; | ||
106 | regulator-max-microvolt = <1500000>; | ||
107 | regulator-boot-on; | ||
108 | regulator-always-on; | ||
109 | }; | ||
110 | |||
111 | vcc_ddr: regulator@3 { | ||
112 | regulator-name = "vcc_ddr"; | ||
113 | regulator-min-microvolt = <600000>; | ||
114 | regulator-max-microvolt = <1500000>; | ||
115 | regulator-boot-on; | ||
116 | regulator-always-on; | ||
117 | }; | ||
118 | |||
119 | vcc18_cif: regulator@5 { | ||
120 | regulator-name = "vcc18_cif"; | ||
121 | regulator-always-on; | ||
122 | }; | ||
123 | |||
124 | vdd_11: regulator@6 { | ||
125 | regulator-name = "vdd_11"; | ||
126 | regulator-always-on; | ||
127 | }; | ||
128 | |||
129 | vcc_25: regulator@7 { | ||
130 | regulator-name = "vcc_25"; | ||
131 | regulator-always-on; | ||
132 | }; | ||
133 | |||
134 | vcc_18: regulator@8 { | ||
135 | regulator-name = "vcc_18"; | ||
136 | regulator-always-on; | ||
137 | }; | ||
138 | |||
139 | vcc25_hdmi: regulator@9 { | ||
140 | regulator-name = "vcc25_hdmi"; | ||
141 | regulator-always-on; | ||
142 | }; | ||
143 | |||
144 | vcca_33: regulator@10 { | ||
145 | regulator-name = "vcca_33"; | ||
146 | regulator-always-on; | ||
147 | }; | ||
148 | |||
149 | vcc_rmii: regulator@11 { | ||
150 | regulator-name = "vcc_rmii"; | ||
151 | }; | ||
152 | |||
153 | vcc28_cif: regulator@12 { | ||
154 | regulator-name = "vcc28_cif"; | ||
155 | regulator-always-on; | ||
156 | }; | ||
157 | }; | ||
158 | }; | ||
159 | }; | ||
160 | |||
161 | /* must be included after &tps gets defined */ | ||
162 | #include "tps65910.dtsi" | ||
163 | |||
164 | &emac { | ||
165 | status = "okay"; | ||
166 | |||
167 | phy = <&phy0>; | ||
168 | phy-supply = <&vcc_rmii>; | ||
169 | |||
170 | pinctrl-names = "default"; | ||
171 | pinctrl-0 = <&emac_xfer>, <&emac_mdio>, <&phy_int>; | ||
172 | |||
173 | phy0: ethernet-phy@0 { | ||
174 | reg = <0>; | ||
175 | interrupt-parent = <&gpio1>; | ||
176 | interrupts = <26 IRQ_TYPE_LEVEL_LOW>; | ||
177 | }; | ||
178 | }; | ||
179 | |||
180 | &pinctrl { | ||
181 | lan8720a { | ||
182 | phy_int: phy-int { | ||
183 | rockchip,pins = <RK_GPIO1 26 RK_FUNC_GPIO &pcfg_pull_none>; | ||
184 | }; | ||
185 | }; | ||
186 | }; | ||
187 | |||
188 | &uart0 { | ||
189 | status = "okay"; | ||
190 | }; | ||
191 | |||
192 | &uart1 { | ||
193 | status = "okay"; | ||
194 | }; | ||
195 | |||
196 | &uart2 { | ||
197 | status = "okay"; | ||
198 | }; | ||
199 | |||
200 | &uart3 { | ||
201 | status = "okay"; | ||
202 | }; | ||
203 | |||
204 | &wdt { | ||
205 | status = "okay"; | ||
206 | }; | ||
diff --git a/arch/arm/boot/dts/rk3066a.dtsi b/arch/arm/boot/dts/rk3066a.dtsi index ad9c2db59670..41ffd4951ef3 100644 --- a/arch/arm/boot/dts/rk3066a.dtsi +++ b/arch/arm/boot/dts/rk3066a.dtsi | |||
@@ -26,11 +26,21 @@ | |||
26 | #size-cells = <0>; | 26 | #size-cells = <0>; |
27 | enable-method = "rockchip,rk3066-smp"; | 27 | enable-method = "rockchip,rk3066-smp"; |
28 | 28 | ||
29 | cpu@0 { | 29 | cpu0: cpu@0 { |
30 | device_type = "cpu"; | 30 | device_type = "cpu"; |
31 | compatible = "arm,cortex-a9"; | 31 | compatible = "arm,cortex-a9"; |
32 | next-level-cache = <&L2>; | 32 | next-level-cache = <&L2>; |
33 | reg = <0x0>; | 33 | reg = <0x0>; |
34 | operating-points = < | ||
35 | /* kHz uV */ | ||
36 | 1008000 1075000 | ||
37 | 816000 1025000 | ||
38 | 600000 1025000 | ||
39 | 504000 1000000 | ||
40 | 312000 975000 | ||
41 | >; | ||
42 | clock-latency = <40000>; | ||
43 | clocks = <&cru ARMCLK>; | ||
34 | }; | 44 | }; |
35 | cpu@1 { | 45 | cpu@1 { |
36 | device_type = "cpu"; | 46 | device_type = "cpu"; |
@@ -53,6 +63,51 @@ | |||
53 | }; | 63 | }; |
54 | }; | 64 | }; |
55 | 65 | ||
66 | i2s0: i2s@10118000 { | ||
67 | compatible = "rockchip,rk3066-i2s"; | ||
68 | reg = <0x10118000 0x2000>; | ||
69 | interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; | ||
70 | #address-cells = <1>; | ||
71 | #size-cells = <0>; | ||
72 | pinctrl-names = "default"; | ||
73 | pinctrl-0 = <&i2s0_bus>; | ||
74 | dmas = <&dmac1_s 4>, <&dmac1_s 5>; | ||
75 | dma-names = "tx", "rx"; | ||
76 | clock-names = "i2s_hclk", "i2s_clk"; | ||
77 | clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>; | ||
78 | status = "disabled"; | ||
79 | }; | ||
80 | |||
81 | i2s1: i2s@1011a000 { | ||
82 | compatible = "rockchip,rk3066-i2s"; | ||
83 | reg = <0x1011a000 0x2000>; | ||
84 | interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; | ||
85 | #address-cells = <1>; | ||
86 | #size-cells = <0>; | ||
87 | pinctrl-names = "default"; | ||
88 | pinctrl-0 = <&i2s1_bus>; | ||
89 | dmas = <&dmac1_s 6>, <&dmac1_s 7>; | ||
90 | dma-names = "tx", "rx"; | ||
91 | clock-names = "i2s_hclk", "i2s_clk"; | ||
92 | clocks = <&cru HCLK_I2S1>, <&cru SCLK_I2S1>; | ||
93 | status = "disabled"; | ||
94 | }; | ||
95 | |||
96 | i2s2: i2s@1011c000 { | ||
97 | compatible = "rockchip,rk3066-i2s"; | ||
98 | reg = <0x1011c000 0x2000>; | ||
99 | interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; | ||
100 | #address-cells = <1>; | ||
101 | #size-cells = <0>; | ||
102 | pinctrl-names = "default"; | ||
103 | pinctrl-0 = <&i2s2_bus>; | ||
104 | dmas = <&dmac1_s 9>, <&dmac1_s 10>; | ||
105 | dma-names = "tx", "rx"; | ||
106 | clock-names = "i2s_hclk", "i2s_clk"; | ||
107 | clocks = <&cru HCLK_I2S2>, <&cru SCLK_I2S2>; | ||
108 | status = "disabled"; | ||
109 | }; | ||
110 | |||
56 | cru: clock-controller@20000000 { | 111 | cru: clock-controller@20000000 { |
57 | compatible = "rockchip,rk3066a-cru"; | 112 | compatible = "rockchip,rk3066a-cru"; |
58 | reg = <0x20000000 0x1000>; | 113 | reg = <0x20000000 0x1000>; |
@@ -179,6 +234,24 @@ | |||
179 | bias-disable; | 234 | bias-disable; |
180 | }; | 235 | }; |
181 | 236 | ||
237 | emac { | ||
238 | emac_xfer: emac-xfer { | ||
239 | rockchip,pins = <RK_GPIO1 16 RK_FUNC_2 &pcfg_pull_none>, /* mac_clk */ | ||
240 | <RK_GPIO1 17 RK_FUNC_2 &pcfg_pull_none>, /* tx_en */ | ||
241 | <RK_GPIO1 18 RK_FUNC_2 &pcfg_pull_none>, /* txd1 */ | ||
242 | <RK_GPIO1 19 RK_FUNC_2 &pcfg_pull_none>, /* txd0 */ | ||
243 | <RK_GPIO1 20 RK_FUNC_2 &pcfg_pull_none>, /* rx_err */ | ||
244 | <RK_GPIO1 21 RK_FUNC_2 &pcfg_pull_none>, /* crs_dvalid */ | ||
245 | <RK_GPIO1 22 RK_FUNC_2 &pcfg_pull_none>, /* rxd1 */ | ||
246 | <RK_GPIO1 23 RK_FUNC_2 &pcfg_pull_none>; /* rxd0 */ | ||
247 | }; | ||
248 | |||
249 | emac_mdio: emac-mdio { | ||
250 | rockchip,pins = <RK_GPIO1 24 RK_FUNC_2 &pcfg_pull_none>, /* mac_md */ | ||
251 | <RK_GPIO1 25 RK_FUNC_2 &pcfg_pull_none>; /* mac_mdclk */ | ||
252 | }; | ||
253 | }; | ||
254 | |||
182 | emmc { | 255 | emmc { |
183 | emmc_clk: emmc-clk { | 256 | emmc_clk: emmc-clk { |
184 | rockchip,pins = <RK_GPIO3 31 RK_FUNC_2 &pcfg_pull_default>; | 257 | rockchip,pins = <RK_GPIO3 31 RK_FUNC_2 &pcfg_pull_default>; |
@@ -405,6 +478,42 @@ | |||
405 | <RK_GPIO3 20 RK_FUNC_1 &pcfg_pull_default>; | 478 | <RK_GPIO3 20 RK_FUNC_1 &pcfg_pull_default>; |
406 | }; | 479 | }; |
407 | }; | 480 | }; |
481 | |||
482 | i2s0 { | ||
483 | i2s0_bus: i2s0-bus { | ||
484 | rockchip,pins = <RK_GPIO0 7 RK_FUNC_1 &pcfg_pull_default>, | ||
485 | <RK_GPIO0 8 RK_FUNC_1 &pcfg_pull_default>, | ||
486 | <RK_GPIO0 9 RK_FUNC_1 &pcfg_pull_default>, | ||
487 | <RK_GPIO0 10 RK_FUNC_1 &pcfg_pull_default>, | ||
488 | <RK_GPIO0 11 RK_FUNC_1 &pcfg_pull_default>, | ||
489 | <RK_GPIO0 12 RK_FUNC_1 &pcfg_pull_default>, | ||
490 | <RK_GPIO0 13 RK_FUNC_1 &pcfg_pull_default>, | ||
491 | <RK_GPIO0 14 RK_FUNC_1 &pcfg_pull_default>, | ||
492 | <RK_GPIO0 15 RK_FUNC_1 &pcfg_pull_default>; | ||
493 | }; | ||
494 | }; | ||
495 | |||
496 | i2s1 { | ||
497 | i2s1_bus: i2s1-bus { | ||
498 | rockchip,pins = <RK_GPIO0 16 RK_FUNC_1 &pcfg_pull_default>, | ||
499 | <RK_GPIO0 17 RK_FUNC_1 &pcfg_pull_default>, | ||
500 | <RK_GPIO0 18 RK_FUNC_1 &pcfg_pull_default>, | ||
501 | <RK_GPIO0 19 RK_FUNC_1 &pcfg_pull_default>, | ||
502 | <RK_GPIO0 20 RK_FUNC_1 &pcfg_pull_default>, | ||
503 | <RK_GPIO0 21 RK_FUNC_1 &pcfg_pull_default>; | ||
504 | }; | ||
505 | }; | ||
506 | |||
507 | i2s2 { | ||
508 | i2s2_bus: i2s2-bus { | ||
509 | rockchip,pins = <RK_GPIO0 24 RK_FUNC_1 &pcfg_pull_default>, | ||
510 | <RK_GPIO0 25 RK_FUNC_1 &pcfg_pull_default>, | ||
511 | <RK_GPIO0 26 RK_FUNC_1 &pcfg_pull_default>, | ||
512 | <RK_GPIO0 27 RK_FUNC_1 &pcfg_pull_default>, | ||
513 | <RK_GPIO0 28 RK_FUNC_1 &pcfg_pull_default>, | ||
514 | <RK_GPIO0 29 RK_FUNC_1 &pcfg_pull_default>; | ||
515 | }; | ||
516 | }; | ||
408 | }; | 517 | }; |
409 | }; | 518 | }; |
410 | 519 | ||
@@ -496,3 +605,7 @@ | |||
496 | &wdt { | 605 | &wdt { |
497 | compatible = "rockchip,rk3066-wdt", "snps,dw-wdt"; | 606 | compatible = "rockchip,rk3066-wdt", "snps,dw-wdt"; |
498 | }; | 607 | }; |
608 | |||
609 | &emac { | ||
610 | compatible = "rockchip,rk3066-emac"; | ||
611 | }; | ||
diff --git a/arch/arm/boot/dts/rk3188-radxarock.dts b/arch/arm/boot/dts/rk3188-radxarock.dts index 15910c9ddbc7..9a09579b8309 100644 --- a/arch/arm/boot/dts/rk3188-radxarock.dts +++ b/arch/arm/boot/dts/rk3188-radxarock.dts | |||
@@ -43,16 +43,19 @@ | |||
43 | compatible = "gpio-leds"; | 43 | compatible = "gpio-leds"; |
44 | 44 | ||
45 | green { | 45 | green { |
46 | label = "rock:green:user1"; | ||
46 | gpios = <&gpio0 12 GPIO_ACTIVE_LOW>; | 47 | gpios = <&gpio0 12 GPIO_ACTIVE_LOW>; |
47 | default-state = "off"; | 48 | default-state = "off"; |
48 | }; | 49 | }; |
49 | 50 | ||
50 | yellow { | 51 | blue { |
52 | label = "rock:blue:user2"; | ||
51 | gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; | 53 | gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; |
52 | default-state = "off"; | 54 | default-state = "off"; |
53 | }; | 55 | }; |
54 | 56 | ||
55 | sleep { | 57 | sleep { |
58 | label = "rock:red:power"; | ||
56 | gpios = <&gpio0 15 0>; | 59 | gpios = <&gpio0 15 0>; |
57 | default-state = "off"; | 60 | default-state = "off"; |
58 | }; | 61 | }; |
@@ -118,6 +121,10 @@ | |||
118 | }; | 121 | }; |
119 | }; | 122 | }; |
120 | 123 | ||
124 | &cpu0 { | ||
125 | cpu0-supply = <&vdd_arm>; | ||
126 | }; | ||
127 | |||
121 | &i2c1 { | 128 | &i2c1 { |
122 | status = "okay"; | 129 | status = "okay"; |
123 | clock-frequency = <400000>; | 130 | clock-frequency = <400000>; |
@@ -159,7 +166,7 @@ | |||
159 | vdd_arm: REG3 { | 166 | vdd_arm: REG3 { |
160 | regulator-name = "VDD_ARM"; | 167 | regulator-name = "VDD_ARM"; |
161 | regulator-min-microvolt = <875000>; | 168 | regulator-min-microvolt = <875000>; |
162 | regulator-max-microvolt = <1300000>; | 169 | regulator-max-microvolt = <1350000>; |
163 | regulator-always-on; | 170 | regulator-always-on; |
164 | }; | 171 | }; |
165 | 172 | ||
@@ -239,6 +246,18 @@ | |||
239 | disable-wp; | 246 | disable-wp; |
240 | }; | 247 | }; |
241 | 248 | ||
249 | &pwm1 { | ||
250 | status = "okay"; | ||
251 | }; | ||
252 | |||
253 | &pwm2 { | ||
254 | status = "okay"; | ||
255 | }; | ||
256 | |||
257 | &pwm3 { | ||
258 | status = "okay"; | ||
259 | }; | ||
260 | |||
242 | &pinctrl { | 261 | &pinctrl { |
243 | pcfg_output_low: pcfg-output-low { | 262 | pcfg_output_low: pcfg-output-low { |
244 | output-low; | 263 | output-low; |
diff --git a/arch/arm/boot/dts/rk3188.dtsi b/arch/arm/boot/dts/rk3188.dtsi index ddaada788b45..1d4d79c6688d 100644 --- a/arch/arm/boot/dts/rk3188.dtsi +++ b/arch/arm/boot/dts/rk3188.dtsi | |||
@@ -26,11 +26,24 @@ | |||
26 | #size-cells = <0>; | 26 | #size-cells = <0>; |
27 | enable-method = "rockchip,rk3066-smp"; | 27 | enable-method = "rockchip,rk3066-smp"; |
28 | 28 | ||
29 | cpu@0 { | 29 | cpu0: cpu@0 { |
30 | device_type = "cpu"; | 30 | device_type = "cpu"; |
31 | compatible = "arm,cortex-a9"; | 31 | compatible = "arm,cortex-a9"; |
32 | next-level-cache = <&L2>; | 32 | next-level-cache = <&L2>; |
33 | reg = <0x0>; | 33 | reg = <0x0>; |
34 | operating-points = < | ||
35 | /* kHz uV */ | ||
36 | 1608000 1350000 | ||
37 | 1416000 1250000 | ||
38 | 1200000 1150000 | ||
39 | 1008000 1075000 | ||
40 | 816000 975000 | ||
41 | 600000 950000 | ||
42 | 504000 925000 | ||
43 | 312000 875000 | ||
44 | >; | ||
45 | clock-latency = <40000>; | ||
46 | clocks = <&cru ARMCLK>; | ||
34 | }; | 47 | }; |
35 | cpu@1 { | 48 | cpu@1 { |
36 | device_type = "cpu"; | 49 | device_type = "cpu"; |
@@ -65,6 +78,21 @@ | |||
65 | }; | 78 | }; |
66 | }; | 79 | }; |
67 | 80 | ||
81 | i2s0: i2s@1011a000 { | ||
82 | compatible = "rockchip,rk3188-i2s", "rockchip,rk3066-i2s"; | ||
83 | reg = <0x1011a000 0x2000>; | ||
84 | interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; | ||
85 | #address-cells = <1>; | ||
86 | #size-cells = <0>; | ||
87 | pinctrl-names = "default"; | ||
88 | pinctrl-0 = <&i2s0_bus>; | ||
89 | dmas = <&dmac1_s 6>, <&dmac1_s 7>; | ||
90 | dma-names = "tx", "rx"; | ||
91 | clock-names = "i2s_hclk", "i2s_clk"; | ||
92 | clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>; | ||
93 | status = "disabled"; | ||
94 | }; | ||
95 | |||
68 | cru: clock-controller@20000000 { | 96 | cru: clock-controller@20000000 { |
69 | compatible = "rockchip,rk3188-cru"; | 97 | compatible = "rockchip,rk3188-cru"; |
70 | reg = <0x20000000 0x1000>; | 98 | reg = <0x20000000 0x1000>; |
@@ -83,7 +111,7 @@ | |||
83 | #size-cells = <1>; | 111 | #size-cells = <1>; |
84 | ranges; | 112 | ranges; |
85 | 113 | ||
86 | gpio0: gpio0@0x2000a000 { | 114 | gpio0: gpio0@2000a000 { |
87 | compatible = "rockchip,rk3188-gpio-bank0"; | 115 | compatible = "rockchip,rk3188-gpio-bank0"; |
88 | reg = <0x2000a000 0x100>; | 116 | reg = <0x2000a000 0x100>; |
89 | interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; | 117 | interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; |
@@ -96,7 +124,7 @@ | |||
96 | #interrupt-cells = <2>; | 124 | #interrupt-cells = <2>; |
97 | }; | 125 | }; |
98 | 126 | ||
99 | gpio1: gpio1@0x2003c000 { | 127 | gpio1: gpio1@2003c000 { |
100 | compatible = "rockchip,gpio-bank"; | 128 | compatible = "rockchip,gpio-bank"; |
101 | reg = <0x2003c000 0x100>; | 129 | reg = <0x2003c000 0x100>; |
102 | interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; | 130 | interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; |
@@ -395,6 +423,17 @@ | |||
395 | <RK_GPIO3 20 RK_FUNC_1 &pcfg_pull_none>; | 423 | <RK_GPIO3 20 RK_FUNC_1 &pcfg_pull_none>; |
396 | }; | 424 | }; |
397 | }; | 425 | }; |
426 | |||
427 | i2s0 { | ||
428 | i2s0_bus: i2s0-bus { | ||
429 | rockchip,pins = <RK_GPIO1 16 RK_FUNC_1 &pcfg_pull_none>, | ||
430 | <RK_GPIO1 17 RK_FUNC_1 &pcfg_pull_none>, | ||
431 | <RK_GPIO1 18 RK_FUNC_1 &pcfg_pull_none>, | ||
432 | <RK_GPIO1 19 RK_FUNC_1 &pcfg_pull_none>, | ||
433 | <RK_GPIO1 20 RK_FUNC_1 &pcfg_pull_none>, | ||
434 | <RK_GPIO1 21 RK_FUNC_1 &pcfg_pull_none>; | ||
435 | }; | ||
436 | }; | ||
398 | }; | 437 | }; |
399 | }; | 438 | }; |
400 | 439 | ||
diff --git a/arch/arm/boot/dts/rk3288-evb-rk808.dts b/arch/arm/boot/dts/rk3288-evb-rk808.dts index ff522f8e3df4..d8c775e6d5fe 100644 --- a/arch/arm/boot/dts/rk3288-evb-rk808.dts +++ b/arch/arm/boot/dts/rk3288-evb-rk808.dts | |||
@@ -17,6 +17,10 @@ | |||
17 | compatible = "rockchip,rk3288-evb-rk808", "rockchip,rk3288"; | 17 | compatible = "rockchip,rk3288-evb-rk808", "rockchip,rk3288"; |
18 | }; | 18 | }; |
19 | 19 | ||
20 | &cpu0 { | ||
21 | cpu0-supply = <&vdd_cpu>; | ||
22 | }; | ||
23 | |||
20 | &i2c0 { | 24 | &i2c0 { |
21 | clock-frequency = <400000>; | 25 | clock-frequency = <400000>; |
22 | status = "okay"; | 26 | status = "okay"; |
@@ -44,7 +48,7 @@ | |||
44 | regulator-always-on; | 48 | regulator-always-on; |
45 | regulator-boot-on; | 49 | regulator-boot-on; |
46 | regulator-min-microvolt = <750000>; | 50 | regulator-min-microvolt = <750000>; |
47 | regulator-max-microvolt = <1300000>; | 51 | regulator-max-microvolt = <1350000>; |
48 | regulator-name = "vdd_arm"; | 52 | regulator-name = "vdd_arm"; |
49 | }; | 53 | }; |
50 | 54 | ||
diff --git a/arch/arm/boot/dts/rk3288-evb.dtsi b/arch/arm/boot/dts/rk3288-evb.dtsi index cb83cea52fa1..3e067dd65d0c 100644 --- a/arch/arm/boot/dts/rk3288-evb.dtsi +++ b/arch/arm/boot/dts/rk3288-evb.dtsi | |||
@@ -148,6 +148,12 @@ | |||
148 | status = "okay"; | 148 | status = "okay"; |
149 | }; | 149 | }; |
150 | 150 | ||
151 | &tsadc { | ||
152 | rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ | ||
153 | rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ | ||
154 | status = "okay"; | ||
155 | }; | ||
156 | |||
151 | &pinctrl { | 157 | &pinctrl { |
152 | backlight { | 158 | backlight { |
153 | bl_en: bl-en { | 159 | bl_en: bl-en { |
diff --git a/arch/arm/boot/dts/rk3288-thermal.dtsi b/arch/arm/boot/dts/rk3288-thermal.dtsi new file mode 100644 index 000000000000..2695200c0af7 --- /dev/null +++ b/arch/arm/boot/dts/rk3288-thermal.dtsi | |||
@@ -0,0 +1,74 @@ | |||
1 | /* | ||
2 | * Device Tree Source for RK3288 SoC thermal | ||
3 | * | ||
4 | * Copyright (c) 2014, Fuzhou Rockchip Electronics Co., Ltd | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public License | ||
7 | * version 2. This program is licensed "as is" without any warranty of any | ||
8 | * kind, whether express or implied. | ||
9 | */ | ||
10 | |||
11 | #include <dt-bindings/thermal/thermal.h> | ||
12 | |||
13 | reserve_thermal: reserve_thermal { | ||
14 | polling-delay-passive = <1000>; /* milliseconds */ | ||
15 | polling-delay = <5000>; /* milliseconds */ | ||
16 | |||
17 | thermal-sensors = <&tsadc 0>; | ||
18 | }; | ||
19 | |||
20 | cpu_thermal: cpu_thermal { | ||
21 | polling-delay-passive = <1000>; /* milliseconds */ | ||
22 | polling-delay = <5000>; /* milliseconds */ | ||
23 | |||
24 | thermal-sensors = <&tsadc 1>; | ||
25 | |||
26 | trips { | ||
27 | cpu_alert0: cpu_alert0 { | ||
28 | temperature = <70000>; /* millicelsius */ | ||
29 | hysteresis = <2000>; /* millicelsius */ | ||
30 | type = "passive"; | ||
31 | }; | ||
32 | cpu_crit: cpu_crit { | ||
33 | temperature = <90000>; /* millicelsius */ | ||
34 | hysteresis = <2000>; /* millicelsius */ | ||
35 | type = "critical"; | ||
36 | }; | ||
37 | }; | ||
38 | |||
39 | cooling-maps { | ||
40 | map0 { | ||
41 | trip = <&cpu_alert0>; | ||
42 | cooling-device = | ||
43 | <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; | ||
44 | }; | ||
45 | }; | ||
46 | }; | ||
47 | |||
48 | gpu_thermal: gpu_thermal { | ||
49 | polling-delay-passive = <1000>; /* milliseconds */ | ||
50 | polling-delay = <5000>; /* milliseconds */ | ||
51 | |||
52 | thermal-sensors = <&tsadc 2>; | ||
53 | |||
54 | trips { | ||
55 | gpu_alert0: gpu_alert0 { | ||
56 | temperature = <70000>; /* millicelsius */ | ||
57 | hysteresis = <2000>; /* millicelsius */ | ||
58 | type = "passive"; | ||
59 | }; | ||
60 | gpu_crit: gpu_crit { | ||
61 | temperature = <90000>; /* millicelsius */ | ||
62 | hysteresis = <2000>; /* millicelsius */ | ||
63 | type = "critical"; | ||
64 | }; | ||
65 | }; | ||
66 | |||
67 | cooling-maps { | ||
68 | map0 { | ||
69 | trip = <&gpu_alert0>; | ||
70 | cooling-device = | ||
71 | <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; | ||
72 | }; | ||
73 | }; | ||
74 | }; | ||
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi index 874e66dbb93b..fd19f00784bd 100644 --- a/arch/arm/boot/dts/rk3288.dtsi +++ b/arch/arm/boot/dts/rk3288.dtsi | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 15 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
16 | #include <dt-bindings/pinctrl/rockchip.h> | 16 | #include <dt-bindings/pinctrl/rockchip.h> |
17 | #include <dt-bindings/clock/rk3288-cru.h> | 17 | #include <dt-bindings/clock/rk3288-cru.h> |
18 | #include <dt-bindings/thermal/thermal.h> | ||
18 | #include "skeleton.dtsi" | 19 | #include "skeleton.dtsi" |
19 | 20 | ||
20 | / { | 21 | / { |
@@ -46,26 +47,50 @@ | |||
46 | cpus { | 47 | cpus { |
47 | #address-cells = <1>; | 48 | #address-cells = <1>; |
48 | #size-cells = <0>; | 49 | #size-cells = <0>; |
50 | enable-method = "rockchip,rk3066-smp"; | ||
51 | rockchip,pmu = <&pmu>; | ||
49 | 52 | ||
50 | cpu@500 { | 53 | cpu0: cpu@500 { |
51 | device_type = "cpu"; | 54 | device_type = "cpu"; |
52 | compatible = "arm,cortex-a12"; | 55 | compatible = "arm,cortex-a12"; |
53 | reg = <0x500>; | 56 | reg = <0x500>; |
57 | resets = <&cru SRST_CORE0>; | ||
58 | operating-points = < | ||
59 | /* KHz uV */ | ||
60 | 1608000 1350000 | ||
61 | 1512000 1300000 | ||
62 | 1416000 1200000 | ||
63 | 1200000 1100000 | ||
64 | 1008000 1050000 | ||
65 | 816000 1000000 | ||
66 | 696000 950000 | ||
67 | 600000 900000 | ||
68 | 408000 900000 | ||
69 | 312000 900000 | ||
70 | 216000 900000 | ||
71 | 126000 900000 | ||
72 | >; | ||
73 | #cooling-cells = <2>; /* min followed by max */ | ||
74 | clock-latency = <40000>; | ||
75 | clocks = <&cru ARMCLK>; | ||
54 | }; | 76 | }; |
55 | cpu@501 { | 77 | cpu@501 { |
56 | device_type = "cpu"; | 78 | device_type = "cpu"; |
57 | compatible = "arm,cortex-a12"; | 79 | compatible = "arm,cortex-a12"; |
58 | reg = <0x501>; | 80 | reg = <0x501>; |
81 | resets = <&cru SRST_CORE1>; | ||
59 | }; | 82 | }; |
60 | cpu@502 { | 83 | cpu@502 { |
61 | device_type = "cpu"; | 84 | device_type = "cpu"; |
62 | compatible = "arm,cortex-a12"; | 85 | compatible = "arm,cortex-a12"; |
63 | reg = <0x502>; | 86 | reg = <0x502>; |
87 | resets = <&cru SRST_CORE2>; | ||
64 | }; | 88 | }; |
65 | cpu@503 { | 89 | cpu@503 { |
66 | device_type = "cpu"; | 90 | device_type = "cpu"; |
67 | compatible = "arm,cortex-a12"; | 91 | compatible = "arm,cortex-a12"; |
68 | reg = <0x503>; | 92 | reg = <0x503>; |
93 | resets = <&cru SRST_CORE3>; | ||
69 | }; | 94 | }; |
70 | }; | 95 | }; |
71 | 96 | ||
@@ -116,6 +141,7 @@ | |||
116 | 141 | ||
117 | timer { | 142 | timer { |
118 | compatible = "arm,armv7-timer"; | 143 | compatible = "arm,armv7-timer"; |
144 | arm,cpu-registers-not-fw-configured; | ||
119 | interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, | 145 | interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, |
120 | <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, | 146 | <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, |
121 | <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, | 147 | <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, |
@@ -177,6 +203,8 @@ | |||
177 | compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi"; | 203 | compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi"; |
178 | clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>; | 204 | clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>; |
179 | clock-names = "spiclk", "apb_pclk"; | 205 | clock-names = "spiclk", "apb_pclk"; |
206 | dmas = <&dmac_peri 11>, <&dmac_peri 12>; | ||
207 | dma-names = "tx", "rx"; | ||
180 | interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; | 208 | interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; |
181 | pinctrl-names = "default"; | 209 | pinctrl-names = "default"; |
182 | pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>; | 210 | pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>; |
@@ -190,6 +218,8 @@ | |||
190 | compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi"; | 218 | compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi"; |
191 | clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>; | 219 | clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>; |
192 | clock-names = "spiclk", "apb_pclk"; | 220 | clock-names = "spiclk", "apb_pclk"; |
221 | dmas = <&dmac_peri 13>, <&dmac_peri 14>; | ||
222 | dma-names = "tx", "rx"; | ||
193 | interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; | 223 | interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; |
194 | pinctrl-names = "default"; | 224 | pinctrl-names = "default"; |
195 | pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>; | 225 | pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>; |
@@ -203,6 +233,8 @@ | |||
203 | compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi"; | 233 | compatible = "rockchip,rk3288-spi", "rockchip,rk3066-spi"; |
204 | clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>; | 234 | clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>; |
205 | clock-names = "spiclk", "apb_pclk"; | 235 | clock-names = "spiclk", "apb_pclk"; |
236 | dmas = <&dmac_peri 15>, <&dmac_peri 16>; | ||
237 | dma-names = "tx", "rx"; | ||
206 | interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; | 238 | interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; |
207 | pinctrl-names = "default"; | 239 | pinctrl-names = "default"; |
208 | pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>; | 240 | pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>; |
@@ -329,6 +361,25 @@ | |||
329 | status = "disabled"; | 361 | status = "disabled"; |
330 | }; | 362 | }; |
331 | 363 | ||
364 | thermal-zones { | ||
365 | #include "rk3288-thermal.dtsi" | ||
366 | }; | ||
367 | |||
368 | tsadc: tsadc@ff280000 { | ||
369 | compatible = "rockchip,rk3288-tsadc"; | ||
370 | reg = <0xff280000 0x100>; | ||
371 | interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; | ||
372 | clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; | ||
373 | clock-names = "tsadc", "apb_pclk"; | ||
374 | resets = <&cru SRST_TSADC>; | ||
375 | reset-names = "tsadc-apb"; | ||
376 | pinctrl-names = "default"; | ||
377 | pinctrl-0 = <&otp_out>; | ||
378 | #thermal-sensor-cells = <1>; | ||
379 | rockchip,hw-tshut-temp = <95000>; | ||
380 | status = "disabled"; | ||
381 | }; | ||
382 | |||
332 | usb_host0_ehci: usb@ff500000 { | 383 | usb_host0_ehci: usb@ff500000 { |
333 | compatible = "generic-ehci"; | 384 | compatible = "generic-ehci"; |
334 | reg = <0xff500000 0x100>; | 385 | reg = <0xff500000 0x100>; |
@@ -439,6 +490,18 @@ | |||
439 | status = "disabled"; | 490 | status = "disabled"; |
440 | }; | 491 | }; |
441 | 492 | ||
493 | bus_intmem@ff700000 { | ||
494 | compatible = "mmio-sram"; | ||
495 | reg = <0xff700000 0x18000>; | ||
496 | #address-cells = <1>; | ||
497 | #size-cells = <1>; | ||
498 | ranges = <0 0xff700000 0x18000>; | ||
499 | smp-sram@0 { | ||
500 | compatible = "rockchip,rk3066-smp-sram"; | ||
501 | reg = <0x00 0x10>; | ||
502 | }; | ||
503 | }; | ||
504 | |||
442 | pmu: power-management@ff730000 { | 505 | pmu: power-management@ff730000 { |
443 | compatible = "rockchip,rk3288-pmu", "syscon"; | 506 | compatible = "rockchip,rk3288-pmu", "syscon"; |
444 | reg = <0xff730000 0x100>; | 507 | reg = <0xff730000 0x100>; |
@@ -455,6 +518,16 @@ | |||
455 | rockchip,grf = <&grf>; | 518 | rockchip,grf = <&grf>; |
456 | #clock-cells = <1>; | 519 | #clock-cells = <1>; |
457 | #reset-cells = <1>; | 520 | #reset-cells = <1>; |
521 | assigned-clocks = <&cru PLL_GPLL>, <&cru PLL_CPLL>, | ||
522 | <&cru PLL_NPLL>, <&cru ACLK_CPU>, | ||
523 | <&cru HCLK_CPU>, <&cru PCLK_CPU>, | ||
524 | <&cru ACLK_PERI>, <&cru HCLK_PERI>, | ||
525 | <&cru PCLK_PERI>; | ||
526 | assigned-clock-rates = <594000000>, <400000000>, | ||
527 | <500000000>, <300000000>, | ||
528 | <150000000>, <75000000>, | ||
529 | <300000000>, <150000000>, | ||
530 | <75000000>; | ||
458 | }; | 531 | }; |
459 | 532 | ||
460 | grf: syscon@ff770000 { | 533 | grf: syscon@ff770000 { |
@@ -484,6 +557,24 @@ | |||
484 | status = "disabled"; | 557 | status = "disabled"; |
485 | }; | 558 | }; |
486 | 559 | ||
560 | vopb_mmu: iommu@ff930300 { | ||
561 | compatible = "rockchip,iommu"; | ||
562 | reg = <0xff930300 0x100>; | ||
563 | interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; | ||
564 | interrupt-names = "vopb_mmu"; | ||
565 | #iommu-cells = <0>; | ||
566 | status = "disabled"; | ||
567 | }; | ||
568 | |||
569 | vopl_mmu: iommu@ff940300 { | ||
570 | compatible = "rockchip,iommu"; | ||
571 | reg = <0xff940300 0x100>; | ||
572 | interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; | ||
573 | interrupt-names = "vopl_mmu"; | ||
574 | #iommu-cells = <0>; | ||
575 | status = "disabled"; | ||
576 | }; | ||
577 | |||
487 | gic: interrupt-controller@ffc01000 { | 578 | gic: interrupt-controller@ffc01000 { |
488 | compatible = "arm,gic-400"; | 579 | compatible = "arm,gic-400"; |
489 | interrupt-controller; | 580 | interrupt-controller; |
@@ -948,6 +1039,12 @@ | |||
948 | }; | 1039 | }; |
949 | }; | 1040 | }; |
950 | 1041 | ||
1042 | tsadc { | ||
1043 | otp_out: otp-out { | ||
1044 | rockchip,pins = <0 10 RK_FUNC_1 &pcfg_pull_none>; | ||
1045 | }; | ||
1046 | }; | ||
1047 | |||
951 | pwm0 { | 1048 | pwm0 { |
952 | pwm0_pin: pwm0-pin { | 1049 | pwm0_pin: pwm0-pin { |
953 | rockchip,pins = <7 0 RK_FUNC_1 &pcfg_pull_none>; | 1050 | rockchip,pins = <7 0 RK_FUNC_1 &pcfg_pull_none>; |
diff --git a/arch/arm/boot/dts/rk3xxx.dtsi b/arch/arm/boot/dts/rk3xxx.dtsi index 499468d42ada..c54a9715dcfa 100644 --- a/arch/arm/boot/dts/rk3xxx.dtsi +++ b/arch/arm/boot/dts/rk3xxx.dtsi | |||
@@ -29,6 +29,10 @@ | |||
29 | mshc0 = &emmc; | 29 | mshc0 = &emmc; |
30 | mshc1 = &mmc0; | 30 | mshc1 = &mmc0; |
31 | mshc2 = &mmc1; | 31 | mshc2 = &mmc1; |
32 | serial0 = &uart0; | ||
33 | serial1 = &uart1; | ||
34 | serial2 = &uart2; | ||
35 | serial3 = &uart3; | ||
32 | spi0 = &spi0; | 36 | spi0 = &spi0; |
33 | spi1 = &spi1; | 37 | spi1 = &spi1; |
34 | }; | 38 | }; |
@@ -173,10 +177,9 @@ | |||
173 | compatible = "rockchip,rk2928-dw-mshc"; | 177 | compatible = "rockchip,rk2928-dw-mshc"; |
174 | reg = <0x10214000 0x1000>; | 178 | reg = <0x10214000 0x1000>; |
175 | interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; | 179 | interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; |
176 | |||
177 | clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>; | 180 | clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>; |
178 | clock-names = "biu", "ciu"; | 181 | clock-names = "biu", "ciu"; |
179 | 182 | fifo-depth = <256>; | |
180 | status = "disabled"; | 183 | status = "disabled"; |
181 | }; | 184 | }; |
182 | 185 | ||
@@ -184,10 +187,9 @@ | |||
184 | compatible = "rockchip,rk2928-dw-mshc"; | 187 | compatible = "rockchip,rk2928-dw-mshc"; |
185 | reg = <0x10218000 0x1000>; | 188 | reg = <0x10218000 0x1000>; |
186 | interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; | 189 | interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; |
187 | |||
188 | clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>; | 190 | clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>; |
189 | clock-names = "biu", "ciu"; | 191 | clock-names = "biu", "ciu"; |
190 | 192 | fifo-depth = <256>; | |
191 | status = "disabled"; | 193 | status = "disabled"; |
192 | }; | 194 | }; |
193 | 195 | ||
@@ -195,10 +197,9 @@ | |||
195 | compatible = "rockchip,rk2928-dw-mshc"; | 197 | compatible = "rockchip,rk2928-dw-mshc"; |
196 | reg = <0x1021c000 0x1000>; | 198 | reg = <0x1021c000 0x1000>; |
197 | interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; | 199 | interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; |
198 | |||
199 | clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>; | 200 | clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>; |
200 | clock-names = "biu", "ciu"; | 201 | clock-names = "biu", "ciu"; |
201 | 202 | fifo-depth = <256>; | |
202 | status = "disabled"; | 203 | status = "disabled"; |
203 | }; | 204 | }; |
204 | 205 | ||
@@ -367,6 +368,8 @@ | |||
367 | reg = <0x20070000 0x1000>; | 368 | reg = <0x20070000 0x1000>; |
368 | #address-cells = <1>; | 369 | #address-cells = <1>; |
369 | #size-cells = <0>; | 370 | #size-cells = <0>; |
371 | dmas = <&dmac2 10>, <&dmac2 11>; | ||
372 | dma-names = "tx", "rx"; | ||
370 | status = "disabled"; | 373 | status = "disabled"; |
371 | }; | 374 | }; |
372 | 375 | ||
@@ -378,6 +381,8 @@ | |||
378 | reg = <0x20074000 0x1000>; | 381 | reg = <0x20074000 0x1000>; |
379 | #address-cells = <1>; | 382 | #address-cells = <1>; |
380 | #size-cells = <0>; | 383 | #size-cells = <0>; |
384 | dmas = <&dmac2 12>, <&dmac2 13>; | ||
385 | dma-names = "tx", "rx"; | ||
381 | status = "disabled"; | 386 | status = "disabled"; |
382 | }; | 387 | }; |
383 | }; | 388 | }; |
diff --git a/arch/arm/boot/dts/s3c6410-mini6410.dts b/arch/arm/boot/dts/s3c6410-mini6410.dts index 57e00f9bce99..a25debb50401 100644 --- a/arch/arm/boot/dts/s3c6410-mini6410.dts +++ b/arch/arm/boot/dts/s3c6410-mini6410.dts | |||
@@ -198,10 +198,6 @@ | |||
198 | status = "okay"; | 198 | status = "okay"; |
199 | }; | 199 | }; |
200 | 200 | ||
201 | &pwm { | ||
202 | status = "okay"; | ||
203 | }; | ||
204 | |||
205 | &pinctrl0 { | 201 | &pinctrl0 { |
206 | gpio_leds: gpio-leds { | 202 | gpio_leds: gpio-leds { |
207 | samsung,pins = "gpk-4", "gpk-5", "gpk-6", "gpk-7"; | 203 | samsung,pins = "gpk-4", "gpk-5", "gpk-6", "gpk-7"; |
diff --git a/arch/arm/boot/dts/s3c64xx.dtsi b/arch/arm/boot/dts/s3c64xx.dtsi index ff5bdaac987a..0ccb414cd268 100644 --- a/arch/arm/boot/dts/s3c64xx.dtsi +++ b/arch/arm/boot/dts/s3c64xx.dtsi | |||
@@ -172,7 +172,6 @@ | |||
172 | clocks = <&clocks PCLK_PWM>; | 172 | clocks = <&clocks PCLK_PWM>; |
173 | samsung,pwm-outputs = <0>, <1>; | 173 | samsung,pwm-outputs = <0>, <1>; |
174 | #pwm-cells = <3>; | 174 | #pwm-cells = <3>; |
175 | status = "disabled"; | ||
176 | }; | 175 | }; |
177 | 176 | ||
178 | pinctrl0: pinctrl@7f008000 { | 177 | pinctrl0: pinctrl@7f008000 { |
diff --git a/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts b/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts index 0dac0e66ccad..939be1299ca6 100644 --- a/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts +++ b/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts | |||
@@ -101,19 +101,23 @@ | |||
101 | compatible = "gpio-leds"; | 101 | compatible = "gpio-leds"; |
102 | led1 { | 102 | led1 { |
103 | gpios = <&pfc 20 GPIO_ACTIVE_LOW>; | 103 | gpios = <&pfc 20 GPIO_ACTIVE_LOW>; |
104 | label = "LED1"; | ||
104 | }; | 105 | }; |
105 | led2 { | 106 | led2 { |
106 | gpios = <&pfc 21 GPIO_ACTIVE_LOW>; | 107 | gpios = <&pfc 21 GPIO_ACTIVE_LOW>; |
108 | label = "LED2"; | ||
107 | }; | 109 | }; |
108 | led3 { | 110 | led3 { |
109 | gpios = <&pfc 22 GPIO_ACTIVE_LOW>; | 111 | gpios = <&pfc 22 GPIO_ACTIVE_LOW>; |
112 | label = "LED3"; | ||
110 | }; | 113 | }; |
111 | led4 { | 114 | led4 { |
112 | gpios = <&pfc 23 GPIO_ACTIVE_LOW>; | 115 | gpios = <&pfc 23 GPIO_ACTIVE_LOW>; |
116 | label = "LED4"; | ||
113 | }; | 117 | }; |
114 | }; | 118 | }; |
115 | 119 | ||
116 | gpio-keys { | 120 | keyboard { |
117 | compatible = "gpio-keys"; | 121 | compatible = "gpio-keys"; |
118 | 122 | ||
119 | back-key { | 123 | back-key { |
@@ -251,7 +255,7 @@ | |||
251 | }; | 255 | }; |
252 | }; | 256 | }; |
253 | 257 | ||
254 | ak4648: ak4648@0x12 { | 258 | ak4648: ak4648@12 { |
255 | #sound-dai-cells = <0>; | 259 | #sound-dai-cells = <0>; |
256 | compatible = "asahi-kasei,ak4648"; | 260 | compatible = "asahi-kasei,ak4648"; |
257 | reg = <0x12>; | 261 | reg = <0x12>; |
diff --git a/arch/arm/boot/dts/sh73a0.dtsi b/arch/arm/boot/dts/sh73a0.dtsi index 030a5920312f..d8def5a529da 100644 --- a/arch/arm/boot/dts/sh73a0.dtsi +++ b/arch/arm/boot/dts/sh73a0.dtsi | |||
@@ -138,7 +138,7 @@ | |||
138 | i2c0: i2c@e6820000 { | 138 | i2c0: i2c@e6820000 { |
139 | #address-cells = <1>; | 139 | #address-cells = <1>; |
140 | #size-cells = <0>; | 140 | #size-cells = <0>; |
141 | compatible = "renesas,rmobile-iic"; | 141 | compatible = "renesas,iic-sh73a0", "renesas,rmobile-iic"; |
142 | reg = <0xe6820000 0x425>; | 142 | reg = <0xe6820000 0x425>; |
143 | interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH | 143 | interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH |
144 | 0 168 IRQ_TYPE_LEVEL_HIGH | 144 | 0 168 IRQ_TYPE_LEVEL_HIGH |
@@ -150,7 +150,7 @@ | |||
150 | i2c1: i2c@e6822000 { | 150 | i2c1: i2c@e6822000 { |
151 | #address-cells = <1>; | 151 | #address-cells = <1>; |
152 | #size-cells = <0>; | 152 | #size-cells = <0>; |
153 | compatible = "renesas,rmobile-iic"; | 153 | compatible = "renesas,iic-sh73a0", "renesas,rmobile-iic"; |
154 | reg = <0xe6822000 0x425>; | 154 | reg = <0xe6822000 0x425>; |
155 | interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH | 155 | interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH |
156 | 0 52 IRQ_TYPE_LEVEL_HIGH | 156 | 0 52 IRQ_TYPE_LEVEL_HIGH |
@@ -162,7 +162,7 @@ | |||
162 | i2c2: i2c@e6824000 { | 162 | i2c2: i2c@e6824000 { |
163 | #address-cells = <1>; | 163 | #address-cells = <1>; |
164 | #size-cells = <0>; | 164 | #size-cells = <0>; |
165 | compatible = "renesas,rmobile-iic"; | 165 | compatible = "renesas,iic-sh73a0", "renesas,rmobile-iic"; |
166 | reg = <0xe6824000 0x425>; | 166 | reg = <0xe6824000 0x425>; |
167 | interrupts = <0 171 IRQ_TYPE_LEVEL_HIGH | 167 | interrupts = <0 171 IRQ_TYPE_LEVEL_HIGH |
168 | 0 172 IRQ_TYPE_LEVEL_HIGH | 168 | 0 172 IRQ_TYPE_LEVEL_HIGH |
@@ -174,7 +174,7 @@ | |||
174 | i2c3: i2c@e6826000 { | 174 | i2c3: i2c@e6826000 { |
175 | #address-cells = <1>; | 175 | #address-cells = <1>; |
176 | #size-cells = <0>; | 176 | #size-cells = <0>; |
177 | compatible = "renesas,rmobile-iic"; | 177 | compatible = "renesas,iic-sh73a0", "renesas,rmobile-iic"; |
178 | reg = <0xe6826000 0x425>; | 178 | reg = <0xe6826000 0x425>; |
179 | interrupts = <0 183 IRQ_TYPE_LEVEL_HIGH | 179 | interrupts = <0 183 IRQ_TYPE_LEVEL_HIGH |
180 | 0 184 IRQ_TYPE_LEVEL_HIGH | 180 | 0 184 IRQ_TYPE_LEVEL_HIGH |
@@ -186,7 +186,7 @@ | |||
186 | i2c4: i2c@e6828000 { | 186 | i2c4: i2c@e6828000 { |
187 | #address-cells = <1>; | 187 | #address-cells = <1>; |
188 | #size-cells = <0>; | 188 | #size-cells = <0>; |
189 | compatible = "renesas,rmobile-iic"; | 189 | compatible = "renesas,iic-sh73a0", "renesas,rmobile-iic"; |
190 | reg = <0xe6828000 0x425>; | 190 | reg = <0xe6828000 0x425>; |
191 | interrupts = <0 187 IRQ_TYPE_LEVEL_HIGH | 191 | interrupts = <0 187 IRQ_TYPE_LEVEL_HIGH |
192 | 0 188 IRQ_TYPE_LEVEL_HIGH | 192 | 0 188 IRQ_TYPE_LEVEL_HIGH |
diff --git a/arch/arm/boot/dts/socfpga.dtsi b/arch/arm/boot/dts/socfpga.dtsi index 4472fd92685c..252c3d1bda50 100644 --- a/arch/arm/boot/dts/socfpga.dtsi +++ b/arch/arm/boot/dts/socfpga.dtsi | |||
@@ -639,6 +639,33 @@ | |||
639 | clock-names = "biu", "ciu"; | 639 | clock-names = "biu", "ciu"; |
640 | }; | 640 | }; |
641 | 641 | ||
642 | ocram: sram@ffff0000 { | ||
643 | compatible = "mmio-sram"; | ||
644 | reg = <0xffff0000 0x10000>; | ||
645 | }; | ||
646 | |||
647 | spi0: spi@fff00000 { | ||
648 | compatible = "snps,dw-apb-ssi"; | ||
649 | #address-cells = <1>; | ||
650 | #size-cells = <0>; | ||
651 | reg = <0xfff00000 0x1000>; | ||
652 | interrupts = <0 154 4>; | ||
653 | num-cs = <4>; | ||
654 | clocks = <&spi_m_clk>; | ||
655 | status = "disabled"; | ||
656 | }; | ||
657 | |||
658 | spi1: spi@fff01000 { | ||
659 | compatible = "snps,dw-apb-ssi"; | ||
660 | #address-cells = <1>; | ||
661 | #size-cells = <0>; | ||
662 | reg = <0xfff01000 0x1000>; | ||
663 | interrupts = <0 156 4>; | ||
664 | num-cs = <4>; | ||
665 | clocks = <&spi_m_clk>; | ||
666 | status = "disabled"; | ||
667 | }; | ||
668 | |||
642 | /* Local timer */ | 669 | /* Local timer */ |
643 | timer@fffec600 { | 670 | timer@fffec600 { |
644 | compatible = "arm,cortex-a9-twd-timer"; | 671 | compatible = "arm,cortex-a9-twd-timer"; |
diff --git a/arch/arm/boot/dts/socfpga_arria10.dtsi b/arch/arm/boot/dts/socfpga_arria10.dtsi new file mode 100644 index 000000000000..8a05c47fd57f --- /dev/null +++ b/arch/arm/boot/dts/socfpga_arria10.dtsi | |||
@@ -0,0 +1,374 @@ | |||
1 | /* | ||
2 | * Copyright Altera Corporation (C) 2014. All rights reserved. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms and conditions of the GNU General Public License, | ||
6 | * version 2, as published by the Free Software Foundation. | ||
7 | * | ||
8 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
9 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
10 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
11 | * more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License along with | ||
14 | * this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | |||
17 | #include "skeleton.dtsi" | ||
18 | #include <dt-bindings/interrupt-controller/arm-gic.h> | ||
19 | |||
20 | / { | ||
21 | #address-cells = <1>; | ||
22 | #size-cells = <1>; | ||
23 | |||
24 | aliases { | ||
25 | ethernet0 = &gmac0; | ||
26 | ethernet1 = &gmac1; | ||
27 | ethernet2 = &gmac2; | ||
28 | serial0 = &uart0; | ||
29 | serial1 = &uart1; | ||
30 | timer0 = &timer0; | ||
31 | timer1 = &timer1; | ||
32 | timer2 = &timer2; | ||
33 | timer3 = &timer3; | ||
34 | }; | ||
35 | |||
36 | cpus { | ||
37 | #address-cells = <1>; | ||
38 | #size-cells = <0>; | ||
39 | |||
40 | cpu@0 { | ||
41 | compatible = "arm,cortex-a9"; | ||
42 | device_type = "cpu"; | ||
43 | reg = <0>; | ||
44 | next-level-cache = <&L2>; | ||
45 | }; | ||
46 | cpu@1 { | ||
47 | compatible = "arm,cortex-a9"; | ||
48 | device_type = "cpu"; | ||
49 | reg = <1>; | ||
50 | next-level-cache = <&L2>; | ||
51 | }; | ||
52 | }; | ||
53 | |||
54 | intc: intc@ffffd000 { | ||
55 | compatible = "arm,cortex-a9-gic"; | ||
56 | #interrupt-cells = <3>; | ||
57 | interrupt-controller; | ||
58 | reg = <0xffffd000 0x1000>, | ||
59 | <0xffffc100 0x100>; | ||
60 | }; | ||
61 | |||
62 | soc { | ||
63 | #address-cells = <1>; | ||
64 | #size-cells = <1>; | ||
65 | compatible = "simple-bus"; | ||
66 | device_type = "soc"; | ||
67 | interrupt-parent = <&intc>; | ||
68 | ranges; | ||
69 | |||
70 | amba { | ||
71 | compatible = "arm,amba-bus"; | ||
72 | #address-cells = <1>; | ||
73 | #size-cells = <1>; | ||
74 | ranges; | ||
75 | |||
76 | pdma: pdma@ffda1000 { | ||
77 | compatible = "arm,pl330", "arm,primecell"; | ||
78 | reg = <0xffda1000 0x1000>; | ||
79 | interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>, | ||
80 | <0 84 IRQ_TYPE_LEVEL_HIGH>, | ||
81 | <0 85 IRQ_TYPE_LEVEL_HIGH>, | ||
82 | <0 86 IRQ_TYPE_LEVEL_HIGH>, | ||
83 | <0 87 IRQ_TYPE_LEVEL_HIGH>, | ||
84 | <0 88 IRQ_TYPE_LEVEL_HIGH>, | ||
85 | <0 89 IRQ_TYPE_LEVEL_HIGH>, | ||
86 | <0 90 IRQ_TYPE_LEVEL_HIGH>; | ||
87 | #dma-cells = <1>; | ||
88 | #dma-channels = <8>; | ||
89 | #dma-requests = <32>; | ||
90 | }; | ||
91 | }; | ||
92 | |||
93 | clkmgr@ffd04000 { | ||
94 | compatible = "altr,clk-mgr"; | ||
95 | reg = <0xffd04000 0x1000>; | ||
96 | |||
97 | clocks { | ||
98 | #address-cells = <1>; | ||
99 | #size-cells = <0>; | ||
100 | |||
101 | osc1: osc1 { | ||
102 | #clock-cells = <0>; | ||
103 | compatible = "fixed-clock"; | ||
104 | }; | ||
105 | |||
106 | main_pll: main_pll { | ||
107 | #address-cells = <1>; | ||
108 | #size-cells = <0>; | ||
109 | #clock-cells = <0>; | ||
110 | compatible = "altr,socfpga-pll-clock"; | ||
111 | clocks = <&osc1>; | ||
112 | }; | ||
113 | |||
114 | periph_pll: periph_pll { | ||
115 | #address-cells = <1>; | ||
116 | #size-cells = <0>; | ||
117 | #clock-cells = <0>; | ||
118 | compatible = "altr,socfpga-pll-clock"; | ||
119 | clocks = <&osc1>; | ||
120 | }; | ||
121 | }; | ||
122 | }; | ||
123 | |||
124 | gmac0: ethernet@ff800000 { | ||
125 | compatible = "altr,socfpga-stmmac", "snps,dwmac-3.72a", "snps,dwmac"; | ||
126 | reg = <0xff800000 0x2000>; | ||
127 | interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>; | ||
128 | interrupt-names = "macirq"; | ||
129 | /* Filled in by bootloader */ | ||
130 | mac-address = [00 00 00 00 00 00]; | ||
131 | status = "disabled"; | ||
132 | }; | ||
133 | |||
134 | gmac1: ethernet@ff802000 { | ||
135 | compatible = "altr,socfpga-stmmac", "snps,dwmac-3.72a", "snps,dwmac"; | ||
136 | reg = <0xff802000 0x2000>; | ||
137 | interrupts = <0 93 IRQ_TYPE_LEVEL_HIGH>; | ||
138 | interrupt-names = "macirq"; | ||
139 | /* Filled in by bootloader */ | ||
140 | mac-address = [00 00 00 00 00 00]; | ||
141 | status = "disabled"; | ||
142 | }; | ||
143 | |||
144 | gmac2: ethernet@ff804000 { | ||
145 | compatible = "altr,socfpga-stmmac", "snps,dwmac-3.72a", "snps,dwmac"; | ||
146 | reg = <0xff804000 0x2000>; | ||
147 | interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>; | ||
148 | interrupt-names = "macirq"; | ||
149 | /* Filled in by bootloader */ | ||
150 | mac-address = [00 00 00 00 00 00]; | ||
151 | status = "disabled"; | ||
152 | }; | ||
153 | |||
154 | gpio0: gpio@ffc02900 { | ||
155 | #address-cells = <1>; | ||
156 | #size-cells = <0>; | ||
157 | compatible = "snps,dw-apb-gpio"; | ||
158 | reg = <0xffc02900 0x100>; | ||
159 | status = "disabled"; | ||
160 | |||
161 | porta: gpio-controller@0 { | ||
162 | compatible = "snps,dw-apb-gpio-port"; | ||
163 | gpio-controller; | ||
164 | #gpio-cells = <2>; | ||
165 | snps,nr-gpios = <29>; | ||
166 | reg = <0>; | ||
167 | interrupt-controller; | ||
168 | #interrupt-cells = <2>; | ||
169 | interrupts = <0 112 IRQ_TYPE_LEVEL_HIGH>; | ||
170 | }; | ||
171 | }; | ||
172 | |||
173 | gpio1: gpio@ffc02a00 { | ||
174 | #address-cells = <1>; | ||
175 | #size-cells = <0>; | ||
176 | compatible = "snps,dw-apb-gpio"; | ||
177 | reg = <0xffc02a00 0x100>; | ||
178 | status = "disabled"; | ||
179 | |||
180 | portb: gpio-controller@0 { | ||
181 | compatible = "snps,dw-apb-gpio-port"; | ||
182 | gpio-controller; | ||
183 | #gpio-cells = <2>; | ||
184 | snps,nr-gpios = <29>; | ||
185 | reg = <0>; | ||
186 | interrupt-controller; | ||
187 | #interrupt-cells = <2>; | ||
188 | interrupts = <0 113 IRQ_TYPE_LEVEL_HIGH>; | ||
189 | }; | ||
190 | }; | ||
191 | |||
192 | gpio2: gpio@ffc02b00 { | ||
193 | #address-cells = <1>; | ||
194 | #size-cells = <0>; | ||
195 | compatible = "snps,dw-apb-gpio"; | ||
196 | reg = <0xffc02b00 0x100>; | ||
197 | status = "disabled"; | ||
198 | |||
199 | portc: gpio-controller@0 { | ||
200 | compatible = "snps,dw-apb-gpio-port"; | ||
201 | gpio-controller; | ||
202 | #gpio-cells = <2>; | ||
203 | snps,nr-gpios = <27>; | ||
204 | reg = <0>; | ||
205 | interrupt-controller; | ||
206 | #interrupt-cells = <2>; | ||
207 | interrupts = <0 114 IRQ_TYPE_LEVEL_HIGH>; | ||
208 | }; | ||
209 | }; | ||
210 | |||
211 | i2c0: i2c@ffc02200 { | ||
212 | #address-cells = <1>; | ||
213 | #size-cells = <0>; | ||
214 | compatible = "snps,designware-i2c"; | ||
215 | reg = <0xffc02200 0x100>; | ||
216 | interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>; | ||
217 | status = "disabled"; | ||
218 | }; | ||
219 | |||
220 | i2c1: i2c@ffc02300 { | ||
221 | #address-cells = <1>; | ||
222 | #size-cells = <0>; | ||
223 | compatible = "snps,designware-i2c"; | ||
224 | reg = <0xffc02300 0x100>; | ||
225 | interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>; | ||
226 | status = "disabled"; | ||
227 | }; | ||
228 | |||
229 | i2c2: i2c@ffc02400 { | ||
230 | #address-cells = <1>; | ||
231 | #size-cells = <0>; | ||
232 | compatible = "snps,designware-i2c"; | ||
233 | reg = <0xffc02400 0x100>; | ||
234 | interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>; | ||
235 | status = "disabled"; | ||
236 | }; | ||
237 | |||
238 | i2c3: i2c@ffc02500 { | ||
239 | #address-cells = <1>; | ||
240 | #size-cells = <0>; | ||
241 | compatible = "snps,designware-i2c"; | ||
242 | reg = <0xffc02500 0x100>; | ||
243 | interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>; | ||
244 | status = "disabled"; | ||
245 | }; | ||
246 | |||
247 | i2c4: i2c@ffc02600 { | ||
248 | #address-cells = <1>; | ||
249 | #size-cells = <0>; | ||
250 | compatible = "snps,designware-i2c"; | ||
251 | reg = <0xffc02600 0x100>; | ||
252 | interrupts = <0 109 IRQ_TYPE_LEVEL_HIGH>; | ||
253 | status = "disabled"; | ||
254 | }; | ||
255 | |||
256 | L2: l2-cache@fffff000 { | ||
257 | compatible = "arm,pl310-cache"; | ||
258 | reg = <0xfffff000 0x1000>; | ||
259 | interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>; | ||
260 | cache-unified; | ||
261 | cache-level = <2>; | ||
262 | }; | ||
263 | |||
264 | mmc: dwmmc0@ff808000 { | ||
265 | #address-cells = <1>; | ||
266 | #size-cells = <0>; | ||
267 | compatible = "altr,socfpga-dw-mshc"; | ||
268 | reg = <0xff808000 0x1000>; | ||
269 | interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>; | ||
270 | fifo-depth = <0x400>; | ||
271 | }; | ||
272 | |||
273 | ocram: sram@ffe00000 { | ||
274 | compatible = "mmio-sram"; | ||
275 | reg = <0xffe00000 0x40000>; | ||
276 | }; | ||
277 | |||
278 | rst: rstmgr@ffd05000 { | ||
279 | #reset-cells = <1>; | ||
280 | compatible = "altr,rst-mgr"; | ||
281 | reg = <0xffd05000 0x100>; | ||
282 | }; | ||
283 | |||
284 | sysmgr: sysmgr@ffd06000 { | ||
285 | compatible = "altr,sys-mgr", "syscon"; | ||
286 | reg = <0xffd06000 0x300>; | ||
287 | }; | ||
288 | |||
289 | /* Local timer */ | ||
290 | timer@ffffc600 { | ||
291 | compatible = "arm,cortex-a9-twd-timer"; | ||
292 | reg = <0xffffc600 0x100>; | ||
293 | interrupts = <1 13 0xf04>; | ||
294 | }; | ||
295 | |||
296 | timer0: timer0@ffc02700 { | ||
297 | compatible = "snps,dw-apb-timer"; | ||
298 | interrupts = <0 115 IRQ_TYPE_LEVEL_HIGH>; | ||
299 | reg = <0xffc02700 0x100>; | ||
300 | }; | ||
301 | |||
302 | timer1: timer1@ffc02800 { | ||
303 | compatible = "snps,dw-apb-timer"; | ||
304 | interrupts = <0 116 IRQ_TYPE_LEVEL_HIGH>; | ||
305 | reg = <0xffc02800 0x100>; | ||
306 | }; | ||
307 | |||
308 | timer2: timer2@ffd00000 { | ||
309 | compatible = "snps,dw-apb-timer"; | ||
310 | interrupts = <0 117 IRQ_TYPE_LEVEL_HIGH>; | ||
311 | reg = <0xffd00000 0x100>; | ||
312 | }; | ||
313 | |||
314 | timer3: timer3@ffd00100 { | ||
315 | compatible = "snps,dw-apb-timer"; | ||
316 | interrupts = <0 118 IRQ_TYPE_LEVEL_HIGH>; | ||
317 | reg = <0xffd01000 0x100>; | ||
318 | }; | ||
319 | |||
320 | uart0: serial0@ffc02000 { | ||
321 | compatible = "snps,dw-apb-uart"; | ||
322 | reg = <0xffc02000 0x100>; | ||
323 | interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>; | ||
324 | reg-shift = <2>; | ||
325 | reg-io-width = <4>; | ||
326 | }; | ||
327 | |||
328 | uart1: serial1@ffc02100 { | ||
329 | compatible = "snps,dw-apb-uart"; | ||
330 | reg = <0xffc02100 0x100>; | ||
331 | interrupts = <0 111 IRQ_TYPE_LEVEL_HIGH>; | ||
332 | reg-shift = <2>; | ||
333 | reg-io-width = <4>; | ||
334 | }; | ||
335 | |||
336 | usbphy0: usbphy@0 { | ||
337 | #phy-cells = <0>; | ||
338 | compatible = "usb-nop-xceiv"; | ||
339 | status = "okay"; | ||
340 | }; | ||
341 | |||
342 | usb0: usb@ffb00000 { | ||
343 | compatible = "snps,dwc2"; | ||
344 | reg = <0xffb00000 0xffff>; | ||
345 | interrupts = <0 95 IRQ_TYPE_LEVEL_HIGH>; | ||
346 | phys = <&usbphy0>; | ||
347 | phy-names = "usb2-phy"; | ||
348 | status = "disabled"; | ||
349 | }; | ||
350 | |||
351 | usb1: usb@ffb40000 { | ||
352 | compatible = "snps,dwc2"; | ||
353 | reg = <0xffb40000 0xffff>; | ||
354 | interrupts = <0 96 IRQ_TYPE_LEVEL_HIGH>; | ||
355 | phys = <&usbphy0>; | ||
356 | phy-names = "usb2-phy"; | ||
357 | status = "disabled"; | ||
358 | }; | ||
359 | |||
360 | watchdog0: watchdog@ffd00200 { | ||
361 | compatible = "snps,dw-wdt"; | ||
362 | reg = <0xffd00200 0x100>; | ||
363 | interrupts = <0 119 IRQ_TYPE_LEVEL_HIGH>; | ||
364 | status = "disabled"; | ||
365 | }; | ||
366 | |||
367 | watchdog1: watchdog@ffd00300 { | ||
368 | compatible = "snps,dw-wdt"; | ||
369 | reg = <0xffd00300 0x100>; | ||
370 | interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>; | ||
371 | status = "disabled"; | ||
372 | }; | ||
373 | }; | ||
374 | }; | ||
diff --git a/arch/arm/boot/dts/socfpga_arria10_socdk.dts b/arch/arm/boot/dts/socfpga_arria10_socdk.dts new file mode 100755 index 000000000000..3015ce8d3057 --- /dev/null +++ b/arch/arm/boot/dts/socfpga_arria10_socdk.dts | |||
@@ -0,0 +1,48 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 Altera Corporation <www.altera.com> | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License | ||
15 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | /dts-v1/; | ||
19 | #include "socfpga_arria10.dtsi" | ||
20 | |||
21 | / { | ||
22 | model = "Altera SOCFPGA Arria 10"; | ||
23 | compatible = "altr,socfpga-arria10", "altr,socfpga"; | ||
24 | |||
25 | chosen { | ||
26 | bootargs = "console=ttyS0,115200 rootwait"; | ||
27 | }; | ||
28 | |||
29 | memory { | ||
30 | name = "memory"; | ||
31 | device_type = "memory"; | ||
32 | reg = <0x0 0x40000000>; /* 1GB */ | ||
33 | }; | ||
34 | |||
35 | soc { | ||
36 | clkmgr@ffd04000 { | ||
37 | clocks { | ||
38 | osc1 { | ||
39 | clock-frequency = <25000000>; | ||
40 | }; | ||
41 | }; | ||
42 | }; | ||
43 | |||
44 | serial0@ffc02000 { | ||
45 | status = "okay"; | ||
46 | }; | ||
47 | }; | ||
48 | }; | ||
diff --git a/arch/arm/boot/dts/socfpga_cyclone5.dtsi b/arch/arm/boot/dts/socfpga_cyclone5.dtsi index 28c05e7a31c9..06db951e06f8 100644 --- a/arch/arm/boot/dts/socfpga_cyclone5.dtsi +++ b/arch/arm/boot/dts/socfpga_cyclone5.dtsi | |||
@@ -49,3 +49,7 @@ | |||
49 | }; | 49 | }; |
50 | }; | 50 | }; |
51 | }; | 51 | }; |
52 | |||
53 | &watchdog0 { | ||
54 | status = "okay"; | ||
55 | }; | ||
diff --git a/arch/arm/boot/dts/ste-nomadik-nhk15.dts b/arch/arm/boot/dts/ste-nomadik-nhk15.dts new file mode 100644 index 000000000000..a8c00ee7522a --- /dev/null +++ b/arch/arm/boot/dts/ste-nomadik-nhk15.dts | |||
@@ -0,0 +1,151 @@ | |||
1 | /* | ||
2 | * Device Tree for the ST-Ericsson Nomadik S8815 board | ||
3 | * Produced by Calao Systems | ||
4 | */ | ||
5 | |||
6 | /dts-v1/; | ||
7 | #include <dt-bindings/interrupt-controller/irq.h> | ||
8 | #include <dt-bindings/gpio/gpio.h> | ||
9 | #include "ste-nomadik-stn8815.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Nomadik STN8815NHK"; | ||
13 | compatible = "st,nomadik-nhk-15"; | ||
14 | |||
15 | chosen { | ||
16 | bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk"; | ||
17 | }; | ||
18 | |||
19 | aliases { | ||
20 | stmpe-i2c0 = &stmpe0; | ||
21 | stmpe-i2c1 = &stmpe1; | ||
22 | }; | ||
23 | |||
24 | pinctrl { | ||
25 | stmpe2401_1 { | ||
26 | stmpe2401_1_nhk_mode: stmpe2401_1_nhk { | ||
27 | nhk_cfg1 { | ||
28 | ste,pins = "GPIO76_B20"; // IRQ line | ||
29 | ste,input = <0>; | ||
30 | }; | ||
31 | nhk_cfg2 { | ||
32 | ste,pins = "GPIO77_B8"; // reset line | ||
33 | ste,output = <1>; | ||
34 | }; | ||
35 | }; | ||
36 | }; | ||
37 | stmpe2401_2 { | ||
38 | stmpe2401_2_nhk_mode: stmpe2401_2_nhk { | ||
39 | nhk_cfg1 { | ||
40 | ste,pins = "GPIO78_A8"; // IRQ line | ||
41 | ste,input = <0>; | ||
42 | }; | ||
43 | nhk_cfg2 { | ||
44 | ste,pins = "GPIO79_C9"; // reset line | ||
45 | ste,output = <1>; | ||
46 | }; | ||
47 | }; | ||
48 | }; | ||
49 | }; | ||
50 | |||
51 | src@101e0000 { | ||
52 | /* These chrystal outputs are not used on this board */ | ||
53 | disable-sxtalo; | ||
54 | disable-mxtalo; | ||
55 | }; | ||
56 | |||
57 | /* This is where the interrupt is routed on the NHK-15 debug board */ | ||
58 | external-bus@34000000 { | ||
59 | compatible = "simple-bus"; | ||
60 | reg = <0x34000000 0x1000000>; | ||
61 | #address-cells = <1>; | ||
62 | #size-cells = <1>; | ||
63 | ranges = <0 0x34000000 0x1000000>; | ||
64 | ethernet@300 { | ||
65 | compatible = "smsc,lan91c111"; | ||
66 | reg = <0x300 0x0fd00>; | ||
67 | reg-io-width = <2>; | ||
68 | reset-gpios = <&stmpe_gpio44 10 GPIO_ACTIVE_HIGH>; | ||
69 | interrupt-parent = <&stmpe_gpio44>; | ||
70 | interrupts = <11 IRQ_TYPE_EDGE_RISING>; | ||
71 | }; | ||
72 | }; | ||
73 | |||
74 | i2c0 { | ||
75 | stmpe0: stmpe2401@43 { | ||
76 | compatible = "st,stmpe2401"; | ||
77 | reg = <0x43>; | ||
78 | reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; // GPIO77 | ||
79 | interrupts = <12 IRQ_TYPE_EDGE_FALLING>; // GPIO76 | ||
80 | interrupt-parent = <&gpio2>; | ||
81 | interrupt-controller; | ||
82 | wakeup-source; | ||
83 | pinctrl-names = "default"; | ||
84 | pinctrl-0 = <&stmpe2401_1_nhk_mode>; | ||
85 | stmpe_gpio43: stmpe_gpio { | ||
86 | compatible = "st,stmpe-gpio"; | ||
87 | gpio-controller; | ||
88 | #gpio-cells = <2>; | ||
89 | interrupt-controller; | ||
90 | #interrupt-cells = <2>; | ||
91 | /* Some pins in alternate functions */ | ||
92 | st,norequest-mask = <0xf0f002>; | ||
93 | }; | ||
94 | stmpe_keypad { | ||
95 | compatible = "st,stmpe-keypad"; | ||
96 | debounce-interval = <64>; | ||
97 | st,scan-count = <8>; | ||
98 | st,no-autorepeat; | ||
99 | keypad,num-rows = <8>; | ||
100 | keypad,num-columns = <8>; | ||
101 | linux,keymap = <0x00020072 // Vol down | ||
102 | 0x00030073 // Vol up | ||
103 | 0x0100009e // Back | ||
104 | 0x010100e3 // TV out | ||
105 | 0x01020098 // Lock | ||
106 | 0x0103013b // Start | ||
107 | 0x020000a3 // Next | ||
108 | 0x020100a4 // Play | ||
109 | 0x020200a5 // Prev | ||
110 | 0x02030160 // OK | ||
111 | 0x03000069 // Left | ||
112 | 0x0301006a // Right | ||
113 | 0x03020067 // Up | ||
114 | 0x0303006c>; // Down | ||
115 | }; | ||
116 | }; | ||
117 | stmpe1: stmpe2401@44 { | ||
118 | compatible = "st,stmpe2401"; | ||
119 | reg = <0x44>; | ||
120 | reset-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; // GPIO79 | ||
121 | interrupts = <14 IRQ_TYPE_EDGE_FALLING>; // GPIO78 | ||
122 | interrupt-parent = <&gpio2>; | ||
123 | interrupt-controller; | ||
124 | wakeup-source; | ||
125 | pinctrl-names = "default"; | ||
126 | pinctrl-0 = <&stmpe2401_2_nhk_mode>; | ||
127 | stmpe_gpio44: stmpe_gpio { | ||
128 | compatible = "st,stmpe-gpio"; | ||
129 | gpio-controller; | ||
130 | #gpio-cells = <2>; | ||
131 | interrupt-controller; | ||
132 | #interrupt-cells = <2>; | ||
133 | }; | ||
134 | }; | ||
135 | }; | ||
136 | |||
137 | amba { | ||
138 | mmcsd: sdi@101f6000 { | ||
139 | cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>; | ||
140 | wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>; | ||
141 | }; | ||
142 | }; | ||
143 | |||
144 | /* Custom board node with GPIO pins to active etc */ | ||
145 | usb-s8815 { | ||
146 | /* This will turn off SATA so that MMC/SD can thrive */ | ||
147 | mmcsd-gpio { | ||
148 | gpios = <&stmpe_gpio44 2 0x1>; | ||
149 | }; | ||
150 | }; | ||
151 | }; | ||
diff --git a/arch/arm/boot/dts/ste-nomadik-s8815.dts b/arch/arm/boot/dts/ste-nomadik-s8815.dts index 90d8b6c7a205..e411ff7769fe 100644 --- a/arch/arm/boot/dts/ste-nomadik-s8815.dts +++ b/arch/arm/boot/dts/ste-nomadik-s8815.dts | |||
@@ -4,6 +4,7 @@ | |||
4 | */ | 4 | */ |
5 | 5 | ||
6 | /dts-v1/; | 6 | /dts-v1/; |
7 | #include <dt-bindings/interrupt-controller/irq.h> | ||
7 | #include "ste-nomadik-stn8815.dtsi" | 8 | #include "ste-nomadik-stn8815.dtsi" |
8 | 9 | ||
9 | / { | 10 | / { |
@@ -14,14 +15,6 @@ | |||
14 | bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk"; | 15 | bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk"; |
15 | }; | 16 | }; |
16 | 17 | ||
17 | /* This is where the interrupt is routed on the S8815 board */ | ||
18 | external-bus@34000000 { | ||
19 | ethernet@300 { | ||
20 | interrupt-parent = <&gpio3>; | ||
21 | interrupts = <8 0x1>; | ||
22 | }; | ||
23 | }; | ||
24 | |||
25 | src@101e0000 { | 18 | src@101e0000 { |
26 | /* These chrystal drivers are not used on this board */ | 19 | /* These chrystal drivers are not used on this board */ |
27 | disable-sxtalo; | 20 | disable-sxtalo; |
@@ -47,6 +40,14 @@ | |||
47 | }; | 40 | }; |
48 | }; | 41 | }; |
49 | }; | 42 | }; |
43 | gpioi2c { | ||
44 | gpioi2c_default_mode: gpioi2c_default { | ||
45 | gpioi2c_default_cfg { | ||
46 | ste,pins = "GPIO73_C21", "GPIO74_C20"; | ||
47 | ste,input = <0>; | ||
48 | }; | ||
49 | }; | ||
50 | }; | ||
50 | user-led { | 51 | user-led { |
51 | user_led_default_mode: user_led_default { | 52 | user_led_default_mode: user_led_default { |
52 | user_led_default_cfg { | 53 | user_led_default_cfg { |
@@ -65,6 +66,45 @@ | |||
65 | }; | 66 | }; |
66 | }; | 67 | }; |
67 | 68 | ||
69 | /* Ethernet */ | ||
70 | external-bus@34000000 { | ||
71 | compatible = "simple-bus"; | ||
72 | reg = <0x34000000 0x1000000>; | ||
73 | #address-cells = <1>; | ||
74 | #size-cells = <1>; | ||
75 | ranges = <0 0x34000000 0x1000000>; | ||
76 | ethernet@300 { | ||
77 | compatible = "smsc,lan91c111"; | ||
78 | reg = <0x300 0x0fd00>; | ||
79 | interrupt-parent = <&gpio3>; | ||
80 | interrupts = <8 IRQ_TYPE_EDGE_RISING>; | ||
81 | }; | ||
82 | }; | ||
83 | |||
84 | /* GPIO I2C connected to the USB portions of the STw4811 only */ | ||
85 | gpio-i2c { | ||
86 | compatible = "i2c-gpio"; | ||
87 | gpios = <&gpio2 10 0>, /* sda */ | ||
88 | <&gpio2 9 0>; /* scl */ | ||
89 | #address-cells = <1>; | ||
90 | #size-cells = <0>; | ||
91 | pinctrl-names = "default"; | ||
92 | pinctrl-0 = <&gpioi2c_default_mode>; | ||
93 | |||
94 | stw4811@2d { | ||
95 | compatible = "st,stw4811-usb"; | ||
96 | reg = <0x2d>; | ||
97 | }; | ||
98 | }; | ||
99 | |||
100 | |||
101 | /* Configure card detect for the uSD slot */ | ||
102 | amba { | ||
103 | mmcsd: sdi@101f6000 { | ||
104 | cd-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>; | ||
105 | }; | ||
106 | }; | ||
107 | |||
68 | /* Custom board node with GPIO pins to active etc */ | 108 | /* Custom board node with GPIO pins to active etc */ |
69 | usb-s8815 { | 109 | usb-s8815 { |
70 | /* This will bias the MMC/SD card detect line */ | 110 | /* This will bias the MMC/SD card detect line */ |
diff --git a/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi b/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi index dbcf521b017f..f435ff20aefe 100644 --- a/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi +++ b/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi | |||
@@ -117,7 +117,7 @@ | |||
117 | mmcsd_default_mux: mmcsd_mux { | 117 | mmcsd_default_mux: mmcsd_mux { |
118 | mmcsd_default_mux { | 118 | mmcsd_default_mux { |
119 | ste,function = "mmcsd"; | 119 | ste,function = "mmcsd"; |
120 | ste,pins = "mmcsd_a_1"; | 120 | ste,pins = "mmcsd_a_1", "mmcsd_b_1"; |
121 | }; | 121 | }; |
122 | }; | 122 | }; |
123 | mmcsd_default_mode: mmcsd_default { | 123 | mmcsd_default_mode: mmcsd_default { |
@@ -127,9 +127,9 @@ | |||
127 | ste,output = <0>; | 127 | ste,output = <0>; |
128 | }; | 128 | }; |
129 | mmcsd_default_cfg2 { | 129 | mmcsd_default_cfg2 { |
130 | /* MCCMDDIR, MCDAT0DIR, MCDAT31DIR */ | 130 | /* MCCMDDIR, MCDAT0DIR, MCDAT31DIR, MCDATDIR2 */ |
131 | ste,pins = "GPIO10_C11", "GPIO15_A12", | 131 | ste,pins = "GPIO10_C11", "GPIO15_A12", |
132 | "GPIO16_C13"; | 132 | "GPIO16_C13", "GPIO23_D15"; |
133 | ste,output = <1>; | 133 | ste,output = <1>; |
134 | }; | 134 | }; |
135 | mmcsd_default_cfg3 { | 135 | mmcsd_default_cfg3 { |
@@ -169,21 +169,11 @@ | |||
169 | }; | 169 | }; |
170 | }; | 170 | }; |
171 | }; | 171 | }; |
172 | i2c2 { | ||
173 | i2c2_default_mode: i2c2_default { | ||
174 | i2c2_default_cfg { | ||
175 | ste,pins = "GPIO73_C21", "GPIO74_C20"; | ||
176 | ste,input = <0>; | ||
177 | }; | ||
178 | }; | ||
179 | }; | ||
180 | }; | 172 | }; |
181 | 173 | ||
182 | src: src@101e0000 { | 174 | src: src@101e0000 { |
183 | compatible = "stericsson,nomadik-src"; | 175 | compatible = "stericsson,nomadik-src"; |
184 | reg = <0x101e0000 0x1000>; | 176 | reg = <0x101e0000 0x1000>; |
185 | disable-sxtalo; | ||
186 | disable-mxtalo; | ||
187 | 177 | ||
188 | /* | 178 | /* |
189 | * MXTAL "Main Chrystal" is a chrystal oscillator @19.2 MHz | 179 | * MXTAL "Main Chrystal" is a chrystal oscillator @19.2 MHz |
@@ -683,18 +673,6 @@ | |||
683 | }; | 673 | }; |
684 | }; | 674 | }; |
685 | 675 | ||
686 | external-bus@34000000 { | ||
687 | compatible = "simple-bus"; | ||
688 | reg = <0x34000000 0x1000000>; | ||
689 | #address-cells = <1>; | ||
690 | #size-cells = <1>; | ||
691 | ranges = <0 0x34000000 0x1000000>; | ||
692 | ethernet@300 { | ||
693 | compatible = "smsc,lan91c111"; | ||
694 | reg = <0x300 0x0fd00>; | ||
695 | }; | ||
696 | }; | ||
697 | |||
698 | /* I2C0 connected to the STw4811 power management chip */ | 676 | /* I2C0 connected to the STw4811 power management chip */ |
699 | i2c0 { | 677 | i2c0 { |
700 | compatible = "st,nomadik-i2c", "arm,primecell"; | 678 | compatible = "st,nomadik-i2c", "arm,primecell"; |
@@ -749,22 +727,6 @@ | |||
749 | }; | 727 | }; |
750 | }; | 728 | }; |
751 | 729 | ||
752 | /* I2C2 connected to the USB portions of the STw4811 only */ | ||
753 | i2c2 { | ||
754 | compatible = "i2c-gpio"; | ||
755 | gpios = <&gpio2 10 0>, /* sda */ | ||
756 | <&gpio2 9 0>; /* scl */ | ||
757 | #address-cells = <1>; | ||
758 | #size-cells = <0>; | ||
759 | pinctrl-names = "default"; | ||
760 | pinctrl-0 = <&i2c2_default_mode>; | ||
761 | |||
762 | stw4811@2d { | ||
763 | compatible = "st,stw4811-usb"; | ||
764 | reg = <0x2d>; | ||
765 | }; | ||
766 | }; | ||
767 | |||
768 | amba { | 730 | amba { |
769 | compatible = "arm,amba-bus"; | 731 | compatible = "arm,amba-bus"; |
770 | #address-cells = <1>; | 732 | #address-cells = <1>; |
@@ -844,7 +806,6 @@ | |||
844 | bus-width = <4>; | 806 | bus-width = <4>; |
845 | cap-mmc-highspeed; | 807 | cap-mmc-highspeed; |
846 | cap-sd-highspeed; | 808 | cap-sd-highspeed; |
847 | cd-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>; | ||
848 | pinctrl-names = "default"; | 809 | pinctrl-names = "default"; |
849 | pinctrl-0 = <&mmcsd_default_mux>, <&mmcsd_default_mode>; | 810 | pinctrl-0 = <&mmcsd_default_mux>, <&mmcsd_default_mode>; |
850 | vmmc-supply = <&vmmc_regulator>; | 811 | vmmc-supply = <&vmmc_regulator>; |
diff --git a/arch/arm/boot/dts/stih407-b2120.dts b/arch/arm/boot/dts/stih407-b2120.dts index fe69f92e5f82..261d5e2c48d2 100644 --- a/arch/arm/boot/dts/stih407-b2120.dts +++ b/arch/arm/boot/dts/stih407-b2120.dts | |||
@@ -7,13 +7,15 @@ | |||
7 | * published by the Free Software Foundation. | 7 | * published by the Free Software Foundation. |
8 | */ | 8 | */ |
9 | /dts-v1/; | 9 | /dts-v1/; |
10 | #include "stih407.dtsi" | 10 | #include "stih407-clock.dtsi" |
11 | #include "stih407-family.dtsi" | ||
12 | #include "stihxxx-b2120.dtsi" | ||
11 | / { | 13 | / { |
12 | model = "STiH407 B2120"; | 14 | model = "STiH407 B2120"; |
13 | compatible = "st,stih407-b2120", "st,stih407"; | 15 | compatible = "st,stih407-b2120", "st,stih407"; |
14 | 16 | ||
15 | chosen { | 17 | chosen { |
16 | bootargs = "console=ttyAS0,115200"; | 18 | bootargs = "console=ttyAS0,115200 clk_ignore_unused"; |
17 | linux,stdout-path = &sbc_serial0; | 19 | linux,stdout-path = &sbc_serial0; |
18 | }; | 20 | }; |
19 | 21 | ||
@@ -26,53 +28,4 @@ | |||
26 | ttyAS0 = &sbc_serial0; | 28 | ttyAS0 = &sbc_serial0; |
27 | }; | 29 | }; |
28 | 30 | ||
29 | soc { | ||
30 | sbc_serial0: serial@9530000 { | ||
31 | status = "okay"; | ||
32 | }; | ||
33 | |||
34 | leds { | ||
35 | compatible = "gpio-leds"; | ||
36 | red { | ||
37 | #gpio-cells = <2>; | ||
38 | label = "Front Panel LED"; | ||
39 | gpios = <&pio4 1 0>; | ||
40 | linux,default-trigger = "heartbeat"; | ||
41 | }; | ||
42 | green { | ||
43 | #gpio-cells = <2>; | ||
44 | gpios = <&pio1 3 0>; | ||
45 | default-state = "off"; | ||
46 | }; | ||
47 | }; | ||
48 | |||
49 | i2c@9842000 { | ||
50 | status = "okay"; | ||
51 | }; | ||
52 | |||
53 | i2c@9843000 { | ||
54 | status = "okay"; | ||
55 | }; | ||
56 | |||
57 | i2c@9844000 { | ||
58 | status = "okay"; | ||
59 | }; | ||
60 | |||
61 | i2c@9845000 { | ||
62 | status = "okay"; | ||
63 | }; | ||
64 | |||
65 | i2c@9540000 { | ||
66 | status = "okay"; | ||
67 | }; | ||
68 | |||
69 | /* SSC11 to HDMI */ | ||
70 | i2c@9541000 { | ||
71 | status = "okay"; | ||
72 | /* HDMI V1.3a supports Standard mode only */ | ||
73 | clock-frequency = <100000>; | ||
74 | st,i2c-min-scl-pulse-width-us = <0>; | ||
75 | st,i2c-min-sda-pulse-width-us = <5>; | ||
76 | }; | ||
77 | }; | ||
78 | }; | 31 | }; |
diff --git a/arch/arm/boot/dts/stih407-clock.dtsi b/arch/arm/boot/dts/stih407-clock.dtsi index 800f46f009f3..e65744fc12ab 100644 --- a/arch/arm/boot/dts/stih407-clock.dtsi +++ b/arch/arm/boot/dts/stih407-clock.dtsi | |||
@@ -5,8 +5,13 @@ | |||
5 | * it under the terms of the GNU General Public License version 2 as | 5 | * it under the terms of the GNU General Public License version 2 as |
6 | * published by the Free Software Foundation. | 6 | * published by the Free Software Foundation. |
7 | */ | 7 | */ |
8 | #include <dt-bindings/clock/stih407-clks.h> | ||
8 | / { | 9 | / { |
9 | clocks { | 10 | clocks { |
11 | #address-cells = <1>; | ||
12 | #size-cells = <1>; | ||
13 | ranges; | ||
14 | |||
10 | /* | 15 | /* |
11 | * Fixed 30MHz oscillator inputs to SoC | 16 | * Fixed 30MHz oscillator inputs to SoC |
12 | */ | 17 | */ |
@@ -19,10 +24,59 @@ | |||
19 | /* | 24 | /* |
20 | * ARM Peripheral clock for timers | 25 | * ARM Peripheral clock for timers |
21 | */ | 26 | */ |
22 | arm_periph_clk: arm-periph-clk { | 27 | arm_periph_clk: clk-m-a9-periphs { |
23 | #clock-cells = <0>; | 28 | #clock-cells = <0>; |
24 | compatible = "fixed-clock"; | 29 | compatible = "fixed-factor-clock"; |
25 | clock-frequency = <600000000>; | 30 | |
31 | clocks = <&clk_m_a9>; | ||
32 | clock-div = <2>; | ||
33 | clock-mult = <1>; | ||
34 | }; | ||
35 | |||
36 | /* | ||
37 | * A9 PLL. | ||
38 | */ | ||
39 | clockgen-a9@92b0000 { | ||
40 | compatible = "st,clkgen-c32"; | ||
41 | reg = <0x92b0000 0xffff>; | ||
42 | |||
43 | clockgen_a9_pll: clockgen-a9-pll { | ||
44 | #clock-cells = <1>; | ||
45 | compatible = "st,stih407-plls-c32-a9", "st,clkgen-plls-c32"; | ||
46 | |||
47 | clocks = <&clk_sysin>; | ||
48 | |||
49 | clock-output-names = "clockgen-a9-pll-odf"; | ||
50 | }; | ||
51 | }; | ||
52 | |||
53 | /* | ||
54 | * ARM CPU related clocks. | ||
55 | */ | ||
56 | clk_m_a9: clk-m-a9@92b0000 { | ||
57 | #clock-cells = <0>; | ||
58 | compatible = "st,stih407-clkgen-a9-mux", "st,clkgen-mux"; | ||
59 | reg = <0x92b0000 0x10000>; | ||
60 | |||
61 | clocks = <&clockgen_a9_pll 0>, | ||
62 | <&clockgen_a9_pll 0>, | ||
63 | <&clk_s_c0_flexgen 13>, | ||
64 | <&clk_m_a9_ext2f_div2>; | ||
65 | }; | ||
66 | |||
67 | /* | ||
68 | * ARM Peripheral clock for timers | ||
69 | */ | ||
70 | clk_m_a9_ext2f_div2: clk-m-a9-ext2f-div2s { | ||
71 | #clock-cells = <0>; | ||
72 | compatible = "fixed-factor-clock"; | ||
73 | |||
74 | clocks = <&clk_s_c0_flexgen 13>; | ||
75 | |||
76 | clock-output-names = "clk-m-a9-ext2f-div2"; | ||
77 | |||
78 | clock-div = <2>; | ||
79 | clock-mult = <1>; | ||
26 | }; | 80 | }; |
27 | 81 | ||
28 | /* | 82 | /* |
@@ -35,5 +89,238 @@ | |||
35 | clock-frequency = <200000000>; | 89 | clock-frequency = <200000000>; |
36 | clock-output-names = "clk-s-icn-reg-0"; | 90 | clock-output-names = "clk-s-icn-reg-0"; |
37 | }; | 91 | }; |
92 | |||
93 | clockgen-a@090ff000 { | ||
94 | compatible = "st,clkgen-c32"; | ||
95 | reg = <0x90ff000 0x1000>; | ||
96 | |||
97 | clk_s_a0_pll: clk-s-a0-pll { | ||
98 | #clock-cells = <1>; | ||
99 | compatible = "st,stih407-plls-c32-a0", "st,clkgen-plls-c32"; | ||
100 | |||
101 | clocks = <&clk_sysin>; | ||
102 | |||
103 | clock-output-names = "clk-s-a0-pll-ofd-0"; | ||
104 | }; | ||
105 | |||
106 | clk_s_a0_flexgen: clk-s-a0-flexgen { | ||
107 | compatible = "st,flexgen"; | ||
108 | |||
109 | #clock-cells = <1>; | ||
110 | |||
111 | clocks = <&clk_s_a0_pll 0>, | ||
112 | <&clk_sysin>; | ||
113 | |||
114 | clock-output-names = "clk-ic-lmi0"; | ||
115 | }; | ||
116 | }; | ||
117 | |||
118 | clk_s_c0_quadfs: clk-s-c0-quadfs@9103000 { | ||
119 | #clock-cells = <1>; | ||
120 | compatible = "st,stih407-quadfs660-C", "st,quadfs"; | ||
121 | reg = <0x9103000 0x1000>; | ||
122 | |||
123 | clocks = <&clk_sysin>; | ||
124 | |||
125 | clock-output-names = "clk-s-c0-fs0-ch0", | ||
126 | "clk-s-c0-fs0-ch1", | ||
127 | "clk-s-c0-fs0-ch2", | ||
128 | "clk-s-c0-fs0-ch3"; | ||
129 | }; | ||
130 | |||
131 | clk_s_c0: clockgen-c@09103000 { | ||
132 | compatible = "st,clkgen-c32"; | ||
133 | reg = <0x9103000 0x1000>; | ||
134 | |||
135 | clk_s_c0_pll0: clk-s-c0-pll0 { | ||
136 | #clock-cells = <1>; | ||
137 | compatible = "st,stih407-plls-c32-c0_0", "st,clkgen-plls-c32"; | ||
138 | |||
139 | clocks = <&clk_sysin>; | ||
140 | |||
141 | clock-output-names = "clk-s-c0-pll0-odf-0"; | ||
142 | }; | ||
143 | |||
144 | clk_s_c0_pll1: clk-s-c0-pll1 { | ||
145 | #clock-cells = <1>; | ||
146 | compatible = "st,stih407-plls-c32-c0_1", "st,clkgen-plls-c32"; | ||
147 | |||
148 | clocks = <&clk_sysin>; | ||
149 | |||
150 | clock-output-names = "clk-s-c0-pll1-odf-0"; | ||
151 | }; | ||
152 | |||
153 | clk_s_c0_flexgen: clk-s-c0-flexgen { | ||
154 | #clock-cells = <1>; | ||
155 | compatible = "st,flexgen"; | ||
156 | |||
157 | clocks = <&clk_s_c0_pll0 0>, | ||
158 | <&clk_s_c0_pll1 0>, | ||
159 | <&clk_s_c0_quadfs 0>, | ||
160 | <&clk_s_c0_quadfs 1>, | ||
161 | <&clk_s_c0_quadfs 2>, | ||
162 | <&clk_s_c0_quadfs 3>, | ||
163 | <&clk_sysin>; | ||
164 | |||
165 | clock-output-names = "clk-icn-gpu", | ||
166 | "clk-fdma", | ||
167 | "clk-nand", | ||
168 | "clk-hva", | ||
169 | "clk-proc-stfe", | ||
170 | "clk-proc-tp", | ||
171 | "clk-rx-icn-dmu", | ||
172 | "clk-rx-icn-hva", | ||
173 | "clk-icn-cpu", | ||
174 | "clk-tx-icn-dmu", | ||
175 | "clk-mmc-0", | ||
176 | "clk-mmc-1", | ||
177 | "clk-jpegdec", | ||
178 | "clk-ext2fa9", | ||
179 | "clk-ic-bdisp-0", | ||
180 | "clk-ic-bdisp-1", | ||
181 | "clk-pp-dmu", | ||
182 | "clk-vid-dmu", | ||
183 | "clk-dss-lpc", | ||
184 | "clk-st231-aud-0", | ||
185 | "clk-st231-gp-1", | ||
186 | "clk-st231-dmu", | ||
187 | "clk-icn-lmi", | ||
188 | "clk-tx-icn-disp-1", | ||
189 | "clk-icn-sbc", | ||
190 | "clk-stfe-frc2", | ||
191 | "clk-eth-phy", | ||
192 | "clk-eth-ref-phyclk", | ||
193 | "clk-flash-promip", | ||
194 | "clk-main-disp", | ||
195 | "clk-aux-disp", | ||
196 | "clk-compo-dvp"; | ||
197 | }; | ||
198 | }; | ||
199 | |||
200 | clk_s_d0_quadfs: clk-s-d0-quadfs@9104000 { | ||
201 | #clock-cells = <1>; | ||
202 | compatible = "st,stih407-quadfs660-D", "st,quadfs"; | ||
203 | reg = <0x9104000 0x1000>; | ||
204 | |||
205 | clocks = <&clk_sysin>; | ||
206 | |||
207 | clock-output-names = "clk-s-d0-fs0-ch0", | ||
208 | "clk-s-d0-fs0-ch1", | ||
209 | "clk-s-d0-fs0-ch2", | ||
210 | "clk-s-d0-fs0-ch3"; | ||
211 | }; | ||
212 | |||
213 | clockgen-d0@09104000 { | ||
214 | compatible = "st,clkgen-c32"; | ||
215 | reg = <0x9104000 0x1000>; | ||
216 | |||
217 | clk_s_d0_flexgen: clk-s-d0-flexgen { | ||
218 | #clock-cells = <1>; | ||
219 | compatible = "st,flexgen"; | ||
220 | |||
221 | clocks = <&clk_s_d0_quadfs 0>, | ||
222 | <&clk_s_d0_quadfs 1>, | ||
223 | <&clk_s_d0_quadfs 2>, | ||
224 | <&clk_s_d0_quadfs 3>, | ||
225 | <&clk_sysin>; | ||
226 | |||
227 | clock-output-names = "clk-pcm-0", | ||
228 | "clk-pcm-1", | ||
229 | "clk-pcm-2", | ||
230 | "clk-spdiff"; | ||
231 | }; | ||
232 | }; | ||
233 | |||
234 | clk_s_d2_quadfs: clk-s-d2-quadfs@9106000 { | ||
235 | #clock-cells = <1>; | ||
236 | compatible = "st,stih407-quadfs660-D", "st,quadfs"; | ||
237 | reg = <0x9106000 0x1000>; | ||
238 | |||
239 | clocks = <&clk_sysin>; | ||
240 | |||
241 | clock-output-names = "clk-s-d2-fs0-ch0", | ||
242 | "clk-s-d2-fs0-ch1", | ||
243 | "clk-s-d2-fs0-ch2", | ||
244 | "clk-s-d2-fs0-ch3"; | ||
245 | }; | ||
246 | |||
247 | clk_tmdsout_hdmi: clk-tmdsout-hdmi { | ||
248 | #clock-cells = <0>; | ||
249 | compatible = "fixed-clock"; | ||
250 | clock-frequency = <0>; | ||
251 | }; | ||
252 | |||
253 | clockgen-d2@x9106000 { | ||
254 | compatible = "st,clkgen-c32"; | ||
255 | reg = <0x9106000 0x1000>; | ||
256 | |||
257 | clk_s_d2_flexgen: clk-s-d2-flexgen { | ||
258 | #clock-cells = <1>; | ||
259 | compatible = "st,flexgen"; | ||
260 | |||
261 | clocks = <&clk_s_d2_quadfs 0>, | ||
262 | <&clk_s_d2_quadfs 1>, | ||
263 | <&clk_s_d2_quadfs 2>, | ||
264 | <&clk_s_d2_quadfs 3>, | ||
265 | <&clk_sysin>, | ||
266 | <&clk_sysin>, | ||
267 | <&clk_tmdsout_hdmi>; | ||
268 | |||
269 | clock-output-names = "clk-pix-main-disp", | ||
270 | "clk-pix-pip", | ||
271 | "clk-pix-gdp1", | ||
272 | "clk-pix-gdp2", | ||
273 | "clk-pix-gdp3", | ||
274 | "clk-pix-gdp4", | ||
275 | "clk-pix-aux-disp", | ||
276 | "clk-denc", | ||
277 | "clk-pix-hddac", | ||
278 | "clk-hddac", | ||
279 | "clk-sddac", | ||
280 | "clk-pix-dvo", | ||
281 | "clk-dvo", | ||
282 | "clk-pix-hdmi", | ||
283 | "clk-tmds-hdmi", | ||
284 | "clk-ref-hdmiphy"; | ||
285 | }; | ||
286 | }; | ||
287 | |||
288 | clk_s_d3_quadfs: clk-s-d3-quadfs@9107000 { | ||
289 | #clock-cells = <1>; | ||
290 | compatible = "st,stih407-quadfs660-D", "st,quadfs"; | ||
291 | reg = <0x9107000 0x1000>; | ||
292 | |||
293 | clocks = <&clk_sysin>; | ||
294 | |||
295 | clock-output-names = "clk-s-d3-fs0-ch0", | ||
296 | "clk-s-d3-fs0-ch1", | ||
297 | "clk-s-d3-fs0-ch2", | ||
298 | "clk-s-d3-fs0-ch3"; | ||
299 | }; | ||
300 | |||
301 | clockgen-d3@9107000 { | ||
302 | compatible = "st,clkgen-c32"; | ||
303 | reg = <0x9107000 0x1000>; | ||
304 | |||
305 | clk_s_d3_flexgen: clk-s-d3-flexgen { | ||
306 | #clock-cells = <1>; | ||
307 | compatible = "st,flexgen"; | ||
308 | |||
309 | clocks = <&clk_s_d3_quadfs 0>, | ||
310 | <&clk_s_d3_quadfs 1>, | ||
311 | <&clk_s_d3_quadfs 2>, | ||
312 | <&clk_s_d3_quadfs 3>, | ||
313 | <&clk_sysin>; | ||
314 | |||
315 | clock-output-names = "clk-stfe-frc1", | ||
316 | "clk-tsout-0", | ||
317 | "clk-tsout-1", | ||
318 | "clk-mchi", | ||
319 | "clk-vsens-compo", | ||
320 | "clk-frc1-remote", | ||
321 | "clk-lpc-0", | ||
322 | "clk-lpc-1"; | ||
323 | }; | ||
324 | }; | ||
38 | }; | 325 | }; |
39 | }; | 326 | }; |
diff --git a/arch/arm/boot/dts/stih407.dtsi b/arch/arm/boot/dts/stih407-family.dtsi index 4f9024f19866..3e31d32133b8 100644 --- a/arch/arm/boot/dts/stih407.dtsi +++ b/arch/arm/boot/dts/stih407-family.dtsi | |||
@@ -6,8 +6,8 @@ | |||
6 | * it under the terms of the GNU General Public License version 2 as | 6 | * it under the terms of the GNU General Public License version 2 as |
7 | * publishhed by the Free Software Foundation. | 7 | * publishhed by the Free Software Foundation. |
8 | */ | 8 | */ |
9 | #include "stih407-clock.dtsi" | ||
10 | #include "stih407-pinctrl.dtsi" | 9 | #include "stih407-pinctrl.dtsi" |
10 | #include <dt-bindings/reset-controller/stih407-resets.h> | ||
11 | / { | 11 | / { |
12 | #address-cells = <1>; | 12 | #address-cells = <1>; |
13 | #size-cells = <1>; | 13 | #size-cells = <1>; |
@@ -63,6 +63,21 @@ | |||
63 | ranges; | 63 | ranges; |
64 | compatible = "simple-bus"; | 64 | compatible = "simple-bus"; |
65 | 65 | ||
66 | powerdown: powerdown-controller { | ||
67 | compatible = "st,stih407-powerdown"; | ||
68 | #reset-cells = <1>; | ||
69 | }; | ||
70 | |||
71 | softreset: softreset-controller { | ||
72 | compatible = "st,stih407-softreset"; | ||
73 | #reset-cells = <1>; | ||
74 | }; | ||
75 | |||
76 | picophyreset: picophyreset-controller { | ||
77 | compatible = "st,stih407-picophyreset"; | ||
78 | #reset-cells = <1>; | ||
79 | }; | ||
80 | |||
66 | syscfg_sbc: sbc-syscfg@9620000 { | 81 | syscfg_sbc: sbc-syscfg@9620000 { |
67 | compatible = "st,stih407-sbc-syscfg", "syscon"; | 82 | compatible = "st,stih407-sbc-syscfg", "syscon"; |
68 | reg = <0x9620000 0x1000>; | 83 | reg = <0x9620000 0x1000>; |
@@ -104,7 +119,7 @@ | |||
104 | interrupts = <GIC_SPI 122 IRQ_TYPE_NONE>; | 119 | interrupts = <GIC_SPI 122 IRQ_TYPE_NONE>; |
105 | pinctrl-names = "default"; | 120 | pinctrl-names = "default"; |
106 | pinctrl-0 = <&pinctrl_serial0>; | 121 | pinctrl-0 = <&pinctrl_serial0>; |
107 | clocks = <&clk_ext2f_a9>; | 122 | clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>; |
108 | 123 | ||
109 | status = "disabled"; | 124 | status = "disabled"; |
110 | }; | 125 | }; |
@@ -115,7 +130,7 @@ | |||
115 | interrupts = <GIC_SPI 123 IRQ_TYPE_NONE>; | 130 | interrupts = <GIC_SPI 123 IRQ_TYPE_NONE>; |
116 | pinctrl-names = "default"; | 131 | pinctrl-names = "default"; |
117 | pinctrl-0 = <&pinctrl_serial1>; | 132 | pinctrl-0 = <&pinctrl_serial1>; |
118 | clocks = <&clk_ext2f_a9>; | 133 | clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>; |
119 | 134 | ||
120 | status = "disabled"; | 135 | status = "disabled"; |
121 | }; | 136 | }; |
@@ -126,7 +141,7 @@ | |||
126 | interrupts = <GIC_SPI 124 IRQ_TYPE_NONE>; | 141 | interrupts = <GIC_SPI 124 IRQ_TYPE_NONE>; |
127 | pinctrl-names = "default"; | 142 | pinctrl-names = "default"; |
128 | pinctrl-0 = <&pinctrl_serial2>; | 143 | pinctrl-0 = <&pinctrl_serial2>; |
129 | clocks = <&clk_ext2f_a9>; | 144 | clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>; |
130 | 145 | ||
131 | status = "disabled"; | 146 | status = "disabled"; |
132 | }; | 147 | }; |
@@ -158,7 +173,7 @@ | |||
158 | compatible = "st,comms-ssc4-i2c"; | 173 | compatible = "st,comms-ssc4-i2c"; |
159 | interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; | 174 | interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; |
160 | reg = <0x9840000 0x110>; | 175 | reg = <0x9840000 0x110>; |
161 | clocks = <&clk_ext2f_a9>; | 176 | clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>; |
162 | clock-names = "ssc"; | 177 | clock-names = "ssc"; |
163 | clock-frequency = <400000>; | 178 | clock-frequency = <400000>; |
164 | pinctrl-names = "default"; | 179 | pinctrl-names = "default"; |
@@ -171,7 +186,7 @@ | |||
171 | compatible = "st,comms-ssc4-i2c"; | 186 | compatible = "st,comms-ssc4-i2c"; |
172 | reg = <0x9841000 0x110>; | 187 | reg = <0x9841000 0x110>; |
173 | interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; | 188 | interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; |
174 | clocks = <&clk_ext2f_a9>; | 189 | clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>; |
175 | clock-names = "ssc"; | 190 | clock-names = "ssc"; |
176 | clock-frequency = <400000>; | 191 | clock-frequency = <400000>; |
177 | pinctrl-names = "default"; | 192 | pinctrl-names = "default"; |
@@ -184,7 +199,7 @@ | |||
184 | compatible = "st,comms-ssc4-i2c"; | 199 | compatible = "st,comms-ssc4-i2c"; |
185 | reg = <0x9842000 0x110>; | 200 | reg = <0x9842000 0x110>; |
186 | interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; | 201 | interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; |
187 | clocks = <&clk_ext2f_a9>; | 202 | clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>; |
188 | clock-names = "ssc"; | 203 | clock-names = "ssc"; |
189 | clock-frequency = <400000>; | 204 | clock-frequency = <400000>; |
190 | pinctrl-names = "default"; | 205 | pinctrl-names = "default"; |
@@ -197,7 +212,7 @@ | |||
197 | compatible = "st,comms-ssc4-i2c"; | 212 | compatible = "st,comms-ssc4-i2c"; |
198 | reg = <0x9843000 0x110>; | 213 | reg = <0x9843000 0x110>; |
199 | interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; | 214 | interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; |
200 | clocks = <&clk_ext2f_a9>; | 215 | clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>; |
201 | clock-names = "ssc"; | 216 | clock-names = "ssc"; |
202 | clock-frequency = <400000>; | 217 | clock-frequency = <400000>; |
203 | pinctrl-names = "default"; | 218 | pinctrl-names = "default"; |
@@ -210,7 +225,7 @@ | |||
210 | compatible = "st,comms-ssc4-i2c"; | 225 | compatible = "st,comms-ssc4-i2c"; |
211 | reg = <0x9844000 0x110>; | 226 | reg = <0x9844000 0x110>; |
212 | interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; | 227 | interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; |
213 | clocks = <&clk_ext2f_a9>; | 228 | clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>; |
214 | clock-names = "ssc"; | 229 | clock-names = "ssc"; |
215 | clock-frequency = <400000>; | 230 | clock-frequency = <400000>; |
216 | pinctrl-names = "default"; | 231 | pinctrl-names = "default"; |
@@ -223,7 +238,7 @@ | |||
223 | compatible = "st,comms-ssc4-i2c"; | 238 | compatible = "st,comms-ssc4-i2c"; |
224 | reg = <0x9845000 0x110>; | 239 | reg = <0x9845000 0x110>; |
225 | interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; | 240 | interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; |
226 | clocks = <&clk_ext2f_a9>; | 241 | clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>; |
227 | clock-names = "ssc"; | 242 | clock-names = "ssc"; |
228 | clock-frequency = <400000>; | 243 | clock-frequency = <400000>; |
229 | pinctrl-names = "default"; | 244 | pinctrl-names = "default"; |
diff --git a/arch/arm/boot/dts/stih410-b2120.dts b/arch/arm/boot/dts/stih410-b2120.dts new file mode 100644 index 000000000000..2f61a9960dee --- /dev/null +++ b/arch/arm/boot/dts/stih410-b2120.dts | |||
@@ -0,0 +1,29 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 STMicroelectronics (R&D) Limited. | ||
3 | * Author: Peter Griffin <peter.griffin@linaro.org> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | */ | ||
9 | /dts-v1/; | ||
10 | #include "stih410.dtsi" | ||
11 | #include "stihxxx-b2120.dtsi" | ||
12 | / { | ||
13 | model = "STiH410 B2120"; | ||
14 | compatible = "st,stih410-b2120", "st,stih410"; | ||
15 | |||
16 | chosen { | ||
17 | bootargs = "console=ttyAS0,115200 clk_ignore_unused"; | ||
18 | linux,stdout-path = &sbc_serial0; | ||
19 | }; | ||
20 | |||
21 | memory { | ||
22 | device_type = "memory"; | ||
23 | reg = <0x40000000 0x80000000>; | ||
24 | }; | ||
25 | |||
26 | aliases { | ||
27 | ttyAS0 = &sbc_serial0; | ||
28 | }; | ||
29 | }; | ||
diff --git a/arch/arm/boot/dts/stih410-clock.dtsi b/arch/arm/boot/dts/stih410-clock.dtsi new file mode 100644 index 000000000000..6b5803a30096 --- /dev/null +++ b/arch/arm/boot/dts/stih410-clock.dtsi | |||
@@ -0,0 +1,338 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 STMicroelectronics R&D Limited | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | */ | ||
8 | #include <dt-bindings/clock/stih410-clks.h> | ||
9 | / { | ||
10 | clocks { | ||
11 | #address-cells = <1>; | ||
12 | #size-cells = <1>; | ||
13 | ranges; | ||
14 | |||
15 | compatible = "st,stih410-clk", "simple-bus"; | ||
16 | |||
17 | /* | ||
18 | * Fixed 30MHz oscillator inputs to SoC | ||
19 | */ | ||
20 | clk_sysin: clk-sysin { | ||
21 | #clock-cells = <0>; | ||
22 | compatible = "fixed-clock"; | ||
23 | clock-frequency = <30000000>; | ||
24 | clock-output-names = "CLK_SYSIN"; | ||
25 | }; | ||
26 | |||
27 | /* | ||
28 | * ARM Peripheral clock for timers | ||
29 | */ | ||
30 | arm_periph_clk: clk-m-a9-periphs { | ||
31 | #clock-cells = <0>; | ||
32 | compatible = "fixed-factor-clock"; | ||
33 | clocks = <&clk_m_a9>; | ||
34 | clock-div = <2>; | ||
35 | clock-mult = <1>; | ||
36 | }; | ||
37 | |||
38 | /* | ||
39 | * A9 PLL. | ||
40 | */ | ||
41 | clockgen-a9@92b0000 { | ||
42 | compatible = "st,clkgen-c32"; | ||
43 | reg = <0x92b0000 0xffff>; | ||
44 | |||
45 | clockgen_a9_pll: clockgen-a9-pll { | ||
46 | #clock-cells = <1>; | ||
47 | compatible = "st,stih407-plls-c32-a9", "st,clkgen-plls-c32"; | ||
48 | |||
49 | clocks = <&clk_sysin>; | ||
50 | |||
51 | clock-output-names = "clockgen-a9-pll-odf"; | ||
52 | }; | ||
53 | }; | ||
54 | |||
55 | /* | ||
56 | * ARM CPU related clocks. | ||
57 | */ | ||
58 | clk_m_a9: clk-m-a9@92b0000 { | ||
59 | #clock-cells = <0>; | ||
60 | compatible = "st,stih407-clkgen-a9-mux", "st,clkgen-mux"; | ||
61 | reg = <0x92b0000 0x10000>; | ||
62 | |||
63 | clocks = <&clockgen_a9_pll 0>, | ||
64 | <&clockgen_a9_pll 0>, | ||
65 | <&clk_s_c0_flexgen 13>, | ||
66 | <&clk_m_a9_ext2f_div2>; | ||
67 | }; | ||
68 | |||
69 | /* | ||
70 | * ARM Peripheral clock for timers | ||
71 | */ | ||
72 | clk_m_a9_ext2f_div2: clk-m-a9-ext2f-div2s { | ||
73 | #clock-cells = <0>; | ||
74 | compatible = "fixed-factor-clock"; | ||
75 | |||
76 | clocks = <&clk_s_c0_flexgen 13>; | ||
77 | |||
78 | clock-output-names = "clk-m-a9-ext2f-div2"; | ||
79 | |||
80 | clock-div = <2>; | ||
81 | clock-mult = <1>; | ||
82 | }; | ||
83 | |||
84 | /* | ||
85 | * Bootloader initialized system infrastructure clock for | ||
86 | * serial devices. | ||
87 | */ | ||
88 | clk_ext2f_a9: clockgen-c0@13 { | ||
89 | #clock-cells = <0>; | ||
90 | compatible = "fixed-clock"; | ||
91 | clock-frequency = <200000000>; | ||
92 | clock-output-names = "clk-s-icn-reg-0"; | ||
93 | }; | ||
94 | |||
95 | clockgen-a@090ff000 { | ||
96 | compatible = "st,clkgen-c32"; | ||
97 | reg = <0x90ff000 0x1000>; | ||
98 | |||
99 | clk_s_a0_pll: clk-s-a0-pll { | ||
100 | #clock-cells = <1>; | ||
101 | compatible = "st,stih407-plls-c32-a0", "st,clkgen-plls-c32"; | ||
102 | |||
103 | clocks = <&clk_sysin>; | ||
104 | |||
105 | clock-output-names = "clk-s-a0-pll-ofd-0"; | ||
106 | }; | ||
107 | |||
108 | clk_s_a0_flexgen: clk-s-a0-flexgen { | ||
109 | compatible = "st,flexgen"; | ||
110 | |||
111 | #clock-cells = <1>; | ||
112 | |||
113 | clocks = <&clk_s_a0_pll 0>, | ||
114 | <&clk_sysin>; | ||
115 | |||
116 | clock-output-names = "clk-ic-lmi0", | ||
117 | "clk-ic-lmi1"; | ||
118 | }; | ||
119 | }; | ||
120 | |||
121 | clk_s_c0_quadfs: clk-s-c0-quadfs@9103000 { | ||
122 | #clock-cells = <1>; | ||
123 | compatible = "st,stih407-quadfs660-C", "st,quadfs"; | ||
124 | reg = <0x9103000 0x1000>; | ||
125 | |||
126 | clocks = <&clk_sysin>; | ||
127 | |||
128 | clock-output-names = "clk-s-c0-fs0-ch0", | ||
129 | "clk-s-c0-fs0-ch1", | ||
130 | "clk-s-c0-fs0-ch2", | ||
131 | "clk-s-c0-fs0-ch3"; | ||
132 | }; | ||
133 | |||
134 | clk_s_c0: clockgen-c@09103000 { | ||
135 | compatible = "st,clkgen-c32"; | ||
136 | reg = <0x9103000 0x1000>; | ||
137 | |||
138 | clk_s_c0_pll0: clk-s-c0-pll0 { | ||
139 | #clock-cells = <1>; | ||
140 | compatible = "st,stih407-plls-c32-c0_0", "st,clkgen-plls-c32"; | ||
141 | |||
142 | clocks = <&clk_sysin>; | ||
143 | |||
144 | clock-output-names = "clk-s-c0-pll0-odf-0"; | ||
145 | }; | ||
146 | |||
147 | clk_s_c0_pll1: clk-s-c0-pll1 { | ||
148 | #clock-cells = <1>; | ||
149 | compatible = "st,stih407-plls-c32-c0_1", "st,clkgen-plls-c32"; | ||
150 | |||
151 | clocks = <&clk_sysin>; | ||
152 | |||
153 | clock-output-names = "clk-s-c0-pll1-odf-0"; | ||
154 | }; | ||
155 | |||
156 | clk_s_c0_flexgen: clk-s-c0-flexgen { | ||
157 | #clock-cells = <1>; | ||
158 | compatible = "st,flexgen"; | ||
159 | |||
160 | clocks = <&clk_s_c0_pll0 0>, | ||
161 | <&clk_s_c0_pll1 0>, | ||
162 | <&clk_s_c0_quadfs 0>, | ||
163 | <&clk_s_c0_quadfs 1>, | ||
164 | <&clk_s_c0_quadfs 2>, | ||
165 | <&clk_s_c0_quadfs 3>, | ||
166 | <&clk_sysin>; | ||
167 | |||
168 | clock-output-names = "clk-icn-gpu", | ||
169 | "clk-fdma", | ||
170 | "clk-nand", | ||
171 | "clk-hva", | ||
172 | "clk-proc-stfe", | ||
173 | "clk-proc-tp", | ||
174 | "clk-rx-icn-dmu", | ||
175 | "clk-rx-icn-hva", | ||
176 | "clk-icn-cpu", | ||
177 | "clk-tx-icn-dmu", | ||
178 | "clk-mmc-0", | ||
179 | "clk-mmc-1", | ||
180 | "clk-jpegdec", | ||
181 | "clk-ext2fa9", | ||
182 | "clk-ic-bdisp-0", | ||
183 | "clk-ic-bdisp-1", | ||
184 | "clk-pp-dmu", | ||
185 | "clk-vid-dmu", | ||
186 | "clk-dss-lpc", | ||
187 | "clk-st231-aud-0", | ||
188 | "clk-st231-gp-1", | ||
189 | "clk-st231-dmu", | ||
190 | "clk-icn-lmi", | ||
191 | "clk-tx-icn-disp-1", | ||
192 | "clk-icn-sbc", | ||
193 | "clk-stfe-frc2", | ||
194 | "clk-eth-phy", | ||
195 | "clk-eth-ref-phyclk", | ||
196 | "clk-flash-promip", | ||
197 | "clk-main-disp", | ||
198 | "clk-aux-disp", | ||
199 | "clk-compo-dvp", | ||
200 | "clk-tx-icn-hades", | ||
201 | "clk-rx-icn-hades", | ||
202 | "clk-icn-reg-16", | ||
203 | "clk-pp-hades", | ||
204 | "clk-clust-hades", | ||
205 | "clk-hwpe-hades", | ||
206 | "clk-fc-hades"; | ||
207 | }; | ||
208 | }; | ||
209 | |||
210 | clk_s_d0_quadfs: clk-s-d0-quadfs@9104000 { | ||
211 | #clock-cells = <1>; | ||
212 | compatible = "st,stih407-quadfs660-D", "st,quadfs"; | ||
213 | reg = <0x9104000 0x1000>; | ||
214 | |||
215 | clocks = <&clk_sysin>; | ||
216 | |||
217 | clock-output-names = "clk-s-d0-fs0-ch0", | ||
218 | "clk-s-d0-fs0-ch1", | ||
219 | "clk-s-d0-fs0-ch2", | ||
220 | "clk-s-d0-fs0-ch3"; | ||
221 | }; | ||
222 | |||
223 | clockgen-d0@09104000 { | ||
224 | compatible = "st,clkgen-c32"; | ||
225 | reg = <0x9104000 0x1000>; | ||
226 | |||
227 | clk_s_d0_flexgen: clk-s-d0-flexgen { | ||
228 | #clock-cells = <1>; | ||
229 | compatible = "st,flexgen"; | ||
230 | |||
231 | clocks = <&clk_s_d0_quadfs 0>, | ||
232 | <&clk_s_d0_quadfs 1>, | ||
233 | <&clk_s_d0_quadfs 2>, | ||
234 | <&clk_s_d0_quadfs 3>, | ||
235 | <&clk_sysin>; | ||
236 | |||
237 | clock-output-names = "clk-pcm-0", | ||
238 | "clk-pcm-1", | ||
239 | "clk-pcm-2", | ||
240 | "clk-spdiff", | ||
241 | "clk-pcmr10-master", | ||
242 | "clk-usb2-phy"; | ||
243 | }; | ||
244 | }; | ||
245 | |||
246 | clk_s_d2_quadfs: clk-s-d2-quadfs@9106000 { | ||
247 | #clock-cells = <1>; | ||
248 | compatible = "st,stih407-quadfs660-D", "st,quadfs"; | ||
249 | reg = <0x9106000 0x1000>; | ||
250 | |||
251 | clocks = <&clk_sysin>; | ||
252 | |||
253 | clock-output-names = "clk-s-d2-fs0-ch0", | ||
254 | "clk-s-d2-fs0-ch1", | ||
255 | "clk-s-d2-fs0-ch2", | ||
256 | "clk-s-d2-fs0-ch3"; | ||
257 | }; | ||
258 | |||
259 | clk_tmdsout_hdmi: clk-tmdsout-hdmi { | ||
260 | #clock-cells = <0>; | ||
261 | compatible = "fixed-clock"; | ||
262 | clock-frequency = <0>; | ||
263 | }; | ||
264 | |||
265 | clockgen-d2@x9106000 { | ||
266 | compatible = "st,clkgen-c32"; | ||
267 | reg = <0x9106000 0x1000>; | ||
268 | |||
269 | clk_s_d2_flexgen: clk-s-d2-flexgen { | ||
270 | #clock-cells = <1>; | ||
271 | compatible = "st,flexgen"; | ||
272 | |||
273 | clocks = <&clk_s_d2_quadfs 0>, | ||
274 | <&clk_s_d2_quadfs 1>, | ||
275 | <&clk_s_d2_quadfs 2>, | ||
276 | <&clk_s_d2_quadfs 3>, | ||
277 | <&clk_sysin>, | ||
278 | <&clk_sysin>, | ||
279 | <&clk_tmdsout_hdmi>; | ||
280 | |||
281 | clock-output-names = "clk-pix-main-disp", | ||
282 | "clk-pix-pip", | ||
283 | "clk-pix-gdp1", | ||
284 | "clk-pix-gdp2", | ||
285 | "clk-pix-gdp3", | ||
286 | "clk-pix-gdp4", | ||
287 | "clk-pix-aux-disp", | ||
288 | "clk-denc", | ||
289 | "clk-pix-hddac", | ||
290 | "clk-hddac", | ||
291 | "clk-sddac", | ||
292 | "clk-pix-dvo", | ||
293 | "clk-dvo", | ||
294 | "clk-pix-hdmi", | ||
295 | "clk-tmds-hdmi", | ||
296 | "clk-ref-hdmiphy"; | ||
297 | }; | ||
298 | }; | ||
299 | |||
300 | clk_s_d3_quadfs: clk-s-d3-quadfs@9107000 { | ||
301 | #clock-cells = <1>; | ||
302 | compatible = "st,stih407-quadfs660-D", "st,quadfs"; | ||
303 | reg = <0x9107000 0x1000>; | ||
304 | |||
305 | clocks = <&clk_sysin>; | ||
306 | |||
307 | clock-output-names = "clk-s-d3-fs0-ch0", | ||
308 | "clk-s-d3-fs0-ch1", | ||
309 | "clk-s-d3-fs0-ch2", | ||
310 | "clk-s-d3-fs0-ch3"; | ||
311 | }; | ||
312 | |||
313 | clockgen-d3@9107000 { | ||
314 | compatible = "st,clkgen-c32"; | ||
315 | reg = <0x9107000 0x1000>; | ||
316 | |||
317 | clk_s_d3_flexgen: clk-s-d3-flexgen { | ||
318 | #clock-cells = <1>; | ||
319 | compatible = "st,flexgen"; | ||
320 | |||
321 | clocks = <&clk_s_d3_quadfs 0>, | ||
322 | <&clk_s_d3_quadfs 1>, | ||
323 | <&clk_s_d3_quadfs 2>, | ||
324 | <&clk_s_d3_quadfs 3>, | ||
325 | <&clk_sysin>; | ||
326 | |||
327 | clock-output-names = "clk-stfe-frc1", | ||
328 | "clk-tsout-0", | ||
329 | "clk-tsout-1", | ||
330 | "clk-mchi", | ||
331 | "clk-vsens-compo", | ||
332 | "clk-frc1-remote", | ||
333 | "clk-lpc-0", | ||
334 | "clk-lpc-1"; | ||
335 | }; | ||
336 | }; | ||
337 | }; | ||
338 | }; | ||
diff --git a/arch/arm/boot/dts/stih410-pinctrl.dtsi b/arch/arm/boot/dts/stih410-pinctrl.dtsi new file mode 100644 index 000000000000..b3e9dfc81c07 --- /dev/null +++ b/arch/arm/boot/dts/stih410-pinctrl.dtsi | |||
@@ -0,0 +1,34 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 STMicroelectronics Limited. | ||
3 | * Author: Peter Griffin <peter.griffin@linaro.org> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * publishhed by the Free Software Foundation. | ||
8 | */ | ||
9 | #include "st-pincfg.h" | ||
10 | / { | ||
11 | |||
12 | soc { | ||
13 | pin-controller-rear { | ||
14 | |||
15 | usb0 { | ||
16 | pinctrl_usb0: usb2-0 { | ||
17 | st,pins { | ||
18 | usb-oc-detect = <&pio35 0 ALT1 IN>; | ||
19 | usb-pwr-enable = <&pio35 1 ALT1 OUT>; | ||
20 | }; | ||
21 | }; | ||
22 | }; | ||
23 | |||
24 | usb1 { | ||
25 | pinctrl_usb1: usb2-1 { | ||
26 | st,pins { | ||
27 | usb-oc-detect = <&pio35 2 ALT1 IN>; | ||
28 | usb-pwr-enable = <&pio35 3 ALT1 OUT>; | ||
29 | }; | ||
30 | }; | ||
31 | }; | ||
32 | }; | ||
33 | }; | ||
34 | }; | ||
diff --git a/arch/arm/boot/dts/stih410.dtsi b/arch/arm/boot/dts/stih410.dtsi new file mode 100644 index 000000000000..c05627eb717d --- /dev/null +++ b/arch/arm/boot/dts/stih410.dtsi | |||
@@ -0,0 +1,14 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 STMicroelectronics Limited. | ||
3 | * Author: Peter Griffin <peter.griffin@linaro.org> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * publishhed by the Free Software Foundation. | ||
8 | */ | ||
9 | #include "stih410-clock.dtsi" | ||
10 | #include "stih407-family.dtsi" | ||
11 | #include "stih410-pinctrl.dtsi" | ||
12 | / { | ||
13 | |||
14 | }; | ||
diff --git a/arch/arm/boot/dts/stih415-pinctrl.dtsi b/arch/arm/boot/dts/stih415-pinctrl.dtsi index 8509a037ae21..3791ad95dbaf 100644 --- a/arch/arm/boot/dts/stih415-pinctrl.dtsi +++ b/arch/arm/boot/dts/stih415-pinctrl.dtsi | |||
@@ -11,33 +11,33 @@ | |||
11 | / { | 11 | / { |
12 | 12 | ||
13 | aliases { | 13 | aliases { |
14 | gpio0 = &PIO0; | 14 | gpio0 = &pio0; |
15 | gpio1 = &PIO1; | 15 | gpio1 = &pio1; |
16 | gpio2 = &PIO2; | 16 | gpio2 = &pio2; |
17 | gpio3 = &PIO3; | 17 | gpio3 = &pio3; |
18 | gpio4 = &PIO4; | 18 | gpio4 = &pio4; |
19 | gpio5 = &PIO5; | 19 | gpio5 = &pio5; |
20 | gpio6 = &PIO6; | 20 | gpio6 = &pio6; |
21 | gpio7 = &PIO7; | 21 | gpio7 = &pio7; |
22 | gpio8 = &PIO8; | 22 | gpio8 = &pio8; |
23 | gpio9 = &PIO9; | 23 | gpio9 = &pio9; |
24 | gpio10 = &PIO10; | 24 | gpio10 = &pio10; |
25 | gpio11 = &PIO11; | 25 | gpio11 = &pio11; |
26 | gpio12 = &PIO12; | 26 | gpio12 = &pio12; |
27 | gpio13 = &PIO13; | 27 | gpio13 = &pio13; |
28 | gpio14 = &PIO14; | 28 | gpio14 = &pio14; |
29 | gpio15 = &PIO15; | 29 | gpio15 = &pio15; |
30 | gpio16 = &PIO16; | 30 | gpio16 = &pio16; |
31 | gpio17 = &PIO17; | 31 | gpio17 = &pio17; |
32 | gpio18 = &PIO18; | 32 | gpio18 = &pio18; |
33 | gpio19 = &PIO100; | 33 | gpio19 = &pio100; |
34 | gpio20 = &PIO101; | 34 | gpio20 = &pio101; |
35 | gpio21 = &PIO102; | 35 | gpio21 = &pio102; |
36 | gpio22 = &PIO103; | 36 | gpio22 = &pio103; |
37 | gpio23 = &PIO104; | 37 | gpio23 = &pio104; |
38 | gpio24 = &PIO105; | 38 | gpio24 = &pio105; |
39 | gpio25 = &PIO106; | 39 | gpio25 = &pio106; |
40 | gpio26 = &PIO107; | 40 | gpio26 = &pio107; |
41 | }; | 41 | }; |
42 | 42 | ||
43 | soc { | 43 | soc { |
@@ -52,7 +52,7 @@ | |||
52 | interrupt-names = "irqmux"; | 52 | interrupt-names = "irqmux"; |
53 | ranges = <0 0xfe610000 0x5000>; | 53 | ranges = <0 0xfe610000 0x5000>; |
54 | 54 | ||
55 | PIO0: gpio@fe610000 { | 55 | pio0: gpio@fe610000 { |
56 | gpio-controller; | 56 | gpio-controller; |
57 | #gpio-cells = <1>; | 57 | #gpio-cells = <1>; |
58 | interrupt-controller; | 58 | interrupt-controller; |
@@ -60,7 +60,7 @@ | |||
60 | reg = <0 0x100>; | 60 | reg = <0 0x100>; |
61 | st,bank-name = "PIO0"; | 61 | st,bank-name = "PIO0"; |
62 | }; | 62 | }; |
63 | PIO1: gpio@fe611000 { | 63 | pio1: gpio@fe611000 { |
64 | gpio-controller; | 64 | gpio-controller; |
65 | #gpio-cells = <1>; | 65 | #gpio-cells = <1>; |
66 | interrupt-controller; | 66 | interrupt-controller; |
@@ -68,7 +68,7 @@ | |||
68 | reg = <0x1000 0x100>; | 68 | reg = <0x1000 0x100>; |
69 | st,bank-name = "PIO1"; | 69 | st,bank-name = "PIO1"; |
70 | }; | 70 | }; |
71 | PIO2: gpio@fe612000 { | 71 | pio2: gpio@fe612000 { |
72 | gpio-controller; | 72 | gpio-controller; |
73 | #gpio-cells = <1>; | 73 | #gpio-cells = <1>; |
74 | interrupt-controller; | 74 | interrupt-controller; |
@@ -76,7 +76,7 @@ | |||
76 | reg = <0x2000 0x100>; | 76 | reg = <0x2000 0x100>; |
77 | st,bank-name = "PIO2"; | 77 | st,bank-name = "PIO2"; |
78 | }; | 78 | }; |
79 | PIO3: gpio@fe613000 { | 79 | pio3: gpio@fe613000 { |
80 | gpio-controller; | 80 | gpio-controller; |
81 | #gpio-cells = <1>; | 81 | #gpio-cells = <1>; |
82 | interrupt-controller; | 82 | interrupt-controller; |
@@ -84,7 +84,7 @@ | |||
84 | reg = <0x3000 0x100>; | 84 | reg = <0x3000 0x100>; |
85 | st,bank-name = "PIO3"; | 85 | st,bank-name = "PIO3"; |
86 | }; | 86 | }; |
87 | PIO4: gpio@fe614000 { | 87 | pio4: gpio@fe614000 { |
88 | gpio-controller; | 88 | gpio-controller; |
89 | #gpio-cells = <1>; | 89 | #gpio-cells = <1>; |
90 | interrupt-controller; | 90 | interrupt-controller; |
@@ -96,8 +96,8 @@ | |||
96 | sbc_serial1 { | 96 | sbc_serial1 { |
97 | pinctrl_sbc_serial1:sbc_serial1 { | 97 | pinctrl_sbc_serial1:sbc_serial1 { |
98 | st,pins { | 98 | st,pins { |
99 | tx = <&PIO2 6 ALT3 OUT>; | 99 | tx = <&pio2 6 ALT3 OUT>; |
100 | rx = <&PIO2 7 ALT3 IN>; | 100 | rx = <&pio2 7 ALT3 IN>; |
101 | }; | 101 | }; |
102 | }; | 102 | }; |
103 | }; | 103 | }; |
@@ -105,15 +105,15 @@ | |||
105 | keyscan { | 105 | keyscan { |
106 | pinctrl_keyscan: keyscan { | 106 | pinctrl_keyscan: keyscan { |
107 | st,pins { | 107 | st,pins { |
108 | keyin0 = <&PIO0 2 ALT2 IN>; | 108 | keyin0 = <&pio0 2 ALT2 IN>; |
109 | keyin1 = <&PIO0 3 ALT2 IN>; | 109 | keyin1 = <&pio0 3 ALT2 IN>; |
110 | keyin2 = <&PIO0 4 ALT2 IN>; | 110 | keyin2 = <&pio0 4 ALT2 IN>; |
111 | keyin3 = <&PIO2 6 ALT2 IN>; | 111 | keyin3 = <&pio2 6 ALT2 IN>; |
112 | 112 | ||
113 | keyout0 = <&PIO1 6 ALT2 OUT>; | 113 | keyout0 = <&pio1 6 ALT2 OUT>; |
114 | keyout1 = <&PIO1 7 ALT2 OUT>; | 114 | keyout1 = <&pio1 7 ALT2 OUT>; |
115 | keyout2 = <&PIO0 6 ALT2 OUT>; | 115 | keyout2 = <&pio0 6 ALT2 OUT>; |
116 | keyout3 = <&PIO2 7 ALT2 OUT>; | 116 | keyout3 = <&pio2 7 ALT2 OUT>; |
117 | }; | 117 | }; |
118 | }; | 118 | }; |
119 | }; | 119 | }; |
@@ -121,8 +121,8 @@ | |||
121 | sbc_i2c0 { | 121 | sbc_i2c0 { |
122 | pinctrl_sbc_i2c0_default: sbc_i2c0-default { | 122 | pinctrl_sbc_i2c0_default: sbc_i2c0-default { |
123 | st,pins { | 123 | st,pins { |
124 | sda = <&PIO4 6 ALT1 BIDIR>; | 124 | sda = <&pio4 6 ALT1 BIDIR>; |
125 | scl = <&PIO4 5 ALT1 BIDIR>; | 125 | scl = <&pio4 5 ALT1 BIDIR>; |
126 | }; | 126 | }; |
127 | }; | 127 | }; |
128 | }; | 128 | }; |
@@ -130,8 +130,8 @@ | |||
130 | sbc_i2c1 { | 130 | sbc_i2c1 { |
131 | pinctrl_sbc_i2c1_default: sbc_i2c1-default { | 131 | pinctrl_sbc_i2c1_default: sbc_i2c1-default { |
132 | st,pins { | 132 | st,pins { |
133 | sda = <&PIO3 2 ALT2 BIDIR>; | 133 | sda = <&pio3 2 ALT2 BIDIR>; |
134 | scl = <&PIO3 1 ALT2 BIDIR>; | 134 | scl = <&pio3 1 ALT2 BIDIR>; |
135 | }; | 135 | }; |
136 | }; | 136 | }; |
137 | }; | 137 | }; |
@@ -139,7 +139,7 @@ | |||
139 | rc{ | 139 | rc{ |
140 | pinctrl_ir: ir0 { | 140 | pinctrl_ir: ir0 { |
141 | st,pins { | 141 | st,pins { |
142 | ir = <&PIO4 0 ALT2 IN>; | 142 | ir = <&pio4 0 ALT2 IN>; |
143 | }; | 143 | }; |
144 | }; | 144 | }; |
145 | }; | 145 | }; |
@@ -147,49 +147,49 @@ | |||
147 | gmac1 { | 147 | gmac1 { |
148 | pinctrl_mii1: mii1 { | 148 | pinctrl_mii1: mii1 { |
149 | st,pins { | 149 | st,pins { |
150 | txd0 = <&PIO0 0 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 150 | txd0 = <&pio0 0 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
151 | txd1 = <&PIO0 1 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 151 | txd1 = <&pio0 1 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
152 | txd2 = <&PIO0 2 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 152 | txd2 = <&pio0 2 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
153 | txd3 = <&PIO0 3 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 153 | txd3 = <&pio0 3 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
154 | txer = <&PIO0 4 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 154 | txer = <&pio0 4 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
155 | txen = <&PIO0 5 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 155 | txen = <&pio0 5 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
156 | txclk = <&PIO0 6 ALT1 IN NICLK 0 CLK_A>; | 156 | txclk = <&pio0 6 ALT1 IN NICLK 0 CLK_A>; |
157 | col = <&PIO0 7 ALT1 IN BYPASS 1000>; | 157 | col = <&pio0 7 ALT1 IN BYPASS 1000>; |
158 | mdio = <&PIO1 0 ALT1 OUT BYPASS 0>; | 158 | mdio = <&pio1 0 ALT1 OUT BYPASS 0>; |
159 | mdc = <&PIO1 1 ALT1 OUT NICLK 0 CLK_A>; | 159 | mdc = <&pio1 1 ALT1 OUT NICLK 0 CLK_A>; |
160 | crs = <&PIO1 2 ALT1 IN BYPASS 1000>; | 160 | crs = <&pio1 2 ALT1 IN BYPASS 1000>; |
161 | mdint = <&PIO1 3 ALT1 IN BYPASS 0>; | 161 | mdint = <&pio1 3 ALT1 IN BYPASS 0>; |
162 | rxd0 = <&PIO1 4 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 162 | rxd0 = <&pio1 4 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
163 | rxd1 = <&PIO1 5 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 163 | rxd1 = <&pio1 5 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
164 | rxd2 = <&PIO1 6 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 164 | rxd2 = <&pio1 6 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
165 | rxd3 = <&PIO1 7 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 165 | rxd3 = <&pio1 7 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
166 | rxdv = <&PIO2 0 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 166 | rxdv = <&pio2 0 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
167 | rx_er = <&PIO2 1 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 167 | rx_er = <&pio2 1 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
168 | rxclk = <&PIO2 2 ALT1 IN NICLK 0 CLK_A>; | 168 | rxclk = <&pio2 2 ALT1 IN NICLK 0 CLK_A>; |
169 | phyclk = <&PIO2 3 ALT1 IN NICLK 1000 CLK_A>; | 169 | phyclk = <&pio2 3 ALT1 IN NICLK 1000 CLK_A>; |
170 | }; | 170 | }; |
171 | }; | 171 | }; |
172 | 172 | ||
173 | pinctrl_rgmii1: rgmii1-0 { | 173 | pinctrl_rgmii1: rgmii1-0 { |
174 | st,pins { | 174 | st,pins { |
175 | txd0 = <&PIO0 0 ALT1 OUT DE_IO 1000 CLK_A>; | 175 | txd0 = <&pio0 0 ALT1 OUT DE_IO 1000 CLK_A>; |
176 | txd1 = <&PIO0 1 ALT1 OUT DE_IO 1000 CLK_A>; | 176 | txd1 = <&pio0 1 ALT1 OUT DE_IO 1000 CLK_A>; |
177 | txd2 = <&PIO0 2 ALT1 OUT DE_IO 1000 CLK_A>; | 177 | txd2 = <&pio0 2 ALT1 OUT DE_IO 1000 CLK_A>; |
178 | txd3 = <&PIO0 3 ALT1 OUT DE_IO 1000 CLK_A>; | 178 | txd3 = <&pio0 3 ALT1 OUT DE_IO 1000 CLK_A>; |
179 | txen = <&PIO0 5 ALT1 OUT DE_IO 0 CLK_A>; | 179 | txen = <&pio0 5 ALT1 OUT DE_IO 0 CLK_A>; |
180 | txclk = <&PIO0 6 ALT1 IN NICLK 0 CLK_A>; | 180 | txclk = <&pio0 6 ALT1 IN NICLK 0 CLK_A>; |
181 | mdio = <&PIO1 0 ALT1 OUT BYPASS 0>; | 181 | mdio = <&pio1 0 ALT1 OUT BYPASS 0>; |
182 | mdc = <&PIO1 1 ALT1 OUT NICLK 0 CLK_A>; | 182 | mdc = <&pio1 1 ALT1 OUT NICLK 0 CLK_A>; |
183 | rxd0 = <&PIO1 4 ALT1 IN DE_IO 0 CLK_A>; | 183 | rxd0 = <&pio1 4 ALT1 IN DE_IO 0 CLK_A>; |
184 | rxd1 = <&PIO1 5 ALT1 IN DE_IO 0 CLK_A>; | 184 | rxd1 = <&pio1 5 ALT1 IN DE_IO 0 CLK_A>; |
185 | rxd2 = <&PIO1 6 ALT1 IN DE_IO 0 CLK_A>; | 185 | rxd2 = <&pio1 6 ALT1 IN DE_IO 0 CLK_A>; |
186 | rxd3 = <&PIO1 7 ALT1 IN DE_IO 0 CLK_A>; | 186 | rxd3 = <&pio1 7 ALT1 IN DE_IO 0 CLK_A>; |
187 | 187 | ||
188 | rxdv = <&PIO2 0 ALT1 IN DE_IO 500 CLK_A>; | 188 | rxdv = <&pio2 0 ALT1 IN DE_IO 500 CLK_A>; |
189 | rxclk = <&PIO2 2 ALT1 IN NICLK 0 CLK_A>; | 189 | rxclk = <&pio2 2 ALT1 IN NICLK 0 CLK_A>; |
190 | phyclk = <&PIO2 3 ALT4 OUT NICLK 0 CLK_B>; | 190 | phyclk = <&pio2 3 ALT4 OUT NICLK 0 CLK_B>; |
191 | 191 | ||
192 | clk125= <&PIO3 7 ALT4 IN NICLK 0 CLK_A>; | 192 | clk125= <&pio3 7 ALT4 IN NICLK 0 CLK_A>; |
193 | }; | 193 | }; |
194 | }; | 194 | }; |
195 | }; | 195 | }; |
@@ -206,7 +206,7 @@ | |||
206 | interrupt-names = "irqmux"; | 206 | interrupt-names = "irqmux"; |
207 | ranges = <0 0xfee00000 0x8000>; | 207 | ranges = <0 0xfee00000 0x8000>; |
208 | 208 | ||
209 | PIO5: gpio@fee00000 { | 209 | pio5: gpio@fee00000 { |
210 | gpio-controller; | 210 | gpio-controller; |
211 | #gpio-cells = <1>; | 211 | #gpio-cells = <1>; |
212 | interrupt-controller; | 212 | interrupt-controller; |
@@ -214,7 +214,7 @@ | |||
214 | reg = <0 0x100>; | 214 | reg = <0 0x100>; |
215 | st,bank-name = "PIO5"; | 215 | st,bank-name = "PIO5"; |
216 | }; | 216 | }; |
217 | PIO6: gpio@fee01000 { | 217 | pio6: gpio@fee01000 { |
218 | gpio-controller; | 218 | gpio-controller; |
219 | #gpio-cells = <1>; | 219 | #gpio-cells = <1>; |
220 | interrupt-controller; | 220 | interrupt-controller; |
@@ -222,7 +222,7 @@ | |||
222 | reg = <0x1000 0x100>; | 222 | reg = <0x1000 0x100>; |
223 | st,bank-name = "PIO6"; | 223 | st,bank-name = "PIO6"; |
224 | }; | 224 | }; |
225 | PIO7: gpio@fee02000 { | 225 | pio7: gpio@fee02000 { |
226 | gpio-controller; | 226 | gpio-controller; |
227 | #gpio-cells = <1>; | 227 | #gpio-cells = <1>; |
228 | interrupt-controller; | 228 | interrupt-controller; |
@@ -230,7 +230,7 @@ | |||
230 | reg = <0x2000 0x100>; | 230 | reg = <0x2000 0x100>; |
231 | st,bank-name = "PIO7"; | 231 | st,bank-name = "PIO7"; |
232 | }; | 232 | }; |
233 | PIO8: gpio@fee03000 { | 233 | pio8: gpio@fee03000 { |
234 | gpio-controller; | 234 | gpio-controller; |
235 | #gpio-cells = <1>; | 235 | #gpio-cells = <1>; |
236 | interrupt-controller; | 236 | interrupt-controller; |
@@ -238,7 +238,7 @@ | |||
238 | reg = <0x3000 0x100>; | 238 | reg = <0x3000 0x100>; |
239 | st,bank-name = "PIO8"; | 239 | st,bank-name = "PIO8"; |
240 | }; | 240 | }; |
241 | PIO9: gpio@fee04000 { | 241 | pio9: gpio@fee04000 { |
242 | gpio-controller; | 242 | gpio-controller; |
243 | #gpio-cells = <1>; | 243 | #gpio-cells = <1>; |
244 | interrupt-controller; | 244 | interrupt-controller; |
@@ -246,7 +246,7 @@ | |||
246 | reg = <0x4000 0x100>; | 246 | reg = <0x4000 0x100>; |
247 | st,bank-name = "PIO9"; | 247 | st,bank-name = "PIO9"; |
248 | }; | 248 | }; |
249 | PIO10: gpio@fee05000 { | 249 | pio10: gpio@fee05000 { |
250 | gpio-controller; | 250 | gpio-controller; |
251 | #gpio-cells = <1>; | 251 | #gpio-cells = <1>; |
252 | interrupt-controller; | 252 | interrupt-controller; |
@@ -254,7 +254,7 @@ | |||
254 | reg = <0x5000 0x100>; | 254 | reg = <0x5000 0x100>; |
255 | st,bank-name = "PIO10"; | 255 | st,bank-name = "PIO10"; |
256 | }; | 256 | }; |
257 | PIO11: gpio@fee06000 { | 257 | pio11: gpio@fee06000 { |
258 | gpio-controller; | 258 | gpio-controller; |
259 | #gpio-cells = <1>; | 259 | #gpio-cells = <1>; |
260 | interrupt-controller; | 260 | interrupt-controller; |
@@ -262,7 +262,7 @@ | |||
262 | reg = <0x6000 0x100>; | 262 | reg = <0x6000 0x100>; |
263 | st,bank-name = "PIO11"; | 263 | st,bank-name = "PIO11"; |
264 | }; | 264 | }; |
265 | PIO12: gpio@fee07000 { | 265 | pio12: gpio@fee07000 { |
266 | gpio-controller; | 266 | gpio-controller; |
267 | #gpio-cells = <1>; | 267 | #gpio-cells = <1>; |
268 | interrupt-controller; | 268 | interrupt-controller; |
@@ -274,8 +274,8 @@ | |||
274 | i2c0 { | 274 | i2c0 { |
275 | pinctrl_i2c0_default: i2c0-default { | 275 | pinctrl_i2c0_default: i2c0-default { |
276 | st,pins { | 276 | st,pins { |
277 | sda = <&PIO9 3 ALT1 BIDIR>; | 277 | sda = <&pio9 3 ALT1 BIDIR>; |
278 | scl = <&PIO9 2 ALT1 BIDIR>; | 278 | scl = <&pio9 2 ALT1 BIDIR>; |
279 | }; | 279 | }; |
280 | }; | 280 | }; |
281 | }; | 281 | }; |
@@ -283,8 +283,8 @@ | |||
283 | i2c1 { | 283 | i2c1 { |
284 | pinctrl_i2c1_default: i2c1-default { | 284 | pinctrl_i2c1_default: i2c1-default { |
285 | st,pins { | 285 | st,pins { |
286 | sda = <&PIO12 1 ALT1 BIDIR>; | 286 | sda = <&pio12 1 ALT1 BIDIR>; |
287 | scl = <&PIO12 0 ALT1 BIDIR>; | 287 | scl = <&pio12 0 ALT1 BIDIR>; |
288 | }; | 288 | }; |
289 | }; | 289 | }; |
290 | }; | 290 | }; |
@@ -301,7 +301,7 @@ | |||
301 | interrupt-names = "irqmux"; | 301 | interrupt-names = "irqmux"; |
302 | ranges = <0 0xfe820000 0x8000>; | 302 | ranges = <0 0xfe820000 0x8000>; |
303 | 303 | ||
304 | PIO13: gpio@fe820000 { | 304 | pio13: gpio@fe820000 { |
305 | gpio-controller; | 305 | gpio-controller; |
306 | #gpio-cells = <1>; | 306 | #gpio-cells = <1>; |
307 | interrupt-controller; | 307 | interrupt-controller; |
@@ -309,7 +309,7 @@ | |||
309 | reg = <0 0x100>; | 309 | reg = <0 0x100>; |
310 | st,bank-name = "PIO13"; | 310 | st,bank-name = "PIO13"; |
311 | }; | 311 | }; |
312 | PIO14: gpio@fe821000 { | 312 | pio14: gpio@fe821000 { |
313 | gpio-controller; | 313 | gpio-controller; |
314 | #gpio-cells = <1>; | 314 | #gpio-cells = <1>; |
315 | interrupt-controller; | 315 | interrupt-controller; |
@@ -317,7 +317,7 @@ | |||
317 | reg = <0x1000 0x100>; | 317 | reg = <0x1000 0x100>; |
318 | st,bank-name = "PIO14"; | 318 | st,bank-name = "PIO14"; |
319 | }; | 319 | }; |
320 | PIO15: gpio@fe822000 { | 320 | pio15: gpio@fe822000 { |
321 | gpio-controller; | 321 | gpio-controller; |
322 | #gpio-cells = <1>; | 322 | #gpio-cells = <1>; |
323 | interrupt-controller; | 323 | interrupt-controller; |
@@ -325,7 +325,7 @@ | |||
325 | reg = <0x2000 0x100>; | 325 | reg = <0x2000 0x100>; |
326 | st,bank-name = "PIO15"; | 326 | st,bank-name = "PIO15"; |
327 | }; | 327 | }; |
328 | PIO16: gpio@fe823000 { | 328 | pio16: gpio@fe823000 { |
329 | gpio-controller; | 329 | gpio-controller; |
330 | #gpio-cells = <1>; | 330 | #gpio-cells = <1>; |
331 | interrupt-controller; | 331 | interrupt-controller; |
@@ -333,7 +333,7 @@ | |||
333 | reg = <0x3000 0x100>; | 333 | reg = <0x3000 0x100>; |
334 | st,bank-name = "PIO16"; | 334 | st,bank-name = "PIO16"; |
335 | }; | 335 | }; |
336 | PIO17: gpio@fe824000 { | 336 | pio17: gpio@fe824000 { |
337 | gpio-controller; | 337 | gpio-controller; |
338 | #gpio-cells = <1>; | 338 | #gpio-cells = <1>; |
339 | interrupt-controller; | 339 | interrupt-controller; |
@@ -341,7 +341,7 @@ | |||
341 | reg = <0x4000 0x100>; | 341 | reg = <0x4000 0x100>; |
342 | st,bank-name = "PIO17"; | 342 | st,bank-name = "PIO17"; |
343 | }; | 343 | }; |
344 | PIO18: gpio@fe825000 { | 344 | pio18: gpio@fe825000 { |
345 | gpio-controller; | 345 | gpio-controller; |
346 | #gpio-cells = <1>; | 346 | #gpio-cells = <1>; |
347 | interrupt-controller; | 347 | interrupt-controller; |
@@ -353,8 +353,8 @@ | |||
353 | serial2 { | 353 | serial2 { |
354 | pinctrl_serial2: serial2-0 { | 354 | pinctrl_serial2: serial2-0 { |
355 | st,pins { | 355 | st,pins { |
356 | tx = <&PIO17 4 ALT2 OUT>; | 356 | tx = <&pio17 4 ALT2 OUT>; |
357 | rx = <&PIO17 5 ALT2 IN>; | 357 | rx = <&pio17 5 ALT2 IN>; |
358 | }; | 358 | }; |
359 | }; | 359 | }; |
360 | }; | 360 | }; |
@@ -362,73 +362,94 @@ | |||
362 | gmac0{ | 362 | gmac0{ |
363 | pinctrl_mii0: mii0 { | 363 | pinctrl_mii0: mii0 { |
364 | st,pins { | 364 | st,pins { |
365 | mdint = <&PIO13 6 ALT2 IN BYPASS 0>; | 365 | mdint = <&pio13 6 ALT2 IN BYPASS 0>; |
366 | txen = <&PIO13 7 ALT2 OUT SE_NICLK_IO 0 CLK_A>; | 366 | txen = <&pio13 7 ALT2 OUT SE_NICLK_IO 0 CLK_A>; |
367 | 367 | ||
368 | txd0 = <&PIO14 0 ALT2 OUT SE_NICLK_IO 0 CLK_A>; | 368 | txd0 = <&pio14 0 ALT2 OUT SE_NICLK_IO 0 CLK_A>; |
369 | txd1 = <&PIO14 1 ALT2 OUT SE_NICLK_IO 0 CLK_A>; | 369 | txd1 = <&pio14 1 ALT2 OUT SE_NICLK_IO 0 CLK_A>; |
370 | txd2 = <&PIO14 2 ALT2 OUT SE_NICLK_IO 0 CLK_B>; | 370 | txd2 = <&pio14 2 ALT2 OUT SE_NICLK_IO 0 CLK_B>; |
371 | txd3 = <&PIO14 3 ALT2 OUT SE_NICLK_IO 0 CLK_B>; | 371 | txd3 = <&pio14 3 ALT2 OUT SE_NICLK_IO 0 CLK_B>; |
372 | 372 | ||
373 | txclk = <&PIO15 0 ALT2 IN NICLK 0 CLK_A>; | 373 | txclk = <&pio15 0 ALT2 IN NICLK 0 CLK_A>; |
374 | txer = <&PIO15 1 ALT2 OUT SE_NICLK_IO 0 CLK_A>; | 374 | txer = <&pio15 1 ALT2 OUT SE_NICLK_IO 0 CLK_A>; |
375 | crs = <&PIO15 2 ALT2 IN BYPASS 1000>; | 375 | crs = <&pio15 2 ALT2 IN BYPASS 1000>; |
376 | col = <&PIO15 3 ALT2 IN BYPASS 1000>; | 376 | col = <&pio15 3 ALT2 IN BYPASS 1000>; |
377 | mdio = <&PIO15 4 ALT2 OUT BYPASS 3000>; | 377 | mdio = <&pio15 4 ALT2 OUT BYPASS 3000>; |
378 | mdc = <&PIO15 5 ALT2 OUT NICLK 0 CLK_B>; | 378 | mdc = <&pio15 5 ALT2 OUT NICLK 0 CLK_B>; |
379 | 379 | ||
380 | rxd0 = <&PIO16 0 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 380 | rxd0 = <&pio16 0 ALT2 IN SE_NICLK_IO 0 CLK_A>; |
381 | rxd1 = <&PIO16 1 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 381 | rxd1 = <&pio16 1 ALT2 IN SE_NICLK_IO 0 CLK_A>; |
382 | rxd2 = <&PIO16 2 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 382 | rxd2 = <&pio16 2 ALT2 IN SE_NICLK_IO 0 CLK_A>; |
383 | rxd3 = <&PIO16 3 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 383 | rxd3 = <&pio16 3 ALT2 IN SE_NICLK_IO 0 CLK_A>; |
384 | rxdv = <&PIO15 6 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 384 | rxdv = <&pio15 6 ALT2 IN SE_NICLK_IO 0 CLK_A>; |
385 | rx_er = <&PIO15 7 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 385 | rx_er = <&pio15 7 ALT2 IN SE_NICLK_IO 0 CLK_A>; |
386 | rxclk = <&PIO17 0 ALT2 IN NICLK 0 CLK_A>; | 386 | rxclk = <&pio17 0 ALT2 IN NICLK 0 CLK_A>; |
387 | phyclk = <&PIO13 5 ALT2 OUT NICLK 1000 CLK_A>; | 387 | phyclk = <&pio13 5 ALT2 OUT NICLK 1000 CLK_A>; |
388 | 388 | ||
389 | }; | 389 | }; |
390 | }; | 390 | }; |
391 | 391 | ||
392 | pinctrl_gmii0: gmii0 { | 392 | pinctrl_gmii0: gmii0 { |
393 | st,pins { | 393 | st,pins { |
394 | mdint = <&PIO13 6 ALT2 IN BYPASS 0>; | 394 | mdint = <&pio13 6 ALT2 IN BYPASS 0>; |
395 | mdio = <&PIO15 4 ALT2 OUT BYPASS 3000>; | 395 | mdio = <&pio15 4 ALT2 OUT BYPASS 3000>; |
396 | mdc = <&PIO15 5 ALT2 OUT NICLK 0 CLK_B>; | 396 | mdc = <&pio15 5 ALT2 OUT NICLK 0 CLK_B>; |
397 | txen = <&PIO13 7 ALT2 OUT SE_NICLK_IO 3000 CLK_A>; | 397 | txen = <&pio13 7 ALT2 OUT SE_NICLK_IO 3000 CLK_A>; |
398 | 398 | ||
399 | txd0 = <&PIO14 0 ALT2 OUT SE_NICLK_IO 3000 CLK_A>; | 399 | txd0 = <&pio14 0 ALT2 OUT SE_NICLK_IO 3000 CLK_A>; |
400 | txd1 = <&PIO14 1 ALT2 OUT SE_NICLK_IO 3000 CLK_A>; | 400 | txd1 = <&pio14 1 ALT2 OUT SE_NICLK_IO 3000 CLK_A>; |
401 | txd2 = <&PIO14 2 ALT2 OUT SE_NICLK_IO 3000 CLK_B>; | 401 | txd2 = <&pio14 2 ALT2 OUT SE_NICLK_IO 3000 CLK_B>; |
402 | txd3 = <&PIO14 3 ALT2 OUT SE_NICLK_IO 3000 CLK_B>; | 402 | txd3 = <&pio14 3 ALT2 OUT SE_NICLK_IO 3000 CLK_B>; |
403 | txd4 = <&PIO14 4 ALT2 OUT SE_NICLK_IO 3000 CLK_B>; | 403 | txd4 = <&pio14 4 ALT2 OUT SE_NICLK_IO 3000 CLK_B>; |
404 | txd5 = <&PIO14 5 ALT2 OUT SE_NICLK_IO 3000 CLK_B>; | 404 | txd5 = <&pio14 5 ALT2 OUT SE_NICLK_IO 3000 CLK_B>; |
405 | txd6 = <&PIO14 6 ALT2 OUT SE_NICLK_IO 3000 CLK_B>; | 405 | txd6 = <&pio14 6 ALT2 OUT SE_NICLK_IO 3000 CLK_B>; |
406 | txd7 = <&PIO14 7 ALT2 OUT SE_NICLK_IO 3000 CLK_B>; | 406 | txd7 = <&pio14 7 ALT2 OUT SE_NICLK_IO 3000 CLK_B>; |
407 | 407 | ||
408 | txclk = <&PIO15 0 ALT2 IN NICLK 0 CLK_A>; | 408 | txclk = <&pio15 0 ALT2 IN NICLK 0 CLK_A>; |
409 | txer = <&PIO15 1 ALT2 OUT SE_NICLK_IO 3000 CLK_A>; | 409 | txer = <&pio15 1 ALT2 OUT SE_NICLK_IO 3000 CLK_A>; |
410 | crs = <&PIO15 2 ALT2 IN BYPASS 1000>; | 410 | crs = <&pio15 2 ALT2 IN BYPASS 1000>; |
411 | col = <&PIO15 3 ALT2 IN BYPASS 1000>; | 411 | col = <&pio15 3 ALT2 IN BYPASS 1000>; |
412 | rxdv = <&PIO15 6 ALT2 IN SE_NICLK_IO 1500 CLK_A>; | 412 | rxdv = <&pio15 6 ALT2 IN SE_NICLK_IO 1500 CLK_A>; |
413 | rx_er = <&PIO15 7 ALT2 IN SE_NICLK_IO 1500 CLK_A>; | 413 | rx_er = <&pio15 7 ALT2 IN SE_NICLK_IO 1500 CLK_A>; |
414 | 414 | ||
415 | rxd0 = <&PIO16 0 ALT2 IN SE_NICLK_IO 1500 CLK_A>; | 415 | rxd0 = <&pio16 0 ALT2 IN SE_NICLK_IO 1500 CLK_A>; |
416 | rxd1 = <&PIO16 1 ALT2 IN SE_NICLK_IO 1500 CLK_A>; | 416 | rxd1 = <&pio16 1 ALT2 IN SE_NICLK_IO 1500 CLK_A>; |
417 | rxd2 = <&PIO16 2 ALT2 IN SE_NICLK_IO 1500 CLK_A>; | 417 | rxd2 = <&pio16 2 ALT2 IN SE_NICLK_IO 1500 CLK_A>; |
418 | rxd3 = <&PIO16 3 ALT2 IN SE_NICLK_IO 1500 CLK_A>; | 418 | rxd3 = <&pio16 3 ALT2 IN SE_NICLK_IO 1500 CLK_A>; |
419 | rxd4 = <&PIO16 4 ALT2 IN SE_NICLK_IO 1500 CLK_A>; | 419 | rxd4 = <&pio16 4 ALT2 IN SE_NICLK_IO 1500 CLK_A>; |
420 | rxd5 = <&PIO16 5 ALT2 IN SE_NICLK_IO 1500 CLK_A>; | 420 | rxd5 = <&pio16 5 ALT2 IN SE_NICLK_IO 1500 CLK_A>; |
421 | rxd6 = <&PIO16 6 ALT2 IN SE_NICLK_IO 1500 CLK_A>; | 421 | rxd6 = <&pio16 6 ALT2 IN SE_NICLK_IO 1500 CLK_A>; |
422 | rxd7 = <&PIO16 7 ALT2 IN SE_NICLK_IO 1500 CLK_A>; | 422 | rxd7 = <&pio16 7 ALT2 IN SE_NICLK_IO 1500 CLK_A>; |
423 | 423 | ||
424 | rxclk = <&PIO17 0 ALT2 IN NICLK 0 CLK_A>; | 424 | rxclk = <&pio17 0 ALT2 IN NICLK 0 CLK_A>; |
425 | clk125 = <&PIO17 6 ALT1 IN NICLK 0 CLK_A>; | 425 | clk125 = <&pio17 6 ALT1 IN NICLK 0 CLK_A>; |
426 | phyclk = <&PIO13 5 ALT4 OUT NICLK 0 CLK_B>; | 426 | phyclk = <&pio13 5 ALT4 OUT NICLK 0 CLK_B>; |
427 | 427 | ||
428 | 428 | ||
429 | }; | 429 | }; |
430 | }; | 430 | }; |
431 | }; | 431 | }; |
432 | |||
433 | mmc0 { | ||
434 | pinctrl_mmc0: mmc0 { | ||
435 | st,pins { | ||
436 | mmcclk = <&pio13 4 ALT4 BIDIR_PU NICLK 0 CLK_B>; | ||
437 | data0 = <&pio14 4 ALT4 BIDIR_PU BYPASS 0>; | ||
438 | data1 = <&pio14 5 ALT4 BIDIR_PU BYPASS 0>; | ||
439 | data2 = <&pio14 6 ALT4 BIDIR_PU BYPASS 0>; | ||
440 | data3 = <&pio14 7 ALT4 BIDIR_PU BYPASS 0>; | ||
441 | cmd = <&pio15 1 ALT4 BIDIR_PU BYPASS 0>; | ||
442 | wp = <&pio15 3 ALT4 IN>; | ||
443 | data4 = <&pio16 4 ALT4 BIDIR_PU BYPASS 0>; | ||
444 | data5 = <&pio16 5 ALT4 BIDIR_PU BYPASS 0>; | ||
445 | data6 = <&pio16 6 ALT4 BIDIR_PU BYPASS 0>; | ||
446 | data7 = <&pio16 7 ALT4 BIDIR_PU BYPASS 0>; | ||
447 | pwr = <&pio17 1 ALT4 OUT>; | ||
448 | cd = <&pio17 2 ALT4 IN>; | ||
449 | led = <&pio17 3 ALT4 OUT>; | ||
450 | }; | ||
451 | }; | ||
452 | }; | ||
432 | }; | 453 | }; |
433 | 454 | ||
434 | pin-controller-left { | 455 | pin-controller-left { |
@@ -442,7 +463,7 @@ | |||
442 | interrupt-names = "irqmux"; | 463 | interrupt-names = "irqmux"; |
443 | ranges = <0 0xfd6b0000 0x3000>; | 464 | ranges = <0 0xfd6b0000 0x3000>; |
444 | 465 | ||
445 | PIO100: gpio@fd6b0000 { | 466 | pio100: gpio@fd6b0000 { |
446 | gpio-controller; | 467 | gpio-controller; |
447 | #gpio-cells = <1>; | 468 | #gpio-cells = <1>; |
448 | interrupt-controller; | 469 | interrupt-controller; |
@@ -450,7 +471,7 @@ | |||
450 | reg = <0 0x100>; | 471 | reg = <0 0x100>; |
451 | st,bank-name = "PIO100"; | 472 | st,bank-name = "PIO100"; |
452 | }; | 473 | }; |
453 | PIO101: gpio@fd6b1000 { | 474 | pio101: gpio@fd6b1000 { |
454 | gpio-controller; | 475 | gpio-controller; |
455 | #gpio-cells = <1>; | 476 | #gpio-cells = <1>; |
456 | interrupt-controller; | 477 | interrupt-controller; |
@@ -458,7 +479,7 @@ | |||
458 | reg = <0x1000 0x100>; | 479 | reg = <0x1000 0x100>; |
459 | st,bank-name = "PIO101"; | 480 | st,bank-name = "PIO101"; |
460 | }; | 481 | }; |
461 | PIO102: gpio@fd6b2000 { | 482 | pio102: gpio@fd6b2000 { |
462 | gpio-controller; | 483 | gpio-controller; |
463 | #gpio-cells = <1>; | 484 | #gpio-cells = <1>; |
464 | interrupt-controller; | 485 | interrupt-controller; |
@@ -479,7 +500,7 @@ | |||
479 | interrupt-names = "irqmux"; | 500 | interrupt-names = "irqmux"; |
480 | ranges = <0 0xfd330000 0x5000>; | 501 | ranges = <0 0xfd330000 0x5000>; |
481 | 502 | ||
482 | PIO103: gpio@fd330000 { | 503 | pio103: gpio@fd330000 { |
483 | gpio-controller; | 504 | gpio-controller; |
484 | #gpio-cells = <1>; | 505 | #gpio-cells = <1>; |
485 | interrupt-controller; | 506 | interrupt-controller; |
@@ -487,7 +508,7 @@ | |||
487 | reg = <0 0x100>; | 508 | reg = <0 0x100>; |
488 | st,bank-name = "PIO103"; | 509 | st,bank-name = "PIO103"; |
489 | }; | 510 | }; |
490 | PIO104: gpio@fd331000 { | 511 | pio104: gpio@fd331000 { |
491 | gpio-controller; | 512 | gpio-controller; |
492 | #gpio-cells = <1>; | 513 | #gpio-cells = <1>; |
493 | interrupt-controller; | 514 | interrupt-controller; |
@@ -495,7 +516,7 @@ | |||
495 | reg = <0x1000 0x100>; | 516 | reg = <0x1000 0x100>; |
496 | st,bank-name = "PIO104"; | 517 | st,bank-name = "PIO104"; |
497 | }; | 518 | }; |
498 | PIO105: gpio@fd332000 { | 519 | pio105: gpio@fd332000 { |
499 | gpio-controller; | 520 | gpio-controller; |
500 | #gpio-cells = <1>; | 521 | #gpio-cells = <1>; |
501 | interrupt-controller; | 522 | interrupt-controller; |
@@ -503,7 +524,7 @@ | |||
503 | reg = <0x2000 0x100>; | 524 | reg = <0x2000 0x100>; |
504 | st,bank-name = "PIO105"; | 525 | st,bank-name = "PIO105"; |
505 | }; | 526 | }; |
506 | PIO106: gpio@fd333000 { | 527 | pio106: gpio@fd333000 { |
507 | gpio-controller; | 528 | gpio-controller; |
508 | #gpio-cells = <1>; | 529 | #gpio-cells = <1>; |
509 | interrupt-controller; | 530 | interrupt-controller; |
@@ -511,7 +532,7 @@ | |||
511 | reg = <0x3000 0x100>; | 532 | reg = <0x3000 0x100>; |
512 | st,bank-name = "PIO106"; | 533 | st,bank-name = "PIO106"; |
513 | }; | 534 | }; |
514 | PIO107: gpio@fd334000 { | 535 | pio107: gpio@fd334000 { |
515 | gpio-controller; | 536 | gpio-controller; |
516 | #gpio-cells = <1>; | 537 | #gpio-cells = <1>; |
517 | interrupt-controller; | 538 | interrupt-controller; |
diff --git a/arch/arm/boot/dts/stih415.dtsi b/arch/arm/boot/dts/stih415.dtsi index a0f6f75fe3b5..9198c12765ea 100644 --- a/arch/arm/boot/dts/stih415.dtsi +++ b/arch/arm/boot/dts/stih415.dtsi | |||
@@ -218,5 +218,17 @@ | |||
218 | resets = <&powerdown STIH415_KEYSCAN_POWERDOWN>, | 218 | resets = <&powerdown STIH415_KEYSCAN_POWERDOWN>, |
219 | <&softreset STIH415_KEYSCAN_SOFTRESET>; | 219 | <&softreset STIH415_KEYSCAN_SOFTRESET>; |
220 | }; | 220 | }; |
221 | |||
222 | mmc0: sdhci@fe81e000 { | ||
223 | compatible = "st,sdhci"; | ||
224 | status = "disabled"; | ||
225 | reg = <0xfe81e000 0x1000>; | ||
226 | interrupts = <GIC_SPI 145 IRQ_TYPE_NONE>; | ||
227 | interrupt-names = "mmcirq"; | ||
228 | pinctrl-names = "default"; | ||
229 | pinctrl-0 = <&pinctrl_mmc0>; | ||
230 | clock-names = "mmc"; | ||
231 | clocks = <&clk_s_a1_ls 1>; | ||
232 | }; | ||
221 | }; | 233 | }; |
222 | }; | 234 | }; |
diff --git a/arch/arm/boot/dts/stih416-b2020.dts b/arch/arm/boot/dts/stih416-b2020.dts index 4e2df66b99ea..200a81844765 100644 --- a/arch/arm/boot/dts/stih416-b2020.dts +++ b/arch/arm/boot/dts/stih416-b2020.dts | |||
@@ -12,4 +12,26 @@ | |||
12 | / { | 12 | / { |
13 | model = "STiH416 B2020"; | 13 | model = "STiH416 B2020"; |
14 | compatible = "st,stih416-b2020", "st,stih416"; | 14 | compatible = "st,stih416-b2020", "st,stih416"; |
15 | |||
16 | soc { | ||
17 | mmc1: sdhci@fe81f000 { | ||
18 | status = "okay"; | ||
19 | bus-width = <8>; | ||
20 | non-removable; | ||
21 | }; | ||
22 | |||
23 | miphy365x_phy: phy@fe382000 { | ||
24 | phy_port0: port@fe382000 { | ||
25 | st,sata-gen = <3>; | ||
26 | }; | ||
27 | |||
28 | phy_port1: port@fe38a000 { | ||
29 | st,pcie-tx-pol-inv; | ||
30 | }; | ||
31 | }; | ||
32 | |||
33 | sata0: sata@fe380000{ | ||
34 | status = "okay"; | ||
35 | }; | ||
36 | }; | ||
15 | }; | 37 | }; |
diff --git a/arch/arm/boot/dts/stih416-b2020e.dts b/arch/arm/boot/dts/stih416-b2020e.dts index ba0fa2caaf18..961799e1dc51 100644 --- a/arch/arm/boot/dts/stih416-b2020e.dts +++ b/arch/arm/boot/dts/stih416-b2020e.dts | |||
@@ -19,17 +19,37 @@ | |||
19 | red { | 19 | red { |
20 | #gpio-cells = <1>; | 20 | #gpio-cells = <1>; |
21 | label = "Front Panel LED"; | 21 | label = "Front Panel LED"; |
22 | gpios = <&PIO4 1>; | 22 | gpios = <&pio4 1>; |
23 | linux,default-trigger = "heartbeat"; | 23 | linux,default-trigger = "heartbeat"; |
24 | }; | 24 | }; |
25 | green { | 25 | green { |
26 | gpios = <&PIO1 3>; | 26 | gpios = <&pio1 3>; |
27 | default-state = "off"; | 27 | default-state = "off"; |
28 | }; | 28 | }; |
29 | }; | 29 | }; |
30 | 30 | ||
31 | ethernet1: dwmac@fef08000 { | 31 | ethernet1: dwmac@fef08000 { |
32 | snps,reset-gpio = <&PIO0 7>; | 32 | snps,reset-gpio = <&pio0 7>; |
33 | }; | ||
34 | |||
35 | mmc1: sdhci@fe81f000 { | ||
36 | status = "okay"; | ||
37 | bus-width = <8>; | ||
38 | non-removable; | ||
39 | }; | ||
40 | |||
41 | miphy365x_phy: phy@fe382000 { | ||
42 | phy_port0: port@fe382000 { | ||
43 | st,sata-gen = <3>; | ||
44 | }; | ||
45 | |||
46 | phy_port1: port@fe38a000 { | ||
47 | st,pcie-tx-pol-inv; | ||
48 | }; | ||
49 | }; | ||
50 | |||
51 | sata0: sata@fe380000{ | ||
52 | status = "okay"; | ||
33 | }; | 53 | }; |
34 | }; | 54 | }; |
35 | }; | 55 | }; |
diff --git a/arch/arm/boot/dts/stih416-pinctrl.dtsi b/arch/arm/boot/dts/stih416-pinctrl.dtsi index ee6c119e261e..9cccf2d6aa26 100644 --- a/arch/arm/boot/dts/stih416-pinctrl.dtsi +++ b/arch/arm/boot/dts/stih416-pinctrl.dtsi | |||
@@ -12,36 +12,36 @@ | |||
12 | / { | 12 | / { |
13 | 13 | ||
14 | aliases { | 14 | aliases { |
15 | gpio0 = &PIO0; | 15 | gpio0 = &pio0; |
16 | gpio1 = &PIO1; | 16 | gpio1 = &pio1; |
17 | gpio2 = &PIO2; | 17 | gpio2 = &pio2; |
18 | gpio3 = &PIO3; | 18 | gpio3 = &pio3; |
19 | gpio4 = &PIO4; | 19 | gpio4 = &pio4; |
20 | gpio5 = &PIO40; | 20 | gpio5 = &pio40; |
21 | gpio6 = &PIO5; | 21 | gpio6 = &pio5; |
22 | gpio7 = &PIO6; | 22 | gpio7 = &pio6; |
23 | gpio8 = &PIO7; | 23 | gpio8 = &pio7; |
24 | gpio9 = &PIO8; | 24 | gpio9 = &pio8; |
25 | gpio10 = &PIO9; | 25 | gpio10 = &pio9; |
26 | gpio11 = &PIO10; | 26 | gpio11 = &pio10; |
27 | gpio12 = &PIO11; | 27 | gpio12 = &pio11; |
28 | gpio13 = &PIO12; | 28 | gpio13 = &pio12; |
29 | gpio14 = &PIO30; | 29 | gpio14 = &pio30; |
30 | gpio15 = &PIO31; | 30 | gpio15 = &pio31; |
31 | gpio16 = &PIO13; | 31 | gpio16 = &pio13; |
32 | gpio17 = &PIO14; | 32 | gpio17 = &pio14; |
33 | gpio18 = &PIO15; | 33 | gpio18 = &pio15; |
34 | gpio19 = &PIO16; | 34 | gpio19 = &pio16; |
35 | gpio20 = &PIO17; | 35 | gpio20 = &pio17; |
36 | gpio21 = &PIO18; | 36 | gpio21 = &pio18; |
37 | gpio22 = &PIO100; | 37 | gpio22 = &pio100; |
38 | gpio23 = &PIO101; | 38 | gpio23 = &pio101; |
39 | gpio24 = &PIO102; | 39 | gpio24 = &pio102; |
40 | gpio25 = &PIO103; | 40 | gpio25 = &pio103; |
41 | gpio26 = &PIO104; | 41 | gpio26 = &pio104; |
42 | gpio27 = &PIO105; | 42 | gpio27 = &pio105; |
43 | gpio28 = &PIO106; | 43 | gpio28 = &pio106; |
44 | gpio29 = &PIO107; | 44 | gpio29 = &pio107; |
45 | }; | 45 | }; |
46 | 46 | ||
47 | soc { | 47 | soc { |
@@ -56,7 +56,7 @@ | |||
56 | interrupt-names = "irqmux"; | 56 | interrupt-names = "irqmux"; |
57 | ranges = <0 0xfe610000 0x6000>; | 57 | ranges = <0 0xfe610000 0x6000>; |
58 | 58 | ||
59 | PIO0: gpio@fe610000 { | 59 | pio0: gpio@fe610000 { |
60 | gpio-controller; | 60 | gpio-controller; |
61 | #gpio-cells = <1>; | 61 | #gpio-cells = <1>; |
62 | interrupt-controller; | 62 | interrupt-controller; |
@@ -64,7 +64,7 @@ | |||
64 | reg = <0 0x100>; | 64 | reg = <0 0x100>; |
65 | st,bank-name = "PIO0"; | 65 | st,bank-name = "PIO0"; |
66 | }; | 66 | }; |
67 | PIO1: gpio@fe611000 { | 67 | pio1: gpio@fe611000 { |
68 | gpio-controller; | 68 | gpio-controller; |
69 | #gpio-cells = <1>; | 69 | #gpio-cells = <1>; |
70 | interrupt-controller; | 70 | interrupt-controller; |
@@ -72,7 +72,7 @@ | |||
72 | reg = <0x1000 0x100>; | 72 | reg = <0x1000 0x100>; |
73 | st,bank-name = "PIO1"; | 73 | st,bank-name = "PIO1"; |
74 | }; | 74 | }; |
75 | PIO2: gpio@fe612000 { | 75 | pio2: gpio@fe612000 { |
76 | gpio-controller; | 76 | gpio-controller; |
77 | #gpio-cells = <1>; | 77 | #gpio-cells = <1>; |
78 | interrupt-controller; | 78 | interrupt-controller; |
@@ -80,7 +80,7 @@ | |||
80 | reg = <0x2000 0x100>; | 80 | reg = <0x2000 0x100>; |
81 | st,bank-name = "PIO2"; | 81 | st,bank-name = "PIO2"; |
82 | }; | 82 | }; |
83 | PIO3: gpio@fe613000 { | 83 | pio3: gpio@fe613000 { |
84 | gpio-controller; | 84 | gpio-controller; |
85 | #gpio-cells = <1>; | 85 | #gpio-cells = <1>; |
86 | interrupt-controller; | 86 | interrupt-controller; |
@@ -88,7 +88,7 @@ | |||
88 | reg = <0x3000 0x100>; | 88 | reg = <0x3000 0x100>; |
89 | st,bank-name = "PIO3"; | 89 | st,bank-name = "PIO3"; |
90 | }; | 90 | }; |
91 | PIO4: gpio@fe614000 { | 91 | pio4: gpio@fe614000 { |
92 | gpio-controller; | 92 | gpio-controller; |
93 | #gpio-cells = <1>; | 93 | #gpio-cells = <1>; |
94 | interrupt-controller; | 94 | interrupt-controller; |
@@ -96,7 +96,7 @@ | |||
96 | reg = <0x4000 0x100>; | 96 | reg = <0x4000 0x100>; |
97 | st,bank-name = "PIO4"; | 97 | st,bank-name = "PIO4"; |
98 | }; | 98 | }; |
99 | PIO40: gpio@fe615000 { | 99 | pio40: gpio@fe615000 { |
100 | gpio-controller; | 100 | gpio-controller; |
101 | #gpio-cells = <1>; | 101 | #gpio-cells = <1>; |
102 | interrupt-controller; | 102 | interrupt-controller; |
@@ -109,15 +109,15 @@ | |||
109 | rc{ | 109 | rc{ |
110 | pinctrl_ir: ir0 { | 110 | pinctrl_ir: ir0 { |
111 | st,pins { | 111 | st,pins { |
112 | ir = <&PIO4 0 ALT2 IN>; | 112 | ir = <&pio4 0 ALT2 IN>; |
113 | }; | 113 | }; |
114 | }; | 114 | }; |
115 | }; | 115 | }; |
116 | sbc_serial1 { | 116 | sbc_serial1 { |
117 | pinctrl_sbc_serial1: sbc_serial1 { | 117 | pinctrl_sbc_serial1: sbc_serial1 { |
118 | st,pins { | 118 | st,pins { |
119 | tx = <&PIO2 6 ALT3 OUT>; | 119 | tx = <&pio2 6 ALT3 OUT>; |
120 | rx = <&PIO2 7 ALT3 IN>; | 120 | rx = <&pio2 7 ALT3 IN>; |
121 | }; | 121 | }; |
122 | }; | 122 | }; |
123 | }; | 123 | }; |
@@ -125,15 +125,15 @@ | |||
125 | keyscan { | 125 | keyscan { |
126 | pinctrl_keyscan: keyscan { | 126 | pinctrl_keyscan: keyscan { |
127 | st,pins { | 127 | st,pins { |
128 | keyin0 = <&PIO0 2 ALT2 IN>; | 128 | keyin0 = <&pio0 2 ALT2 IN>; |
129 | keyin1 = <&PIO0 3 ALT2 IN>; | 129 | keyin1 = <&pio0 3 ALT2 IN>; |
130 | keyin2 = <&PIO0 4 ALT2 IN>; | 130 | keyin2 = <&pio0 4 ALT2 IN>; |
131 | keyin3 = <&PIO2 6 ALT2 IN>; | 131 | keyin3 = <&pio2 6 ALT2 IN>; |
132 | 132 | ||
133 | keyout0 = <&PIO1 6 ALT2 OUT>; | 133 | keyout0 = <&pio1 6 ALT2 OUT>; |
134 | keyout1 = <&PIO1 7 ALT2 OUT>; | 134 | keyout1 = <&pio1 7 ALT2 OUT>; |
135 | keyout2 = <&PIO0 6 ALT2 OUT>; | 135 | keyout2 = <&pio0 6 ALT2 OUT>; |
136 | keyout3 = <&PIO2 7 ALT2 OUT>; | 136 | keyout3 = <&pio2 7 ALT2 OUT>; |
137 | }; | 137 | }; |
138 | }; | 138 | }; |
139 | }; | 139 | }; |
@@ -141,8 +141,17 @@ | |||
141 | sbc_i2c0 { | 141 | sbc_i2c0 { |
142 | pinctrl_sbc_i2c0_default: sbc_i2c0-default { | 142 | pinctrl_sbc_i2c0_default: sbc_i2c0-default { |
143 | st,pins { | 143 | st,pins { |
144 | sda = <&PIO4 6 ALT1 BIDIR>; | 144 | sda = <&pio4 6 ALT1 BIDIR>; |
145 | scl = <&PIO4 5 ALT1 BIDIR>; | 145 | scl = <&pio4 5 ALT1 BIDIR>; |
146 | }; | ||
147 | }; | ||
148 | }; | ||
149 | |||
150 | usb { | ||
151 | pinctrl_usb3: usb3 { | ||
152 | st,pins { | ||
153 | oc-detect = <&pio40 0 ALT1 IN>; | ||
154 | pwr-enable = <&pio40 1 ALT1 OUT>; | ||
146 | }; | 155 | }; |
147 | }; | 156 | }; |
148 | }; | 157 | }; |
@@ -150,8 +159,8 @@ | |||
150 | sbc_i2c1 { | 159 | sbc_i2c1 { |
151 | pinctrl_sbc_i2c1_default: sbc_i2c1-default { | 160 | pinctrl_sbc_i2c1_default: sbc_i2c1-default { |
152 | st,pins { | 161 | st,pins { |
153 | sda = <&PIO3 2 ALT2 BIDIR>; | 162 | sda = <&pio3 2 ALT2 BIDIR>; |
154 | scl = <&PIO3 1 ALT2 BIDIR>; | 163 | scl = <&pio3 1 ALT2 BIDIR>; |
155 | }; | 164 | }; |
156 | }; | 165 | }; |
157 | }; | 166 | }; |
@@ -159,51 +168,51 @@ | |||
159 | gmac1 { | 168 | gmac1 { |
160 | pinctrl_mii1: mii1 { | 169 | pinctrl_mii1: mii1 { |
161 | st,pins { | 170 | st,pins { |
162 | txd0 = <&PIO0 0 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 171 | txd0 = <&pio0 0 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
163 | txd1 = <&PIO0 1 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 172 | txd1 = <&pio0 1 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
164 | txd2 = <&PIO0 2 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 173 | txd2 = <&pio0 2 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
165 | txd3 = <&PIO0 3 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 174 | txd3 = <&pio0 3 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
166 | txer = <&PIO0 4 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 175 | txer = <&pio0 4 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
167 | txen = <&PIO0 5 ALT1 OUT SE_NICLK_IO 0 CLK_A>; | 176 | txen = <&pio0 5 ALT1 OUT SE_NICLK_IO 0 CLK_A>; |
168 | txclk = <&PIO0 6 ALT1 IN NICLK 0 CLK_A>; | 177 | txclk = <&pio0 6 ALT1 IN NICLK 0 CLK_A>; |
169 | col = <&PIO0 7 ALT1 IN BYPASS 1000>; | 178 | col = <&pio0 7 ALT1 IN BYPASS 1000>; |
170 | 179 | ||
171 | mdio = <&PIO1 0 ALT1 OUT BYPASS 1500>; | 180 | mdio = <&pio1 0 ALT1 OUT BYPASS 1500>; |
172 | mdc = <&PIO1 1 ALT1 OUT NICLK 0 CLK_A>; | 181 | mdc = <&pio1 1 ALT1 OUT NICLK 0 CLK_A>; |
173 | crs = <&PIO1 2 ALT1 IN BYPASS 1000>; | 182 | crs = <&pio1 2 ALT1 IN BYPASS 1000>; |
174 | mdint = <&PIO1 3 ALT1 IN BYPASS 0>; | 183 | mdint = <&pio1 3 ALT1 IN BYPASS 0>; |
175 | rxd0 = <&PIO1 4 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 184 | rxd0 = <&pio1 4 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
176 | rxd1 = <&PIO1 5 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 185 | rxd1 = <&pio1 5 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
177 | rxd2 = <&PIO1 6 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 186 | rxd2 = <&pio1 6 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
178 | rxd3 = <&PIO1 7 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 187 | rxd3 = <&pio1 7 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
179 | 188 | ||
180 | rxdv = <&PIO2 0 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 189 | rxdv = <&pio2 0 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
181 | rx_er = <&PIO2 1 ALT1 IN SE_NICLK_IO 0 CLK_A>; | 190 | rx_er = <&pio2 1 ALT1 IN SE_NICLK_IO 0 CLK_A>; |
182 | rxclk = <&PIO2 2 ALT1 IN NICLK 0 CLK_A>; | 191 | rxclk = <&pio2 2 ALT1 IN NICLK 0 CLK_A>; |
183 | phyclk = <&PIO2 3 ALT1 OUT NICLK 0 CLK_A>; | 192 | phyclk = <&pio2 3 ALT1 OUT NICLK 0 CLK_A>; |
184 | }; | 193 | }; |
185 | }; | 194 | }; |
186 | pinctrl_rgmii1: rgmii1-0 { | 195 | pinctrl_rgmii1: rgmii1-0 { |
187 | st,pins { | 196 | st,pins { |
188 | txd0 = <&PIO0 0 ALT1 OUT DE_IO 500 CLK_A>; | 197 | txd0 = <&pio0 0 ALT1 OUT DE_IO 500 CLK_A>; |
189 | txd1 = <&PIO0 1 ALT1 OUT DE_IO 500 CLK_A>; | 198 | txd1 = <&pio0 1 ALT1 OUT DE_IO 500 CLK_A>; |
190 | txd2 = <&PIO0 2 ALT1 OUT DE_IO 500 CLK_A>; | 199 | txd2 = <&pio0 2 ALT1 OUT DE_IO 500 CLK_A>; |
191 | txd3 = <&PIO0 3 ALT1 OUT DE_IO 500 CLK_A>; | 200 | txd3 = <&pio0 3 ALT1 OUT DE_IO 500 CLK_A>; |
192 | txen = <&PIO0 5 ALT1 OUT DE_IO 0 CLK_A>; | 201 | txen = <&pio0 5 ALT1 OUT DE_IO 0 CLK_A>; |
193 | txclk = <&PIO0 6 ALT1 IN NICLK 0 CLK_A>; | 202 | txclk = <&pio0 6 ALT1 IN NICLK 0 CLK_A>; |
194 | 203 | ||
195 | mdio = <&PIO1 0 ALT1 OUT BYPASS 0>; | 204 | mdio = <&pio1 0 ALT1 OUT BYPASS 0>; |
196 | mdc = <&PIO1 1 ALT1 OUT NICLK 0 CLK_A>; | 205 | mdc = <&pio1 1 ALT1 OUT NICLK 0 CLK_A>; |
197 | rxd0 = <&PIO1 4 ALT1 IN DE_IO 500 CLK_A>; | 206 | rxd0 = <&pio1 4 ALT1 IN DE_IO 500 CLK_A>; |
198 | rxd1 = <&PIO1 5 ALT1 IN DE_IO 500 CLK_A>; | 207 | rxd1 = <&pio1 5 ALT1 IN DE_IO 500 CLK_A>; |
199 | rxd2 = <&PIO1 6 ALT1 IN DE_IO 500 CLK_A>; | 208 | rxd2 = <&pio1 6 ALT1 IN DE_IO 500 CLK_A>; |
200 | rxd3 = <&PIO1 7 ALT1 IN DE_IO 500 CLK_A>; | 209 | rxd3 = <&pio1 7 ALT1 IN DE_IO 500 CLK_A>; |
201 | 210 | ||
202 | rxdv = <&PIO2 0 ALT1 IN DE_IO 500 CLK_A>; | 211 | rxdv = <&pio2 0 ALT1 IN DE_IO 500 CLK_A>; |
203 | rxclk = <&PIO2 2 ALT1 IN NICLK 0 CLK_A>; | 212 | rxclk = <&pio2 2 ALT1 IN NICLK 0 CLK_A>; |
204 | phyclk = <&PIO2 3 ALT4 OUT NICLK 0 CLK_B>; | 213 | phyclk = <&pio2 3 ALT4 OUT NICLK 0 CLK_B>; |
205 | 214 | ||
206 | clk125= <&PIO3 7 ALT4 IN NICLK 0 CLK_A>; | 215 | clk125= <&pio3 7 ALT4 IN NICLK 0 CLK_A>; |
207 | }; | 216 | }; |
208 | }; | 217 | }; |
209 | }; | 218 | }; |
@@ -220,7 +229,7 @@ | |||
220 | interrupt-names = "irqmux"; | 229 | interrupt-names = "irqmux"; |
221 | ranges = <0 0xfee00000 0x10000>; | 230 | ranges = <0 0xfee00000 0x10000>; |
222 | 231 | ||
223 | PIO5: gpio@fee00000 { | 232 | pio5: gpio@fee00000 { |
224 | gpio-controller; | 233 | gpio-controller; |
225 | #gpio-cells = <1>; | 234 | #gpio-cells = <1>; |
226 | interrupt-controller; | 235 | interrupt-controller; |
@@ -228,7 +237,7 @@ | |||
228 | reg = <0 0x100>; | 237 | reg = <0 0x100>; |
229 | st,bank-name = "PIO5"; | 238 | st,bank-name = "PIO5"; |
230 | }; | 239 | }; |
231 | PIO6: gpio@fee01000 { | 240 | pio6: gpio@fee01000 { |
232 | gpio-controller; | 241 | gpio-controller; |
233 | #gpio-cells = <1>; | 242 | #gpio-cells = <1>; |
234 | interrupt-controller; | 243 | interrupt-controller; |
@@ -236,7 +245,7 @@ | |||
236 | reg = <0x1000 0x100>; | 245 | reg = <0x1000 0x100>; |
237 | st,bank-name = "PIO6"; | 246 | st,bank-name = "PIO6"; |
238 | }; | 247 | }; |
239 | PIO7: gpio@fee02000 { | 248 | pio7: gpio@fee02000 { |
240 | gpio-controller; | 249 | gpio-controller; |
241 | #gpio-cells = <1>; | 250 | #gpio-cells = <1>; |
242 | interrupt-controller; | 251 | interrupt-controller; |
@@ -244,7 +253,7 @@ | |||
244 | reg = <0x2000 0x100>; | 253 | reg = <0x2000 0x100>; |
245 | st,bank-name = "PIO7"; | 254 | st,bank-name = "PIO7"; |
246 | }; | 255 | }; |
247 | PIO8: gpio@fee03000 { | 256 | pio8: gpio@fee03000 { |
248 | gpio-controller; | 257 | gpio-controller; |
249 | #gpio-cells = <1>; | 258 | #gpio-cells = <1>; |
250 | interrupt-controller; | 259 | interrupt-controller; |
@@ -252,7 +261,7 @@ | |||
252 | reg = <0x3000 0x100>; | 261 | reg = <0x3000 0x100>; |
253 | st,bank-name = "PIO8"; | 262 | st,bank-name = "PIO8"; |
254 | }; | 263 | }; |
255 | PIO9: gpio@fee04000 { | 264 | pio9: gpio@fee04000 { |
256 | gpio-controller; | 265 | gpio-controller; |
257 | #gpio-cells = <1>; | 266 | #gpio-cells = <1>; |
258 | interrupt-controller; | 267 | interrupt-controller; |
@@ -260,7 +269,7 @@ | |||
260 | reg = <0x4000 0x100>; | 269 | reg = <0x4000 0x100>; |
261 | st,bank-name = "PIO9"; | 270 | st,bank-name = "PIO9"; |
262 | }; | 271 | }; |
263 | PIO10: gpio@fee05000 { | 272 | pio10: gpio@fee05000 { |
264 | gpio-controller; | 273 | gpio-controller; |
265 | #gpio-cells = <1>; | 274 | #gpio-cells = <1>; |
266 | interrupt-controller; | 275 | interrupt-controller; |
@@ -268,7 +277,7 @@ | |||
268 | reg = <0x5000 0x100>; | 277 | reg = <0x5000 0x100>; |
269 | st,bank-name = "PIO10"; | 278 | st,bank-name = "PIO10"; |
270 | }; | 279 | }; |
271 | PIO11: gpio@fee06000 { | 280 | pio11: gpio@fee06000 { |
272 | gpio-controller; | 281 | gpio-controller; |
273 | #gpio-cells = <1>; | 282 | #gpio-cells = <1>; |
274 | interrupt-controller; | 283 | interrupt-controller; |
@@ -276,7 +285,7 @@ | |||
276 | reg = <0x6000 0x100>; | 285 | reg = <0x6000 0x100>; |
277 | st,bank-name = "PIO11"; | 286 | st,bank-name = "PIO11"; |
278 | }; | 287 | }; |
279 | PIO12: gpio@fee07000 { | 288 | pio12: gpio@fee07000 { |
280 | gpio-controller; | 289 | gpio-controller; |
281 | #gpio-cells = <1>; | 290 | #gpio-cells = <1>; |
282 | interrupt-controller; | 291 | interrupt-controller; |
@@ -284,7 +293,7 @@ | |||
284 | reg = <0x7000 0x100>; | 293 | reg = <0x7000 0x100>; |
285 | st,bank-name = "PIO12"; | 294 | st,bank-name = "PIO12"; |
286 | }; | 295 | }; |
287 | PIO30: gpio@fee08000 { | 296 | pio30: gpio@fee08000 { |
288 | gpio-controller; | 297 | gpio-controller; |
289 | #gpio-cells = <1>; | 298 | #gpio-cells = <1>; |
290 | interrupt-controller; | 299 | interrupt-controller; |
@@ -292,7 +301,7 @@ | |||
292 | reg = <0x8000 0x100>; | 301 | reg = <0x8000 0x100>; |
293 | st,bank-name = "PIO30"; | 302 | st,bank-name = "PIO30"; |
294 | }; | 303 | }; |
295 | PIO31: gpio@fee09000 { | 304 | pio31: gpio@fee09000 { |
296 | gpio-controller; | 305 | gpio-controller; |
297 | #gpio-cells = <1>; | 306 | #gpio-cells = <1>; |
298 | interrupt-controller; | 307 | interrupt-controller; |
@@ -304,7 +313,7 @@ | |||
304 | serial2-oe { | 313 | serial2-oe { |
305 | pinctrl_serial2_oe: serial2-1 { | 314 | pinctrl_serial2_oe: serial2-1 { |
306 | st,pins { | 315 | st,pins { |
307 | output-enable = <&PIO11 3 ALT2 OUT>; | 316 | output-enable = <&pio11 3 ALT2 OUT>; |
308 | }; | 317 | }; |
309 | }; | 318 | }; |
310 | }; | 319 | }; |
@@ -312,17 +321,27 @@ | |||
312 | i2c0 { | 321 | i2c0 { |
313 | pinctrl_i2c0_default: i2c0-default { | 322 | pinctrl_i2c0_default: i2c0-default { |
314 | st,pins { | 323 | st,pins { |
315 | sda = <&PIO9 3 ALT1 BIDIR>; | 324 | sda = <&pio9 3 ALT1 BIDIR>; |
316 | scl = <&PIO9 2 ALT1 BIDIR>; | 325 | scl = <&pio9 2 ALT1 BIDIR>; |
326 | }; | ||
327 | }; | ||
328 | }; | ||
329 | |||
330 | usb { | ||
331 | pinctrl_usb0: usb0 { | ||
332 | st,pins { | ||
333 | oc-detect = <&pio9 4 ALT1 IN>; | ||
334 | pwr-enable = <&pio9 5 ALT1 OUT>; | ||
317 | }; | 335 | }; |
318 | }; | 336 | }; |
319 | }; | 337 | }; |
320 | 338 | ||
339 | |||
321 | i2c1 { | 340 | i2c1 { |
322 | pinctrl_i2c1_default: i2c1-default { | 341 | pinctrl_i2c1_default: i2c1-default { |
323 | st,pins { | 342 | st,pins { |
324 | sda = <&PIO12 1 ALT1 BIDIR>; | 343 | sda = <&pio12 1 ALT1 BIDIR>; |
325 | scl = <&PIO12 0 ALT1 BIDIR>; | 344 | scl = <&pio12 0 ALT1 BIDIR>; |
326 | }; | 345 | }; |
327 | }; | 346 | }; |
328 | }; | 347 | }; |
@@ -330,12 +349,12 @@ | |||
330 | fsm { | 349 | fsm { |
331 | pinctrl_fsm: fsm { | 350 | pinctrl_fsm: fsm { |
332 | st,pins { | 351 | st,pins { |
333 | spi-fsm-clk = <&PIO12 2 ALT1 OUT>; | 352 | spi-fsm-clk = <&pio12 2 ALT1 OUT>; |
334 | spi-fsm-cs = <&PIO12 3 ALT1 OUT>; | 353 | spi-fsm-cs = <&pio12 3 ALT1 OUT>; |
335 | spi-fsm-mosi = <&PIO12 4 ALT1 OUT>; | 354 | spi-fsm-mosi = <&pio12 4 ALT1 OUT>; |
336 | spi-fsm-miso = <&PIO12 5 ALT1 IN>; | 355 | spi-fsm-miso = <&pio12 5 ALT1 IN>; |
337 | spi-fsm-hol = <&PIO12 6 ALT1 OUT>; | 356 | spi-fsm-hol = <&pio12 6 ALT1 OUT>; |
338 | spi-fsm-wp = <&PIO12 7 ALT1 OUT>; | 357 | spi-fsm-wp = <&pio12 7 ALT1 OUT>; |
339 | }; | 358 | }; |
340 | }; | 359 | }; |
341 | }; | 360 | }; |
@@ -352,7 +371,7 @@ | |||
352 | interrupt-names = "irqmux"; | 371 | interrupt-names = "irqmux"; |
353 | ranges = <0 0xfe820000 0x6000>; | 372 | ranges = <0 0xfe820000 0x6000>; |
354 | 373 | ||
355 | PIO13: gpio@fe820000 { | 374 | pio13: gpio@fe820000 { |
356 | gpio-controller; | 375 | gpio-controller; |
357 | #gpio-cells = <1>; | 376 | #gpio-cells = <1>; |
358 | interrupt-controller; | 377 | interrupt-controller; |
@@ -360,7 +379,7 @@ | |||
360 | reg = <0 0x100>; | 379 | reg = <0 0x100>; |
361 | st,bank-name = "PIO13"; | 380 | st,bank-name = "PIO13"; |
362 | }; | 381 | }; |
363 | PIO14: gpio@fe821000 { | 382 | pio14: gpio@fe821000 { |
364 | gpio-controller; | 383 | gpio-controller; |
365 | #gpio-cells = <1>; | 384 | #gpio-cells = <1>; |
366 | interrupt-controller; | 385 | interrupt-controller; |
@@ -368,7 +387,7 @@ | |||
368 | reg = <0x1000 0x100>; | 387 | reg = <0x1000 0x100>; |
369 | st,bank-name = "PIO14"; | 388 | st,bank-name = "PIO14"; |
370 | }; | 389 | }; |
371 | PIO15: gpio@fe822000 { | 390 | pio15: gpio@fe822000 { |
372 | gpio-controller; | 391 | gpio-controller; |
373 | #gpio-cells = <1>; | 392 | #gpio-cells = <1>; |
374 | interrupt-controller; | 393 | interrupt-controller; |
@@ -376,7 +395,7 @@ | |||
376 | reg = <0x2000 0x100>; | 395 | reg = <0x2000 0x100>; |
377 | st,bank-name = "PIO15"; | 396 | st,bank-name = "PIO15"; |
378 | }; | 397 | }; |
379 | PIO16: gpio@fe823000 { | 398 | pio16: gpio@fe823000 { |
380 | gpio-controller; | 399 | gpio-controller; |
381 | #gpio-cells = <1>; | 400 | #gpio-cells = <1>; |
382 | interrupt-controller; | 401 | interrupt-controller; |
@@ -384,7 +403,7 @@ | |||
384 | reg = <0x3000 0x100>; | 403 | reg = <0x3000 0x100>; |
385 | st,bank-name = "PIO16"; | 404 | st,bank-name = "PIO16"; |
386 | }; | 405 | }; |
387 | PIO17: gpio@fe824000 { | 406 | pio17: gpio@fe824000 { |
388 | gpio-controller; | 407 | gpio-controller; |
389 | #gpio-cells = <1>; | 408 | #gpio-cells = <1>; |
390 | interrupt-controller; | 409 | interrupt-controller; |
@@ -392,7 +411,7 @@ | |||
392 | reg = <0x4000 0x100>; | 411 | reg = <0x4000 0x100>; |
393 | st,bank-name = "PIO17"; | 412 | st,bank-name = "PIO17"; |
394 | }; | 413 | }; |
395 | PIO18: gpio@fe825000 { | 414 | pio18: gpio@fe825000 { |
396 | gpio-controller; | 415 | gpio-controller; |
397 | #gpio-cells = <1>; | 416 | #gpio-cells = <1>; |
398 | interrupt-controller; | 417 | interrupt-controller; |
@@ -405,8 +424,8 @@ | |||
405 | serial2 { | 424 | serial2 { |
406 | pinctrl_serial2: serial2-0 { | 425 | pinctrl_serial2: serial2-0 { |
407 | st,pins { | 426 | st,pins { |
408 | tx = <&PIO17 4 ALT2 OUT>; | 427 | tx = <&pio17 4 ALT2 OUT>; |
409 | rx = <&PIO17 5 ALT2 IN>; | 428 | rx = <&pio17 5 ALT2 IN>; |
410 | }; | 429 | }; |
411 | }; | 430 | }; |
412 | }; | 431 | }; |
@@ -414,28 +433,28 @@ | |||
414 | gmac0 { | 433 | gmac0 { |
415 | pinctrl_mii0: mii0 { | 434 | pinctrl_mii0: mii0 { |
416 | st,pins { | 435 | st,pins { |
417 | mdint = <&PIO13 6 ALT2 IN BYPASS 0>; | 436 | mdint = <&pio13 6 ALT2 IN BYPASS 0>; |
418 | txen = <&PIO13 7 ALT2 OUT SE_NICLK_IO 0 CLK_A>; | 437 | txen = <&pio13 7 ALT2 OUT SE_NICLK_IO 0 CLK_A>; |
419 | txd0 = <&PIO14 0 ALT2 OUT SE_NICLK_IO 0 CLK_A>; | 438 | txd0 = <&pio14 0 ALT2 OUT SE_NICLK_IO 0 CLK_A>; |
420 | txd1 = <&PIO14 1 ALT2 OUT SE_NICLK_IO 0 CLK_A>; | 439 | txd1 = <&pio14 1 ALT2 OUT SE_NICLK_IO 0 CLK_A>; |
421 | txd2 = <&PIO14 2 ALT2 OUT SE_NICLK_IO 0 CLK_B>; | 440 | txd2 = <&pio14 2 ALT2 OUT SE_NICLK_IO 0 CLK_B>; |
422 | txd3 = <&PIO14 3 ALT2 OUT SE_NICLK_IO 0 CLK_B>; | 441 | txd3 = <&pio14 3 ALT2 OUT SE_NICLK_IO 0 CLK_B>; |
423 | 442 | ||
424 | txclk = <&PIO15 0 ALT2 IN NICLK 0 CLK_A>; | 443 | txclk = <&pio15 0 ALT2 IN NICLK 0 CLK_A>; |
425 | txer = <&PIO15 1 ALT2 OUT SE_NICLK_IO 0 CLK_A>; | 444 | txer = <&pio15 1 ALT2 OUT SE_NICLK_IO 0 CLK_A>; |
426 | crs = <&PIO15 2 ALT2 IN BYPASS 1000>; | 445 | crs = <&pio15 2 ALT2 IN BYPASS 1000>; |
427 | col = <&PIO15 3 ALT2 IN BYPASS 1000>; | 446 | col = <&pio15 3 ALT2 IN BYPASS 1000>; |
428 | mdio= <&PIO15 4 ALT2 OUT BYPASS 1500>; | 447 | mdio= <&pio15 4 ALT2 OUT BYPASS 1500>; |
429 | mdc = <&PIO15 5 ALT2 OUT NICLK 0 CLK_B>; | 448 | mdc = <&pio15 5 ALT2 OUT NICLK 0 CLK_B>; |
430 | 449 | ||
431 | rxd0 = <&PIO16 0 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 450 | rxd0 = <&pio16 0 ALT2 IN SE_NICLK_IO 0 CLK_A>; |
432 | rxd1 = <&PIO16 1 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 451 | rxd1 = <&pio16 1 ALT2 IN SE_NICLK_IO 0 CLK_A>; |
433 | rxd2 = <&PIO16 2 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 452 | rxd2 = <&pio16 2 ALT2 IN SE_NICLK_IO 0 CLK_A>; |
434 | rxd3 = <&PIO16 3 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 453 | rxd3 = <&pio16 3 ALT2 IN SE_NICLK_IO 0 CLK_A>; |
435 | rxdv = <&PIO15 6 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 454 | rxdv = <&pio15 6 ALT2 IN SE_NICLK_IO 0 CLK_A>; |
436 | rx_er = <&PIO15 7 ALT2 IN SE_NICLK_IO 0 CLK_A>; | 455 | rx_er = <&pio15 7 ALT2 IN SE_NICLK_IO 0 CLK_A>; |
437 | rxclk = <&PIO17 0 ALT2 IN NICLK 0 CLK_A>; | 456 | rxclk = <&pio17 0 ALT2 IN NICLK 0 CLK_A>; |
438 | phyclk = <&PIO13 5 ALT2 OUT NICLK 0 CLK_B>; | 457 | phyclk = <&pio13 5 ALT2 OUT NICLK 0 CLK_B>; |
439 | }; | 458 | }; |
440 | }; | 459 | }; |
441 | 460 | ||
@@ -445,25 +464,79 @@ | |||
445 | }; | 464 | }; |
446 | pinctrl_rgmii0: rgmii0 { | 465 | pinctrl_rgmii0: rgmii0 { |
447 | st,pins { | 466 | st,pins { |
448 | phyclk = <&PIO13 5 ALT4 OUT NICLK 0 CLK_B>; | 467 | phyclk = <&pio13 5 ALT4 OUT NICLK 0 CLK_B>; |
449 | txen = <&PIO13 7 ALT2 OUT DE_IO 0 CLK_A>; | 468 | txen = <&pio13 7 ALT2 OUT DE_IO 0 CLK_A>; |
450 | txd0 = <&PIO14 0 ALT2 OUT DE_IO 500 CLK_A>; | 469 | txd0 = <&pio14 0 ALT2 OUT DE_IO 500 CLK_A>; |
451 | txd1 = <&PIO14 1 ALT2 OUT DE_IO 500 CLK_A>; | 470 | txd1 = <&pio14 1 ALT2 OUT DE_IO 500 CLK_A>; |
452 | txd2 = <&PIO14 2 ALT2 OUT DE_IO 500 CLK_B>; | 471 | txd2 = <&pio14 2 ALT2 OUT DE_IO 500 CLK_B>; |
453 | txd3 = <&PIO14 3 ALT2 OUT DE_IO 500 CLK_B>; | 472 | txd3 = <&pio14 3 ALT2 OUT DE_IO 500 CLK_B>; |
454 | txclk = <&PIO15 0 ALT2 IN NICLK 0 CLK_A>; | 473 | txclk = <&pio15 0 ALT2 IN NICLK 0 CLK_A>; |
455 | 474 | ||
456 | mdio = <&PIO15 4 ALT2 OUT BYPASS 0>; | 475 | mdio = <&pio15 4 ALT2 OUT BYPASS 0>; |
457 | mdc = <&PIO15 5 ALT2 OUT NICLK 0 CLK_B>; | 476 | mdc = <&pio15 5 ALT2 OUT NICLK 0 CLK_B>; |
458 | 477 | ||
459 | rxdv = <&PIO15 6 ALT2 IN DE_IO 500 CLK_A>; | 478 | rxdv = <&pio15 6 ALT2 IN DE_IO 500 CLK_A>; |
460 | rxd0 =<&PIO16 0 ALT2 IN DE_IO 500 CLK_A>; | 479 | rxd0 =<&pio16 0 ALT2 IN DE_IO 500 CLK_A>; |
461 | rxd1 =<&PIO16 1 ALT2 IN DE_IO 500 CLK_A>; | 480 | rxd1 =<&pio16 1 ALT2 IN DE_IO 500 CLK_A>; |
462 | rxd2 =<&PIO16 2 ALT2 IN DE_IO 500 CLK_A>; | 481 | rxd2 =<&pio16 2 ALT2 IN DE_IO 500 CLK_A>; |
463 | rxd3 =<&PIO16 3 ALT2 IN DE_IO 500 CLK_A>; | 482 | rxd3 =<&pio16 3 ALT2 IN DE_IO 500 CLK_A>; |
464 | rxclk =<&PIO17 0 ALT2 IN NICLK 0 CLK_A>; | 483 | rxclk =<&pio17 0 ALT2 IN NICLK 0 CLK_A>; |
465 | 484 | ||
466 | clk125=<&PIO17 6 ALT1 IN NICLK 0 CLK_A>; | 485 | clk125=<&pio17 6 ALT1 IN NICLK 0 CLK_A>; |
486 | }; | ||
487 | }; | ||
488 | }; | ||
489 | |||
490 | mmc0 { | ||
491 | pinctrl_mmc0: mmc0 { | ||
492 | st,pins { | ||
493 | mmcclk = <&pio13 4 ALT4 BIDIR_PU NICLK 0 CLK_B>; | ||
494 | data0 = <&pio14 4 ALT4 BIDIR_PU BYPASS 0>; | ||
495 | data1 = <&pio14 5 ALT4 BIDIR_PU BYPASS 0>; | ||
496 | data2 = <&pio14 6 ALT4 BIDIR_PU BYPASS 0>; | ||
497 | data3 = <&pio14 7 ALT4 BIDIR_PU BYPASS 0>; | ||
498 | cmd = <&pio15 1 ALT4 BIDIR_PU BYPASS 0>; | ||
499 | wp = <&pio15 3 ALT4 IN>; | ||
500 | data4 = <&pio16 4 ALT4 BIDIR_PU BYPASS 0>; | ||
501 | data5 = <&pio16 5 ALT4 BIDIR_PU BYPASS 0>; | ||
502 | data6 = <&pio16 6 ALT4 BIDIR_PU BYPASS 0>; | ||
503 | data7 = <&pio16 7 ALT4 BIDIR_PU BYPASS 0>; | ||
504 | pwr = <&pio17 1 ALT4 OUT>; | ||
505 | cd = <&pio17 2 ALT4 IN>; | ||
506 | led = <&pio17 3 ALT4 OUT>; | ||
507 | }; | ||
508 | }; | ||
509 | }; | ||
510 | mmc1 { | ||
511 | pinctrl_mmc1: mmc1 { | ||
512 | st,pins { | ||
513 | mmcclk = <&pio15 0 ALT3 BIDIR_PU NICLK 0 CLK_B>; | ||
514 | data0 = <&pio13 7 ALT3 BIDIR_PU BYPASS 0>; | ||
515 | data1 = <&pio14 1 ALT3 BIDIR_PU BYPASS 0>; | ||
516 | data2 = <&pio14 2 ALT3 BIDIR_PU BYPASS 0>; | ||
517 | data3 = <&pio14 3 ALT3 BIDIR_PU BYPASS 0>; | ||
518 | cmd = <&pio15 4 ALT3 BIDIR_PU BYPASS 0>; | ||
519 | data4 = <&pio15 6 ALT3 BIDIR_PU BYPASS 0>; | ||
520 | data5 = <&pio15 7 ALT3 BIDIR_PU BYPASS 0>; | ||
521 | data6 = <&pio16 0 ALT3 BIDIR_PU BYPASS 0>; | ||
522 | data7 = <&pio16 1 ALT3 BIDIR_PU BYPASS 0>; | ||
523 | pwr = <&pio16 2 ALT3 OUT>; | ||
524 | nreset = <&pio13 6 ALT3 OUT>; | ||
525 | }; | ||
526 | }; | ||
527 | }; | ||
528 | |||
529 | usb { | ||
530 | pinctrl_usb1: usb1 { | ||
531 | st,pins { | ||
532 | oc-detect = <&pio18 0 ALT1 IN>; | ||
533 | pwr-enable = <&pio18 1 ALT1 OUT>; | ||
534 | }; | ||
535 | }; | ||
536 | pinctrl_usb2: usb2 { | ||
537 | st,pins { | ||
538 | oc-detect = <&pio18 2 ALT1 IN>; | ||
539 | pwr-enable = <&pio18 3 ALT1 OUT>; | ||
467 | }; | 540 | }; |
468 | }; | 541 | }; |
469 | }; | 542 | }; |
@@ -480,7 +553,7 @@ | |||
480 | interrupt-names = "irqmux"; | 553 | interrupt-names = "irqmux"; |
481 | ranges = <0 0xfd6b0000 0x3000>; | 554 | ranges = <0 0xfd6b0000 0x3000>; |
482 | 555 | ||
483 | PIO100: gpio@fd6b0000 { | 556 | pio100: gpio@fd6b0000 { |
484 | gpio-controller; | 557 | gpio-controller; |
485 | #gpio-cells = <1>; | 558 | #gpio-cells = <1>; |
486 | interrupt-controller; | 559 | interrupt-controller; |
@@ -488,7 +561,7 @@ | |||
488 | reg = <0 0x100>; | 561 | reg = <0 0x100>; |
489 | st,bank-name = "PIO100"; | 562 | st,bank-name = "PIO100"; |
490 | }; | 563 | }; |
491 | PIO101: gpio@fd6b1000 { | 564 | pio101: gpio@fd6b1000 { |
492 | gpio-controller; | 565 | gpio-controller; |
493 | #gpio-cells = <1>; | 566 | #gpio-cells = <1>; |
494 | interrupt-controller; | 567 | interrupt-controller; |
@@ -496,7 +569,7 @@ | |||
496 | reg = <0x1000 0x100>; | 569 | reg = <0x1000 0x100>; |
497 | st,bank-name = "PIO101"; | 570 | st,bank-name = "PIO101"; |
498 | }; | 571 | }; |
499 | PIO102: gpio@fd6b2000 { | 572 | pio102: gpio@fd6b2000 { |
500 | gpio-controller; | 573 | gpio-controller; |
501 | #gpio-cells = <1>; | 574 | #gpio-cells = <1>; |
502 | interrupt-controller; | 575 | interrupt-controller; |
@@ -517,7 +590,7 @@ | |||
517 | interrupt-names = "irqmux"; | 590 | interrupt-names = "irqmux"; |
518 | ranges = <0 0xfd330000 0x5000>; | 591 | ranges = <0 0xfd330000 0x5000>; |
519 | 592 | ||
520 | PIO103: gpio@fd330000 { | 593 | pio103: gpio@fd330000 { |
521 | gpio-controller; | 594 | gpio-controller; |
522 | #gpio-cells = <1>; | 595 | #gpio-cells = <1>; |
523 | interrupt-controller; | 596 | interrupt-controller; |
@@ -525,7 +598,7 @@ | |||
525 | reg = <0 0x100>; | 598 | reg = <0 0x100>; |
526 | st,bank-name = "PIO103"; | 599 | st,bank-name = "PIO103"; |
527 | }; | 600 | }; |
528 | PIO104: gpio@fd331000 { | 601 | pio104: gpio@fd331000 { |
529 | gpio-controller; | 602 | gpio-controller; |
530 | #gpio-cells = <1>; | 603 | #gpio-cells = <1>; |
531 | interrupt-controller; | 604 | interrupt-controller; |
@@ -533,7 +606,7 @@ | |||
533 | reg = <0x1000 0x100>; | 606 | reg = <0x1000 0x100>; |
534 | st,bank-name = "PIO104"; | 607 | st,bank-name = "PIO104"; |
535 | }; | 608 | }; |
536 | PIO105: gpio@fd332000 { | 609 | pio105: gpio@fd332000 { |
537 | gpio-controller; | 610 | gpio-controller; |
538 | #gpio-cells = <1>; | 611 | #gpio-cells = <1>; |
539 | interrupt-controller; | 612 | interrupt-controller; |
@@ -541,7 +614,7 @@ | |||
541 | reg = <0x2000 0x100>; | 614 | reg = <0x2000 0x100>; |
542 | st,bank-name = "PIO105"; | 615 | st,bank-name = "PIO105"; |
543 | }; | 616 | }; |
544 | PIO106: gpio@fd333000 { | 617 | pio106: gpio@fd333000 { |
545 | gpio-controller; | 618 | gpio-controller; |
546 | #gpio-cells = <1>; | 619 | #gpio-cells = <1>; |
547 | interrupt-controller; | 620 | interrupt-controller; |
@@ -550,7 +623,7 @@ | |||
550 | st,bank-name = "PIO106"; | 623 | st,bank-name = "PIO106"; |
551 | }; | 624 | }; |
552 | 625 | ||
553 | PIO107: gpio@fd334000 { | 626 | pio107: gpio@fd334000 { |
554 | gpio-controller; | 627 | gpio-controller; |
555 | #gpio-cells = <1>; | 628 | #gpio-cells = <1>; |
556 | interrupt-controller; | 629 | interrupt-controller; |
diff --git a/arch/arm/boot/dts/stih416.dtsi b/arch/arm/boot/dts/stih416.dtsi index 84758d76d064..fad9073ddeed 100644 --- a/arch/arm/boot/dts/stih416.dtsi +++ b/arch/arm/boot/dts/stih416.dtsi | |||
@@ -9,6 +9,8 @@ | |||
9 | #include "stih41x.dtsi" | 9 | #include "stih41x.dtsi" |
10 | #include "stih416-clock.dtsi" | 10 | #include "stih416-clock.dtsi" |
11 | #include "stih416-pinctrl.dtsi" | 11 | #include "stih416-pinctrl.dtsi" |
12 | |||
13 | #include <dt-bindings/phy/phy-miphy365x.h> | ||
12 | #include <dt-bindings/interrupt-controller/arm-gic.h> | 14 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
13 | #include <dt-bindings/reset-controller/stih416-resets.h> | 15 | #include <dt-bindings/reset-controller/stih416-resets.h> |
14 | / { | 16 | / { |
@@ -236,5 +238,212 @@ | |||
236 | resets = <&powerdown STIH416_KEYSCAN_POWERDOWN>, | 238 | resets = <&powerdown STIH416_KEYSCAN_POWERDOWN>, |
237 | <&softreset STIH416_KEYSCAN_SOFTRESET>; | 239 | <&softreset STIH416_KEYSCAN_SOFTRESET>; |
238 | }; | 240 | }; |
241 | |||
242 | temp0 { | ||
243 | compatible = "st,stih416-sas-thermal"; | ||
244 | clock-names = "thermal"; | ||
245 | clocks = <&clockgen_c_vcc 14>; | ||
246 | |||
247 | status = "okay"; | ||
248 | }; | ||
249 | |||
250 | temp1@fdfe8000 { | ||
251 | compatible = "st,stih416-mpe-thermal"; | ||
252 | reg = <0xfdfe8000 0x10>; | ||
253 | clocks = <&clockgen_e 3>; | ||
254 | clock-names = "thermal"; | ||
255 | interrupts = <GIC_SPI 23 IRQ_TYPE_EDGE_RISING>; | ||
256 | |||
257 | status = "okay"; | ||
258 | }; | ||
259 | |||
260 | mmc0: sdhci@fe81e000 { | ||
261 | compatible = "st,sdhci"; | ||
262 | status = "disabled"; | ||
263 | reg = <0xfe81e000 0x1000>; | ||
264 | interrupts = <GIC_SPI 127 IRQ_TYPE_NONE>; | ||
265 | interrupt-names = "mmcirq"; | ||
266 | pinctrl-names = "default"; | ||
267 | pinctrl-0 = <&pinctrl_mmc0>; | ||
268 | clock-names = "mmc"; | ||
269 | clocks = <&clk_s_a1_ls 1>; | ||
270 | }; | ||
271 | |||
272 | mmc1: sdhci@fe81f000 { | ||
273 | compatible = "st,sdhci"; | ||
274 | status = "disabled"; | ||
275 | reg = <0xfe81f000 0x1000>; | ||
276 | interrupts = <GIC_SPI 128 IRQ_TYPE_NONE>; | ||
277 | interrupt-names = "mmcirq"; | ||
278 | pinctrl-names = "default"; | ||
279 | pinctrl-0 = <&pinctrl_mmc1>; | ||
280 | clock-names = "mmc"; | ||
281 | clocks = <&clk_s_a1_ls 8>; | ||
282 | }; | ||
283 | |||
284 | miphy365x_phy: phy@fe382000 { | ||
285 | compatible = "st,miphy365x-phy"; | ||
286 | st,syscfg = <&syscfg_rear>; | ||
287 | #address-cells = <1>; | ||
288 | #size-cells = <1>; | ||
289 | ranges; | ||
290 | |||
291 | phy_port0: port@fe382000 { | ||
292 | #phy-cells = <1>; | ||
293 | reg = <0xfe382000 0x100>, <0xfe394000 0x100>, <0x824 0x4>; | ||
294 | reg-names = "sata", "pcie", "syscfg"; | ||
295 | }; | ||
296 | |||
297 | phy_port1: port@fe38a000 { | ||
298 | #phy-cells = <1>; | ||
299 | reg = <0xfe38a000 0x100>, <0xfe804000 0x100>, <0x828 0x4>; | ||
300 | reg-names = "sata", "pcie", "syscfg"; | ||
301 | }; | ||
302 | }; | ||
303 | |||
304 | sata0: sata@fe380000 { | ||
305 | compatible = "st,sti-ahci"; | ||
306 | reg = <0xfe380000 0x1000>; | ||
307 | interrupts = <GIC_SPI 157 IRQ_TYPE_NONE>; | ||
308 | interrupt-names = "hostc"; | ||
309 | phys = <&phy_port0 MIPHY_TYPE_SATA>; | ||
310 | phy-names = "sata-phy"; | ||
311 | resets = <&powerdown STIH416_SATA0_POWERDOWN>, | ||
312 | <&softreset STIH416_SATA0_SOFTRESET>; | ||
313 | reset-names = "pwr-dwn", "sw-rst"; | ||
314 | clock-names = "ahci_clk"; | ||
315 | clocks = <&clk_s_a0_ls CLK_ICN_REG>; | ||
316 | |||
317 | status = "disabled"; | ||
318 | }; | ||
319 | |||
320 | usb2_phy: phy@0 { | ||
321 | compatible = "st,stih416-usb-phy"; | ||
322 | #phy-cells = <0>; | ||
323 | st,syscfg = <&syscfg_rear>; | ||
324 | clocks = <&clk_sysin>; | ||
325 | clock-names = "osc_phy"; | ||
326 | }; | ||
327 | |||
328 | ehci0: usb@fe1ffe00 { | ||
329 | compatible = "st,st-ehci-300x"; | ||
330 | reg = <0xfe1ffe00 0x100>; | ||
331 | interrupts = <GIC_SPI 148 IRQ_TYPE_NONE>; | ||
332 | pinctrl-names = "default"; | ||
333 | pinctrl-0 = <&pinctrl_usb0>; | ||
334 | clocks = <&clk_s_a1_ls 0>, | ||
335 | <&clockgen_b0 0>; | ||
336 | clock-names = "ic", "clk48"; | ||
337 | phys = <&usb2_phy>; | ||
338 | phy-names = "usb"; | ||
339 | resets = <&powerdown STIH416_USB0_POWERDOWN>, | ||
340 | <&softreset STIH416_USB0_SOFTRESET>; | ||
341 | reset-names = "power", "softreset"; | ||
342 | }; | ||
343 | |||
344 | ohci0: usb@fe1ffc00 { | ||
345 | compatible = "st,st-ohci-300x"; | ||
346 | reg = <0xfe1ffc00 0x100>; | ||
347 | interrupts = <GIC_SPI 149 IRQ_TYPE_NONE>; | ||
348 | clocks = <&clk_s_a1_ls 0>, | ||
349 | <&clockgen_b0 0>; | ||
350 | clock-names = "ic", "clk48"; | ||
351 | phys = <&usb2_phy>; | ||
352 | phy-names = "usb"; | ||
353 | status = "okay"; | ||
354 | resets = <&powerdown STIH416_USB0_POWERDOWN>, | ||
355 | <&softreset STIH416_USB0_SOFTRESET>; | ||
356 | reset-names = "power", "softreset"; | ||
357 | }; | ||
358 | |||
359 | ehci1: usb@fe203e00 { | ||
360 | compatible = "st,st-ehci-300x"; | ||
361 | reg = <0xfe203e00 0x100>; | ||
362 | interrupts = <GIC_SPI 150 IRQ_TYPE_NONE>; | ||
363 | pinctrl-names = "default"; | ||
364 | pinctrl-0 = <&pinctrl_usb1>; | ||
365 | clocks = <&clk_s_a1_ls 0>, | ||
366 | <&clockgen_b0 0>; | ||
367 | clock-names = "ic", "clk48"; | ||
368 | phys = <&usb2_phy>; | ||
369 | phy-names = "usb"; | ||
370 | resets = <&powerdown STIH416_USB1_POWERDOWN>, | ||
371 | <&softreset STIH416_USB1_SOFTRESET>; | ||
372 | reset-names = "power", "softreset"; | ||
373 | }; | ||
374 | |||
375 | ohci1: usb@fe203c00 { | ||
376 | compatible = "st,st-ohci-300x"; | ||
377 | reg = <0xfe203c00 0x100>; | ||
378 | interrupts = <GIC_SPI 151 IRQ_TYPE_NONE>; | ||
379 | clocks = <&clk_s_a1_ls 0>, | ||
380 | <&clockgen_b0 0>; | ||
381 | clock-names = "ic", "clk48"; | ||
382 | phys = <&usb2_phy>; | ||
383 | phy-names = "usb"; | ||
384 | resets = <&powerdown STIH416_USB1_POWERDOWN>, | ||
385 | <&softreset STIH416_USB1_SOFTRESET>; | ||
386 | reset-names = "power", "softreset"; | ||
387 | }; | ||
388 | |||
389 | ehci2: usb@fe303e00 { | ||
390 | compatible = "st,st-ehci-300x"; | ||
391 | reg = <0xfe303e00 0x100>; | ||
392 | interrupts = <GIC_SPI 152 IRQ_TYPE_NONE>; | ||
393 | pinctrl-names = "default"; | ||
394 | pinctrl-0 = <&pinctrl_usb2>; | ||
395 | clocks = <&clk_s_a1_ls 0>, | ||
396 | <&clockgen_b0 0>; | ||
397 | clock-names = "ic", "clk48"; | ||
398 | phys = <&usb2_phy>; | ||
399 | phy-names = "usb"; | ||
400 | resets = <&powerdown STIH416_USB2_POWERDOWN>, | ||
401 | <&softreset STIH416_USB2_SOFTRESET>; | ||
402 | reset-names = "power", "softreset"; | ||
403 | }; | ||
404 | |||
405 | ohci2: usb@fe303c00 { | ||
406 | compatible = "st,st-ohci-300x"; | ||
407 | reg = <0xfe303c00 0x100>; | ||
408 | interrupts = <GIC_SPI 153 IRQ_TYPE_NONE>; | ||
409 | clocks = <&clk_s_a1_ls 0>, | ||
410 | <&clockgen_b0 0>; | ||
411 | clock-names = "ic", "clk48"; | ||
412 | phys = <&usb2_phy>; | ||
413 | phy-names = "usb"; | ||
414 | resets = <&powerdown STIH416_USB2_POWERDOWN>, | ||
415 | <&softreset STIH416_USB2_SOFTRESET>; | ||
416 | reset-names = "power", "softreset"; | ||
417 | }; | ||
418 | |||
419 | ehci3: usb@fe343e00 { | ||
420 | compatible = "st,st-ehci-300x"; | ||
421 | reg = <0xfe343e00 0x100>; | ||
422 | interrupts = <GIC_SPI 154 IRQ_TYPE_NONE>; | ||
423 | pinctrl-names = "default"; | ||
424 | pinctrl-0 = <&pinctrl_usb3>; | ||
425 | clocks = <&clk_s_a1_ls 0>, | ||
426 | <&clockgen_b0 0>; | ||
427 | clock-names = "ic", "clk48"; | ||
428 | phys = <&usb2_phy>; | ||
429 | phy-names = "usb"; | ||
430 | resets = <&powerdown STIH416_USB3_POWERDOWN>, | ||
431 | <&softreset STIH416_USB3_SOFTRESET>; | ||
432 | reset-names = "power", "softreset"; | ||
433 | }; | ||
434 | |||
435 | ohci3: usb@fe343c00 { | ||
436 | compatible = "st,st-ohci-300x"; | ||
437 | reg = <0xfe343c00 0x100>; | ||
438 | interrupts = <GIC_SPI 155 IRQ_TYPE_NONE>; | ||
439 | clocks = <&clk_s_a1_ls 0>, | ||
440 | <&clockgen_b0 0>; | ||
441 | clock-names = "ic", "clk48"; | ||
442 | phys = <&usb2_phy>; | ||
443 | phy-names = "usb"; | ||
444 | resets = <&powerdown STIH416_USB3_POWERDOWN>, | ||
445 | <&softreset STIH416_USB3_SOFTRESET>; | ||
446 | reset-names = "power", "softreset"; | ||
447 | }; | ||
239 | }; | 448 | }; |
240 | }; | 449 | }; |
diff --git a/arch/arm/boot/dts/stih41x-b2000.dtsi b/arch/arm/boot/dts/stih41x-b2000.dtsi index b3dd6ca5c2ae..5f91f455f05b 100644 --- a/arch/arm/boot/dts/stih41x-b2000.dtsi +++ b/arch/arm/boot/dts/stih41x-b2000.dtsi | |||
@@ -35,7 +35,7 @@ | |||
35 | fp_led { | 35 | fp_led { |
36 | #gpio-cells = <1>; | 36 | #gpio-cells = <1>; |
37 | label = "Front Panel LED"; | 37 | label = "Front Panel LED"; |
38 | gpios = <&PIO105 7>; | 38 | gpios = <&pio105 7>; |
39 | linux,default-trigger = "heartbeat"; | 39 | linux,default-trigger = "heartbeat"; |
40 | }; | 40 | }; |
41 | }; | 41 | }; |
@@ -55,7 +55,7 @@ | |||
55 | phy-mode = "mii"; | 55 | phy-mode = "mii"; |
56 | pinctrl-0 = <&pinctrl_mii0>; | 56 | pinctrl-0 = <&pinctrl_mii0>; |
57 | 57 | ||
58 | snps,reset-gpio = <&PIO106 2>; | 58 | snps,reset-gpio = <&pio106 2>; |
59 | snps,reset-active-low; | 59 | snps,reset-active-low; |
60 | snps,reset-delays-us = <0 10000 10000>; | 60 | snps,reset-delays-us = <0 10000 10000>; |
61 | }; | 61 | }; |
@@ -65,7 +65,7 @@ | |||
65 | phy-mode = "mii"; | 65 | phy-mode = "mii"; |
66 | st,tx-retime-src = "txclk"; | 66 | st,tx-retime-src = "txclk"; |
67 | 67 | ||
68 | snps,reset-gpio = <&PIO4 7>; | 68 | snps,reset-gpio = <&pio4 7>; |
69 | snps,reset-active-low; | 69 | snps,reset-active-low; |
70 | snps,reset-delays-us = <0 10000 10000>; | 70 | snps,reset-delays-us = <0 10000 10000>; |
71 | }; | 71 | }; |
diff --git a/arch/arm/boot/dts/stih41x-b2020.dtsi b/arch/arm/boot/dts/stih41x-b2020.dtsi index d8a84295c328..487d7d87dbef 100644 --- a/arch/arm/boot/dts/stih41x-b2020.dtsi +++ b/arch/arm/boot/dts/stih41x-b2020.dtsi | |||
@@ -32,11 +32,11 @@ | |||
32 | red { | 32 | red { |
33 | #gpio-cells = <1>; | 33 | #gpio-cells = <1>; |
34 | label = "Front Panel LED"; | 34 | label = "Front Panel LED"; |
35 | gpios = <&PIO4 1>; | 35 | gpios = <&pio4 1>; |
36 | linux,default-trigger = "heartbeat"; | 36 | linux,default-trigger = "heartbeat"; |
37 | }; | 37 | }; |
38 | green { | 38 | green { |
39 | gpios = <&PIO4 7>; | 39 | gpios = <&pio4 7>; |
40 | default-state = "off"; | 40 | default-state = "off"; |
41 | }; | 41 | }; |
42 | }; | 42 | }; |
@@ -68,11 +68,15 @@ | |||
68 | phy-mode = "rgmii-id"; | 68 | phy-mode = "rgmii-id"; |
69 | max-speed = <1000>; | 69 | max-speed = <1000>; |
70 | st,tx-retime-src = "clk_125"; | 70 | st,tx-retime-src = "clk_125"; |
71 | snps,reset-gpio = <&PIO3 0>; | 71 | snps,reset-gpio = <&pio3 0>; |
72 | snps,reset-active-low; | 72 | snps,reset-active-low; |
73 | snps,reset-delays-us = <0 10000 10000>; | 73 | snps,reset-delays-us = <0 10000 10000>; |
74 | 74 | ||
75 | pinctrl-0 = <&pinctrl_rgmii1>; | 75 | pinctrl-0 = <&pinctrl_rgmii1>; |
76 | }; | 76 | }; |
77 | |||
78 | mmc0: sdhci@fe81e000 { | ||
79 | bus-width = <8>; | ||
80 | }; | ||
77 | }; | 81 | }; |
78 | }; | 82 | }; |
diff --git a/arch/arm/boot/dts/stih41x-b2020x.dtsi b/arch/arm/boot/dts/stih41x-b2020x.dtsi index df01c1211b32..f797a0607382 100644 --- a/arch/arm/boot/dts/stih41x-b2020x.dtsi +++ b/arch/arm/boot/dts/stih41x-b2020x.dtsi | |||
@@ -8,6 +8,10 @@ | |||
8 | */ | 8 | */ |
9 | / { | 9 | / { |
10 | soc { | 10 | soc { |
11 | mmc0: sdhci@fe81e000 { | ||
12 | status = "okay"; | ||
13 | }; | ||
14 | |||
11 | spifsm: spifsm@fe902000 { | 15 | spifsm: spifsm@fe902000 { |
12 | #address-cells = <1>; | 16 | #address-cells = <1>; |
13 | #size-cells = <1>; | 17 | #size-cells = <1>; |
diff --git a/arch/arm/boot/dts/stihxxx-b2120.dtsi b/arch/arm/boot/dts/stihxxx-b2120.dtsi new file mode 100644 index 000000000000..0074bd49797c --- /dev/null +++ b/arch/arm/boot/dts/stihxxx-b2120.dtsi | |||
@@ -0,0 +1,59 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 STMicroelectronics (R&D) Limited. | ||
3 | * Author: Giuseppe Cavallaro <peppe.cavallaro@st.com> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | */ | ||
9 | / { | ||
10 | soc { | ||
11 | sbc_serial0: serial@9530000 { | ||
12 | status = "okay"; | ||
13 | }; | ||
14 | |||
15 | leds { | ||
16 | compatible = "gpio-leds"; | ||
17 | red { | ||
18 | #gpio-cells = <2>; | ||
19 | label = "Front Panel LED"; | ||
20 | gpios = <&pio4 1 0>; | ||
21 | linux,default-trigger = "heartbeat"; | ||
22 | }; | ||
23 | green { | ||
24 | #gpio-cells = <2>; | ||
25 | gpios = <&pio1 3 0>; | ||
26 | default-state = "off"; | ||
27 | }; | ||
28 | }; | ||
29 | |||
30 | i2c@9842000 { | ||
31 | status = "okay"; | ||
32 | }; | ||
33 | |||
34 | i2c@9843000 { | ||
35 | status = "okay"; | ||
36 | }; | ||
37 | |||
38 | i2c@9844000 { | ||
39 | status = "okay"; | ||
40 | }; | ||
41 | |||
42 | i2c@9845000 { | ||
43 | status = "okay"; | ||
44 | }; | ||
45 | |||
46 | i2c@9540000 { | ||
47 | status = "okay"; | ||
48 | }; | ||
49 | |||
50 | /* SSC11 to HDMI */ | ||
51 | i2c@9541000 { | ||
52 | status = "okay"; | ||
53 | /* HDMI V1.3a supports Standard mode only */ | ||
54 | clock-frequency = <100000>; | ||
55 | st,i2c-min-scl-pulse-width-us = <0>; | ||
56 | st,i2c-min-sda-pulse-width-us = <5>; | ||
57 | }; | ||
58 | }; | ||
59 | }; | ||
diff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts index 9e99ade35e37..3bcfd81837f0 100644 --- a/arch/arm/boot/dts/sun4i-a10-a1000.dts +++ b/arch/arm/boot/dts/sun4i-a10-a1000.dts | |||
@@ -3,12 +3,48 @@ | |||
3 | * | 3 | * |
4 | * Emilio López <emilio@elopez.com.ar> | 4 | * Emilio López <emilio@elopez.com.ar> |
5 | * | 5 | * |
6 | * The code contained herein is licensed under the GNU General Public | 6 | * This file is dual-licensed: you can use it either under the terms |
7 | * License. You may obtain a copy of the GNU General Public License | 7 | * of the GPL or the X11 license, at your option. Note that this dual |
8 | * Version 2 or later at the following locations: | 8 | * licensing only applies to this file, and not this project as a |
9 | * whole. | ||
9 | * | 10 | * |
10 | * http://www.opensource.org/licenses/gpl-license.html | 11 | * a) This file is free software; you can redistribute it and/or |
11 | * http://www.gnu.org/copyleft/gpl.html | 12 | * modify it under the terms of the GNU General Public License as |
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this file; if not, write to the Free | ||
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
24 | * MA 02110-1301 USA | ||
25 | * | ||
26 | * Or, alternatively, | ||
27 | * | ||
28 | * b) Permission is hereby granted, free of charge, to any person | ||
29 | * obtaining a copy of this software and associated documentation | ||
30 | * files (the "Software"), to deal in the Software without | ||
31 | * restriction, including without limitation the rights to use, | ||
32 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
33 | * sell copies of the Software, and to permit persons to whom the | ||
34 | * Software is furnished to do so, subject to the following | ||
35 | * conditions: | ||
36 | * | ||
37 | * The above copyright notice and this permission notice shall be | ||
38 | * included in all copies or substantial portions of the Software. | ||
39 | * | ||
40 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
41 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
42 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
43 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
44 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
45 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
46 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
47 | * OTHER DEALINGS IN THE SOFTWARE. | ||
12 | */ | 48 | */ |
13 | 49 | ||
14 | /dts-v1/; | 50 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts b/arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts index 1763cc7ec023..f3f2974658e4 100644 --- a/arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts +++ b/arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts | |||
@@ -1,12 +1,48 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright 2014 Hans de Goede <hdegoede@redhat.com> | 2 | * Copyright 2014 Hans de Goede <hdegoede@redhat.com> |
3 | * | 3 | * |
4 | * The code contained herein is licensed under the GNU General Public | 4 | * This file is dual-licensed: you can use it either under the terms |
5 | * License. You may obtain a copy of the GNU General Public License | 5 | * of the GPL or the X11 license, at your option. Note that this dual |
6 | * Version 2 or later at the following locations: | 6 | * licensing only applies to this file, and not this project as a |
7 | * whole. | ||
7 | * | 8 | * |
8 | * http://www.opensource.org/licenses/gpl-license.html | 9 | * a) This file is free software; you can redistribute it and/or |
9 | * http://www.gnu.org/copyleft/gpl.html | 10 | * modify it under the terms of the GNU General Public License as |
11 | * published by the Free Software Foundation; either version 2 of the | ||
12 | * License, or (at your option) any later version. | ||
13 | * | ||
14 | * This file is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public | ||
20 | * License along with this file; if not, write to the Free | ||
21 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
22 | * MA 02110-1301 USA | ||
23 | * | ||
24 | * Or, alternatively, | ||
25 | * | ||
26 | * b) Permission is hereby granted, free of charge, to any person | ||
27 | * obtaining a copy of this software and associated documentation | ||
28 | * files (the "Software"), to deal in the Software without | ||
29 | * restriction, including without limitation the rights to use, | ||
30 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
31 | * sell copies of the Software, and to permit persons to whom the | ||
32 | * Software is furnished to do so, subject to the following | ||
33 | * conditions: | ||
34 | * | ||
35 | * The above copyright notice and this permission notice shall be | ||
36 | * included in all copies or substantial portions of the Software. | ||
37 | * | ||
38 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
39 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
40 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
41 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
42 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
43 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
44 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
45 | * OTHER DEALINGS IN THE SOFTWARE. | ||
10 | */ | 46 | */ |
11 | 47 | ||
12 | /dts-v1/; | 48 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts index 3ce56bfbc0b5..6a310da53f18 100644 --- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts +++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts | |||
@@ -2,12 +2,48 @@ | |||
2 | * Copyright 2012 Stefan Roese | 2 | * Copyright 2012 Stefan Roese |
3 | * Stefan Roese <sr@denx.de> | 3 | * Stefan Roese <sr@denx.de> |
4 | * | 4 | * |
5 | * The code contained herein is licensed under the GNU General Public | 5 | * This file is dual-licensed: you can use it either under the terms |
6 | * License. You may obtain a copy of the GNU General Public License | 6 | * of the GPL or the X11 license, at your option. Note that this dual |
7 | * Version 2 or later at the following locations: | 7 | * licensing only applies to this file, and not this project as a |
8 | * whole. | ||
8 | * | 9 | * |
9 | * http://www.opensource.org/licenses/gpl-license.html | 10 | * a) This file is free software; you can redistribute it and/or |
10 | * http://www.gnu.org/copyleft/gpl.html | 11 | * modify it under the terms of the GNU General Public License as |
12 | * published by the Free Software Foundation; either version 2 of the | ||
13 | * License, or (at your option) any later version. | ||
14 | * | ||
15 | * This file is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | * GNU General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this file; if not, write to the Free | ||
22 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
23 | * MA 02110-1301 USA | ||
24 | * | ||
25 | * Or, alternatively, | ||
26 | * | ||
27 | * b) Permission is hereby granted, free of charge, to any person | ||
28 | * obtaining a copy of this software and associated documentation | ||
29 | * files (the "Software"), to deal in the Software without | ||
30 | * restriction, including without limitation the rights to use, | ||
31 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
32 | * sell copies of the Software, and to permit persons to whom the | ||
33 | * Software is furnished to do so, subject to the following | ||
34 | * conditions: | ||
35 | * | ||
36 | * The above copyright notice and this permission notice shall be | ||
37 | * included in all copies or substantial portions of the Software. | ||
38 | * | ||
39 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
40 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
41 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
42 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
43 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
44 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
45 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
46 | * OTHER DEALINGS IN THE SOFTWARE. | ||
11 | */ | 47 | */ |
12 | 48 | ||
13 | /dts-v1/; | 49 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun4i-a10-hackberry.dts b/arch/arm/boot/dts/sun4i-a10-hackberry.dts index 891ea446abae..efc116287e0f 100644 --- a/arch/arm/boot/dts/sun4i-a10-hackberry.dts +++ b/arch/arm/boot/dts/sun4i-a10-hackberry.dts | |||
@@ -3,12 +3,48 @@ | |||
3 | * | 3 | * |
4 | * Maxime Ripard <maxime.ripard@free-electrons.com> | 4 | * Maxime Ripard <maxime.ripard@free-electrons.com> |
5 | * | 5 | * |
6 | * The code contained herein is licensed under the GNU General Public | 6 | * This file is dual-licensed: you can use it either under the terms |
7 | * License. You may obtain a copy of the GNU General Public License | 7 | * of the GPL or the X11 license, at your option. Note that this dual |
8 | * Version 2 or later at the following locations: | 8 | * licensing only applies to this file, and not this project as a |
9 | * whole. | ||
9 | * | 10 | * |
10 | * http://www.opensource.org/licenses/gpl-license.html | 11 | * a) This file is free software; you can redistribute it and/or |
11 | * http://www.gnu.org/copyleft/gpl.html | 12 | * modify it under the terms of the GNU General Public License as |
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this file; if not, write to the Free | ||
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
24 | * MA 02110-1301 USA | ||
25 | * | ||
26 | * Or, alternatively, | ||
27 | * | ||
28 | * b) Permission is hereby granted, free of charge, to any person | ||
29 | * obtaining a copy of this software and associated documentation | ||
30 | * files (the "Software"), to deal in the Software without | ||
31 | * restriction, including without limitation the rights to use, | ||
32 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
33 | * sell copies of the Software, and to permit persons to whom the | ||
34 | * Software is furnished to do so, subject to the following | ||
35 | * conditions: | ||
36 | * | ||
37 | * The above copyright notice and this permission notice shall be | ||
38 | * included in all copies or substantial portions of the Software. | ||
39 | * | ||
40 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
41 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
42 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
43 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
44 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
45 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
46 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
47 | * OTHER DEALINGS IN THE SOFTWARE. | ||
12 | */ | 48 | */ |
13 | 49 | ||
14 | /dts-v1/; | 50 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts b/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts index 6b0c37812ade..3e25ee4d3248 100644 --- a/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts +++ b/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts | |||
@@ -3,12 +3,48 @@ | |||
3 | * | 3 | * |
4 | * David Lanzendörfer <david.lanzendoerfer@o2s.ch> | 4 | * David Lanzendörfer <david.lanzendoerfer@o2s.ch> |
5 | * | 5 | * |
6 | * The code contained herein is licensed under the GNU General Public | 6 | * This file is dual-licensed: you can use it either under the terms |
7 | * License. You may obtain a copy of the GNU General Public License | 7 | * of the GPL or the X11 license, at your option. Note that this dual |
8 | * Version 2 or later at the following locations: | 8 | * licensing only applies to this file, and not this project as a |
9 | * whole. | ||
9 | * | 10 | * |
10 | * http://www.opensource.org/licenses/gpl-license.html | 11 | * a) This file is free software; you can redistribute it and/or |
11 | * http://www.gnu.org/copyleft/gpl.html | 12 | * modify it under the terms of the GNU General Public License as |
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this file; if not, write to the Free | ||
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
24 | * MA 02110-1301 USA | ||
25 | * | ||
26 | * Or, alternatively, | ||
27 | * | ||
28 | * b) Permission is hereby granted, free of charge, to any person | ||
29 | * obtaining a copy of this software and associated documentation | ||
30 | * files (the "Software"), to deal in the Software without | ||
31 | * restriction, including without limitation the rights to use, | ||
32 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
33 | * sell copies of the Software, and to permit persons to whom the | ||
34 | * Software is furnished to do so, subject to the following | ||
35 | * conditions: | ||
36 | * | ||
37 | * The above copyright notice and this permission notice shall be | ||
38 | * included in all copies or substantial portions of the Software. | ||
39 | * | ||
40 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
41 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
42 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
43 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
44 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
45 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
46 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
47 | * OTHER DEALINGS IN THE SOFTWARE. | ||
12 | */ | 48 | */ |
13 | 49 | ||
14 | /dts-v1/; | 50 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts index b9ecce60f2e7..8b3f97470249 100644 --- a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts +++ b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts | |||
@@ -3,12 +3,48 @@ | |||
3 | * | 3 | * |
4 | * Maxime Ripard <maxime.ripard@free-electrons.com> | 4 | * Maxime Ripard <maxime.ripard@free-electrons.com> |
5 | * | 5 | * |
6 | * The code contained herein is licensed under the GNU General Public | 6 | * This file is dual-licensed: you can use it either under the terms |
7 | * License. You may obtain a copy of the GNU General Public License | 7 | * of the GPL or the X11 license, at your option. Note that this dual |
8 | * Version 2 or later at the following locations: | 8 | * licensing only applies to this file, and not this project as a |
9 | * whole. | ||
9 | * | 10 | * |
10 | * http://www.opensource.org/licenses/gpl-license.html | 11 | * a) This file is free software; you can redistribute it and/or |
11 | * http://www.gnu.org/copyleft/gpl.html | 12 | * modify it under the terms of the GNU General Public License as |
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this file; if not, write to the Free | ||
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
24 | * MA 02110-1301 USA | ||
25 | * | ||
26 | * Or, alternatively, | ||
27 | * | ||
28 | * b) Permission is hereby granted, free of charge, to any person | ||
29 | * obtaining a copy of this software and associated documentation | ||
30 | * files (the "Software"), to deal in the Software without | ||
31 | * restriction, including without limitation the rights to use, | ||
32 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
33 | * sell copies of the Software, and to permit persons to whom the | ||
34 | * Software is furnished to do so, subject to the following | ||
35 | * conditions: | ||
36 | * | ||
37 | * The above copyright notice and this permission notice shall be | ||
38 | * included in all copies or substantial portions of the Software. | ||
39 | * | ||
40 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
41 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
42 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
43 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
44 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
45 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
46 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
47 | * OTHER DEALINGS IN THE SOFTWARE. | ||
12 | */ | 48 | */ |
13 | 49 | ||
14 | /dts-v1/; | 50 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts index d046d568f5a1..88cf1a531155 100644 --- a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts +++ b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts | |||
@@ -1,12 +1,48 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright 2014 - Hans de Goede <hdegoede@redhat.com> | 2 | * Copyright 2014 - Hans de Goede <hdegoede@redhat.com> |
3 | * | 3 | * |
4 | * The code contained herein is licensed under the GNU General Public | 4 | * This file is dual-licensed: you can use it either under the terms |
5 | * License. You may obtain a copy of the GNU General Public License | 5 | * of the GPL or the X11 license, at your option. Note that this dual |
6 | * Version 2 or later at the following locations: | 6 | * licensing only applies to this file, and not this project as a |
7 | * whole. | ||
7 | * | 8 | * |
8 | * http://www.opensource.org/licenses/gpl-license.html | 9 | * a) This file is free software; you can redistribute it and/or |
9 | * http://www.gnu.org/copyleft/gpl.html | 10 | * modify it under the terms of the GNU General Public License as |
11 | * published by the Free Software Foundation; either version 2 of the | ||
12 | * License, or (at your option) any later version. | ||
13 | * | ||
14 | * This file is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public | ||
20 | * License along with this file; if not, write to the Free | ||
21 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
22 | * MA 02110-1301 USA | ||
23 | * | ||
24 | * Or, alternatively, | ||
25 | * | ||
26 | * b) Permission is hereby granted, free of charge, to any person | ||
27 | * obtaining a copy of this software and associated documentation | ||
28 | * files (the "Software"), to deal in the Software without | ||
29 | * restriction, including without limitation the rights to use, | ||
30 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
31 | * sell copies of the Software, and to permit persons to whom the | ||
32 | * Software is furnished to do so, subject to the following | ||
33 | * conditions: | ||
34 | * | ||
35 | * The above copyright notice and this permission notice shall be | ||
36 | * included in all copies or substantial portions of the Software. | ||
37 | * | ||
38 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
39 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
40 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
41 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
42 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
43 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
44 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
45 | * OTHER DEALINGS IN THE SOFTWARE. | ||
10 | */ | 46 | */ |
11 | 47 | ||
12 | /dts-v1/; | 48 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun4i-a10-pcduino.dts b/arch/arm/boot/dts/sun4i-a10-pcduino.dts index 6675bcd7860e..ce5994597407 100644 --- a/arch/arm/boot/dts/sun4i-a10-pcduino.dts +++ b/arch/arm/boot/dts/sun4i-a10-pcduino.dts | |||
@@ -2,12 +2,48 @@ | |||
2 | * Copyright 2014 Zoltan HERPAI | 2 | * Copyright 2014 Zoltan HERPAI |
3 | * Zoltan HERPAI <wigyori@uid0.hu> | 3 | * Zoltan HERPAI <wigyori@uid0.hu> |
4 | * | 4 | * |
5 | * The code contained herein is licensed under the GNU General Public | 5 | * This file is dual-licensed: you can use it either under the terms |
6 | * License. You may obtain a copy of the GNU General Public License | 6 | * of the GPL or the X11 license, at your option. Note that this dual |
7 | * Version 2 or later at the following locations: | 7 | * licensing only applies to this file, and not this project as a |
8 | * whole. | ||
8 | * | 9 | * |
9 | * http://www.opensource.org/licenses/gpl-license.html | 10 | * a) This file is free software; you can redistribute it and/or |
10 | * http://www.gnu.org/copyleft/gpl.html | 11 | * modify it under the terms of the GNU General Public License as |
12 | * published by the Free Software Foundation; either version 2 of the | ||
13 | * License, or (at your option) any later version. | ||
14 | * | ||
15 | * This file is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | * GNU General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this file; if not, write to the Free | ||
22 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
23 | * MA 02110-1301 USA | ||
24 | * | ||
25 | * Or, alternatively, | ||
26 | * | ||
27 | * b) Permission is hereby granted, free of charge, to any person | ||
28 | * obtaining a copy of this software and associated documentation | ||
29 | * files (the "Software"), to deal in the Software without | ||
30 | * restriction, including without limitation the rights to use, | ||
31 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
32 | * sell copies of the Software, and to permit persons to whom the | ||
33 | * Software is furnished to do so, subject to the following | ||
34 | * conditions: | ||
35 | * | ||
36 | * The above copyright notice and this permission notice shall be | ||
37 | * included in all copies or substantial portions of the Software. | ||
38 | * | ||
39 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
40 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
41 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
42 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
43 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
44 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
45 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
46 | * OTHER DEALINGS IN THE SOFTWARE. | ||
11 | */ | 47 | */ |
12 | 48 | ||
13 | /dts-v1/; | 49 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi index 380f914b226d..e3ab942fd148 100644 --- a/arch/arm/boot/dts/sun4i-a10.dtsi +++ b/arch/arm/boot/dts/sun4i-a10.dtsi | |||
@@ -27,6 +27,20 @@ | |||
27 | serial7 = &uart7; | 27 | serial7 = &uart7; |
28 | }; | 28 | }; |
29 | 29 | ||
30 | chosen { | ||
31 | #address-cells = <1>; | ||
32 | #size-cells = <1>; | ||
33 | ranges; | ||
34 | |||
35 | framebuffer@0 { | ||
36 | compatible = "allwinner,simple-framebuffer", "simple-framebuffer"; | ||
37 | allwinner,pipeline = "de_be0-lcd0-hdmi"; | ||
38 | clocks = <&pll5 1>, <&ahb_gates 36>, <&ahb_gates 43>, | ||
39 | <&ahb_gates 44>; | ||
40 | status = "disabled"; | ||
41 | }; | ||
42 | }; | ||
43 | |||
30 | cpus { | 44 | cpus { |
31 | #address-cells = <1>; | 45 | #address-cells = <1>; |
32 | #size-cells = <0>; | 46 | #size-cells = <0>; |
diff --git a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts index ea9519da5764..fe3c559ca6a8 100644 --- a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts +++ b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts | |||
@@ -3,12 +3,48 @@ | |||
3 | * | 3 | * |
4 | * Maxime Ripard <maxime.ripard@free-electrons.com> | 4 | * Maxime Ripard <maxime.ripard@free-electrons.com> |
5 | * | 5 | * |
6 | * The code contained herein is licensed under the GNU General Public | 6 | * This file is dual-licensed: you can use it either under the terms |
7 | * License. You may obtain a copy of the GNU General Public License | 7 | * of the GPL or the X11 license, at your option. Note that this dual |
8 | * Version 2 or later at the following locations: | 8 | * licensing only applies to this file, and not this project as a |
9 | * whole. | ||
9 | * | 10 | * |
10 | * http://www.opensource.org/licenses/gpl-license.html | 11 | * a) This file is free software; you can redistribute it and/or |
11 | * http://www.gnu.org/copyleft/gpl.html | 12 | * modify it under the terms of the GNU General Public License as |
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this file; if not, write to the Free | ||
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
24 | * MA 02110-1301 USA | ||
25 | * | ||
26 | * Or, alternatively, | ||
27 | * | ||
28 | * b) Permission is hereby granted, free of charge, to any person | ||
29 | * obtaining a copy of this software and associated documentation | ||
30 | * files (the "Software"), to deal in the Software without | ||
31 | * restriction, including without limitation the rights to use, | ||
32 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
33 | * sell copies of the Software, and to permit persons to whom the | ||
34 | * Software is furnished to do so, subject to the following | ||
35 | * conditions: | ||
36 | * | ||
37 | * The above copyright notice and this permission notice shall be | ||
38 | * included in all copies or substantial portions of the Software. | ||
39 | * | ||
40 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
41 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
42 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
43 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
44 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
45 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
46 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
47 | * OTHER DEALINGS IN THE SOFTWARE. | ||
12 | */ | 48 | */ |
13 | 49 | ||
14 | /dts-v1/; | 50 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun5i-a10s-r7-tv-dongle.dts b/arch/arm/boot/dts/sun5i-a10s-r7-tv-dongle.dts index 43a93762d4f2..1fa2916eafc2 100644 --- a/arch/arm/boot/dts/sun5i-a10s-r7-tv-dongle.dts +++ b/arch/arm/boot/dts/sun5i-a10s-r7-tv-dongle.dts | |||
@@ -1,12 +1,48 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright 2014 Hans de Goede <hdegoede@redhat.com> | 2 | * Copyright 2014 Hans de Goede <hdegoede@redhat.com> |
3 | * | 3 | * |
4 | * The code contained herein is licensed under the GNU General Public | 4 | * This file is dual-licensed: you can use it either under the terms |
5 | * License. You may obtain a copy of the GNU General Public License | 5 | * of the GPL or the X11 license, at your option. Note that this dual |
6 | * Version 2 or later at the following locations: | 6 | * licensing only applies to this file, and not this project as a |
7 | * whole. | ||
7 | * | 8 | * |
8 | * http://www.opensource.org/licenses/gpl-license.html | 9 | * a) This file is free software; you can redistribute it and/or |
9 | * http://www.gnu.org/copyleft/gpl.html | 10 | * modify it under the terms of the GNU General Public License as |
11 | * published by the Free Software Foundation; either version 2 of the | ||
12 | * License, or (at your option) any later version. | ||
13 | * | ||
14 | * This file is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public | ||
20 | * License along with this file; if not, write to the Free | ||
21 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
22 | * MA 02110-1301 USA | ||
23 | * | ||
24 | * Or, alternatively, | ||
25 | * | ||
26 | * b) Permission is hereby granted, free of charge, to any person | ||
27 | * obtaining a copy of this software and associated documentation | ||
28 | * files (the "Software"), to deal in the Software without | ||
29 | * restriction, including without limitation the rights to use, | ||
30 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
31 | * sell copies of the Software, and to permit persons to whom the | ||
32 | * Software is furnished to do so, subject to the following | ||
33 | * conditions: | ||
34 | * | ||
35 | * The above copyright notice and this permission notice shall be | ||
36 | * included in all copies or substantial portions of the Software. | ||
37 | * | ||
38 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
39 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
40 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
41 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
42 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
43 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
44 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
45 | * OTHER DEALINGS IN THE SOFTWARE. | ||
10 | */ | 46 | */ |
11 | 47 | ||
12 | /dts-v1/; | 48 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi index 531272c0e526..81ad4b94e812 100644 --- a/arch/arm/boot/dts/sun5i-a10s.dtsi +++ b/arch/arm/boot/dts/sun5i-a10s.dtsi | |||
@@ -24,6 +24,20 @@ | |||
24 | serial3 = &uart3; | 24 | serial3 = &uart3; |
25 | }; | 25 | }; |
26 | 26 | ||
27 | chosen { | ||
28 | #address-cells = <1>; | ||
29 | #size-cells = <1>; | ||
30 | ranges; | ||
31 | |||
32 | framebuffer@0 { | ||
33 | compatible = "allwinner,simple-framebuffer", "simple-framebuffer"; | ||
34 | allwinner,pipeline = "de_be0-lcd0-hdmi"; | ||
35 | clocks = <&pll5 1>, <&ahb_gates 36>, <&ahb_gates 43>, | ||
36 | <&ahb_gates 44>; | ||
37 | status = "disabled"; | ||
38 | }; | ||
39 | }; | ||
40 | |||
27 | cpus { | 41 | cpus { |
28 | cpu@0 { | 42 | cpu@0 { |
29 | compatible = "arm,cortex-a8"; | 43 | compatible = "arm,cortex-a8"; |
diff --git a/arch/arm/boot/dts/sun5i-a13-hsg-h702.dts b/arch/arm/boot/dts/sun5i-a13-hsg-h702.dts index 8b3cd0907b32..eeed1f236ee8 100644 --- a/arch/arm/boot/dts/sun5i-a13-hsg-h702.dts +++ b/arch/arm/boot/dts/sun5i-a13-hsg-h702.dts | |||
@@ -6,18 +6,18 @@ | |||
6 | * licensing only applies to this file, and not this project as a | 6 | * licensing only applies to this file, and not this project as a |
7 | * whole. | 7 | * whole. |
8 | * | 8 | * |
9 | * a) This library is free software; you can redistribute it and/or | 9 | * a) This file is free software; you can redistribute it and/or |
10 | * modify it under the terms of the GNU General Public License as | 10 | * modify it under the terms of the GNU General Public License as |
11 | * published by the Free Software Foundation; either version 2 of the | 11 | * published by the Free Software Foundation; either version 2 of the |
12 | * License, or (at your option) any later version. | 12 | * License, or (at your option) any later version. |
13 | * | 13 | * |
14 | * This library is distributed in the hope that it will be useful, | 14 | * This file is distributed in the hope that it will be useful, |
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
17 | * GNU General Public License for more details. | 17 | * GNU General Public License for more details. |
18 | * | 18 | * |
19 | * You should have received a copy of the GNU General Public | 19 | * You should have received a copy of the GNU General Public |
20 | * License along with this library; if not, write to the Free | 20 | * License along with this file; if not, write to the Free |
21 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | 21 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, |
22 | * MA 02110-1301 USA | 22 | * MA 02110-1301 USA |
23 | * | 23 | * |
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts index fa44b026483b..916ee8bb826f 100644 --- a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts +++ b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts | |||
@@ -1,15 +1,49 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright 2012 Maxime Ripard | 2 | * Copyright 2012 Maxime Ripard <maxime.ripard@free-electrons.com> |
3 | * Copyright 2013 Hans de Goede <hdegoede@redhat.com> | 3 | * Copyright 2013 Hans de Goede <hdegoede@redhat.com> |
4 | * | 4 | * |
5 | * Maxime Ripard <maxime.ripard@free-electrons.com> | 5 | * This file is dual-licensed: you can use it either under the terms |
6 | * of the GPL or the X11 license, at your option. Note that this dual | ||
7 | * licensing only applies to this file, and not this project as a | ||
8 | * whole. | ||
6 | * | 9 | * |
7 | * The code contained herein is licensed under the GNU General Public | 10 | * a) This file is free software; you can redistribute it and/or |
8 | * License. You may obtain a copy of the GNU General Public License | 11 | * modify it under the terms of the GNU General Public License as |
9 | * Version 2 or later at the following locations: | 12 | * published by the Free Software Foundation; either version 2 of the |
13 | * License, or (at your option) any later version. | ||
10 | * | 14 | * |
11 | * http://www.opensource.org/licenses/gpl-license.html | 15 | * This file is distributed in the hope that it will be useful, |
12 | * http://www.gnu.org/copyleft/gpl.html | 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | * GNU General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this file; if not, write to the Free | ||
22 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
23 | * MA 02110-1301 USA | ||
24 | * | ||
25 | * Or, alternatively, | ||
26 | * | ||
27 | * b) Permission is hereby granted, free of charge, to any person | ||
28 | * obtaining a copy of this software and associated documentation | ||
29 | * files (the "Software"), to deal in the Software without | ||
30 | * restriction, including without limitation the rights to use, | ||
31 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
32 | * sell copies of the Software, and to permit persons to whom the | ||
33 | * Software is furnished to do so, subject to the following | ||
34 | * conditions: | ||
35 | * | ||
36 | * The above copyright notice and this permission notice shall be | ||
37 | * included in all copies or substantial portions of the Software. | ||
38 | * | ||
39 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
40 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
41 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
42 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
43 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
44 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
45 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
46 | * OTHER DEALINGS IN THE SOFTWARE. | ||
13 | */ | 47 | */ |
14 | 48 | ||
15 | /dts-v1/; | 49 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts index 429994e1943e..e31d291d14cb 100644 --- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts +++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts | |||
@@ -3,12 +3,48 @@ | |||
3 | * | 3 | * |
4 | * Maxime Ripard <maxime.ripard@free-electrons.com> | 4 | * Maxime Ripard <maxime.ripard@free-electrons.com> |
5 | * | 5 | * |
6 | * The code contained herein is licensed under the GNU General Public | 6 | * This file is dual-licensed: you can use it either under the terms |
7 | * License. You may obtain a copy of the GNU General Public License | 7 | * of the GPL or the X11 license, at your option. Note that this dual |
8 | * Version 2 or later at the following locations: | 8 | * licensing only applies to this file, and not this project as a |
9 | * whole. | ||
9 | * | 10 | * |
10 | * http://www.opensource.org/licenses/gpl-license.html | 11 | * a) This file is free software; you can redistribute it and/or |
11 | * http://www.gnu.org/copyleft/gpl.html | 12 | * modify it under the terms of the GNU General Public License as |
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this file; if not, write to the Free | ||
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
24 | * MA 02110-1301 USA | ||
25 | * | ||
26 | * Or, alternatively, | ||
27 | * | ||
28 | * b) Permission is hereby granted, free of charge, to any person | ||
29 | * obtaining a copy of this software and associated documentation | ||
30 | * files (the "Software"), to deal in the Software without | ||
31 | * restriction, including without limitation the rights to use, | ||
32 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
33 | * sell copies of the Software, and to permit persons to whom the | ||
34 | * Software is furnished to do so, subject to the following | ||
35 | * conditions: | ||
36 | * | ||
37 | * The above copyright notice and this permission notice shall be | ||
38 | * included in all copies or substantial portions of the Software. | ||
39 | * | ||
40 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
41 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
42 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
43 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
44 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
45 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
46 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
47 | * OTHER DEALINGS IN THE SOFTWARE. | ||
12 | */ | 48 | */ |
13 | 49 | ||
14 | /dts-v1/; | 50 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun6i-a31-app4-evb1.dts b/arch/arm/boot/dts/sun6i-a31-app4-evb1.dts index 2bbf8867362b..c74a63a39531 100644 --- a/arch/arm/boot/dts/sun6i-a31-app4-evb1.dts +++ b/arch/arm/boot/dts/sun6i-a31-app4-evb1.dts | |||
@@ -3,12 +3,48 @@ | |||
3 | * | 3 | * |
4 | * Boris Brezillon <boris.brezillon@free-electrons.com> | 4 | * Boris Brezillon <boris.brezillon@free-electrons.com> |
5 | * | 5 | * |
6 | * The code contained herein is licensed under the GNU General Public | 6 | * This file is dual-licensed: you can use it either under the terms |
7 | * License. You may obtain a copy of the GNU General Public License | 7 | * of the GPL or the X11 license, at your option. Note that this dual |
8 | * Version 2 or later at the following locations: | 8 | * licensing only applies to this file, and not this project as a |
9 | * whole. | ||
9 | * | 10 | * |
10 | * http://www.opensource.org/licenses/gpl-license.html | 11 | * a) This file is free software; you can redistribute it and/or |
11 | * http://www.gnu.org/copyleft/gpl.html | 12 | * modify it under the terms of the GNU General Public License as |
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this file; if not, write to the Free | ||
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
24 | * MA 02110-1301 USA | ||
25 | * | ||
26 | * Or, alternatively, | ||
27 | * | ||
28 | * b) Permission is hereby granted, free of charge, to any person | ||
29 | * obtaining a copy of this software and associated documentation | ||
30 | * files (the "Software"), to deal in the Software without | ||
31 | * restriction, including without limitation the rights to use, | ||
32 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
33 | * sell copies of the Software, and to permit persons to whom the | ||
34 | * Software is furnished to do so, subject to the following | ||
35 | * conditions: | ||
36 | * | ||
37 | * The above copyright notice and this permission notice shall be | ||
38 | * included in all copies or substantial portions of the Software. | ||
39 | * | ||
40 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
41 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
42 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
43 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
44 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
45 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
46 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
47 | * OTHER DEALINGS IN THE SOFTWARE. | ||
12 | */ | 48 | */ |
13 | 49 | ||
14 | /dts-v1/; | 50 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun6i-a31-colombus.dts b/arch/arm/boot/dts/sun6i-a31-colombus.dts index 546cf6eff5c7..c36b4dc89c13 100644 --- a/arch/arm/boot/dts/sun6i-a31-colombus.dts +++ b/arch/arm/boot/dts/sun6i-a31-colombus.dts | |||
@@ -3,12 +3,48 @@ | |||
3 | * | 3 | * |
4 | * Maxime Ripard <maxime.ripard@free-electrons.com> | 4 | * Maxime Ripard <maxime.ripard@free-electrons.com> |
5 | * | 5 | * |
6 | * The code contained herein is licensed under the GNU General Public | 6 | * This file is dual-licensed: you can use it either under the terms |
7 | * License. You may obtain a copy of the GNU General Public License | 7 | * of the GPL or the X11 license, at your option. Note that this dual |
8 | * Version 2 or later at the following locations: | 8 | * licensing only applies to this file, and not this project as a |
9 | * whole. | ||
9 | * | 10 | * |
10 | * http://www.opensource.org/licenses/gpl-license.html | 11 | * a) This file is free software; you can redistribute it and/or |
11 | * http://www.gnu.org/copyleft/gpl.html | 12 | * modify it under the terms of the GNU General Public License as |
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this file; if not, write to the Free | ||
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
24 | * MA 02110-1301 USA | ||
25 | * | ||
26 | * Or, alternatively, | ||
27 | * | ||
28 | * b) Permission is hereby granted, free of charge, to any person | ||
29 | * obtaining a copy of this software and associated documentation | ||
30 | * files (the "Software"), to deal in the Software without | ||
31 | * restriction, including without limitation the rights to use, | ||
32 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
33 | * sell copies of the Software, and to permit persons to whom the | ||
34 | * Software is furnished to do so, subject to the following | ||
35 | * conditions: | ||
36 | * | ||
37 | * The above copyright notice and this permission notice shall be | ||
38 | * included in all copies or substantial portions of the Software. | ||
39 | * | ||
40 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
41 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
42 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
43 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
44 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
45 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
46 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
47 | * OTHER DEALINGS IN THE SOFTWARE. | ||
12 | */ | 48 | */ |
13 | 49 | ||
14 | /dts-v1/; | 50 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts index f142065b3c1f..6e924d9d2912 100644 --- a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts +++ b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts | |||
@@ -3,12 +3,48 @@ | |||
3 | * | 3 | * |
4 | * Maxime Ripard <maxime.ripard@free-electrons.com> | 4 | * Maxime Ripard <maxime.ripard@free-electrons.com> |
5 | * | 5 | * |
6 | * The code contained herein is licensed under the GNU General Public | 6 | * This file is dual-licensed: you can use it either under the terms |
7 | * License. You may obtain a copy of the GNU General Public License | 7 | * of the GPL or the X11 license, at your option. Note that this dual |
8 | * Version 2 or later at the following locations: | 8 | * licensing only applies to this file, and not this project as a |
9 | * whole. | ||
9 | * | 10 | * |
10 | * http://www.opensource.org/licenses/gpl-license.html | 11 | * a) This file is free software; you can redistribute it and/or |
11 | * http://www.gnu.org/copyleft/gpl.html | 12 | * modify it under the terms of the GNU General Public License as |
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this file; if not, write to the Free | ||
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
24 | * MA 02110-1301 USA | ||
25 | * | ||
26 | * Or, alternatively, | ||
27 | * | ||
28 | * b) Permission is hereby granted, free of charge, to any person | ||
29 | * obtaining a copy of this software and associated documentation | ||
30 | * files (the "Software"), to deal in the Software without | ||
31 | * restriction, including without limitation the rights to use, | ||
32 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
33 | * sell copies of the Software, and to permit persons to whom the | ||
34 | * Software is furnished to do so, subject to the following | ||
35 | * conditions: | ||
36 | * | ||
37 | * The above copyright notice and this permission notice shall be | ||
38 | * included in all copies or substantial portions of the Software. | ||
39 | * | ||
40 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
41 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
42 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
43 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
44 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
45 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
46 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
47 | * OTHER DEALINGS IN THE SOFTWARE. | ||
12 | */ | 48 | */ |
13 | 49 | ||
14 | /dts-v1/; | 50 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun6i-a31-m9.dts b/arch/arm/boot/dts/sun6i-a31-m9.dts index bc6115da5ae1..3ab544f3af4a 100644 --- a/arch/arm/boot/dts/sun6i-a31-m9.dts +++ b/arch/arm/boot/dts/sun6i-a31-m9.dts | |||
@@ -1,12 +1,48 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright 2014 Hans de Goede <hdegoede@redhat.com> | 2 | * Copyright 2014 Hans de Goede <hdegoede@redhat.com> |
3 | * | 3 | * |
4 | * The code contained herein is licensed under the GNU General Public | 4 | * This file is dual-licensed: you can use it either under the terms |
5 | * License. You may obtain a copy of the GNU General Public License | 5 | * of the GPL or the X11 license, at your option. Note that this dual |
6 | * Version 2 or later at the following locations: | 6 | * licensing only applies to this file, and not this project as a |
7 | * whole. | ||
7 | * | 8 | * |
8 | * http://www.opensource.org/licenses/gpl-license.html | 9 | * a) This file is free software; you can redistribute it and/or |
9 | * http://www.gnu.org/copyleft/gpl.html | 10 | * modify it under the terms of the GNU General Public License as |
11 | * published by the Free Software Foundation; either version 2 of the | ||
12 | * License, or (at your option) any later version. | ||
13 | * | ||
14 | * This file is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public | ||
20 | * License along with this file; if not, write to the Free | ||
21 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
22 | * MA 02110-1301 USA | ||
23 | * | ||
24 | * Or, alternatively, | ||
25 | * | ||
26 | * b) Permission is hereby granted, free of charge, to any person | ||
27 | * obtaining a copy of this software and associated documentation | ||
28 | * files (the "Software"), to deal in the Software without | ||
29 | * restriction, including without limitation the rights to use, | ||
30 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
31 | * sell copies of the Software, and to permit persons to whom the | ||
32 | * Software is furnished to do so, subject to the following | ||
33 | * conditions: | ||
34 | * | ||
35 | * The above copyright notice and this permission notice shall be | ||
36 | * included in all copies or substantial portions of the Software. | ||
37 | * | ||
38 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
39 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
40 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
41 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
42 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
43 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
44 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
45 | * OTHER DEALINGS IN THE SOFTWARE. | ||
10 | */ | 46 | */ |
11 | 47 | ||
12 | /dts-v1/; | 48 | /dts-v1/; |
@@ -32,13 +68,40 @@ | |||
32 | status = "okay"; | 68 | status = "okay"; |
33 | }; | 69 | }; |
34 | 70 | ||
71 | usbphy: phy@01c19400 { | ||
72 | usb1_vbus-supply = <®_usb1_vbus>; | ||
73 | status = "okay"; | ||
74 | }; | ||
75 | |||
76 | ehci0: usb@01c1a000 { | ||
77 | status = "okay"; | ||
78 | }; | ||
79 | |||
80 | ehci1: usb@01c1b000 { | ||
81 | status = "okay"; | ||
82 | }; | ||
83 | |||
35 | pio: pinctrl@01c20800 { | 84 | pio: pinctrl@01c20800 { |
85 | led_pins_m9: led_pins@0 { | ||
86 | allwinner,pins = "PH13"; | ||
87 | allwinner,function = "gpio_out"; | ||
88 | allwinner,drive = <0>; | ||
89 | allwinner,pull = <0>; | ||
90 | }; | ||
91 | |||
36 | mmc0_cd_pin_m9: mmc0_cd_pin@0 { | 92 | mmc0_cd_pin_m9: mmc0_cd_pin@0 { |
37 | allwinner,pins = "PH22"; | 93 | allwinner,pins = "PH22"; |
38 | allwinner,function = "gpio_in"; | 94 | allwinner,function = "gpio_in"; |
39 | allwinner,drive = <0>; | 95 | allwinner,drive = <0>; |
40 | allwinner,pull = <1>; | 96 | allwinner,pull = <1>; |
41 | }; | 97 | }; |
98 | |||
99 | usb1_vbus_pin_m9: usb1_vbus_pin@0 { | ||
100 | allwinner,pins = "PC27"; | ||
101 | allwinner,function = "gpio_out"; | ||
102 | allwinner,drive = <0>; | ||
103 | allwinner,pull = <0>; | ||
104 | }; | ||
42 | }; | 105 | }; |
43 | 106 | ||
44 | uart0: serial@01c28000 { | 107 | uart0: serial@01c28000 { |
@@ -46,5 +109,35 @@ | |||
46 | pinctrl-0 = <&uart0_pins_a>; | 109 | pinctrl-0 = <&uart0_pins_a>; |
47 | status = "okay"; | 110 | status = "okay"; |
48 | }; | 111 | }; |
112 | |||
113 | gmac: ethernet@01c30000 { | ||
114 | pinctrl-names = "default"; | ||
115 | pinctrl-0 = <&gmac_pins_mii_a>; | ||
116 | phy = <&phy1>; | ||
117 | phy-mode = "mii"; | ||
118 | status = "okay"; | ||
119 | |||
120 | phy1: ethernet-phy@1 { | ||
121 | reg = <1>; | ||
122 | }; | ||
123 | }; | ||
124 | }; | ||
125 | |||
126 | leds { | ||
127 | compatible = "gpio-leds"; | ||
128 | pinctrl-names = "default"; | ||
129 | pinctrl-0 = <&led_pins_m9>; | ||
130 | |||
131 | blue { | ||
132 | label = "m9:blue:usr"; | ||
133 | gpios = <&pio 7 13 0>; | ||
134 | }; | ||
135 | }; | ||
136 | |||
137 | reg_usb1_vbus: usb1-vbus { | ||
138 | pinctrl-names = "default"; | ||
139 | pinctrl-0 = <&usb1_vbus_pin_m9>; | ||
140 | gpio = <&pio 2 27 0>; | ||
141 | status = "okay"; | ||
49 | }; | 142 | }; |
50 | }; | 143 | }; |
diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi index 2e652e2339e9..a400172a8a52 100644 --- a/arch/arm/boot/dts/sun6i-a31.dtsi +++ b/arch/arm/boot/dts/sun6i-a31.dtsi | |||
@@ -8,18 +8,18 @@ | |||
8 | * licensing only applies to this file, and not this project as a | 8 | * licensing only applies to this file, and not this project as a |
9 | * whole. | 9 | * whole. |
10 | * | 10 | * |
11 | * a) This library is free software; you can redistribute it and/or | 11 | * a) This file is free software; you can redistribute it and/or |
12 | * modify it under the terms of the GNU General Public License as | 12 | * modify it under the terms of the GNU General Public License as |
13 | * published by the Free Software Foundation; either version 2 of the | 13 | * published by the Free Software Foundation; either version 2 of the |
14 | * License, or (at your option) any later version. | 14 | * License, or (at your option) any later version. |
15 | * | 15 | * |
16 | * This library is distributed in the hope that it will be useful, | 16 | * This file is distributed in the hope that it will be useful, |
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
19 | * GNU General Public License for more details. | 19 | * GNU General Public License for more details. |
20 | * | 20 | * |
21 | * You should have received a copy of the GNU General Public | 21 | * You should have received a copy of the GNU General Public |
22 | * License along with this library; if not, write to the Free | 22 | * License along with this file; if not, write to the Free |
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | 23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, |
24 | * MA 02110-1301 USA | 24 | * MA 02110-1301 USA |
25 | * | 25 | * |
@@ -62,6 +62,18 @@ | |||
62 | ethernet0 = &gmac; | 62 | ethernet0 = &gmac; |
63 | }; | 63 | }; |
64 | 64 | ||
65 | chosen { | ||
66 | #address-cells = <1>; | ||
67 | #size-cells = <1>; | ||
68 | ranges; | ||
69 | |||
70 | framebuffer@0 { | ||
71 | compatible = "allwinner,simple-framebuffer", "simple-framebuffer"; | ||
72 | allwinner,pipeline = "de_be0-lcd0-hdmi"; | ||
73 | clocks = <&pll6 0>; | ||
74 | status = "disabled"; | ||
75 | }; | ||
76 | }; | ||
65 | 77 | ||
66 | cpus { | 78 | cpus { |
67 | enable-method = "allwinner,sun6i-a31"; | 79 | enable-method = "allwinner,sun6i-a31"; |
@@ -132,11 +144,11 @@ | |||
132 | }; | 144 | }; |
133 | 145 | ||
134 | pll6: clk@01c20028 { | 146 | pll6: clk@01c20028 { |
135 | #clock-cells = <0>; | 147 | #clock-cells = <1>; |
136 | compatible = "allwinner,sun6i-a31-pll6-clk"; | 148 | compatible = "allwinner,sun6i-a31-pll6-clk"; |
137 | reg = <0x01c20028 0x4>; | 149 | reg = <0x01c20028 0x4>; |
138 | clocks = <&osc24M>; | 150 | clocks = <&osc24M>; |
139 | clock-output-names = "pll6"; | 151 | clock-output-names = "pll6", "pll6x2"; |
140 | }; | 152 | }; |
141 | 153 | ||
142 | cpu: cpu@01c20050 { | 154 | cpu: cpu@01c20050 { |
@@ -166,7 +178,7 @@ | |||
166 | #clock-cells = <0>; | 178 | #clock-cells = <0>; |
167 | compatible = "allwinner,sun6i-a31-ahb1-mux-clk"; | 179 | compatible = "allwinner,sun6i-a31-ahb1-mux-clk"; |
168 | reg = <0x01c20054 0x4>; | 180 | reg = <0x01c20054 0x4>; |
169 | clocks = <&osc32k>, <&osc24M>, <&axi>, <&pll6>; | 181 | clocks = <&osc32k>, <&osc24M>, <&axi>, <&pll6 0>; |
170 | clock-output-names = "ahb1_mux"; | 182 | clock-output-names = "ahb1_mux"; |
171 | }; | 183 | }; |
172 | 184 | ||
@@ -221,7 +233,7 @@ | |||
221 | #clock-cells = <0>; | 233 | #clock-cells = <0>; |
222 | compatible = "allwinner,sun4i-a10-apb1-mux-clk"; | 234 | compatible = "allwinner,sun4i-a10-apb1-mux-clk"; |
223 | reg = <0x01c20058 0x4>; | 235 | reg = <0x01c20058 0x4>; |
224 | clocks = <&osc32k>, <&osc24M>, <&pll6>, <&pll6>; | 236 | clocks = <&osc32k>, <&osc24M>, <&pll6 0>, <&pll6 0>; |
225 | clock-output-names = "apb2_mux"; | 237 | clock-output-names = "apb2_mux"; |
226 | }; | 238 | }; |
227 | 239 | ||
@@ -248,7 +260,7 @@ | |||
248 | #clock-cells = <0>; | 260 | #clock-cells = <0>; |
249 | compatible = "allwinner,sun4i-a10-mod0-clk"; | 261 | compatible = "allwinner,sun4i-a10-mod0-clk"; |
250 | reg = <0x01c20088 0x4>; | 262 | reg = <0x01c20088 0x4>; |
251 | clocks = <&osc24M>, <&pll6>; | 263 | clocks = <&osc24M>, <&pll6 0>; |
252 | clock-output-names = "mmc0"; | 264 | clock-output-names = "mmc0"; |
253 | }; | 265 | }; |
254 | 266 | ||
@@ -256,7 +268,7 @@ | |||
256 | #clock-cells = <0>; | 268 | #clock-cells = <0>; |
257 | compatible = "allwinner,sun4i-a10-mod0-clk"; | 269 | compatible = "allwinner,sun4i-a10-mod0-clk"; |
258 | reg = <0x01c2008c 0x4>; | 270 | reg = <0x01c2008c 0x4>; |
259 | clocks = <&osc24M>, <&pll6>; | 271 | clocks = <&osc24M>, <&pll6 0>; |
260 | clock-output-names = "mmc1"; | 272 | clock-output-names = "mmc1"; |
261 | }; | 273 | }; |
262 | 274 | ||
@@ -264,7 +276,7 @@ | |||
264 | #clock-cells = <0>; | 276 | #clock-cells = <0>; |
265 | compatible = "allwinner,sun4i-a10-mod0-clk"; | 277 | compatible = "allwinner,sun4i-a10-mod0-clk"; |
266 | reg = <0x01c20090 0x4>; | 278 | reg = <0x01c20090 0x4>; |
267 | clocks = <&osc24M>, <&pll6>; | 279 | clocks = <&osc24M>, <&pll6 0>; |
268 | clock-output-names = "mmc2"; | 280 | clock-output-names = "mmc2"; |
269 | }; | 281 | }; |
270 | 282 | ||
@@ -272,7 +284,7 @@ | |||
272 | #clock-cells = <0>; | 284 | #clock-cells = <0>; |
273 | compatible = "allwinner,sun4i-a10-mod0-clk"; | 285 | compatible = "allwinner,sun4i-a10-mod0-clk"; |
274 | reg = <0x01c20094 0x4>; | 286 | reg = <0x01c20094 0x4>; |
275 | clocks = <&osc24M>, <&pll6>; | 287 | clocks = <&osc24M>, <&pll6 0>; |
276 | clock-output-names = "mmc3"; | 288 | clock-output-names = "mmc3"; |
277 | }; | 289 | }; |
278 | 290 | ||
@@ -280,7 +292,7 @@ | |||
280 | #clock-cells = <0>; | 292 | #clock-cells = <0>; |
281 | compatible = "allwinner,sun4i-a10-mod0-clk"; | 293 | compatible = "allwinner,sun4i-a10-mod0-clk"; |
282 | reg = <0x01c200a0 0x4>; | 294 | reg = <0x01c200a0 0x4>; |
283 | clocks = <&osc24M>, <&pll6>; | 295 | clocks = <&osc24M>, <&pll6 0>; |
284 | clock-output-names = "spi0"; | 296 | clock-output-names = "spi0"; |
285 | }; | 297 | }; |
286 | 298 | ||
@@ -288,7 +300,7 @@ | |||
288 | #clock-cells = <0>; | 300 | #clock-cells = <0>; |
289 | compatible = "allwinner,sun4i-a10-mod0-clk"; | 301 | compatible = "allwinner,sun4i-a10-mod0-clk"; |
290 | reg = <0x01c200a4 0x4>; | 302 | reg = <0x01c200a4 0x4>; |
291 | clocks = <&osc24M>, <&pll6>; | 303 | clocks = <&osc24M>, <&pll6 0>; |
292 | clock-output-names = "spi1"; | 304 | clock-output-names = "spi1"; |
293 | }; | 305 | }; |
294 | 306 | ||
@@ -296,7 +308,7 @@ | |||
296 | #clock-cells = <0>; | 308 | #clock-cells = <0>; |
297 | compatible = "allwinner,sun4i-a10-mod0-clk"; | 309 | compatible = "allwinner,sun4i-a10-mod0-clk"; |
298 | reg = <0x01c200a8 0x4>; | 310 | reg = <0x01c200a8 0x4>; |
299 | clocks = <&osc24M>, <&pll6>; | 311 | clocks = <&osc24M>, <&pll6 0>; |
300 | clock-output-names = "spi2"; | 312 | clock-output-names = "spi2"; |
301 | }; | 313 | }; |
302 | 314 | ||
@@ -304,7 +316,7 @@ | |||
304 | #clock-cells = <0>; | 316 | #clock-cells = <0>; |
305 | compatible = "allwinner,sun4i-a10-mod0-clk"; | 317 | compatible = "allwinner,sun4i-a10-mod0-clk"; |
306 | reg = <0x01c200ac 0x4>; | 318 | reg = <0x01c200ac 0x4>; |
307 | clocks = <&osc24M>, <&pll6>; | 319 | clocks = <&osc24M>, <&pll6 0>; |
308 | clock-output-names = "spi3"; | 320 | clock-output-names = "spi3"; |
309 | }; | 321 | }; |
310 | 322 | ||
@@ -364,7 +376,7 @@ | |||
364 | 376 | ||
365 | /* DMA controller requires AHB1 clocked from PLL6 */ | 377 | /* DMA controller requires AHB1 clocked from PLL6 */ |
366 | assigned-clocks = <&ahb1_mux>; | 378 | assigned-clocks = <&ahb1_mux>; |
367 | assigned-clock-parents = <&pll6>; | 379 | assigned-clock-parents = <&pll6 0>; |
368 | }; | 380 | }; |
369 | 381 | ||
370 | mmc0: mmc@01c0f000 { | 382 | mmc0: mmc@01c0f000 { |
@@ -844,7 +856,7 @@ | |||
844 | ar100: ar100_clk { | 856 | ar100: ar100_clk { |
845 | compatible = "allwinner,sun6i-a31-ar100-clk"; | 857 | compatible = "allwinner,sun6i-a31-ar100-clk"; |
846 | #clock-cells = <0>; | 858 | #clock-cells = <0>; |
847 | clocks = <&osc32k>, <&osc24M>, <&pll6>, <&pll6>; | 859 | clocks = <&osc32k>, <&osc24M>, <&pll6 0>, <&pll6 0>; |
848 | clock-output-names = "ar100"; | 860 | clock-output-names = "ar100"; |
849 | }; | 861 | }; |
850 | 862 | ||
diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi.dts b/arch/arm/boot/dts/sun7i-a20-bananapi.dts new file mode 100644 index 000000000000..1cf1214cc068 --- /dev/null +++ b/arch/arm/boot/dts/sun7i-a20-bananapi.dts | |||
@@ -0,0 +1,214 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Hans de Goede <hdegoede@redhat.com> | ||
3 | * | ||
4 | * Hans de Goede <hdegoede@redhat.com> | ||
5 | * | ||
6 | * This file is dual-licensed: you can use it either under the terms | ||
7 | * of the GPL or the X11 license, at your option. Note that this dual | ||
8 | * licensing only applies to this file, and not this project as a | ||
9 | * whole. | ||
10 | * | ||
11 | * a) This file is free software; you can redistribute it and/or | ||
12 | * modify it under the terms of the GNU General Public License as | ||
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this file; if not, write to the Free | ||
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
24 | * MA 02110-1301 USA | ||
25 | * | ||
26 | * Or, alternatively, | ||
27 | * | ||
28 | * b) Permission is hereby granted, free of charge, to any person | ||
29 | * obtaining a copy of this software and associated documentation | ||
30 | * files (the "Software"), to deal in the Software without | ||
31 | * restriction, including without limitation the rights to use, | ||
32 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
33 | * sell copies of the Software, and to permit persons to whom the | ||
34 | * Software is furnished to do so, subject to the following | ||
35 | * conditions: | ||
36 | * | ||
37 | * The above copyright notice and this permission notice shall be | ||
38 | * included in all copies or substantial portions of the Software. | ||
39 | * | ||
40 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
41 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
42 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
43 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
44 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
45 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
46 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
47 | * OTHER DEALINGS IN THE SOFTWARE. | ||
48 | */ | ||
49 | |||
50 | /dts-v1/; | ||
51 | /include/ "sun7i-a20.dtsi" | ||
52 | /include/ "sunxi-common-regulators.dtsi" | ||
53 | |||
54 | / { | ||
55 | model = "LeMaker Banana Pi"; | ||
56 | compatible = "lemaker,bananapi", "allwinner,sun7i-a20"; | ||
57 | |||
58 | soc@01c00000 { | ||
59 | spi0: spi@01c05000 { | ||
60 | pinctrl-names = "default"; | ||
61 | pinctrl-0 = <&spi0_pins_a>; | ||
62 | status = "okay"; | ||
63 | }; | ||
64 | |||
65 | mmc0: mmc@01c0f000 { | ||
66 | pinctrl-names = "default"; | ||
67 | pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>; | ||
68 | vmmc-supply = <®_vcc3v3>; | ||
69 | bus-width = <4>; | ||
70 | cd-gpios = <&pio 7 10 0>; /* PH10 */ | ||
71 | cd-inverted; | ||
72 | status = "okay"; | ||
73 | }; | ||
74 | |||
75 | usbphy: phy@01c13400 { | ||
76 | usb1_vbus-supply = <®_usb1_vbus>; | ||
77 | usb2_vbus-supply = <®_usb2_vbus>; | ||
78 | status = "okay"; | ||
79 | }; | ||
80 | |||
81 | ehci0: usb@01c14000 { | ||
82 | status = "okay"; | ||
83 | }; | ||
84 | |||
85 | ohci0: usb@01c14400 { | ||
86 | status = "okay"; | ||
87 | }; | ||
88 | |||
89 | ahci: sata@01c18000 { | ||
90 | status = "okay"; | ||
91 | }; | ||
92 | |||
93 | ehci1: usb@01c1c000 { | ||
94 | status = "okay"; | ||
95 | }; | ||
96 | |||
97 | ohci1: usb@01c1c400 { | ||
98 | status = "okay"; | ||
99 | }; | ||
100 | |||
101 | pinctrl@01c20800 { | ||
102 | mmc0_cd_pin_bananapi: mmc0_cd_pin@0 { | ||
103 | allwinner,pins = "PH10"; | ||
104 | allwinner,function = "gpio_in"; | ||
105 | allwinner,drive = <0>; | ||
106 | allwinner,pull = <1>; | ||
107 | }; | ||
108 | |||
109 | gmac_power_pin_bananapi: gmac_power_pin@0 { | ||
110 | allwinner,pins = "PH23"; | ||
111 | allwinner,function = "gpio_out"; | ||
112 | allwinner,drive = <0>; | ||
113 | allwinner,pull = <0>; | ||
114 | }; | ||
115 | |||
116 | led_pins_bananapi: led_pins@0 { | ||
117 | allwinner,pins = "PH24"; | ||
118 | allwinner,function = "gpio_out"; | ||
119 | allwinner,drive = <0>; | ||
120 | allwinner,pull = <0>; | ||
121 | }; | ||
122 | }; | ||
123 | |||
124 | ir0: ir@01c21800 { | ||
125 | pinctrl-names = "default"; | ||
126 | pinctrl-0 = <&ir0_pins_a>; | ||
127 | status = "okay"; | ||
128 | }; | ||
129 | |||
130 | uart0: serial@01c28000 { | ||
131 | pinctrl-names = "default"; | ||
132 | pinctrl-0 = <&uart0_pins_a>; | ||
133 | status = "okay"; | ||
134 | }; | ||
135 | |||
136 | uart3: serial@01c28c00 { | ||
137 | pinctrl-names = "default"; | ||
138 | pinctrl-0 = <&uart3_pins_b>; | ||
139 | status = "okay"; | ||
140 | }; | ||
141 | |||
142 | uart7: serial@01c29c00 { | ||
143 | pinctrl-names = "default"; | ||
144 | pinctrl-0 = <&uart7_pins_a>; | ||
145 | status = "okay"; | ||
146 | }; | ||
147 | |||
148 | i2c0: i2c@01c2ac00 { | ||
149 | pinctrl-names = "default"; | ||
150 | pinctrl-0 = <&i2c0_pins_a>; | ||
151 | status = "okay"; | ||
152 | |||
153 | axp209: pmic@34 { | ||
154 | compatible = "x-powers,axp209"; | ||
155 | reg = <0x34>; | ||
156 | interrupt-parent = <&nmi_intc>; | ||
157 | interrupts = <0 8>; | ||
158 | |||
159 | interrupt-controller; | ||
160 | #interrupt-cells = <1>; | ||
161 | }; | ||
162 | }; | ||
163 | |||
164 | i2c2: i2c@01c2b400 { | ||
165 | pinctrl-names = "default"; | ||
166 | pinctrl-0 = <&i2c2_pins_a>; | ||
167 | status = "okay"; | ||
168 | }; | ||
169 | |||
170 | gmac: ethernet@01c50000 { | ||
171 | pinctrl-names = "default"; | ||
172 | pinctrl-0 = <&gmac_pins_rgmii_a>; | ||
173 | phy = <&phy1>; | ||
174 | phy-mode = "rgmii"; | ||
175 | phy-supply = <®_gmac_3v3>; | ||
176 | status = "okay"; | ||
177 | |||
178 | phy1: ethernet-phy@1 { | ||
179 | reg = <1>; | ||
180 | }; | ||
181 | }; | ||
182 | }; | ||
183 | |||
184 | leds { | ||
185 | compatible = "gpio-leds"; | ||
186 | pinctrl-names = "default"; | ||
187 | pinctrl-0 = <&led_pins_bananapi>; | ||
188 | |||
189 | green { | ||
190 | label = "bananapi:green:usr"; | ||
191 | gpios = <&pio 7 24 0>; | ||
192 | }; | ||
193 | }; | ||
194 | |||
195 | reg_usb1_vbus: usb1-vbus { | ||
196 | status = "okay"; | ||
197 | }; | ||
198 | |||
199 | reg_usb2_vbus: usb2-vbus { | ||
200 | status = "okay"; | ||
201 | }; | ||
202 | |||
203 | reg_gmac_3v3: gmac-3v3 { | ||
204 | compatible = "regulator-fixed"; | ||
205 | pinctrl-names = "default"; | ||
206 | pinctrl-0 = <&gmac_power_pin_bananapi>; | ||
207 | regulator-name = "gmac-3v3"; | ||
208 | regulator-min-microvolt = <3300000>; | ||
209 | regulator-max-microvolt = <3300000>; | ||
210 | startup-delay-us = <100000>; | ||
211 | enable-active-high; | ||
212 | gpio = <&pio 7 23 0>; | ||
213 | }; | ||
214 | }; | ||
diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts index a6c1a3c717bc..a281d259b9b8 100644 --- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts +++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts | |||
@@ -40,6 +40,7 @@ | |||
40 | }; | 40 | }; |
41 | 41 | ||
42 | usbphy: phy@01c13400 { | 42 | usbphy: phy@01c13400 { |
43 | usb0_vbus-supply = <®_usb0_vbus>; | ||
43 | usb1_vbus-supply = <®_usb1_vbus>; | 44 | usb1_vbus-supply = <®_usb1_vbus>; |
44 | usb2_vbus-supply = <®_usb2_vbus>; | 45 | usb2_vbus-supply = <®_usb2_vbus>; |
45 | status = "okay"; | 46 | status = "okay"; |
@@ -92,6 +93,13 @@ | |||
92 | allwinner,drive = <0>; | 93 | allwinner,drive = <0>; |
93 | allwinner,pull = <0>; | 94 | allwinner,pull = <0>; |
94 | }; | 95 | }; |
96 | |||
97 | usb0_vbus_pin_a: usb0_vbus_pin@0 { | ||
98 | allwinner,pins = "PH17"; | ||
99 | allwinner,function = "gpio_out"; | ||
100 | allwinner,drive = <0>; | ||
101 | allwinner,pull = <0>; | ||
102 | }; | ||
95 | }; | 103 | }; |
96 | 104 | ||
97 | pwm: pwm@01c20e00 { | 105 | pwm: pwm@01c20e00 { |
@@ -185,6 +193,12 @@ | |||
185 | status = "okay"; | 193 | status = "okay"; |
186 | }; | 194 | }; |
187 | 195 | ||
196 | reg_usb0_vbus: usb0-vbus { | ||
197 | pinctrl-0 = <&usb0_vbus_pin_a>; | ||
198 | gpio = <&pio 7 17 0>; | ||
199 | status = "okay"; | ||
200 | }; | ||
201 | |||
188 | reg_usb1_vbus: usb1-vbus { | 202 | reg_usb1_vbus: usb1-vbus { |
189 | status = "okay"; | 203 | status = "okay"; |
190 | }; | 204 | }; |
diff --git a/arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts b/arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts index 6a67712d417a..f38bb1a6656c 100644 --- a/arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts +++ b/arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts | |||
@@ -1,12 +1,48 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright 2014 Hans de Goede <hdegoede@redhat.com> | 2 | * Copyright 2014 Hans de Goede <hdegoede@redhat.com> |
3 | * | 3 | * |
4 | * The code contained herein is licensed under the GNU General Public | 4 | * This file is dual-licensed: you can use it either under the terms |
5 | * License. You may obtain a copy of the GNU General Public License | 5 | * of the GPL or the X11 license, at your option. Note that this dual |
6 | * Version 2 or later at the following locations: | 6 | * licensing only applies to this file, and not this project as a |
7 | * whole. | ||
7 | * | 8 | * |
8 | * http://www.opensource.org/licenses/gpl-license.html | 9 | * a) This file is free software; you can redistribute it and/or |
9 | * http://www.gnu.org/copyleft/gpl.html | 10 | * modify it under the terms of the GNU General Public License as |
11 | * published by the Free Software Foundation; either version 2 of the | ||
12 | * License, or (at your option) any later version. | ||
13 | * | ||
14 | * This file is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public | ||
20 | * License along with this file; if not, write to the Free | ||
21 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
22 | * MA 02110-1301 USA | ||
23 | * | ||
24 | * Or, alternatively, | ||
25 | * | ||
26 | * b) Permission is hereby granted, free of charge, to any person | ||
27 | * obtaining a copy of this software and associated documentation | ||
28 | * files (the "Software"), to deal in the Software without | ||
29 | * restriction, including without limitation the rights to use, | ||
30 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
31 | * sell copies of the Software, and to permit persons to whom the | ||
32 | * Software is furnished to do so, subject to the following | ||
33 | * conditions: | ||
34 | * | ||
35 | * The above copyright notice and this permission notice shall be | ||
36 | * included in all copies or substantial portions of the Software. | ||
37 | * | ||
38 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
39 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
40 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
41 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
42 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
43 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
44 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
45 | * OTHER DEALINGS IN THE SOFTWARE. | ||
10 | */ | 46 | */ |
11 | 47 | ||
12 | /dts-v1/; | 48 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun7i-a20-m3.dts b/arch/arm/boot/dts/sun7i-a20-m3.dts new file mode 100644 index 000000000000..b8e568c55271 --- /dev/null +++ b/arch/arm/boot/dts/sun7i-a20-m3.dts | |||
@@ -0,0 +1,168 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Hans de Goede <hdegoede@redhat.com> | ||
3 | * | ||
4 | * Hans de Goede <hdegoede@redhat.com> | ||
5 | * | ||
6 | * This file is dual-licensed: you can use it either under the terms | ||
7 | * of the GPL or the X11 license, at your option. Note that this dual | ||
8 | * licensing only applies to this file, and not this project as a | ||
9 | * whole. | ||
10 | * | ||
11 | * a) This file is free software; you can redistribute it and/or | ||
12 | * modify it under the terms of the GNU General Public License as | ||
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this file; if not, write to the Free | ||
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
24 | * MA 02110-1301 USA | ||
25 | * | ||
26 | * Or, alternatively, | ||
27 | * | ||
28 | * b) Permission is hereby granted, free of charge, to any person | ||
29 | * obtaining a copy of this software and associated documentation | ||
30 | * files (the "Software"), to deal in the Software without | ||
31 | * restriction, including without limitation the rights to use, | ||
32 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
33 | * sell copies of the Software, and to permit persons to whom the | ||
34 | * Software is furnished to do so, subject to the following | ||
35 | * conditions: | ||
36 | * | ||
37 | * The above copyright notice and this permission notice shall be | ||
38 | * included in all copies or substantial portions of the Software. | ||
39 | * | ||
40 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
41 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
42 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
43 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
44 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
45 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
46 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
47 | * OTHER DEALINGS IN THE SOFTWARE. | ||
48 | */ | ||
49 | |||
50 | /dts-v1/; | ||
51 | /include/ "sun7i-a20.dtsi" | ||
52 | /include/ "sunxi-common-regulators.dtsi" | ||
53 | |||
54 | / { | ||
55 | model = "Mele M3"; | ||
56 | compatible = "mele,m3", "allwinner,sun7i-a20"; | ||
57 | |||
58 | soc@01c00000 { | ||
59 | mmc0: mmc@01c0f000 { | ||
60 | pinctrl-names = "default"; | ||
61 | pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; | ||
62 | vmmc-supply = <®_vcc3v3>; | ||
63 | bus-width = <4>; | ||
64 | cd-gpios = <&pio 7 1 0>; /* PH1 */ | ||
65 | cd-inverted; | ||
66 | status = "okay"; | ||
67 | }; | ||
68 | |||
69 | mmc2: mmc@01c11000 { | ||
70 | pinctrl-names = "default"; | ||
71 | pinctrl-0 = <&mmc2_pins_a>; | ||
72 | vmmc-supply = <®_vcc3v3>; | ||
73 | bus-width = <4>; | ||
74 | non-removable; | ||
75 | status = "okay"; | ||
76 | }; | ||
77 | |||
78 | usbphy: phy@01c13400 { | ||
79 | usb1_vbus-supply = <®_usb1_vbus>; | ||
80 | usb2_vbus-supply = <®_usb2_vbus>; | ||
81 | status = "okay"; | ||
82 | }; | ||
83 | |||
84 | ehci0: usb@01c14000 { | ||
85 | status = "okay"; | ||
86 | }; | ||
87 | |||
88 | ohci0: usb@01c14400 { | ||
89 | status = "okay"; | ||
90 | }; | ||
91 | |||
92 | ehci1: usb@01c1c000 { | ||
93 | status = "okay"; | ||
94 | }; | ||
95 | |||
96 | ohci1: usb@01c1c400 { | ||
97 | status = "okay"; | ||
98 | }; | ||
99 | |||
100 | pinctrl@01c20800 { | ||
101 | led_pins_m3: led_pins@0 { | ||
102 | allwinner,pins = "PH20"; | ||
103 | allwinner,function = "gpio_out"; | ||
104 | allwinner,drive = <0>; | ||
105 | allwinner,pull = <0>; | ||
106 | }; | ||
107 | }; | ||
108 | |||
109 | ir0: ir@01c21800 { | ||
110 | pinctrl-names = "default"; | ||
111 | pinctrl-0 = <&ir0_pins_a>; | ||
112 | status = "okay"; | ||
113 | }; | ||
114 | |||
115 | uart0: serial@01c28000 { | ||
116 | pinctrl-names = "default"; | ||
117 | pinctrl-0 = <&uart0_pins_a>; | ||
118 | status = "okay"; | ||
119 | }; | ||
120 | |||
121 | i2c0: i2c@01c2ac00 { | ||
122 | pinctrl-names = "default"; | ||
123 | pinctrl-0 = <&i2c0_pins_a>; | ||
124 | status = "okay"; | ||
125 | |||
126 | axp209: pmic@34 { | ||
127 | compatible = "x-powers,axp209"; | ||
128 | reg = <0x34>; | ||
129 | interrupt-parent = <&nmi_intc>; | ||
130 | interrupts = <0 8>; | ||
131 | |||
132 | interrupt-controller; | ||
133 | #interrupt-cells = <1>; | ||
134 | }; | ||
135 | }; | ||
136 | |||
137 | gmac: ethernet@01c50000 { | ||
138 | pinctrl-names = "default"; | ||
139 | pinctrl-0 = <&gmac_pins_mii_a>; | ||
140 | phy = <&phy1>; | ||
141 | phy-mode = "mii"; | ||
142 | status = "okay"; | ||
143 | |||
144 | phy1: ethernet-phy@1 { | ||
145 | reg = <1>; | ||
146 | }; | ||
147 | }; | ||
148 | }; | ||
149 | |||
150 | leds { | ||
151 | compatible = "gpio-leds"; | ||
152 | pinctrl-names = "default"; | ||
153 | pinctrl-0 = <&led_pins_m3>; | ||
154 | |||
155 | blue { | ||
156 | label = "m3:blue:usr"; | ||
157 | gpios = <&pio 7 20 0>; | ||
158 | }; | ||
159 | }; | ||
160 | |||
161 | reg_usb1_vbus: usb1-vbus { | ||
162 | status = "okay"; | ||
163 | }; | ||
164 | |||
165 | reg_usb2_vbus: usb2-vbus { | ||
166 | status = "okay"; | ||
167 | }; | ||
168 | }; | ||
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts index 1eb8175959a6..3f3ff9693992 100644 --- a/arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts +++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts | |||
@@ -4,12 +4,48 @@ | |||
4 | * Copyright 2014 - Hans de Goede <hdegoede@redhat.com> | 4 | * Copyright 2014 - Hans de Goede <hdegoede@redhat.com> |
5 | * Copyright (c) 2014 FUKAUMI Naoki <naobsd@gmail.com> | 5 | * Copyright (c) 2014 FUKAUMI Naoki <naobsd@gmail.com> |
6 | * | 6 | * |
7 | * The code contained herein is licensed under the GNU General Public | 7 | * This file is dual-licensed: you can use it either under the terms |
8 | * License. You may obtain a copy of the GNU General Public License | 8 | * of the GPL or the X11 license, at your option. Note that this dual |
9 | * Version 2 or later at the following locations: | 9 | * licensing only applies to this file, and not this project as a |
10 | * whole. | ||
10 | * | 11 | * |
11 | * http://www.opensource.org/licenses/gpl-license.html | 12 | * a) This file is free software; you can redistribute it and/or |
12 | * http://www.gnu.org/copyleft/gpl.html | 13 | * modify it under the terms of the GNU General Public License as |
14 | * published by the Free Software Foundation; either version 2 of the | ||
15 | * License, or (at your option) any later version. | ||
16 | * | ||
17 | * This file is distributed in the hope that it will be useful, | ||
18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
20 | * GNU General Public License for more details. | ||
21 | * | ||
22 | * You should have received a copy of the GNU General Public | ||
23 | * License along with this file; if not, write to the Free | ||
24 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
25 | * MA 02110-1301 USA | ||
26 | * | ||
27 | * Or, alternatively, | ||
28 | * | ||
29 | * b) Permission is hereby granted, free of charge, to any person | ||
30 | * obtaining a copy of this software and associated documentation | ||
31 | * files (the "Software"), to deal in the Software without | ||
32 | * restriction, including without limitation the rights to use, | ||
33 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
34 | * sell copies of the Software, and to permit persons to whom the | ||
35 | * Software is furnished to do so, subject to the following | ||
36 | * conditions: | ||
37 | * | ||
38 | * The above copyright notice and this permission notice shall be | ||
39 | * included in all copies or substantial portions of the Software. | ||
40 | * | ||
41 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
42 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
43 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
44 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
45 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
46 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
47 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
48 | * OTHER DEALINGS IN THE SOFTWARE. | ||
13 | */ | 49 | */ |
14 | 50 | ||
15 | /dts-v1/; | 51 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts new file mode 100644 index 000000000000..ed364d5e755e --- /dev/null +++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts | |||
@@ -0,0 +1,228 @@ | |||
1 | /* | ||
2 | * Copyright 2014 - Iain Paton <ipaton0@gmail.com> | ||
3 | * | ||
4 | * This file is dual-licensed: you can use it either under the terms | ||
5 | * of the GPL or the X11 license, at your option. Note that this dual | ||
6 | * licensing only applies to this file, and not this project as a | ||
7 | * whole. | ||
8 | * | ||
9 | * a) This file is free software; you can redistribute it and/or | ||
10 | * modify it under the terms of the GNU General Public License as | ||
11 | * published by the Free Software Foundation; either version 2 of the | ||
12 | * License, or (at your option) any later version. | ||
13 | * | ||
14 | * This file is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public | ||
20 | * License along with this file; if not, write to the Free | ||
21 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
22 | * MA 02110-1301 USA | ||
23 | * | ||
24 | * Or, alternatively, | ||
25 | * | ||
26 | * b) Permission is hereby granted, free of charge, to any person | ||
27 | * obtaining a copy of this software and associated documentation | ||
28 | * files (the "Software"), to deal in the Software without | ||
29 | * restriction, including without limitation the rights to use, | ||
30 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
31 | * sell copies of the Software, and to permit persons to whom the | ||
32 | * Software is furnished to do so, subject to the following | ||
33 | * conditions: | ||
34 | * | ||
35 | * The above copyright notice and this permission notice shall be | ||
36 | * included in all copies or substantial portions of the Software. | ||
37 | * | ||
38 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
39 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
40 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
41 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
42 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
43 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
44 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
45 | * OTHER DEALINGS IN THE SOFTWARE. | ||
46 | */ | ||
47 | |||
48 | /dts-v1/; | ||
49 | /include/ "sun7i-a20.dtsi" | ||
50 | /include/ "sunxi-common-regulators.dtsi" | ||
51 | |||
52 | / { | ||
53 | model = "Olimex A20-OLinuXino-LIME2"; | ||
54 | compatible = "olimex,a20-olinuxino-lime2", "allwinner,sun7i-a20"; | ||
55 | |||
56 | soc@01c00000 { | ||
57 | mmc0: mmc@01c0f000 { | ||
58 | pinctrl-names = "default"; | ||
59 | pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; | ||
60 | vmmc-supply = <®_vcc3v3>; | ||
61 | bus-width = <4>; | ||
62 | cd-gpios = <&pio 7 1 0>; /* PH1 */ | ||
63 | cd-inverted; | ||
64 | status = "okay"; | ||
65 | }; | ||
66 | |||
67 | usbphy: phy@01c13400 { | ||
68 | usb1_vbus-supply = <®_usb1_vbus>; | ||
69 | usb2_vbus-supply = <®_usb2_vbus>; | ||
70 | status = "okay"; | ||
71 | }; | ||
72 | |||
73 | ehci0: usb@01c14000 { | ||
74 | status = "okay"; | ||
75 | }; | ||
76 | |||
77 | ohci0: usb@01c14400 { | ||
78 | status = "okay"; | ||
79 | }; | ||
80 | |||
81 | ahci: sata@01c18000 { | ||
82 | target-supply = <®_ahci_5v>; | ||
83 | status = "okay"; | ||
84 | }; | ||
85 | |||
86 | ehci1: usb@01c1c000 { | ||
87 | status = "okay"; | ||
88 | }; | ||
89 | |||
90 | ohci1: usb@01c1c400 { | ||
91 | status = "okay"; | ||
92 | }; | ||
93 | |||
94 | pinctrl@01c20800 { | ||
95 | ahci_pwr_pin_olinuxinolime: ahci_pwr_pin@1 { | ||
96 | allwinner,pins = "PC3"; | ||
97 | allwinner,function = "gpio_out"; | ||
98 | allwinner,drive = <0>; | ||
99 | allwinner,pull = <0>; | ||
100 | }; | ||
101 | |||
102 | led_pins_olinuxinolime: led_pins@0 { | ||
103 | allwinner,pins = "PH2"; | ||
104 | allwinner,function = "gpio_out"; | ||
105 | allwinner,drive = <1>; | ||
106 | allwinner,pull = <0>; | ||
107 | }; | ||
108 | }; | ||
109 | |||
110 | uart0: serial@01c28000 { | ||
111 | pinctrl-names = "default"; | ||
112 | pinctrl-0 = <&uart0_pins_a>; | ||
113 | status = "okay"; | ||
114 | }; | ||
115 | |||
116 | i2c0: i2c@01c2ac00 { | ||
117 | pinctrl-names = "default"; | ||
118 | pinctrl-0 = <&i2c0_pins_a>; | ||
119 | status = "okay"; | ||
120 | |||
121 | axp209: pmic@34 { | ||
122 | compatible = "x-powers,axp209"; | ||
123 | reg = <0x34>; | ||
124 | interrupt-parent = <&nmi_intc>; | ||
125 | interrupts = <0 8>; | ||
126 | |||
127 | interrupt-controller; | ||
128 | #interrupt-cells = <1>; | ||
129 | |||
130 | acin-supply = <®_axp_ipsout>; | ||
131 | vin2-supply = <®_axp_ipsout>; | ||
132 | vin3-supply = <®_axp_ipsout>; | ||
133 | ldo24in-supply = <®_axp_ipsout>; | ||
134 | ldo3in-supply = <®_axp_ipsout>; | ||
135 | |||
136 | regulators { | ||
137 | vdd_rtc: ldo1 { | ||
138 | regulator-min-microvolt = <1300000>; | ||
139 | regulator-max-microvolt = <1300000>; | ||
140 | regulator-always-on; | ||
141 | }; | ||
142 | |||
143 | avcc: ldo2 { | ||
144 | regulator-min-microvolt = <1800000>; | ||
145 | regulator-max-microvolt = <3300000>; | ||
146 | regulator-always-on; | ||
147 | }; | ||
148 | |||
149 | vcc_csi0: ldo3 { | ||
150 | regulator-min-microvolt = <700000>; | ||
151 | regulator-max-microvolt = <3500000>; | ||
152 | regulator-always-on; | ||
153 | }; | ||
154 | |||
155 | vcc_csi1: ldo4 { | ||
156 | regulator-min-microvolt = <1250000>; | ||
157 | regulator-max-microvolt = <3300000>; | ||
158 | regulator-always-on; | ||
159 | }; | ||
160 | |||
161 | vdd_cpu: dcdc2 { | ||
162 | regulator-min-microvolt = <700000>; | ||
163 | regulator-max-microvolt = <2275000>; | ||
164 | regulator-always-on; | ||
165 | }; | ||
166 | |||
167 | vdd_int: dcdc3 { | ||
168 | regulator-min-microvolt = <700000>; | ||
169 | regulator-max-microvolt = <3500000>; | ||
170 | regulator-always-on; | ||
171 | }; | ||
172 | }; | ||
173 | }; | ||
174 | }; | ||
175 | |||
176 | i2c1: i2c@01c2b000 { | ||
177 | pinctrl-names = "default"; | ||
178 | pinctrl-0 = <&i2c1_pins_a>; | ||
179 | status = "okay"; | ||
180 | }; | ||
181 | |||
182 | gmac: ethernet@01c50000 { | ||
183 | pinctrl-names = "default"; | ||
184 | pinctrl-0 = <&gmac_pins_rgmii_a>; | ||
185 | phy = <&phy1>; | ||
186 | phy-mode = "rgmii"; | ||
187 | status = "okay"; | ||
188 | |||
189 | phy1: ethernet-phy@1 { | ||
190 | reg = <1>; | ||
191 | }; | ||
192 | }; | ||
193 | }; | ||
194 | |||
195 | leds { | ||
196 | compatible = "gpio-leds"; | ||
197 | pinctrl-names = "default"; | ||
198 | pinctrl-0 = <&led_pins_olinuxinolime>; | ||
199 | |||
200 | green { | ||
201 | label = "a20-olinuxino-lime2:green:usr"; | ||
202 | gpios = <&pio 7 2 0>; | ||
203 | default-state = "on"; | ||
204 | }; | ||
205 | }; | ||
206 | |||
207 | reg_ahci_5v: ahci-5v { | ||
208 | pinctrl-0 = <&ahci_pwr_pin_olinuxinolime>; | ||
209 | gpio = <&pio 2 3 0>; | ||
210 | status = "okay"; | ||
211 | }; | ||
212 | |||
213 | reg_usb1_vbus: usb1-vbus { | ||
214 | status = "okay"; | ||
215 | }; | ||
216 | |||
217 | reg_usb2_vbus: usb2-vbus { | ||
218 | status = "okay"; | ||
219 | }; | ||
220 | |||
221 | reg_axp_ipsout: axp_ipsout { | ||
222 | compatible = "regulator-fixed"; | ||
223 | regulator-name = "axp-ipsout"; | ||
224 | regulator-min-microvolt = <5000000>; | ||
225 | regulator-max-microvolt = <5000000>; | ||
226 | regulator-always-on; | ||
227 | }; | ||
228 | }; | ||
diff --git a/arch/arm/boot/dts/sun7i-a20-pcduino3.dts b/arch/arm/boot/dts/sun7i-a20-pcduino3.dts index 046dfc0d45d8..8dca49b2477b 100644 --- a/arch/arm/boot/dts/sun7i-a20-pcduino3.dts +++ b/arch/arm/boot/dts/sun7i-a20-pcduino3.dts | |||
@@ -2,12 +2,48 @@ | |||
2 | * Copyright 2014 Zoltan HERPAI | 2 | * Copyright 2014 Zoltan HERPAI |
3 | * Zoltan HERPAI <wigyori@uid0.hu> | 3 | * Zoltan HERPAI <wigyori@uid0.hu> |
4 | * | 4 | * |
5 | * The code contained herein is licensed under the GNU General Public | 5 | * This file is dual-licensed: you can use it either under the terms |
6 | * License. You may obtain a copy of the GNU General Public License | 6 | * of the GPL or the X11 license, at your option. Note that this dual |
7 | * Version 2 or later at the following locations: | 7 | * licensing only applies to this file, and not this project as a |
8 | * whole. | ||
8 | * | 9 | * |
9 | * http://www.opensource.org/licenses/gpl-license.html | 10 | * a) This file is free software; you can redistribute it and/or |
10 | * http://www.gnu.org/copyleft/gpl.html | 11 | * modify it under the terms of the GNU General Public License as |
12 | * published by the Free Software Foundation; either version 2 of the | ||
13 | * License, or (at your option) any later version. | ||
14 | * | ||
15 | * This file is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | * GNU General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public | ||
21 | * License along with this file; if not, write to the Free | ||
22 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
23 | * MA 02110-1301 USA | ||
24 | * | ||
25 | * Or, alternatively, | ||
26 | * | ||
27 | * b) Permission is hereby granted, free of charge, to any person | ||
28 | * obtaining a copy of this software and associated documentation | ||
29 | * files (the "Software"), to deal in the Software without | ||
30 | * restriction, including without limitation the rights to use, | ||
31 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
32 | * sell copies of the Software, and to permit persons to whom the | ||
33 | * Software is furnished to do so, subject to the following | ||
34 | * conditions: | ||
35 | * | ||
36 | * The above copyright notice and this permission notice shall be | ||
37 | * included in all copies or substantial portions of the Software. | ||
38 | * | ||
39 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
40 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
41 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
42 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
43 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
44 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
45 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
46 | * OTHER DEALINGS IN THE SOFTWARE. | ||
11 | */ | 47 | */ |
12 | 48 | ||
13 | /dts-v1/; | 49 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi index 82097c905c48..82a524ce28ad 100644 --- a/arch/arm/boot/dts/sun7i-a20.dtsi +++ b/arch/arm/boot/dts/sun7i-a20.dtsi | |||
@@ -8,18 +8,18 @@ | |||
8 | * licensing only applies to this file, and not this project as a | 8 | * licensing only applies to this file, and not this project as a |
9 | * whole. | 9 | * whole. |
10 | * | 10 | * |
11 | * a) This library is free software; you can redistribute it and/or | 11 | * a) This file is free software; you can redistribute it and/or |
12 | * modify it under the terms of the GNU General Public License as | 12 | * modify it under the terms of the GNU General Public License as |
13 | * published by the Free Software Foundation; either version 2 of the | 13 | * published by the Free Software Foundation; either version 2 of the |
14 | * License, or (at your option) any later version. | 14 | * License, or (at your option) any later version. |
15 | * | 15 | * |
16 | * This library is distributed in the hope that it will be useful, | 16 | * This file is distributed in the hope that it will be useful, |
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
19 | * GNU General Public License for more details. | 19 | * GNU General Public License for more details. |
20 | * | 20 | * |
21 | * You should have received a copy of the GNU General Public | 21 | * You should have received a copy of the GNU General Public |
22 | * License along with this library; if not, write to the Free | 22 | * License along with this file; if not, write to the Free |
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | 23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, |
24 | * MA 02110-1301 USA | 24 | * MA 02110-1301 USA |
25 | * | 25 | * |
@@ -64,6 +64,20 @@ | |||
64 | serial7 = &uart7; | 64 | serial7 = &uart7; |
65 | }; | 65 | }; |
66 | 66 | ||
67 | chosen { | ||
68 | #address-cells = <1>; | ||
69 | #size-cells = <1>; | ||
70 | ranges; | ||
71 | |||
72 | framebuffer@0 { | ||
73 | compatible = "allwinner,simple-framebuffer", "simple-framebuffer"; | ||
74 | allwinner,pipeline = "de_be0-lcd0-hdmi"; | ||
75 | clocks = <&pll5 1>, <&ahb_gates 36>, <&ahb_gates 43>, | ||
76 | <&ahb_gates 44>; | ||
77 | status = "disabled"; | ||
78 | }; | ||
79 | }; | ||
80 | |||
67 | cpus { | 81 | cpus { |
68 | #address-cells = <1>; | 82 | #address-cells = <1>; |
69 | #size-cells = <0>; | 83 | #size-cells = <0>; |
@@ -552,8 +566,8 @@ | |||
552 | reg-names = "phy_ctrl", "pmu1", "pmu2"; | 566 | reg-names = "phy_ctrl", "pmu1", "pmu2"; |
553 | clocks = <&usb_clk 8>; | 567 | clocks = <&usb_clk 8>; |
554 | clock-names = "usb_phy"; | 568 | clock-names = "usb_phy"; |
555 | resets = <&usb_clk 1>, <&usb_clk 2>; | 569 | resets = <&usb_clk 0>, <&usb_clk 1>, <&usb_clk 2>; |
556 | reset-names = "usb1_reset", "usb2_reset"; | 570 | reset-names = "usb0_reset", "usb1_reset", "usb2_reset"; |
557 | status = "disabled"; | 571 | status = "disabled"; |
558 | }; | 572 | }; |
559 | 573 | ||
@@ -677,6 +691,13 @@ | |||
677 | allwinner,pull = <0>; | 691 | allwinner,pull = <0>; |
678 | }; | 692 | }; |
679 | 693 | ||
694 | uart3_pins_b: uart3@1 { | ||
695 | allwinner,pins = "PH0", "PH1"; | ||
696 | allwinner,function = "uart3"; | ||
697 | allwinner,drive = <0>; | ||
698 | allwinner,pull = <0>; | ||
699 | }; | ||
700 | |||
680 | uart4_pins_a: uart4@0 { | 701 | uart4_pins_a: uart4@0 { |
681 | allwinner,pins = "PG10", "PG11"; | 702 | allwinner,pins = "PG10", "PG11"; |
682 | allwinner,function = "uart4"; | 703 | allwinner,function = "uart4"; |
@@ -784,6 +805,13 @@ | |||
784 | allwinner,pull = <0>; | 805 | allwinner,pull = <0>; |
785 | }; | 806 | }; |
786 | 807 | ||
808 | spi0_pins_a: spi0@0 { | ||
809 | allwinner,pins = "PI10", "PI11", "PI12", "PI13", "PI14"; | ||
810 | allwinner,function = "spi0"; | ||
811 | allwinner,drive = <0>; | ||
812 | allwinner,pull = <0>; | ||
813 | }; | ||
814 | |||
787 | spi1_pins_a: spi1@0 { | 815 | spi1_pins_a: spi1@0 { |
788 | allwinner,pins = "PI16", "PI17", "PI18", "PI19"; | 816 | allwinner,pins = "PI16", "PI17", "PI18", "PI19"; |
789 | allwinner,function = "spi1"; | 817 | allwinner,function = "spi1"; |
@@ -819,6 +847,13 @@ | |||
819 | allwinner,pull = <1>; | 847 | allwinner,pull = <1>; |
820 | }; | 848 | }; |
821 | 849 | ||
850 | mmc2_pins_a: mmc2@0 { | ||
851 | allwinner,pins = "PC6","PC7","PC8","PC9","PC10","PC11"; | ||
852 | allwinner,function = "mmc2"; | ||
853 | allwinner,drive = <2>; | ||
854 | allwinner,pull = <1>; | ||
855 | }; | ||
856 | |||
822 | mmc3_pins_a: mmc3@0 { | 857 | mmc3_pins_a: mmc3@0 { |
823 | allwinner,pins = "PI4","PI5","PI6","PI7","PI8","PI9"; | 858 | allwinner,pins = "PI4","PI5","PI6","PI7","PI8","PI9"; |
824 | allwinner,function = "mmc3"; | 859 | allwinner,function = "mmc3"; |
diff --git a/arch/arm/boot/dts/sun8i-a23-ippo-q8h-v5.dts b/arch/arm/boot/dts/sun8i-a23-ippo-q8h-v5.dts index e9b8cca8dcc1..7f2117ce6985 100644 --- a/arch/arm/boot/dts/sun8i-a23-ippo-q8h-v5.dts +++ b/arch/arm/boot/dts/sun8i-a23-ippo-q8h-v5.dts | |||
@@ -3,12 +3,48 @@ | |||
3 | * | 3 | * |
4 | * Chen-Yu Tsai <wens@csie.org> | 4 | * Chen-Yu Tsai <wens@csie.org> |
5 | * | 5 | * |
6 | * The code contained herein is licensed under the GNU General Public | 6 | * This file is dual-licensed: you can use it either under the terms |
7 | * License. You may obtain a copy of the GNU General Public License | 7 | * of the GPL or the X11 license, at your option. Note that this dual |
8 | * Version 2 or later at the following locations: | 8 | * licensing only applies to this file, and not this project as a |
9 | * whole. | ||
9 | * | 10 | * |
10 | * http://www.opensource.org/licenses/gpl-license.html | 11 | * a) This file is free software; you can redistribute it and/or |
11 | * http://www.gnu.org/copyleft/gpl.html | 12 | * modify it under the terms of the GNU General Public License as |
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this file; if not, write to the Free | ||
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
24 | * MA 02110-1301 USA | ||
25 | * | ||
26 | * Or, alternatively, | ||
27 | * | ||
28 | * b) Permission is hereby granted, free of charge, to any person | ||
29 | * obtaining a copy of this software and associated documentation | ||
30 | * files (the "Software"), to deal in the Software without | ||
31 | * restriction, including without limitation the rights to use, | ||
32 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
33 | * sell copies of the Software, and to permit persons to whom the | ||
34 | * Software is furnished to do so, subject to the following | ||
35 | * conditions: | ||
36 | * | ||
37 | * The above copyright notice and this permission notice shall be | ||
38 | * included in all copies or substantial portions of the Software. | ||
39 | * | ||
40 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
41 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
42 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
43 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
44 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
45 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
46 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
47 | * OTHER DEALINGS IN THE SOFTWARE. | ||
12 | */ | 48 | */ |
13 | 49 | ||
14 | /dts-v1/; | 50 | /dts-v1/; |
diff --git a/arch/arm/boot/dts/sun8i-a23.dtsi b/arch/arm/boot/dts/sun8i-a23.dtsi index 6146ef15efbe..6086adbf9d74 100644 --- a/arch/arm/boot/dts/sun8i-a23.dtsi +++ b/arch/arm/boot/dts/sun8i-a23.dtsi | |||
@@ -8,18 +8,18 @@ | |||
8 | * licensing only applies to this file, and not this project as a | 8 | * licensing only applies to this file, and not this project as a |
9 | * whole. | 9 | * whole. |
10 | * | 10 | * |
11 | * a) This library is free software; you can redistribute it and/or | 11 | * a) This file is free software; you can redistribute it and/or |
12 | * modify it under the terms of the GNU General Public License as | 12 | * modify it under the terms of the GNU General Public License as |
13 | * published by the Free Software Foundation; either version 2 of the | 13 | * published by the Free Software Foundation; either version 2 of the |
14 | * License, or (at your option) any later version. | 14 | * License, or (at your option) any later version. |
15 | * | 15 | * |
16 | * This library is distributed in the hope that it will be useful, | 16 | * This file is distributed in the hope that it will be useful, |
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
19 | * GNU General Public License for more details. | 19 | * GNU General Public License for more details. |
20 | * | 20 | * |
21 | * You should have received a copy of the GNU General Public | 21 | * You should have received a copy of the GNU General Public |
22 | * License along with this library; if not, write to the Free | 22 | * License along with this file; if not, write to the Free |
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | 23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, |
24 | * MA 02110-1301 USA | 24 | * MA 02110-1301 USA |
25 | * | 25 | * |
diff --git a/arch/arm/boot/dts/sun9i-a80-optimus.dts b/arch/arm/boot/dts/sun9i-a80-optimus.dts new file mode 100644 index 000000000000..506948f582ee --- /dev/null +++ b/arch/arm/boot/dts/sun9i-a80-optimus.dts | |||
@@ -0,0 +1,119 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Chen-Yu Tsai | ||
3 | * | ||
4 | * Chen-Yu Tsai <wens@csie.org> | ||
5 | * | ||
6 | * This file is dual-licensed: you can use it either under the terms | ||
7 | * of the GPL or the X11 license, at your option. Note that this dual | ||
8 | * licensing only applies to this file, and not this project as a | ||
9 | * whole. | ||
10 | * | ||
11 | * a) This file is free software; you can redistribute it and/or | ||
12 | * modify it under the terms of the GNU General Public License as | ||
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this file; if not, write to the Free | ||
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
24 | * MA 02110-1301 USA | ||
25 | * | ||
26 | * Or, alternatively, | ||
27 | * | ||
28 | * b) Permission is hereby granted, free of charge, to any person | ||
29 | * obtaining a copy of this software and associated documentation | ||
30 | * files (the "Software"), to deal in the Software without | ||
31 | * restriction, including without limitation the rights to use, | ||
32 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
33 | * sell copies of the Software, and to permit persons to whom the | ||
34 | * Software is furnished to do so, subject to the following | ||
35 | * conditions: | ||
36 | * | ||
37 | * The above copyright notice and this permission notice shall be | ||
38 | * included in all copies or substantial portions of the Software. | ||
39 | * | ||
40 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
41 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
42 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
43 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
44 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
45 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
46 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
47 | * OTHER DEALINGS IN THE SOFTWARE. | ||
48 | */ | ||
49 | |||
50 | /dts-v1/; | ||
51 | /include/ "sun9i-a80.dtsi" | ||
52 | |||
53 | / { | ||
54 | model = "Merrii A80 Optimus Board"; | ||
55 | compatible = "merrii,a80-optimus", "allwinner,sun9i-a80"; | ||
56 | |||
57 | chosen { | ||
58 | bootargs = "earlyprintk console=ttyS0,115200"; | ||
59 | }; | ||
60 | |||
61 | soc { | ||
62 | pio: pinctrl@06000800 { | ||
63 | i2c3_pins_a: i2c3@0 { | ||
64 | /* Enable internal pull-up */ | ||
65 | allwinner,pull = <1>; | ||
66 | }; | ||
67 | |||
68 | led_pins_optimus: led-pins@0 { | ||
69 | allwinner,pins = "PH0", "PH1"; | ||
70 | allwinner,function = "gpio_out"; | ||
71 | allwinner,drive = <0>; | ||
72 | allwinner,pull = <0>; | ||
73 | }; | ||
74 | |||
75 | uart4_pins_a: uart4@0 { | ||
76 | /* Enable internal pull-up */ | ||
77 | allwinner,pull = <1>; | ||
78 | }; | ||
79 | }; | ||
80 | |||
81 | uart0: serial@07000000 { | ||
82 | pinctrl-names = "default"; | ||
83 | pinctrl-0 = <&uart0_pins_a>; | ||
84 | status = "okay"; | ||
85 | }; | ||
86 | |||
87 | uart4: serial@07001000 { | ||
88 | pinctrl-names = "default"; | ||
89 | pinctrl-0 = <&uart4_pins_a>; | ||
90 | status = "okay"; | ||
91 | }; | ||
92 | |||
93 | i2c3: i2c@07003400 { | ||
94 | pinctrl-names = "default"; | ||
95 | pinctrl-0 = <&i2c3_pins_a>; | ||
96 | status = "okay"; | ||
97 | }; | ||
98 | }; | ||
99 | |||
100 | leds { | ||
101 | compatible = "gpio-leds"; | ||
102 | pinctrl-names = "default"; | ||
103 | pinctrl-0 = <&led_pins_optimus>; | ||
104 | |||
105 | /* The LED names match those found on the board */ | ||
106 | |||
107 | led2 { | ||
108 | label = "optimus:led2:usr"; | ||
109 | gpios = <&pio 7 1 0>; | ||
110 | }; | ||
111 | |||
112 | /* led3 is on PM15, in R_PIO */ | ||
113 | |||
114 | led4 { | ||
115 | label = "optimus:led4:usr"; | ||
116 | gpios = <&pio 7 0 0>; | ||
117 | }; | ||
118 | }; | ||
119 | }; | ||
diff --git a/arch/arm/boot/dts/sun9i-a80.dtsi b/arch/arm/boot/dts/sun9i-a80.dtsi new file mode 100644 index 000000000000..494714f67b57 --- /dev/null +++ b/arch/arm/boot/dts/sun9i-a80.dtsi | |||
@@ -0,0 +1,514 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Chen-Yu Tsai | ||
3 | * | ||
4 | * Chen-Yu Tsai <wens@csie.org> | ||
5 | * | ||
6 | * This file is dual-licensed: you can use it either under the terms | ||
7 | * of the GPL or the X11 license, at your option. Note that this dual | ||
8 | * licensing only applies to this file, and not this project as a | ||
9 | * whole. | ||
10 | * | ||
11 | * a) This file is free software; you can redistribute it and/or | ||
12 | * modify it under the terms of the GNU General Public License as | ||
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this file; if not, write to the Free | ||
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
24 | * MA 02110-1301 USA | ||
25 | * | ||
26 | * Or, alternatively, | ||
27 | * | ||
28 | * b) Permission is hereby granted, free of charge, to any person | ||
29 | * obtaining a copy of this software and associated documentation | ||
30 | * files (the "Software"), to deal in the Software without | ||
31 | * restriction, including without limitation the rights to use, | ||
32 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
33 | * sell copies of the Software, and to permit persons to whom the | ||
34 | * Software is furnished to do so, subject to the following | ||
35 | * conditions: | ||
36 | * | ||
37 | * The above copyright notice and this permission notice shall be | ||
38 | * included in all copies or substantial portions of the Software. | ||
39 | * | ||
40 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
41 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
42 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
43 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
44 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
45 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
46 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
47 | * OTHER DEALINGS IN THE SOFTWARE. | ||
48 | */ | ||
49 | |||
50 | /include/ "skeleton64.dtsi" | ||
51 | |||
52 | / { | ||
53 | interrupt-parent = <&gic>; | ||
54 | |||
55 | aliases { | ||
56 | serial0 = &uart0; | ||
57 | serial1 = &uart1; | ||
58 | serial2 = &uart2; | ||
59 | serial3 = &uart3; | ||
60 | serial4 = &uart4; | ||
61 | serial5 = &uart5; | ||
62 | serial6 = &r_uart; | ||
63 | }; | ||
64 | |||
65 | cpus { | ||
66 | #address-cells = <1>; | ||
67 | #size-cells = <0>; | ||
68 | |||
69 | cpu0: cpu@0 { | ||
70 | compatible = "arm,cortex-a7"; | ||
71 | device_type = "cpu"; | ||
72 | reg = <0x0>; | ||
73 | }; | ||
74 | |||
75 | cpu1: cpu@1 { | ||
76 | compatible = "arm,cortex-a7"; | ||
77 | device_type = "cpu"; | ||
78 | reg = <0x1>; | ||
79 | }; | ||
80 | |||
81 | cpu2: cpu@2 { | ||
82 | compatible = "arm,cortex-a7"; | ||
83 | device_type = "cpu"; | ||
84 | reg = <0x2>; | ||
85 | }; | ||
86 | |||
87 | cpu3: cpu@3 { | ||
88 | compatible = "arm,cortex-a7"; | ||
89 | device_type = "cpu"; | ||
90 | reg = <0x3>; | ||
91 | }; | ||
92 | |||
93 | cpu4: cpu@100 { | ||
94 | compatible = "arm,cortex-a15"; | ||
95 | device_type = "cpu"; | ||
96 | reg = <0x100>; | ||
97 | }; | ||
98 | |||
99 | cpu5: cpu@101 { | ||
100 | compatible = "arm,cortex-a15"; | ||
101 | device_type = "cpu"; | ||
102 | reg = <0x101>; | ||
103 | }; | ||
104 | |||
105 | cpu6: cpu@102 { | ||
106 | compatible = "arm,cortex-a15"; | ||
107 | device_type = "cpu"; | ||
108 | reg = <0x102>; | ||
109 | }; | ||
110 | |||
111 | cpu7: cpu@103 { | ||
112 | compatible = "arm,cortex-a15"; | ||
113 | device_type = "cpu"; | ||
114 | reg = <0x103>; | ||
115 | }; | ||
116 | }; | ||
117 | |||
118 | memory { | ||
119 | /* 8GB max. with LPAE */ | ||
120 | reg = <0 0x20000000 0x02 0>; | ||
121 | }; | ||
122 | |||
123 | clocks { | ||
124 | #address-cells = <1>; | ||
125 | #size-cells = <1>; | ||
126 | /* | ||
127 | * map 64 bit address range down to 32 bits, | ||
128 | * as the peripherals are all under 512MB. | ||
129 | */ | ||
130 | ranges = <0 0 0 0x20000000>; | ||
131 | |||
132 | osc24M: osc24M_clk { | ||
133 | #clock-cells = <0>; | ||
134 | compatible = "fixed-clock"; | ||
135 | clock-frequency = <24000000>; | ||
136 | clock-output-names = "osc24M"; | ||
137 | }; | ||
138 | |||
139 | osc32k: osc32k_clk { | ||
140 | #clock-cells = <0>; | ||
141 | compatible = "fixed-clock"; | ||
142 | clock-frequency = <32768>; | ||
143 | clock-output-names = "osc32k"; | ||
144 | }; | ||
145 | |||
146 | pll4: clk@0600000c { | ||
147 | #clock-cells = <0>; | ||
148 | compatible = "allwinner,sun9i-a80-pll4-clk"; | ||
149 | reg = <0x0600000c 0x4>; | ||
150 | clocks = <&osc24M>; | ||
151 | clock-output-names = "pll4"; | ||
152 | }; | ||
153 | |||
154 | pll12: clk@0600002c { | ||
155 | #clock-cells = <0>; | ||
156 | compatible = "allwinner,sun9i-a80-pll4-clk"; | ||
157 | reg = <0x0600002c 0x4>; | ||
158 | clocks = <&osc24M>; | ||
159 | clock-output-names = "pll12"; | ||
160 | }; | ||
161 | |||
162 | gt_clk: clk@0600005c { | ||
163 | #clock-cells = <0>; | ||
164 | compatible = "allwinner,sun9i-a80-gt-clk"; | ||
165 | reg = <0x0600005c 0x4>; | ||
166 | clocks = <&osc24M>, <&pll4>, <&pll12>, <&pll12>; | ||
167 | clock-output-names = "gt"; | ||
168 | }; | ||
169 | |||
170 | ahb0: clk@06000060 { | ||
171 | #clock-cells = <0>; | ||
172 | compatible = "allwinner,sun9i-a80-ahb-clk"; | ||
173 | reg = <0x06000060 0x4>; | ||
174 | clocks = <>_clk>, <&pll4>, <&pll12>, <&pll12>; | ||
175 | clock-output-names = "ahb0"; | ||
176 | }; | ||
177 | |||
178 | ahb1: clk@06000064 { | ||
179 | #clock-cells = <0>; | ||
180 | compatible = "allwinner,sun9i-a80-ahb-clk"; | ||
181 | reg = <0x06000064 0x4>; | ||
182 | clocks = <>_clk>, <&pll4>, <&pll12>, <&pll12>; | ||
183 | clock-output-names = "ahb1"; | ||
184 | }; | ||
185 | |||
186 | ahb2: clk@06000068 { | ||
187 | #clock-cells = <0>; | ||
188 | compatible = "allwinner,sun9i-a80-ahb-clk"; | ||
189 | reg = <0x06000068 0x4>; | ||
190 | clocks = <>_clk>, <&pll4>, <&pll12>, <&pll12>; | ||
191 | clock-output-names = "ahb2"; | ||
192 | }; | ||
193 | |||
194 | apb0: clk@06000070 { | ||
195 | #clock-cells = <0>; | ||
196 | compatible = "allwinner,sun9i-a80-apb0-clk"; | ||
197 | reg = <0x06000070 0x4>; | ||
198 | clocks = <&osc24M>, <&pll4>; | ||
199 | clock-output-names = "apb0"; | ||
200 | }; | ||
201 | |||
202 | apb1: clk@06000074 { | ||
203 | #clock-cells = <0>; | ||
204 | compatible = "allwinner,sun9i-a80-apb1-clk"; | ||
205 | reg = <0x06000074 0x4>; | ||
206 | clocks = <&osc24M>, <&pll4>; | ||
207 | clock-output-names = "apb1"; | ||
208 | }; | ||
209 | |||
210 | cci400_clk: clk@06000078 { | ||
211 | #clock-cells = <0>; | ||
212 | compatible = "allwinner,sun9i-a80-gt-clk"; | ||
213 | reg = <0x06000078 0x4>; | ||
214 | clocks = <&osc24M>, <&pll4>, <&pll12>, <&pll12>; | ||
215 | clock-output-names = "cci400"; | ||
216 | }; | ||
217 | |||
218 | ahb0_gates: clk@06000580 { | ||
219 | #clock-cells = <1>; | ||
220 | compatible = "allwinner,sun9i-a80-ahb0-gates-clk"; | ||
221 | reg = <0x06000580 0x4>; | ||
222 | clocks = <&ahb0>; | ||
223 | clock-output-names = "ahb0_fd", "ahb0_ve", "ahb0_gpu", | ||
224 | "ahb0_ss", "ahb0_sd", "ahb0_nand1", | ||
225 | "ahb0_nand0", "ahb0_sdram", | ||
226 | "ahb0_mipi_hsi", "ahb0_sata", "ahb0_ts", | ||
227 | "ahb0_spi0","ahb0_spi1", "ahb0_spi2", | ||
228 | "ahb0_spi3"; | ||
229 | }; | ||
230 | |||
231 | ahb1_gates: clk@06000584 { | ||
232 | #clock-cells = <1>; | ||
233 | compatible = "allwinner,sun9i-a80-ahb1-gates-clk"; | ||
234 | reg = <0x06000584 0x4>; | ||
235 | clocks = <&ahb1>; | ||
236 | clock-output-names = "ahb1_usbotg", "ahb1_usbhci", | ||
237 | "ahb1_gmac", "ahb1_msgbox", | ||
238 | "ahb1_spinlock", "ahb1_hstimer", | ||
239 | "ahb1_dma"; | ||
240 | }; | ||
241 | |||
242 | ahb2_gates: clk@06000588 { | ||
243 | #clock-cells = <1>; | ||
244 | compatible = "allwinner,sun9i-a80-ahb2-gates-clk"; | ||
245 | reg = <0x06000588 0x4>; | ||
246 | clocks = <&ahb2>; | ||
247 | clock-output-names = "ahb2_lcd0", "ahb2_lcd1", | ||
248 | "ahb2_edp", "ahb2_csi", "ahb2_hdmi", | ||
249 | "ahb2_de", "ahb2_mp", "ahb2_mipi_dsi"; | ||
250 | }; | ||
251 | |||
252 | apb0_gates: clk@06000590 { | ||
253 | #clock-cells = <1>; | ||
254 | compatible = "allwinner,sun9i-a80-apb0-gates-clk"; | ||
255 | reg = <0x06000590 0x4>; | ||
256 | clocks = <&apb0>; | ||
257 | clock-output-names = "apb0_spdif", "apb0_pio", | ||
258 | "apb0_ac97", "apb0_i2s0", "apb0_i2s1", | ||
259 | "apb0_lradc", "apb0_gpadc", "apb0_twd", | ||
260 | "apb0_cirtx"; | ||
261 | }; | ||
262 | |||
263 | apb1_gates: clk@06000594 { | ||
264 | #clock-cells = <1>; | ||
265 | compatible = "allwinner,sun9i-a80-apb1-gates-clk"; | ||
266 | reg = <0x06000594 0x4>; | ||
267 | clocks = <&apb1>; | ||
268 | clock-output-names = "apb1_i2c0", "apb1_i2c1", | ||
269 | "apb1_i2c2", "apb1_i2c3", "apb1_i2c4", | ||
270 | "apb1_uart0", "apb1_uart1", | ||
271 | "apb1_uart2", "apb1_uart3", | ||
272 | "apb1_uart4", "apb1_uart5"; | ||
273 | }; | ||
274 | }; | ||
275 | |||
276 | soc { | ||
277 | compatible = "simple-bus"; | ||
278 | #address-cells = <1>; | ||
279 | #size-cells = <1>; | ||
280 | /* | ||
281 | * map 64 bit address range down to 32 bits, | ||
282 | * as the peripherals are all under 512MB. | ||
283 | */ | ||
284 | ranges = <0 0 0 0x20000000>; | ||
285 | |||
286 | gic: interrupt-controller@01c41000 { | ||
287 | compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic"; | ||
288 | reg = <0x01c41000 0x1000>, | ||
289 | <0x01c42000 0x1000>, | ||
290 | <0x01c44000 0x2000>, | ||
291 | <0x01c46000 0x2000>; | ||
292 | interrupt-controller; | ||
293 | #interrupt-cells = <3>; | ||
294 | interrupts = <1 9 0xf04>; | ||
295 | }; | ||
296 | |||
297 | ahb0_resets: reset@060005a0 { | ||
298 | #reset-cells = <1>; | ||
299 | compatible = "allwinner,sun6i-a31-clock-reset"; | ||
300 | reg = <0x060005a0 0x4>; | ||
301 | }; | ||
302 | |||
303 | ahb1_resets: reset@060005a4 { | ||
304 | #reset-cells = <1>; | ||
305 | compatible = "allwinner,sun6i-a31-clock-reset"; | ||
306 | reg = <0x060005a4 0x4>; | ||
307 | }; | ||
308 | |||
309 | ahb2_resets: reset@060005a8 { | ||
310 | #reset-cells = <1>; | ||
311 | compatible = "allwinner,sun6i-a31-clock-reset"; | ||
312 | reg = <0x060005a8 0x4>; | ||
313 | }; | ||
314 | |||
315 | apb0_resets: reset@060005b0 { | ||
316 | #reset-cells = <1>; | ||
317 | compatible = "allwinner,sun6i-a31-clock-reset"; | ||
318 | reg = <0x060005b0 0x4>; | ||
319 | }; | ||
320 | |||
321 | apb1_resets: reset@060005b4 { | ||
322 | #reset-cells = <1>; | ||
323 | compatible = "allwinner,sun6i-a31-clock-reset"; | ||
324 | reg = <0x060005b4 0x4>; | ||
325 | }; | ||
326 | |||
327 | timer@06000c00 { | ||
328 | compatible = "allwinner,sun4i-a10-timer"; | ||
329 | reg = <0x06000c00 0xa0>; | ||
330 | interrupts = <0 18 4>, | ||
331 | <0 19 4>, | ||
332 | <0 20 4>, | ||
333 | <0 21 4>, | ||
334 | <0 22 4>, | ||
335 | <0 23 4>; | ||
336 | |||
337 | clocks = <&osc24M>; | ||
338 | }; | ||
339 | |||
340 | pio: pinctrl@06000800 { | ||
341 | compatible = "allwinner,sun9i-a80-pinctrl"; | ||
342 | reg = <0x06000800 0x400>; | ||
343 | interrupts = <0 11 4>, | ||
344 | <0 15 4>, | ||
345 | <0 16 4>, | ||
346 | <0 17 4>, | ||
347 | <0 120 4>; | ||
348 | clocks = <&apb0_gates 5>; | ||
349 | gpio-controller; | ||
350 | interrupt-controller; | ||
351 | #interrupt-cells = <2>; | ||
352 | #size-cells = <0>; | ||
353 | #gpio-cells = <3>; | ||
354 | |||
355 | i2c3_pins_a: i2c3@0 { | ||
356 | allwinner,pins = "PG10", "PG11"; | ||
357 | allwinner,function = "i2c3"; | ||
358 | allwinner,drive = <0>; | ||
359 | allwinner,pull = <0>; | ||
360 | }; | ||
361 | |||
362 | uart0_pins_a: uart0@0 { | ||
363 | allwinner,pins = "PH12", "PH13"; | ||
364 | allwinner,function = "uart0"; | ||
365 | allwinner,drive = <0>; | ||
366 | allwinner,pull = <0>; | ||
367 | }; | ||
368 | |||
369 | uart4_pins_a: uart4@0 { | ||
370 | allwinner,pins = "PG12", "PG13", "PG14", "PG15"; | ||
371 | allwinner,function = "uart4"; | ||
372 | allwinner,drive = <0>; | ||
373 | allwinner,pull = <0>; | ||
374 | }; | ||
375 | }; | ||
376 | |||
377 | uart0: serial@07000000 { | ||
378 | compatible = "snps,dw-apb-uart"; | ||
379 | reg = <0x07000000 0x400>; | ||
380 | interrupts = <0 0 4>; | ||
381 | reg-shift = <2>; | ||
382 | reg-io-width = <4>; | ||
383 | clocks = <&apb1_gates 16>; | ||
384 | resets = <&apb1_resets 16>; | ||
385 | status = "disabled"; | ||
386 | }; | ||
387 | |||
388 | uart1: serial@07000400 { | ||
389 | compatible = "snps,dw-apb-uart"; | ||
390 | reg = <0x07000400 0x400>; | ||
391 | interrupts = <0 1 4>; | ||
392 | reg-shift = <2>; | ||
393 | reg-io-width = <4>; | ||
394 | clocks = <&apb1_gates 17>; | ||
395 | resets = <&apb1_resets 17>; | ||
396 | status = "disabled"; | ||
397 | }; | ||
398 | |||
399 | uart2: serial@07000800 { | ||
400 | compatible = "snps,dw-apb-uart"; | ||
401 | reg = <0x07000800 0x400>; | ||
402 | interrupts = <0 2 4>; | ||
403 | reg-shift = <2>; | ||
404 | reg-io-width = <4>; | ||
405 | clocks = <&apb1_gates 18>; | ||
406 | resets = <&apb1_resets 18>; | ||
407 | status = "disabled"; | ||
408 | }; | ||
409 | |||
410 | uart3: serial@07000c00 { | ||
411 | compatible = "snps,dw-apb-uart"; | ||
412 | reg = <0x07000c00 0x400>; | ||
413 | interrupts = <0 3 4>; | ||
414 | reg-shift = <2>; | ||
415 | reg-io-width = <4>; | ||
416 | clocks = <&apb1_gates 19>; | ||
417 | resets = <&apb1_resets 19>; | ||
418 | status = "disabled"; | ||
419 | }; | ||
420 | |||
421 | uart4: serial@07001000 { | ||
422 | compatible = "snps,dw-apb-uart"; | ||
423 | reg = <0x07001000 0x400>; | ||
424 | interrupts = <0 4 4>; | ||
425 | reg-shift = <2>; | ||
426 | reg-io-width = <4>; | ||
427 | clocks = <&apb1_gates 20>; | ||
428 | resets = <&apb1_resets 20>; | ||
429 | status = "disabled"; | ||
430 | }; | ||
431 | |||
432 | uart5: serial@07001400 { | ||
433 | compatible = "snps,dw-apb-uart"; | ||
434 | reg = <0x07001400 0x400>; | ||
435 | interrupts = <0 5 4>; | ||
436 | reg-shift = <2>; | ||
437 | reg-io-width = <4>; | ||
438 | clocks = <&apb1_gates 21>; | ||
439 | resets = <&apb1_resets 21>; | ||
440 | status = "disabled"; | ||
441 | }; | ||
442 | |||
443 | i2c0: i2c@07002800 { | ||
444 | compatible = "allwinner,sun6i-a31-i2c"; | ||
445 | reg = <0x07002800 0x400>; | ||
446 | interrupts = <0 6 4>; | ||
447 | clocks = <&apb1_gates 0>; | ||
448 | resets = <&apb1_resets 0>; | ||
449 | status = "disabled"; | ||
450 | #address-cells = <1>; | ||
451 | #size-cells = <0>; | ||
452 | }; | ||
453 | |||
454 | i2c1: i2c@07002c00 { | ||
455 | compatible = "allwinner,sun6i-a31-i2c"; | ||
456 | reg = <0x07002c00 0x400>; | ||
457 | interrupts = <0 7 4>; | ||
458 | clocks = <&apb1_gates 1>; | ||
459 | resets = <&apb1_resets 1>; | ||
460 | status = "disabled"; | ||
461 | #address-cells = <1>; | ||
462 | #size-cells = <0>; | ||
463 | }; | ||
464 | |||
465 | i2c2: i2c@07003000 { | ||
466 | compatible = "allwinner,sun6i-a31-i2c"; | ||
467 | reg = <0x07003000 0x400>; | ||
468 | interrupts = <0 8 4>; | ||
469 | clocks = <&apb1_gates 2>; | ||
470 | resets = <&apb1_resets 2>; | ||
471 | status = "disabled"; | ||
472 | #address-cells = <1>; | ||
473 | #size-cells = <0>; | ||
474 | }; | ||
475 | |||
476 | i2c3: i2c@07003400 { | ||
477 | compatible = "allwinner,sun6i-a31-i2c"; | ||
478 | reg = <0x07003400 0x400>; | ||
479 | interrupts = <0 9 4>; | ||
480 | clocks = <&apb1_gates 3>; | ||
481 | resets = <&apb1_resets 3>; | ||
482 | status = "disabled"; | ||
483 | #address-cells = <1>; | ||
484 | #size-cells = <0>; | ||
485 | }; | ||
486 | |||
487 | i2c4: i2c@07003800 { | ||
488 | compatible = "allwinner,sun6i-a31-i2c"; | ||
489 | reg = <0x07003800 0x400>; | ||
490 | interrupts = <0 10 4>; | ||
491 | clocks = <&apb1_gates 4>; | ||
492 | resets = <&apb1_resets 4>; | ||
493 | status = "disabled"; | ||
494 | #address-cells = <1>; | ||
495 | #size-cells = <0>; | ||
496 | }; | ||
497 | |||
498 | r_wdt: watchdog@08001000 { | ||
499 | compatible = "allwinner,sun6i-a31-wdt"; | ||
500 | reg = <0x08001000 0x20>; | ||
501 | interrupts = <0 36 4>; | ||
502 | }; | ||
503 | |||
504 | r_uart: serial@08002800 { | ||
505 | compatible = "snps,dw-apb-uart"; | ||
506 | reg = <0x08002800 0x400>; | ||
507 | interrupts = <0 38 4>; | ||
508 | reg-shift = <2>; | ||
509 | reg-io-width = <4>; | ||
510 | clocks = <&osc24M>; | ||
511 | status = "disabled"; | ||
512 | }; | ||
513 | }; | ||
514 | }; | ||
diff --git a/arch/arm/boot/dts/sunxi-common-regulators.dtsi b/arch/arm/boot/dts/sunxi-common-regulators.dtsi index c9c5b10e03eb..d8876634f965 100644 --- a/arch/arm/boot/dts/sunxi-common-regulators.dtsi +++ b/arch/arm/boot/dts/sunxi-common-regulators.dtsi | |||
@@ -3,12 +3,48 @@ | |||
3 | * | 3 | * |
4 | * Copyright 2014 - Hans de Goede <hdegoede@redhat.com> | 4 | * Copyright 2014 - Hans de Goede <hdegoede@redhat.com> |
5 | * | 5 | * |
6 | * The code contained herein is licensed under the GNU General Public | 6 | * This file is dual-licensed: you can use it either under the terms |
7 | * License. You may obtain a copy of the GNU General Public License | 7 | * of the GPL or the X11 license, at your option. Note that this dual |
8 | * Version 2 or later at the following locations: | 8 | * licensing only applies to this file, and not this project as a |
9 | * whole. | ||
9 | * | 10 | * |
10 | * http://www.opensource.org/licenses/gpl-license.html | 11 | * a) This file is free software; you can redistribute it and/or |
11 | * http://www.gnu.org/copyleft/gpl.html | 12 | * modify it under the terms of the GNU General Public License as |
13 | * published by the Free Software Foundation; either version 2 of the | ||
14 | * License, or (at your option) any later version. | ||
15 | * | ||
16 | * This file is distributed in the hope that it will be useful, | ||
17 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | * GNU General Public License for more details. | ||
20 | * | ||
21 | * You should have received a copy of the GNU General Public | ||
22 | * License along with this file; if not, write to the Free | ||
23 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, | ||
24 | * MA 02110-1301 USA | ||
25 | * | ||
26 | * Or, alternatively, | ||
27 | * | ||
28 | * b) Permission is hereby granted, free of charge, to any person | ||
29 | * obtaining a copy of this software and associated documentation | ||
30 | * files (the "Software"), to deal in the Software without | ||
31 | * restriction, including without limitation the rights to use, | ||
32 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
33 | * sell copies of the Software, and to permit persons to whom the | ||
34 | * Software is furnished to do so, subject to the following | ||
35 | * conditions: | ||
36 | * | ||
37 | * The above copyright notice and this permission notice shall be | ||
38 | * included in all copies or substantial portions of the Software. | ||
39 | * | ||
40 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
41 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
42 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
43 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
44 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
45 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
46 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
47 | * OTHER DEALINGS IN THE SOFTWARE. | ||
12 | */ | 48 | */ |
13 | 49 | ||
14 | / { | 50 | / { |
@@ -21,6 +57,13 @@ | |||
21 | allwinner,pull = <0>; | 57 | allwinner,pull = <0>; |
22 | }; | 58 | }; |
23 | 59 | ||
60 | usb0_vbus_pin_a: usb0_vbus_pin@0 { | ||
61 | allwinner,pins = "PB9"; | ||
62 | allwinner,function = "gpio_out"; | ||
63 | allwinner,drive = <0>; | ||
64 | allwinner,pull = <0>; | ||
65 | }; | ||
66 | |||
24 | usb1_vbus_pin_a: usb1_vbus_pin@0 { | 67 | usb1_vbus_pin_a: usb1_vbus_pin@0 { |
25 | allwinner,pins = "PH6"; | 68 | allwinner,pins = "PH6"; |
26 | allwinner,function = "gpio_out"; | 69 | allwinner,function = "gpio_out"; |
@@ -44,11 +87,24 @@ | |||
44 | regulator-name = "ahci-5v"; | 87 | regulator-name = "ahci-5v"; |
45 | regulator-min-microvolt = <5000000>; | 88 | regulator-min-microvolt = <5000000>; |
46 | regulator-max-microvolt = <5000000>; | 89 | regulator-max-microvolt = <5000000>; |
90 | regulator-boot-on; | ||
47 | enable-active-high; | 91 | enable-active-high; |
48 | gpio = <&pio 1 8 0>; | 92 | gpio = <&pio 1 8 0>; |
49 | status = "disabled"; | 93 | status = "disabled"; |
50 | }; | 94 | }; |
51 | 95 | ||
96 | reg_usb0_vbus: usb0-vbus { | ||
97 | compatible = "regulator-fixed"; | ||
98 | pinctrl-names = "default"; | ||
99 | pinctrl-0 = <&usb0_vbus_pin_a>; | ||
100 | regulator-name = "usb0-vbus"; | ||
101 | regulator-min-microvolt = <5000000>; | ||
102 | regulator-max-microvolt = <5000000>; | ||
103 | enable-active-high; | ||
104 | gpio = <&pio 1 9 0>; | ||
105 | status = "disabled"; | ||
106 | }; | ||
107 | |||
52 | reg_usb1_vbus: usb1-vbus { | 108 | reg_usb1_vbus: usb1-vbus { |
53 | compatible = "regulator-fixed"; | 109 | compatible = "regulator-fixed"; |
54 | pinctrl-names = "default"; | 110 | pinctrl-names = "default"; |
diff --git a/arch/arm/boot/dts/tegra30-cardhu.dtsi b/arch/arm/boot/dts/tegra30-cardhu.dtsi index a1b682ea01bd..cbf5a1ae0ca7 100644 --- a/arch/arm/boot/dts/tegra30-cardhu.dtsi +++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi | |||
@@ -189,7 +189,7 @@ | |||
189 | 189 | ||
190 | /* ALS and Proximity sensor */ | 190 | /* ALS and Proximity sensor */ |
191 | isl29028@44 { | 191 | isl29028@44 { |
192 | compatible = "isil,isl29028"; | 192 | compatible = "isl,isl29028"; |
193 | reg = <0x44>; | 193 | reg = <0x44>; |
194 | interrupt-parent = <&gpio>; | 194 | interrupt-parent = <&gpio>; |
195 | interrupts = <TEGRA_GPIO(L, 0) IRQ_TYPE_LEVEL_HIGH>; | 195 | interrupts = <TEGRA_GPIO(L, 0) IRQ_TYPE_LEVEL_HIGH>; |
diff --git a/arch/arm/boot/dts/vf-colibri-eval-v3.dtsi b/arch/arm/boot/dts/vf-colibri-eval-v3.dtsi new file mode 100644 index 000000000000..56a452bc326c --- /dev/null +++ b/arch/arm/boot/dts/vf-colibri-eval-v3.dtsi | |||
@@ -0,0 +1,96 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Toradex AG | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | */ | ||
9 | |||
10 | / { | ||
11 | chosen { | ||
12 | bootargs = "console=ttyLP0,115200"; | ||
13 | }; | ||
14 | |||
15 | regulators { | ||
16 | compatible = "simple-bus"; | ||
17 | #address-cells = <1>; | ||
18 | #size-cells = <0>; | ||
19 | |||
20 | sys_5v0_reg: regulator@0 { | ||
21 | compatible = "regulator-fixed"; | ||
22 | reg = <0>; | ||
23 | regulator-name = "5v0"; | ||
24 | regulator-min-microvolt = <5000000>; | ||
25 | regulator-max-microvolt = <5000000>; | ||
26 | regulator-always-on; | ||
27 | }; | ||
28 | |||
29 | /* USBH_PEN */ | ||
30 | usbh_vbus_reg: regulator@1 { | ||
31 | compatible = "regulator-fixed"; | ||
32 | pinctrl-names = "default"; | ||
33 | pinctrl-0 = <&pinctrl_usbh1_reg>; | ||
34 | reg = <1>; | ||
35 | regulator-name = "usbh_vbus"; | ||
36 | regulator-min-microvolt = <5000000>; | ||
37 | regulator-max-microvolt = <5000000>; | ||
38 | gpio = <&gpio3 19 GPIO_ACTIVE_LOW>; | ||
39 | vin-supply = <&sys_5v0_reg>; | ||
40 | }; | ||
41 | }; | ||
42 | }; | ||
43 | |||
44 | &bl { | ||
45 | brightness-levels = <0 4 8 16 32 64 128 255>; | ||
46 | default-brightness-level = <6>; | ||
47 | status = "okay"; | ||
48 | }; | ||
49 | |||
50 | &esdhc1 { | ||
51 | pinctrl-names = "default"; | ||
52 | pinctrl-0 = <&pinctrl_esdhc1>; | ||
53 | bus-width = <4>; | ||
54 | status = "okay"; | ||
55 | }; | ||
56 | |||
57 | &fec1 { | ||
58 | phy-mode = "rmii"; | ||
59 | pinctrl-names = "default"; | ||
60 | pinctrl-0 = <&pinctrl_fec1>; | ||
61 | status = "okay"; | ||
62 | }; | ||
63 | |||
64 | &i2c0 { | ||
65 | status = "okay"; | ||
66 | |||
67 | /* M41T0M6 real time clock on carrier board */ | ||
68 | rtc: m41t0m6@68 { | ||
69 | compatible = "st,m41t00"; | ||
70 | reg = <0x68>; | ||
71 | }; | ||
72 | }; | ||
73 | |||
74 | &pwm0 { | ||
75 | status = "okay"; | ||
76 | }; | ||
77 | |||
78 | &pwm1 { | ||
79 | status = "okay"; | ||
80 | }; | ||
81 | |||
82 | &uart0 { | ||
83 | status = "okay"; | ||
84 | }; | ||
85 | |||
86 | &uart1 { | ||
87 | status = "okay"; | ||
88 | }; | ||
89 | |||
90 | &uart2 { | ||
91 | status = "okay"; | ||
92 | }; | ||
93 | |||
94 | &usbh1 { | ||
95 | vbus-supply = <&usbh_vbus_reg>; | ||
96 | }; | ||
diff --git a/arch/arm/boot/dts/vf-colibri.dtsi b/arch/arm/boot/dts/vf-colibri.dtsi new file mode 100644 index 000000000000..82f5728be5c9 --- /dev/null +++ b/arch/arm/boot/dts/vf-colibri.dtsi | |||
@@ -0,0 +1,186 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Toradex AG | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | */ | ||
9 | |||
10 | / { | ||
11 | bl: backlight { | ||
12 | compatible = "pwm-backlight"; | ||
13 | pwms = <&pwm0 0 5000000 0>; | ||
14 | status = "disabled"; | ||
15 | }; | ||
16 | }; | ||
17 | |||
18 | &adc0 { | ||
19 | status = "okay"; | ||
20 | }; | ||
21 | |||
22 | &adc1 { | ||
23 | status = "okay"; | ||
24 | }; | ||
25 | |||
26 | &edma0 { | ||
27 | status = "okay"; | ||
28 | }; | ||
29 | |||
30 | &esdhc1 { | ||
31 | pinctrl-names = "default"; | ||
32 | pinctrl-0 = <&pinctrl_esdhc1>; | ||
33 | bus-width = <4>; | ||
34 | cd-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>; | ||
35 | }; | ||
36 | |||
37 | &fec1 { | ||
38 | phy-mode = "rmii"; | ||
39 | pinctrl-names = "default"; | ||
40 | pinctrl-0 = <&pinctrl_fec1>; | ||
41 | }; | ||
42 | |||
43 | &i2c0 { | ||
44 | clock-frequency = <400000>; | ||
45 | pinctrl-names = "default"; | ||
46 | pinctrl-0 = <&pinctrl_i2c0>; | ||
47 | }; | ||
48 | |||
49 | &pwm0 { | ||
50 | pinctrl-names = "default"; | ||
51 | pinctrl-0 = <&pinctrl_pwm0>; | ||
52 | }; | ||
53 | |||
54 | &pwm1 { | ||
55 | pinctrl-names = "default"; | ||
56 | pinctrl-0 = <&pinctrl_pwm1>; | ||
57 | }; | ||
58 | |||
59 | &uart0 { | ||
60 | pinctrl-names = "default"; | ||
61 | pinctrl-0 = <&pinctrl_uart0>; | ||
62 | }; | ||
63 | |||
64 | &uart1 { | ||
65 | pinctrl-names = "default"; | ||
66 | pinctrl-0 = <&pinctrl_uart1>; | ||
67 | }; | ||
68 | |||
69 | &uart2 { | ||
70 | pinctrl-names = "default"; | ||
71 | pinctrl-0 = <&pinctrl_uart2>; | ||
72 | }; | ||
73 | |||
74 | &usbdev0 { | ||
75 | disable-over-current; | ||
76 | status = "okay"; | ||
77 | }; | ||
78 | |||
79 | &usbh1 { | ||
80 | disable-over-current; | ||
81 | status = "okay"; | ||
82 | }; | ||
83 | |||
84 | &usbmisc0 { | ||
85 | status = "okay"; | ||
86 | }; | ||
87 | |||
88 | &usbmisc1 { | ||
89 | status = "okay"; | ||
90 | }; | ||
91 | |||
92 | &usbphy0 { | ||
93 | status = "okay"; | ||
94 | }; | ||
95 | |||
96 | &usbphy1 { | ||
97 | status = "okay"; | ||
98 | }; | ||
99 | |||
100 | &iomuxc { | ||
101 | vf610-colibri { | ||
102 | pinctrl_gpio_ext: gpio_ext { | ||
103 | fsl,pins = < | ||
104 | VF610_PAD_PTD10__GPIO_89 0x22ed /* EXT_IO_0 */ | ||
105 | VF610_PAD_PTD9__GPIO_88 0x22ed /* EXT_IO_1 */ | ||
106 | VF610_PAD_PTD26__GPIO_68 0x22ed /* EXT_IO_2 */ | ||
107 | >; | ||
108 | }; | ||
109 | |||
110 | pinctrl_esdhc1: esdhc1grp { | ||
111 | fsl,pins = < | ||
112 | VF610_PAD_PTA24__ESDHC1_CLK 0x31ef | ||
113 | VF610_PAD_PTA25__ESDHC1_CMD 0x31ef | ||
114 | VF610_PAD_PTA26__ESDHC1_DAT0 0x31ef | ||
115 | VF610_PAD_PTA27__ESDHC1_DAT1 0x31ef | ||
116 | VF610_PAD_PTA28__ESDHC1_DATA2 0x31ef | ||
117 | VF610_PAD_PTA29__ESDHC1_DAT3 0x31ef | ||
118 | VF610_PAD_PTB20__GPIO_42 0x219d | ||
119 | >; | ||
120 | }; | ||
121 | |||
122 | pinctrl_fec1: fec1grp { | ||
123 | fsl,pins = < | ||
124 | VF610_PAD_PTC9__ENET_RMII1_MDC 0x30d2 | ||
125 | VF610_PAD_PTC10__ENET_RMII1_MDIO 0x30d3 | ||
126 | VF610_PAD_PTC11__ENET_RMII1_CRS 0x30d1 | ||
127 | VF610_PAD_PTC12__ENET_RMII_RXD1 0x30d1 | ||
128 | VF610_PAD_PTC13__ENET_RMII1_RXD0 0x30d1 | ||
129 | VF610_PAD_PTC14__ENET_RMII1_RXER 0x30d1 | ||
130 | VF610_PAD_PTC15__ENET_RMII1_TXD1 0x30d2 | ||
131 | VF610_PAD_PTC16__ENET_RMII1_TXD0 0x30d2 | ||
132 | VF610_PAD_PTC17__ENET_RMII1_TXEN 0x30d2 | ||
133 | >; | ||
134 | }; | ||
135 | |||
136 | pinctrl_i2c0: i2c0grp { | ||
137 | fsl,pins = < | ||
138 | VF610_PAD_PTB14__I2C0_SCL 0x37ff | ||
139 | VF610_PAD_PTB15__I2C0_SDA 0x37ff | ||
140 | >; | ||
141 | }; | ||
142 | |||
143 | pinctrl_pwm0: pwm0grp { | ||
144 | fsl,pins = < | ||
145 | VF610_PAD_PTB0__FTM0_CH0 0x1182 | ||
146 | VF610_PAD_PTB1__FTM0_CH1 0x1182 | ||
147 | >; | ||
148 | }; | ||
149 | |||
150 | pinctrl_pwm1: pwm1grp { | ||
151 | fsl,pins = < | ||
152 | VF610_PAD_PTB8__FTM1_CH0 0x1182 | ||
153 | VF610_PAD_PTB9__FTM1_CH1 0x1182 | ||
154 | >; | ||
155 | }; | ||
156 | |||
157 | pinctrl_uart0: uart0grp { | ||
158 | fsl,pins = < | ||
159 | VF610_PAD_PTB10__UART0_TX 0x21a2 | ||
160 | VF610_PAD_PTB11__UART0_RX 0x21a1 | ||
161 | >; | ||
162 | }; | ||
163 | |||
164 | pinctrl_uart1: uart1grp { | ||
165 | fsl,pins = < | ||
166 | VF610_PAD_PTB4__UART1_TX 0x21a2 | ||
167 | VF610_PAD_PTB5__UART1_RX 0x21a1 | ||
168 | >; | ||
169 | }; | ||
170 | |||
171 | pinctrl_uart2: uart2grp { | ||
172 | fsl,pins = < | ||
173 | VF610_PAD_PTD0__UART2_TX 0x21a2 | ||
174 | VF610_PAD_PTD1__UART2_RX 0x21a1 | ||
175 | VF610_PAD_PTD2__UART2_RTS 0x21a2 | ||
176 | VF610_PAD_PTD3__UART2_CTS 0x21a1 | ||
177 | >; | ||
178 | }; | ||
179 | |||
180 | pinctrl_usbh1_reg: gpio_usb_vbus { | ||
181 | fsl,pins = < | ||
182 | VF610_PAD_PTD4__GPIO_83 0x22ed | ||
183 | >; | ||
184 | }; | ||
185 | }; | ||
186 | }; | ||
diff --git a/arch/arm/boot/dts/vf500-colibri-eval-v3.dts b/arch/arm/boot/dts/vf500-colibri-eval-v3.dts new file mode 100644 index 000000000000..7fc782c4fc52 --- /dev/null +++ b/arch/arm/boot/dts/vf500-colibri-eval-v3.dts | |||
@@ -0,0 +1,17 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Toradex AG | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | */ | ||
9 | |||
10 | /dts-v1/; | ||
11 | #include "vf500-colibri.dtsi" | ||
12 | #include "vf-colibri-eval-v3.dtsi" | ||
13 | |||
14 | / { | ||
15 | model = "Toradex Colibri VF50 on Colibri Evaluation Board"; | ||
16 | compatible = "toradex,vf500-colibri_vf50-on-eval", "toradex,vf500-colibri_vf50", "fsl,vf500"; | ||
17 | }; | ||
diff --git a/arch/arm/boot/dts/vf500-colibri.dtsi b/arch/arm/boot/dts/vf500-colibri.dtsi new file mode 100644 index 000000000000..cee34a32f25b --- /dev/null +++ b/arch/arm/boot/dts/vf500-colibri.dtsi | |||
@@ -0,0 +1,20 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Toradex AG | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | */ | ||
9 | |||
10 | #include "vf500.dtsi" | ||
11 | #include "vf-colibri.dtsi" | ||
12 | |||
13 | / { | ||
14 | model = "Toradex Colibri VF50 COM"; | ||
15 | compatible = "toradex,vf610-colibri_vf50", "fsl,vf500"; | ||
16 | |||
17 | memory { | ||
18 | reg = <0x80000000 0x8000000>; | ||
19 | }; | ||
20 | }; | ||
diff --git a/arch/arm/boot/dts/vf500.dtsi b/arch/arm/boot/dts/vf500.dtsi new file mode 100644 index 000000000000..de6700542714 --- /dev/null +++ b/arch/arm/boot/dts/vf500.dtsi | |||
@@ -0,0 +1,171 @@ | |||
1 | /* | ||
2 | * Copyright 2013 Freescale Semiconductor, Inc. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | */ | ||
9 | |||
10 | #include "skeleton.dtsi" | ||
11 | #include "vfxxx.dtsi" | ||
12 | #include <dt-bindings/interrupt-controller/arm-gic.h> | ||
13 | |||
14 | / { | ||
15 | cpus { | ||
16 | #address-cells = <1>; | ||
17 | #size-cells = <0>; | ||
18 | |||
19 | a5_cpu: cpu@0 { | ||
20 | compatible = "arm,cortex-a5"; | ||
21 | device_type = "cpu"; | ||
22 | reg = <0x0>; | ||
23 | }; | ||
24 | }; | ||
25 | |||
26 | soc { | ||
27 | interrupt-parent = <&intc>; | ||
28 | |||
29 | aips-bus@40000000 { | ||
30 | |||
31 | intc: interrupt-controller@40002000 { | ||
32 | compatible = "arm,cortex-a9-gic"; | ||
33 | #interrupt-cells = <3>; | ||
34 | interrupt-controller; | ||
35 | reg = <0x40003000 0x1000>, | ||
36 | <0x40002100 0x100>; | ||
37 | }; | ||
38 | |||
39 | global_timer: timer@40002200 { | ||
40 | compatible = "arm,cortex-a9-global-timer"; | ||
41 | reg = <0x40002200 0x20>; | ||
42 | interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>; | ||
43 | clocks = <&clks VF610_CLK_PLATFORM_BUS>; | ||
44 | }; | ||
45 | }; | ||
46 | }; | ||
47 | }; | ||
48 | |||
49 | &adc0 { | ||
50 | interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; | ||
51 | }; | ||
52 | |||
53 | &adc1 { | ||
54 | interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; | ||
55 | }; | ||
56 | |||
57 | &can0 { | ||
58 | interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; | ||
59 | }; | ||
60 | |||
61 | &can1 { | ||
62 | interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; | ||
63 | }; | ||
64 | |||
65 | &dspi0 { | ||
66 | interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; | ||
67 | }; | ||
68 | |||
69 | &edma0 { | ||
70 | interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, | ||
71 | <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; | ||
72 | interrupt-names = "edma-tx", "edma-err"; | ||
73 | }; | ||
74 | |||
75 | &edma1 { | ||
76 | interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, | ||
77 | <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; | ||
78 | interrupt-names = "edma-tx", "edma-err"; | ||
79 | }; | ||
80 | |||
81 | &esdhc1 { | ||
82 | interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; | ||
83 | }; | ||
84 | |||
85 | &fec0 { | ||
86 | interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; | ||
87 | }; | ||
88 | |||
89 | &fec1 { | ||
90 | interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; | ||
91 | }; | ||
92 | |||
93 | &ftm { | ||
94 | interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; | ||
95 | }; | ||
96 | |||
97 | &gpio1 { | ||
98 | interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; | ||
99 | }; | ||
100 | |||
101 | &gpio2 { | ||
102 | interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; | ||
103 | }; | ||
104 | |||
105 | &gpio3 { | ||
106 | interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; | ||
107 | }; | ||
108 | |||
109 | &gpio4 { | ||
110 | interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; | ||
111 | }; | ||
112 | |||
113 | &gpio5 { | ||
114 | interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; | ||
115 | }; | ||
116 | |||
117 | &i2c0 { | ||
118 | interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; | ||
119 | }; | ||
120 | |||
121 | &pit { | ||
122 | interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; | ||
123 | }; | ||
124 | |||
125 | &qspi0 { | ||
126 | interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; | ||
127 | }; | ||
128 | |||
129 | &sai2 { | ||
130 | interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; | ||
131 | }; | ||
132 | |||
133 | &uart0 { | ||
134 | interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; | ||
135 | }; | ||
136 | |||
137 | &uart1 { | ||
138 | interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; | ||
139 | }; | ||
140 | |||
141 | &uart2 { | ||
142 | interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; | ||
143 | }; | ||
144 | |||
145 | &uart3 { | ||
146 | interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; | ||
147 | }; | ||
148 | |||
149 | &uart4 { | ||
150 | interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; | ||
151 | }; | ||
152 | |||
153 | &uart5 { | ||
154 | interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; | ||
155 | }; | ||
156 | |||
157 | &usbdev0 { | ||
158 | interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; | ||
159 | }; | ||
160 | |||
161 | &usbh1 { | ||
162 | interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; | ||
163 | }; | ||
164 | |||
165 | &usbphy0 { | ||
166 | interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; | ||
167 | }; | ||
168 | |||
169 | &usbphy1 { | ||
170 | interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; | ||
171 | }; | ||
diff --git a/arch/arm/boot/dts/vf610-colibri-eval-v3.dts b/arch/arm/boot/dts/vf610-colibri-eval-v3.dts index 7fb306679341..10ebe99e2751 100644 --- a/arch/arm/boot/dts/vf610-colibri-eval-v3.dts +++ b/arch/arm/boot/dts/vf610-colibri-eval-v3.dts | |||
@@ -9,38 +9,9 @@ | |||
9 | 9 | ||
10 | /dts-v1/; | 10 | /dts-v1/; |
11 | #include "vf610-colibri.dtsi" | 11 | #include "vf610-colibri.dtsi" |
12 | #include "vf-colibri-eval-v3.dtsi" | ||
12 | 13 | ||
13 | / { | 14 | / { |
14 | model = "Toradex Colibri VF61 on Colibri Evaluation Board"; | 15 | model = "Toradex Colibri VF61 on Colibri Evaluation Board"; |
15 | compatible = "toradex,vf610-colibri_vf61-on-eval", "toradex,vf610-colibri_vf61", "fsl,vf610"; | 16 | compatible = "toradex,vf610-colibri_vf61-on-eval", "toradex,vf610-colibri_vf61", "fsl,vf610"; |
16 | 17 | }; \ No newline at end of file | |
17 | chosen { | ||
18 | bootargs = "console=ttyLP0,115200"; | ||
19 | }; | ||
20 | }; | ||
21 | |||
22 | &esdhc1 { | ||
23 | pinctrl-names = "default"; | ||
24 | pinctrl-0 = <&pinctrl_esdhc1>; | ||
25 | bus-width = <4>; | ||
26 | status = "okay"; | ||
27 | }; | ||
28 | |||
29 | &fec1 { | ||
30 | phy-mode = "rmii"; | ||
31 | pinctrl-names = "default"; | ||
32 | pinctrl-0 = <&pinctrl_fec1>; | ||
33 | status = "okay"; | ||
34 | }; | ||
35 | |||
36 | &uart0 { | ||
37 | status = "okay"; | ||
38 | }; | ||
39 | |||
40 | &uart1 { | ||
41 | status = "okay"; | ||
42 | }; | ||
43 | |||
44 | &uart2 { | ||
45 | status = "okay"; | ||
46 | }; | ||
diff --git a/arch/arm/boot/dts/vf610-colibri.dtsi b/arch/arm/boot/dts/vf610-colibri.dtsi index 0cd83434b073..19fe045b8334 100644 --- a/arch/arm/boot/dts/vf610-colibri.dtsi +++ b/arch/arm/boot/dts/vf610-colibri.dtsi | |||
@@ -8,6 +8,7 @@ | |||
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include "vf610.dtsi" | 10 | #include "vf610.dtsi" |
11 | #include "vf-colibri.dtsi" | ||
11 | 12 | ||
12 | / { | 13 | / { |
13 | model = "Toradex Colibri VF61 COM"; | 14 | model = "Toradex Colibri VF61 COM"; |
@@ -16,108 +17,9 @@ | |||
16 | memory { | 17 | memory { |
17 | reg = <0x80000000 0x10000000>; | 18 | reg = <0x80000000 0x10000000>; |
18 | }; | 19 | }; |
19 | |||
20 | clocks { | ||
21 | enet_ext { | ||
22 | compatible = "fixed-clock"; | ||
23 | #clock-cells = <0>; | ||
24 | clock-frequency = <50000000>; | ||
25 | }; | ||
26 | }; | ||
27 | |||
28 | }; | ||
29 | |||
30 | &esdhc1 { | ||
31 | pinctrl-names = "default"; | ||
32 | pinctrl-0 = <&pinctrl_esdhc1>; | ||
33 | bus-width = <4>; | ||
34 | }; | ||
35 | |||
36 | &fec1 { | ||
37 | phy-mode = "rmii"; | ||
38 | pinctrl-names = "default"; | ||
39 | pinctrl-0 = <&pinctrl_fec1>; | ||
40 | }; | 20 | }; |
41 | 21 | ||
42 | &L2 { | 22 | &L2 { |
43 | arm,data-latency = <2 1 2>; | 23 | arm,data-latency = <2 1 2>; |
44 | arm,tag-latency = <3 2 3>; | 24 | arm,tag-latency = <3 2 3>; |
45 | }; | 25 | }; |
46 | |||
47 | &uart0 { | ||
48 | pinctrl-names = "default"; | ||
49 | pinctrl-0 = <&pinctrl_uart0>; | ||
50 | }; | ||
51 | |||
52 | &uart1 { | ||
53 | pinctrl-names = "default"; | ||
54 | pinctrl-0 = <&pinctrl_uart1>; | ||
55 | }; | ||
56 | |||
57 | &uart2 { | ||
58 | pinctrl-names = "default"; | ||
59 | pinctrl-0 = <&pinctrl_uart2>; | ||
60 | }; | ||
61 | |||
62 | &usbdev0 { | ||
63 | disable-over-current; | ||
64 | status = "okay"; | ||
65 | }; | ||
66 | |||
67 | &usbh1 { | ||
68 | disable-over-current; | ||
69 | status = "okay"; | ||
70 | }; | ||
71 | |||
72 | &iomuxc { | ||
73 | vf610-colibri { | ||
74 | pinctrl_esdhc1: esdhc1grp { | ||
75 | fsl,pins = < | ||
76 | VF610_PAD_PTA24__ESDHC1_CLK 0x31ef | ||
77 | VF610_PAD_PTA25__ESDHC1_CMD 0x31ef | ||
78 | VF610_PAD_PTA26__ESDHC1_DAT0 0x31ef | ||
79 | VF610_PAD_PTA27__ESDHC1_DAT1 0x31ef | ||
80 | VF610_PAD_PTA28__ESDHC1_DATA2 0x31ef | ||
81 | VF610_PAD_PTA29__ESDHC1_DAT3 0x31ef | ||
82 | VF610_PAD_PTB20__GPIO_42 0x219d | ||
83 | >; | ||
84 | }; | ||
85 | |||
86 | pinctrl_fec1: fec1grp { | ||
87 | fsl,pins = < | ||
88 | VF610_PAD_PTC9__ENET_RMII1_MDC 0x30d2 | ||
89 | VF610_PAD_PTC10__ENET_RMII1_MDIO 0x30d3 | ||
90 | VF610_PAD_PTC11__ENET_RMII1_CRS 0x30d1 | ||
91 | VF610_PAD_PTC12__ENET_RMII_RXD1 0x30d1 | ||
92 | VF610_PAD_PTC13__ENET_RMII1_RXD0 0x30d1 | ||
93 | VF610_PAD_PTC14__ENET_RMII1_RXER 0x30d1 | ||
94 | VF610_PAD_PTC15__ENET_RMII1_TXD1 0x30d2 | ||
95 | VF610_PAD_PTC16__ENET_RMII1_TXD0 0x30d2 | ||
96 | VF610_PAD_PTC17__ENET_RMII1_TXEN 0x30d2 | ||
97 | >; | ||
98 | }; | ||
99 | |||
100 | pinctrl_uart0: uart0grp { | ||
101 | fsl,pins = < | ||
102 | VF610_PAD_PTB10__UART0_TX 0x21a2 | ||
103 | VF610_PAD_PTB11__UART0_RX 0x21a1 | ||
104 | >; | ||
105 | }; | ||
106 | |||
107 | pinctrl_uart1: uart1grp { | ||
108 | fsl,pins = < | ||
109 | VF610_PAD_PTB4__UART1_TX 0x21a2 | ||
110 | VF610_PAD_PTB5__UART1_RX 0x21a1 | ||
111 | >; | ||
112 | }; | ||
113 | |||
114 | pinctrl_uart2: uart2grp { | ||
115 | fsl,pins = < | ||
116 | VF610_PAD_PTD0__UART2_TX 0x21a2 | ||
117 | VF610_PAD_PTD1__UART2_RX 0x21a1 | ||
118 | VF610_PAD_PTD2__UART2_RTS 0x21a2 | ||
119 | VF610_PAD_PTD3__UART2_CTS 0x21a1 | ||
120 | >; | ||
121 | }; | ||
122 | }; | ||
123 | }; | ||
diff --git a/arch/arm/boot/dts/vf610-cosmic.dts b/arch/arm/boot/dts/vf610-cosmic.dts index de1b453c2932..fd8758b639f5 100644 --- a/arch/arm/boot/dts/vf610-cosmic.dts +++ b/arch/arm/boot/dts/vf610-cosmic.dts | |||
@@ -23,14 +23,16 @@ | |||
23 | reg = <0x80000000 0x10000000>; | 23 | reg = <0x80000000 0x10000000>; |
24 | }; | 24 | }; |
25 | 25 | ||
26 | clocks { | 26 | enet_ext: enet_ext { |
27 | enet_ext { | 27 | compatible = "fixed-clock"; |
28 | compatible = "fixed-clock"; | 28 | #clock-cells = <0>; |
29 | #clock-cells = <0>; | 29 | clock-frequency = <50000000>; |
30 | clock-frequency = <50000000>; | ||
31 | }; | ||
32 | }; | 30 | }; |
31 | }; | ||
33 | 32 | ||
33 | &clks { | ||
34 | clocks = <&sxosc>, <&fxosc>, <&enet_ext>; | ||
35 | clock-names = "sxosc", "fxosc", "enet_ext"; | ||
34 | }; | 36 | }; |
35 | 37 | ||
36 | &esdhc1 { | 38 | &esdhc1 { |
diff --git a/arch/arm/boot/dts/vf610-twr.dts b/arch/arm/boot/dts/vf610-twr.dts index 189b6975fe7d..a0f762159cb2 100644 --- a/arch/arm/boot/dts/vf610-twr.dts +++ b/arch/arm/boot/dts/vf610-twr.dts | |||
@@ -22,18 +22,16 @@ | |||
22 | reg = <0x80000000 0x8000000>; | 22 | reg = <0x80000000 0x8000000>; |
23 | }; | 23 | }; |
24 | 24 | ||
25 | clocks { | 25 | audio_ext: mclk_osc { |
26 | audio_ext { | 26 | compatible = "fixed-clock"; |
27 | compatible = "fixed-clock"; | 27 | #clock-cells = <0>; |
28 | #clock-cells = <0>; | 28 | clock-frequency = <24576000>; |
29 | clock-frequency = <24576000>; | 29 | }; |
30 | }; | ||
31 | 30 | ||
32 | enet_ext { | 31 | enet_ext: eth_osc { |
33 | compatible = "fixed-clock"; | 32 | compatible = "fixed-clock"; |
34 | #clock-cells = <0>; | 33 | #clock-cells = <0>; |
35 | clock-frequency = <50000000>; | 34 | clock-frequency = <50000000>; |
36 | }; | ||
37 | }; | 35 | }; |
38 | 36 | ||
39 | regulators { | 37 | regulators { |
@@ -95,6 +93,11 @@ | |||
95 | status = "okay"; | 93 | status = "okay"; |
96 | }; | 94 | }; |
97 | 95 | ||
96 | &clks { | ||
97 | clocks = <&sxosc>, <&fxosc>, <&enet_ext>, <&audio_ext>; | ||
98 | clock-names = "sxosc", "fxosc", "enet_ext", "audio_ext"; | ||
99 | }; | ||
100 | |||
98 | &dspi0 { | 101 | &dspi0 { |
99 | bus-num = <0>; | 102 | bus-num = <0>; |
100 | pinctrl-names = "default"; | 103 | pinctrl-names = "default"; |
@@ -112,10 +115,15 @@ | |||
112 | }; | 115 | }; |
113 | }; | 116 | }; |
114 | 117 | ||
118 | &edma0 { | ||
119 | status = "okay"; | ||
120 | }; | ||
121 | |||
115 | &esdhc1 { | 122 | &esdhc1 { |
116 | pinctrl-names = "default"; | 123 | pinctrl-names = "default"; |
117 | pinctrl-0 = <&pinctrl_esdhc1>; | 124 | pinctrl-0 = <&pinctrl_esdhc1>; |
118 | bus-width = <4>; | 125 | bus-width = <4>; |
126 | cd-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>; | ||
119 | status = "okay"; | 127 | status = "okay"; |
120 | }; | 128 | }; |
121 | 129 | ||
@@ -285,3 +293,19 @@ | |||
285 | disable-over-current; | 293 | disable-over-current; |
286 | status = "okay"; | 294 | status = "okay"; |
287 | }; | 295 | }; |
296 | |||
297 | &usbmisc0 { | ||
298 | status = "okay"; | ||
299 | }; | ||
300 | |||
301 | &usbmisc1 { | ||
302 | status = "okay"; | ||
303 | }; | ||
304 | |||
305 | &usbphy0 { | ||
306 | status = "okay"; | ||
307 | }; | ||
308 | |||
309 | &usbphy1 { | ||
310 | status = "okay"; | ||
311 | }; | ||
diff --git a/arch/arm/boot/dts/vf610.dtsi b/arch/arm/boot/dts/vf610.dtsi index 4d2ec32de96f..5f8eb1bd782b 100644 --- a/arch/arm/boot/dts/vf610.dtsi +++ b/arch/arm/boot/dts/vf610.dtsi | |||
@@ -7,481 +7,19 @@ | |||
7 | * (at your option) any later version. | 7 | * (at your option) any later version. |
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include "skeleton.dtsi" | 10 | #include "vf500.dtsi" |
11 | #include "vf610-pinfunc.h" | ||
12 | #include <dt-bindings/clock/vf610-clock.h> | ||
13 | #include <dt-bindings/interrupt-controller/irq.h> | ||
14 | 11 | ||
15 | / { | 12 | &a5_cpu { |
16 | aliases { | 13 | next-level-cache = <&L2>; |
17 | can0 = &can0; | 14 | }; |
18 | can1 = &can1; | ||
19 | serial0 = &uart0; | ||
20 | serial1 = &uart1; | ||
21 | serial2 = &uart2; | ||
22 | serial3 = &uart3; | ||
23 | serial4 = &uart4; | ||
24 | serial5 = &uart5; | ||
25 | gpio0 = &gpio1; | ||
26 | gpio1 = &gpio2; | ||
27 | gpio2 = &gpio3; | ||
28 | gpio3 = &gpio4; | ||
29 | gpio4 = &gpio5; | ||
30 | usbphy0 = &usbphy0; | ||
31 | usbphy1 = &usbphy1; | ||
32 | }; | ||
33 | |||
34 | cpus { | ||
35 | #address-cells = <1>; | ||
36 | #size-cells = <0>; | ||
37 | |||
38 | cpu@0 { | ||
39 | compatible = "arm,cortex-a5"; | ||
40 | device_type = "cpu"; | ||
41 | reg = <0x0>; | ||
42 | next-level-cache = <&L2>; | ||
43 | }; | ||
44 | }; | ||
45 | |||
46 | clocks { | ||
47 | #address-cells = <1>; | ||
48 | #size-cells = <0>; | ||
49 | |||
50 | sxosc { | ||
51 | compatible = "fixed-clock"; | ||
52 | #clock-cells = <0>; | ||
53 | clock-frequency = <32768>; | ||
54 | }; | ||
55 | |||
56 | fxosc { | ||
57 | compatible = "fixed-clock"; | ||
58 | #clock-cells = <0>; | ||
59 | clock-frequency = <24000000>; | ||
60 | }; | ||
61 | }; | ||
62 | |||
63 | soc { | ||
64 | #address-cells = <1>; | ||
65 | #size-cells = <1>; | ||
66 | compatible = "simple-bus"; | ||
67 | interrupt-parent = <&intc>; | ||
68 | ranges; | ||
69 | |||
70 | aips0: aips-bus@40000000 { | ||
71 | compatible = "fsl,aips-bus", "simple-bus"; | ||
72 | #address-cells = <1>; | ||
73 | #size-cells = <1>; | ||
74 | interrupt-parent = <&intc>; | ||
75 | reg = <0x40000000 0x70000>; | ||
76 | ranges; | ||
77 | |||
78 | intc: interrupt-controller@40002000 { | ||
79 | compatible = "arm,cortex-a9-gic"; | ||
80 | #interrupt-cells = <3>; | ||
81 | interrupt-controller; | ||
82 | reg = <0x40003000 0x1000>, | ||
83 | <0x40002100 0x100>; | ||
84 | }; | ||
85 | |||
86 | L2: l2-cache@40006000 { | ||
87 | compatible = "arm,pl310-cache"; | ||
88 | reg = <0x40006000 0x1000>; | ||
89 | cache-unified; | ||
90 | cache-level = <2>; | ||
91 | arm,data-latency = <1 1 1>; | ||
92 | arm,tag-latency = <2 2 2>; | ||
93 | }; | ||
94 | |||
95 | edma0: dma-controller@40018000 { | ||
96 | #dma-cells = <2>; | ||
97 | compatible = "fsl,vf610-edma"; | ||
98 | reg = <0x40018000 0x2000>, | ||
99 | <0x40024000 0x1000>, | ||
100 | <0x40025000 0x1000>; | ||
101 | interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>, | ||
102 | <0 9 IRQ_TYPE_LEVEL_HIGH>; | ||
103 | interrupt-names = "edma-tx", "edma-err"; | ||
104 | dma-channels = <32>; | ||
105 | clock-names = "dmamux0", "dmamux1"; | ||
106 | clocks = <&clks VF610_CLK_DMAMUX0>, | ||
107 | <&clks VF610_CLK_DMAMUX1>; | ||
108 | }; | ||
109 | |||
110 | can0: flexcan@40020000 { | ||
111 | compatible = "fsl,vf610-flexcan"; | ||
112 | reg = <0x40020000 0x4000>; | ||
113 | interrupts = <0 58 IRQ_TYPE_LEVEL_HIGH>; | ||
114 | clocks = <&clks VF610_CLK_FLEXCAN0>, | ||
115 | <&clks VF610_CLK_FLEXCAN0>; | ||
116 | clock-names = "ipg", "per"; | ||
117 | status = "disabled"; | ||
118 | }; | ||
119 | |||
120 | uart0: serial@40027000 { | ||
121 | compatible = "fsl,vf610-lpuart"; | ||
122 | reg = <0x40027000 0x1000>; | ||
123 | interrupts = <0 61 IRQ_TYPE_LEVEL_HIGH>; | ||
124 | clocks = <&clks VF610_CLK_UART0>; | ||
125 | clock-names = "ipg"; | ||
126 | dmas = <&edma0 0 2>, | ||
127 | <&edma0 0 3>; | ||
128 | dma-names = "rx","tx"; | ||
129 | status = "disabled"; | ||
130 | }; | ||
131 | |||
132 | uart1: serial@40028000 { | ||
133 | compatible = "fsl,vf610-lpuart"; | ||
134 | reg = <0x40028000 0x1000>; | ||
135 | interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>; | ||
136 | clocks = <&clks VF610_CLK_UART1>; | ||
137 | clock-names = "ipg"; | ||
138 | dmas = <&edma0 0 4>, | ||
139 | <&edma0 0 5>; | ||
140 | dma-names = "rx","tx"; | ||
141 | status = "disabled"; | ||
142 | }; | ||
143 | |||
144 | uart2: serial@40029000 { | ||
145 | compatible = "fsl,vf610-lpuart"; | ||
146 | reg = <0x40029000 0x1000>; | ||
147 | interrupts = <0 63 IRQ_TYPE_LEVEL_HIGH>; | ||
148 | clocks = <&clks VF610_CLK_UART2>; | ||
149 | clock-names = "ipg"; | ||
150 | dmas = <&edma0 0 6>, | ||
151 | <&edma0 0 7>; | ||
152 | dma-names = "rx","tx"; | ||
153 | status = "disabled"; | ||
154 | }; | ||
155 | |||
156 | uart3: serial@4002a000 { | ||
157 | compatible = "fsl,vf610-lpuart"; | ||
158 | reg = <0x4002a000 0x1000>; | ||
159 | interrupts = <0 64 IRQ_TYPE_LEVEL_HIGH>; | ||
160 | clocks = <&clks VF610_CLK_UART3>; | ||
161 | clock-names = "ipg"; | ||
162 | dmas = <&edma0 0 8>, | ||
163 | <&edma0 0 9>; | ||
164 | dma-names = "rx","tx"; | ||
165 | status = "disabled"; | ||
166 | }; | ||
167 | |||
168 | dspi0: dspi0@4002c000 { | ||
169 | #address-cells = <1>; | ||
170 | #size-cells = <0>; | ||
171 | compatible = "fsl,vf610-dspi"; | ||
172 | reg = <0x4002c000 0x1000>; | ||
173 | interrupts = <0 67 IRQ_TYPE_LEVEL_HIGH>; | ||
174 | clocks = <&clks VF610_CLK_DSPI0>; | ||
175 | clock-names = "dspi"; | ||
176 | spi-num-chipselects = <5>; | ||
177 | status = "disabled"; | ||
178 | }; | ||
179 | |||
180 | sai2: sai@40031000 { | ||
181 | compatible = "fsl,vf610-sai"; | ||
182 | reg = <0x40031000 0x1000>; | ||
183 | interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>; | ||
184 | clocks = <&clks VF610_CLK_SAI2>; | ||
185 | clock-names = "sai"; | ||
186 | dma-names = "tx", "rx"; | ||
187 | dmas = <&edma0 0 21>, | ||
188 | <&edma0 0 20>; | ||
189 | status = "disabled"; | ||
190 | }; | ||
191 | |||
192 | pit: pit@40037000 { | ||
193 | compatible = "fsl,vf610-pit"; | ||
194 | reg = <0x40037000 0x1000>; | ||
195 | interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>; | ||
196 | clocks = <&clks VF610_CLK_PIT>; | ||
197 | clock-names = "pit"; | ||
198 | }; | ||
199 | |||
200 | pwm0: pwm@40038000 { | ||
201 | compatible = "fsl,vf610-ftm-pwm"; | ||
202 | #pwm-cells = <3>; | ||
203 | reg = <0x40038000 0x1000>; | ||
204 | clock-names = "ftm_sys", "ftm_ext", | ||
205 | "ftm_fix", "ftm_cnt_clk_en"; | ||
206 | clocks = <&clks VF610_CLK_FTM0>, | ||
207 | <&clks VF610_CLK_FTM0_EXT_SEL>, | ||
208 | <&clks VF610_CLK_FTM0_FIX_SEL>, | ||
209 | <&clks VF610_CLK_FTM0_EXT_FIX_EN>; | ||
210 | status = "disabled"; | ||
211 | }; | ||
212 | |||
213 | adc0: adc@4003b000 { | ||
214 | compatible = "fsl,vf610-adc"; | ||
215 | reg = <0x4003b000 0x1000>; | ||
216 | interrupts = <0 53 0x04>; | ||
217 | clocks = <&clks VF610_CLK_ADC0>; | ||
218 | clock-names = "adc"; | ||
219 | status = "disabled"; | ||
220 | }; | ||
221 | |||
222 | wdog@4003e000 { | ||
223 | compatible = "fsl,vf610-wdt", "fsl,imx21-wdt"; | ||
224 | reg = <0x4003e000 0x1000>; | ||
225 | clocks = <&clks VF610_CLK_WDT>; | ||
226 | clock-names = "wdog"; | ||
227 | }; | ||
228 | |||
229 | qspi0: quadspi@40044000 { | ||
230 | #address-cells = <1>; | ||
231 | #size-cells = <0>; | ||
232 | compatible = "fsl,vf610-qspi"; | ||
233 | reg = <0x40044000 0x1000>; | ||
234 | interrupts = <0 24 IRQ_TYPE_LEVEL_HIGH>; | ||
235 | clocks = <&clks VF610_CLK_QSPI0_EN>, | ||
236 | <&clks VF610_CLK_QSPI0>; | ||
237 | clock-names = "qspi_en", "qspi"; | ||
238 | status = "disabled"; | ||
239 | }; | ||
240 | |||
241 | iomuxc: iomuxc@40048000 { | ||
242 | compatible = "fsl,vf610-iomuxc"; | ||
243 | reg = <0x40048000 0x1000>; | ||
244 | #gpio-range-cells = <3>; | ||
245 | }; | ||
246 | |||
247 | gpio1: gpio@40049000 { | ||
248 | compatible = "fsl,vf610-gpio"; | ||
249 | reg = <0x40049000 0x1000 0x400ff000 0x40>; | ||
250 | interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>; | ||
251 | gpio-controller; | ||
252 | #gpio-cells = <2>; | ||
253 | interrupt-controller; | ||
254 | #interrupt-cells = <2>; | ||
255 | gpio-ranges = <&iomuxc 0 0 32>; | ||
256 | }; | ||
257 | |||
258 | gpio2: gpio@4004a000 { | ||
259 | compatible = "fsl,vf610-gpio"; | ||
260 | reg = <0x4004a000 0x1000 0x400ff040 0x40>; | ||
261 | interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>; | ||
262 | gpio-controller; | ||
263 | #gpio-cells = <2>; | ||
264 | interrupt-controller; | ||
265 | #interrupt-cells = <2>; | ||
266 | gpio-ranges = <&iomuxc 0 32 32>; | ||
267 | }; | ||
268 | |||
269 | gpio3: gpio@4004b000 { | ||
270 | compatible = "fsl,vf610-gpio"; | ||
271 | reg = <0x4004b000 0x1000 0x400ff080 0x40>; | ||
272 | interrupts = <0 109 IRQ_TYPE_LEVEL_HIGH>; | ||
273 | gpio-controller; | ||
274 | #gpio-cells = <2>; | ||
275 | interrupt-controller; | ||
276 | #interrupt-cells = <2>; | ||
277 | gpio-ranges = <&iomuxc 0 64 32>; | ||
278 | }; | ||
279 | |||
280 | gpio4: gpio@4004c000 { | ||
281 | compatible = "fsl,vf610-gpio"; | ||
282 | reg = <0x4004c000 0x1000 0x400ff0c0 0x40>; | ||
283 | interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>; | ||
284 | gpio-controller; | ||
285 | #gpio-cells = <2>; | ||
286 | interrupt-controller; | ||
287 | #interrupt-cells = <2>; | ||
288 | gpio-ranges = <&iomuxc 0 96 32>; | ||
289 | }; | ||
290 | |||
291 | gpio5: gpio@4004d000 { | ||
292 | compatible = "fsl,vf610-gpio"; | ||
293 | reg = <0x4004d000 0x1000 0x400ff100 0x40>; | ||
294 | interrupts = <0 111 IRQ_TYPE_LEVEL_HIGH>; | ||
295 | gpio-controller; | ||
296 | #gpio-cells = <2>; | ||
297 | interrupt-controller; | ||
298 | #interrupt-cells = <2>; | ||
299 | gpio-ranges = <&iomuxc 0 128 7>; | ||
300 | }; | ||
301 | |||
302 | anatop: anatop@40050000 { | ||
303 | compatible = "fsl,vf610-anatop", "syscon"; | ||
304 | reg = <0x40050000 0x400>; | ||
305 | }; | ||
306 | |||
307 | usbphy0: usbphy@40050800 { | ||
308 | compatible = "fsl,vf610-usbphy"; | ||
309 | reg = <0x40050800 0x400>; | ||
310 | interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>; | ||
311 | clocks = <&clks VF610_CLK_USBPHY0>; | ||
312 | fsl,anatop = <&anatop>; | ||
313 | }; | ||
314 | |||
315 | usbphy1: usbphy@40050c00 { | ||
316 | compatible = "fsl,vf610-usbphy"; | ||
317 | reg = <0x40050c00 0x400>; | ||
318 | interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH>; | ||
319 | clocks = <&clks VF610_CLK_USBPHY1>; | ||
320 | fsl,anatop = <&anatop>; | ||
321 | }; | ||
322 | |||
323 | i2c0: i2c@40066000 { | ||
324 | #address-cells = <1>; | ||
325 | #size-cells = <0>; | ||
326 | compatible = "fsl,vf610-i2c"; | ||
327 | reg = <0x40066000 0x1000>; | ||
328 | interrupts =<0 71 IRQ_TYPE_LEVEL_HIGH>; | ||
329 | clocks = <&clks VF610_CLK_I2C0>; | ||
330 | clock-names = "ipg"; | ||
331 | dmas = <&edma0 0 50>, | ||
332 | <&edma0 0 51>; | ||
333 | dma-names = "rx","tx"; | ||
334 | status = "disabled"; | ||
335 | }; | ||
336 | |||
337 | clks: ccm@4006b000 { | ||
338 | compatible = "fsl,vf610-ccm"; | ||
339 | reg = <0x4006b000 0x1000>; | ||
340 | #clock-cells = <1>; | ||
341 | }; | ||
342 | |||
343 | usbdev0: usb@40034000 { | ||
344 | compatible = "fsl,vf610-usb", "fsl,imx27-usb"; | ||
345 | reg = <0x40034000 0x800>; | ||
346 | interrupts = <0 75 IRQ_TYPE_LEVEL_HIGH>; | ||
347 | clocks = <&clks VF610_CLK_USBC0>; | ||
348 | fsl,usbphy = <&usbphy0>; | ||
349 | fsl,usbmisc = <&usbmisc0 0>; | ||
350 | dr_mode = "peripheral"; | ||
351 | status = "disabled"; | ||
352 | }; | ||
353 | |||
354 | usbmisc0: usb@40034800 { | ||
355 | #index-cells = <1>; | ||
356 | compatible = "fsl,vf610-usbmisc"; | ||
357 | reg = <0x40034800 0x200>; | ||
358 | clocks = <&clks VF610_CLK_USBC0>; | ||
359 | }; | ||
360 | }; | ||
361 | |||
362 | aips1: aips-bus@40080000 { | ||
363 | compatible = "fsl,aips-bus", "simple-bus"; | ||
364 | #address-cells = <1>; | ||
365 | #size-cells = <1>; | ||
366 | reg = <0x40080000 0x80000>; | ||
367 | ranges; | ||
368 | |||
369 | edma1: dma-controller@40098000 { | ||
370 | #dma-cells = <2>; | ||
371 | compatible = "fsl,vf610-edma"; | ||
372 | reg = <0x40098000 0x2000>, | ||
373 | <0x400a1000 0x1000>, | ||
374 | <0x400a2000 0x1000>; | ||
375 | interrupts = <0 10 IRQ_TYPE_LEVEL_HIGH>, | ||
376 | <0 11 IRQ_TYPE_LEVEL_HIGH>; | ||
377 | interrupt-names = "edma-tx", "edma-err"; | ||
378 | dma-channels = <32>; | ||
379 | clock-names = "dmamux0", "dmamux1"; | ||
380 | clocks = <&clks VF610_CLK_DMAMUX2>, | ||
381 | <&clks VF610_CLK_DMAMUX3>; | ||
382 | }; | ||
383 | |||
384 | uart4: serial@400a9000 { | ||
385 | compatible = "fsl,vf610-lpuart"; | ||
386 | reg = <0x400a9000 0x1000>; | ||
387 | interrupts = <0 65 IRQ_TYPE_LEVEL_HIGH>; | ||
388 | clocks = <&clks VF610_CLK_UART4>; | ||
389 | clock-names = "ipg"; | ||
390 | status = "disabled"; | ||
391 | }; | ||
392 | |||
393 | uart5: serial@400aa000 { | ||
394 | compatible = "fsl,vf610-lpuart"; | ||
395 | reg = <0x400aa000 0x1000>; | ||
396 | interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>; | ||
397 | clocks = <&clks VF610_CLK_UART5>; | ||
398 | clock-names = "ipg"; | ||
399 | status = "disabled"; | ||
400 | }; | ||
401 | |||
402 | adc1: adc@400bb000 { | ||
403 | compatible = "fsl,vf610-adc"; | ||
404 | reg = <0x400bb000 0x1000>; | ||
405 | interrupts = <0 54 0x04>; | ||
406 | clocks = <&clks VF610_CLK_ADC1>; | ||
407 | clock-names = "adc"; | ||
408 | status = "disabled"; | ||
409 | }; | ||
410 | |||
411 | esdhc1: esdhc@400b2000 { | ||
412 | compatible = "fsl,imx53-esdhc"; | ||
413 | reg = <0x400b2000 0x1000>; | ||
414 | interrupts = <0 28 0x04>; | ||
415 | clocks = <&clks VF610_CLK_IPG_BUS>, | ||
416 | <&clks VF610_CLK_PLATFORM_BUS>, | ||
417 | <&clks VF610_CLK_ESDHC1>; | ||
418 | clock-names = "ipg", "ahb", "per"; | ||
419 | status = "disabled"; | ||
420 | }; | ||
421 | |||
422 | usbh1: usb@400b4000 { | ||
423 | compatible = "fsl,vf610-usb", "fsl,imx27-usb"; | ||
424 | reg = <0x400b4000 0x800>; | ||
425 | interrupts = <0 76 IRQ_TYPE_LEVEL_HIGH>; | ||
426 | clocks = <&clks VF610_CLK_USBC1>; | ||
427 | fsl,usbphy = <&usbphy1>; | ||
428 | fsl,usbmisc = <&usbmisc1 0>; | ||
429 | dr_mode = "host"; | ||
430 | status = "disabled"; | ||
431 | }; | ||
432 | |||
433 | usbmisc1: usb@400b4800 { | ||
434 | #index-cells = <1>; | ||
435 | compatible = "fsl,vf610-usbmisc"; | ||
436 | reg = <0x400b4800 0x200>; | ||
437 | clocks = <&clks VF610_CLK_USBC1>; | ||
438 | }; | ||
439 | |||
440 | ftm: ftm@400b8000 { | ||
441 | compatible = "fsl,ftm-timer"; | ||
442 | reg = <0x400b8000 0x1000 0x400b9000 0x1000>; | ||
443 | interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>; | ||
444 | clock-names = "ftm-evt", "ftm-src", | ||
445 | "ftm-evt-counter-en", "ftm-src-counter-en"; | ||
446 | clocks = <&clks VF610_CLK_FTM2>, | ||
447 | <&clks VF610_CLK_FTM3>, | ||
448 | <&clks VF610_CLK_FTM2_EXT_FIX_EN>, | ||
449 | <&clks VF610_CLK_FTM3_EXT_FIX_EN>; | ||
450 | status = "disabled"; | ||
451 | }; | ||
452 | |||
453 | fec0: ethernet@400d0000 { | ||
454 | compatible = "fsl,mvf600-fec"; | ||
455 | reg = <0x400d0000 0x1000>; | ||
456 | interrupts = <0 78 IRQ_TYPE_LEVEL_HIGH>; | ||
457 | clocks = <&clks VF610_CLK_ENET0>, | ||
458 | <&clks VF610_CLK_ENET0>, | ||
459 | <&clks VF610_CLK_ENET>; | ||
460 | clock-names = "ipg", "ahb", "ptp"; | ||
461 | status = "disabled"; | ||
462 | }; | ||
463 | |||
464 | fec1: ethernet@400d1000 { | ||
465 | compatible = "fsl,mvf600-fec"; | ||
466 | reg = <0x400d1000 0x1000>; | ||
467 | interrupts = <0 79 IRQ_TYPE_LEVEL_HIGH>; | ||
468 | clocks = <&clks VF610_CLK_ENET1>, | ||
469 | <&clks VF610_CLK_ENET1>, | ||
470 | <&clks VF610_CLK_ENET>; | ||
471 | clock-names = "ipg", "ahb", "ptp"; | ||
472 | status = "disabled"; | ||
473 | }; | ||
474 | |||
475 | can1: flexcan@400d4000 { | ||
476 | compatible = "fsl,vf610-flexcan"; | ||
477 | reg = <0x400d4000 0x4000>; | ||
478 | interrupts = <0 59 IRQ_TYPE_LEVEL_HIGH>; | ||
479 | clocks = <&clks VF610_CLK_FLEXCAN1>, | ||
480 | <&clks VF610_CLK_FLEXCAN1>; | ||
481 | clock-names = "ipg", "per"; | ||
482 | status = "disabled"; | ||
483 | }; | ||
484 | 15 | ||
485 | }; | 16 | &aips0 { |
17 | L2: l2-cache@40006000 { | ||
18 | compatible = "arm,pl310-cache"; | ||
19 | reg = <0x40006000 0x1000>; | ||
20 | cache-unified; | ||
21 | cache-level = <2>; | ||
22 | arm,data-latency = <1 1 1>; | ||
23 | arm,tag-latency = <2 2 2>; | ||
486 | }; | 24 | }; |
487 | }; | 25 | }; |
diff --git a/arch/arm/boot/dts/vfxxx.dtsi b/arch/arm/boot/dts/vfxxx.dtsi new file mode 100644 index 000000000000..505969ae8093 --- /dev/null +++ b/arch/arm/boot/dts/vfxxx.dtsi | |||
@@ -0,0 +1,437 @@ | |||
1 | /* | ||
2 | * Copyright 2013 Freescale Semiconductor, Inc. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | */ | ||
9 | |||
10 | #include "vf610-pinfunc.h" | ||
11 | #include <dt-bindings/clock/vf610-clock.h> | ||
12 | #include <dt-bindings/interrupt-controller/irq.h> | ||
13 | #include <dt-bindings/gpio/gpio.h> | ||
14 | |||
15 | / { | ||
16 | aliases { | ||
17 | can0 = &can0; | ||
18 | can1 = &can1; | ||
19 | serial0 = &uart0; | ||
20 | serial1 = &uart1; | ||
21 | serial2 = &uart2; | ||
22 | serial3 = &uart3; | ||
23 | serial4 = &uart4; | ||
24 | serial5 = &uart5; | ||
25 | gpio0 = &gpio1; | ||
26 | gpio1 = &gpio2; | ||
27 | gpio2 = &gpio3; | ||
28 | gpio3 = &gpio4; | ||
29 | gpio4 = &gpio5; | ||
30 | usbphy0 = &usbphy0; | ||
31 | usbphy1 = &usbphy1; | ||
32 | }; | ||
33 | |||
34 | fxosc: fxosc { | ||
35 | compatible = "fixed-clock"; | ||
36 | #clock-cells = <0>; | ||
37 | clock-frequency = <24000000>; | ||
38 | }; | ||
39 | |||
40 | sxosc: sxosc { | ||
41 | compatible = "fixed-clock"; | ||
42 | #clock-cells = <0>; | ||
43 | clock-frequency = <32768>; | ||
44 | }; | ||
45 | |||
46 | soc { | ||
47 | #address-cells = <1>; | ||
48 | #size-cells = <1>; | ||
49 | compatible = "simple-bus"; | ||
50 | ranges; | ||
51 | |||
52 | aips0: aips-bus@40000000 { | ||
53 | compatible = "fsl,aips-bus", "simple-bus"; | ||
54 | #address-cells = <1>; | ||
55 | #size-cells = <1>; | ||
56 | ranges; | ||
57 | |||
58 | edma0: dma-controller@40018000 { | ||
59 | #dma-cells = <2>; | ||
60 | compatible = "fsl,vf610-edma"; | ||
61 | reg = <0x40018000 0x2000>, | ||
62 | <0x40024000 0x1000>, | ||
63 | <0x40025000 0x1000>; | ||
64 | dma-channels = <32>; | ||
65 | clock-names = "dmamux0", "dmamux1"; | ||
66 | clocks = <&clks VF610_CLK_DMAMUX0>, | ||
67 | <&clks VF610_CLK_DMAMUX1>; | ||
68 | status = "disabled"; | ||
69 | }; | ||
70 | |||
71 | can0: flexcan@40020000 { | ||
72 | compatible = "fsl,vf610-flexcan"; | ||
73 | reg = <0x40020000 0x4000>; | ||
74 | clocks = <&clks VF610_CLK_FLEXCAN0>, | ||
75 | <&clks VF610_CLK_FLEXCAN0>; | ||
76 | clock-names = "ipg", "per"; | ||
77 | status = "disabled"; | ||
78 | }; | ||
79 | |||
80 | uart0: serial@40027000 { | ||
81 | compatible = "fsl,vf610-lpuart"; | ||
82 | reg = <0x40027000 0x1000>; | ||
83 | clocks = <&clks VF610_CLK_UART0>; | ||
84 | clock-names = "ipg"; | ||
85 | dmas = <&edma0 0 2>, | ||
86 | <&edma0 0 3>; | ||
87 | dma-names = "rx","tx"; | ||
88 | status = "disabled"; | ||
89 | }; | ||
90 | |||
91 | uart1: serial@40028000 { | ||
92 | compatible = "fsl,vf610-lpuart"; | ||
93 | reg = <0x40028000 0x1000>; | ||
94 | clocks = <&clks VF610_CLK_UART1>; | ||
95 | clock-names = "ipg"; | ||
96 | dmas = <&edma0 0 4>, | ||
97 | <&edma0 0 5>; | ||
98 | dma-names = "rx","tx"; | ||
99 | status = "disabled"; | ||
100 | }; | ||
101 | |||
102 | uart2: serial@40029000 { | ||
103 | compatible = "fsl,vf610-lpuart"; | ||
104 | reg = <0x40029000 0x1000>; | ||
105 | clocks = <&clks VF610_CLK_UART2>; | ||
106 | clock-names = "ipg"; | ||
107 | dmas = <&edma0 0 6>, | ||
108 | <&edma0 0 7>; | ||
109 | dma-names = "rx","tx"; | ||
110 | status = "disabled"; | ||
111 | }; | ||
112 | |||
113 | uart3: serial@4002a000 { | ||
114 | compatible = "fsl,vf610-lpuart"; | ||
115 | reg = <0x4002a000 0x1000>; | ||
116 | clocks = <&clks VF610_CLK_UART3>; | ||
117 | clock-names = "ipg"; | ||
118 | dmas = <&edma0 0 8>, | ||
119 | <&edma0 0 9>; | ||
120 | dma-names = "rx","tx"; | ||
121 | status = "disabled"; | ||
122 | }; | ||
123 | |||
124 | dspi0: dspi0@4002c000 { | ||
125 | #address-cells = <1>; | ||
126 | #size-cells = <0>; | ||
127 | compatible = "fsl,vf610-dspi"; | ||
128 | reg = <0x4002c000 0x1000>; | ||
129 | clocks = <&clks VF610_CLK_DSPI0>; | ||
130 | clock-names = "dspi"; | ||
131 | spi-num-chipselects = <5>; | ||
132 | status = "disabled"; | ||
133 | }; | ||
134 | |||
135 | sai2: sai@40031000 { | ||
136 | compatible = "fsl,vf610-sai"; | ||
137 | reg = <0x40031000 0x1000>; | ||
138 | clocks = <&clks VF610_CLK_SAI2>; | ||
139 | clock-names = "sai"; | ||
140 | dma-names = "tx", "rx"; | ||
141 | dmas = <&edma0 0 21>, | ||
142 | <&edma0 0 20>; | ||
143 | status = "disabled"; | ||
144 | }; | ||
145 | |||
146 | pit: pit@40037000 { | ||
147 | compatible = "fsl,vf610-pit"; | ||
148 | reg = <0x40037000 0x1000>; | ||
149 | clocks = <&clks VF610_CLK_PIT>; | ||
150 | clock-names = "pit"; | ||
151 | }; | ||
152 | |||
153 | pwm0: pwm@40038000 { | ||
154 | compatible = "fsl,vf610-ftm-pwm"; | ||
155 | #pwm-cells = <3>; | ||
156 | reg = <0x40038000 0x1000>; | ||
157 | clock-names = "ftm_sys", "ftm_ext", | ||
158 | "ftm_fix", "ftm_cnt_clk_en"; | ||
159 | clocks = <&clks VF610_CLK_FTM0>, | ||
160 | <&clks VF610_CLK_FTM0_EXT_SEL>, | ||
161 | <&clks VF610_CLK_FTM0_FIX_SEL>, | ||
162 | <&clks VF610_CLK_FTM0_EXT_FIX_EN>; | ||
163 | status = "disabled"; | ||
164 | }; | ||
165 | |||
166 | pwm1: pwm@40039000 { | ||
167 | compatible = "fsl,vf610-ftm-pwm"; | ||
168 | #pwm-cells = <3>; | ||
169 | reg = <0x40039000 0x1000>; | ||
170 | clock-names = "ftm_sys", "ftm_ext", | ||
171 | "ftm_fix", "ftm_cnt_clk_en"; | ||
172 | clocks = <&clks VF610_CLK_FTM1>, | ||
173 | <&clks VF610_CLK_FTM1_EXT_SEL>, | ||
174 | <&clks VF610_CLK_FTM1_FIX_SEL>, | ||
175 | <&clks VF610_CLK_FTM1_EXT_FIX_EN>; | ||
176 | status = "disabled"; | ||
177 | }; | ||
178 | |||
179 | adc0: adc@4003b000 { | ||
180 | compatible = "fsl,vf610-adc"; | ||
181 | reg = <0x4003b000 0x1000>; | ||
182 | clocks = <&clks VF610_CLK_ADC0>; | ||
183 | clock-names = "adc"; | ||
184 | status = "disabled"; | ||
185 | }; | ||
186 | |||
187 | wdog@4003e000 { | ||
188 | compatible = "fsl,vf610-wdt", "fsl,imx21-wdt"; | ||
189 | reg = <0x4003e000 0x1000>; | ||
190 | clocks = <&clks VF610_CLK_WDT>; | ||
191 | clock-names = "wdog"; | ||
192 | status = "disabled"; | ||
193 | }; | ||
194 | |||
195 | qspi0: quadspi@40044000 { | ||
196 | #address-cells = <1>; | ||
197 | #size-cells = <0>; | ||
198 | compatible = "fsl,vf610-qspi"; | ||
199 | reg = <0x40044000 0x1000>; | ||
200 | clocks = <&clks VF610_CLK_QSPI0_EN>, | ||
201 | <&clks VF610_CLK_QSPI0>; | ||
202 | clock-names = "qspi_en", "qspi"; | ||
203 | status = "disabled"; | ||
204 | }; | ||
205 | |||
206 | iomuxc: iomuxc@40048000 { | ||
207 | compatible = "fsl,vf610-iomuxc"; | ||
208 | reg = <0x40048000 0x1000>; | ||
209 | #gpio-range-cells = <3>; | ||
210 | }; | ||
211 | |||
212 | gpio1: gpio@40049000 { | ||
213 | compatible = "fsl,vf610-gpio"; | ||
214 | reg = <0x40049000 0x1000 0x400ff000 0x40>; | ||
215 | gpio-controller; | ||
216 | #gpio-cells = <2>; | ||
217 | interrupt-controller; | ||
218 | #interrupt-cells = <2>; | ||
219 | gpio-ranges = <&iomuxc 0 0 32>; | ||
220 | }; | ||
221 | |||
222 | gpio2: gpio@4004a000 { | ||
223 | compatible = "fsl,vf610-gpio"; | ||
224 | reg = <0x4004a000 0x1000 0x400ff040 0x40>; | ||
225 | gpio-controller; | ||
226 | #gpio-cells = <2>; | ||
227 | interrupt-controller; | ||
228 | #interrupt-cells = <2>; | ||
229 | gpio-ranges = <&iomuxc 0 32 32>; | ||
230 | }; | ||
231 | |||
232 | gpio3: gpio@4004b000 { | ||
233 | compatible = "fsl,vf610-gpio"; | ||
234 | reg = <0x4004b000 0x1000 0x400ff080 0x40>; | ||
235 | gpio-controller; | ||
236 | #gpio-cells = <2>; | ||
237 | interrupt-controller; | ||
238 | #interrupt-cells = <2>; | ||
239 | gpio-ranges = <&iomuxc 0 64 32>; | ||
240 | }; | ||
241 | |||
242 | gpio4: gpio@4004c000 { | ||
243 | compatible = "fsl,vf610-gpio"; | ||
244 | reg = <0x4004c000 0x1000 0x400ff0c0 0x40>; | ||
245 | gpio-controller; | ||
246 | #gpio-cells = <2>; | ||
247 | interrupt-controller; | ||
248 | #interrupt-cells = <2>; | ||
249 | gpio-ranges = <&iomuxc 0 96 32>; | ||
250 | }; | ||
251 | |||
252 | gpio5: gpio@4004d000 { | ||
253 | compatible = "fsl,vf610-gpio"; | ||
254 | reg = <0x4004d000 0x1000 0x400ff100 0x40>; | ||
255 | gpio-controller; | ||
256 | #gpio-cells = <2>; | ||
257 | interrupt-controller; | ||
258 | #interrupt-cells = <2>; | ||
259 | gpio-ranges = <&iomuxc 0 128 7>; | ||
260 | }; | ||
261 | |||
262 | anatop: anatop@40050000 { | ||
263 | compatible = "fsl,vf610-anatop", "syscon"; | ||
264 | reg = <0x40050000 0x400>; | ||
265 | }; | ||
266 | |||
267 | usbphy0: usbphy@40050800 { | ||
268 | compatible = "fsl,vf610-usbphy"; | ||
269 | reg = <0x40050800 0x400>; | ||
270 | clocks = <&clks VF610_CLK_USBPHY0>; | ||
271 | fsl,anatop = <&anatop>; | ||
272 | status = "disabled"; | ||
273 | }; | ||
274 | |||
275 | usbphy1: usbphy@40050c00 { | ||
276 | compatible = "fsl,vf610-usbphy"; | ||
277 | reg = <0x40050c00 0x400>; | ||
278 | clocks = <&clks VF610_CLK_USBPHY1>; | ||
279 | fsl,anatop = <&anatop>; | ||
280 | status = "disabled"; | ||
281 | }; | ||
282 | |||
283 | i2c0: i2c@40066000 { | ||
284 | #address-cells = <1>; | ||
285 | #size-cells = <0>; | ||
286 | compatible = "fsl,vf610-i2c"; | ||
287 | reg = <0x40066000 0x1000>; | ||
288 | clocks = <&clks VF610_CLK_I2C0>; | ||
289 | clock-names = "ipg"; | ||
290 | dmas = <&edma0 0 50>, | ||
291 | <&edma0 0 51>; | ||
292 | dma-names = "rx","tx"; | ||
293 | status = "disabled"; | ||
294 | }; | ||
295 | |||
296 | clks: ccm@4006b000 { | ||
297 | compatible = "fsl,vf610-ccm"; | ||
298 | reg = <0x4006b000 0x1000>; | ||
299 | clocks = <&sxosc>, <&fxosc>; | ||
300 | clock-names = "sxosc", "fxosc"; | ||
301 | #clock-cells = <1>; | ||
302 | }; | ||
303 | |||
304 | usbdev0: usb@40034000 { | ||
305 | compatible = "fsl,vf610-usb", "fsl,imx27-usb"; | ||
306 | reg = <0x40034000 0x800>; | ||
307 | clocks = <&clks VF610_CLK_USBC0>; | ||
308 | fsl,usbphy = <&usbphy0>; | ||
309 | fsl,usbmisc = <&usbmisc0 0>; | ||
310 | dr_mode = "peripheral"; | ||
311 | status = "disabled"; | ||
312 | }; | ||
313 | |||
314 | usbmisc0: usb@40034800 { | ||
315 | #index-cells = <1>; | ||
316 | compatible = "fsl,vf610-usbmisc"; | ||
317 | reg = <0x40034800 0x200>; | ||
318 | clocks = <&clks VF610_CLK_USBC0>; | ||
319 | status = "disabled"; | ||
320 | }; | ||
321 | }; | ||
322 | |||
323 | aips1: aips-bus@40080000 { | ||
324 | compatible = "fsl,aips-bus", "simple-bus"; | ||
325 | #address-cells = <1>; | ||
326 | #size-cells = <1>; | ||
327 | ranges; | ||
328 | |||
329 | edma1: dma-controller@40098000 { | ||
330 | #dma-cells = <2>; | ||
331 | compatible = "fsl,vf610-edma"; | ||
332 | reg = <0x40098000 0x2000>, | ||
333 | <0x400a1000 0x1000>, | ||
334 | <0x400a2000 0x1000>; | ||
335 | dma-channels = <32>; | ||
336 | clock-names = "dmamux0", "dmamux1"; | ||
337 | clocks = <&clks VF610_CLK_DMAMUX2>, | ||
338 | <&clks VF610_CLK_DMAMUX3>; | ||
339 | status = "disabled"; | ||
340 | }; | ||
341 | |||
342 | uart4: serial@400a9000 { | ||
343 | compatible = "fsl,vf610-lpuart"; | ||
344 | reg = <0x400a9000 0x1000>; | ||
345 | clocks = <&clks VF610_CLK_UART4>; | ||
346 | clock-names = "ipg"; | ||
347 | status = "disabled"; | ||
348 | }; | ||
349 | |||
350 | uart5: serial@400aa000 { | ||
351 | compatible = "fsl,vf610-lpuart"; | ||
352 | reg = <0x400aa000 0x1000>; | ||
353 | clocks = <&clks VF610_CLK_UART5>; | ||
354 | clock-names = "ipg"; | ||
355 | status = "disabled"; | ||
356 | }; | ||
357 | |||
358 | adc1: adc@400bb000 { | ||
359 | compatible = "fsl,vf610-adc"; | ||
360 | reg = <0x400bb000 0x1000>; | ||
361 | clocks = <&clks VF610_CLK_ADC1>; | ||
362 | clock-names = "adc"; | ||
363 | status = "disabled"; | ||
364 | }; | ||
365 | |||
366 | esdhc1: esdhc@400b2000 { | ||
367 | compatible = "fsl,imx53-esdhc"; | ||
368 | reg = <0x400b2000 0x1000>; | ||
369 | clocks = <&clks VF610_CLK_IPG_BUS>, | ||
370 | <&clks VF610_CLK_PLATFORM_BUS>, | ||
371 | <&clks VF610_CLK_ESDHC1>; | ||
372 | clock-names = "ipg", "ahb", "per"; | ||
373 | status = "disabled"; | ||
374 | }; | ||
375 | |||
376 | usbh1: usb@400b4000 { | ||
377 | compatible = "fsl,vf610-usb", "fsl,imx27-usb"; | ||
378 | reg = <0x400b4000 0x800>; | ||
379 | clocks = <&clks VF610_CLK_USBC1>; | ||
380 | fsl,usbphy = <&usbphy1>; | ||
381 | fsl,usbmisc = <&usbmisc1 0>; | ||
382 | dr_mode = "host"; | ||
383 | status = "disabled"; | ||
384 | }; | ||
385 | |||
386 | usbmisc1: usb@400b4800 { | ||
387 | #index-cells = <1>; | ||
388 | compatible = "fsl,vf610-usbmisc"; | ||
389 | reg = <0x400b4800 0x200>; | ||
390 | clocks = <&clks VF610_CLK_USBC1>; | ||
391 | status = "disabled"; | ||
392 | }; | ||
393 | |||
394 | ftm: ftm@400b8000 { | ||
395 | compatible = "fsl,ftm-timer"; | ||
396 | reg = <0x400b8000 0x1000 0x400b9000 0x1000>; | ||
397 | clock-names = "ftm-evt", "ftm-src", | ||
398 | "ftm-evt-counter-en", "ftm-src-counter-en"; | ||
399 | clocks = <&clks VF610_CLK_FTM2>, | ||
400 | <&clks VF610_CLK_FTM3>, | ||
401 | <&clks VF610_CLK_FTM2_EXT_FIX_EN>, | ||
402 | <&clks VF610_CLK_FTM3_EXT_FIX_EN>; | ||
403 | status = "disabled"; | ||
404 | }; | ||
405 | |||
406 | fec0: ethernet@400d0000 { | ||
407 | compatible = "fsl,mvf600-fec"; | ||
408 | reg = <0x400d0000 0x1000>; | ||
409 | clocks = <&clks VF610_CLK_ENET0>, | ||
410 | <&clks VF610_CLK_ENET0>, | ||
411 | <&clks VF610_CLK_ENET>; | ||
412 | clock-names = "ipg", "ahb", "ptp"; | ||
413 | status = "disabled"; | ||
414 | }; | ||
415 | |||
416 | fec1: ethernet@400d1000 { | ||
417 | compatible = "fsl,mvf600-fec"; | ||
418 | reg = <0x400d1000 0x1000>; | ||
419 | clocks = <&clks VF610_CLK_ENET1>, | ||
420 | <&clks VF610_CLK_ENET1>, | ||
421 | <&clks VF610_CLK_ENET>; | ||
422 | clock-names = "ipg", "ahb", "ptp"; | ||
423 | status = "disabled"; | ||
424 | }; | ||
425 | |||
426 | can1: flexcan@400d4000 { | ||
427 | compatible = "fsl,vf610-flexcan"; | ||
428 | reg = <0x400d4000 0x4000>; | ||
429 | clocks = <&clks VF610_CLK_FLEXCAN1>, | ||
430 | <&clks VF610_CLK_FLEXCAN1>; | ||
431 | clock-names = "ipg", "per"; | ||
432 | status = "disabled"; | ||
433 | }; | ||
434 | |||
435 | }; | ||
436 | }; | ||
437 | }; | ||
diff --git a/arch/arm/boot/dts/zynq-7000.dtsi b/arch/arm/boot/dts/zynq-7000.dtsi index ce2ef5bec4f2..ee3e5d675b05 100644 --- a/arch/arm/boot/dts/zynq-7000.dtsi +++ b/arch/arm/boot/dts/zynq-7000.dtsi | |||
@@ -243,7 +243,6 @@ | |||
243 | clkc: clkc@100 { | 243 | clkc: clkc@100 { |
244 | #clock-cells = <1>; | 244 | #clock-cells = <1>; |
245 | compatible = "xlnx,ps7-clkc"; | 245 | compatible = "xlnx,ps7-clkc"; |
246 | ps-clk-frequency = <33333333>; | ||
247 | fclk-enable = <0>; | 246 | fclk-enable = <0>; |
248 | clock-output-names = "armpll", "ddrpll", "iopll", "cpu_6or4x", | 247 | clock-output-names = "armpll", "ddrpll", "iopll", "cpu_6or4x", |
249 | "cpu_3or2x", "cpu_2x", "cpu_1x", "ddr2x", "ddr3x", | 248 | "cpu_3or2x", "cpu_2x", "cpu_1x", "ddr2x", "ddr3x", |
diff --git a/arch/arm/boot/dts/zynq-parallella.dts b/arch/arm/boot/dts/zynq-parallella.dts index 0429bbd89fba..ab1dc0a56cdd 100644 --- a/arch/arm/boot/dts/zynq-parallella.dts +++ b/arch/arm/boot/dts/zynq-parallella.dts | |||
@@ -36,6 +36,7 @@ | |||
36 | 36 | ||
37 | &clkc { | 37 | &clkc { |
38 | fclk-enable = <0xf>; | 38 | fclk-enable = <0xf>; |
39 | ps-clk-frequency = <33333333>; | ||
39 | }; | 40 | }; |
40 | 41 | ||
41 | &gem0 { | 42 | &gem0 { |
diff --git a/arch/arm/boot/dts/zynq-zc702.dts b/arch/arm/boot/dts/zynq-zc702.dts index 94e2cda6f9b6..280f02dd4ddc 100644 --- a/arch/arm/boot/dts/zynq-zc702.dts +++ b/arch/arm/boot/dts/zynq-zc702.dts | |||
@@ -42,6 +42,10 @@ | |||
42 | status = "okay"; | 42 | status = "okay"; |
43 | }; | 43 | }; |
44 | 44 | ||
45 | &clkc { | ||
46 | ps-clk-frequency = <33333333>; | ||
47 | }; | ||
48 | |||
45 | &gem0 { | 49 | &gem0 { |
46 | status = "okay"; | 50 | status = "okay"; |
47 | phy-mode = "rgmii-id"; | 51 | phy-mode = "rgmii-id"; |
diff --git a/arch/arm/boot/dts/zynq-zc706.dts b/arch/arm/boot/dts/zynq-zc706.dts index a8bbdfbc7093..34f7812d2ee8 100644 --- a/arch/arm/boot/dts/zynq-zc706.dts +++ b/arch/arm/boot/dts/zynq-zc706.dts | |||
@@ -29,6 +29,10 @@ | |||
29 | 29 | ||
30 | }; | 30 | }; |
31 | 31 | ||
32 | &clkc { | ||
33 | ps-clk-frequency = <33333333>; | ||
34 | }; | ||
35 | |||
32 | &gem0 { | 36 | &gem0 { |
33 | status = "okay"; | 37 | status = "okay"; |
34 | phy-mode = "rgmii-id"; | 38 | phy-mode = "rgmii-id"; |
diff --git a/arch/arm/boot/dts/zynq-zed.dts b/arch/arm/boot/dts/zynq-zed.dts index 697779a353ed..1c7cc990b47a 100644 --- a/arch/arm/boot/dts/zynq-zed.dts +++ b/arch/arm/boot/dts/zynq-zed.dts | |||
@@ -29,6 +29,10 @@ | |||
29 | 29 | ||
30 | }; | 30 | }; |
31 | 31 | ||
32 | &clkc { | ||
33 | ps-clk-frequency = <33333333>; | ||
34 | }; | ||
35 | |||
32 | &gem0 { | 36 | &gem0 { |
33 | status = "okay"; | 37 | status = "okay"; |
34 | phy-mode = "rgmii-id"; | 38 | phy-mode = "rgmii-id"; |
diff --git a/arch/arm/boot/dts/zynq-zybo.dts b/arch/arm/boot/dts/zynq-zybo.dts new file mode 100644 index 000000000000..a9a12ce5023b --- /dev/null +++ b/arch/arm/boot/dts/zynq-zybo.dts | |||
@@ -0,0 +1,52 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 - 2014 Xilinx | ||
3 | * Copyright (C) 2012 National Instruments Corp. | ||
4 | * | ||
5 | * This software is licensed under the terms of the GNU General Public | ||
6 | * License version 2, as published by the Free Software Foundation, and | ||
7 | * may be copied, distributed, and modified under those terms. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | */ | ||
14 | /dts-v1/; | ||
15 | /include/ "zynq-7000.dtsi" | ||
16 | |||
17 | / { | ||
18 | model = "Zynq ZYBO Development Board"; | ||
19 | compatible = "digilent,zynq-zybo", "xlnx,zynq-7000"; | ||
20 | |||
21 | memory { | ||
22 | device_type = "memory"; | ||
23 | reg = <0x0 0x20000000>; | ||
24 | }; | ||
25 | |||
26 | chosen { | ||
27 | bootargs = "console=ttyPS0,115200 earlyprintk"; | ||
28 | }; | ||
29 | |||
30 | }; | ||
31 | |||
32 | &clkc { | ||
33 | ps-clk-frequency = <50000000>; | ||
34 | }; | ||
35 | |||
36 | &gem0 { | ||
37 | status = "okay"; | ||
38 | phy-mode = "rgmii-id"; | ||
39 | phy-handle = <ðernet_phy>; | ||
40 | |||
41 | ethernet_phy: ethernet-phy@0 { | ||
42 | reg = <0>; | ||
43 | }; | ||
44 | }; | ||
45 | |||
46 | &sdhci0 { | ||
47 | status = "okay"; | ||
48 | }; | ||
49 | |||
50 | &uart1 { | ||
51 | status = "okay"; | ||
52 | }; | ||
diff --git a/arch/arm/configs/nhk8815_defconfig b/arch/arm/configs/nhk8815_defconfig index 263ae3869e32..7d2ad30d9e70 100644 --- a/arch/arm/configs/nhk8815_defconfig +++ b/arch/arm/configs/nhk8815_defconfig | |||
@@ -20,7 +20,6 @@ CONFIG_PREEMPT=y | |||
20 | CONFIG_AEABI=y | 20 | CONFIG_AEABI=y |
21 | CONFIG_ZBOOT_ROM_TEXT=0x0 | 21 | CONFIG_ZBOOT_ROM_TEXT=0x0 |
22 | CONFIG_ZBOOT_ROM_BSS=0x0 | 22 | CONFIG_ZBOOT_ROM_BSS=0x0 |
23 | CONFIG_FPE_NWFPE=y | ||
24 | CONFIG_NET=y | 23 | CONFIG_NET=y |
25 | CONFIG_PACKET=y | 24 | CONFIG_PACKET=y |
26 | CONFIG_UNIX=y | 25 | CONFIG_UNIX=y |
@@ -57,14 +56,12 @@ CONFIG_MTD_NAND_FSMC=y | |||
57 | CONFIG_MTD_ONENAND=y | 56 | CONFIG_MTD_ONENAND=y |
58 | CONFIG_MTD_ONENAND_VERIFY_WRITE=y | 57 | CONFIG_MTD_ONENAND_VERIFY_WRITE=y |
59 | CONFIG_MTD_ONENAND_GENERIC=y | 58 | CONFIG_MTD_ONENAND_GENERIC=y |
60 | CONFIG_PROC_DEVICETREE=y | ||
61 | CONFIG_BLK_DEV_LOOP=y | 59 | CONFIG_BLK_DEV_LOOP=y |
62 | CONFIG_BLK_DEV_CRYPTOLOOP=y | 60 | CONFIG_BLK_DEV_CRYPTOLOOP=y |
63 | CONFIG_BLK_DEV_RAM=y | 61 | CONFIG_BLK_DEV_RAM=y |
64 | CONFIG_SCSI=y | 62 | CONFIG_SCSI=y |
65 | CONFIG_BLK_DEV_SD=y | 63 | CONFIG_BLK_DEV_SD=y |
66 | CONFIG_CHR_DEV_SG=y | 64 | CONFIG_CHR_DEV_SG=y |
67 | CONFIG_SCSI_MULTI_LUN=y | ||
68 | CONFIG_SCSI_CONSTANTS=y | 65 | CONFIG_SCSI_CONSTANTS=y |
69 | CONFIG_SCSI_LOGGING=y | 66 | CONFIG_SCSI_LOGGING=y |
70 | CONFIG_SCSI_SCAN_ASYNC=y | 67 | CONFIG_SCSI_SCAN_ASYNC=y |
@@ -83,21 +80,21 @@ CONFIG_PPP_SYNC_TTY=m | |||
83 | CONFIG_INPUT_EVDEV=y | 80 | CONFIG_INPUT_EVDEV=y |
84 | # CONFIG_KEYBOARD_ATKBD is not set | 81 | # CONFIG_KEYBOARD_ATKBD is not set |
85 | CONFIG_KEYBOARD_GPIO=y | 82 | CONFIG_KEYBOARD_GPIO=y |
83 | CONFIG_KEYBOARD_STMPE=y | ||
86 | # CONFIG_MOUSE_PS2 is not set | 84 | # CONFIG_MOUSE_PS2 is not set |
87 | # CONFIG_SERIO is not set | 85 | # CONFIG_SERIO is not set |
88 | # CONFIG_LEGACY_PTYS is not set | 86 | # CONFIG_LEGACY_PTYS is not set |
89 | CONFIG_SERIAL_AMBA_PL011=y | 87 | CONFIG_SERIAL_AMBA_PL011=y |
90 | CONFIG_SERIAL_AMBA_PL011_CONSOLE=y | 88 | CONFIG_SERIAL_AMBA_PL011_CONSOLE=y |
91 | CONFIG_HW_RANDOM=y | 89 | CONFIG_HW_RANDOM=y |
92 | CONFIG_HW_RANDOM_NOMADIK=y | ||
93 | CONFIG_I2C_CHARDEV=y | 90 | CONFIG_I2C_CHARDEV=y |
94 | CONFIG_I2C_GPIO=y | 91 | CONFIG_I2C_GPIO=y |
95 | CONFIG_I2C_NOMADIK=y | ||
96 | CONFIG_DEBUG_GPIO=y | 92 | CONFIG_DEBUG_GPIO=y |
93 | CONFIG_GPIO_STMPE=y | ||
97 | # CONFIG_HWMON is not set | 94 | # CONFIG_HWMON is not set |
95 | CONFIG_MFD_STMPE=y | ||
98 | CONFIG_REGULATOR=y | 96 | CONFIG_REGULATOR=y |
99 | CONFIG_MMC=y | 97 | CONFIG_MMC=y |
100 | CONFIG_MMC_UNSAFE_RESUME=y | ||
101 | # CONFIG_MMC_BLOCK_BOUNCE is not set | 98 | # CONFIG_MMC_BLOCK_BOUNCE is not set |
102 | CONFIG_MMC_ARMMMCI=y | 99 | CONFIG_MMC_ARMMMCI=y |
103 | CONFIG_NEW_LEDS=y | 100 | CONFIG_NEW_LEDS=y |
@@ -125,12 +122,12 @@ CONFIG_NLS_CODEPAGE_437=y | |||
125 | CONFIG_NLS_ASCII=y | 122 | CONFIG_NLS_ASCII=y |
126 | CONFIG_NLS_ISO8859_1=y | 123 | CONFIG_NLS_ISO8859_1=y |
127 | CONFIG_NLS_ISO8859_15=y | 124 | CONFIG_NLS_ISO8859_15=y |
125 | CONFIG_DEBUG_INFO=y | ||
128 | # CONFIG_ENABLE_MUST_CHECK is not set | 126 | # CONFIG_ENABLE_MUST_CHECK is not set |
129 | CONFIG_DEBUG_FS=y | 127 | CONFIG_DEBUG_FS=y |
130 | # CONFIG_SCHED_DEBUG is not set | 128 | # CONFIG_SCHED_DEBUG is not set |
131 | # CONFIG_DEBUG_PREEMPT is not set | 129 | # CONFIG_DEBUG_PREEMPT is not set |
132 | # CONFIG_DEBUG_BUGVERBOSE is not set | 130 | # CONFIG_DEBUG_BUGVERBOSE is not set |
133 | CONFIG_DEBUG_INFO=y | ||
134 | CONFIG_CRYPTO_MD5=y | 131 | CONFIG_CRYPTO_MD5=y |
135 | CONFIG_CRYPTO_SHA1=y | 132 | CONFIG_CRYPTO_SHA1=y |
136 | CONFIG_CRYPTO_DES=y | 133 | CONFIG_CRYPTO_DES=y |
diff --git a/arch/arm/mach-mediatek/mediatek.c b/arch/arm/mach-mediatek/mediatek.c index f2acf075350d..a9549005097e 100644 --- a/arch/arm/mach-mediatek/mediatek.c +++ b/arch/arm/mach-mediatek/mediatek.c | |||
@@ -19,6 +19,9 @@ | |||
19 | 19 | ||
20 | static const char * const mediatek_board_dt_compat[] = { | 20 | static const char * const mediatek_board_dt_compat[] = { |
21 | "mediatek,mt6589", | 21 | "mediatek,mt6589", |
22 | "mediatek,mt6592", | ||
23 | "mediatek,mt8127", | ||
24 | "mediatek,mt8135", | ||
22 | NULL, | 25 | NULL, |
23 | }; | 26 | }; |
24 | 27 | ||
diff --git a/arch/arm/mach-nomadik/cpu-8815.c b/arch/arm/mach-nomadik/cpu-8815.c index 9116ca476d7c..9bda46f1fab7 100644 --- a/arch/arm/mach-nomadik/cpu-8815.c +++ b/arch/arm/mach-nomadik/cpu-8815.c | |||
@@ -144,6 +144,7 @@ static int __init cpu8815_mmcsd_init(void) | |||
144 | device_initcall(cpu8815_mmcsd_init); | 144 | device_initcall(cpu8815_mmcsd_init); |
145 | 145 | ||
146 | static const char * cpu8815_board_compat[] = { | 146 | static const char * cpu8815_board_compat[] = { |
147 | "st,nomadik-nhk-15", | ||
147 | "calaosystems,usb-s8815", | 148 | "calaosystems,usb-s8815", |
148 | NULL, | 149 | NULL, |
149 | }; | 150 | }; |
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c index cec9d6c6442c..3d7eee1d3cfa 100644 --- a/arch/arm/mach-omap2/pdata-quirks.c +++ b/arch/arm/mach-omap2/pdata-quirks.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
14 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
15 | #include <linux/of_platform.h> | 15 | #include <linux/of_platform.h> |
16 | #include <linux/ti_wilink_st.h> | ||
16 | #include <linux/wl12xx.h> | 17 | #include <linux/wl12xx.h> |
17 | 18 | ||
18 | #include <linux/platform_data/pinctrl-single.h> | 19 | #include <linux/platform_data/pinctrl-single.h> |
@@ -130,17 +131,45 @@ static void __init omap3_sbc_t3730_legacy_init(void) | |||
130 | { | 131 | { |
131 | omap3_sbc_t3x_usb_hub_init(167, "sb-t35 usb hub"); | 132 | omap3_sbc_t3x_usb_hub_init(167, "sb-t35 usb hub"); |
132 | legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 136); | 133 | legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 136); |
133 | omap_ads7846_init(1, 57, 0, NULL); | ||
134 | } | 134 | } |
135 | 135 | ||
136 | static void __init omap3_sbc_t3530_legacy_init(void) | 136 | static void __init omap3_sbc_t3530_legacy_init(void) |
137 | { | 137 | { |
138 | omap3_sbc_t3x_usb_hub_init(167, "sb-t35 usb hub"); | 138 | omap3_sbc_t3x_usb_hub_init(167, "sb-t35 usb hub"); |
139 | omap_ads7846_init(1, 57, 0, NULL); | ||
140 | } | 139 | } |
141 | 140 | ||
142 | static void __init omap3_igep0020_legacy_init(void) | 141 | struct ti_st_plat_data wilink_pdata = { |
142 | .nshutdown_gpio = 137, | ||
143 | .dev_name = "/dev/ttyO1", | ||
144 | .flow_cntrl = 1, | ||
145 | .baud_rate = 300000, | ||
146 | }; | ||
147 | |||
148 | static struct platform_device wl18xx_device = { | ||
149 | .name = "kim", | ||
150 | .id = -1, | ||
151 | .dev = { | ||
152 | .platform_data = &wilink_pdata, | ||
153 | } | ||
154 | }; | ||
155 | |||
156 | static struct platform_device btwilink_device = { | ||
157 | .name = "btwilink", | ||
158 | .id = -1, | ||
159 | }; | ||
160 | |||
161 | static void __init omap3_igep0020_rev_f_legacy_init(void) | ||
162 | { | ||
163 | legacy_init_wl12xx(0, 0, 177); | ||
164 | platform_device_register(&wl18xx_device); | ||
165 | platform_device_register(&btwilink_device); | ||
166 | } | ||
167 | |||
168 | static void __init omap3_igep0030_rev_g_legacy_init(void) | ||
143 | { | 169 | { |
170 | legacy_init_wl12xx(0, 0, 136); | ||
171 | platform_device_register(&wl18xx_device); | ||
172 | platform_device_register(&btwilink_device); | ||
144 | } | 173 | } |
145 | 174 | ||
146 | static void __init omap3_evm_legacy_init(void) | 175 | static void __init omap3_evm_legacy_init(void) |
@@ -218,7 +247,6 @@ static void __init omap3_sbc_t3517_legacy_init(void) | |||
218 | hsmmc2_internal_input_clk(); | 247 | hsmmc2_internal_input_clk(); |
219 | omap3_sbc_t3517_wifi_init(); | 248 | omap3_sbc_t3517_wifi_init(); |
220 | legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 145); | 249 | legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 145); |
221 | omap_ads7846_init(1, 57, 0, NULL); | ||
222 | } | 250 | } |
223 | 251 | ||
224 | static void __init am3517_evm_legacy_init(void) | 252 | static void __init am3517_evm_legacy_init(void) |
@@ -390,7 +418,8 @@ static struct pdata_init pdata_quirks[] __initdata = { | |||
390 | { "nokia,omap3-n900", nokia_n900_legacy_init, }, | 418 | { "nokia,omap3-n900", nokia_n900_legacy_init, }, |
391 | { "nokia,omap3-n9", hsmmc2_internal_input_clk, }, | 419 | { "nokia,omap3-n9", hsmmc2_internal_input_clk, }, |
392 | { "nokia,omap3-n950", hsmmc2_internal_input_clk, }, | 420 | { "nokia,omap3-n950", hsmmc2_internal_input_clk, }, |
393 | { "isee,omap3-igep0020", omap3_igep0020_legacy_init, }, | 421 | { "isee,omap3-igep0020-rev-f", omap3_igep0020_rev_f_legacy_init, }, |
422 | { "isee,omap3-igep0030-rev-g", omap3_igep0030_rev_g_legacy_init, }, | ||
394 | { "ti,omap3-evm-37xx", omap3_evm_legacy_init, }, | 423 | { "ti,omap3-evm-37xx", omap3_evm_legacy_init, }, |
395 | { "ti,omap3-zoom3", omap3_zoom_legacy_init, }, | 424 | { "ti,omap3-zoom3", omap3_zoom_legacy_init, }, |
396 | { "ti,am3517-evm", am3517_evm_legacy_init, }, | 425 | { "ti,am3517-evm", am3517_evm_legacy_init, }, |
diff --git a/arch/arm/mach-realview/Kconfig b/arch/arm/mach-realview/Kconfig index 9db2029aa632..565925f37dc5 100644 --- a/arch/arm/mach-realview/Kconfig +++ b/arch/arm/mach-realview/Kconfig | |||
@@ -1,6 +1,19 @@ | |||
1 | menu "RealView platform type" | 1 | menu "RealView platform type" |
2 | depends on ARCH_REALVIEW | 2 | depends on ARCH_REALVIEW |
3 | 3 | ||
4 | config REALVIEW_DT | ||
5 | bool "Support RealView(R) Device Tree based boot" | ||
6 | select ARM_GIC | ||
7 | select MFD_SYSCON | ||
8 | select POWER_RESET | ||
9 | select POWER_RESET_VERSATILE | ||
10 | select POWER_SUPPLY | ||
11 | select SOC_REALVIEW | ||
12 | select USE_OF | ||
13 | help | ||
14 | Include support for booting the ARM(R) RealView(R) evaluation | ||
15 | boards using a device tree machine description. | ||
16 | |||
4 | config MACH_REALVIEW_EB | 17 | config MACH_REALVIEW_EB |
5 | bool "Support RealView(R) Emulation Baseboard" | 18 | bool "Support RealView(R) Emulation Baseboard" |
6 | select ARM_GIC | 19 | select ARM_GIC |
diff --git a/arch/arm/mach-realview/Makefile b/arch/arm/mach-realview/Makefile index 541fa4c109ef..e07fdf7ae8a7 100644 --- a/arch/arm/mach-realview/Makefile +++ b/arch/arm/mach-realview/Makefile | |||
@@ -3,6 +3,7 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y := core.o | 5 | obj-y := core.o |
6 | obj-$(CONFIG_REALVIEW_DT) += realview-dt.o | ||
6 | obj-$(CONFIG_MACH_REALVIEW_EB) += realview_eb.o | 7 | obj-$(CONFIG_MACH_REALVIEW_EB) += realview_eb.o |
7 | obj-$(CONFIG_MACH_REALVIEW_PB11MP) += realview_pb11mp.o | 8 | obj-$(CONFIG_MACH_REALVIEW_PB11MP) += realview_pb11mp.o |
8 | obj-$(CONFIG_MACH_REALVIEW_PB1176) += realview_pb1176.o | 9 | obj-$(CONFIG_MACH_REALVIEW_PB1176) += realview_pb1176.o |
diff --git a/arch/arm/mach-realview/realview-dt.c b/arch/arm/mach-realview/realview-dt.c new file mode 100644 index 000000000000..cc28b89dd48f --- /dev/null +++ b/arch/arm/mach-realview/realview-dt.c | |||
@@ -0,0 +1,32 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014 Linaro Ltd. | ||
3 | * | ||
4 | * Author: Linus Walleij <linus.walleij@linaro.org> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2, as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | #include <linux/of_platform.h> | ||
12 | #include <asm/mach/arch.h> | ||
13 | #include <asm/hardware/cache-l2x0.h> | ||
14 | #include "core.h" | ||
15 | |||
16 | static const char *realview_dt_platform_compat[] __initconst = { | ||
17 | "arm,realview-eb", | ||
18 | "arm,realview-pb1176", | ||
19 | "arm,realview-pb11mp", | ||
20 | "arm,realview-pba8", | ||
21 | "arm,realview-pbx", | ||
22 | NULL, | ||
23 | }; | ||
24 | |||
25 | DT_MACHINE_START(REALVIEW_DT, "ARM RealView Machine (Device Tree Support)") | ||
26 | #ifdef CONFIG_ZONE_DMA | ||
27 | .dma_zone_size = SZ_256M, | ||
28 | #endif | ||
29 | .dt_compat = realview_dt_platform_compat, | ||
30 | .l2c_aux_val = 0x0, | ||
31 | .l2c_aux_mask = ~0x0, | ||
32 | MACHINE_END | ||
diff --git a/arch/arm/mach-shmobile/board-ape6evm-reference.c b/arch/arm/mach-shmobile/board-ape6evm-reference.c index 004ed92ee598..3b68370b03a0 100644 --- a/arch/arm/mach-shmobile/board-ape6evm-reference.c +++ b/arch/arm/mach-shmobile/board-ape6evm-reference.c | |||
@@ -44,7 +44,6 @@ static void __init ape6evm_add_standard_devices(void) | |||
44 | clk_put(parent); | 44 | clk_put(parent); |
45 | clk_put(mp); | 45 | clk_put(mp); |
46 | 46 | ||
47 | r8a73a4_add_dt_devices(); | ||
48 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | 47 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
49 | } | 48 | } |
50 | 49 | ||
diff --git a/arch/arm/mach-shmobile/r8a73a4.h b/arch/arm/mach-shmobile/r8a73a4.h index 5fafd6fcedf7..70dcd847a86e 100644 --- a/arch/arm/mach-shmobile/r8a73a4.h +++ b/arch/arm/mach-shmobile/r8a73a4.h | |||
@@ -11,7 +11,6 @@ enum { | |||
11 | }; | 11 | }; |
12 | 12 | ||
13 | void r8a73a4_add_standard_devices(void); | 13 | void r8a73a4_add_standard_devices(void); |
14 | void r8a73a4_add_dt_devices(void); | ||
15 | void r8a73a4_clock_init(void); | 14 | void r8a73a4_clock_init(void); |
16 | void r8a73a4_pinmux_init(void); | 15 | void r8a73a4_pinmux_init(void); |
17 | 16 | ||
diff --git a/arch/arm/mach-shmobile/setup-r8a73a4.c b/arch/arm/mach-shmobile/setup-r8a73a4.c index b88b88a40a3c..c27682291cbf 100644 --- a/arch/arm/mach-shmobile/setup-r8a73a4.c +++ b/arch/arm/mach-shmobile/setup-r8a73a4.c | |||
@@ -176,18 +176,13 @@ static struct resource cmt1_resources[] = { | |||
176 | DEFINE_RES_IRQ(gic_spi(120)), | 176 | DEFINE_RES_IRQ(gic_spi(120)), |
177 | }; | 177 | }; |
178 | 178 | ||
179 | #define r8a7790_register_cmt(idx) \ | 179 | #define r8a73a4_register_cmt(idx) \ |
180 | platform_device_register_resndata(NULL, "sh-cmt-48-gen2", \ | 180 | platform_device_register_resndata(NULL, "sh-cmt-48-gen2", \ |
181 | idx, cmt##idx##_resources, \ | 181 | idx, cmt##idx##_resources, \ |
182 | ARRAY_SIZE(cmt##idx##_resources), \ | 182 | ARRAY_SIZE(cmt##idx##_resources), \ |
183 | &cmt##idx##_platform_data, \ | 183 | &cmt##idx##_platform_data, \ |
184 | sizeof(struct sh_timer_config)) | 184 | sizeof(struct sh_timer_config)) |
185 | 185 | ||
186 | void __init r8a73a4_add_dt_devices(void) | ||
187 | { | ||
188 | r8a7790_register_cmt(1); | ||
189 | } | ||
190 | |||
191 | /* DMA */ | 186 | /* DMA */ |
192 | static const struct sh_dmae_slave_config dma_slaves[] = { | 187 | static const struct sh_dmae_slave_config dma_slaves[] = { |
193 | { | 188 | { |
@@ -278,7 +273,7 @@ static struct resource dma_resources[] = { | |||
278 | 273 | ||
279 | void __init r8a73a4_add_standard_devices(void) | 274 | void __init r8a73a4_add_standard_devices(void) |
280 | { | 275 | { |
281 | r8a73a4_add_dt_devices(); | 276 | r8a73a4_register_cmt(1); |
282 | r8a73a4_register_scif(0); | 277 | r8a73a4_register_scif(0); |
283 | r8a73a4_register_scif(1); | 278 | r8a73a4_register_scif(1); |
284 | r8a73a4_register_scif(2); | 279 | r8a73a4_register_scif(2); |
diff --git a/arch/arm/mach-shmobile/setup-r8a7778.c b/arch/arm/mach-shmobile/setup-r8a7778.c index 45bd3588fa15..170bd146ba17 100644 --- a/arch/arm/mach-shmobile/setup-r8a7778.c +++ b/arch/arm/mach-shmobile/setup-r8a7778.c | |||
@@ -288,8 +288,6 @@ void __init r8a7778_add_dt_devices(void) | |||
288 | l2x0_init(base, 0x00400000, 0xc20f0fff); | 288 | l2x0_init(base, 0x00400000, 0xc20f0fff); |
289 | } | 289 | } |
290 | #endif | 290 | #endif |
291 | |||
292 | r8a7778_register_tmu(0); | ||
293 | } | 291 | } |
294 | 292 | ||
295 | /* HPB-DMA */ | 293 | /* HPB-DMA */ |
@@ -497,6 +495,7 @@ static void __init r8a7778_register_hpb_dmae(void) | |||
497 | void __init r8a7778_add_standard_devices(void) | 495 | void __init r8a7778_add_standard_devices(void) |
498 | { | 496 | { |
499 | r8a7778_add_dt_devices(); | 497 | r8a7778_add_dt_devices(); |
498 | r8a7778_register_tmu(0); | ||
500 | r8a7778_register_scif(0); | 499 | r8a7778_register_scif(0); |
501 | r8a7778_register_scif(1); | 500 | r8a7778_register_scif(1); |
502 | r8a7778_register_scif(2); | 501 | r8a7778_register_scif(2); |
diff --git a/arch/arm/mach-sti/Kconfig b/arch/arm/mach-sti/Kconfig index 878e9ec97d0f..8825bc9e2553 100644 --- a/arch/arm/mach-sti/Kconfig +++ b/arch/arm/mach-sti/Kconfig | |||
@@ -42,4 +42,14 @@ config SOC_STIH416 | |||
42 | and other digital audio/video applications using Flattened Device | 42 | and other digital audio/video applications using Flattened Device |
43 | Trees. | 43 | Trees. |
44 | 44 | ||
45 | config SOC_STIH407 | ||
46 | bool "STiH407 STMicroelectronics Consumer Electronics family" | ||
47 | default y | ||
48 | select STIH407_RESET | ||
49 | help | ||
50 | This enables support for STMicroelectronics Digital Consumer | ||
51 | Electronics family StiH407 parts, targetted at set-top-box | ||
52 | and other digital audio/video applications using Flattened Device | ||
53 | Trees. | ||
54 | |||
45 | endif | 55 | endif |
diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c index 38493ff28fa5..7f9be0785c6a 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c | |||
@@ -1041,6 +1041,8 @@ gic_of_init(struct device_node *node, struct device_node *parent) | |||
1041 | return 0; | 1041 | return 0; |
1042 | } | 1042 | } |
1043 | IRQCHIP_DECLARE(gic_400, "arm,gic-400", gic_of_init); | 1043 | IRQCHIP_DECLARE(gic_400, "arm,gic-400", gic_of_init); |
1044 | IRQCHIP_DECLARE(arm11mp_gic, "arm,arm11mp-gic", gic_of_init); | ||
1045 | IRQCHIP_DECLARE(arm1176jzf_dc_gic, "arm,arm1176jzf-devchip-gic", gic_of_init); | ||
1044 | IRQCHIP_DECLARE(cortex_a15_gic, "arm,cortex-a15-gic", gic_of_init); | 1046 | IRQCHIP_DECLARE(cortex_a15_gic, "arm,cortex-a15-gic", gic_of_init); |
1045 | IRQCHIP_DECLARE(cortex_a9_gic, "arm,cortex-a9-gic", gic_of_init); | 1047 | IRQCHIP_DECLARE(cortex_a9_gic, "arm,cortex-a9-gic", gic_of_init); |
1046 | IRQCHIP_DECLARE(cortex_a7_gic, "arm,cortex-a7-gic", gic_of_init); | 1048 | IRQCHIP_DECLARE(cortex_a7_gic, "arm,cortex-a7-gic", gic_of_init); |
diff --git a/drivers/staging/iio/light/isl29028.c b/drivers/staging/iio/light/isl29028.c index 6014625920b0..e969107ddb47 100644 --- a/drivers/staging/iio/light/isl29028.c +++ b/drivers/staging/iio/light/isl29028.c | |||
@@ -537,7 +537,8 @@ static const struct i2c_device_id isl29028_id[] = { | |||
537 | MODULE_DEVICE_TABLE(i2c, isl29028_id); | 537 | MODULE_DEVICE_TABLE(i2c, isl29028_id); |
538 | 538 | ||
539 | static const struct of_device_id isl29028_of_match[] = { | 539 | static const struct of_device_id isl29028_of_match[] = { |
540 | { .compatible = "isil,isl29028", }, | 540 | { .compatible = "isl,isl29028", }, |
541 | { .compatible = "isil,isl29028", },/* deprecated, don't use */ | ||
541 | { }, | 542 | { }, |
542 | }; | 543 | }; |
543 | MODULE_DEVICE_TABLE(of, isl29028_of_match); | 544 | MODULE_DEVICE_TABLE(of, isl29028_of_match); |
diff --git a/include/dt-bindings/clock/r8a7740-clock.h b/include/dt-bindings/clock/r8a7740-clock.h index f6b4b0fe7a43..476135da0f23 100644 --- a/include/dt-bindings/clock/r8a7740-clock.h +++ b/include/dt-bindings/clock/r8a7740-clock.h | |||
@@ -40,6 +40,7 @@ | |||
40 | 40 | ||
41 | /* MSTP2 */ | 41 | /* MSTP2 */ |
42 | #define R8A7740_CLK_SCIFA6 30 | 42 | #define R8A7740_CLK_SCIFA6 30 |
43 | #define R8A7740_CLK_INTCA 29 | ||
43 | #define R8A7740_CLK_SCIFA7 22 | 44 | #define R8A7740_CLK_SCIFA7 22 |
44 | #define R8A7740_CLK_DMAC1 18 | 45 | #define R8A7740_CLK_DMAC1 18 |
45 | #define R8A7740_CLK_DMAC2 17 | 46 | #define R8A7740_CLK_DMAC2 17 |
diff --git a/include/dt-bindings/clock/r8a7790-clock.h b/include/dt-bindings/clock/r8a7790-clock.h index 8ea7ab0346ad..c27b3b5133b9 100644 --- a/include/dt-bindings/clock/r8a7790-clock.h +++ b/include/dt-bindings/clock/r8a7790-clock.h | |||
@@ -26,8 +26,18 @@ | |||
26 | #define R8A7790_CLK_MSIOF0 0 | 26 | #define R8A7790_CLK_MSIOF0 0 |
27 | 27 | ||
28 | /* MSTP1 */ | 28 | /* MSTP1 */ |
29 | #define R8A7790_CLK_JPU 6 | 29 | #define R8A7790_CLK_VCP1 0 |
30 | #define R8A7790_CLK_VCP0 1 | ||
31 | #define R8A7790_CLK_VPC1 2 | ||
32 | #define R8A7790_CLK_VPC0 3 | ||
33 | #define R8A7790_CLK_JPU 6 | ||
34 | #define R8A7790_CLK_SSP1 9 | ||
30 | #define R8A7790_CLK_TMU1 11 | 35 | #define R8A7790_CLK_TMU1 11 |
36 | #define R8A7790_CLK_3DG 12 | ||
37 | #define R8A7790_CLK_2DDMAC 15 | ||
38 | #define R8A7790_CLK_FDP1_2 17 | ||
39 | #define R8A7790_CLK_FDP1_1 18 | ||
40 | #define R8A7790_CLK_FDP1_0 19 | ||
31 | #define R8A7790_CLK_TMU3 21 | 41 | #define R8A7790_CLK_TMU3 21 |
32 | #define R8A7790_CLK_TMU2 22 | 42 | #define R8A7790_CLK_TMU2 22 |
33 | #define R8A7790_CLK_CMT0 24 | 43 | #define R8A7790_CLK_CMT0 24 |
@@ -68,6 +78,8 @@ | |||
68 | #define R8A7790_CLK_USBDMAC1 31 | 78 | #define R8A7790_CLK_USBDMAC1 31 |
69 | 79 | ||
70 | /* MSTP5 */ | 80 | /* MSTP5 */ |
81 | #define R8A7790_CLK_AUDIO_DMAC1 1 | ||
82 | #define R8A7790_CLK_AUDIO_DMAC0 2 | ||
71 | #define R8A7790_CLK_THERMAL 22 | 83 | #define R8A7790_CLK_THERMAL 22 |
72 | #define R8A7790_CLK_PWM 23 | 84 | #define R8A7790_CLK_PWM 23 |
73 | 85 | ||
diff --git a/include/dt-bindings/clock/r8a7791-clock.h b/include/dt-bindings/clock/r8a7791-clock.h index 58c3f49d068c..3ea2bbc0da3f 100644 --- a/include/dt-bindings/clock/r8a7791-clock.h +++ b/include/dt-bindings/clock/r8a7791-clock.h | |||
@@ -25,8 +25,15 @@ | |||
25 | #define R8A7791_CLK_MSIOF0 0 | 25 | #define R8A7791_CLK_MSIOF0 0 |
26 | 26 | ||
27 | /* MSTP1 */ | 27 | /* MSTP1 */ |
28 | #define R8A7791_CLK_JPU 6 | 28 | #define R8A7791_CLK_VCP0 1 |
29 | #define R8A7791_CLK_VPC0 3 | ||
30 | #define R8A7791_CLK_JPU 6 | ||
31 | #define R8A7791_CLK_SSP1 9 | ||
29 | #define R8A7791_CLK_TMU1 11 | 32 | #define R8A7791_CLK_TMU1 11 |
33 | #define R8A7791_CLK_3DG 12 | ||
34 | #define R8A7791_CLK_2DDMAC 15 | ||
35 | #define R8A7791_CLK_FDP1_1 18 | ||
36 | #define R8A7791_CLK_FDP1_0 19 | ||
30 | #define R8A7791_CLK_TMU3 21 | 37 | #define R8A7791_CLK_TMU3 21 |
31 | #define R8A7791_CLK_TMU2 22 | 38 | #define R8A7791_CLK_TMU2 22 |
32 | #define R8A7791_CLK_CMT0 24 | 39 | #define R8A7791_CLK_CMT0 24 |
@@ -62,6 +69,8 @@ | |||
62 | #define R8A7791_CLK_USBDMAC1 31 | 69 | #define R8A7791_CLK_USBDMAC1 31 |
63 | 70 | ||
64 | /* MSTP5 */ | 71 | /* MSTP5 */ |
72 | #define R8A7791_CLK_AUDIO_DMAC1 1 | ||
73 | #define R8A7791_CLK_AUDIO_DMAC0 2 | ||
65 | #define R8A7791_CLK_THERMAL 22 | 74 | #define R8A7791_CLK_THERMAL 22 |
66 | #define R8A7791_CLK_PWM 23 | 75 | #define R8A7791_CLK_PWM 23 |
67 | 76 | ||
diff --git a/include/dt-bindings/clock/r8a7794-clock.h b/include/dt-bindings/clock/r8a7794-clock.h index 9ac1043e25bc..aa9c286e60c0 100644 --- a/include/dt-bindings/clock/r8a7794-clock.h +++ b/include/dt-bindings/clock/r8a7794-clock.h | |||
@@ -26,11 +26,18 @@ | |||
26 | #define R8A7794_CLK_MSIOF0 0 | 26 | #define R8A7794_CLK_MSIOF0 0 |
27 | 27 | ||
28 | /* MSTP1 */ | 28 | /* MSTP1 */ |
29 | #define R8A7794_CLK_VCP0 1 | ||
30 | #define R8A7794_CLK_VPC0 3 | ||
29 | #define R8A7794_CLK_TMU1 11 | 31 | #define R8A7794_CLK_TMU1 11 |
32 | #define R8A7794_CLK_3DG 12 | ||
33 | #define R8A7794_CLK_2DDMAC 15 | ||
34 | #define R8A7794_CLK_FDP1_0 19 | ||
30 | #define R8A7794_CLK_TMU3 21 | 35 | #define R8A7794_CLK_TMU3 21 |
31 | #define R8A7794_CLK_TMU2 22 | 36 | #define R8A7794_CLK_TMU2 22 |
32 | #define R8A7794_CLK_CMT0 24 | 37 | #define R8A7794_CLK_CMT0 24 |
33 | #define R8A7794_CLK_TMU0 25 | 38 | #define R8A7794_CLK_TMU0 25 |
39 | #define R8A7794_CLK_VSP1_DU0 28 | ||
40 | #define R8A7794_CLK_VSP1_S 31 | ||
34 | 41 | ||
35 | /* MSTP2 */ | 42 | /* MSTP2 */ |
36 | #define R8A7794_CLK_SCIFA2 2 | 43 | #define R8A7794_CLK_SCIFA2 2 |
@@ -61,6 +68,8 @@ | |||
61 | #define R8A7794_CLK_SCIF0 21 | 68 | #define R8A7794_CLK_SCIF0 21 |
62 | 69 | ||
63 | /* MSTP8 */ | 70 | /* MSTP8 */ |
71 | #define R8A7794_CLK_VIN1 10 | ||
72 | #define R8A7794_CLK_VIN0 11 | ||
64 | #define R8A7794_CLK_ETHER 13 | 73 | #define R8A7794_CLK_ETHER 13 |
65 | 74 | ||
66 | /* MSTP9 */ | 75 | /* MSTP9 */ |
diff --git a/include/dt-bindings/clock/stih407-clks.h b/include/dt-bindings/clock/stih407-clks.h new file mode 100644 index 000000000000..7af2b717b3b2 --- /dev/null +++ b/include/dt-bindings/clock/stih407-clks.h | |||
@@ -0,0 +1,86 @@ | |||
1 | /* | ||
2 | * This header provides constants clk index STMicroelectronics | ||
3 | * STiH407 SoC. | ||
4 | */ | ||
5 | #ifndef _DT_BINDINGS_CLK_STIH407 | ||
6 | #define _DT_BINDINGS_CLK_STIH407 | ||
7 | |||
8 | /* CLOCKGEN C0 */ | ||
9 | #define CLK_ICN_GPU 0 | ||
10 | #define CLK_FDMA 1 | ||
11 | #define CLK_NAND 2 | ||
12 | #define CLK_HVA 3 | ||
13 | #define CLK_PROC_STFE 4 | ||
14 | #define CLK_PROC_TP 5 | ||
15 | #define CLK_RX_ICN_DMU 6 | ||
16 | #define CLK_RX_ICN_DISP_0 6 | ||
17 | #define CLK_RX_ICN_DISP_1 6 | ||
18 | #define CLK_RX_ICN_HVA 7 | ||
19 | #define CLK_RX_ICN_TS 7 | ||
20 | #define CLK_ICN_CPU 8 | ||
21 | #define CLK_TX_ICN_DMU 9 | ||
22 | #define CLK_TX_ICN_HVA 9 | ||
23 | #define CLK_TX_ICN_TS 9 | ||
24 | #define CLK_ICN_COMPO 9 | ||
25 | #define CLK_MMC_0 10 | ||
26 | #define CLK_MMC_1 11 | ||
27 | #define CLK_JPEGDEC 12 | ||
28 | #define CLK_ICN_REG 13 | ||
29 | #define CLK_TRACE_A9 13 | ||
30 | #define CLK_PTI_STM 13 | ||
31 | #define CLK_EXT2F_A9 13 | ||
32 | #define CLK_IC_BDISP_0 14 | ||
33 | #define CLK_IC_BDISP_1 15 | ||
34 | #define CLK_PP_DMU 16 | ||
35 | #define CLK_VID_DMU 17 | ||
36 | #define CLK_DSS_LPC 18 | ||
37 | #define CLK_ST231_AUD_0 19 | ||
38 | #define CLK_ST231_GP_0 19 | ||
39 | #define CLK_ST231_GP_1 20 | ||
40 | #define CLK_ST231_DMU 21 | ||
41 | #define CLK_ICN_LMI 22 | ||
42 | #define CLK_TX_ICN_DISP_0 23 | ||
43 | #define CLK_TX_ICN_DISP_1 23 | ||
44 | #define CLK_ICN_SBC 24 | ||
45 | #define CLK_STFE_FRC2 25 | ||
46 | #define CLK_ETH_PHY 26 | ||
47 | #define CLK_ETH_REF_PHYCLK 27 | ||
48 | #define CLK_FLASH_PROMIP 28 | ||
49 | #define CLK_MAIN_DISP 29 | ||
50 | #define CLK_AUX_DISP 30 | ||
51 | #define CLK_COMPO_DVP 31 | ||
52 | |||
53 | /* CLOCKGEN D0 */ | ||
54 | #define CLK_PCM_0 0 | ||
55 | #define CLK_PCM_1 1 | ||
56 | #define CLK_PCM_2 2 | ||
57 | #define CLK_SPDIFF 3 | ||
58 | |||
59 | /* CLOCKGEN D2 */ | ||
60 | #define CLK_PIX_MAIN_DISP 0 | ||
61 | #define CLK_PIX_PIP 1 | ||
62 | #define CLK_PIX_GDP1 2 | ||
63 | #define CLK_PIX_GDP2 3 | ||
64 | #define CLK_PIX_GDP3 4 | ||
65 | #define CLK_PIX_GDP4 5 | ||
66 | #define CLK_PIX_AUX_DISP 6 | ||
67 | #define CLK_DENC 7 | ||
68 | #define CLK_PIX_HDDAC 8 | ||
69 | #define CLK_HDDAC 9 | ||
70 | #define CLK_SDDAC 10 | ||
71 | #define CLK_PIX_DVO 11 | ||
72 | #define CLK_DVO 12 | ||
73 | #define CLK_PIX_HDMI 13 | ||
74 | #define CLK_TMDS_HDMI 14 | ||
75 | #define CLK_REF_HDMIPHY 15 | ||
76 | |||
77 | /* CLOCKGEN D3 */ | ||
78 | #define CLK_STFE_FRC1 0 | ||
79 | #define CLK_TSOUT_0 1 | ||
80 | #define CLK_TSOUT_1 2 | ||
81 | #define CLK_MCHI 3 | ||
82 | #define CLK_VSENS_COMPO 4 | ||
83 | #define CLK_FRC1_REMOTE 5 | ||
84 | #define CLK_LPC_0 6 | ||
85 | #define CLK_LPC_1 7 | ||
86 | #endif | ||
diff --git a/include/dt-bindings/clock/stih410-clks.h b/include/dt-bindings/clock/stih410-clks.h new file mode 100644 index 000000000000..2097a4bbe155 --- /dev/null +++ b/include/dt-bindings/clock/stih410-clks.h | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * This header provides constants clk index STMicroelectronics | ||
3 | * STiH410 SoC. | ||
4 | */ | ||
5 | #ifndef _DT_BINDINGS_CLK_STIH410 | ||
6 | #define _DT_BINDINGS_CLK_STIH410 | ||
7 | |||
8 | #include "stih407-clks.h" | ||
9 | |||
10 | /* STiH410 introduces new clock outputs compared to STiH407 */ | ||
11 | |||
12 | /* CLOCKGEN C0 */ | ||
13 | #define CLK_TX_ICN_HADES 32 | ||
14 | #define CLK_RX_ICN_HADES 33 | ||
15 | #define CLK_ICN_REG_16 34 | ||
16 | #define CLK_PP_HADES 35 | ||
17 | #define CLK_CLUST_HADES 36 | ||
18 | #define CLK_HWPE_HADES 37 | ||
19 | #define CLK_FC_HADES 38 | ||
20 | |||
21 | /* CLOCKGEN D0 */ | ||
22 | #define CLK_PCMR10_MASTER 4 | ||
23 | #define CLK_USB2_PHY 5 | ||
24 | |||
25 | #endif | ||