Commit 03a807f4 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'ux500-dts-v5.13' of...

Merge tag 'ux500-dts-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into arm/dt

Ux500 DTS changes for the v5.13 kernel cycle:

- Fix up the WLAN on Janice
- Fix the touchscreen on TVK R2
- Push down definitions to the UIBs instead of
  trying to share too much.
- Bump the AUX1 voltage on the AB8500 so the
  touchscreen will work.
- Define the CTTYSP touchscreen on the TVK R3.

* tag 'ux500-dts-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: dts: ux500: Add Cypress CTTYSP touch to TVK UIB
  ARM: dts: ux500: Bump AUX1 voltage
  ARM: dts: ux500: Clarify UIB version per board
  ARM: dts: ux500: Totally separate TVK R2 and R3
  ARM: dts: ux500: Push TC35893 defines to each UIB
  ARM: dts: ux500: Fix up TVK R3 sensors
  ARM: dts: ux500: Push sensors to TVK R2 board
  ARM: dts: ux500: Move Synaptics to right include
  ARM: dts: ux500: Fix touchscreen on TVK R2
  ARM: dts: ux500: Fix BT+WLAN on Janice

Link: https://lore.kernel.org/r/CACRpkdanRQ6A85d=7vgpzbg-m3-yFcpQ4fuzrxZu3RJ0DrA2bQ@mail.gmail.comSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 45f174d8 fa99edd8
...@@ -317,8 +317,8 @@ ab8500-regulators { ...@@ -317,8 +317,8 @@ ab8500-regulators {
// supplies to the display/camera // supplies to the display/camera
ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
regulator-min-microvolt = <2500000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2900000>; regulator-max-microvolt = <3300000>;
regulator-boot-on; regulator-boot-on;
/* BUG: If turned off MMC will be affected. */ /* BUG: If turned off MMC will be affected. */
regulator-always-on; regulator-always-on;
......
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
/* /*
* Device Tree for the TVK1281618 R2 UIB * Device Tree for the TVK1281618 R2 user interface board (UIB)
*/ */
#include "ste-href-tvk1281618.dtsi" #include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/input/input.h>
/ { / {
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
vdd-supply = <&ab8500_ldo_aux1_reg>;
pinctrl-names = "default";
pinctrl-0 = <&prox_tvk_mode>, <&hall_tvk_mode>;
button@139 {
/* Proximity sensor */
gpios = <&gpio6 25 GPIO_ACTIVE_HIGH>;
linux,code = <11>; /* SW_FRONT_PROXIMITY */
label = "SFH7741 Proximity Sensor";
};
button@145 {
/* Hall sensor */
gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>;
linux,code = <0>; /* SW_LID */
label = "HED54XXU11 Hall Effect Sensor";
};
};
soc { soc {
i2c@80004000 {
tc35893@44 {
compatible = "toshiba,tc35893";
reg = <0x44>;
interrupt-parent = <&gpio6>;
interrupts = <26 IRQ_TYPE_EDGE_RISING>;
pinctrl-names = "default";
pinctrl-0 = <&tc35893_tvk_mode>;
interrupt-controller;
#interrupt-cells = <1>;
status = "disabled";
tc3589x_gpio {
compatible = "toshiba,tc3589x-gpio";
interrupts = <0>;
interrupt-controller;
#interrupt-cells = <2>;
gpio-controller;
#gpio-cells = <2>;
};
tc3589x_keypad {
compatible = "toshiba,tc3589x-keypad";
interrupts = <6>;
debounce-delay-ms = <4>;
keypad,num-columns = <8>;
keypad,num-rows = <8>;
linux,no-autorepeat;
wakeup-source;
linux,keymap = <MATRIX_KEY(3, 1, KEY_END)>,
<MATRIX_KEY(4, 1, KEY_HOME)>,
<MATRIX_KEY(6, 4, KEY_VOLUMEDOWN)>,
<MATRIX_KEY(4, 2, KEY_EMAIL)>,
<MATRIX_KEY(3, 3, KEY_RIGHT)>,
<MATRIX_KEY(2, 5, KEY_BACKSPACE)>,
<MATRIX_KEY(6, 7, KEY_MENU)>,
<MATRIX_KEY(5, 0, KEY_ENTER)>,
<MATRIX_KEY(4, 3, KEY_0)>,
<MATRIX_KEY(3, 4, KEY_DOT)>,
<MATRIX_KEY(5, 2, KEY_UP)>,
<MATRIX_KEY(3, 5, KEY_DOWN)>,
<MATRIX_KEY(4, 5, KEY_SEND)>,
<MATRIX_KEY(0, 5, KEY_BACK)>,
<MATRIX_KEY(6, 2, KEY_VOLUMEUP)>,
<MATRIX_KEY(1, 3, KEY_SPACE)>,
<MATRIX_KEY(7, 6, KEY_LEFT)>,
<MATRIX_KEY(5, 5, KEY_SEARCH)>;
};
};
};
i2c@80128000 { i2c@80128000 {
lsm303dlh@18 { accelerometer@18 {
/* Accelerometer */ /* Accelerometer */
compatible = "st,lsm303dlh-accel"; compatible = "st,lsm303dlh-accel";
st,drdy-int-pin = <1>; st,drdy-int-pin = <1>;
...@@ -30,7 +105,7 @@ lsm303dlh@18 { ...@@ -30,7 +105,7 @@ lsm303dlh@18 {
* <&gpio2 19 IRQ_TYPE_EDGE_FALLING>; * <&gpio2 19 IRQ_TYPE_EDGE_FALLING>;
*/ */
}; };
lsm303dlh@1e { magnetometer@1e {
/* Magnetometer */ /* Magnetometer */
compatible = "st,lsm303dlh-magn"; compatible = "st,lsm303dlh-magn";
reg = <0x1e>; reg = <0x1e>;
...@@ -48,7 +123,7 @@ lsm303dlh@1e { ...@@ -48,7 +123,7 @@ lsm303dlh@1e {
* <&gpio2 19 IRQ_TYPE_EDGE_FALLING>; * <&gpio2 19 IRQ_TYPE_EDGE_FALLING>;
*/ */
}; };
lis331dl@1c { accelerometer@1c {
/* Accelerometer */ /* Accelerometer */
compatible = "st,lis331dl-accel"; compatible = "st,lis331dl-accel";
st,drdy-int-pin = <1>; st,drdy-int-pin = <1>;
...@@ -62,6 +137,72 @@ lis331dl@1c { ...@@ -62,6 +137,72 @@ lis331dl@1c {
interrupts = <18 IRQ_TYPE_EDGE_RISING>, interrupts = <18 IRQ_TYPE_EDGE_RISING>,
<19 IRQ_TYPE_EDGE_RISING>; <19 IRQ_TYPE_EDGE_RISING>;
}; };
magnetometer@f {
/* Magnetometer */
compatible = "asahi-kasei,ak8974";
reg = <0x0f>;
avdd-supply = <&ab8500_ldo_aux1_reg>;
dvdd-supply = <&db8500_vsmps2_reg>;
pinctrl-names = "default";
pinctrl-0 = <&gyro_magn_tvk_mode>;
/*
* These interrupts cannot be used: the other component
* ST-Micro L3D4200D gyro that is connected to the same lines
* cannot set its DRDY line to open drain, so it cannot be
* shared with other peripherals. The should be defined for
* the falling edge if they could be wired together.
*
* interrupts-extended =
* <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
* <&gpio0 31 IRQ_TYPE_EDGE_FALLING>;
*/
};
gyroscope@68 {
/* Gyroscope */
compatible = "st,l3g4200d-gyro";
st,drdy-int-pin = <2>;
reg = <0x68>;
vdd-supply = <&ab8500_ldo_aux1_reg>;
vddio-supply = <&db8500_vsmps2_reg>;
pinctrl-names = "default";
pinctrl-0 = <&gyro_magn_tvk_mode>;
interrupts-extended =
<&gpio1 0 IRQ_TYPE_EDGE_RISING>,
<&gpio0 31 IRQ_TYPE_EDGE_RISING>;
};
pressure@5c {
/* Barometer/pressure sensor */
compatible = "st,lps001wp-press";
reg = <0x5c>;
vdd-supply = <&ab8500_ldo_aux1_reg>;
vddio-supply = <&db8500_vsmps2_reg>;
};
};
i2c@80110000 {
synaptics@4b {
/* Synaptics RMI4 TM1217 touchscreen */
compatible = "syna,rmi4-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x4b>;
vdd-supply = <&ab8500_ldo_aux1_reg>;
vddio-supply = <&db8500_vsmps2_reg>;
pinctrl-names = "default";
pinctrl-0 = <&synaptics_tvk_mode>;
interrupt-parent = <&gpio2>;
interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
rmi4-f01@1 {
reg = <0x1>;
syna,nosleep = <1>;
};
rmi4-f11@11 {
reg = <0x11>;
syna,sensor-type = <1>;
/* This is a landscape display */
touchscreen-swapped-x-y;
};
};
}; };
mcde@a0350000 { mcde@a0350000 {
status = "okay"; status = "okay";
...@@ -75,5 +216,68 @@ panel { ...@@ -75,5 +216,68 @@ panel {
}; };
}; };
}; };
pinctrl {
prox {
prox_tvk_mode: prox_tvk {
tvk_cfg {
pins = "GPIO217_AH12";
ste,config = <&gpio_in_pu>;
};
};
};
hall {
hall_tvk_mode: hall_tvk {
tvk_cfg {
pins = "GPIO145_C13";
ste,config = <&gpio_in_pu>;
};
};
};
tc35893 {
/* IRQ from the TC35893 */
tc35893_tvk_mode: tc35893_tvk {
tvk_cfg {
pins = "GPIO218_AH11";
ste,config = <&gpio_in_pu>;
};
};
};
accelerometer {
accel_tvk_mode: accel_tvk {
/* Accelerometer interrupt lines 1 & 2 */
tvk_cfg {
pins = "GPIO82_C1", "GPIO83_D3";
ste,config = <&gpio_in_pd>;
};
};
};
gyroscope {
/*
* These lines are shared between Gyroscope l3g400dh
* and AK8974 magnetometer.
*/
gyro_magn_tvk_mode: gyro_magn_tvk {
/* GPIO 31 used for INT pull down the line */
tvk_cfg1 {
pins = "GPIO31_V3";
ste,config = <&gpio_in_pd>;
};
/* GPIO 32 used for DRDY, pull this down */
tvk_cfg2 {
pins = "GPIO32_V2";
ste,config = <&gpio_in_pd>;
};
};
};
synaptics {
synaptics_tvk_mode: synaptics_tvk {
/* Touchscreen uses GPIO 84 */
tvk_cfg1 {
pins = "GPIO84_C2";
ste,config = <&gpio_in_pu>;
};
};
};
};
}; };
}; };
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
/* /*
* Device Tree for the TVK1281618 R2 UIB * Device Tree for the TVK1281618 R3 user interface board (UIB)
* also known as the "CYTTSP board"
*/ */
#include "ste-href-tvk1281618.dtsi" #include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/input/input.h>
/ { / {
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
vdd-supply = <&ab8500_ldo_aux1_reg>;
pinctrl-names = "default";
pinctrl-0 = <&hall_tvk_mode>;
button@145 {
/* Hall sensor */
gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>;
linux,code = <0>; /* SW_LID */
label = "HED54XXU11 Hall Effect Sensor";
};
};
soc { soc {
i2c@80128000 { i2c@80004000 {
/* Marked: tc35893@44 {
* 129 compatible = "toshiba,tc35893";
* M35 reg = <0x44>;
* L3GD20 interrupt-parent = <&gpio2>;
*/ interrupts = <0 IRQ_TYPE_EDGE_RISING>;
l3gd20@6a { pinctrl-names = "default";
/* Gyroscope */ pinctrl-0 = <&tc35893_tvk_mode>;
compatible = "st,l3gd20";
interrupt-controller;
#interrupt-cells = <1>;
status = "disabled"; status = "disabled";
tc3589x_gpio {
compatible = "toshiba,tc3589x-gpio";
interrupts = <0>;
interrupt-controller;
#interrupt-cells = <2>;
gpio-controller;
#gpio-cells = <2>;
};
tc3589x_keypad {
compatible = "toshiba,tc3589x-keypad";
interrupts = <6>;
debounce-delay-ms = <4>;
keypad,num-columns = <8>;
keypad,num-rows = <8>;
linux,no-autorepeat;
wakeup-source;
linux,keymap = <MATRIX_KEY(3, 1, KEY_END)>,
<MATRIX_KEY(4, 1, KEY_HOME)>,
<MATRIX_KEY(6, 4, KEY_VOLUMEDOWN)>,
<MATRIX_KEY(4, 2, KEY_EMAIL)>,
<MATRIX_KEY(3, 3, KEY_RIGHT)>,
<MATRIX_KEY(2, 5, KEY_BACKSPACE)>,
<MATRIX_KEY(6, 7, KEY_MENU)>,
<MATRIX_KEY(5, 0, KEY_ENTER)>,
<MATRIX_KEY(4, 3, KEY_0)>,
<MATRIX_KEY(3, 4, KEY_DOT)>,
<MATRIX_KEY(5, 2, KEY_UP)>,
<MATRIX_KEY(3, 5, KEY_DOWN)>,
<MATRIX_KEY(4, 5, KEY_SEND)>,
<MATRIX_KEY(0, 5, KEY_BACK)>,
<MATRIX_KEY(6, 2, KEY_VOLUMEUP)>,
<MATRIX_KEY(1, 3, KEY_SPACE)>,
<MATRIX_KEY(7, 6, KEY_LEFT)>,
<MATRIX_KEY(5, 5, KEY_SEARCH)>;
};
};
};
i2c@80128000 {
accelerometer@19 {
compatible = "st,lsm303dlhc-accel";
st,drdy-int-pin = <1>; st,drdy-int-pin = <1>;
drive-open-drain; reg = <0x19>;
reg = <0x6a>; // 0x6a or 0x6b
vdd-supply = <&ab8500_ldo_aux1_reg>; vdd-supply = <&ab8500_ldo_aux1_reg>;
vddio-supply = <&db8500_vsmps2_reg>; vddio-supply = <&db8500_vsmps2_reg>;
interrupt-parent = <&gpio2>;
interrupts = <18 IRQ_TYPE_EDGE_RISING>,
<19 IRQ_TYPE_EDGE_RISING>;
pinctrl-names = "default";
pinctrl-0 = <&accel_tvk_mode>;
}; };
/* magnetometer@1e {
* Marked: compatible = "st,lsm303dlm-magn";
* 2122
* C3H
* DQEEE
* LIS3DH?
*/
lis3dh@18 {
/* Accelerometer */
compatible = "st,lis3dh-accel";
st,drdy-int-pin = <1>; st,drdy-int-pin = <1>;
reg = <0x18>; reg = <0x1e>;
vdd-supply = <&ab8500_ldo_aux1_reg>; vdd-supply = <&ab8500_ldo_aux1_reg>;
vddio-supply = <&db8500_vsmps2_reg>; vddio-supply = <&db8500_vsmps2_reg>;
// This interrupt is not properly working with the driver
// interrupt-parent = <&gpio1>;
// interrupts = <0 IRQ_TYPE_EDGE_RISING>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&accel_tvk_mode>; pinctrl-0 = <&magn_tvk_mode>;
};
gyroscope@68 {
/* Gyroscope */
compatible = "st,l3g4200d-gyro";
reg = <0x68>;
vdd-supply = <&ab8500_ldo_aux1_reg>;
vddio-supply = <&db8500_vsmps2_reg>;
};
pressure@5c {
/* Barometer/pressure sensor */
compatible = "st,lps001wp-press";
reg = <0x5c>;
vdd-supply = <&ab8500_ldo_aux1_reg>;
vddio-supply = <&db8500_vsmps2_reg>;
};
};
spi@80111000 {
num-cs = <1>;
cs-gpios = <&gpio6 24 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&spi2_default_mode>;
status = "okay";
touchscreen@0 {
compatible = "cypress,cy8ctma340";
/*
* Actually the max frequency is 6 MHz, but over 2 MHz the
* data rate needs to be restricted to max 2Mbps which the
* SPI framework cannot handle.
*/
spi-max-frequency = <2000000>;
reg = <0>;
interrupt-parent = <&gpio2>;
interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
vcpin-supply = <&ab8500_ldo_aux1_reg>;
vdd-supply = <&db8500_vsmps2_reg>;
reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
touchscreen-size-x = <480>;
touchscreen-size-y = <854>;
active-interval-ms = <0>;
touch-timeout-ms = <255>;
lowpower-interval-ms = <10>;
bootloader-key = /bits/ 8 <0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07>;
pinctrl-names = "default";
pinctrl-0 = <&cyttsp_tvk_mode>;
}; };
}; };
...@@ -54,5 +162,57 @@ panel { ...@@ -54,5 +162,57 @@ panel {
}; };
}; };
}; };
pinctrl {
hall {
hall_tvk_mode: hall_tvk {
tvk_cfg {
pins = "GPIO145_C13";
ste,config = <&gpio_in_pu>;
};
};
};
tc35893 {
/* IRQ from the TC35893 */
tc35893_tvk_mode: tc35893_tvk {
tvk_cfg {
pins = "GPIO64_F3";
ste,config = <&gpio_in_pu>;
};
};
};
accelerometer {
accel_tvk_mode: accel_tvk {
/* Accelerometer interrupt lines 1 & 2 */
tvk_cfg {
pins = "GPIO82_C1", "GPIO83_D3";
ste,config = <&gpio_in_pd>;
};
};
};
magnetometer {
magn_tvk_mode: magn_tvk {
/* GPIO 32 used for DRDY, pull this down */
tvk_cfg {
pins = "GPIO32_V2";
ste,config = <&gpio_in_pd>;
};
};
};
cyttsp {
cyttsp_tvk_mode: cyttsp_tvk {
/* Touchscreen uses GPIO84 for IRQ */
tvk_cfg1 {
pins = "GPIO84_C2";
ste,config = <&gpio_in_pu>;
};
/* GPIO143 is reset */
tvk_cfg2 {
pins = "GPIO143_D12";
ste,config = <&gpio_out_hi>;
};
};
};
};
}; };
}; };
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Copyright 2012 ST-Ericsson AB
*
* Device Tree for the TVK1281618 family of UIBs
*/
#include <dt-bindings/interrupt-controller/irq.h>
/ {
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
vdd-supply = <&ab8500_ldo_aux1_reg>;
pinctrl-names = "default";
pinctrl-0 = <&prox_tvk_mode>, <&hall_tvk_mode>;
button@139 {
/* Proximity sensor */
gpios = <&gpio6 25 GPIO_ACTIVE_HIGH>;
linux,code = <11>; /* SW_FRONT_PROXIMITY */
label = "SFH7741 Proximity Sensor";
};
button@145 {
/* Hall sensor */
gpios = <&gpio4 17 GPIO_ACTIVE_HIGH>;
linux,code = <0>; /* SW_LID */
label = "HED54XXU11 Hall Effect Sensor";
};
};
soc {
i2c@80004000 {
tc35893@44 {
compatible = "toshiba,tc35893";
reg = <0x44>;
interrupt-parent = <&gpio6>;
interrupts = <26 IRQ_TYPE_EDGE_RISING>;
pinctrl-names = "default";
pinctrl-0 = <&tc35893_tvk_mode>;
interrupt-controller;
#interrupt-cells = <1>;
tc3589x_gpio {
compatible = "toshiba,tc3589x-gpio";
interrupts = <0>;
interrupt-controller;
#interrupt-cells = <2>;
gpio-controller;
#gpio-cells = <2>;
};
tc3589x_keypad {
compatible = "toshiba,tc3589x-keypad";
interrupts = <6>;
debounce-delay-ms = <4>;
keypad,num-columns = <8>;
keypad,num-rows = <8>;
linux,no-autorepeat;
wakeup-source;
linux,keymap = <0x0301006b
0x04010066
0x06040072
0x040200d7
0x0303006a
0x0205000e
0x0607008b
0x0500001c
0x0403000b
0x03040034
0x05020067
0x0305006c
0x040500e7
0x0005009e
0x06020073
0x01030039
0x07060069
0x050500d9>;
};
};
};
/* Sensors mounted on all board variants */
i2c@80128000 {
ak8974@f {
/* Magnetometer */
compatible = "asahi-kasei,ak8974";
reg = <0x0f>;
avdd-supply = <&ab8500_ldo_aux1_reg>;
dvdd-supply = <&db8500_vsmps2_reg>;
pinctrl-names = "default";
pinctrl-0 = <&gyro_magn_tvk_mode>;
/*
* These interrupts cannot be used: the other component
* ST-Micro L3D4200D gyro that is connected to the same lines
* cannot set its DRDY line to open drain, so it cannot be
* shared with other peripherals. The should be defined for
* the falling edge if they could be wired together.
*
* interrupts-extended =
* <&gpio1 0 IRQ_TYPE_EDGE_FALLING>,
* <&gpio0 31 IRQ_TYPE_EDGE_FALLING>;
*/
};
l3g4200d@68 {
/* Gyroscope */
compatible = "st,l3g4200d-gyro";
st,drdy-int-pin = <2>;
reg = <0x68>;
vdd-supply = <&ab8500_ldo_aux1_reg>;
vddio-supply = <&db8500_vsmps2_reg>;
pinctrl-names = "default";
pinctrl-0 = <&gyro_magn_tvk_mode>;
interrupts-extended =
<&gpio1 0 IRQ_TYPE_EDGE_RISING>,
<&gpio0 31 IRQ_TYPE_EDGE_RISING>;
};
lsp001wm@5c {
/* Barometer/pressure sensor */
compatible = "st,lps001wp-press";
reg = <0x5c>;
vdd-supply = <&ab8500_ldo_aux1_reg>;
vddio-supply = <&db8500_vsmps2_reg>;
};
};
i2c@80110000 {
synaptics@4b {
/* Synaptics RMI4 TM1217 touchscreen */
compatible = "syna,rmi4-i2c";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x4b>;
vdd-supply = <&ab8500_ldo_aux1_reg>;
vddio-supply = <&db8500_vsmps2_reg>;
pinctrl-names = "default";
pinctrl-0 = <&synaptics_tvk_mode>;
interrupt-parent = <&gpio2>;
interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
rmi-f01@1 {
reg = <0x1>;
syna,nosleep = <1>;
};
rmi-f11@11 {
reg = <0x11>;
touchscreen-inverted-x;
syna,sensor-type = <1>;
};
};
};
pinctrl {
/* Pull up this GPIO pin */
tc35893 {
tc35893_tvk_mode: tc35893_tvk {
tvk_cfg {
pins = "GPIO218_AH11";
ste,config = <&gpio_in_pu>;
};
};
};
prox {
prox_tvk_mode: prox_tvk {
tvk_cfg {
pins = "GPIO217_AH12";
ste,config = <&gpio_in_pu>;
};
};
};
hall {
hall_tvk_mode: hall_tvk {
tvk_cfg {
pins = "GPIO145_C13";
ste,config = <&gpio_in_pu>;
};
};
};
accelerometer {
accel_tvk_mode: accel_tvk {
/* Accelerometer interrupt lines 1 & 2 */
tvk_cfg {
pins = "GPIO82_C1", "GPIO83_D3";
ste,config = <&gpio_in_pd>;
};
};
};
gyroscope {
/*
* These lines are shared between Gyroscope l3g400dh
* and AK8974 magnetometer.
*/
gyro_magn_tvk_mode: gyro_magn_tvk {
/* GPIO 31 used for INT pull down the line */
tvk_cfg1 {
pins = "GPIO31_V3";
ste,config = <&gpio_in_pd>;
};
/* GPIO 32 used for DRDY, pull this down */
tvk_cfg2 {
pins = "GPIO32_V2";
ste,config = <&gpio_in_pd>;
};
};
};
synaptics {
synaptics_tvk_mode: synaptics_tvk {
/* Touchscreen uses GPIO 84 */
tvk_cfg1 {
pins = "GPIO84_C2";
ste,config = <&gpio_in_pu>;
};
};
};
};
};
};
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
/* /*
* Device Tree for the HREF520 version with the TVK1281618 UIB * Device Tree for the HREF520 version with the TVK1281618 R3 UIB
*/ */
/dts-v1/; /dts-v1/;
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#include "ste-href-tvk1281618-r3.dtsi" #include "ste-href-tvk1281618-r3.dtsi"
/ { / {
model = "ST-Ericsson HREF520 and TVK1281618 UIB"; model = "ST-Ericsson HREF520 and TVK1281618 R3 UIB";
compatible = "st-ericsson,href520", "st-ericsson,u8500"; compatible = "st-ericsson,href520", "st-ericsson,u8500";
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#include "ste-href-tvk1281618-r2.dtsi" #include "ste-href-tvk1281618-r2.dtsi"
/ { / {
model = "ST-Ericsson HREF (pre-v60) and TVK1281618 UIB"; model = "ST-Ericsson HREF (pre-v60) and TVK1281618 R2 UIB";
compatible = "st-ericsson,mop500", "st-ericsson,u8500"; compatible = "st-ericsson,mop500", "st-ericsson,u8500";
/* ST6G3244ME level translator for 1.8/2.9 V */ /* ST6G3244ME level translator for 1.8/2.9 V */
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
/* /*
* Copyright 2012 ST-Ericsson AB * Copyright 2012 ST-Ericsson AB
* *
* Device Tree for the HREF version 60 or later with the TVK1281618 UIB * Device Tree for the HREF version 60 or later with the TVK1281618 R2 UIB
*/ */
/dts-v1/; /dts-v1/;
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
#include "ste-href-tvk1281618-r2.dtsi" #include "ste-href-tvk1281618-r2.dtsi"
/ { / {
model = "ST-Ericsson HREF (v60+) and TVK1281618 UIB"; model = "ST-Ericsson HREF (v60+) and TVK1281618 R2 UIB";
compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500"; compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
/* ST6G3244ME level translator for 1.8/2.9 V */ /* ST6G3244ME level translator for 1.8/2.9 V */
......
...@@ -135,21 +135,22 @@ lcd_1v8_reg: regulator-gpio-lcd-1v8 { ...@@ -135,21 +135,22 @@ lcd_1v8_reg: regulator-gpio-lcd-1v8 {
/* /*
* This regulator is a GPIO line that drives the Broadcom WLAN * This regulator is a GPIO line that drives the Broadcom WLAN
* line BT_VREG_EN high and enables the internal regulators * line WL_REG_ON high and enables the internal regulators
* inside the chip. * inside the chip. Unfortunatley it is erroneously named
* WLAN_RST_N on the schematic but it is not a reset line.
* *
* The voltage specified here is only used to determine the OCR mask, * The voltage specified here is only used to determine the OCR mask,
* the for the SDIO connector, the chip is actually connected * the for the SDIO connector, the chip is actually connected
* directly to VBAT. * directly to VBAT.
*/ */
wl_bt_reg: regulator-gpio-wlan { wl_reg: regulator-gpio-wlan {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "BT_VREG_EN"; regulator-name = "WL_REG_ON";
regulator-min-microvolt = <3000000>; regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>; regulator-max-microvolt = <3000000>;
startup-delay-us = <100000>; startup-delay-us = <100000>;
/* GPIO222 (BT_VREG_EN) */ /* GPIO215 (WLAN_RST_N to WL_REG_ON) */
gpio = <&gpio6 30 GPIO_ACTIVE_HIGH>; gpio = <&gpio6 23 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&wlan_ldo_en_default>; pinctrl-0 = <&wlan_ldo_en_default>;
...@@ -390,11 +391,10 @@ mmc@80118000 { ...@@ -390,11 +391,10 @@ mmc@80118000 {
pinctrl-1 = <&mc1_a_2_sleep>; pinctrl-1 = <&mc1_a_2_sleep>;
/* /*
* GPIO-controlled voltage enablement: this drives * GPIO-controlled voltage enablement: this drives
* the BT_VREG_EN line high when we use this device. * the WL_REG_ON line high when we use this device.
* Represented as regulator to fill OCR mask and to * Represented as regulator to fill OCR mask.
* be usable in parallel with the Bluetooth chip.
*/ */
vmmc-supply = <&wl_bt_reg>; vmmc-supply = <&wl_reg>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
...@@ -408,9 +408,6 @@ wifi@1 { ...@@ -408,9 +408,6 @@ wifi@1 {
interrupt-parent = <&gpio6>; interrupt-parent = <&gpio6>;
interrupts = <24 IRQ_TYPE_EDGE_FALLING>; interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
interrupt-names = "host-wake"; interrupt-names = "host-wake";
/* GPIO215 WLAN_RST_N */
/* FIXME: kernel does not use this assert/deassert */
reset-gpios = <&gpio6 23 GPIO_ACTIVE_LOW>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&wlan_default_mode>; pinctrl-0 = <&wlan_default_mode>;
}; };
...@@ -440,15 +437,8 @@ uart@80120000 { ...@@ -440,15 +437,8 @@ uart@80120000 {
bluetooth { bluetooth {
compatible = "brcm,bcm4330-bt"; compatible = "brcm,bcm4330-bt";
/* /* GPIO222 rail BT_VREG_EN to BT_REG_ON */
* We actually have shutdown-gpios, BT_VREG_EN on GPIO222, shutdown-gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>;
* but since this GPIO is shared with the WLAN chip, we need
* to reference the regulator instead. The regulator
* framework will reference count the GPIO usage and
* make sure we can use the same GPIO for several supplies.
*/
// shutdown-gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>;
vbat-supply = <&wl_bt_reg>;
/* BT_WAKE on GPIO199 */ /* BT_WAKE on GPIO199 */
device-wakeup-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>; device-wakeup-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
/* BT_HOST_WAKE on GPIO97 */ /* BT_HOST_WAKE on GPIO97 */
...@@ -759,9 +749,9 @@ janice_cfg1 { ...@@ -759,9 +749,9 @@ janice_cfg1 {
/* GPIO that enables the WLAN internal LDO regulators */ /* GPIO that enables the WLAN internal LDO regulators */
wlan-ldo { wlan-ldo {
wlan_ldo_en_default: wlan_ldo_default { wlan_ldo_en_default: wlan_ldo_default {
/* GPIO222 BT_VREG_ON */ /* GPIO215 named WLAN_RST_N */
janice_cfg1 { janice_cfg1 {
pins = "GPIO222_AJ9"; pins = "GPIO215_AH13";
ste,config = <&gpio_out_lo>; ste,config = <&gpio_out_lo>;
}; };
}; };
...@@ -875,11 +865,6 @@ janice_cfg2 { ...@@ -875,11 +865,6 @@ janice_cfg2 {
}; };
wlan { wlan {
wlan_default_mode: wlan_default { wlan_default_mode: wlan_default {
/* GPIO215 used for RESET_N */
janice_cfg1 {
pins = "GPIO215_AH13";
ste,config = <&gpio_out_lo>;
};
/* GPIO216 for WL_HOST_WAKE */ /* GPIO216 for WL_HOST_WAKE */
janice_cfg2 { janice_cfg2 {
pins = "GPIO216_AG12"; pins = "GPIO216_AG12";
...@@ -889,14 +874,17 @@ janice_cfg2 { ...@@ -889,14 +874,17 @@ janice_cfg2 {
}; };
bluetooth { bluetooth {
bluetooth_default_mode: bluetooth_default { bluetooth_default_mode: bluetooth_default {
/* GPIO199 BT_WAKE and GPIO222 BT_VREG_ON */
janice_cfg1 { janice_cfg1 {
pins = "GPIO199_AH23"; pins = "GPIO199_AH23", "GPIO222_AJ9";
ste,config = <&gpio_out_lo>; ste,config = <&gpio_out_lo>;
}; };
/* GPIO97 BT_HOST_WAKE */
janice_cfg2 { janice_cfg2 {
pins = "GPIO97_D9"; pins = "GPIO97_D9";
ste,config = <&gpio_in_nopull>; ste,config = <&gpio_in_nopull>;
}; };
/* GPIO209 BT_RST_N */
janice_cfg3 { janice_cfg3 {
pins = "GPIO209_AG15"; pins = "GPIO209_AG15";
ste,config = <&gpio_out_hi>; ste,config = <&gpio_out_hi>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment