dt-bindings: soc: Add Cirrus EP93xx
Add device tree bindings for the Cirrus Logic EP93xx SoC. Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me> Tested-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Stephen Boyd <sboyd@kernel.org> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Miquel Raynal <miquel.raynal@bootlin.com> Acked-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
parent
9fa7cdb436
commit
eeb3dd5b32
@ -0,0 +1,38 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/arm/cirrus/cirrus,ep9301.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Cirrus Logic EP93xx platforms
|
||||
|
||||
description:
|
||||
The EP93xx SoC is a ARMv4T-based with 200 MHz ARM9 CPU.
|
||||
|
||||
maintainers:
|
||||
- Alexander Sverdlin <alexander.sverdlin@gmail.com>
|
||||
- Nikita Shubin <nikita.shubin@maquefel.me>
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
const: '/'
|
||||
compatible:
|
||||
oneOf:
|
||||
- description: The TS-7250 is a compact, full-featured Single Board
|
||||
Computer (SBC) based upon the Cirrus EP9302 ARM9 CPU
|
||||
items:
|
||||
- const: technologic,ts7250
|
||||
- const: cirrus,ep9301
|
||||
|
||||
- description: The Liebherr BK3 is a derivate from ts7250 board
|
||||
items:
|
||||
- const: liebherr,bk3
|
||||
- const: cirrus,ep9301
|
||||
|
||||
- description: EDB302 is an evaluation board by Cirrus Logic,
|
||||
based on a Cirrus Logic EP9302 CPU
|
||||
items:
|
||||
- const: cirrus,edb9302
|
||||
- const: cirrus,ep9301
|
||||
|
||||
additionalProperties: true
|
@ -0,0 +1,94 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/soc/cirrus/cirrus,ep9301-syscon.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Cirrus Logic EP93xx Platforms System Controller
|
||||
|
||||
maintainers:
|
||||
- Alexander Sverdlin <alexander.sverdlin@gmail.com>
|
||||
- Nikita Shubin <nikita.shubin@maquefel.me>
|
||||
|
||||
description: |
|
||||
Central resources are controlled by a set of software-locked registers,
|
||||
which can be used to prevent accidental accesses. Syscon generates
|
||||
the various bus and peripheral clocks and controls the system startup
|
||||
configuration.
|
||||
|
||||
The System Controller (Syscon) provides:
|
||||
- Clock control
|
||||
- Power management
|
||||
- System configuration management
|
||||
|
||||
Syscon registers are common for all EP93xx SoC's, through some actual peripheral
|
||||
may be missing depending on actual SoC model.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- cirrus,ep9302-syscon
|
||||
- cirrus,ep9307-syscon
|
||||
- cirrus,ep9312-syscon
|
||||
- cirrus,ep9315-syscon
|
||||
- const: cirrus,ep9301-syscon
|
||||
- const: syscon
|
||||
- items:
|
||||
- const: cirrus,ep9301-syscon
|
||||
- const: syscon
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#clock-cells":
|
||||
const: 1
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: reference clock
|
||||
|
||||
patternProperties:
|
||||
'^pins-':
|
||||
type: object
|
||||
description: pin node
|
||||
$ref: /schemas/pinctrl/pinmux-node.yaml
|
||||
|
||||
properties:
|
||||
function:
|
||||
enum: [ spi, ac97, i2s, pwm, keypad, pata, lcd, gpio ]
|
||||
|
||||
groups:
|
||||
enum: [ ssp, ac97, i2s_on_ssp, i2s_on_ac97, pwm1, gpio1agrp,
|
||||
gpio2agrp, gpio3agrp, gpio4agrp, gpio6agrp, gpio7agrp,
|
||||
rasteronsdram0grp, rasteronsdram3grp, keypadgrp, idegrp ]
|
||||
|
||||
required:
|
||||
- function
|
||||
- groups
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- "#clock-cells"
|
||||
- clocks
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
syscon@80930000 {
|
||||
compatible = "cirrus,ep9301-syscon", "syscon";
|
||||
reg = <0x80930000 0x1000>;
|
||||
|
||||
#clock-cells = <1>;
|
||||
clocks = <&xtali>;
|
||||
|
||||
spi_default_pins: pins-spi {
|
||||
function = "spi";
|
||||
groups = "ssp";
|
||||
};
|
||||
};
|
46
include/dt-bindings/clock/cirrus,ep9301-syscon.h
Normal file
46
include/dt-bindings/clock/cirrus,ep9301-syscon.h
Normal file
@ -0,0 +1,46 @@
|
||||
/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
|
||||
#ifndef DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H
|
||||
#define DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H
|
||||
|
||||
#define EP93XX_CLK_PLL1 0
|
||||
#define EP93XX_CLK_PLL2 1
|
||||
|
||||
#define EP93XX_CLK_FCLK 2
|
||||
#define EP93XX_CLK_HCLK 3
|
||||
#define EP93XX_CLK_PCLK 4
|
||||
|
||||
#define EP93XX_CLK_UART 5
|
||||
#define EP93XX_CLK_SPI 6
|
||||
#define EP93XX_CLK_PWM 7
|
||||
#define EP93XX_CLK_USB 8
|
||||
|
||||
#define EP93XX_CLK_M2M0 9
|
||||
#define EP93XX_CLK_M2M1 10
|
||||
|
||||
#define EP93XX_CLK_M2P0 11
|
||||
#define EP93XX_CLK_M2P1 12
|
||||
#define EP93XX_CLK_M2P2 13
|
||||
#define EP93XX_CLK_M2P3 14
|
||||
#define EP93XX_CLK_M2P4 15
|
||||
#define EP93XX_CLK_M2P5 16
|
||||
#define EP93XX_CLK_M2P6 17
|
||||
#define EP93XX_CLK_M2P7 18
|
||||
#define EP93XX_CLK_M2P8 19
|
||||
#define EP93XX_CLK_M2P9 20
|
||||
|
||||
#define EP93XX_CLK_UART1 21
|
||||
#define EP93XX_CLK_UART2 22
|
||||
#define EP93XX_CLK_UART3 23
|
||||
|
||||
#define EP93XX_CLK_ADC 24
|
||||
#define EP93XX_CLK_ADC_EN 25
|
||||
|
||||
#define EP93XX_CLK_KEYPAD 26
|
||||
|
||||
#define EP93XX_CLK_VIDEO 27
|
||||
|
||||
#define EP93XX_CLK_I2S_MCLK 28
|
||||
#define EP93XX_CLK_I2S_SCLK 29
|
||||
#define EP93XX_CLK_I2S_LRCLK 30
|
||||
|
||||
#endif /* DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H */
|
Loading…
Reference in New Issue
Block a user