Skip to content

Commit 746e195

Browse files
committed
Merge tag 'riscv-dt-for-v7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/dt
RISC-V devicetrees for v7.1 Generic: Add binding coverage for Supm. Microchip: Add support for the picgx64 and its curiosity board. This is a PolarFire SoC without the FPGA. Add the missing tsu_clk for ptp on the macb on PolarFire SoC and resolve a long-running problem with gpio interrupts being incorrectly described on the platform. Signed-off-by: Conor Dooley <conor.dooley@microchip.com> * tag 'riscv-dt-for-v7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/conor/linux: riscv: dts: microchip: update mpfs gpio interrupts to better match the SoC riscv: dts: microchip: add tsu clock to macb on mpfs dt-bindings: riscv: Add Supm extension description riscv: dts: microchip: remove POLARFIRE mention in Makefile riscv: dts: microchip: add pic64gx and its curiosity kit dt-bindings: riscv: microchip: document the PIC64GX curiosity kit dt-bindings: timer: sifive,clint: add pic64gx compatibility riscv: dts: microchip: add pinctrl nodes for mpfs/icicle kit Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2 parents 17ed8fd + b0258f6 commit 746e195

17 files changed

Lines changed: 1499 additions & 66 deletions

Documentation/devicetree/bindings/riscv/extensions.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,23 @@ properties:
262262
ratified in RISC-V Profiles Version 1.0, with commit b1d806605f87
263263
("Updated to ratified state.")
264264
265+
- const: supm
266+
description: |
267+
The standard Supm extension for pointer masking support in user
268+
mode (U-mode) as ratified at commit d70011dde6c2 ("Update to
269+
ratified state") of riscv-j-extension.
270+
271+
Supm represents a combination of underlying hardware capability
272+
(Smnpm or Ssnpm), U-mode consumer privilege level, and M/S-mode
273+
software configuration that enables pointer masking for U-mode.
274+
275+
DO NOT include this property in device trees targeting privileged
276+
system software (S-mode or M-mode).
277+
278+
This property is only appropriate in device trees provided to
279+
U-mode software where the next-higher-privilege-mode supports
280+
Smnpm or Ssnpm and enables it for U-mode.
281+
265282
- const: svade
266283
description: |
267284
The standard Svade supervisor-level extension for SW-managed PTE A/D
@@ -907,6 +924,16 @@ properties:
907924
then:
908925
contains:
909926
const: b
927+
# Supm depends on Smnpm or Ssnpm
928+
- if:
929+
contains:
930+
const: supm
931+
then:
932+
oneOf:
933+
- contains:
934+
const: smnpm
935+
- contains:
936+
const: ssnpm
910937
# Za64rs and Ziccrse depend on Zalrsc or A
911938
- if:
912939
contains:

Documentation/devicetree/bindings/riscv/microchip.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
$id: http://devicetree.org/schemas/riscv/microchip.yaml#
55
$schema: http://devicetree.org/meta-schemas/core.yaml#
66

7-
title: Microchip PolarFire SoC-based boards
7+
title: Microchip SoC-based boards
88

99
maintainers:
1010
- Conor Dooley <conor.dooley@microchip.com>
1111
- Daire McNamara <daire.mcnamara@microchip.com>
1212

1313
description:
14-
Microchip PolarFire SoC-based boards
14+
Microchip SoC-based boards
1515

1616
properties:
1717
$nodename:
@@ -46,6 +46,9 @@ properties:
4646
- microchip,mpfs-sev-kit
4747
- sundance,polarberry
4848
- const: microchip,mpfs
49+
- items:
50+
- const: microchip,pic64gx-curiosity-kit
51+
- const: microchip,pic64gx
4952

5053
additionalProperties: true
5154

Documentation/devicetree/bindings/timer/sifive,clint.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ properties:
3131
- enum:
3232
- canaan,k210-clint # Canaan Kendryte K210
3333
- eswin,eic7700-clint # ESWIN EIC7700
34+
- microchip,pic64gx-clint # Microchip PIC64GX
3435
- sifive,fu540-c000-clint # SiFive FU540
3536
- spacemit,k1-clint # SpacemiT K1
3637
- spacemit,k3-clint # SpacemiT K3
Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
# SPDX-License-Identifier: GPL-2.0
2-
dtb-$(CONFIG_ARCH_MICROCHIP_POLARFIRE) += mpfs-beaglev-fire.dtb
3-
dtb-$(CONFIG_ARCH_MICROCHIP_POLARFIRE) += mpfs-disco-kit.dtb
4-
dtb-$(CONFIG_ARCH_MICROCHIP_POLARFIRE) += mpfs-icicle-kit.dtb
5-
dtb-$(CONFIG_ARCH_MICROCHIP_POLARFIRE) += mpfs-icicle-kit-prod.dtb
6-
dtb-$(CONFIG_ARCH_MICROCHIP_POLARFIRE) += mpfs-m100pfsevp.dtb
7-
dtb-$(CONFIG_ARCH_MICROCHIP_POLARFIRE) += mpfs-polarberry.dtb
8-
dtb-$(CONFIG_ARCH_MICROCHIP_POLARFIRE) += mpfs-sev-kit.dtb
9-
dtb-$(CONFIG_ARCH_MICROCHIP_POLARFIRE) += mpfs-tysom-m.dtb
2+
dtb-$(CONFIG_ARCH_MICROCHIP) += mpfs-beaglev-fire.dtb
3+
dtb-$(CONFIG_ARCH_MICROCHIP) += mpfs-disco-kit.dtb
4+
dtb-$(CONFIG_ARCH_MICROCHIP) += mpfs-icicle-kit.dtb
5+
dtb-$(CONFIG_ARCH_MICROCHIP) += mpfs-icicle-kit-prod.dtb
6+
dtb-$(CONFIG_ARCH_MICROCHIP) += mpfs-m100pfsevp.dtb
7+
dtb-$(CONFIG_ARCH_MICROCHIP) += mpfs-polarberry.dtb
8+
dtb-$(CONFIG_ARCH_MICROCHIP) += mpfs-sev-kit.dtb
9+
dtb-$(CONFIG_ARCH_MICROCHIP) += mpfs-tysom-m.dtb
10+
dtb-$(CONFIG_ARCH_MICROCHIP) += pic64gx-curiosity-kit.dtb

arch/riscv/boot/dts/microchip/mpfs-beaglev-fire.dts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,35 @@
164164
};
165165
};
166166

167+
&irqmux {
168+
interrupt-map = <0 &plic 13>, <1 &plic 14>, <2 &plic 15>,
169+
<3 &plic 16>, <4 &plic 17>, <5 &plic 18>,
170+
<6 &plic 19>, <7 &plic 20>, <8 &plic 21>,
171+
<9 &plic 22>, <10 &plic 23>, <11 &plic 24>,
172+
<12 &plic 25>, <13 &plic 26>,
173+
174+
<32 &plic 27>, <33 &plic 28>, <34 &plic 29>,
175+
<35 &plic 30>, <36 &plic 31>, <37 &plic 32>,
176+
<38 &plic 33>, <39 &plic 34>, <40 &plic 35>,
177+
<41 &plic 36>, <42 &plic 37>, <43 &plic 38>,
178+
<44 &plic 39>, <45 &plic 40>, <46 &plic 41>,
179+
<47 &plic 42>, <48 &plic 43>, <49 &plic 44>,
180+
<50 &plic 45>, <51 &plic 46>, <52 &plic 47>,
181+
<53 &plic 48>, <54 &plic 49>, <55 &plic 50>,
182+
183+
<64 &plic 53>, <65 &plic 53>, <66 &plic 53>,
184+
<67 &plic 53>, <68 &plic 53>, <69 &plic 53>,
185+
<70 &plic 53>, <71 &plic 53>, <72 &plic 53>,
186+
<73 &plic 53>, <74 &plic 53>, <75 &plic 53>,
187+
<76 &plic 53>, <77 &plic 53>, <78 &plic 53>,
188+
<79 &plic 53>, <80 &plic 53>, <81 &plic 53>,
189+
<82 &plic 53>, <83 &plic 53>, <84 &plic 53>,
190+
<85 &plic 53>, <86 &plic 53>, <87 &plic 53>,
191+
<88 &plic 53>, <89 &plic 53>, <90 &plic 53>,
192+
<91 &plic 53>, <92 &plic 53>, <93 &plic 53>,
193+
<94 &plic 53>, <95 &plic 53>;
194+
};
195+
167196
&mac0 {
168197
status = "okay";
169198
phy-mode = "sgmii";

arch/riscv/boot/dts/microchip/mpfs-disco-kit.dts

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -97,24 +97,10 @@
9797
};
9898

9999
&gpio1 {
100-
interrupts = <27>, <28>, <29>, <30>,
101-
<31>, <32>, <33>, <47>,
102-
<35>, <36>, <37>, <38>,
103-
<39>, <40>, <41>, <42>,
104-
<43>, <44>, <45>, <46>,
105-
<47>, <48>, <49>, <50>;
106100
status = "okay";
107101
};
108102

109103
&gpio2 {
110-
interrupts = <53>, <53>, <53>, <53>,
111-
<53>, <53>, <53>, <53>,
112-
<53>, <53>, <53>, <53>,
113-
<53>, <53>, <53>, <53>,
114-
<53>, <53>, <53>, <53>,
115-
<53>, <53>, <53>, <53>,
116-
<53>, <53>, <53>, <53>,
117-
<53>, <53>, <53>, <53>;
118104
status = "okay";
119105
};
120106

@@ -130,6 +116,35 @@
130116
status = "okay";
131117
};
132118

119+
&irqmux {
120+
interrupt-map = <0 &plic 13>, <1 &plic 14>, <2 &plic 15>,
121+
<3 &plic 16>, <4 &plic 17>, <5 &plic 18>,
122+
<6 &plic 19>, <7 &plic 20>, <8 &plic 21>,
123+
<9 &plic 22>, <10 &plic 23>, <11 &plic 24>,
124+
<12 &plic 25>, <13 &plic 26>,
125+
126+
<32 &plic 27>, <33 &plic 28>, <34 &plic 29>,
127+
<35 &plic 30>, <36 &plic 31>, <37 &plic 32>,
128+
<38 &plic 33>, <39 &plic 34>, <40 &plic 35>,
129+
<41 &plic 36>, <42 &plic 37>, <43 &plic 38>,
130+
<44 &plic 39>, <45 &plic 40>, <46 &plic 41>,
131+
<47 &plic 42>, <48 &plic 43>, <49 &plic 44>,
132+
<50 &plic 45>, <51 &plic 46>, <52 &plic 47>,
133+
<53 &plic 48>, <54 &plic 49>, <55 &plic 50>,
134+
135+
<64 &plic 53>, <65 &plic 53>, <66 &plic 53>,
136+
<67 &plic 53>, <68 &plic 53>, <69 &plic 53>,
137+
<70 &plic 53>, <71 &plic 53>, <72 &plic 53>,
138+
<73 &plic 53>, <74 &plic 53>, <75 &plic 53>,
139+
<76 &plic 53>, <77 &plic 53>, <78 &plic 53>,
140+
<79 &plic 53>, <80 &plic 53>, <81 &plic 53>,
141+
<82 &plic 53>, <83 &plic 53>, <84 &plic 53>,
142+
<85 &plic 53>, <86 &plic 53>, <87 &plic 53>,
143+
<88 &plic 53>, <89 &plic 53>, <90 &plic 53>,
144+
<91 &plic 53>, <92 &plic 53>, <93 &plic 53>,
145+
<94 &plic 53>, <95 &plic 53>;
146+
};
147+
133148
&mac0 {
134149
phy-mode = "sgmii";
135150
phy-handle = <&phy0>;

arch/riscv/boot/dts/microchip/mpfs-icicle-kit-common.dtsi

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
/dts-v1/;
55

6-
#include "mpfs.dtsi"
76
#include "mpfs-icicle-kit-fabric.dtsi"
87
#include <dt-bindings/gpio/gpio.h>
98
#include <dt-bindings/leds/common.h>
@@ -77,14 +76,6 @@
7776
};
7877

7978
&gpio2 {
80-
interrupts = <53>, <53>, <53>, <53>,
81-
<53>, <53>, <53>, <53>,
82-
<53>, <53>, <53>, <53>,
83-
<53>, <53>, <53>, <53>,
84-
<53>, <53>, <53>, <53>,
85-
<53>, <53>, <53>, <53>,
86-
<53>, <53>, <53>, <53>,
87-
<53>, <53>, <53>, <53>;
8879
status = "okay";
8980
};
9081

@@ -136,6 +127,35 @@
136127
status = "okay";
137128
};
138129

130+
&irqmux {
131+
interrupt-map = <0 &plic 13>, <1 &plic 14>, <2 &plic 15>,
132+
<3 &plic 16>, <4 &plic 17>, <5 &plic 18>,
133+
<6 &plic 19>, <7 &plic 20>, <8 &plic 21>,
134+
<9 &plic 22>, <10 &plic 23>, <11 &plic 24>,
135+
<12 &plic 25>, <13 &plic 26>,
136+
137+
<32 &plic 27>, <33 &plic 28>, <34 &plic 29>,
138+
<35 &plic 30>, <36 &plic 31>, <37 &plic 32>,
139+
<38 &plic 33>, <39 &plic 34>, <40 &plic 35>,
140+
<41 &plic 36>, <42 &plic 37>, <43 &plic 38>,
141+
<44 &plic 39>, <45 &plic 40>, <46 &plic 41>,
142+
<47 &plic 42>, <48 &plic 43>, <49 &plic 44>,
143+
<50 &plic 45>, <51 &plic 46>, <52 &plic 47>,
144+
<53 &plic 48>, <54 &plic 49>, <55 &plic 50>,
145+
146+
<64 &plic 53>, <65 &plic 53>, <66 &plic 53>,
147+
<67 &plic 53>, <68 &plic 53>, <69 &plic 53>,
148+
<70 &plic 53>, <71 &plic 53>, <72 &plic 53>,
149+
<73 &plic 53>, <74 &plic 53>, <75 &plic 53>,
150+
<76 &plic 53>, <77 &plic 53>, <78 &plic 53>,
151+
<79 &plic 53>, <80 &plic 53>, <81 &plic 53>,
152+
<82 &plic 53>, <83 &plic 53>, <84 &plic 53>,
153+
<85 &plic 53>, <86 &plic 53>, <87 &plic 53>,
154+
<88 &plic 53>, <89 &plic 53>, <90 &plic 53>,
155+
<91 &plic 53>, <92 &plic 53>, <93 &plic 53>,
156+
<94 &plic 53>, <95 &plic 53>;
157+
};
158+
139159
&mac0 {
140160
phy-mode = "sgmii";
141161
phy-handle = <&phy0>;

arch/riscv/boot/dts/microchip/mpfs-icicle-kit-fabric.dtsi

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
22
/* Copyright (c) 2020-2021 Microchip Technology Inc */
33

4+
#include "mpfs.dtsi"
5+
#include "mpfs-pinctrl.dtsi"
6+
47
/ {
58
core_pwm0: pwm@40000000 {
69
compatible = "microchip,corepwm-rtl-v4";
@@ -80,10 +83,70 @@
8083
};
8184
};
8285

86+
&can0 {
87+
pinctrl-names = "default";
88+
pinctrl-0 = <&can0_fabric>;
89+
};
90+
91+
&can1 {
92+
pinctrl-names = "default";
93+
pinctrl-0 = <&ikrd_can1_cfg>;
94+
};
95+
8396
&ccc_nw {
8497
clocks = <&refclk_ccc>, <&refclk_ccc>, <&refclk_ccc>, <&refclk_ccc>,
8598
<&refclk_ccc>, <&refclk_ccc>;
8699
clock-names = "pll0_ref0", "pll0_ref1", "pll1_ref0", "pll1_ref1",
87100
"dll0_ref", "dll1_ref";
88101
status = "okay";
89102
};
103+
104+
&i2c0 {
105+
pinctrl-names = "default";
106+
pinctrl-0 = <&i2c0_fabric>;
107+
};
108+
109+
&i2c1 {
110+
pinctrl-names = "default";
111+
pinctrl-0 = <&i2c1_mssio>;
112+
};
113+
114+
&mmuart1 {
115+
pinctrl-names = "default";
116+
pinctrl-0 = <&uart1_fabric>;
117+
};
118+
119+
&mmuart2 {
120+
pinctrl-names = "default";
121+
pinctrl-0 = <&uart2_fabric>;
122+
};
123+
124+
&mmuart3 {
125+
pinctrl-names = "default";
126+
pinctrl-0 = <&uart3_fabric>;
127+
};
128+
129+
&mmuart4 {
130+
pinctrl-names = "default";
131+
pinctrl-0 = <&uart4_fabric>;
132+
};
133+
134+
&mssio {
135+
pinctrl-names = "default";
136+
pinctrl-0 = <&spi1_mssio>, <&can1_mssio>, <&mdio0_mssio>, <&mdio1_mssio>;
137+
};
138+
139+
&qspi {
140+
pinctrl-names = "default";
141+
pinctrl-0 = <&qspi_fabric>;
142+
};
143+
144+
&spi0 {
145+
pinctrl-names = "default";
146+
pinctrl-0 = <&spi0_fabric>;
147+
};
148+
149+
&spi1 {
150+
pinctrl-names = "default";
151+
pinctrl-0 = <&ikrd_spi1_cfg>;
152+
};

arch/riscv/boot/dts/microchip/mpfs-m100pfsevp.dts

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,36 @@
5252
status = "okay";
5353
};
5454

55+
&irqmux {
56+
interrupt-map = <0 &plic 13>, <1 &plic 14>, <2 &plic 15>,
57+
<3 &plic 16>, <4 &plic 17>, <5 &plic 18>,
58+
<6 &plic 19>, <7 &plic 20>, <8 &plic 21>,
59+
<9 &plic 22>, <10 &plic 23>, <11 &plic 24>,
60+
<12 &plic 25>, <13 &plic 26>,
61+
62+
<32 &plic 27>, <33 &plic 28>, <34 &plic 29>,
63+
<35 &plic 30>, <36 &plic 31>, <37 &plic 32>,
64+
<38 &plic 33>, <39 &plic 34>, <40 &plic 35>,
65+
<41 &plic 36>, <42 &plic 37>, <43 &plic 38>,
66+
<44 &plic 39>, <45 &plic 40>, <46 &plic 41>,
67+
<47 &plic 42>, <48 &plic 43>, <49 &plic 44>,
68+
<50 &plic 45>, <51 &plic 46>, <52 &plic 47>,
69+
<53 &plic 48>, <54 &plic 49>, <55 &plic 50>,
70+
71+
<64 &plic 53>, <65 &plic 53>, <66 &plic 53>,
72+
<67 &plic 53>, <68 &plic 53>, <69 &plic 53>,
73+
<70 &plic 53>, <71 &plic 53>, <72 &plic 53>,
74+
<73 &plic 53>, <74 &plic 53>, <75 &plic 53>,
75+
<76 &plic 53>, <77 &plic 53>, <78 &plic 53>,
76+
<79 &plic 53>, <80 &plic 53>, <81 &plic 53>,
77+
<82 &plic 53>, <83 &plic 53>, <84 &plic 53>,
78+
<85 &plic 53>, <86 &plic 53>, <87 &plic 53>,
79+
<88 &plic 53>, <89 &plic 53>, <90 &plic 53>,
80+
<91 &plic 53>, <92 &plic 53>, <93 &plic 53>,
81+
<94 &plic 53>, <95 &plic 53>;
82+
};
83+
5584
&gpio0 {
56-
interrupts = <13>, <14>, <15>, <16>,
57-
<17>, <18>, <19>, <20>,
58-
<21>, <22>, <23>, <24>,
59-
<25>, <26>;
6085
ngpios = <14>;
6186
status = "okay";
6287

@@ -75,14 +100,6 @@
75100
};
76101

77102
&gpio2 {
78-
interrupts = <13>, <14>, <15>, <16>,
79-
<17>, <18>, <19>, <20>,
80-
<21>, <22>, <23>, <24>,
81-
<25>, <26>, <27>, <28>,
82-
<29>, <30>, <31>, <32>,
83-
<33>, <34>, <35>, <36>,
84-
<37>, <38>, <39>, <40>,
85-
<41>, <42>, <43>, <44>;
86103
status = "okay";
87104
};
88105

0 commit comments

Comments
 (0)