1*5076da2aSCristian Ciocaltea// SPDX-License-Identifier: GPL-2.0 OR MIT
2*5076da2aSCristian Ciocaltea/*
3*5076da2aSCristian Ciocaltea * Copyright (C) 2021 StarFive Technology Co., Ltd.
4*5076da2aSCristian Ciocaltea * Copyright (C) 2021 Emil Renner Berthing <kernel@esmil.dk>
5*5076da2aSCristian Ciocaltea */
6*5076da2aSCristian Ciocaltea
7*5076da2aSCristian Ciocaltea/dts-v1/;
8*5076da2aSCristian Ciocaltea#include "jh7100.dtsi"
9*5076da2aSCristian Ciocaltea#include <dt-bindings/gpio/gpio.h>
10*5076da2aSCristian Ciocaltea#include <dt-bindings/leds/common.h>
11*5076da2aSCristian Ciocaltea#include <dt-bindings/pinctrl/pinctrl-starfive-jh7100.h>
12*5076da2aSCristian Ciocaltea
13*5076da2aSCristian Ciocaltea/ {
14*5076da2aSCristian Ciocaltea	aliases {
15*5076da2aSCristian Ciocaltea		serial0 = &uart3;
16*5076da2aSCristian Ciocaltea	};
17*5076da2aSCristian Ciocaltea
18*5076da2aSCristian Ciocaltea	chosen {
19*5076da2aSCristian Ciocaltea		stdout-path = "serial0:115200n8";
20*5076da2aSCristian Ciocaltea	};
21*5076da2aSCristian Ciocaltea
22*5076da2aSCristian Ciocaltea	cpus {
23*5076da2aSCristian Ciocaltea		timebase-frequency = <6250000>;
24*5076da2aSCristian Ciocaltea	};
25*5076da2aSCristian Ciocaltea
26*5076da2aSCristian Ciocaltea	memory@80000000 {
27*5076da2aSCristian Ciocaltea		device_type = "memory";
28*5076da2aSCristian Ciocaltea		reg = <0x0 0x80000000 0x2 0x0>;
29*5076da2aSCristian Ciocaltea	};
30*5076da2aSCristian Ciocaltea
31*5076da2aSCristian Ciocaltea	leds {
32*5076da2aSCristian Ciocaltea		compatible = "gpio-leds";
33*5076da2aSCristian Ciocaltea
34*5076da2aSCristian Ciocaltea		led-ack {
35*5076da2aSCristian Ciocaltea			gpios = <&gpio 43 GPIO_ACTIVE_HIGH>;
36*5076da2aSCristian Ciocaltea			color = <LED_COLOR_ID_GREEN>;
37*5076da2aSCristian Ciocaltea			function = LED_FUNCTION_HEARTBEAT;
38*5076da2aSCristian Ciocaltea			linux,default-trigger = "heartbeat";
39*5076da2aSCristian Ciocaltea			label = "ack";
40*5076da2aSCristian Ciocaltea		};
41*5076da2aSCristian Ciocaltea	};
42*5076da2aSCristian Ciocaltea};
43*5076da2aSCristian Ciocaltea
44*5076da2aSCristian Ciocaltea&gpio {
45*5076da2aSCristian Ciocaltea	i2c0_pins: i2c0-0 {
46*5076da2aSCristian Ciocaltea		i2c-pins {
47*5076da2aSCristian Ciocaltea			pinmux = <GPIOMUX(62, GPO_LOW,
48*5076da2aSCristian Ciocaltea				  GPO_I2C0_PAD_SCK_OEN,
49*5076da2aSCristian Ciocaltea				  GPI_I2C0_PAD_SCK_IN)>,
50*5076da2aSCristian Ciocaltea				 <GPIOMUX(61, GPO_LOW,
51*5076da2aSCristian Ciocaltea				  GPO_I2C0_PAD_SDA_OEN,
52*5076da2aSCristian Ciocaltea				  GPI_I2C0_PAD_SDA_IN)>;
53*5076da2aSCristian Ciocaltea			bias-disable; /* external pull-up */
54*5076da2aSCristian Ciocaltea			input-enable;
55*5076da2aSCristian Ciocaltea			input-schmitt-enable;
56*5076da2aSCristian Ciocaltea		};
57*5076da2aSCristian Ciocaltea	};
58*5076da2aSCristian Ciocaltea
59*5076da2aSCristian Ciocaltea	i2c1_pins: i2c1-0 {
60*5076da2aSCristian Ciocaltea		i2c-pins {
61*5076da2aSCristian Ciocaltea			pinmux = <GPIOMUX(47, GPO_LOW,
62*5076da2aSCristian Ciocaltea				  GPO_I2C1_PAD_SCK_OEN,
63*5076da2aSCristian Ciocaltea				  GPI_I2C1_PAD_SCK_IN)>,
64*5076da2aSCristian Ciocaltea				 <GPIOMUX(48, GPO_LOW,
65*5076da2aSCristian Ciocaltea				  GPO_I2C1_PAD_SDA_OEN,
66*5076da2aSCristian Ciocaltea				  GPI_I2C1_PAD_SDA_IN)>;
67*5076da2aSCristian Ciocaltea			bias-pull-up;
68*5076da2aSCristian Ciocaltea			input-enable;
69*5076da2aSCristian Ciocaltea			input-schmitt-enable;
70*5076da2aSCristian Ciocaltea		};
71*5076da2aSCristian Ciocaltea	};
72*5076da2aSCristian Ciocaltea
73*5076da2aSCristian Ciocaltea	i2c2_pins: i2c2-0 {
74*5076da2aSCristian Ciocaltea		i2c-pins {
75*5076da2aSCristian Ciocaltea			pinmux = <GPIOMUX(60, GPO_LOW,
76*5076da2aSCristian Ciocaltea				  GPO_I2C2_PAD_SCK_OEN,
77*5076da2aSCristian Ciocaltea				  GPI_I2C2_PAD_SCK_IN)>,
78*5076da2aSCristian Ciocaltea				 <GPIOMUX(59, GPO_LOW,
79*5076da2aSCristian Ciocaltea				  GPO_I2C2_PAD_SDA_OEN,
80*5076da2aSCristian Ciocaltea				  GPI_I2C2_PAD_SDA_IN)>;
81*5076da2aSCristian Ciocaltea			bias-disable; /* external pull-up */
82*5076da2aSCristian Ciocaltea			input-enable;
83*5076da2aSCristian Ciocaltea			input-schmitt-enable;
84*5076da2aSCristian Ciocaltea		};
85*5076da2aSCristian Ciocaltea	};
86*5076da2aSCristian Ciocaltea
87*5076da2aSCristian Ciocaltea	uart3_pins: uart3-0 {
88*5076da2aSCristian Ciocaltea		rx-pins {
89*5076da2aSCristian Ciocaltea			pinmux = <GPIOMUX(13, GPO_LOW, GPO_DISABLE,
90*5076da2aSCristian Ciocaltea				  GPI_UART3_PAD_SIN)>;
91*5076da2aSCristian Ciocaltea			bias-pull-up;
92*5076da2aSCristian Ciocaltea			drive-strength = <14>;
93*5076da2aSCristian Ciocaltea			input-enable;
94*5076da2aSCristian Ciocaltea			input-schmitt-enable;
95*5076da2aSCristian Ciocaltea			slew-rate = <0>;
96*5076da2aSCristian Ciocaltea		};
97*5076da2aSCristian Ciocaltea		tx-pins {
98*5076da2aSCristian Ciocaltea			pinmux = <GPIOMUX(14, GPO_UART3_PAD_SOUT,
99*5076da2aSCristian Ciocaltea				  GPO_ENABLE, GPI_NONE)>;
100*5076da2aSCristian Ciocaltea			bias-disable;
101*5076da2aSCristian Ciocaltea			drive-strength = <35>;
102*5076da2aSCristian Ciocaltea			input-disable;
103*5076da2aSCristian Ciocaltea			input-schmitt-disable;
104*5076da2aSCristian Ciocaltea			slew-rate = <0>;
105*5076da2aSCristian Ciocaltea		};
106*5076da2aSCristian Ciocaltea	};
107*5076da2aSCristian Ciocaltea};
108*5076da2aSCristian Ciocaltea
109*5076da2aSCristian Ciocaltea&i2c0 {
110*5076da2aSCristian Ciocaltea	clock-frequency = <100000>;
111*5076da2aSCristian Ciocaltea	i2c-sda-hold-time-ns = <300>;
112*5076da2aSCristian Ciocaltea	i2c-sda-falling-time-ns = <500>;
113*5076da2aSCristian Ciocaltea	i2c-scl-falling-time-ns = <500>;
114*5076da2aSCristian Ciocaltea	pinctrl-names = "default";
115*5076da2aSCristian Ciocaltea	pinctrl-0 = <&i2c0_pins>;
116*5076da2aSCristian Ciocaltea	status = "okay";
117*5076da2aSCristian Ciocaltea
118*5076da2aSCristian Ciocaltea	pmic@5e {
119*5076da2aSCristian Ciocaltea		compatible = "ti,tps65086";
120*5076da2aSCristian Ciocaltea		reg = <0x5e>;
121*5076da2aSCristian Ciocaltea		gpio-controller;
122*5076da2aSCristian Ciocaltea		#gpio-cells = <2>;
123*5076da2aSCristian Ciocaltea
124*5076da2aSCristian Ciocaltea		regulators {
125*5076da2aSCristian Ciocaltea		};
126*5076da2aSCristian Ciocaltea	};
127*5076da2aSCristian Ciocaltea};
128*5076da2aSCristian Ciocaltea
129*5076da2aSCristian Ciocaltea&i2c1 {
130*5076da2aSCristian Ciocaltea	clock-frequency = <400000>;
131*5076da2aSCristian Ciocaltea	i2c-sda-hold-time-ns = <300>;
132*5076da2aSCristian Ciocaltea	i2c-sda-falling-time-ns = <100>;
133*5076da2aSCristian Ciocaltea	i2c-scl-falling-time-ns = <100>;
134*5076da2aSCristian Ciocaltea	pinctrl-names = "default";
135*5076da2aSCristian Ciocaltea	pinctrl-0 = <&i2c1_pins>;
136*5076da2aSCristian Ciocaltea	status = "okay";
137*5076da2aSCristian Ciocaltea};
138*5076da2aSCristian Ciocaltea
139*5076da2aSCristian Ciocaltea&i2c2 {
140*5076da2aSCristian Ciocaltea	clock-frequency = <100000>;
141*5076da2aSCristian Ciocaltea	i2c-sda-hold-time-ns = <300>;
142*5076da2aSCristian Ciocaltea	i2c-sda-falling-time-ns = <500>;
143*5076da2aSCristian Ciocaltea	i2c-scl-falling-time-ns = <500>;
144*5076da2aSCristian Ciocaltea	pinctrl-names = "default";
145*5076da2aSCristian Ciocaltea	pinctrl-0 = <&i2c2_pins>;
146*5076da2aSCristian Ciocaltea	status = "okay";
147*5076da2aSCristian Ciocaltea};
148*5076da2aSCristian Ciocaltea
149*5076da2aSCristian Ciocaltea&osc_sys {
150*5076da2aSCristian Ciocaltea	clock-frequency = <25000000>;
151*5076da2aSCristian Ciocaltea};
152*5076da2aSCristian Ciocaltea
153*5076da2aSCristian Ciocaltea&osc_aud {
154*5076da2aSCristian Ciocaltea	clock-frequency = <27000000>;
155*5076da2aSCristian Ciocaltea};
156*5076da2aSCristian Ciocaltea
157*5076da2aSCristian Ciocaltea&uart3 {
158*5076da2aSCristian Ciocaltea	pinctrl-names = "default";
159*5076da2aSCristian Ciocaltea	pinctrl-0 = <&uart3_pins>;
160*5076da2aSCristian Ciocaltea	status = "okay";
161*5076da2aSCristian Ciocaltea};
162