1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2014-18 H. Nikolaus Schaller <hns@goldelico.com>
4 */
5
6#include "omap3-gta04.dtsi"
7
8/ {
9	model = "Goldelico GTA04A5/Letux 2804";
10
11	sound {
12		ti,jack-det-gpio = <&twl_gpio 2 GPIO_ACTIVE_HIGH>;	/* GTA04A5 only */
13	};
14
15	wlan_en: wlan_en_regulator {
16		compatible = "regulator-fixed";
17		pinctrl-names = "default";
18		pinctrl-0 = <&wlan_pins>;
19		regulator-name = "wlan-en-regulator";
20		regulator-min-microvolt = <1800000>;
21		regulator-max-microvolt = <1800000>;
22
23		gpio = <&gpio5 10 GPIO_ACTIVE_HIGH>;	/* GPIO_138 */
24
25		startup-delay-us = <70000>;
26		enable-active-high;
27	};
28
29	pps {
30		compatible = "pps-gpio";
31		pinctrl-names = "default";
32		pinctrl-0 = <&pps_pins>;
33
34		gpios = <&gpio4 18 GPIO_ACTIVE_HIGH>; /* GPIN_114 */
35	};
36
37};
38
39&gpio5 {
40	irda-en-hog {
41		gpio-hog;
42		gpios = <(175-160) GPIO_ACTIVE_HIGH>;
43		output-high;	/* activate gpio_175 to disable IrDA receiver */
44	};
45};
46
47&omap3_pmx_core {
48	bt_pins: pinmux_bt_pins {
49		pinctrl-single,pins = <
50			OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT | MUX_MODE4)	/* mmc2_dat5 = mmc3_dat1 = gpio137 */
51		>;
52	};
53
54	wlan_pins: pinmux_wlan_pins {
55		pinctrl-single,pins = <
56			OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT | MUX_MODE4)	/* mmc2_dat6 = mmc3_dat2 = gpio138 */
57		>;
58	};
59
60	wlan_irq_pin: pinmux_wlan_irq_pin {
61		pinctrl-single,pins = <
62			OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE4)	/* mmc2_dat7 = mmc3_dat3 = gpio139 */
63		>;
64	};
65
66	irda_pins: pinmux_irda {
67		pinctrl-single,pins = <
68			OMAP3_CORE1_IOPAD(0x21d0, PIN_OUTPUT_PULLUP | MUX_MODE4)	/* mcspi1_cs1 = gpio175 */
69		>;
70	};
71
72	pps_pins: pinmux_pps_pins {
73		pinctrl-single,pins = <
74			OMAP3_CORE1_IOPAD(0x2138, PIN_INPUT | MUX_MODE4) /* gpin114 */
75		>;
76	};
77
78	bno050_pins: pinmux-bno050-pins {
79		pinctrl-single,pins = <
80			OMAP3_CORE1_IOPAD(0x2136, PIN_INPUT | MUX_MODE4) /* gpin113 */
81		>;
82	};
83};
84
85/*
86 * for WL183x module see
87 * Documentation/devicetree/bindings/net/wireless/ti,wlcore.yaml
88 */
89
90&wifi_pwrseq {
91	/delete-property/ reset-gpios;
92};
93
94&mmc2 {
95	vmmc-supply = <&wlan_en>;
96	bus-width = <4>;
97	cap-power-off-card;
98	non-removable;
99
100	pinctrl-names = "default";
101	pinctrl-0 = <&wlan_irq_pin>;
102
103	#address-cells = <1>;
104	#size-cells = <0>;
105
106	/delete-property/ mmc-pwrseq;
107
108	wlcore: wlcore@2 {
109		compatible = "ti,wl1837";
110		reg = <2>;
111		interrupt-parent = <&gpio5>;
112		interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;	/* GPIO_139 */
113		ref-clock-frequency = <26000000>;
114	};
115};
116
117&i2c2 {
118	/delete-node/ bmp085@77;
119	/delete-node/ bma180@41;
120	/delete-node/ itg3200@68;
121	/delete-node/ hmc5843@1e;
122
123	gyrometer@69 {
124		compatible = "bosch,bmg160";
125		reg = <0x69>;
126	};
127
128	accelerometer@10 {
129		compatible = "bosch,bmc150_accel";
130		reg = <0x10>;
131	};
132
133	magnetometer@12 {
134		compatible = "bosch,bmc150_magn";
135		reg = <0x12>;
136	};
137
138	bme280@76 {
139		compatible = "bosch,bme280";
140		reg = <0x76>;
141		vdda-supply = <&vio>;
142		vddd-supply = <&vio>;
143	};
144
145	imu@29 {
146		compatible = "bosch,bno055";
147		reg = <0x29>;
148		pinctrl-names = "default";
149		pinctrl-0 = <&bno050_pins>;
150		/* interrupt at &gpio4 17 */
151	};
152};
153