From e93fc20a5d45e7a0aed4cd81de52bb8258746ab7 Mon Sep 17 00:00:00 2001 From: mattis fjallstrom Date: Mon, 6 Jul 2015 14:15:55 -0700 Subject: Fixing clkreq polarity, adding more PV specific pins to device tree file, leaving bluetooth regulator always on. Change-Id: I343b8e89601d25f7593313b6d9c6adb47180c14a --- arch/arm/boot/dts/omap3_h1.dts | 19 ++++++++++++++++--- arch/arm/mach-omap2/board-omap3h1.c | 10 ++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/arch/arm/boot/dts/omap3_h1.dts b/arch/arm/boot/dts/omap3_h1.dts index 23945098e65..0fa2fbe72cc 100644 --- a/arch/arm/boot/dts/omap3_h1.dts +++ b/arch/arm/boot/dts/omap3_h1.dts @@ -134,6 +134,7 @@ pinctrl-names = "default"; pinctrl-0 = < &board_pins + &dev_pins >; board_pins: pinmux_board_pins { @@ -172,7 +173,7 @@ /* touch reset */ 0x0f2 0x11c /* CAM_D6, MODE4 | INPUT_PULLUP */ - 0x5b2 0x004 /* ETK_D3, MODE4 | OUTPUT */ + /* 0x5b2 0x004 */ /* ETK_D3, MODE4 | OUTPUT */ 0x1b0 0xc100 /* SYS_NIRQ, MODE0 | INPUT | OFFWAKEUP */ 0x0dc 0x004 /* CAM_HS, MODE4 | OUTPUT */ @@ -215,6 +216,15 @@ >; }; + dev_pins: pinmux_pv_pins { + pinctrl-single,pins = < + 0x5b2 0x004 /* USB control, ETK_D3, MODE4 | OUTPUT */ + /* 0x1a2 0x104 */ /* ALS interrupt, input, GPIO */ + 0x086 0x004 /* DRV2605 vibrator, output, GPIO */ + /* 0x938 0x104 */ /* Battery state, input, GPIO */ + >; + } + i2c1_pins: pinmux_i2c1_pins { pinctrl-single,pins = < 0x18a 0x118 /* I2C1_SCL, MODE0 | INPUT_PULLUP */ @@ -367,18 +377,21 @@ }; vaux2_reg: regulator@10 { - regulator-name = "vaux2"; + regulator-name = "vaux2"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; ti,regulator-ext-sleep-control = <8>; }; + /* This is Bluetooth - never turn it off */ + vaux33_reg: regulator@11 { + regulator-name = "vaux33"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; - ti,regulator-ext-sleep-control = <8>; + /* ti,regulator-ext-sleep-control = <8>; */ }; /* This one goes to both SPI (for DSS) and touch. How can I diff --git a/arch/arm/mach-omap2/board-omap3h1.c b/arch/arm/mach-omap2/board-omap3h1.c index 7a59a3b4d18..0d16b8967f9 100644 --- a/arch/arm/mach-omap2/board-omap3h1.c +++ b/arch/arm/mach-omap2/board-omap3h1.c @@ -67,6 +67,8 @@ #include "board-flash.h" #include "common-board-devices.h" #include "board-omap3h1.h" +#include "prm2xxx_3xxx.h" +#include "prm-regbits-34xx.h" #include "sdram-micron-mt29c8g96m-48.h" @@ -424,6 +426,14 @@ static void __init omap3_h1_init(void) of_platform_populate(NULL, omap_dt_match_table, NULL, NULL); +#ifdef CONFIG_MACH_OMAP3_H1_PV + /* The PV units need reversed polarity for the sysclkreq pin. */ + + omap2_prm_rmw_mod_reg_bits(OMAP3430_CLKREQ_POL_MASK, + 0, OMAP3430_GR_MOD, + OMAP3_PRM_POLCTRL_OFFSET); +#endif + board_nand_init(omap3h1_nand_partitions, ARRAY_SIZE(omap3h1_nand_partitions), NAND_CS, NAND_BUSWIDTH_16, NULL); -- cgit v1.2.3-70-g09d2