162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2015-2016 Paul Kocialkowski <contact@paulk.fr> 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci/dts-v1/; 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#include "omap36xx.dtsi" 862306a36Sopenharmony_ci#include <dt-bindings/input/input.h> 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci/ { 1162306a36Sopenharmony_ci model = "LG Optimus Black"; 1262306a36Sopenharmony_ci compatible = "lg,omap3-sniper", "ti,omap3630", "ti,omap3"; 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci cpus { 1562306a36Sopenharmony_ci cpu@0 { 1662306a36Sopenharmony_ci cpu0-supply = <&vcc>; 1762306a36Sopenharmony_ci }; 1862306a36Sopenharmony_ci }; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci memory@80000000 { 2162306a36Sopenharmony_ci device_type = "memory"; 2262306a36Sopenharmony_ci reg = <0x80000000 0x20000000>; /* 512 MB */ 2362306a36Sopenharmony_ci }; 2462306a36Sopenharmony_ci}; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci&omap3_pmx_core { 2762306a36Sopenharmony_ci pinctrl-names = "default"; 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci uart3_pins: uart3-pins { 3062306a36Sopenharmony_ci pinctrl-single,pins = < 3162306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx */ 3262306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx */ 3362306a36Sopenharmony_ci >; 3462306a36Sopenharmony_ci }; 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci dp3t_sel_pins: dp3t-sel-pins { 3762306a36Sopenharmony_ci pinctrl-single,pins = < 3862306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x2196, PIN_OUTPUT | MUX_MODE4) /* gpio_161 */ 3962306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x2198, PIN_OUTPUT | MUX_MODE4) /* gpio_162 */ 4062306a36Sopenharmony_ci >; 4162306a36Sopenharmony_ci }; 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci i2c1_pins: i2c1-pins { 4462306a36Sopenharmony_ci pinctrl-single,pins = < 4562306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT | MUX_MODE0) /* i2c1_scl */ 4662306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT | MUX_MODE0) /* i2c1_sda */ 4762306a36Sopenharmony_ci >; 4862306a36Sopenharmony_ci }; 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci i2c2_pins: i2c2-pins { 5162306a36Sopenharmony_ci pinctrl-single,pins = < 5262306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21be, PIN_INPUT | MUX_MODE0) /* i2c2_scl */ 5362306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21c0, PIN_INPUT | MUX_MODE0) /* i2c2_sda */ 5462306a36Sopenharmony_ci >; 5562306a36Sopenharmony_ci }; 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci i2c3_pins: i2c3-pins { 5862306a36Sopenharmony_ci pinctrl-single,pins = < 5962306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21c2, PIN_INPUT | MUX_MODE0) /* i2c3_scl */ 6062306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT | MUX_MODE0) /* i2c3_sda */ 6162306a36Sopenharmony_ci >; 6262306a36Sopenharmony_ci }; 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci lp8720_en_pin: lp8720-en-pins { 6562306a36Sopenharmony_ci pinctrl-single,pins = < 6662306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x2080, PIN_OUTPUT | MUX_MODE4) /* gpio_37 */ 6762306a36Sopenharmony_ci >; 6862306a36Sopenharmony_ci }; 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci mmc1_pins: mmc1-pins { 7162306a36Sopenharmony_ci pinctrl-single,pins = < 7262306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT | MUX_MODE0) /* sdmmc1_clk */ 7362306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT | MUX_MODE0) /* sdmmc1_cmd */ 7462306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT | MUX_MODE0) /* sdmmc1_dat0 */ 7562306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT | MUX_MODE0) /* sdmmc1_dat1 */ 7662306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT | MUX_MODE0) /* sdmmc1_dat2 */ 7762306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT | MUX_MODE0) /* sdmmc1_dat3 */ 7862306a36Sopenharmony_ci >; 7962306a36Sopenharmony_ci }; 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci mmc2_pins: mmc2-pins { 8262306a36Sopenharmony_ci pinctrl-single,pins = < 8362306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT | MUX_MODE0) /* sdmmc2_clk */ 8462306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT | MUX_MODE0) /* sdmmc2_cmd */ 8562306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT | MUX_MODE0) /* sdmmc2_dat0 */ 8662306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT | MUX_MODE0) /* sdmmc2_dat1 */ 8762306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT | MUX_MODE0) /* sdmmc2_dat2 */ 8862306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT | MUX_MODE0) /* sdmmc2_dat3 */ 8962306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x2164, PIN_INPUT | MUX_MODE0) /* sdmmc2_dat4 */ 9062306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x2166, PIN_INPUT | MUX_MODE0) /* sdmmc2_dat5 */ 9162306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x2168, PIN_INPUT | MUX_MODE0) /* sdmmc2_dat6 */ 9262306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT | MUX_MODE0) /* sdmmc2_dat7 */ 9362306a36Sopenharmony_ci >; 9462306a36Sopenharmony_ci }; 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci usb_otg_hs_pins: usb-otg-hs-pins { 9762306a36Sopenharmony_ci pinctrl-single,pins = < 9862306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21a2, PIN_INPUT | MUX_MODE0) /* hsusb0_clk */ 9962306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21a4, PIN_OUTPUT | MUX_MODE0) /* hsusb0_stp */ 10062306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21a6, PIN_INPUT | MUX_MODE0) /* hsusb0_dir */ 10162306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21a8, PIN_INPUT | MUX_MODE0) /* hsusb0_nxt */ 10262306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21aa, PIN_INPUT | MUX_MODE0) /* hsusb0_data0 */ 10362306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21ac, PIN_INPUT | MUX_MODE0) /* hsusb0_data1 */ 10462306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21ae, PIN_INPUT | MUX_MODE0) /* hsusb0_data2 */ 10562306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21b0, PIN_INPUT | MUX_MODE0) /* hsusb0_data3 */ 10662306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21b2, PIN_INPUT | MUX_MODE0) /* hsusb0_data4 */ 10762306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21b4, PIN_INPUT | MUX_MODE0) /* hsusb0_data5 */ 10862306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21b6, PIN_INPUT | MUX_MODE0) /* hsusb0_data6 */ 10962306a36Sopenharmony_ci OMAP3_CORE1_IOPAD(0x21b8, PIN_INPUT | MUX_MODE0) /* hsusb0_data7 */ 11062306a36Sopenharmony_ci >; 11162306a36Sopenharmony_ci }; 11262306a36Sopenharmony_ci}; 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci&omap3_pmx_wkup { 11562306a36Sopenharmony_ci pinctrl-names = "default"; 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci mmc1_cd_pin: mmc1-cd-pins { 11862306a36Sopenharmony_ci pinctrl-single,pins = < 11962306a36Sopenharmony_ci OMAP3_WKUP_IOPAD(0x2a1a, PIN_INPUT | MUX_MODE4) /* gpio_10 */ 12062306a36Sopenharmony_ci >; 12162306a36Sopenharmony_ci }; 12262306a36Sopenharmony_ci}; 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci&gpio2 { 12562306a36Sopenharmony_ci ti,no-reset-on-init; 12662306a36Sopenharmony_ci}; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci&gpio5 { 12962306a36Sopenharmony_ci ti,no-reset-on-init; 13062306a36Sopenharmony_ci}; 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci&gpio6 { 13362306a36Sopenharmony_ci ti,no-reset-on-init; 13462306a36Sopenharmony_ci}; 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci&uart3 { 13762306a36Sopenharmony_ci pinctrl-names = "default"; 13862306a36Sopenharmony_ci pinctrl-0 = <&uart3_pins &dp3t_sel_pins>; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>; 14162306a36Sopenharmony_ci}; 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci&i2c1 { 14462306a36Sopenharmony_ci pinctrl-names = "default"; 14562306a36Sopenharmony_ci pinctrl-0 = <&i2c1_pins>; 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci clock-frequency = <2600000>; 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ci twl: twl@48 { 15062306a36Sopenharmony_ci reg = <0x48>; 15162306a36Sopenharmony_ci interrupts = <7>; /* SYS_NIRQ cascaded to intc */ 15262306a36Sopenharmony_ci interrupt-parent = <&intc>; 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ci power { 15562306a36Sopenharmony_ci compatible = "ti,twl4030-power"; 15662306a36Sopenharmony_ci ti,use_poweroff; 15762306a36Sopenharmony_ci }; 15862306a36Sopenharmony_ci }; 15962306a36Sopenharmony_ci}; 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ci&i2c2 { 16262306a36Sopenharmony_ci pinctrl-names = "default"; 16362306a36Sopenharmony_ci pinctrl-0 = <&i2c2_pins>; 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci clock-frequency = <400000>; 16662306a36Sopenharmony_ci}; 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci&i2c3 { 16962306a36Sopenharmony_ci pinctrl-names = "default"; 17062306a36Sopenharmony_ci pinctrl-0 = <&i2c3_pins>; 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci clock-frequency = <400000>; 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci lp8720@7d { 17562306a36Sopenharmony_ci pinctrl-names = "default"; 17662306a36Sopenharmony_ci pinctrl-0 = <&lp8720_en_pin>; 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ci compatible = "ti,lp8720"; 17962306a36Sopenharmony_ci reg = <0x7d>; 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_ci enable-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; /* gpio_37 */ 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ci lp8720_ldo1: ldo1 { 18462306a36Sopenharmony_ci regulator-min-microvolt = <3000000>; 18562306a36Sopenharmony_ci regulator-max-microvolt = <3000000>; 18662306a36Sopenharmony_ci }; 18762306a36Sopenharmony_ci }; 18862306a36Sopenharmony_ci}; 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ci&mmc1 { 19162306a36Sopenharmony_ci pinctrl-names = "default"; 19262306a36Sopenharmony_ci pinctrl-0 = <&mmc1_pins &mmc1_cd_pin>; 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ci vmmc-supply = <&lp8720_ldo1>; 19562306a36Sopenharmony_ci cd-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; /* gpio 10 */ 19662306a36Sopenharmony_ci bus-width = <4>; 19762306a36Sopenharmony_ci}; 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ci&mmc2 { 20062306a36Sopenharmony_ci pinctrl-names = "default"; 20162306a36Sopenharmony_ci pinctrl-0 = <&mmc2_pins>; 20262306a36Sopenharmony_ci 20362306a36Sopenharmony_ci vmmc-supply = <&vmmc2>; 20462306a36Sopenharmony_ci ti,non-removable; 20562306a36Sopenharmony_ci bus-width = <8>; 20662306a36Sopenharmony_ci}; 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ci&mmc3 { 20962306a36Sopenharmony_ci status = "disabled"; 21062306a36Sopenharmony_ci}; 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci&usb_otg_hs { 21362306a36Sopenharmony_ci pinctrl-names = "default"; 21462306a36Sopenharmony_ci pinctrl-0 = <&usb_otg_hs_pins>; 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ci interface-type = <0>; 21762306a36Sopenharmony_ci usb-phy = <&usb2_phy>; 21862306a36Sopenharmony_ci phys = <&usb2_phy>; 21962306a36Sopenharmony_ci phy-names = "usb2-phy"; 22062306a36Sopenharmony_ci mode = <3>; 22162306a36Sopenharmony_ci power = <50>; 22262306a36Sopenharmony_ci}; 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ci#include "twl4030.dtsi" 22562306a36Sopenharmony_ci#include "twl4030_omap3.dtsi" 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci&twl_keypad { 22862306a36Sopenharmony_ci linux,keymap = < 22962306a36Sopenharmony_ci MATRIX_KEY(0x00, 0x00, KEY_VOLUMEUP) 23062306a36Sopenharmony_ci MATRIX_KEY(0x01, 0x00, KEY_VOLUMEDOWN) 23162306a36Sopenharmony_ci MATRIX_KEY(0x02, 0x00, KEY_SELECT) 23262306a36Sopenharmony_ci >; 23362306a36Sopenharmony_ci}; 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_ci/* 23662306a36Sopenharmony_ci * The TWL4030 VAUX2 and VDAC regulators power sensors that are slaves on I2C3. 23762306a36Sopenharmony_ci * When not powered, these sensors cause the I2C3 clock to stay low at all times, 23862306a36Sopenharmony_ci * making it impossible to reach other devices on I2C3. 23962306a36Sopenharmony_ci */ 24062306a36Sopenharmony_ci 24162306a36Sopenharmony_ci&vaux2 { 24262306a36Sopenharmony_ci regulator-min-microvolt = <2800000>; 24362306a36Sopenharmony_ci regulator-max-microvolt = <2800000>; 24462306a36Sopenharmony_ci regulator-always-on; 24562306a36Sopenharmony_ci}; 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_ci&vdac { 24862306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 24962306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 25062306a36Sopenharmony_ci regulator-always-on; 25162306a36Sopenharmony_ci}; 252