summaryrefslogtreecommitdiffstats
path: root/arch/mips/boot/dts/mscc/serval_common.dtsi
blob: 5dc1eac49e50217bbcf6d78b94a1e918e58a7f58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2020 Microsemi Corporation
 */

#include "serval.dtsi"

/ {
	aliases {
		serial0 = &uart0;
		i2c104  = &i2c104;
		i2c105  = &i2c105;
		i2c106  = &i2c106;
		i2c107  = &i2c107;
		i2c108  = &i2c108;
		i2c109  = &i2c109;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	i2c0_imux: i2c0-imux {
		compatible = "i2c-mux-pinctrl";
		#address-cells = <1>;
		#size-cells = <0>;
		i2c-parent = <&i2c0>;
		pinctrl-names =
		"i2c104", "i2c105", "i2c106", "i2c107",
		"i2c108", "i2c109", "idle";
		pinctrl-0 = <&i2cmux_0>;
		pinctrl-1 = <&i2cmux_1>;
		pinctrl-2 = <&i2cmux_2>;
		pinctrl-3 = <&i2cmux_3>;
		pinctrl-4 = <&i2cmux_4>;
		pinctrl-5 = <&i2cmux_5>;
		pinctrl-6 = <&i2cmux_pins_i>;
		i2c104: i2c_sfp0@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;
		};
		i2c105: i2c_sfp1@1 {
			reg = <1>;
			#address-cells = <1>;
			#size-cells = <0>;
		};
		i2c106: i2c_sfp2@2 {
			reg = <2>;
			#address-cells = <1>;
			#size-cells = <0>;
		};
		i2c107: i2c_sfp3@3 {
			reg = <3>;
			#address-cells = <1>;
			#size-cells = <0>;
		};
		i2c108: i2c_sfp4@4 {
			reg = <4>;
			#address-cells = <1>;
			#size-cells = <0>;
		};
		i2c109: i2c_sfp5@5 {
			reg = <5>;
			#address-cells = <1>;
			#size-cells = <0>;
		};
};

};

&uart0 {
	status = "okay";
};

&uart2 {
	status = "okay";
};

&gpio {
	i2c_pins: i2c-pins {
		pins = "GPIO_7"; /* No "default" scl for i2c0 */
		function = "twi";
	};
	i2cmux_pins_i: i2cmux-pins {
		pins = "GPIO_11", "GPIO_12", "GPIO_18", "GPIO_19",
			"GPIO_20", "GPIO_21";
		function = "twi_scl_m";
		output-low;
	};
	i2cmux_0: i2cmux-0-pins {
		pins = "GPIO_11";
		function = "twi_scl_m";
		output-high;
	};
	i2cmux_1: i2cmux-1-pins {
		pins = "GPIO_12";
		function = "twi_scl_m";
		output-high;
	};
	i2cmux_2: i2cmux-2-pins {
		pins = "GPIO_18";
		function = "twi_scl_m";
		output-high;
	};
	i2cmux_3: i2cmux-3-pins {
		pins = "GPIO_19";
		function = "twi_scl_m";
		output-high;
	};
	i2cmux_4: i2cmux-4-pins {
		pins = "GPIO_20";
		function = "twi_scl_m";
		output-high;
	};
	i2cmux_5: i2cmux-5-pins {
		pins = "GPIO_21";
		function = "twi_scl_m";
		output-high;
	};
};

&i2c0 {
	status = "okay";
	i2c-sda-hold-time-ns = <300>;
};