pmaports/device/community/linux-postmarketos-omap/0003-Add-espresso10-dts.patch
Mighty 9ec0be94e0
linux-postmarketos-omap: new aport (MR 3107)
[ci:skip-build]: already built successfully in CI
2022-08-25 09:25:18 +02:00

1024 lines
27 KiB
Diff

From 138e5b9630ae5420a4fccd476de82fe325e97f93 Mon Sep 17 00:00:00 2001
From: dartvader316 <dartvader316-dev@pm.me>
Date: Wed, 10 Aug 2022 23:06:58 +0300
Subject: [PATCH 1/5] arm: espresso: add espresso10 dts
---
arch/arm/boot/dts/Makefile | 1 +
.../arm/boot/dts/omap4-samsung-espresso10.dts | 710 ++
arch/arm/configs/espresso10_defconfig | 7403 +++++++++++++++++
3 files changed, 8114 insertions(+)
create mode 100644 arch/arm/boot/dts/omap4-samsung-espresso10.dts
create mode 100644 arch/arm/configs/espresso10_defconfig
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 2c2395576c600..c07de143dcd18 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -949,6 +949,7 @@ dtb-$(CONFIG_ARCH_OMAP4) += \
omap4-panda-a4.dtb \
omap4-panda-es.dtb \
omap4-samsung-espresso3g.dtb \
+ omap4-samsung-espresso10.dtb \
omap4-sdp.dtb \
omap4-sdp-es23plus.dtb \
omap4-var-dvk-om44.dtb \
diff --git a/arch/arm/boot/dts/omap4-samsung-espresso10.dts b/arch/arm/boot/dts/omap4-samsung-espresso10.dts
new file mode 100644
index 0000000000000..38e0835baebb3
--- /dev/null
+++ b/arch/arm/boot/dts/omap4-samsung-espresso10.dts
@@ -0,0 +1,710 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+/dts-v1/;
+#include "dt-bindings/gpio/gpio.h"
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/input/input.h>
+#include "omap443x.dtsi"
+
+/ {
+ model = "Samsung Galaxy Tab 2 10-inch";
+ compatible = "samsung,espresso10", "ti,omap4430", "ti,omap4";
+
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x80000000 0x40000000>; /* 1 GB */
+ };
+
+ reserved-memory {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ ramoops_region@A0000000 {
+ no-map;
+
+ reg = <0xA0000000 0x200000>;
+
+ };
+
+ continuous_splash: framebuffer@bef00000{
+ //The framebuffer address is specific to your device
+ reg = <0xbef00000 (1024 * 600 * 4)>;
+ no-map;
+ };
+ };
+
+ chosen {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ };
+
+ i2c-gpio-5 {
+ compatible = "i2c-gpio";
+ sda-gpios = <&gpio4 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ scl-gpios = <&gpio4 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ i2c-gpio,delay-us = <10>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ i2c-gpio-7 {
+ compatible = "i2c-gpio";
+ sda-gpios = <&gpio2 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ scl-gpios = <&gpio2 29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ i2c-gpio,delay-us = <3>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ fuel-gauge@36 {
+ compatible = "maxim,max17042";
+ reg = <0x36>;
+ pinctrl-0 = <&fuel_alert_irq>;
+ pinctrl-names = "default";
+ interrupt-parent = <&gpio2>;
+ interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
+ maxim,rsns-microohm = <10000>;
+ maxim,over-heat-temp = <500>;
+ maxim,dead-volt = <2500>;
+ maxim,over-volt = <4300>;
+ };
+ };
+
+ reg_espresso_vwlan: regulator-espresso-vwlan {
+ pinctrl-names = "default";
+ pinctrl-0 = <&wlanen_gpio>;
+ compatible = "regulator-fixed";
+ regulator-name = "vwl1271";
+ regulator-max-microvolt = <2000000>;
+ regulator-min-microvolt = <2000000>;
+ gpio = <&gpio4 8 GPIO_ACTIVE_HIGH>;
+ startup-delay-us = <70000>;
+ regulator-always-on;
+ enable-active-high;
+ };
+
+ reg_espresso_internal: regulator-espresso-internal {
+ compatible = "regulator-fixed";
+ regulator-name = "eMMC_LDO";
+ regulator-max-microvolt = <1800000>;
+ regulator-min-microvolt = <1800000>;
+ gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
+ startup-delay-us = <100000>;
+ regulator-boot-on;
+ regulator-always-on;
+ enable-active-high;
+ };
+
+ reg_espresso_external: regulator-espresso-external {
+ compatible = "regulator-fixed";
+ regulator-name = "vmmc2";
+ regulator-max-microvolt = <2800000>;
+ regulator-min-microvolt = <2800000>;
+ gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
+ regulator-always-on;
+ enable-active-high;
+ };
+
+ reg_touch_ldo_en: regulator-touch-ldo-en {
+ compatible = "regulator-fixed";
+ regulator-name = "touch_ldo_en";
+ regulator-max-microvolt = <2800000>;
+ regulator-min-microvolt = <2800000>;
+ gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>;
+ regulator-always-on;
+ enable-active-high;
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+ //pinctrl-names = "default";
+ //pinctrl-0 = <&gpio_keys>;
+
+ power {
+ label = "power";
+ gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
+ linux,code = <KEY_POWER>;
+ wakeup-source;
+ };
+
+ button-volup {
+ linux,code = <KEY_VOLUMEUP>;
+ label = "volume_up"; /* GPIO30 */
+ gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
+ };
+
+ button-voldown {
+ linux,code = <KEY_VOLUMEDOWN>;
+ label = "volume_down"; /* GPIO8 */
+ gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ reg_lcd: regulator-lcd {
+ compatible = "regulator-fixed";
+ regulator-name = "lcd_en";
+ gpios = <&gpio5 7 GPIO_ACTIVE_HIGH>;
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <3300000>;
+ enable-active-high;
+ //regulator-always-on;
+ regulator-boot-on;
+ };
+
+ pwm10: dmtimer-pwm@10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pwm10_default>;
+
+ compatible = "ti,omap-dmtimer-pwm";
+ #pwm-cells = <3>;
+ ti,timers = <&timer10>;
+ ti,clock-source = <0x00>;
+ };
+
+ backlight: backlight {
+ compatible = "pwm-backlight";
+ pinctrl-names = "default";
+ pinctrl-0 = <&backlight_pins>;
+ pwms = <&pwm10 0 1600 0>;
+ power-supply = <&reg_lcd>;
+ enable-gpios = <&gpio3 31 GPIO_ACTIVE_HIGH>;
+ brightness-levels = <0 4 8 16 32 64 128 255>;
+ default-brightness-level = <7>;
+ };
+
+ lvds-encoder {
+ compatible = "lvds-encoder", "doestek,dtc34lm85am";
+ powerdown-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
+ power-supply = <&reg_lcd>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ bridge_in: endpoint {
+ remote-endpoint = <&dpi_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ bridge_out: endpoint {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+ };
+ };
+
+
+ /*
+ static struct omap_dss_device espresso10_lcd_config = {
+ .panel = {
+ .timings = {
+ .x_res = 1280,
+ .y_res = 800,
+ .pixel_clock = 69818, // closest to 69000
+ .hfp = 16,
+ .hsw = 48,
+ .hbp = 64,
+ .vfp = 16,
+ .vsw = 3,
+ .vbp = 11,
+ },
+ .width_in_um = 216960,
+ .height_in_um = 135600,
+ },
+ };
+ */
+
+ panel {
+ compatible ="samsung,ltn070nl01", "panel-lvds";
+ power-supply = <&reg_lcd>;
+ width-mm = <223>;
+ height-mm = <125>;
+ data-mapping = "jeida-24";
+ backlight = <&backlight>;
+
+ panel-timing {
+ clock-frequency = <56888889>;
+
+ hback-porch = <64>;
+ hactive = <1280>;
+ hfront-porch = <16>;
+ hsync-len = <48>;
+
+ vback-porch = <11>;
+ vactive = <800>;
+ vfront-porch = <16>;
+ vsync-len = <3>;
+
+ hsync-active = <0>;
+ vsync-active = <0>;
+ de-active = <1>;
+ pixelclk-active = <1>;
+ };
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&bridge_out>;
+ };
+ };
+ };
+
+ vibrator {
+ compatible = "gpio-vibrator";
+ enable-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&vibrator_default>;
+ };
+
+ gp2a_shunt: current-sense-shunt {
+ compatible = "current-sense-shunt";
+ io-channels = <&gpadc 4>;
+ shunt-resistor-micro-ohms = <47000000>; /* 47 ohms */
+ #io-channel-cells = <0>;
+ io-channel-ranges;
+ };
+};
+
+&omap4_pmx_wkup {
+ twl6030_wkup_pins: pinmux_twl6030_wkup_pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x56, PIN_OUTPUT_PULLUP | MUX_MODE2) /* fref_clk3_req.sys_drm_msecure */
+ >;
+ };
+
+ prox_irq: pinmux_prox_irq {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x042, WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE3)
+ >;
+ };
+};
+
+&omap4_pmx_core {
+ pwm10_default: pinmux_pwm10_default {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0X0D6, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE1)
+ >;
+ };
+
+ backlight_pins: pinmux_backlight_pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0X0D8, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE3)
+ >;
+ };
+
+ i2c1_pins: pinmux_i2c1_pins {
+ pinctrl-single,pins = <
+ 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 = <
+ 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 = <
+ 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 = <
+ OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
+ OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
+ >;
+ };
+
+ mmc2_pins: pinmux_mmc2_pins {
+ pinctrl-single,pins = <
+ 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 */
+ >;
+ };
+
+ mmc1_pins: pinmux_mmc1_pins {
+ pinctrl-single,pins = <
+ 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 */
+ >;
+ };
+
+ mmc5_pins: pinmux_mmc5_pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | 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 */
+ >;
+ };
+
+ dss_dpi_pins: pinmux_dss_dpi_pins {
+ pinctrl-single,pins = <
+ 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 */
+ >;
+ };
+
+ wlanen_gpio: pinmux_wlanen_gpio {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x096, PIN_OUTPUT | MUX_MODE3) /* gpmc_ncs7.gpio_104 */
+ >;
+ };
+
+ twl6030_pins: pinmux_twl6030_pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x19e, WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE0) /* sys_nirq1.sys_nirq1 */
+ >;
+ };
+
+ fuel_alert_irq: fuel-alert-irq {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x068, WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a20.gpio_44 */
+ >;
+ };
+
+ /*gpio_keys: pinmux_gpio_keys {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x046, WAKEUP_EN | PIN_INPUT | MUX_MODE3)
+ OMAP4_IOPAD(0x056, WAKEUP_EN | PIN_INPUT | MUX_MODE3)
+ OMAP4_IOPAD(0x05C, WAKEUP_EN | PIN_INPUT | MUX_MODE3)
+ >;
+ };*/
+
+ uart2_pins: pinmux_uart2_pins {
+ pinctrl-single,pins = <
+ 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 */
+ >;
+ };
+
+ bluetooth_pins: pinmux_bluetooth_pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x094, PIN_OUTPUT | MUX_MODE3)
+ OMAP4_IOPAD(0x0be, PIN_OUTPUT | MUX_MODE3)
+ OMAP4_IOPAD(0x0c0, WAKEUP_EN | PIN_INPUT | MUX_MODE3)
+ OMAP4_IOPAD(0x0d4, PIN_OUTPUT | MUX_MODE3)
+ >;
+ };
+
+ wlan_host_wake: pinmux_wlan_host_wake {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x0bc, WAKEUP_EN | PIN_INPUT | MUX_MODE3)
+ >;
+ };
+
+ touch_pins: pinmux_touch_pins {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x06c, PIN_INPUT | MUX_MODE3)
+ >;
+ };
+
+ vibrator_default: pinmux_vibrator_default {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x05c, PIN_INPUT_PULLDOWN | MUX_MODE3)
+ >;
+ };
+
+ gp2a_irq: pinmux_gp2a_irq {
+ pinctrl-single,pins = <
+ OMAP4_IOPAD(0x052, WAKEUP_EN | PIN_INPUT | MUX_MODE3)
+ >;
+ };
+};
+
+&i2c1 {
+ // We need i2c1 muxed early on the boot process for pmic
+ // bootloader already done it for us
+ // pinctrl-names = "default";
+ // pinctrl-0 = <&i2c1_pins>;
+
+ clock-frequency = <400000>;
+
+ twl: twl@48 {
+ reg = <0x48>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <
+ &twl6030_pins
+ &twl6030_wkup_pins
+ >;
+
+ /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
+ interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
+ interrupt-parent = <&gic>;
+
+ twl_power: power {
+ compatible = "ti,twl6030-power";
+ ti,system-power-controller;
+ };
+ };
+};
+
+#include "twl6032.dtsi"
+
+&i2c2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c2_pins>;
+};
+
+&i2c3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c3_pins>;
+
+ /*
+ from old dts espresso3g. espresso10 uses Synaptics S7301 Touchscreen
+
+ touchscreen@48 {
+ compatible = "melfas,mms136";
+ reg = <0x48>;
+ interrupt-parent = <&gpio2>;
+ interrupts = <14 IRQ_TYPE_EDGE_FALLING>;
+ touchscreen-size-x = <1279>;
+ touchscreen-size-y = <799>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&touch_pins>;
+ avdd-supply = <&reg_touch_ldo_en>;
+ vdd-supply = <&vcxio>;
+ };
+
+
+ #define REG_INTERRUPT_STATUS 0x14
+
+ #define REG_DEVICE_STATUS 0x13
+ #define REG_FINGER_STATUS 0x15
+ #define REG_POINT_INFO 0x18
+
+ #define TS_MAX_Z_TOUCH 255
+ #define TS_MAX_W_TOUCH 100
+
+ if (board_is_espresso10()) {
+ espresso_ts_pdata.fw_name = "synaptics/p5100.fw";
+ espresso_ts_pdata.fw_info = &espresso10_tsp_fw_info,
+ espresso_ts_pdata.rx_channel_no = 42,
+ espresso_ts_pdata.tx_channel_no = 27,
+ espresso_ts_pdata.x_pixel_size = 1279,
+ espresso_ts_pdata.y_pixel_size = 799,
+ panel_id += 2;
+ }
+
+ */
+
+ touchscreen: synaptics-rmi4-i2c@20 {
+ compatible = "syna,rmi4-i2c";
+ reg = <0x20>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ interrupt-parent = <&gpio2>;
+ interrupts = <14 IRQ_TYPE_EDGE_FALLING>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&touch_pins>;
+
+ avdd-supply = <&reg_touch_ldo_en>;
+ vdd-supply = <&vcxio>;
+
+ syna,reset-delay-ms = <200>;
+ syna,startup-delay-ms = <200>;
+
+ touchscreen-size-x = <1279>;
+ touchscreen-size-y = <799>;
+
+ rmi4-f01@1 {
+ reg = <0x01>;
+ syna,nosleep-mode = <1>;
+ };
+
+ rmi4-f11@11 {
+ reg = <0x11>;
+ syna,sensor-type = <1>;
+ };
+ };
+};
+
+&i2c4 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c4_pins>;
+
+ accelerometer@18 {
+ compatible = "bosch,bma254";
+ reg = <0x18>;
+ vdd-supply = <&vaux2>;
+ vddio-supply = <&ldo5>;
+ interrupt-parent = <&gpio4>;
+ interrupts = <25 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)> , <26 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>;
+ mount-matrix = "-1", "0", "0",
+ "0", "1", "0",
+ "0", "0", "1";
+ };
+
+ magnetometer@2e {
+ compatible = "yamaha,yas530";
+ reg = <0x2e>;
+ vdd-supply = <&vaux2>;
+ iovdd-supply = <&ldo5>;
+ reset-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;
+ interrupts = <&gpio6 10 IRQ_TYPE_EDGE_RISING>;
+ };
+
+ light-sensor@44 {
+ compatible = "sharp,gp2ap002a00f";
+ reg = <0x44>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
+ vdd-supply = <&vaux2>;
+ vio-supply = <&vaux2>;
+ io-channels = <&gp2a_shunt>;
+ io-channel-names = "alsout";
+ sharp,proximity-far-hysteresis = /bits/ 8 <0x40>;
+ sharp,proximity-close-hysteresis = /bits/ 8 <0x20>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&gp2a_irq &prox_irq>;
+ };
+};
+
+&dss {
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&dss_dpi_pins>;
+
+ port {
+ dpi_out: endpoint {
+ remote-endpoint = <&bridge_in>;
+ data-lines = <24>;
+ };
+ };
+};
+
+#include "twl6030.dtsi"
+
+&twl_usb_comparator {
+ usb-supply = <&vusb>;
+};
+
+&usb_otg_hs {
+ interface-type = <1>;
+ mode = <3>;
+ power = <50>;
+};
+
+&mmc1 {
+ status = "ok";
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc1_pins>;
+
+ vmmc-supply = <&reg_espresso_external>;
+ bus-width = <4>;
+};
+
+
+&mmc2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc2_pins>;
+
+ vmmc-supply = <&reg_espresso_internal>;
+ ti,non-removable;
+ bus-width = <8>;
+};
+
+&mmc3 {
+ status = "disabled";
+};
+
+&mmc4 {
+ status = "disabled";
+};
+
+&mmc5 {
+ status = "okay";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ non-removable;
+ bus-width = <4>;
+ vmmc-supply = <&reg_espresso_vwlan>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc5_pins>;
+
+ brcmf: wifi@1 {
+ compatible = "brcm,bcm4330-fmac";
+ reg = <1>;
+
+ interrupt-parent = <&gpio3>;
+ interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "host-wake";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wlan_host_wake>;
+ };
+};
+
+&uart2 {
+ interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH
+ &omap4_pmx_core OMAP4_UART2_RX>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart2_pins>;
+ bluetooth {
+ compatible = "brcm,bcm4330-bt";
+ pinctrl-names = "default";
+ pinctrl-0 = <&bluetooth_pins>;
+ shutdown-gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&gpio3 18 GPIO_ACTIVE_LOW>;
+ device-wakeup-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
+ interrupt-parent = <&gpio3>;
+ interrupts = <19 IRQ_TYPE_EDGE_FALLING>;
+ };
+};
From 3dcb1c9996f90b01f0073e2d0438193e875c356c Mon Sep 17 00:00:00 2001
From: dartvader316 <dartvader316-dev@pm.me>
Date: Wed, 10 Aug 2022 23:18:12 +0300
Subject: [PATCH 2/5] arm: espresso10.dts: comments cleanup
---
.../arm/boot/dts/omap4-samsung-espresso10.dts | 56 -------------------
1 file changed, 56 deletions(-)
diff --git a/arch/arm/boot/dts/omap4-samsung-espresso10.dts b/arch/arm/boot/dts/omap4-samsung-espresso10.dts
index 38e0835baebb3..65cc80be7d8c4 100644
--- a/arch/arm/boot/dts/omap4-samsung-espresso10.dts
+++ b/arch/arm/boot/dts/omap4-samsung-espresso10.dts
@@ -197,25 +197,6 @@
};
- /*
- static struct omap_dss_device espresso10_lcd_config = {
- .panel = {
- .timings = {
- .x_res = 1280,
- .y_res = 800,
- .pixel_clock = 69818, // closest to 69000
- .hfp = 16,
- .hsw = 48,
- .hbp = 64,
- .vfp = 16,
- .vsw = 3,
- .vbp = 11,
- },
- .width_in_um = 216960,
- .height_in_um = 135600,
- },
- };
- */
panel {
compatible ="samsung,ltn070nl01", "panel-lvds";
@@ -502,43 +483,6 @@
pinctrl-names = "default";
pinctrl-0 = <&i2c3_pins>;
- /*
- from old dts espresso3g. espresso10 uses Synaptics S7301 Touchscreen
-
- touchscreen@48 {
- compatible = "melfas,mms136";
- reg = <0x48>;
- interrupt-parent = <&gpio2>;
- interrupts = <14 IRQ_TYPE_EDGE_FALLING>;
- touchscreen-size-x = <1279>;
- touchscreen-size-y = <799>;
- pinctrl-names = "default";
- pinctrl-0 = <&touch_pins>;
- avdd-supply = <&reg_touch_ldo_en>;
- vdd-supply = <&vcxio>;
- };
-
-
- #define REG_INTERRUPT_STATUS 0x14
-
- #define REG_DEVICE_STATUS 0x13
- #define REG_FINGER_STATUS 0x15
- #define REG_POINT_INFO 0x18
-
- #define TS_MAX_Z_TOUCH 255
- #define TS_MAX_W_TOUCH 100
-
- if (board_is_espresso10()) {
- espresso_ts_pdata.fw_name = "synaptics/p5100.fw";
- espresso_ts_pdata.fw_info = &espresso10_tsp_fw_info,
- espresso_ts_pdata.rx_channel_no = 42,
- espresso_ts_pdata.tx_channel_no = 27,
- espresso_ts_pdata.x_pixel_size = 1279,
- espresso_ts_pdata.y_pixel_size = 799,
- panel_id += 2;
- }
-
- */
touchscreen: synaptics-rmi4-i2c@20 {
compatible = "syna,rmi4-i2c";
From 6b9747c182e4b73fd26b77c75ecf6edf2f0329dc Mon Sep 17 00:00:00 2001
From: dartvader316 <dartvader316-dev@pm.me>
Date: Thu, 11 Aug 2022 11:27:51 +0300
Subject: [PATCH 3/5] arm: espresso10.dts: sm136 charger and more gpio pins
---
.../arm/boot/dts/omap4-samsung-espresso10.dts | 31 +++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/arch/arm/boot/dts/omap4-samsung-espresso10.dts b/arch/arm/boot/dts/omap4-samsung-espresso10.dts
index 65cc80be7d8c4..05390460942f2 100644
--- a/arch/arm/boot/dts/omap4-samsung-espresso10.dts
+++ b/arch/arm/boot/dts/omap4-samsung-espresso10.dts
@@ -46,6 +46,28 @@
i2c-gpio,delay-us = <10>;
#address-cells = <1>;
#size-cells = <0>;
+
+ smb136: charger@4D {
+ compatible = "summit,smb136";
+ reg = <0x4D>;
+ interrupt-parent = <&gpio2>;
+ interrupts = <0 IRQ_TYPE_EDGE_BOTH>;
+ };
+
+ };
+
+ i2c-gpio-6 {
+ compatible = "i2c-gpio";
+ sda-gpios = <&gpio3 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ scl-gpios = <&gpio3 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ i2c-gpio,delay-us = <10>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ stmpe1: stmpe811@41 {
+ compatible = "samsung,stmpe811";
+ reg = <0x41>;
+ };
};
i2c-gpio-7 {
@@ -70,6 +92,15 @@
};
};
+ i2c-gpio-8 {
+ compatible = "i2c-gpio";
+ sda-gpios = <&gpio3 34 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ scl-gpios = <&gpio3 35 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ i2c-gpio,delay-us = <3>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
reg_espresso_vwlan: regulator-espresso-vwlan {
pinctrl-names = "default";
pinctrl-0 = <&wlanen_gpio>;
From d6fa7edc4c4a26e233e46440b4af795a1e60f7e3 Mon Sep 17 00:00:00 2001
From: dartvader316 <dartvader316-dev@pm.me>
Date: Thu, 11 Aug 2022 13:42:19 +0300
Subject: [PATCH 4/5] Revert "arm: espresso10.dts: sm136 charger and more gpio
pins"
Espresso10 uses smb347 charger
This reverts commit 6b9747c182e4b73fd26b77c75ecf6edf2f0329dc.
---
.../arm/boot/dts/omap4-samsung-espresso10.dts | 31 -------------------
1 file changed, 31 deletions(-)
diff --git a/arch/arm/boot/dts/omap4-samsung-espresso10.dts b/arch/arm/boot/dts/omap4-samsung-espresso10.dts
index 05390460942f2..65cc80be7d8c4 100644
--- a/arch/arm/boot/dts/omap4-samsung-espresso10.dts
+++ b/arch/arm/boot/dts/omap4-samsung-espresso10.dts
@@ -46,28 +46,6 @@
i2c-gpio,delay-us = <10>;
#address-cells = <1>;
#size-cells = <0>;
-
- smb136: charger@4D {
- compatible = "summit,smb136";
- reg = <0x4D>;
- interrupt-parent = <&gpio2>;
- interrupts = <0 IRQ_TYPE_EDGE_BOTH>;
- };
-
- };
-
- i2c-gpio-6 {
- compatible = "i2c-gpio";
- sda-gpios = <&gpio3 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
- scl-gpios = <&gpio3 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
- i2c-gpio,delay-us = <10>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- stmpe1: stmpe811@41 {
- compatible = "samsung,stmpe811";
- reg = <0x41>;
- };
};
i2c-gpio-7 {
@@ -92,15 +70,6 @@
};
};
- i2c-gpio-8 {
- compatible = "i2c-gpio";
- sda-gpios = <&gpio3 34 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
- scl-gpios = <&gpio3 35 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
- i2c-gpio,delay-us = <3>;
- #address-cells = <1>;
- #size-cells = <0>;
- };
-
reg_espresso_vwlan: regulator-espresso-vwlan {
pinctrl-names = "default";
pinctrl-0 = <&wlanen_gpio>;
From 128ccc25a9ad8a8bd6bf616b678a4287ab2943de Mon Sep 17 00:00:00 2001
From: dartvader316 <dartvader316-dev@pm.me>
Date: Thu, 11 Aug 2022 15:22:37 +0300
Subject: [PATCH 5/5] arm: espresso10.dts: smb347 charger and screen clock fix
---
.../arm/boot/dts/omap4-samsung-espresso10.dts | 35 +++++++++++++++++--
1 file changed, 32 insertions(+), 3 deletions(-)
diff --git a/arch/arm/boot/dts/omap4-samsung-espresso10.dts b/arch/arm/boot/dts/omap4-samsung-espresso10.dts
index 65cc80be7d8c4..21613fd0f3093 100644
--- a/arch/arm/boot/dts/omap4-samsung-espresso10.dts
+++ b/arch/arm/boot/dts/omap4-samsung-espresso10.dts
@@ -4,6 +4,7 @@
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/input/input.h>
#include "omap443x.dtsi"
+#include <dt-bindings/power/summit,smb347-charger.h>
/ {
model = "Samsung Galaxy Tab 2 10-inch";
@@ -38,14 +39,42 @@
#size-cells = <1>;
ranges;
};
-
+
i2c-gpio-5 {
compatible = "i2c-gpio";
+
sda-gpios = <&gpio4 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
scl-gpios = <&gpio4 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
i2c-gpio,delay-us = <10>;
#address-cells = <1>;
#size-cells = <0>;
+
+ smb347: charger@6 {
+ compatible = "summit,smb347";
+ reg = <0x6>; // 0x0C >> 1
+
+ interrupt-parent = <&gpio2>;
+ interrupts = <0 IRQ_TYPE_EDGE_BOTH>;
+
+ summit,enable-usb-charging;
+ summit,enable-charge-control = <SMB3XX_CHG_ENABLE_SW>;
+ summit,chip-temperature-threshold-celsius = <120>;
+ summit,usb-current-limit-microamp = <1800000>;
+ };
+ };
+
+ i2c-gpio-6 {
+ compatible = "i2c-gpio";
+ sda-gpios = <&gpio3 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ scl-gpios = <&gpio3 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+ i2c-gpio,delay-us = <10>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ stmpe1: stmpe811@41 {
+ compatible = "samsung,stmpe811";
+ reg = <0x41>;
+ };
};
i2c-gpio-7 {
@@ -207,8 +236,8 @@
backlight = <&backlight>;
panel-timing {
- clock-frequency = <56888889>;
-
+ clock-frequency = <69818000>;
+
hback-porch = <64>;
hactive = <1280>;
hfront-porch = <16>;