Skip to content

Commit 2f0073a

Browse files
ConchuODLinus Walleij
authored andcommitted
dt-bindings: pinctrl: document polarfire soc iomux0 pinmux
On Polarfire SoC, iomux0 is responsible for routing functions to either Multiprocessor Subsystem (MSS) IOs or to the FPGA fabric, where they can either interface with custom RTL or be routed to the FPGA fabric's IOs. Document it. Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
1 parent 38cf9d6 commit 2f0073a

2 files changed

Lines changed: 101 additions & 1 deletion

File tree

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/pinctrl/microchip,mpfs-pinctrl-iomux0.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Microchip PolarFire SoC iomux0
8+
9+
maintainers:
10+
- Conor Dooley <conor.dooley@microchip.com>
11+
12+
description:
13+
iomux0 is responsible for routing some functions to either the FPGA fabric,
14+
or to MSSIOs. It only performs muxing, and has no IO configuration role, as
15+
fabric IOs are configured separately and just routing a function to MSSIOs is
16+
not sufficient for it to actually get mapped to an MSSIO, just makes it
17+
possible.
18+
19+
properties:
20+
compatible:
21+
oneOf:
22+
- const: microchip,mpfs-pinctrl-iomux0
23+
- items:
24+
- const: microchip,pic64gx-pinctrl-iomux0
25+
- const: microchip,mpfs-pinctrl-iomux0
26+
27+
reg:
28+
maxItems: 1
29+
30+
pinctrl-use-default: true
31+
32+
patternProperties:
33+
'^mux-':
34+
type: object
35+
$ref: pinmux-node.yaml
36+
additionalProperties: false
37+
38+
properties:
39+
function:
40+
description:
41+
A string containing the name of the function to mux to the group.
42+
enum: [ spi0, spi1, i2c0, i2c1, can0, can1, qspi, uart0, uart1, uart2,
43+
uart3, uart4, mdio0, mdio1 ]
44+
45+
groups:
46+
description:
47+
An array of strings. Each string contains the name of a group.
48+
items:
49+
enum: [ spi0_fabric, spi0_mssio, spi1_fabric, spi1_mssio, i2c0_fabric,
50+
i2c0_mssio, i2c1_fabric, i2c1_mssio, can0_fabric, can0_mssio,
51+
can1_fabric, can1_mssio, qspi_fabric, qspi_mssio,
52+
uart0_fabric, uart0_mssio, uart1_fabric, uart1_mssio,
53+
uart2_fabric, uart2_mssio, uart3_fabric, uart3_mssio,
54+
uart4_fabric, uart4_mssio, mdio0_fabric, mdio0_mssio,
55+
mdio1_fabric, mdio1_mssio ]
56+
57+
required:
58+
- function
59+
- groups
60+
61+
required:
62+
- compatible
63+
- reg
64+
65+
additionalProperties: false
66+
67+
examples:
68+
- |
69+
soc {
70+
#size-cells = <1>;
71+
#address-cells = <1>;
72+
73+
pinctrl@200 {
74+
compatible = "microchip,mpfs-pinctrl-iomux0";
75+
reg = <0x200 0x4>;
76+
77+
mux-spi0-fabric {
78+
function = "spi0";
79+
groups = "spi0_fabric";
80+
};
81+
82+
mux-spi1-mssio {
83+
function = "spi1";
84+
groups = "spi1_mssio";
85+
};
86+
};
87+
};
88+
89+
...

Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-mss-top-sysreg.yaml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,17 @@ properties:
1818
items:
1919
- const: microchip,mpfs-mss-top-sysreg
2020
- const: syscon
21+
- const: simple-mfd
2122

2223
reg:
2324
maxItems: 1
2425

26+
'#address-cells':
27+
const: 1
28+
29+
'#size-cells':
30+
const: 1
31+
2532
'#reset-cells':
2633
description:
2734
The AHB/AXI peripherals on the PolarFire SoC have reset support, so
@@ -31,6 +38,10 @@ properties:
3138
of PolarFire clock/reset IDs.
3239
const: 1
3340

41+
pinctrl@200:
42+
type: object
43+
$ref: /schemas/pinctrl/microchip,mpfs-pinctrl-iomux0.yaml
44+
3445
required:
3546
- compatible
3647
- reg
@@ -40,7 +51,7 @@ additionalProperties: false
4051
examples:
4152
- |
4253
syscon@20002000 {
43-
compatible = "microchip,mpfs-mss-top-sysreg", "syscon";
54+
compatible = "microchip,mpfs-mss-top-sysreg", "syscon", "simple-mfd";
4455
reg = <0x20002000 0x1000>;
4556
#reset-cells = <1>;
4657
};

0 commit comments

Comments
 (0)