xref: /freebsd/sys/contrib/device-tree/src/arm/nxp/mxs/imx23-sansa.dts (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1f126890aSEmmanuel Vadot/*
2f126890aSEmmanuel Vadot * Copyright (C) 2013-2016 Marek Vasut <marek.vasut@gmail.com>
3f126890aSEmmanuel Vadot *
4f126890aSEmmanuel Vadot * This file is dual-licensed: you can use it either under the terms
5f126890aSEmmanuel Vadot * of the GPL or the X11 license, at your option. Note that this dual
6f126890aSEmmanuel Vadot * licensing only applies to this file, and not this project as a
7f126890aSEmmanuel Vadot * whole.
8f126890aSEmmanuel Vadot *
9f126890aSEmmanuel Vadot *  a) This file is free software; you can redistribute it and/or
10f126890aSEmmanuel Vadot *     modify it under the terms of the GNU General Public License as
11f126890aSEmmanuel Vadot *     published by the Free Software Foundation; either version 2 of
12f126890aSEmmanuel Vadot *     the License, or (at your option) any later version.
13f126890aSEmmanuel Vadot *
14f126890aSEmmanuel Vadot *     This file is distributed in the hope that it will be useful,
15f126890aSEmmanuel Vadot *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16f126890aSEmmanuel Vadot *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17f126890aSEmmanuel Vadot *     GNU General Public License for more details.
18f126890aSEmmanuel Vadot *
19f126890aSEmmanuel Vadot * Or, alternatively,
20f126890aSEmmanuel Vadot *
21f126890aSEmmanuel Vadot *  b) Permission is hereby granted, free of charge, to any person
22f126890aSEmmanuel Vadot *     obtaining a copy of this software and associated documentation
23f126890aSEmmanuel Vadot *     files (the "Software"), to deal in the Software without
24f126890aSEmmanuel Vadot *     restriction, including without limitation the rights to use,
25f126890aSEmmanuel Vadot *     copy, modify, merge, publish, distribute, sublicense, and/or
26f126890aSEmmanuel Vadot *     sell copies of the Software, and to permit persons to whom the
27f126890aSEmmanuel Vadot *     Software is furnished to do so, subject to the following
28f126890aSEmmanuel Vadot *     conditions:
29f126890aSEmmanuel Vadot *
30f126890aSEmmanuel Vadot *     The above copyright notice and this permission notice shall be
31f126890aSEmmanuel Vadot *     included in all copies or substantial portions of the Software.
32f126890aSEmmanuel Vadot *
33f126890aSEmmanuel Vadot *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34f126890aSEmmanuel Vadot *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35f126890aSEmmanuel Vadot *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36f126890aSEmmanuel Vadot *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37f126890aSEmmanuel Vadot *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38f126890aSEmmanuel Vadot *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39f126890aSEmmanuel Vadot *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40f126890aSEmmanuel Vadot *     OTHER DEALINGS IN THE SOFTWARE.
41f126890aSEmmanuel Vadot *
42f126890aSEmmanuel Vadot */
43f126890aSEmmanuel Vadot
44f126890aSEmmanuel Vadot/dts-v1/;
45f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
46f126890aSEmmanuel Vadot#include "imx23.dtsi"
47f126890aSEmmanuel Vadot
48f126890aSEmmanuel Vadot/ {
49f126890aSEmmanuel Vadot	model = "SanDisk Sansa Fuze+";
50f126890aSEmmanuel Vadot	compatible = "sandisk,sansa_fuze_plus", "fsl,imx23";
51f126890aSEmmanuel Vadot
52f126890aSEmmanuel Vadot	memory@40000000 {
53f126890aSEmmanuel Vadot		device_type = "memory";
54f126890aSEmmanuel Vadot		reg = <0x40000000 0x04000000>;
55f126890aSEmmanuel Vadot	};
56f126890aSEmmanuel Vadot
57f126890aSEmmanuel Vadot	apb@80000000 {
58f126890aSEmmanuel Vadot		apbh@80000000 {
59f126890aSEmmanuel Vadot			ssp0: spi@80010000 {
60f126890aSEmmanuel Vadot				compatible = "fsl,imx23-mmc";
61f126890aSEmmanuel Vadot				pinctrl-names = "default";
62f126890aSEmmanuel Vadot				pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_pins_fixup>;
63f126890aSEmmanuel Vadot				bus-width = <4>;
64f126890aSEmmanuel Vadot				vmmc-supply = <&reg_vddio_sd0>;
65f126890aSEmmanuel Vadot				cd-inverted;
66f126890aSEmmanuel Vadot				status = "okay";
67f126890aSEmmanuel Vadot			};
68f126890aSEmmanuel Vadot
69f126890aSEmmanuel Vadot			ssp1: spi@80034000 {
70f126890aSEmmanuel Vadot				compatible = "fsl,imx23-mmc";
71f126890aSEmmanuel Vadot				pinctrl-names = "default";
72f126890aSEmmanuel Vadot				pinctrl-0 = <&mmc1_8bit_pins_a>;
73f126890aSEmmanuel Vadot				bus-width = <8>;
74f126890aSEmmanuel Vadot				vmmc-supply = <&reg_vddio_sd1>;
75f126890aSEmmanuel Vadot				non-removable;
76f126890aSEmmanuel Vadot				status = "okay";
77f126890aSEmmanuel Vadot			};
78f126890aSEmmanuel Vadot
79f126890aSEmmanuel Vadot			pinctrl@80018000 {
80f126890aSEmmanuel Vadot				pinctrl-names = "default";
81f126890aSEmmanuel Vadot				pinctrl-0 = <&hog_pins_a>;
82f126890aSEmmanuel Vadot
83f126890aSEmmanuel Vadot				hog_pins_a: hog@0 {
84f126890aSEmmanuel Vadot					reg = <0>;
85f126890aSEmmanuel Vadot					fsl,pinmux-ids = <
86f126890aSEmmanuel Vadot						MX23_PAD_GPMI_D08__GPIO_0_8
87f126890aSEmmanuel Vadot						MX23_PAD_PWM3__GPIO_1_29
88f126890aSEmmanuel Vadot						MX23_PAD_AUART1_RTS__GPIO_0_27
89f126890aSEmmanuel Vadot						MX23_PAD_AUART1_CTS__GPIO_0_26
90f126890aSEmmanuel Vadot						MX23_PAD_I2C_SCL__I2C_SCL
91f126890aSEmmanuel Vadot						MX23_PAD_I2C_SDA__I2C_SDA
92f126890aSEmmanuel Vadot						MX23_PAD_LCD_DOTCK__GPIO_1_22
93f126890aSEmmanuel Vadot						MX23_PAD_LCD_HSYNC__GPIO_1_24
94f126890aSEmmanuel Vadot						MX23_PAD_PWM3__GPIO_1_29
95f126890aSEmmanuel Vadot					>;
96f126890aSEmmanuel Vadot					fsl,drive-strength = <0>;
97f126890aSEmmanuel Vadot					fsl,voltage = <1>;
98f126890aSEmmanuel Vadot					fsl,pull-up = <0>;
99f126890aSEmmanuel Vadot				};
100f126890aSEmmanuel Vadot			};
101f126890aSEmmanuel Vadot		};
102f126890aSEmmanuel Vadot
103f126890aSEmmanuel Vadot		apbx@80040000 {
104f126890aSEmmanuel Vadot			pwm: pwm@80064000 {
105f126890aSEmmanuel Vadot				pinctrl-names = "default";
106f126890aSEmmanuel Vadot				pinctrl-0 = <&pwm2_pins_a>;
107f126890aSEmmanuel Vadot				status = "okay";
108f126890aSEmmanuel Vadot			};
109f126890aSEmmanuel Vadot
110f126890aSEmmanuel Vadot			duart: serial@80070000 {
111f126890aSEmmanuel Vadot				pinctrl-names = "default";
112f126890aSEmmanuel Vadot				pinctrl-0 = <&duart_pins_a>;
113f126890aSEmmanuel Vadot				status = "okay";
114f126890aSEmmanuel Vadot			};
115f126890aSEmmanuel Vadot
116f126890aSEmmanuel Vadot			usbphy0: usbphy@8007c000 {
117f126890aSEmmanuel Vadot				status = "okay";
118f126890aSEmmanuel Vadot			};
119f126890aSEmmanuel Vadot
120f126890aSEmmanuel Vadot			lradc@80050000 {
121f126890aSEmmanuel Vadot				status = "okay";
122f126890aSEmmanuel Vadot			};
123f126890aSEmmanuel Vadot		};
124f126890aSEmmanuel Vadot	};
125f126890aSEmmanuel Vadot
126f126890aSEmmanuel Vadot	ahb@80080000 {
127f126890aSEmmanuel Vadot		usb0: usb@80080000 {
128f126890aSEmmanuel Vadot			dr_mode = "peripheral";
129f126890aSEmmanuel Vadot			status = "okay";
130f126890aSEmmanuel Vadot		};
131f126890aSEmmanuel Vadot	};
132f126890aSEmmanuel Vadot
133f126890aSEmmanuel Vadot	reg_vddio_sd0: regulator-vddio-sd0 {
134f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
135f126890aSEmmanuel Vadot		regulator-name = "vddio-sd0";
136f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
137f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
138f126890aSEmmanuel Vadot		gpio = <&gpio0 8 0>;
139f126890aSEmmanuel Vadot	};
140f126890aSEmmanuel Vadot
141f126890aSEmmanuel Vadot	reg_vddio_sd1: regulator-vddio-sd1 {
142f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
143f126890aSEmmanuel Vadot		regulator-name = "vddio-sd1";
144f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
145f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
146f126890aSEmmanuel Vadot		gpio = <&gpio1 29 0>;
147f126890aSEmmanuel Vadot	};
148f126890aSEmmanuel Vadot
149f126890aSEmmanuel Vadot	reg_vdd_touchpad: regulator-vdd-touchpad0 {
150f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
151f126890aSEmmanuel Vadot		regulator-name = "vdd-touchpad0";
152f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
153f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
154f126890aSEmmanuel Vadot		gpio = <&gpio0 26 GPIO_ACTIVE_LOW>;
155f126890aSEmmanuel Vadot		regulator-always-on;
156f126890aSEmmanuel Vadot	};
157f126890aSEmmanuel Vadot
158f126890aSEmmanuel Vadot	reg_vdd_tuner: regulator-vdd-tuner0 {
159f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
160f126890aSEmmanuel Vadot		regulator-name = "vdd-tuner0";
161f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
162f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
163f126890aSEmmanuel Vadot		gpio = <&gpio0 29 GPIO_ACTIVE_LOW>;
164f126890aSEmmanuel Vadot		regulator-always-on;
165f126890aSEmmanuel Vadot	};
166f126890aSEmmanuel Vadot
167f126890aSEmmanuel Vadot	backlight {
168f126890aSEmmanuel Vadot		compatible = "pwm-backlight";
16984943d6fSEmmanuel Vadot		pwms = <&pwm 2 5000000 0>;
170f126890aSEmmanuel Vadot		brightness-levels = <0 4 8 16 32 64 128 255>;
171f126890aSEmmanuel Vadot		default-brightness-level = <6>;
172f126890aSEmmanuel Vadot	};
173f126890aSEmmanuel Vadot
174f126890aSEmmanuel Vadot	i2c-0 {
175f126890aSEmmanuel Vadot		#address-cells = <1>;
176f126890aSEmmanuel Vadot		#size-cells = <0>;
177f126890aSEmmanuel Vadot		compatible = "i2c-gpio";
178*8d13bc63SEmmanuel Vadot		sda-gpios = <&gpio1 24 0>;
179*8d13bc63SEmmanuel Vadot		scl-gpios = <&gpio1 22 0>;
180f126890aSEmmanuel Vadot		i2c-gpio,delay-us = <2>;	/* ~100 kHz */
181f126890aSEmmanuel Vadot	};
182f126890aSEmmanuel Vadot
183f126890aSEmmanuel Vadot	i2c-1 {
184f126890aSEmmanuel Vadot		#address-cells = <1>;
185f126890aSEmmanuel Vadot		#size-cells = <0>;
186f126890aSEmmanuel Vadot		compatible = "i2c-gpio";
187*8d13bc63SEmmanuel Vadot		sda-gpios = <&gpio0 31 0>;
188*8d13bc63SEmmanuel Vadot		scl-gpios = <&gpio0 30 0>;
189f126890aSEmmanuel Vadot		i2c-gpio,delay-us = <2>;	/* ~100 kHz */
190f126890aSEmmanuel Vadot
191f126890aSEmmanuel Vadot		touch: touch@20 {
192f126890aSEmmanuel Vadot			compatible = "synaptics,synaptics_i2c";
193f126890aSEmmanuel Vadot			reg = <0x20>;
194f126890aSEmmanuel Vadot		};
195f126890aSEmmanuel Vadot
196f126890aSEmmanuel Vadot		eeprom: eeprom@50 {
197f126890aSEmmanuel Vadot			compatible = "atmel,24c64";
198f126890aSEmmanuel Vadot			reg = <0x50>;
199f126890aSEmmanuel Vadot			pagesize = <32>;
200f126890aSEmmanuel Vadot		};
201f126890aSEmmanuel Vadot	};
202f126890aSEmmanuel Vadot
203f126890aSEmmanuel Vadot};
204