2021-09-16 06:17:49 +00:00
|
|
|
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
|
|
|
index 7e0934180..cdf76c6cd 100644
|
|
|
|
--- a/arch/arm/boot/dts/Makefile
|
|
|
|
+++ b/arch/arm/boot/dts/Makefile
|
|
|
|
@@ -880,6 +880,7 @@ dtb-$(CONFIG_ARCH_OMAP4) += \
|
|
|
|
omap4-panda.dtb \
|
|
|
|
omap4-panda-a4.dtb \
|
|
|
|
omap4-panda-es.dtb \
|
|
|
|
+ omap4-samsung-espresso3g.dtb \
|
|
|
|
omap4-sdp.dtb \
|
|
|
|
omap4-sdp-es23plus.dtb \
|
|
|
|
omap4-var-dvk-om44.dtb \
|
|
|
|
diff --git a/arch/arm/boot/dts/omap4-samsung-espresso3g.dts b/arch/arm/boot/dts/omap4-samsung-espresso3g.dts
|
|
|
|
new file mode 100644
|
2021-09-25 11:16:34 +00:00
|
|
|
index 000000000..0800e182e
|
2021-09-16 06:17:49 +00:00
|
|
|
--- /dev/null
|
|
|
|
+++ b/arch/arm/boot/dts/omap4-samsung-espresso3g.dts
|
2021-09-25 11:16:34 +00:00
|
|
|
@@ -0,0 +1,550 @@
|
2021-09-16 06:17:49 +00:00
|
|
|
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
|
|
|
+/dts-v1/;
|
|
|
|
+#include "dt-bindings/gpio/gpio.h"
|
|
|
|
+#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
+#include "omap443x.dtsi"
|
|
|
|
+
|
|
|
|
+/ {
|
|
|
|
+ model = "Samsung Galaxy Tab 2 3g 7-inch";
|
|
|
|
+ compatible = "samsung,espresso3g", "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-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";
|
2021-09-25 11:16:34 +00:00
|
|
|
+ regulator-max-microvolt = <2800000>;
|
|
|
|
+ regulator-min-microvolt = <2800000>;
|
2021-09-16 06:17:49 +00:00
|
|
|
+ gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>;
|
|
|
|
+ regulator-always-on;
|
|
|
|
+ enable-active-high;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ gpio-keys {
|
|
|
|
+ compatible = "gpio-keys";
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
+ pinctrl-0 = <&gpio_keys>;
|
|
|
|
+
|
|
|
|
+ button-volup {
|
|
|
|
+ linux,code = <115>;
|
|
|
|
+ label = "VOL+"; /* GPIO30 */
|
|
|
|
+ gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
|
|
|
|
+ };
|
|
|
|
+ button-voldown {
|
|
|
|
+ linux,code = <114>;
|
|
|
|
+ label = "VOL-"; /* GPIO8 */
|
|
|
|
+ gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ reg_lcd: regulator-lcd {
|
|
|
|
+ compatible = "regulator-fixed";
|
|
|
|
+ regulator-name = "lcd_en";
|
|
|
|
+ gpios = <&gpio5 7 GPIO_ACTIVE_HIGH>;
|
|
|
|
+ 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 = <0x01>;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ backlight: backlight {
|
|
|
|
+ compatible = "pwm-backlight";
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
+ pinctrl-0 = <&backlight_pins>;
|
|
|
|
+ pwms = <&pwm10 0 500000 0>;
|
|
|
|
+ power-supply = <®_lcd>;
|
|
|
|
+ enable-gpios = <&gpio3 31 0>;
|
|
|
|
+ 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 = <®_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>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ panel {
|
|
|
|
+ compatible ="samsung,ltn070nl01", "panel-lvds";
|
|
|
|
+ power-supply = <®_lcd>;
|
|
|
|
+ width-mm = <154>;
|
|
|
|
+ height-mm = <90>;
|
2021-09-25 11:16:34 +00:00
|
|
|
+ data-mapping = "vesa-24";
|
2021-09-16 06:17:49 +00:00
|
|
|
+ backlight = <&backlight>;
|
2021-09-25 11:16:34 +00:00
|
|
|
+
|
2021-09-16 06:17:49 +00:00
|
|
|
+ panel-timing {
|
|
|
|
+ clock-frequency = <28444445>;
|
|
|
|
+
|
|
|
|
+ hback-porch = <210>;
|
|
|
|
+ hactive = <1024>;
|
|
|
|
+ hfront-porch = <186>;
|
|
|
|
+ hsync-len = <50>;
|
|
|
|
+
|
|
|
|
+ vback-porch = <11>;
|
|
|
|
+ vactive = <600>;
|
|
|
|
+ vfront-porch = <24>;
|
|
|
|
+ vsync-len = <10>;
|
|
|
|
+
|
|
|
|
+ hsync-active = <0>;
|
|
|
|
+ vsync-active = <0>;
|
2021-09-25 11:16:34 +00:00
|
|
|
+ de-active = <0>;
|
|
|
|
+ pixelclk-active = <0>;
|
2021-09-16 06:17:49 +00:00
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ port {
|
|
|
|
+ panel_in: endpoint {
|
|
|
|
+ remote-endpoint = <&bridge_out>;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+&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 */
|
|
|
|
+ >;
|
|
|
|
+ };
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+&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(0x056, WAKEUP_EN | PIN_INPUT | MUX_MODE3)
|
|
|
|
+ OMAP4_IOPAD(0x05C, WAKEUP_EN | PIN_INPUT | MUX_MODE3)
|
|
|
|
+ >;
|
|
|
|
+ };
|
2021-09-25 11:16:34 +00:00
|
|
|
+
|
|
|
|
+ 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)
|
|
|
|
+ >;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ touch_pins: pinmux_touch_pins {
|
|
|
|
+ pinctrl-single,pins = <
|
|
|
|
+ OMAP4_IOPAD(0x06c, PIN_INPUT | MUX_MODE3)
|
|
|
|
+ >;
|
|
|
|
+ };
|
2021-09-16 06:17:49 +00:00
|
|
|
+};
|
|
|
|
+
|
|
|
|
+&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>;
|
|
|
|
+ };
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+#include "twl6032.dtsi"
|
|
|
|
+
|
|
|
|
+&i2c2 {
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
+ pinctrl-0 = <&i2c2_pins>;
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+&i2c3 {
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
+ pinctrl-0 = <&i2c3_pins>;
|
|
|
|
+
|
|
|
|
+ touchscreen@48 {
|
2021-09-25 11:16:34 +00:00
|
|
|
+ compatible = "melfas,mms136";
|
2021-09-16 06:17:49 +00:00
|
|
|
+ reg = <0x48>;
|
|
|
|
+ interrupt-parent = <&gpio2>;
|
|
|
|
+ interrupts = <14 IRQ_TYPE_EDGE_FALLING>;
|
2021-09-25 11:16:34 +00:00
|
|
|
+ touchscreen-size-x = <1023>;
|
|
|
|
+ touchscreen-size-y = <599>;
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
+ pinctrl-0 = <&touch_pins>;
|
2021-09-16 06:17:49 +00:00
|
|
|
+ avdd-supply = <®_touch_ldo_en>;
|
|
|
|
+ vdd-supply = <&vcxio>;
|
|
|
|
+ };
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+&i2c4 {
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
+ pinctrl-0 = <&i2c4_pins>;
|
|
|
|
+
|
|
|
|
+ accelerometer@18 {
|
|
|
|
+ compatible = "bosch,bma254";
|
|
|
|
+ reg = <0x18>;
|
|
|
|
+ vdd-supply = <&ldo5>;
|
|
|
|
+ vddio-supply = <&vaux2>;
|
|
|
|
+ interrupt-parent = <&gpio4>;
|
|
|
|
+ interrupts = <25 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)> , <26 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>;
|
2021-09-25 11:16:34 +00:00
|
|
|
+ mount-matrix = "-1", "0", "0",
|
|
|
|
+ "0", "1", "0",
|
|
|
|
+ "0", "0", "1";
|
2021-09-16 06:17:49 +00:00
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ magnetometer@2e {
|
|
|
|
+ compatible = "yamaha,yas530";
|
|
|
|
+ reg = <0x2e>;
|
|
|
|
+ vdd-supply = <&ldo5>;
|
|
|
|
+ iovdd-supply = <&vaux2>;
|
|
|
|
+ reset-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;
|
|
|
|
+ interrupts = <&gpio6 10 IRQ_TYPE_EDGE_RISING>;
|
|
|
|
+ };
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+&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 = <®_espresso_external>;
|
|
|
|
+ bus-width = <4>;
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+&mmc2 {
|
|
|
|
+ pinctrl-names = "default";
|
|
|
|
+ pinctrl-0 = <&mmc2_pins>;
|
|
|
|
+
|
|
|
|
+ vmmc-supply = <®_espresso_internal>;
|
|
|
|
+ ti,non-removable;
|
|
|
|
+ bus-width = <8>;
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+&mmc3 {
|
|
|
|
+ status = "disabled";
|
|
|
|
+};
|
|
|
|
+
|
2021-09-25 11:16:34 +00:00
|
|
|
+&mmc4 {
|
|
|
|
+ status = "disabled";
|
|
|
|
+};
|
|
|
|
+
|
2021-09-16 06:17:49 +00:00
|
|
|
+&mmc5 {
|
|
|
|
+ status = "okay";
|
|
|
|
+
|
|
|
|
+ #address-cells = <1>;
|
|
|
|
+ #size-cells = <0>;
|
|
|
|
+
|
|
|
|
+ non-removable;
|
|
|
|
+ bus-width = <4>;
|
|
|
|
+ vmmc-supply = <®_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";
|
|
|
|
+ };
|
|
|
|
+};
|
|
|
|
+
|
2021-09-25 11:16:34 +00:00
|
|
|
+&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>;
|
|
|
|
+ };
|
2021-09-16 06:17:49 +00:00
|
|
|
+};
|
|
|
|
diff --git a/arch/arm/boot/dts/twl6032.dtsi b/arch/arm/boot/dts/twl6032.dtsi
|
|
|
|
new file mode 100644
|
|
|
|
index 000000000..f7b371179
|
|
|
|
--- /dev/null
|
|
|
|
+++ b/arch/arm/boot/dts/twl6032.dtsi
|
|
|
|
@@ -0,0 +1,88 @@
|
|
|
|
+/*
|
|
|
|
+ * Integrated Power Management Chip
|
|
|
|
+ * http://www.ti.com/lit/ds/symlink/twl6032.pdf
|
|
|
|
+ */
|
|
|
|
+&twl {
|
|
|
|
+ compatible = "ti,twl6032";
|
|
|
|
+ interrupt-controller;
|
|
|
|
+ #interrupt-cells = <1>;
|
|
|
|
+
|
|
|
|
+ rtc {
|
|
|
|
+ compatible = "ti,twl4030-rtc";
|
|
|
|
+ interrupts = <11>;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ vana: regulator-vana {
|
|
|
|
+ compatible = "ti,twl6030-vana";
|
|
|
|
+ regulator-min-microvolt = <2100000>;
|
|
|
|
+ regulator-max-microvolt = <2100000>;
|
|
|
|
+ regulator-always-on;
|
|
|
|
+ regulator-state-mem {
|
|
|
|
+ regulator-off-in-suspend;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ vaux1: regulator-vaux1 {
|
|
|
|
+ compatible = "ti,twl6032-ldo1";
|
|
|
|
+ regulator-min-microvolt = <2800000>;
|
|
|
|
+ regulator-max-microvolt = <2800000>;
|
|
|
|
+ regulator-always-on;
|
|
|
|
+ regulator-state-mem {
|
|
|
|
+ regulator-off-in-suspend;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ vusim: regulator-vusim {
|
|
|
|
+ compatible = "ti,twl6032-ldo3";
|
|
|
|
+ regulator-min-microvolt = <3300000>;
|
|
|
|
+ regulator-max-microvolt = <3300000>;
|
|
|
|
+ regulator-always-on;
|
|
|
|
+ regulator-state-mem {
|
|
|
|
+ regulator-off-in-suspend;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ vaux2: regulator-vaux2 {
|
|
|
|
+ compatible = "ti,twl6032-ldo4";
|
|
|
|
+ regulator-min-microvolt = <2800000>;
|
|
|
|
+ regulator-max-microvolt = <2800000>;
|
|
|
|
+ regulator-always-on;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ ldo5: regulator-ldo5 {
|
|
|
|
+ compatible = "ti,twl6032-ldo5";
|
|
|
|
+ regulator-min-microvolt = <1800000>;
|
|
|
|
+ regulator-max-microvolt = <1800000>;
|
|
|
|
+ regulator-always-on;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ vcxio: regulator-vcxio {
|
|
|
|
+ compatible = "ti,twl6032-ldo6";
|
|
|
|
+ regulator-min-microvolt = <1800000>;
|
|
|
|
+ regulator-max-microvolt = <1800000>;
|
|
|
|
+ regulator-always-on;
|
|
|
|
+ regulator-state-mem {
|
|
|
|
+ regulator-off-in-suspend;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ smps4: regulator-smps4 {
|
|
|
|
+ compatible = "ti,twl6032-smps4";
|
|
|
|
+ regulator-min-microvolt = <1800000>;
|
|
|
|
+ regulator-max-microvolt = <1800000>;
|
|
|
|
+ regulator-always-on;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ vusb: regulator-vusb {
|
|
|
|
+ compatible = "ti,twl6032-ldousb";
|
|
|
|
+ regulator-min-microvolt = <3300000>;
|
|
|
|
+ regulator-max-microvolt = <3300000>;
|
|
|
|
+ regulator-always-on;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ gpadc: gpadc {
|
|
|
|
+ compatible = "ti,twl6032-gpadc";
|
|
|
|
+ interrupts = <3>;
|
|
|
|
+ #io-channel-cells = <1>;
|
|
|
|
+ };
|
|
|
|
+};
|