|
@@ -615,3 +615,118 @@ static struct pinctrl_map __initdata mop500_pinmap[] = {
|
|
|
DB8500_PIN("GPIO21_AB3", out_hi, "sdi0"),
|
|
|
};
|
|
|
|
|
|
+/*
|
|
|
+ * The HREFv60 series of platforms is using available pins on the DB8500
|
|
|
+ * insteaf of the Toshiba I2C GPIO expander, reusing some pins like the SSP0
|
|
|
+ * and SSP1 ports (previously connected to the AB8500) as generic GPIO lines.
|
|
|
+ */
|
|
|
+static struct pinctrl_map __initdata hrefv60_pinmap[] = {
|
|
|
+ /* Drive WLAN_ENA low */
|
|
|
+ DB8500_PIN_HOG("GPIO85_D5", gpio_out_lo), /* WLAN_ENA */
|
|
|
+ /*
|
|
|
+ * XENON Flashgun on image processor GPIO (controlled from image
|
|
|
+ * processor firmware), mux in these image processor GPIO lines 0
|
|
|
+ * (XENON_FLASH_ID), 1 (XENON_READY) and there is an assistant
|
|
|
+ * LED on IP GPIO 4 (XENON_EN2) on altfunction C, that need bias
|
|
|
+ * from GPIO21 so pull up 0, 1 and drive 4 and GPIO21 low as output.
|
|
|
+ */
|
|
|
+ DB8500_MUX_HOG("ipgpio0_c_1", "ipgpio"),
|
|
|
+ DB8500_MUX_HOG("ipgpio1_c_1", "ipgpio"),
|
|
|
+ DB8500_MUX_HOG("ipgpio4_c_1", "ipgpio"),
|
|
|
+ DB8500_PIN_HOG("GPIO6_AF6", in_pu), /* XENON_FLASH_ID */
|
|
|
+ DB8500_PIN_HOG("GPIO7_AG5", in_pu), /* XENON_READY */
|
|
|
+ DB8500_PIN_HOG("GPIO21_AB3", gpio_out_lo), /* XENON_EN1 */
|
|
|
+ DB8500_PIN_HOG("GPIO64_F3", out_lo), /* XENON_EN2 */
|
|
|
+ /* Magnetometer uses GPIO 31 and 32, pull these up/down respectively */
|
|
|
+ DB8500_PIN_HOG("GPIO31_V3", gpio_in_pu), /* EN1 */
|
|
|
+ DB8500_PIN_HOG("GPIO32_V2", gpio_in_pd), /* DRDY */
|
|
|
+ /*
|
|
|
+ * Display Interface 1 uses GPIO 65 for RST (reset).
|
|
|
+ * Display Interface 2 uses GPIO 66 for RST (reset).
|
|
|
+ * Drive DISP1 reset high (not reset), driver DISP2 reset low (reset)
|
|
|
+ */
|
|
|
+ DB8500_PIN_HOG("GPIO65_F1", gpio_out_hi), /* DISP1 NO RST */
|
|
|
+ DB8500_PIN_HOG("GPIO66_G3", gpio_out_lo), /* DISP2 RST */
|
|
|
+ /*
|
|
|
+ * Touch screen uses GPIO 143 for RST1, GPIO 146 for RST2 and
|
|
|
+ * GPIO 67 for interrupts. Pull-up the IRQ line and drive both
|
|
|
+ * reset signals low.
|
|
|
+ */
|
|
|
+ DB8500_PIN_HOG("GPIO143_D12", gpio_out_lo), /* TOUCH_RST1 */
|
|
|
+ DB8500_PIN_HOG("GPIO67_G2", gpio_in_pu), /* TOUCH_INT2 */
|
|
|
+ DB8500_PIN_HOG("GPIO146_D13", gpio_out_lo), /* TOUCH_RST2 */
|
|
|
+ /*
|
|
|
+ * Drive D19-D23 for the ETM PTM trace interface low,
|
|
|
+ * (presumably pins are unconnected therefore grounded here,
|
|
|
+ * the "other alt C1" setting enables these pins)
|
|
|
+ */
|
|
|
+ DB8500_PIN_HOG("GPIO70_G5", gpio_out_lo),
|
|
|
+ DB8500_PIN_HOG("GPIO71_G4", gpio_out_lo),
|
|
|
+ DB8500_PIN_HOG("GPIO72_H4", gpio_out_lo),
|
|
|
+ DB8500_PIN_HOG("GPIO73_H3", gpio_out_lo),
|
|
|
+ DB8500_PIN_HOG("GPIO74_J3", gpio_out_lo),
|
|
|
+ /* NAHJ CTRL on GPIO 76 to low, CTRL_INV on GPIO216 to high */
|
|
|
+ DB8500_PIN_HOG("GPIO76_J2", gpio_out_lo), /* CTRL */
|
|
|
+ DB8500_PIN_HOG("GPIO216_AG12", gpio_out_hi), /* CTRL_INV */
|
|
|
+ /* NFC ENA and RESET to low, pulldown IRQ line */
|
|
|
+ DB8500_PIN_HOG("GPIO77_H1", gpio_out_lo), /* NFC_ENA */
|
|
|
+ DB8500_PIN_HOG("GPIO144_B13", gpio_in_pd), /* NFC_IRQ */
|
|
|
+ DB8500_PIN_HOG("GPIO142_C11", gpio_out_lo), /* NFC_RESET */
|
|
|
+ /*
|
|
|
+ * SKE keyboard partly on alt A and partly on "Other alt C1"
|
|
|
+ * Driver KP_O1,2,3,6,7 low and pull up KP_I 0,2,3 for three
|
|
|
+ * rows of 6 keys, then pull up force sensing interrup and
|
|
|
+ * drive reset and force sensing WU low.
|
|
|
+ */
|
|
|
+ DB8500_MUX_HOG("kp_a_1", "kp"),
|
|
|
+ DB8500_MUX_HOG("kp_oc1_1", "kp"),
|
|
|
+ DB8500_PIN_HOG("GPIO90_A3", out_lo), /* KP_O1 */
|
|
|
+ DB8500_PIN_HOG("GPIO87_B3", out_lo), /* KP_O2 */
|
|
|
+ DB8500_PIN_HOG("GPIO86_C6", out_lo), /* KP_O3 */
|
|
|
+ DB8500_PIN_HOG("GPIO96_D8", out_lo), /* KP_O6 */
|
|
|
+ DB8500_PIN_HOG("GPIO94_D7", out_lo), /* KP_O7 */
|
|
|
+ DB8500_PIN_HOG("GPIO93_B7", in_pu), /* KP_I0 */
|
|
|
+ DB8500_PIN_HOG("GPIO89_E6", in_pu), /* KP_I2 */
|
|
|
+ DB8500_PIN_HOG("GPIO88_C4", in_pu), /* KP_I3 */
|
|
|
+ DB8500_PIN_HOG("GPIO91_B6", gpio_in_pu), /* FORCE_SENSING_INT */
|
|
|
+ DB8500_PIN_HOG("GPIO92_D6", gpio_out_lo), /* FORCE_SENSING_RST */
|
|
|
+ DB8500_PIN_HOG("GPIO97_D9", gpio_out_lo), /* FORCE_SENSING_WU */
|
|
|
+ /* DiPro Sensor interrupt */
|
|
|
+ DB8500_PIN_HOG("GPIO139_C9", gpio_in_pu), /* DIPRO_INT */
|
|
|
+ /* Audio Amplifier HF enable */
|
|
|
+ DB8500_PIN_HOG("GPIO149_B14", gpio_out_hi), /* VAUDIO_HF_EN, enable MAX8968 */
|
|
|
+ /* GBF interface, pull low to reset state */
|
|
|
+ DB8500_PIN_HOG("GPIO171_D23", gpio_out_lo), /* GBF_ENA_RESET */
|
|
|
+ /* MSP : HDTV INTERFACE GPIO line */
|
|
|
+ DB8500_PIN_HOG("GPIO192_AJ27", gpio_in_pd),
|
|
|
+ /* Accelerometer interrupt lines */
|
|
|
+ DB8500_PIN_HOG("GPIO82_C1", gpio_in_pu), /* ACC_INT1 */
|
|
|
+ DB8500_PIN_HOG("GPIO83_D3", gpio_in_pu), /* ACC_INT2 */
|
|
|
+ /* SD card detect GPIO pin */
|
|
|
+ DB8500_PIN_HOG("GPIO95_E8", gpio_in_pu),
|
|
|
+ /*
|
|
|
+ * Runtime stuff
|
|
|
+ * Pull up/down of some sensor GPIO pins, for proximity, HAL sensor
|
|
|
+ * etc.
|
|
|
+ */
|
|
|
+ DB8500_PIN("GPIO217_AH12", gpio_in_pu_slpm_gpio_nopull, "gpio-keys.0"),
|
|
|
+ DB8500_PIN("GPIO145_C13", gpio_in_pd_slpm_gpio_nopull, "gpio-keys.0"),
|
|
|
+ DB8500_PIN("GPIO139_C9", gpio_in_pu_slpm_gpio_nopull, "gpio-keys.0"),
|
|
|
+};
|
|
|
+
|
|
|
+static struct pinctrl_map __initdata u9500_pinmap[] = {
|
|
|
+ /* Mux in UART1 (just RX/TX) and set the pull-ups */
|
|
|
+ DB8500_MUX_HOG("u1rxtx_a_1", "u1"),
|
|
|
+ DB8500_PIN_HOG("GPIO4_AH6", in_pu),
|
|
|
+ DB8500_PIN_HOG("GPIO5_AG6", out_hi),
|
|
|
+ /* WLAN_IRQ line */
|
|
|
+ DB8500_PIN_HOG("GPIO144_B13", gpio_in_pu),
|
|
|
+ /* HSI */
|
|
|
+ DB8500_MUX_HOG("hsir_a_1", "hsi"),
|
|
|
+ DB8500_MUX_HOG("hsit_a_2", "hsi"),
|
|
|
+ DB8500_PIN_HOG("GPIO219_AG10", in_pd), /* RX FLA0 */
|
|
|
+ DB8500_PIN_HOG("GPIO220_AH10", in_pd), /* RX DAT0 */
|
|
|
+ DB8500_PIN_HOG("GPIO221_AJ11", out_lo), /* RX RDY0 */
|
|
|
+ DB8500_PIN_HOG("GPIO222_AJ9", out_lo), /* TX FLA0 */
|
|
|
+ DB8500_PIN_HOG("GPIO223_AH9", out_lo), /* TX DAT0 */
|
|
|
+ DB8500_PIN_HOG("GPIO224_AG9", in_pd), /* TX RDY0 */
|