xref: /freebsd/sys/contrib/device-tree/src/arm/microchip/at91-natte.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * at91-natte.dts - Device Tree include file for the Natte board
4*f126890aSEmmanuel Vadot *
5*f126890aSEmmanuel Vadot * Copyright (C) 2017 Axentia Technologies AB
6*f126890aSEmmanuel Vadot *
7*f126890aSEmmanuel Vadot * Author: Peter Rosin <peda@axentia.se>
8*f126890aSEmmanuel Vadot */
9*f126890aSEmmanuel Vadot
10*f126890aSEmmanuel Vadot/ {
11*f126890aSEmmanuel Vadot	mux: mux-controller {
12*f126890aSEmmanuel Vadot		compatible = "gpio-mux";
13*f126890aSEmmanuel Vadot		#mux-control-cells = <0>;
14*f126890aSEmmanuel Vadot
15*f126890aSEmmanuel Vadot		mux-gpios = <&ioexp 0 GPIO_ACTIVE_HIGH>,
16*f126890aSEmmanuel Vadot			    <&ioexp 1 GPIO_ACTIVE_HIGH>,
17*f126890aSEmmanuel Vadot			    <&ioexp 2 GPIO_ACTIVE_HIGH>;
18*f126890aSEmmanuel Vadot	};
19*f126890aSEmmanuel Vadot
20*f126890aSEmmanuel Vadot	batntc-mux {
21*f126890aSEmmanuel Vadot		compatible = "io-channel-mux";
22*f126890aSEmmanuel Vadot		io-channels = <&adc 5>;
23*f126890aSEmmanuel Vadot		io-channel-names = "parent";
24*f126890aSEmmanuel Vadot		mux-controls = <&mux>;
25*f126890aSEmmanuel Vadot
26*f126890aSEmmanuel Vadot		channels =
27*f126890aSEmmanuel Vadot			"batntc0", "batntc1", "batntc2", "batntc3",
28*f126890aSEmmanuel Vadot			"batntc4", "batntc5", "batntc6", "batntc7";
29*f126890aSEmmanuel Vadot	};
30*f126890aSEmmanuel Vadot
31*f126890aSEmmanuel Vadot	batv-mux {
32*f126890aSEmmanuel Vadot		compatible = "io-channel-mux";
33*f126890aSEmmanuel Vadot		io-channels = <&adc 6>;
34*f126890aSEmmanuel Vadot		io-channel-names = "parent";
35*f126890aSEmmanuel Vadot		mux-controls = <&mux>;
36*f126890aSEmmanuel Vadot
37*f126890aSEmmanuel Vadot		channels =
38*f126890aSEmmanuel Vadot			"batv0", "batv1", "batv2", "batv3",
39*f126890aSEmmanuel Vadot			"batv4", "batv5", "batv6", "batv7";
40*f126890aSEmmanuel Vadot	};
41*f126890aSEmmanuel Vadot
42*f126890aSEmmanuel Vadot	iout-mux {
43*f126890aSEmmanuel Vadot		compatible = "io-channel-mux";
44*f126890aSEmmanuel Vadot		io-channels = <&adc 7>;
45*f126890aSEmmanuel Vadot		io-channel-names = "parent";
46*f126890aSEmmanuel Vadot		mux-controls = <&mux>;
47*f126890aSEmmanuel Vadot
48*f126890aSEmmanuel Vadot		channels =
49*f126890aSEmmanuel Vadot			"iout0", "iout1", "iout2", "iout3",
50*f126890aSEmmanuel Vadot			"iout4", "iout5", "iout6", "iout7";
51*f126890aSEmmanuel Vadot	};
52*f126890aSEmmanuel Vadot
53*f126890aSEmmanuel Vadot	i2c-mux {
54*f126890aSEmmanuel Vadot		compatible = "i2c-mux";
55*f126890aSEmmanuel Vadot		mux-locked;
56*f126890aSEmmanuel Vadot		i2c-parent = <&i2c0>;
57*f126890aSEmmanuel Vadot		mux-controls = <&mux>;
58*f126890aSEmmanuel Vadot
59*f126890aSEmmanuel Vadot		#address-cells = <1>;
60*f126890aSEmmanuel Vadot		#size-cells = <0>;
61*f126890aSEmmanuel Vadot
62*f126890aSEmmanuel Vadot		i2c@0 {
63*f126890aSEmmanuel Vadot			reg = <0>;
64*f126890aSEmmanuel Vadot			#address-cells = <1>;
65*f126890aSEmmanuel Vadot			#size-cells = <0>;
66*f126890aSEmmanuel Vadot
67*f126890aSEmmanuel Vadot			charger@9 {
68*f126890aSEmmanuel Vadot				compatible = "ti,bq24735";
69*f126890aSEmmanuel Vadot				reg = <0x9>;
70*f126890aSEmmanuel Vadot
71*f126890aSEmmanuel Vadot				ti,charge-current = <2000>;
72*f126890aSEmmanuel Vadot				ti,charge-voltage = <16800>;
73*f126890aSEmmanuel Vadot
74*f126890aSEmmanuel Vadot				poll-interval = <20000>;
75*f126890aSEmmanuel Vadot			};
76*f126890aSEmmanuel Vadot		};
77*f126890aSEmmanuel Vadot
78*f126890aSEmmanuel Vadot		i2c@1 {
79*f126890aSEmmanuel Vadot			reg = <1>;
80*f126890aSEmmanuel Vadot			#address-cells = <1>;
81*f126890aSEmmanuel Vadot			#size-cells = <0>;
82*f126890aSEmmanuel Vadot
83*f126890aSEmmanuel Vadot			charger@9 {
84*f126890aSEmmanuel Vadot				compatible = "ti,bq24735";
85*f126890aSEmmanuel Vadot				reg = <0x9>;
86*f126890aSEmmanuel Vadot
87*f126890aSEmmanuel Vadot				ti,charge-current = <2000>;
88*f126890aSEmmanuel Vadot				ti,charge-voltage = <16800>;
89*f126890aSEmmanuel Vadot
90*f126890aSEmmanuel Vadot				poll-interval = <20000>;
91*f126890aSEmmanuel Vadot			};
92*f126890aSEmmanuel Vadot		};
93*f126890aSEmmanuel Vadot
94*f126890aSEmmanuel Vadot		i2c@2 {
95*f126890aSEmmanuel Vadot			reg = <2>;
96*f126890aSEmmanuel Vadot			#address-cells = <1>;
97*f126890aSEmmanuel Vadot			#size-cells = <0>;
98*f126890aSEmmanuel Vadot
99*f126890aSEmmanuel Vadot			charger@9 {
100*f126890aSEmmanuel Vadot				compatible = "ti,bq24735";
101*f126890aSEmmanuel Vadot				reg = <0x9>;
102*f126890aSEmmanuel Vadot
103*f126890aSEmmanuel Vadot				ti,charge-current = <2000>;
104*f126890aSEmmanuel Vadot				ti,charge-voltage = <16800>;
105*f126890aSEmmanuel Vadot
106*f126890aSEmmanuel Vadot				poll-interval = <20000>;
107*f126890aSEmmanuel Vadot			};
108*f126890aSEmmanuel Vadot		};
109*f126890aSEmmanuel Vadot
110*f126890aSEmmanuel Vadot		i2c@3 {
111*f126890aSEmmanuel Vadot			reg = <3>;
112*f126890aSEmmanuel Vadot			#address-cells = <1>;
113*f126890aSEmmanuel Vadot			#size-cells = <0>;
114*f126890aSEmmanuel Vadot
115*f126890aSEmmanuel Vadot			charger@9 {
116*f126890aSEmmanuel Vadot				compatible = "ti,bq24735";
117*f126890aSEmmanuel Vadot				reg = <0x9>;
118*f126890aSEmmanuel Vadot
119*f126890aSEmmanuel Vadot				ti,charge-current = <2000>;
120*f126890aSEmmanuel Vadot				ti,charge-voltage = <16800>;
121*f126890aSEmmanuel Vadot
122*f126890aSEmmanuel Vadot				poll-interval = <20000>;
123*f126890aSEmmanuel Vadot			};
124*f126890aSEmmanuel Vadot		};
125*f126890aSEmmanuel Vadot
126*f126890aSEmmanuel Vadot		i2c@4 {
127*f126890aSEmmanuel Vadot			reg = <4>;
128*f126890aSEmmanuel Vadot			#address-cells = <1>;
129*f126890aSEmmanuel Vadot			#size-cells = <0>;
130*f126890aSEmmanuel Vadot
131*f126890aSEmmanuel Vadot			charger@9 {
132*f126890aSEmmanuel Vadot				compatible = "ti,bq24735";
133*f126890aSEmmanuel Vadot				reg = <0x9>;
134*f126890aSEmmanuel Vadot
135*f126890aSEmmanuel Vadot				ti,charge-current = <2000>;
136*f126890aSEmmanuel Vadot				ti,charge-voltage = <16800>;
137*f126890aSEmmanuel Vadot
138*f126890aSEmmanuel Vadot				poll-interval = <20000>;
139*f126890aSEmmanuel Vadot			};
140*f126890aSEmmanuel Vadot		};
141*f126890aSEmmanuel Vadot
142*f126890aSEmmanuel Vadot		i2c@5 {
143*f126890aSEmmanuel Vadot			reg = <5>;
144*f126890aSEmmanuel Vadot			#address-cells = <1>;
145*f126890aSEmmanuel Vadot			#size-cells = <0>;
146*f126890aSEmmanuel Vadot
147*f126890aSEmmanuel Vadot			charger@9 {
148*f126890aSEmmanuel Vadot				compatible = "ti,bq24735";
149*f126890aSEmmanuel Vadot				reg = <0x9>;
150*f126890aSEmmanuel Vadot
151*f126890aSEmmanuel Vadot				ti,charge-current = <2000>;
152*f126890aSEmmanuel Vadot				ti,charge-voltage = <16800>;
153*f126890aSEmmanuel Vadot
154*f126890aSEmmanuel Vadot				poll-interval = <20000>;
155*f126890aSEmmanuel Vadot			};
156*f126890aSEmmanuel Vadot		};
157*f126890aSEmmanuel Vadot
158*f126890aSEmmanuel Vadot		i2c@6 {
159*f126890aSEmmanuel Vadot			reg = <6>;
160*f126890aSEmmanuel Vadot			#address-cells = <1>;
161*f126890aSEmmanuel Vadot			#size-cells = <0>;
162*f126890aSEmmanuel Vadot
163*f126890aSEmmanuel Vadot			charger@9 {
164*f126890aSEmmanuel Vadot				compatible = "ti,bq24735";
165*f126890aSEmmanuel Vadot				reg = <0x9>;
166*f126890aSEmmanuel Vadot
167*f126890aSEmmanuel Vadot				ti,charge-current = <2000>;
168*f126890aSEmmanuel Vadot				ti,charge-voltage = <16800>;
169*f126890aSEmmanuel Vadot
170*f126890aSEmmanuel Vadot				poll-interval = <20000>;
171*f126890aSEmmanuel Vadot			};
172*f126890aSEmmanuel Vadot		};
173*f126890aSEmmanuel Vadot
174*f126890aSEmmanuel Vadot		i2c@7 {
175*f126890aSEmmanuel Vadot			reg = <7>;
176*f126890aSEmmanuel Vadot			#address-cells = <1>;
177*f126890aSEmmanuel Vadot			#size-cells = <0>;
178*f126890aSEmmanuel Vadot
179*f126890aSEmmanuel Vadot			charger@9 {
180*f126890aSEmmanuel Vadot				compatible = "ti,bq24735";
181*f126890aSEmmanuel Vadot				reg = <0x9>;
182*f126890aSEmmanuel Vadot
183*f126890aSEmmanuel Vadot				ti,charge-current = <2000>;
184*f126890aSEmmanuel Vadot				ti,charge-voltage = <16800>;
185*f126890aSEmmanuel Vadot
186*f126890aSEmmanuel Vadot				poll-interval = <20000>;
187*f126890aSEmmanuel Vadot			};
188*f126890aSEmmanuel Vadot		};
189*f126890aSEmmanuel Vadot	};
190*f126890aSEmmanuel Vadot};
191*f126890aSEmmanuel Vadot
192*f126890aSEmmanuel Vadot&i2c0 {
193*f126890aSEmmanuel Vadot	status = "okay";
194*f126890aSEmmanuel Vadot
195*f126890aSEmmanuel Vadot	ioexp: ioexp@20 {
196*f126890aSEmmanuel Vadot		#gpio-cells = <2>;
197*f126890aSEmmanuel Vadot		compatible = "semtech,sx1502q";
198*f126890aSEmmanuel Vadot		reg = <0x20>;
199*f126890aSEmmanuel Vadot
200*f126890aSEmmanuel Vadot		gpio-controller;
201*f126890aSEmmanuel Vadot		ngpios = <8>;
202*f126890aSEmmanuel Vadot
203*f126890aSEmmanuel Vadot		pinctrl-names = "default";
204*f126890aSEmmanuel Vadot		pinctrl-0 = <&gpio3_cfg_pins>;
205*f126890aSEmmanuel Vadot
206*f126890aSEmmanuel Vadot		gpio3_cfg_pins: gpio3_cfg {
207*f126890aSEmmanuel Vadot			pins = "gpio3";
208*f126890aSEmmanuel Vadot			bias-pull-up;
209*f126890aSEmmanuel Vadot		};
210*f126890aSEmmanuel Vadot	};
211*f126890aSEmmanuel Vadot
212*f126890aSEmmanuel Vadot	adc: adc@48 {
213*f126890aSEmmanuel Vadot		compatible = "ti,ads1015";
214*f126890aSEmmanuel Vadot		reg = <0x48>;
215*f126890aSEmmanuel Vadot		#io-channel-cells = <1>;
216*f126890aSEmmanuel Vadot
217*f126890aSEmmanuel Vadot		#address-cells = <1>;
218*f126890aSEmmanuel Vadot		#size-cells = <0>;
219*f126890aSEmmanuel Vadot
220*f126890aSEmmanuel Vadot		channel@4 {
221*f126890aSEmmanuel Vadot			reg = <4>;
222*f126890aSEmmanuel Vadot			ti,gain = <2>;
223*f126890aSEmmanuel Vadot			ti,datarate = <4>;
224*f126890aSEmmanuel Vadot		};
225*f126890aSEmmanuel Vadot
226*f126890aSEmmanuel Vadot		channel@5 {
227*f126890aSEmmanuel Vadot			reg = <5>;
228*f126890aSEmmanuel Vadot			ti,gain = <2>;
229*f126890aSEmmanuel Vadot			ti,datarate = <4>;
230*f126890aSEmmanuel Vadot		};
231*f126890aSEmmanuel Vadot
232*f126890aSEmmanuel Vadot		channel@6 {
233*f126890aSEmmanuel Vadot			reg = <6>;
234*f126890aSEmmanuel Vadot			ti,gain = <1>;
235*f126890aSEmmanuel Vadot			ti,datarate = <4>;
236*f126890aSEmmanuel Vadot		};
237*f126890aSEmmanuel Vadot
238*f126890aSEmmanuel Vadot		channel@7 {
239*f126890aSEmmanuel Vadot			reg = <7>;
240*f126890aSEmmanuel Vadot			ti,gain = <3>;
241*f126890aSEmmanuel Vadot			ti,datarate = <4>;
242*f126890aSEmmanuel Vadot		};
243*f126890aSEmmanuel Vadot	};
244*f126890aSEmmanuel Vadot};
245