Skip to content

Commit 075dbe9

Browse files
committed
Merge tag 'soc-ep93xx-dt-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
Pull SoC update from Arnd Bergmann: "Convert ep93xx to devicetree This concludes a long journey towards replacing the old board files with devictree description on the Cirrus Logic EP93xx platform. Nikita Shubin has been working on this for a long time, for details see the last post on https://lore.kernel.org/lkml/[email protected]/" * tag 'soc-ep93xx-dt-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (47 commits) dt-bindings: gpio: ep9301: Add missing "#interrupt-cells" to examples MAINTAINERS: Update EP93XX ARM ARCHITECTURE maintainer soc: ep93xx: drop reference to removed EP93XX_SOC_COMMON config net: cirrus: use u8 for addr to calm down sparse dmaengine: cirrus: use snprintf() to calm down gcc 13.3.0 dmaengine: ep93xx: Fix a NULL vs IS_ERR() check in probe() pinctrl: ep93xx: Fix raster pins typo spi: ep93xx: update kerneldoc comments for ep93xx_spi clk: ep93xx: Fix off by one in ep93xx_div_recalc_rate() clk: ep93xx: add module license dmaengine: cirrus: remove platform code ASoC: cirrus: edb93xx: Delete driver ARM: ep93xx: soc: drop defines ARM: ep93xx: delete all boardfiles ata: pata_ep93xx: remove legacy pinctrl use pwm: ep93xx: drop legacy pinctrl ARM: ep93xx: DT for the Cirrus ep93xx SoC platforms ARM: dts: ep93xx: Add EDB9302 DT ARM: dts: ep93xx: add ts7250 board ARM: dts: add Cirrus EP93XX SoC .dtsi ...
2 parents 348325d + e3eb39e commit 075dbe9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+5124
-4553
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/arm/cirrus/cirrus,ep9301.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Cirrus Logic EP93xx platforms
8+
9+
description:
10+
The EP93xx SoC is a ARMv4T-based with 200 MHz ARM9 CPU.
11+
12+
maintainers:
13+
- Alexander Sverdlin <[email protected]>
14+
- Nikita Shubin <[email protected]>
15+
16+
properties:
17+
$nodename:
18+
const: '/'
19+
compatible:
20+
oneOf:
21+
- description: The TS-7250 is a compact, full-featured Single Board
22+
Computer (SBC) based upon the Cirrus EP9302 ARM9 CPU
23+
items:
24+
- const: technologic,ts7250
25+
- const: cirrus,ep9301
26+
27+
- description: The Liebherr BK3 is a derivate from ts7250 board
28+
items:
29+
- const: liebherr,bk3
30+
- const: cirrus,ep9301
31+
32+
- description: EDB302 is an evaluation board by Cirrus Logic,
33+
based on a Cirrus Logic EP9302 CPU
34+
items:
35+
- const: cirrus,edb9302
36+
- const: cirrus,ep9301
37+
38+
additionalProperties: true
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/ata/cirrus,ep9312-pata.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Cirrus Logic EP9312 PATA controller
8+
9+
maintainers:
10+
- Damien Le Moal <[email protected]>
11+
12+
properties:
13+
compatible:
14+
oneOf:
15+
- const: cirrus,ep9312-pata
16+
- items:
17+
- const: cirrus,ep9315-pata
18+
- const: cirrus,ep9312-pata
19+
20+
reg:
21+
maxItems: 1
22+
23+
interrupts:
24+
maxItems: 1
25+
26+
required:
27+
- compatible
28+
- reg
29+
- interrupts
30+
31+
additionalProperties: false
32+
33+
examples:
34+
- |
35+
ide@800a0000 {
36+
compatible = "cirrus,ep9312-pata";
37+
reg = <0x800a0000 0x38>;
38+
interrupt-parent = <&vic1>;
39+
interrupts = <8>;
40+
pinctrl-names = "default";
41+
pinctrl-0 = <&ide_default_pins>;
42+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/dma/cirrus,ep9301-dma-m2m.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Cirrus Logic ep93xx SoC DMA controller
8+
9+
maintainers:
10+
- Alexander Sverdlin <[email protected]>
11+
- Nikita Shubin <[email protected]>
12+
13+
allOf:
14+
- $ref: dma-controller.yaml#
15+
16+
properties:
17+
compatible:
18+
oneOf:
19+
- const: cirrus,ep9301-dma-m2m
20+
- items:
21+
- enum:
22+
- cirrus,ep9302-dma-m2m
23+
- cirrus,ep9307-dma-m2m
24+
- cirrus,ep9312-dma-m2m
25+
- cirrus,ep9315-dma-m2m
26+
- const: cirrus,ep9301-dma-m2m
27+
28+
reg:
29+
items:
30+
- description: m2m0 channel registers
31+
- description: m2m1 channel registers
32+
33+
clocks:
34+
items:
35+
- description: m2m0 channel gate clock
36+
- description: m2m1 channel gate clock
37+
38+
clock-names:
39+
items:
40+
- const: m2m0
41+
- const: m2m1
42+
43+
interrupts:
44+
items:
45+
- description: m2m0 channel interrupt
46+
- description: m2m1 channel interrupt
47+
48+
'#dma-cells':
49+
const: 2
50+
description: |
51+
The first cell is the unique device channel number as indicated by this
52+
table for ep93xx:
53+
54+
10: SPI controller
55+
11: IDE controller
56+
57+
The second cell is the DMA direction line number:
58+
59+
1: Memory to device
60+
2: Device to memory
61+
62+
required:
63+
- compatible
64+
- reg
65+
- clocks
66+
- clock-names
67+
- interrupts
68+
69+
additionalProperties: false
70+
71+
examples:
72+
- |
73+
#include <dt-bindings/clock/cirrus,ep9301-syscon.h>
74+
dma-controller@80000100 {
75+
compatible = "cirrus,ep9301-dma-m2m";
76+
reg = <0x80000100 0x0040>,
77+
<0x80000140 0x0040>;
78+
clocks = <&syscon EP93XX_CLK_M2M0>,
79+
<&syscon EP93XX_CLK_M2M1>;
80+
clock-names = "m2m0", "m2m1";
81+
interrupt-parent = <&vic0>;
82+
interrupts = <17>, <18>;
83+
#dma-cells = <2>;
84+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/dma/cirrus,ep9301-dma-m2p.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Cirrus Logic ep93xx SoC M2P DMA controller
8+
9+
maintainers:
10+
- Alexander Sverdlin <[email protected]>
11+
- Nikita Shubin <[email protected]>
12+
13+
allOf:
14+
- $ref: dma-controller.yaml#
15+
16+
properties:
17+
compatible:
18+
oneOf:
19+
- const: cirrus,ep9301-dma-m2p
20+
- items:
21+
- enum:
22+
- cirrus,ep9302-dma-m2p
23+
- cirrus,ep9307-dma-m2p
24+
- cirrus,ep9312-dma-m2p
25+
- cirrus,ep9315-dma-m2p
26+
- const: cirrus,ep9301-dma-m2p
27+
28+
reg:
29+
items:
30+
- description: m2p0 channel registers
31+
- description: m2p1 channel registers
32+
- description: m2p2 channel registers
33+
- description: m2p3 channel registers
34+
- description: m2p4 channel registers
35+
- description: m2p5 channel registers
36+
- description: m2p6 channel registers
37+
- description: m2p7 channel registers
38+
- description: m2p8 channel registers
39+
- description: m2p9 channel registers
40+
41+
clocks:
42+
items:
43+
- description: m2p0 channel gate clock
44+
- description: m2p1 channel gate clock
45+
- description: m2p2 channel gate clock
46+
- description: m2p3 channel gate clock
47+
- description: m2p4 channel gate clock
48+
- description: m2p5 channel gate clock
49+
- description: m2p6 channel gate clock
50+
- description: m2p7 channel gate clock
51+
- description: m2p8 channel gate clock
52+
- description: m2p9 channel gate clock
53+
54+
clock-names:
55+
items:
56+
- const: m2p0
57+
- const: m2p1
58+
- const: m2p2
59+
- const: m2p3
60+
- const: m2p4
61+
- const: m2p5
62+
- const: m2p6
63+
- const: m2p7
64+
- const: m2p8
65+
- const: m2p9
66+
67+
interrupts:
68+
items:
69+
- description: m2p0 channel interrupt
70+
- description: m2p1 channel interrupt
71+
- description: m2p2 channel interrupt
72+
- description: m2p3 channel interrupt
73+
- description: m2p4 channel interrupt
74+
- description: m2p5 channel interrupt
75+
- description: m2p6 channel interrupt
76+
- description: m2p7 channel interrupt
77+
- description: m2p8 channel interrupt
78+
- description: m2p9 channel interrupt
79+
80+
'#dma-cells':
81+
const: 2
82+
description: |
83+
The first cell is the unique device channel number as indicated by this
84+
table for ep93xx:
85+
86+
0: I2S channel 1
87+
1: I2S channel 2 (unused)
88+
2: AC97 channel 1 (unused)
89+
3: AC97 channel 2 (unused)
90+
4: AC97 channel 3 (unused)
91+
5: I2S channel 3 (unused)
92+
6: UART1 (unused)
93+
7: UART2 (unused)
94+
8: UART3 (unused)
95+
9: IRDA (unused)
96+
97+
The second cell is the DMA direction line number:
98+
99+
1: Memory to device
100+
2: Device to memory
101+
102+
required:
103+
- compatible
104+
- reg
105+
- clocks
106+
- clock-names
107+
- interrupts
108+
109+
additionalProperties: false
110+
111+
examples:
112+
- |
113+
#include <dt-bindings/clock/cirrus,ep9301-syscon.h>
114+
dma-controller@80000000 {
115+
compatible = "cirrus,ep9301-dma-m2p";
116+
reg = <0x80000000 0x0040>,
117+
<0x80000040 0x0040>,
118+
<0x80000080 0x0040>,
119+
<0x800000c0 0x0040>,
120+
<0x80000240 0x0040>,
121+
<0x80000200 0x0040>,
122+
<0x800002c0 0x0040>,
123+
<0x80000280 0x0040>,
124+
<0x80000340 0x0040>,
125+
<0x80000300 0x0040>;
126+
clocks = <&syscon EP93XX_CLK_M2P0>,
127+
<&syscon EP93XX_CLK_M2P1>,
128+
<&syscon EP93XX_CLK_M2P2>,
129+
<&syscon EP93XX_CLK_M2P3>,
130+
<&syscon EP93XX_CLK_M2P4>,
131+
<&syscon EP93XX_CLK_M2P5>,
132+
<&syscon EP93XX_CLK_M2P6>,
133+
<&syscon EP93XX_CLK_M2P7>,
134+
<&syscon EP93XX_CLK_M2P8>,
135+
<&syscon EP93XX_CLK_M2P9>;
136+
clock-names = "m2p0", "m2p1",
137+
"m2p2", "m2p3",
138+
"m2p4", "m2p5",
139+
"m2p6", "m2p7",
140+
"m2p8", "m2p9";
141+
interrupt-parent = <&vic0>;
142+
interrupts = <7>, <8>, <9>, <10>, <11>, <12>, <13>, <14>, <15>, <16>;
143+
#dma-cells = <2>;
144+
};

Documentation/devicetree/bindings/gpio/gpio-ep9301.yaml

+6-3
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,10 @@ examples:
7373
reg-names = "data", "dir", "intr";
7474
gpio-controller;
7575
#gpio-cells = <2>;
76-
interrupt-controller;
77-
interrupt-parent = <&vic1>;
78-
interrupts = <27>;
76+
interrupt-controller;
77+
#interrupt-cells = <2>;
78+
interrupt-parent = <&vic1>;
79+
interrupts = <27>;
7980
};
8081
8182
gpio@80840004 {
@@ -87,6 +88,7 @@ examples:
8788
gpio-controller;
8889
#gpio-cells = <2>;
8990
interrupt-controller;
91+
#interrupt-cells = <2>;
9092
interrupt-parent = <&vic1>;
9193
interrupts = <27>;
9294
};
@@ -127,6 +129,7 @@ examples:
127129
gpio-controller;
128130
#gpio-cells = <2>;
129131
interrupt-controller;
132+
#interrupt-cells = <2>;
130133
interrupts-extended = <&vic0 19>, <&vic0 20>,
131134
<&vic0 21>, <&vic0 22>,
132135
<&vic1 15>, <&vic1 16>,

0 commit comments

Comments
 (0)