Skip to content

Commit eeb3dd5

Browse files
maquefelarndb
authored andcommitted
dt-bindings: soc: Add Cirrus EP93xx
Add device tree bindings for the Cirrus Logic EP93xx SoC. Signed-off-by: Nikita Shubin <[email protected]> Tested-by: Alexander Sverdlin <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Stephen Boyd <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Reviewed-by: Guenter Roeck <[email protected]> Acked-by: Miquel Raynal <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
1 parent 9fa7cdb commit eeb3dd5

File tree

3 files changed

+178
-0
lines changed

3 files changed

+178
-0
lines changed
Lines changed: 38 additions & 0 deletions
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
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/soc/cirrus/cirrus,ep9301-syscon.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Cirrus Logic EP93xx Platforms System Controller
8+
9+
maintainers:
10+
- Alexander Sverdlin <[email protected]>
11+
- Nikita Shubin <[email protected]>
12+
13+
description: |
14+
Central resources are controlled by a set of software-locked registers,
15+
which can be used to prevent accidental accesses. Syscon generates
16+
the various bus and peripheral clocks and controls the system startup
17+
configuration.
18+
19+
The System Controller (Syscon) provides:
20+
- Clock control
21+
- Power management
22+
- System configuration management
23+
24+
Syscon registers are common for all EP93xx SoC's, through some actual peripheral
25+
may be missing depending on actual SoC model.
26+
27+
properties:
28+
compatible:
29+
oneOf:
30+
- items:
31+
- enum:
32+
- cirrus,ep9302-syscon
33+
- cirrus,ep9307-syscon
34+
- cirrus,ep9312-syscon
35+
- cirrus,ep9315-syscon
36+
- const: cirrus,ep9301-syscon
37+
- const: syscon
38+
- items:
39+
- const: cirrus,ep9301-syscon
40+
- const: syscon
41+
42+
reg:
43+
maxItems: 1
44+
45+
"#clock-cells":
46+
const: 1
47+
48+
clocks:
49+
items:
50+
- description: reference clock
51+
52+
patternProperties:
53+
'^pins-':
54+
type: object
55+
description: pin node
56+
$ref: /schemas/pinctrl/pinmux-node.yaml
57+
58+
properties:
59+
function:
60+
enum: [ spi, ac97, i2s, pwm, keypad, pata, lcd, gpio ]
61+
62+
groups:
63+
enum: [ ssp, ac97, i2s_on_ssp, i2s_on_ac97, pwm1, gpio1agrp,
64+
gpio2agrp, gpio3agrp, gpio4agrp, gpio6agrp, gpio7agrp,
65+
rasteronsdram0grp, rasteronsdram3grp, keypadgrp, idegrp ]
66+
67+
required:
68+
- function
69+
- groups
70+
71+
unevaluatedProperties: false
72+
73+
required:
74+
- compatible
75+
- reg
76+
- "#clock-cells"
77+
- clocks
78+
79+
additionalProperties: false
80+
81+
examples:
82+
- |
83+
syscon@80930000 {
84+
compatible = "cirrus,ep9301-syscon", "syscon";
85+
reg = <0x80930000 0x1000>;
86+
87+
#clock-cells = <1>;
88+
clocks = <&xtali>;
89+
90+
spi_default_pins: pins-spi {
91+
function = "spi";
92+
groups = "ssp";
93+
};
94+
};
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
2+
#ifndef DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H
3+
#define DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H
4+
5+
#define EP93XX_CLK_PLL1 0
6+
#define EP93XX_CLK_PLL2 1
7+
8+
#define EP93XX_CLK_FCLK 2
9+
#define EP93XX_CLK_HCLK 3
10+
#define EP93XX_CLK_PCLK 4
11+
12+
#define EP93XX_CLK_UART 5
13+
#define EP93XX_CLK_SPI 6
14+
#define EP93XX_CLK_PWM 7
15+
#define EP93XX_CLK_USB 8
16+
17+
#define EP93XX_CLK_M2M0 9
18+
#define EP93XX_CLK_M2M1 10
19+
20+
#define EP93XX_CLK_M2P0 11
21+
#define EP93XX_CLK_M2P1 12
22+
#define EP93XX_CLK_M2P2 13
23+
#define EP93XX_CLK_M2P3 14
24+
#define EP93XX_CLK_M2P4 15
25+
#define EP93XX_CLK_M2P5 16
26+
#define EP93XX_CLK_M2P6 17
27+
#define EP93XX_CLK_M2P7 18
28+
#define EP93XX_CLK_M2P8 19
29+
#define EP93XX_CLK_M2P9 20
30+
31+
#define EP93XX_CLK_UART1 21
32+
#define EP93XX_CLK_UART2 22
33+
#define EP93XX_CLK_UART3 23
34+
35+
#define EP93XX_CLK_ADC 24
36+
#define EP93XX_CLK_ADC_EN 25
37+
38+
#define EP93XX_CLK_KEYPAD 26
39+
40+
#define EP93XX_CLK_VIDEO 27
41+
42+
#define EP93XX_CLK_I2S_MCLK 28
43+
#define EP93XX_CLK_I2S_SCLK 29
44+
#define EP93XX_CLK_I2S_LRCLK 30
45+
46+
#endif /* DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H */

0 commit comments

Comments
 (0)