Skip to content

Commit 31f6b5a

Browse files
committed
Merge tag 'riscv-dt-for-v6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/dt
RISC-V Devicetrees for v6.11 T-Head: Last change from me before this starts going via Drew's tree is the addition of the SBI PMU events node for the th1520. StarFive: A dts for the Pin64 Star64, another board with a jh7110 SoC. This board is almost identical to the existing Milk-v Mars and VisionFive 2 boards that are already support - just with a different PHY configuration and only one of the two PCIe ports exposed. Additionally, the Mars and VisionFive 2 get their PCie configuration added. Microchip: A dts for the BeagleV Fire. PCIe is disabled on it for now, as some binding and driver changes are required. Signed-off-by: Conor Dooley <[email protected]> * tag 'riscv-dt-for-v6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux: riscv: dts: starfive: add PCIe dts configuration for JH7110 riscv: dts: microchip: add an initial devicetree for the BeagleV Fire dt-bindings: riscv: microchip: document beaglev-fire riscv: dts: starfive: Update flash partition layout riscv: dts: thead: th1520: Add PMU event node riscv: dts: starfive: add Star64 board devicetree dt-bindings: riscv: starfive: add Star64 board compatible dt-bindings: riscv: Add T-HEAD C908 compatible Link: https://lore.kernel.org/r/20240707-nuttiness-lustfully-4aaf03c991b2@spud Signed-off-by: Arnd Bergmann <[email protected]>
2 parents 2d61b93 + 2904244 commit 31f6b5a

File tree

13 files changed

+621
-5
lines changed

13 files changed

+621
-5
lines changed

Documentation/devicetree/bindings/riscv/cpus.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ properties:
4747
- sifive,u74
4848
- sifive,u74-mc
4949
- thead,c906
50+
- thead,c908
5051
- thead,c910
5152
- thead,c920
5253
- const: riscv

Documentation/devicetree/bindings/riscv/microchip.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ properties:
2929
- enum:
3030
- aldec,tysom-m-mpfs250t-rev2
3131
- aries,m100pfsevp
32+
- beagle,beaglev-fire
3233
- microchip,mpfs-sev-kit
3334
- sundance,polarberry
3435
- const: microchip,mpfs

Documentation/devicetree/bindings/riscv/starfive.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ properties:
2727
- items:
2828
- enum:
2929
- milkv,mars
30+
- pine64,star64
3031
- starfive,visionfive-2-v1.2a
3132
- starfive,visionfive-2-v1.3b
3233
- const: starfive,jh7110

arch/riscv/boot/dts/microchip/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# SPDX-License-Identifier: GPL-2.0
2+
dtb-$(CONFIG_ARCH_MICROCHIP_POLARFIRE) += mpfs-beaglev-fire.dtb
23
dtb-$(CONFIG_ARCH_MICROCHIP_POLARFIRE) += mpfs-icicle-kit.dtb
34
dtb-$(CONFIG_ARCH_MICROCHIP_POLARFIRE) += mpfs-m100pfsevp.dtb
45
dtb-$(CONFIG_ARCH_MICROCHIP_POLARFIRE) += mpfs-polarberry.dtb
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2+
3+
/ {
4+
fabric_clk3: fabric-clk3 {
5+
compatible = "fixed-clock";
6+
#clock-cells = <0>;
7+
clock-frequency = <50000000>;
8+
};
9+
10+
fabric_clk1: fabric-clk1 {
11+
compatible = "fixed-clock";
12+
#clock-cells = <0>;
13+
clock-frequency = <125000000>;
14+
};
15+
16+
fabric-bus@40000000 {
17+
compatible = "simple-bus";
18+
#address-cells = <2>;
19+
#size-cells = <2>;
20+
ranges = <0x0 0x40000000 0x0 0x40000000 0x0 0x20000000>, /* FIC3-FAB */
21+
<0x0 0x60000000 0x0 0x60000000 0x0 0x20000000>, /* FIC0, LO */
22+
<0x0 0xe0000000 0x0 0xe0000000 0x0 0x20000000>, /* FIC1, LO */
23+
<0x20 0x0 0x20 0x0 0x10 0x0>, /* FIC0,HI */
24+
<0x30 0x0 0x30 0x0 0x10 0x0>; /* FIC1,HI */
25+
26+
cape_gpios_p8: gpio@41100000 {
27+
compatible = "microchip,coregpio-rtl-v3";
28+
reg = <0x0 0x41100000 0x0 0x1000>;
29+
clocks = <&fabric_clk3>;
30+
gpio-controller;
31+
#gpio-cells = <2>;
32+
ngpios = <16>;
33+
gpio-line-names = "P8_PIN31", "P8_PIN32", "P8_PIN33", "P8_PIN34",
34+
"P8_PIN35", "P8_PIN36", "P8_PIN37", "P8_PIN38",
35+
"P8_PIN39", "P8_PIN40", "P8_PIN41", "P8_PIN42",
36+
"P8_PIN43", "P8_PIN44", "P8_PIN45", "P8_PIN46";
37+
};
38+
39+
cape_gpios_p9: gpio@41200000 {
40+
compatible = "microchip,coregpio-rtl-v3";
41+
reg = <0x0 0x41200000 0x0 0x1000>;
42+
clocks = <&fabric_clk3>;
43+
gpio-controller;
44+
#gpio-cells = <2>;
45+
ngpios = <20>;
46+
gpio-line-names = "P9_PIN11", "P9_PIN12", "P9_PIN13", "P9_PIN14",
47+
"P9_PIN15", "P9_PIN16", "P9_PIN17", "P9_PIN18",
48+
"P9_PIN21", "P9_PIN22", "P9_PIN23", "P9_PIN24",
49+
"P9_PIN25", "P9_PIN26", "P9_PIN27", "P9_PIN28",
50+
"P9_PIN29", "P9_PIN31", "P9_PIN41", "P9_PIN42";
51+
};
52+
53+
hsi_gpios: gpio@44000000 {
54+
compatible = "microchip,coregpio-rtl-v3";
55+
reg = <0x0 0x44000000 0x0 0x1000>;
56+
clocks = <&fabric_clk3>;
57+
gpio-controller;
58+
#gpio-cells = <2>;
59+
ngpios = <20>;
60+
gpio-line-names = "B0_HSIO70N", "B0_HSIO71N", "B0_HSIO83N",
61+
"B0_HSIO73N_C2P_CLKN", "B0_HSIO70P", "B0_HSIO71P",
62+
"B0_HSIO83P", "B0_HSIO73N_C2P_CLKP", "XCVR1_RX_VALID",
63+
"XCVR1_LOCK", "XCVR1_ERROR", "XCVR2_RX_VALID",
64+
"XCVR2_LOCK", "XCVR2_ERROR", "XCVR3_RX_VALID",
65+
"XCVR3_LOCK", "XCVR3_ERROR", "XCVR_0B_REF_CLK_PLL_LOCK",
66+
"XCVR_0C_REF_CLK_PLL_LOCK", "B0_HSIO81N";
67+
};
68+
};
69+
70+
refclk_ccc: cccrefclk {
71+
compatible = "fixed-clock";
72+
#clock-cells = <0>;
73+
};
74+
};
75+
76+
&ccc_nw {
77+
clocks = <&refclk_ccc>, <&refclk_ccc>, <&refclk_ccc>, <&refclk_ccc>,
78+
<&refclk_ccc>, <&refclk_ccc>;
79+
clock-names = "pll0_ref0", "pll0_ref1", "pll1_ref0", "pll1_ref1",
80+
"dll0_ref", "dll1_ref";
81+
status = "okay";
82+
};
Lines changed: 223 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,223 @@
1+
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2+
/* Copyright (c) 2020-2021 Microchip Technology Inc */
3+
4+
/dts-v1/;
5+
6+
#include <dt-bindings/gpio/gpio.h>
7+
#include "mpfs.dtsi"
8+
#include "mpfs-beaglev-fire-fabric.dtsi"
9+
10+
/* Clock frequency (in Hz) of MTIMER */
11+
#define MTIMER_FREQ 1000000
12+
13+
/ {
14+
#address-cells = <2>;
15+
#size-cells = <2>;
16+
model = "BeagleBoard BeagleV-Fire";
17+
compatible = "beagle,beaglev-fire", "microchip,mpfs";
18+
19+
aliases {
20+
serial0 = &mmuart0;
21+
serial1 = &mmuart1;
22+
serial2 = &mmuart2;
23+
serial3 = &mmuart3;
24+
serial4 = &mmuart4;
25+
};
26+
27+
chosen {
28+
stdout-path = "serial0:115200n8";
29+
};
30+
31+
cpus {
32+
timebase-frequency = <MTIMER_FREQ>;
33+
};
34+
35+
ddrc_cache_lo: memory@80000000 {
36+
device_type = "memory";
37+
reg = <0x0 0x80000000 0x0 0x40000000>;
38+
status = "okay";
39+
};
40+
41+
reserved-memory {
42+
#address-cells = <2>;
43+
#size-cells = <2>;
44+
ranges;
45+
46+
hss: hss-buffer@103fc00000 {
47+
compatible = "shared-dma-pool";
48+
reg = <0x10 0x3fc00000 0x0 0x400000>;
49+
no-map;
50+
};
51+
};
52+
53+
imx219_clk: camera-clk {
54+
compatible = "fixed-clock";
55+
#clock-cells = <0>;
56+
clock-frequency = <24000000>;
57+
};
58+
59+
imx219_vana: fixedregulator-0 {
60+
compatible = "regulator-fixed";
61+
regulator-name = "imx219_vana";
62+
regulator-min-microvolt = <2800000>;
63+
regulator-max-microvolt = <2800000>;
64+
};
65+
66+
imx219_vdig: fixedregulator-1 {
67+
compatible = "regulator-fixed";
68+
regulator-name = "imx219_vdig";
69+
regulator-min-microvolt = <1800000>;
70+
regulator-max-microvolt = <1800000>;
71+
};
72+
73+
imx219_vddl: fixedregulator-2 {
74+
compatible = "regulator-fixed";
75+
regulator-name = "imx219_vddl";
76+
regulator-min-microvolt = <1200000>;
77+
regulator-max-microvolt = <1200000>;
78+
};
79+
80+
};
81+
82+
&gpio2 {
83+
interrupts = <53>, <53>, <53>, <53>,
84+
<53>, <53>, <53>, <53>,
85+
<53>, <53>, <53>, <53>,
86+
<53>, <53>, <53>, <53>,
87+
<53>, <53>, <53>, <53>,
88+
<53>, <53>, <53>, <53>,
89+
<53>, <53>, <53>, <53>,
90+
<53>, <53>, <53>, <53>;
91+
ngpios=<32>;
92+
gpio-line-names = "P8_PIN3_USER_LED_0", "P8_PIN4_USER_LED_1", "P8_PIN5_USER_LED_2",
93+
"P8_PIN6_USER_LED_3", "P8_PIN7_USER_LED_4", "P8_PIN8_USER_LED_5",
94+
"P8_PIN9_USER_LED_6", "P8_PIN10_USER_LED_7", "P8_PIN11_USER_LED_8",
95+
"P8_PIN12_USER_LED_9", "P8_PIN13_USER_LED_10", "P8_PIN14_USER_LED_11",
96+
"P8_PIN15", "P8_PIN16", "P8_PIN17", "P8_PIN18", "P8_PIN19", "P8_PIN20",
97+
"P8_PIN21", "P8_PIN22", "P8_PIN23", "P8_PIN24", "P8_PIN25", "P8_PIN26",
98+
"P8_PIN27", "P8_PIN28", "P8_PIN29", "P8_PIN30", "M2_W_DISABLE1",
99+
"M2_W_DISABLE2", "VIO_ENABLE", "SD_DET";
100+
status = "okay";
101+
102+
vio-enable-hog {
103+
gpio-hog;
104+
gpios = <30 30>;
105+
output-high;
106+
line-name = "VIO_ENABLE";
107+
};
108+
109+
sd-det-hog {
110+
gpio-hog;
111+
gpios = <31 31>;
112+
input;
113+
line-name = "SD_DET";
114+
};
115+
};
116+
117+
&i2c0 {
118+
status = "okay";
119+
};
120+
121+
&i2c1 {
122+
status = "okay";
123+
124+
eeprom: eeprom@50 {
125+
compatible = "atmel,24c32";
126+
reg = <0x50>;
127+
};
128+
129+
imx219: sensor@10 {
130+
compatible = "sony,imx219";
131+
reg = <0x10>;
132+
clocks = <&imx219_clk>;
133+
VANA-supply = <&imx219_vana>; /* 2.8v */
134+
VDIG-supply = <&imx219_vdig>; /* 1.8v */
135+
VDDL-supply = <&imx219_vddl>; /* 1.2v */
136+
137+
port {
138+
imx219_0: endpoint {
139+
data-lanes = <1 2>;
140+
clock-noncontinuous;
141+
link-frequencies = /bits/ 64 <456000000>;
142+
};
143+
};
144+
};
145+
};
146+
147+
&mac0 {
148+
status = "okay";
149+
phy-mode = "sgmii";
150+
phy-handle = <&phy0>;
151+
phy0: ethernet-phy@0 {
152+
reg = <0>;
153+
};
154+
};
155+
156+
&mbox {
157+
status = "okay";
158+
};
159+
160+
&mmc {
161+
bus-width = <4>;
162+
disable-wp;
163+
cap-sd-highspeed;
164+
cap-mmc-highspeed;
165+
mmc-ddr-1_8v;
166+
mmc-hs200-1_8v;
167+
sd-uhs-sdr12;
168+
sd-uhs-sdr25;
169+
sd-uhs-sdr50;
170+
sd-uhs-sdr104;
171+
status = "okay";
172+
};
173+
174+
&mmuart0 {
175+
status = "okay";
176+
};
177+
178+
&mmuart1 {
179+
status = "okay";
180+
};
181+
182+
&refclk {
183+
clock-frequency = <125000000>;
184+
};
185+
186+
&refclk_ccc {
187+
clock-frequency = <50000000>;
188+
};
189+
190+
&rtc {
191+
status = "okay";
192+
};
193+
194+
&spi0 {
195+
status = "okay";
196+
};
197+
198+
&spi1 {
199+
status = "okay";
200+
};
201+
202+
&syscontroller {
203+
microchip,bitstream-flash = <&sys_ctrl_flash>;
204+
status = "okay";
205+
};
206+
207+
&syscontroller_qspi {
208+
status = "okay";
209+
210+
sys_ctrl_flash: flash@0 { // MT25QL01GBBB8ESF-0SIT
211+
compatible = "jedec,spi-nor";
212+
#address-cells = <1>;
213+
#size-cells = <1>;
214+
spi-max-frequency = <20000000>;
215+
spi-rx-bus-width = <1>;
216+
reg = <0>;
217+
};
218+
};
219+
220+
&usb {
221+
status = "okay";
222+
dr_mode = "otg";
223+
};

arch/riscv/boot/dts/starfive/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-beaglev-starlight.dtb
99
dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-starfive-visionfive-v1.dtb
1010

1111
dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb
12+
dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-pine64-star64.dtb
1213
dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.2a.dtb
1314
dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-v1.3b.dtb

0 commit comments

Comments
 (0)