diff options
Diffstat (limited to 'arch/arm/boot/dts/omap3_h1.dts')
| -rw-r--r-- | arch/arm/boot/dts/omap3_h1.dts | 236 |
1 files changed, 174 insertions, 62 deletions
diff --git a/arch/arm/boot/dts/omap3_h1.dts b/arch/arm/boot/dts/omap3_h1.dts index c0551e82502..089b32a375f 100644 --- a/arch/arm/boot/dts/omap3_h1.dts +++ b/arch/arm/boot/dts/omap3_h1.dts @@ -26,12 +26,35 @@ 800000 1275000 /* 1000000 1337500 */ >; + cpu0-supply = <&omap_tps65910>; /* OPP tolerance in percentage */ voltage-tolerance = <0>; reset-voltage = <1275000>; }; }; + vbat: fixedregulator@0 { + compatible = "regulator-fixed"; + regulator-name = "vbat"; + regulator-min-microvolt = <3700000>; + regulator-max-microvolt = <3700000>; + regulator-boot-on; + }; + + omap_pimic { + omap_tps65910: omap_vdd1 { + compatible = "ti,omap-tps65910-vdd1"; + ti,boot-voltage-micro-volts = <1275000>; + ti,vp = <&vp_mpu>; + }; + + omap_tps65910_vdd2: omap_vdd2 { + compatible = "ti,omap-tps65910-vdd2"; + ti,boot-voltage-micro-volts = <1200000>; + ti,vp = <&vp_core>; + }; + }; + pad-wkup { /* on omap, the irqs are calculated as follows: * for the 96 intc IRQs @@ -54,7 +77,8 @@ /* off IRQ handle */ ti,pad_irq = <0x16e 90 1>, /* uart3 - serial rx */ <0x9f6 143 1>, /* mpu6515 irq pin */ - <0x9f4 123 1>; /* BT host wake */ + <0x9f4 123 1>, /* BT host wake */ + <0x1b0 23 1>; /* sys_nirq */ }; }; @@ -117,14 +141,14 @@ 0x1a0 0x000 /* MCSPI1_CS1, MODE0 | OUTPUT */ /* CKE pin for memory */ - 0x232 0x000 /* SDRC_CKE0, MODE0 | OUTPUT */ - 0x234 0x000 /* SDRC_CKE1, MODE0 | OUTPUT */ + 0x232 0x000 /* SDRC_CKE0, MODE0 | OUTPUT */ + 0x234 0x000 /* SDRC_CKE1, MODE0 | OUTPUT */ /* touch reset */ 0x0f2 0x11c /* CAM_D6, MODE4 | INPUT_PULLUP */ 0x5ba 0x004 /* ETK_D7, MODE4 | OUTPUT */ - 0x1b0 0x100 /* SYS_NIRQ, MODE0 | INPUT */ + 0x1b0 0x4100 /* SYS_NIRQ, MODE0 | INPUT | OFFWAKEUP */ 0x0dc 0x004 /* CAM_HS, MODE4 | OUTPUT */ /* USB */ @@ -155,6 +179,20 @@ >; }; + i2c1_pins: pinmux_i2c1_pins { + pinctrl-single,pins = < + 0x18a 0x118 /* I2C1_SCL, MODE0 | INPUT_PULLUP */ + 0x18c 0x118 /* I2C1_SCA, MODE0 | INPUT_PULLUP */ + >; + }; + + i2c2_pins: pinmux_i2c2_pins { + pinctrl-single,pins = < + 0x18e 0x118 /* I2C2_SCL, MODE0 | INPUT_PULLUP */ + 0x190 0x118 /* I2C2_SDA, MODE0 | INPUT_PULLUP */ + >; + }; + uart1_pins: pinmux_uart1_pins { pinctrl-single,pins = < /* uart1 */ @@ -170,8 +208,6 @@ 0x170 0x000 /* UART3_TX, MODE0 | OUTPUT */ >; }; - - }; &omap3_pmx_wkup { /* pinmux@0x48002a00 */ @@ -193,6 +229,138 @@ }; }; +&i2c1 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c1_pins>; + + status = "okay"; + clock-frequency = <400000>; + + tps: tps@2d { + reg = <0x2d>; + }; +}; + +#include "tps65910.dtsi" + +&tps { + interrupts = <7>; /* SYS_NIRQ */ + interrupt-parent = <&intc>; + + #interrupt-cells = <2>; + interrupt-controller; + + ti,en-ck32k-xtal; + /* set SR_CTL_I2C_SEL - access to smartreflex registers by control i2c */ + ti,system-power-controller; + + vcc1-supply = <&vbat>; + vcc2-supply = <&vbat>; + vcc3-supply = <&vbat>; + vcc4-supply = <&vbat>; + vcc5-supply = <&vbat>; + vcc6-supply = <&vbat>; + vcc7-supply = <&vbat>; + vccio-supply = <&vbat>; + + regulators { + vrtc_reg: regulator@0 { + regulator-always-on; + }; + + /* DSS is on this one */ + vio_reg: regulator@1 { + regulator-name = "vdds_dsi"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + vdd1_reg: regulator@2 { + /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */ + /* + regulator-boot-on; + regulator-always-on; + */ + /* external sleep control by means of SYS_OFF_MODE signal */ + regulator-name = "vdd_mpu_iva"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1350000>; + ti,regulator-ext-sleep-control = <8>; + }; + + vdd2_reg: regulator@3 { + /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */ + /* + regulator-boot-on; + regulator-always-on; + */ + /* external sleep control by means of SYS_OFF_MODE signal */ + regulator-name = "vdd_core"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <1200000>; + ti,regulator-ext-sleep-control = <8>; + }; + + /* not used, I think */ + vdd3_reg: regulator@4 { + status = "disabled"; + }; + + vdig1_reg: regulator@5 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + /* vdig2_reg: regulator@6 {}; unused */ + vdig2_reg: regulator@6 { + status = "disabled"; + }; + + /* Nobody is explicitly using this rail, but it seems like it goes to + * VDDA_DPLL_PER on the chip. So we need it. + */ + vpll_reg: regulator@7 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + /* vdac_reg: regulator@8 {}; unused */ + vdac_reg: regulator@8 { + status = "disabled"; + }; + + vaux1_reg: regulator@9 { /* not used, 2.85V by default */ + status = "disabled"; + }; + + vaux2_reg: regulator@10 { + regulator-name = "vaux2"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + vaux33_reg: regulator@11 { + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + /* This one goes to both SPI (for DSS) and touch. How can I + * specify two consumers in DT? (vdd for dss, avdd for touch). + */ + vmmc_reg: regulator@12 { + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + }; +}; + + /* leave gpio bank interface clocks on during suspend * to avoid race condition in gpio_irq_handler */ &gpio1 { @@ -233,62 +401,6 @@ }; -#if 0 /* Not currently used */ -&i2c1 { - /* clock-frequency = <400000>; */ - /* PMIC ONLY */ -}; - - -/* I2C-2 has everything other than PMIC. */ - -&i2c2 { - clock-frequency = <400000>; - - mxt224@4a { /* Taken from Minnow, needs to be updated */ - compatible = "atmel,maxtouch"; /* OLIO */ - reg = <0x4a>; /* OLIO */ - interrupt-parent = <&gpio4>; - interrupts = <3 0>; /* gpio-99 32 * 3 + 3 */ - wakeup-source; - atmel,cfg-name = ""; /* needs setting, OLIO */ - atmel,reset_gpio = <>; /* needs setting, OLIO */ - - /* below is from minnow */ - - /* gpios = <&gpio4 3 0>, /\* IRQ gpio-099 *\/ */ - /* <&gpio6 4 0>; /\* RESET gpio-164*\/ */ - - /* pinctrl-names = "pullup", "pulldown"; */ - /* pinctrl-0 = <&atmxt_int_pullup>; */ - /* pinctrl-1 = <&atmxt_int_pulldown>; */ - /* support-snowflake = <1>; */ - }; - - mpu6515@68 { - }; - - /* This driver does not yet support device tree - lm3530-led@38 { - };*/ - - /* This driver does not yet support device tree - cm3391@10 { - };*/ - - - -}; - -&i2c3 { - clock-frequency = <400000>; - - /* This driver does not yet support device tree - bq274xx@55 { - }; */ -}; - -#endif &uart1 { pinctrl-0 = <&uart1_pins>; |