Skip to content

Commit 95e3f34

Browse files
TekkamanVesmil
authored andcommitted
riscv: dts: Add JH7100 and BeagleV Starlight support
This is the device tree from https://github.com/starfive-tech/u-boot/ Rearranged, cleanups, fixes and TPS65086 added by Emil. Cleanups, fixes and LED added by Geert. Signed-off-by: yanhong.wang <yanhong.wang@starfivetech.com> Signed-off-by: Huan.Feng <huan.feng@starfivetech.com> Signed-off-by: ke.zhu <ke.zhu@starfivetech.com> Signed-off-by: yiming.li <yiming.li@starfivetech.com> Signed-off-by: jack.zhu <jack.zhu@starfivetech.com> Signed-off-by: Samin Guo <samin.guo@starfivetech.com> Signed-off-by: Chenjieqin <Jessica.Chen@starfivetech.com> Signed-off-by: bo.li <bo.li@starfivetech.com> Signed-off-by: Emil Renner Berthing <kernel@esmil.dk> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
1 parent 247c817 commit 95e3f34

File tree

5 files changed

+1165
-1
lines changed

5 files changed

+1165
-1
lines changed

arch/riscv/boot/dts/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SPDX-License-Identifier: GPL-2.0
2-
subdir-y += sifive
2+
subdir-y += sifive starfive
33
subdir-$(CONFIG_SOC_CANAAN_K210_DTB_BUILTIN) += canaan
44
subdir-y += microchip
55

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
dtb-$(CONFIG_SOC_STARFIVE_VIC7100) += jh7100-starlight.dtb
Lines changed: 387 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,387 @@
1+
/dts-v1/;
2+
#include "jh7100.dtsi"
3+
#include <dt-bindings/starfive_fb.h>
4+
#include <dt-bindings/gpio/gpio.h>
5+
#include <dt-bindings/leds/common.h>
6+
7+
/ {
8+
#address-cells = <2>;
9+
#size-cells = <2>;
10+
compatible = "beagle,beaglev-starlight-jh7100";
11+
model = "BeagleV Starlight Beta";
12+
13+
aliases {
14+
mshc0 = &sdio0;
15+
mshc1 = &sdio1;
16+
serial0 = &uart3;
17+
serial1 = &uart0;
18+
};
19+
20+
chosen {
21+
stdout-path = "serial0:115200";
22+
};
23+
24+
cpus {
25+
timebase-frequency = <6250000>;
26+
};
27+
28+
leds {
29+
compatible = "gpio-leds";
30+
31+
led-ack {
32+
gpios = <&gpio 43 GPIO_ACTIVE_HIGH>;
33+
color = <LED_COLOR_ID_GREEN>;
34+
function = LED_FUNCTION_HEARTBEAT;
35+
linux,default-trigger = "heartbeat";
36+
label = "ack";
37+
};
38+
};
39+
40+
wifi_pwrseq: wifi-pwrseq {
41+
compatible = "mmc-pwrseq-simple";
42+
reset-gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
43+
};
44+
};
45+
46+
&uart0 {
47+
status = "okay";
48+
};
49+
50+
&uart3 {
51+
status = "okay";
52+
};
53+
54+
&usb3 {
55+
dr_mode = "host";
56+
status = "okay";
57+
};
58+
59+
&i2c0 {
60+
imx219@10 {
61+
compatible = "imx219";
62+
reg = <0x10>;
63+
reset-gpio = <&gpio 58 0>;
64+
};
65+
66+
tps65086@5e {
67+
compatible = "ti,tps65086";
68+
reg = <0x5e>;
69+
/*
70+
interrupt-parent = <&gpio1>;
71+
interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
72+
interrupt-controller;
73+
#interrupt-cells = <2>;
74+
*/
75+
gpio-controller;
76+
#gpio-cells = <2>;
77+
};
78+
79+
tda998x@70 {
80+
compatible = "nxp,tda998x";
81+
reg = <0x70>;
82+
};
83+
};
84+
85+
&i2c2 {
86+
seeed_plane_i2c@45 {
87+
compatible = "seeed_panel";
88+
reg = <0x45>;
89+
};
90+
};
91+
92+
&qspi {
93+
nor_flash: nor-flash@0 {
94+
compatible = "spi-flash";
95+
reg = <0>;
96+
spi-max-frequency = <31250000>;
97+
page-size = <256>;
98+
block-size = <16>;
99+
cdns,read-delay = <4>;
100+
cdns,tshsl-ns = <1>;
101+
cdns,tsd2d-ns = <1>;
102+
cdns,tchsh-ns = <1>;
103+
cdns,tslch-ns = <1>;
104+
spi-tx-bus-width = <1>;
105+
spi-rx-bus-width = <1>;
106+
};
107+
108+
nand_flash: nand-flash@1 {
109+
compatible = "spi-flash-nand";
110+
reg = <1>;
111+
spi-max-frequency = <31250000>;
112+
page-size = <2048>;
113+
block-size = <17>;
114+
cdns,read-delay = <4>;
115+
cdns,tshsl-ns = <1>;
116+
cdns,tsd2d-ns = <1>;
117+
cdns,tchsh-ns = <1>;
118+
cdns,tslch-ns = <1>;
119+
spi-tx-bus-width = <1>;
120+
spi-rx-bus-width = <1>;
121+
};
122+
};
123+
124+
&spi2 {
125+
status = "okay";
126+
127+
spi_dev0: spi@0 {
128+
compatible = "rohm,dh2228fv";
129+
spi-max-frequency = <10000000>;
130+
reg = <0>;
131+
};
132+
};
133+
134+
&sdio0 {
135+
bus-width = <4>;
136+
cap-sd-highspeed;
137+
status = "okay";
138+
};
139+
140+
&sdio1 {
141+
#address-cells = <1>;
142+
#size-cells = <0>;
143+
bus-width = <4>;
144+
cap-sd-highspeed;
145+
cap-sdio-irq;
146+
cap-power-off-card;
147+
mmc-pwrseq = <&wifi_pwrseq>;
148+
non-removable;
149+
status = "okay";
150+
151+
wifi@1 {
152+
compatible = "brcm,bcm4329-fmac";
153+
reg = <1>;
154+
};
155+
};
156+
157+
&sfivefb {
158+
/*
159+
pp1 {
160+
pp-id = <1>;
161+
fifo-out;
162+
src-format = <COLOR_YUV420_NV21>;
163+
src-width = <800>;
164+
src-height = <480>;
165+
dst-format = <COLOR_RGB888_ARGB>;
166+
dst-width = <800>;
167+
dst-height = <480>;
168+
};
169+
*/
170+
171+
tda_998x_1080p {
172+
compatible = "starfive,display-dev";
173+
panel_name = "tda_998x_1080p";
174+
panel_lcd_id = <22>; /* 1080p */
175+
interface_info = "rgb_interface";
176+
refresh_en = <1>;
177+
bits-per-pixel = <16>;
178+
physical-width = <62>;
179+
physical-height = <114>;
180+
panel-width = <1920>;
181+
panel-height = <1080>;
182+
pixel-clock = <78000000>;
183+
/*dyn_fps;*/ /*dynamic frame rate support*/
184+
185+
/*.flags = PREFER_CMD_SEND_MONOLITHIC | CE_CMD_SEND_MONOLITHIC | RESUME_WITH_PREFER | RESUME_WITH_CE*/
186+
/*gamma-command-monolithic;*/
187+
/*ce-command-monolithic;*/
188+
/*resume-with-gamma;*/
189+
/*resume-with-ce;*/
190+
191+
/*mipi info*/
192+
mipi-byte-clock = <78000>;
193+
mipi-escape-clock = <13000>;
194+
lane-no = <4>;
195+
display_mode = "video_mode"; /*video_mode, command_mode*/
196+
197+
/*
198+
auto_stop_clklane_en;
199+
im_pin_val;*/
200+
201+
color_bits = <COLOR_CODE_24BIT>;
202+
/*is_18bit_loosely;*/
203+
204+
/*video mode info*/
205+
h-pulse-width = <44>;
206+
h-back-porch = <148>;
207+
h-front-porch = <88>;
208+
v-pulse-width = <5>;
209+
v-back-porch = <36>;
210+
v-front-porch = <4>;
211+
status = "okay";
212+
sync_pol = "vsync_high_act"; /*vsync_high_act, hsync_high_act*/
213+
lp_cmd_en;
214+
/*lp_hfp_en;*/
215+
/*lp_hbp_en;*/
216+
/*lp_vact_en;*/
217+
lp_vfp_en;
218+
lp_vbp_en;
219+
lp_vsa_en;
220+
traffic-mode = "burst_with_sync_pulses"; /*non_burst_with_sync_pulses, non_burst_with_sync_events*/
221+
222+
/*phy info*/
223+
data_tprepare = /bits/ 8 <0>;
224+
data_hs_zero = /bits/ 8 <0>;
225+
data_hs_exit = /bits/ 8 <0>;
226+
data_hs_trail = /bits/ 8 <0>;
227+
228+
/*te info*/
229+
te_source = "external_pin"; /*external_pin, dsi_te_trigger*/
230+
te_trigger_mode = "rising_edge"; /*rising_edge, high_1000us*/
231+
te_enable = <0>;
232+
cm_te_effect_sync_enable = <0>; /*used in command mode*/
233+
te_count_per_sec = <64>; /*used in esd*/
234+
235+
/*ext info*/
236+
/*
237+
crc_rx_en;
238+
ecc_rx_en;
239+
eotp_rx_en;
240+
*/
241+
eotp_tx_en;
242+
243+
dev_read_time = <0x7fff>;
244+
/*type cmd return_count return_code*/
245+
/*id_read_cmd_info = [];*/
246+
/*pre_id_cmd = [];*/
247+
/*esd_read_cmd_info = [DCS_CMD 0A 01 9C];*/
248+
/*pre_esd_cmd = [];*/
249+
/*panel-on-command = [];*/
250+
/*panel-off-command = [];*/
251+
/*reset-sequence = <1 5>, <0 10>, <1 30>;*/
252+
/*
253+
panel-gamma-warm-command = [
254+
255+
];
256+
panel-gamma-nature-command = [
257+
258+
];
259+
panel-gamma-cool-command = [
260+
261+
];
262+
263+
panel-ce-std-command = [
264+
265+
];
266+
panel-ce-vivid-command = [
267+
268+
];
269+
*/
270+
};
271+
272+
seeed_5_inch {
273+
compatible = "starfive,display-dev";
274+
panel_name = "seeed_5_inch";
275+
panel_lcd_id = <22>; /* 480p */
276+
interface_info = "mipi_interface";
277+
refresh_en = <1>;
278+
bits-per-pixel = <24>;
279+
physical-width = <62>;
280+
physical-height = <114>;
281+
panel-width = <800>;
282+
panel-height = <480>;
283+
pixel-clock = <27500000>;
284+
/*dyn_fps;*/ /*dynamic frame rate support*/
285+
fps = <50>;
286+
/*.flags = PREFER_CMD_SEND_MONOLITHIC | CE_CMD_SEND_MONOLITHIC | RESUME_WITH_PREFER | RESUME_WITH_CE*/
287+
/*gamma-command-monolithic;*/
288+
/*ce-command-monolithic;*/
289+
/*resume-with-gamma;*/
290+
/*resume-with-ce;*/
291+
292+
/*mipi info*/
293+
mipi-byte-clock = <78000>;
294+
mipi-escape-clock = <13000>;
295+
lane-no = <1>;
296+
display_mode = "video_mode"; /*video_mode, command_mode*/
297+
298+
/*
299+
auto_stop_clklane_en;
300+
im_pin_val;
301+
*/
302+
303+
color_bits = <COLOR_CODE_24BIT>;
304+
/*is_18bit_loosely;*/
305+
306+
/*video mode info*/
307+
h-pulse-width = <10>;
308+
h-back-porch = <20>;
309+
h-front-porch = <50>;
310+
v-pulse-width = <5>;
311+
v-back-porch = <5>;
312+
v-front-porch = <135>;
313+
314+
/*seeed panel mode info*/
315+
dphy_bps = <700000000>;
316+
dsi_burst_mode = <0>;
317+
dsi_sync_pulse = <1>;
318+
// bytes
319+
dsi_hsa = <30>;
320+
dsi_hbp = <211>;
321+
dsi_hfp = <159>;
322+
// lines
323+
dsi_vsa = <5>;
324+
dsi_vbp = <5>;
325+
dsi_vfp = <134>;
326+
327+
status = "okay";
328+
sync_pol = "vsync_high_act"; /*vsync_high_act, hsync_high_act*/
329+
lp_cmd_en;
330+
/*lp_hfp_en;*/
331+
/*lp_hbp_en;*/
332+
/*lp_vact_en;*/
333+
lp_vfp_en;
334+
lp_vbp_en;
335+
lp_vsa_en;
336+
traffic-mode = "burst_with_sync_pulses"; /*non_burst_with_sync_pulses, non_burst_with_sync_events*/
337+
338+
/*phy info*/
339+
data_tprepare = /bits/ 8 <0>;
340+
data_hs_zero = /bits/ 8 <0>;
341+
data_hs_exit = /bits/ 8 <0>;
342+
data_hs_trail = /bits/ 8 <0>;
343+
344+
/*te info*/
345+
te_source = "external_pin"; /*external_pin, dsi_te_trigger*/
346+
te_trigger_mode = "rising_edge"; /*rising_edge, high_1000us*/
347+
te_enable = <0>;
348+
cm_te_effect_sync_enable = <0>; /*used in command mode*/
349+
te_count_per_sec = <64>; /*used in esd*/
350+
351+
/*ext info*/
352+
/*
353+
crc_rx_en;
354+
ecc_rx_en;
355+
eotp_rx_en;
356+
*/
357+
eotp_tx_en;
358+
359+
dev_read_time = <0x7fff>;
360+
/*type cmd return_count return_code*/
361+
/*id_read_cmd_info = [];*/
362+
/*pre_id_cmd = [];*/
363+
/*esd_read_cmd_info = [DCS_CMD 0A 01 9C];*/
364+
/*pre_esd_cmd = [];*/
365+
/*panel-on-command = [];*/
366+
/*panel-off-command = [];*/
367+
/*reset-sequence = <1 5>, <0 10>, <1 30>;*/
368+
/*
369+
panel-gamma-warm-command = [
370+
371+
];
372+
panel-gamma-nature-command = [
373+
374+
];
375+
panel-gamma-cool-command = [
376+
377+
];
378+
379+
panel-ce-std-command = [
380+
381+
];
382+
panel-ce-vivid-command = [
383+
384+
];
385+
*/
386+
};
387+
};

0 commit comments

Comments
 (0)