From nobody Sun Feb 8 14:10:11 2026 Received: from mail-qv1-f54.google.com (mail-qv1-f54.google.com [209.85.219.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 201BB306D3D for ; Thu, 29 Jan 2026 05:47:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769665677; cv=none; b=mgUkE31gF0N7+Ur5e+pZehdNK/77hWMkI1iKGgURIhgHu/whtcdcWqrktX3PJ8+WyveAx7dv524ZC296tGSm3rdGlYa16ss/Vh+yE9TjhOyKUPKHcItPB7OzQ6MVSUxm0p1nm7ARFQNyr8LPeTV8AmXoprhDjwfQRpha4S581f0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769665677; c=relaxed/simple; bh=937wFbOM4xsCX4dlUr+nprZxmutYXderWvhjjQN4lYE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=clB5BMUYTHqKvkXFpYqeJNLGAB8YAUulgcqc8DhnKjXvSv4vBE5+LGyFSszCjMHH6HDiKid1qi0Ccy6SDMytOAjRUCfc/S0w04IhdKWod40P6/+Kvh90HqjLyIAvuGW2v/oSDNaG2YDJKYdRYGx5Dgeh95HTX7SOTOFFpF44FEI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=YiX0JwUA; arc=none smtp.client-ip=209.85.219.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YiX0JwUA" Received: by mail-qv1-f54.google.com with SMTP id 6a1803df08f44-888bd3bd639so8804456d6.1 for ; Wed, 28 Jan 2026 21:47:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769665674; x=1770270474; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XsHILFzpThZhgugAcgEDgCHxNMIUPnpQKWQzZ8ii4ko=; b=YiX0JwUALHyA49V8Sl3kB7nxCCxIyFrVPKy6Q6nMPShtvh4goo4J84HEkPEJAgnZ2Z RMFdJfg7g2Lo7t5npBxoSvy2dR/42WEOlep6iKLU0GyglzzZlfLBCjrRt5Yv03Xsm8Gg 7Xn6kV+VWDClvzM4omsKFoBhNbzF/G+20lvsI/jiwfcWIlEuVag6gLp9S70/LbLuc4R0 Oc5vO2FW6x4Rxk39871K5Mh+3isI++vg2EbdZgloE0v3JSJKvZe/vbLBZ5lnacnRX9gp t6VDC25EUEkPWEAf0ThBYLpmi02kRJLFfM/YcYxxjhTBbNSy5YP9/uc1ufqvl+ECySEZ i69Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769665674; x=1770270474; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=XsHILFzpThZhgugAcgEDgCHxNMIUPnpQKWQzZ8ii4ko=; b=qlXUeJ2djQHvM/wl/Xk729BzfvmEm5klpNy9Qy6b8zQAQn3km5B31TyQ6UFbq6HSDL wYqsBa6Ii2cs6bVVL8Ja54EZQfoosg+1NnHFo0TVpJOC4Loz5pSWBJ2MfGZlI7wn/Hrt K5Qif9fqxCyubrkEANyzb+ZChb40sbQpsA5ifFa0q+AMQBobv1QOQYwTgUaRL3oWBTHM 3qZGPLOmU6p5HLdjRBa4zSYxC/P/+jymNCrTX/SZ/19ITy5TDO29SPJn1B6tnj2FGMj8 F/eY4cF1wd6rHoCd5W5LZ/U64SgFD+4+IfvfS8dMjH8WILqXSOyrfBDZKqdCGGaVtjGS K1Hw== X-Forwarded-Encrypted: i=1; AJvYcCWw9pOKAH/5VuuV+64GMq4jl97FMFDOz3hzwRvdm2Sj68+5girI46cbOch88PACz2DArzZ1Ak8ttIZ/xPU=@vger.kernel.org X-Gm-Message-State: AOJu0YxktbgXue9TY0mEvn4IyP3kQXmY1rkOLJ4Cn8QlxhFN9IqX2Eml h20LUEHUFQmCbNpxm+8Ju1qfSJDJa8FrQo4hTSyll60UEWYJxBbSiQyM X-Gm-Gg: AZuq6aIW1At8h5vNPSYJrCvS9s/AcUmHhZDsmoPY2hX983IKlPLVtomYEwwCVwkwovY s8Qb//XK2BOqA6yN2nItZa6eEoGkiqbaCaPo2cuyG44pcnRgOEnhKEtGkhNDmHt8pwgw+MSzGCI 1OQtZH1h4DnU2dvYHNklij8FyY7QLtH9jrlh3le32M0OdBPTMMItNBq+Gb17T0/XfXnC1O+MoxV d8Ez44R9pBT09XSoO8E40WAJ5WUK9R87rGli6AKC78kXfP1SAs/DyRCDBGbe+FQzq4jsTTambg0 G5Id2jW1RKesGxDU2OSiB296SSqtu7zfFSlDZBRJxmXMlNtWP3iG2fU9836YbS+lVHegCUIrxaz r8Mtb1/mdI4V9crOckm0OIOlWX2BlMPNPCxNVePHeqCa6ZYhcLTzT4VNhynOS6p/8yMcZPpoSWi aWg/C4AP2JA2sOUfW3SA4VAYv2HqlDlztyc4zY2Tg8okz7n8mJjRh0qI/WR7raZ+Gk93gUfXifV QR6BN4VjQ== X-Received: by 2002:a05:6214:21ea:b0:894:3bac:49d1 with SMTP id 6a1803df08f44-894df995cdemr29609246d6.11.1769665673923; Wed, 28 Jan 2026 21:47:53 -0800 (PST) Received: from mighty.stonybrook.edu (nat-130-245-192-1.resnet.stonybrook.edu. [130.245.192.1]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-894d36dd1cfsm30903216d6.25.2026.01.28.21.47.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Jan 2026 21:47:53 -0800 (PST) From: Mithil Bavishi To: aaro.koskinen@iki.fi, airlied@gmail.com, andreas@kemnade.info, conor+dt@kernel.org, jernej.skrabec@gmail.com, jonas@kwiboo.se, khilman@baylibre.com, krzk+dt@kernel.org, laurent.pinchart@ideasonboard.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, neil.armstrong@linaro.org, prabhakar.mahadev-lad.rj@bp.renesas.com, jesszhan0024@gmail.com, rfoss@kernel.org, robh@kernel.org, rogerq@kernel.org, simona@ffwll.ch, thierry.reding@gmail.com, tony@atomide.com, tzimmermann@suse.de, andrzej.hajda@intel.com, bavishimithil@gmail.com Cc: devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org Subject: [PATCH v5 5/8] ARM: dts: ti: omap: espresso-common: Add common device tree for Samsung Galaxy Tab 2 series Date: Thu, 29 Jan 2026 00:47:06 -0500 Message-ID: <20260129054709.3878-6-bavishimithil@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260129054709.3878-1-bavishimithil@gmail.com> References: <20260129054709.3878-1-bavishimithil@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Create common device tree for Samsung Espresso series devices Let's create a common tree for all the variants first, later we can device specific trees based on their screen sizes Signed-off-by: Mithil Bavishi --- .../omap/omap4-samsung-espresso-common.dtsi | 762 ++++++++++++++++++ 1 file changed, 762 insertions(+) create mode 100644 arch/arm/boot/dts/ti/omap/omap4-samsung-espresso-common= .dtsi diff --git a/arch/arm/boot/dts/ti/omap/omap4-samsung-espresso-common.dtsi b= /arch/arm/boot/dts/ti/omap/omap4-samsung-espresso-common.dtsi new file mode 100644 index 000000000..381638b9f --- /dev/null +++ b/arch/arm/boot/dts/ti/omap/omap4-samsung-espresso-common.dtsi @@ -0,0 +1,762 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) +/dts-v1/; +#include "dt-bindings/gpio/gpio.h" +#include +#include +#include "omap443x.dtsi" + +/ { + memory@80000000 { + device_type =3D "memory"; + reg =3D <0x80000000 0x40000000>; /* 1 GB */ + }; + + reserved-memory { + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges; + + continuous_splash: framebuffer@bef00000{ + reg =3D <0xbef00000 (1024 * 600 * 4)>; + no-map; + }; + }; + + chosen { + stdout-path =3D &uart3; + #address-cells =3D <1>; + }; + + i2c-gpio5 { + compatible =3D "i2c-gpio"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&i2c5_pins>; + sda-gpios =3D <&gpio4 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + scl-gpios =3D <&gpio4 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + i2c-gpio,delay-us =3D <10>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + /* TODO: SMB136 Charger for 7" variant at 0x4d */ + }; + + i2c-gpio6 { + compatible =3D "i2c-gpio"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&i2c6_pins>; + sda-gpios =3D <&gpio3 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + scl-gpios =3D <&gpio3 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + i2c-gpio,delay-us =3D <10>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + /* TODO: STMPE811 ADC at 0x41 */ + }; + + i2c-gpio7 { + compatible =3D "i2c-gpio"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&i2c7_pins>; + sda-gpios =3D <&gpio2 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + scl-gpios =3D <&gpio2 29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + i2c-gpio,delay-us =3D <3>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + fuel-gauge@36 { + compatible =3D "maxim,max17042"; + reg =3D <0x36>; + pinctrl-0 =3D <&fuel_alert_irq>; + pinctrl-names =3D "default"; + interrupt-parent =3D <&gpio2>; + interrupts =3D <12 IRQ_TYPE_LEVEL_LOW>; + maxim,rsns-microohm =3D <10000>; + maxim,over-heat-temp =3D <500>; + maxim,dead-volt =3D <2500>; + maxim,over-volt =3D <4300>; + }; + }; + + reg_espresso_wlan: regulator-espresso-wlan { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&wlanen_gpio>; + compatible =3D "regulator-fixed"; + regulator-name =3D "espresso_wlan"; + regulator-max-microvolt =3D <2000000>; + regulator-min-microvolt =3D <2000000>; + gpio =3D <&gpio4 8 GPIO_ACTIVE_HIGH>; /* GPIO_104 */ + startup-delay-us =3D <70000>; + regulator-always-on; + enable-active-high; + }; + + wlan_pwrseq: wlan-pwrseq { + compatible =3D "mmc-pwrseq-simple"; + clocks =3D <&twl 0>; + clock-names =3D "ext_clock"; + }; + + reg_espresso_internal: regulator-espresso-internal { + compatible =3D "regulator-fixed"; + regulator-name =3D "eMMC_LDO"; + regulator-max-microvolt =3D <1800000>; + regulator-min-microvolt =3D <1800000>; + gpios =3D <&gpio2 21 GPIO_ACTIVE_HIGH>; /* GPIO_63 */ + startup-delay-us =3D <100000>; + regulator-boot-on; + regulator-always-on; + enable-active-high; + }; + + reg_espresso_external: regulator-espresso-external { + compatible =3D "regulator-fixed"; + regulator-name =3D "vmmc1"; + regulator-max-microvolt =3D <2800000>; + regulator-min-microvolt =3D <2800000>; + gpios =3D <&gpio2 2 GPIO_ACTIVE_HIGH>; /* GPIO_34 */ + enable-active-high; + }; + + reg_touch_ldo_en: regulator-touch-ldo-en { + compatible =3D "regulator-fixed"; + regulator-name =3D "touch_ldo_en"; + regulator-max-microvolt =3D <2800000>; + regulator-min-microvolt =3D <2800000>; + gpios =3D <&gpio2 22 GPIO_ACTIVE_HIGH>; /* GPIO_54 */ + regulator-always-on; + enable-active-high; + }; + + gpio-keys { + compatible =3D "gpio-keys"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&gpio_keys>; + + key-power { + label =3D "power"; + + gpios =3D <&gpio1 3 GPIO_ACTIVE_HIGH>; /* GPIO_wk3 */ + linux,code =3D ; + wakeup-source; + }; + + button-volup { + linux,code =3D ; + label =3D "volume_up"; /* GPIO_wk30 */ + gpios =3D <&gpio1 30 GPIO_ACTIVE_LOW>; + }; + + button-voldown { + linux,code =3D ; + label =3D "volume_down"; /* GPIO_wk8 */ + gpios =3D <&gpio1 8 GPIO_ACTIVE_LOW>; + }; + }; + + reg_lcd: regulator-lcd { + compatible =3D "regulator-fixed"; + regulator-name =3D "lcd_en"; + gpios =3D <&gpio5 7 GPIO_ACTIVE_HIGH>; /* GPIO_135 */ + regulator-max-microvolt =3D <3300000>; + regulator-min-microvolt =3D <3300000>; + enable-active-high; + regulator-boot-on; + }; + + pwm10: pwm-10 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pwm10_default>; + compatible =3D "ti,omap-dmtimer-pwm"; + #pwm-cells =3D <3>; + ti,timers =3D <&timer10>; + ti,clock-source =3D <0x00>; + }; + + lvds-encoder { + compatible =3D "doestek,dtc34lm85am", "lvds-encoder"; + powerdown-gpios =3D <&gpio5 8 GPIO_ACTIVE_LOW>; /* GPIO_136 */ + power-supply =3D <®_lcd>; + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + bridge_in: endpoint { + remote-endpoint =3D <&dpi_out>; + }; + }; + + port@1 { + reg =3D <1>; + bridge_out: endpoint { + remote-endpoint =3D <&panel_in>; + }; + }; + }; + }; + + vibrator { + compatible =3D "gpio-vibrator"; + enable-gpios =3D <&gpio2 6 GPIO_ACTIVE_HIGH>; /* GPIO_38 */ + pinctrl-names =3D "default"; + pinctrl-0 =3D <&vibrator_default>; + }; + + gp2a_shunt: current-sense-shunt { + compatible =3D "current-sense-shunt"; + io-channels =3D <&gpadc 4>; + shunt-resistor-micro-ohms =3D <24000000>; /* 24 ohms */ + #io-channel-cells =3D <0>; + }; + + led-ir { + compatible =3D "gpio-ir-tx"; + gpios =3D <&gpio2 27 GPIO_ACTIVE_HIGH>; /* GPIO_59 */ + pinctrl-names =3D "default"; + pinctrl-0 =3D <&ledir_pins>; + }; +}; + +&omap4_pmx_wkup { + gpio_keys: gpio-keys-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x046, WAKEUP_EN | PIN_INPUT | MUX_MODE3) + /* sim_cd.gpio_wk3 - EXT_WAKEUP */ + OMAP4_IOPAD(0x056, WAKEUP_EN | PIN_INPUT | MUX_MODE3) + /* fref_clk3_req.gpio_wk30 - VOL_UP */ + OMAP4_IOPAD(0x05C, WAKEUP_EN | PIN_INPUT | MUX_MODE3) + /* fref_clk4_out.gpio_wk8 - VOL_DN */ + >; + }; + + prox_irq: prox-irq-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x042, WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE3) + /* sim_clk.gpio_wk1 - PS_VOUT */ + >; + }; +}; + +&omap4_pmx_core { + backlight_pins: pinmux-backlight-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0X0D8, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE3) + /* usbb1_ulpitll_dat7.gpio_95 - LED_BACKLIGHT_RESET */ + >; + }; + + bluetooth_pins: pinmux-bluetooth-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x094, PIN_OUTPUT | MUX_MODE3) + /* gpmc_ncs6.gpio_103 - BT_EN */ + OMAP4_IOPAD(0x0be, PIN_OUTPUT | MUX_MODE3) + /* cam_strobe.gpio_82 - BT_nRST */ + OMAP4_IOPAD(0x0c0, WAKEUP_EN | PIN_INPUT | MUX_MODE3) + /* cam_globalreset.gpio_83 - BT_HOST_WAKE */ + OMAP4_IOPAD(0x0d4, PIN_OUTPUT | MUX_MODE3) + /* usbb1_ulpitll_dat5.gpio_93 - BT_WAKE */ + >; + }; + + dss_dpi_pins: pinmux-dss-dpi-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x162, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data23 */ + OMAP4_IOPAD(0x164, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data22 */ + OMAP4_IOPAD(0x166, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data21 */ + OMAP4_IOPAD(0x168, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data20 */ + OMAP4_IOPAD(0x16a, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data19 */ + OMAP4_IOPAD(0x16c, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data18 */ + OMAP4_IOPAD(0x16e, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data15 */ + OMAP4_IOPAD(0x170, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data14 */ + OMAP4_IOPAD(0x172, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data13 */ + OMAP4_IOPAD(0x174, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data12 */ + OMAP4_IOPAD(0x176, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data11 */ + OMAP4_IOPAD(0x1b4, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data10 */ + OMAP4_IOPAD(0x1b6, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data9 */ + OMAP4_IOPAD(0x1b8, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data16 */ + OMAP4_IOPAD(0x1ba, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data17 */ + OMAP4_IOPAD(0x1bc, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_hsync */ + OMAP4_IOPAD(0x1be, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_pclk */ + OMAP4_IOPAD(0x1c0, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_vsync */ + OMAP4_IOPAD(0x1c2, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_de */ + OMAP4_IOPAD(0x1c4, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data8 */ + OMAP4_IOPAD(0x1c6, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data7 */ + OMAP4_IOPAD(0x1c8, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data6 */ + OMAP4_IOPAD(0x1ca, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data5 */ + OMAP4_IOPAD(0x1cc, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data4 */ + OMAP4_IOPAD(0x1ce, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data3 */ + + OMAP4_IOPAD(0x1d0, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data2 */ + OMAP4_IOPAD(0x1d2, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data1 */ + OMAP4_IOPAD(0x1d4, PIN_OFF_OUTPUT_LOW | MUX_MODE5) + /* dispc2_data0 */ + >; + }; + + fuel_alert_irq: pinmux-fuel-alert-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x068, WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE3) + /* gpmc_a20.gpio_44 */ + >; + }; + + gp2a_irq: pinmux-gp2a-irq-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x052, WAKEUP_EN | PIN_INPUT | MUX_MODE3) + /* gpmc_ad9.gpio_33 - ALS_INT_18 */ + >; + }; + + i2c1_pins: pinmux-i2c1-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0) + /* i2c1_scl */ + OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0) + /* i2c1_sda */ + >; + }; + + i2c2_pins: pinmux-i2c2-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0) + /* i2c2_scl */ + OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0) + /* i2c2_sda */ + >; + }; + + i2c3_pins: pinmux-i2c3-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) + /* i2c3_scl */ + OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) + /* i2c3_sda */ + >; + }; + + i2c4_pins: pinmux-i2c4-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0) + /* i2c4_scl */ + OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0) + /* i2c4_sda */ + >; + }; + + i2c5_pins: pinmux-i2c5-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x0de, PIN_INPUT_PULLUP | MUX_MODE3) + /* usbc1_icusb_dp.gpio_98 */ + OMAP4_IOPAD(0x0e0, PIN_INPUT_PULLUP | MUX_MODE3) + /* usbc1_icusb_dm.gpio_99 */ + >; + }; + + i2c6_pins: pinmux-i2c6-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE3) + /* hdmi_ddc_scl.gpio_65 */ + OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE3) + /* hdmi_ddc_sda.gpio_66 */ + >; + }; + + i2c7_pins: pinmux-i2c7-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x08a, PIN_INPUT_PULLUP | MUX_MODE3) + /* gpmc_wait0.gpio_61 */ + OMAP4_IOPAD(0x08c, PIN_INPUT_PULLUP | MUX_MODE3) + /* gpmc_wait1.gpio_62 */ + >; + }; + + ledir_pins: pimux-ledir-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x086, PIN_INPUT_PULLDOWN | MUX_MODE7) + /* gpmc_nbe0_cle.gpio_59 */ + OMAP4_IOPAD(0x156, PIN_INPUT_PULLDOWN | MUX_MODE7) + /* mcspi4_simo.gpio_152 */ + >; + }; + + lvds_pins: pinmux-lvds-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0X136, PIN_OUTPUT | MUX_MODE3) + /* mcspi1_simo.gpio_136 - LVDS_nSHDN */ + >; + }; + + mmc1_pins: pinmux-mmc1-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x0e2, PIN_INPUT_PULLDOWN | MUX_MODE0) + /* sdmmc1_clk */ + OMAP4_IOPAD(0x0e4, PIN_INPUT_PULLUP | MUX_MODE0) + /* sdmcc1_cmd */ + OMAP4_IOPAD(0x0e6, PIN_INPUT_PULLUP | MUX_MODE0) + /* sdmcc1_dat0 */ + OMAP4_IOPAD(0x0e8, PIN_INPUT_PULLUP | MUX_MODE0) + /* sdmmc1_dat1 */ + OMAP4_IOPAD(0x0ea, PIN_INPUT_PULLUP | MUX_MODE0) + /* sdmmc1_dat2 */ + OMAP4_IOPAD(0x0ec, PIN_INPUT_PULLUP | MUX_MODE0) + /* sdmmc1_dat3 */ + >; + }; + + mmc2_pins: pinmux-mmc2-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x040, PIN_INPUT_PULLUP | MUX_MODE1) + /* sdmmc2_dat0 */ + OMAP4_IOPAD(0x042, PIN_INPUT_PULLUP | MUX_MODE1) + /* sdmmc2_dat1 */ + OMAP4_IOPAD(0x044, PIN_INPUT_PULLUP | MUX_MODE1) + /* sdmmc2_dat2 */ + OMAP4_IOPAD(0x046, PIN_INPUT_PULLUP | MUX_MODE1) + /* sdmmc2_dat3 */ + OMAP4_IOPAD(0x048, PIN_INPUT_PULLUP | MUX_MODE1) + /* sdmmc2_dat4 */ + OMAP4_IOPAD(0x04a, PIN_INPUT_PULLUP | MUX_MODE1) + /* sdmmc2_dat5 */ + OMAP4_IOPAD(0x04c, PIN_INPUT_PULLUP | MUX_MODE1) + /* sdmmc2_dat6 */ + OMAP4_IOPAD(0x04e, PIN_INPUT_PULLUP | MUX_MODE1) + /* sdmmc2_dat7 */ + OMAP4_IOPAD(0x082, PIN_INPUT_PULLUP | MUX_MODE1) + /* sdmmc2_clk */ + OMAP4_IOPAD(0x084, PIN_INPUT_PULLUP | MUX_MODE1) + /* sdmmc2_cmd */ + >; + }; + + mmc5_pins: pinmux-mmc5-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x148, PIN_INPUT_PULLDOWN | MUX_MODE0) + /* sdmmc5_clk.sdmmc5_clk */ + OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0) + /* sdmmc5_cmd.sdmmc5_cmd */ + OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0) + /* sdmmc5_dat0.sdmmc5_dat0 */ + OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0) + /* sdmmc5_dat1.sdmmc5_dat1 */ + OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0) + /* sdmmc5_dat2.sdmmc5_dat2 */ + OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0) + /* sdmmc5_dat3.sdmmc5_dat3 */ + >; + }; + + pwm10_default: pinmux-pwm10-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0X0D6, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE1) + /* usbb1_ulpitll_dat6.dmtimer10_pwm_evt - LED_BACKLIGHT_PWM */ + >; + }; + + touch_pins: pinmux-touch-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x06c, PIN_INPUT | MUX_MODE3) + /* gpmc_a22.gpio_46 - TSP_INT */ + >; + }; + + uart2_pins: pinmux-uart2-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0) + /* uart2_cts.uart2_cts */ + OMAP4_IOPAD(0x11a, PIN_INPUT_PULLUP | MUX_MODE0) + /* uart2_rts.uart2_rts */ + OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0) + /* uart2_rx.uart2_rx */ + OMAP4_IOPAD(0x11e, PIN_INPUT_PULLUP | MUX_MODE0) + /* uart2_tx.uart2_tx */ + >; + }; + + uart3_pins: pinmux-uart3-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0) + /* uart3_rx_irrx */ + OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0) + /* uart3_tx_irtx */ + >; + }; + + vibrator_default: pinmux-vibrator-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x05c, PIN_INPUT_PULLDOWN | MUX_MODE3) + /* gpmc_ad14.gpio_38 - MOTOR_EN */ + >; + }; + + wlanen_gpio: pinmux-wlanen-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x096, PIN_OUTPUT | MUX_MODE3) + /* gpmc_ncs7.gpio_104 */ + >; + }; + + wlan_host_wake: pinmux-wlan-host-wake-pins { + pinctrl-single,pins =3D < + OMAP4_IOPAD(0x0bc, WAKEUP_EN | PIN_INPUT | MUX_MODE3) + /* cam_shutter.gpio_81 - WLAN_HOST_WAKE */ + >; + }; +}; + +&uart3 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&uart3_pins>; + + interrupts-extended =3D <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH + &omap4_pmx_core OMAP4_UART3_RX>; +}; + +&i2c1 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&i2c1_pins>; + + clock-frequency =3D <400000>; + + twl: pmic@48 { + reg =3D <0x48>; + #clock-cells =3D <1>; + + pinctrl-names =3D "default"; + pinctrl-0 =3D < + &twl6030_pins + &twl6030_wkup_pins + >; + + /* SPI =3D 0, IRQ# =3D 7, 4 =3D active high level-sensitive */ + interrupts =3D ; /* IRQ_SYS_1N cascaded t= o gic */ + interrupt-parent =3D <&gic>; + system-power-controller; + }; +}; + +#include "twl6032.dtsi" +#include "twl6030_omap4.dtsi" + +&ldo1 { + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; +}; + +&ldo3 { + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; +}; + +&ldo4 { + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + regulator-always-on; +}; + +&ldo5 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-always-on; +}; + +&ldo6 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-always-on; + regulator-state-mem { + regulator-off-in-suspend; + }; +}; + +&smps4 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-always-on; +}; + +&ldousb { + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-always-on; +}; + +&i2c2 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&i2c2_pins>; +}; + +&i2c3 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&i2c3_pins>; +}; + +&i2c4 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&i2c4_pins>; + + accelerometer@18 { + compatible =3D "bosch,bma254"; + reg =3D <0x18>; + vdd-supply =3D <&ldo4>; + vddio-supply =3D <&ldo5>; + interrupt-parent =3D <&gpio4>; + interrupts =3D <25 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>, + <26 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>; + mount-matrix =3D "-1", "0", "0", + "0", "1", "0", + "0", "0", "1"; + }; + + magnetometer@2e { + compatible =3D "yamaha,yas530"; + reg =3D <0x2e>; + vdd-supply =3D <&ldo4>; + iovdd-supply =3D <&ldo5>; + reset-gpios =3D <&gpio5 29 GPIO_ACTIVE_LOW>; + interrupts =3D <&gpio6 10 IRQ_TYPE_EDGE_RISING>; + }; + + light-sensor@44 { + compatible =3D "sharp,gp2ap002a00f"; + reg =3D <0x44>; + interrupt-parent =3D <&gpio1>; + interrupts =3D <1 IRQ_TYPE_EDGE_FALLING>; + vdd-supply =3D <&ldo4>; + vio-supply =3D <&ldo4>; + io-channels =3D <&gp2a_shunt>; + io-channel-names =3D "alsout"; + sharp,proximity-far-hysteresis =3D /bits/ 8 <0x40>; + sharp,proximity-close-hysteresis =3D /bits/ 8 <0x20>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&gp2a_irq &prox_irq>; + }; +}; + +&dss { + status =3D "okay"; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&dss_dpi_pins>; + + port { + dpi_out: endpoint { + remote-endpoint =3D <&bridge_in>; + data-lines =3D <24>; + }; + }; +}; + +&twl_usb_comparator { + usb-supply =3D <&ldousb>; +}; + +&usb_otg_hs { + interface-type =3D <1>; + mode =3D <3>; + power =3D <50>; +}; + +&mmc1 { + status =3D "okay"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&mmc1_pins>; + + vmmc-supply =3D <®_espresso_external>; + bus-width =3D <4>; +}; + +&mmc2 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&mmc2_pins>; + + vmmc-supply =3D <®_espresso_internal>; + ti,non-removable; + bus-width =3D <8>; +}; + +&mmc3 { + status =3D "disabled"; +}; + +&mmc4 { + status =3D "disabled"; +}; + +&mmc5 { + status =3D "okay"; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + non-removable; + bus-width =3D <4>; + vmmc-supply =3D <®_espresso_wlan>; + mmc-pwrseq =3D <&wlan_pwrseq>; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&mmc5_pins>; + + brcmf: wifi@1 { + compatible =3D "brcm,bcm4330-fmac", "brcm,bcm4329-fmac"; + reg =3D <1>; + + interrupt-parent =3D <&gpio3>; + interrupts =3D <17 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names =3D "host-wake"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&wlan_host_wake>; + }; +}; + +&uart2 { + interrupts-extended =3D <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH + &omap4_pmx_core OMAP4_UART2_RX>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&uart2_pins>; + bluetooth { + compatible =3D "brcm,bcm4330-bt"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&bluetooth_pins>; + shutdown-gpios =3D <&gpio4 7 GPIO_ACTIVE_HIGH>; + reset-gpios =3D <&gpio3 18 GPIO_ACTIVE_LOW>; + device-wakeup-gpios =3D <&gpio3 29 GPIO_ACTIVE_HIGH>; + interrupt-parent =3D <&gpio3>; + interrupts =3D <19 IRQ_TYPE_EDGE_FALLING>; + }; +}; --=20 2.43.0