arm64: dts: qcom: msm8996: xiaomi-gemini: Add support for Xiaomi Mi 5
Add a device tree for Xiaomi Mi 5 (gemini). Signed-off-by: Raffaele Tranquillini <raffaele.tranquillini@gmail.com> Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/20210901193214.250375-5-y.oudjana@protonmail.com
This commit is contained in:
parent
46680fe9ba
commit
4ac46b3682
@ -33,6 +33,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8996-pmi8996-sony-xperia-tone-keyaki.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += msm8996-sony-xperia-tone-dora.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += msm8996-sony-xperia-tone-kagura.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += msm8996-sony-xperia-tone-keyaki.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += msm8996-xiaomi-gemini.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += msm8996-xiaomi-scorpio.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += msm8998-asus-novago-tp370ql.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += msm8998-hp-envy-x2.dtb
|
||||
|
431
arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts
Normal file
431
arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts
Normal file
@ -0,0 +1,431 @@
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
/*
|
||||
* Copyright (c) 2021, Raffaele Tranquillini <raffaele.tranquillini@gmail.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "msm8996-xiaomi-common.dtsi"
|
||||
#include <dt-bindings/sound/qcom,q6afe.h>
|
||||
#include <dt-bindings/sound/qcom,q6asm.h>
|
||||
#include <dt-bindings/input/ti-drv260x.h>
|
||||
|
||||
/ {
|
||||
model = "Xiaomi Mi 5";
|
||||
compatible = "xiaomi,gemini", "qcom,msm8996";
|
||||
qcom,msm-id = <246 0x30001>;
|
||||
qcom,pmic-id = <0x20009 0x2000a 0x00 0x00>;
|
||||
qcom,board-id = <31 0>;
|
||||
|
||||
clocks {
|
||||
divclk2_haptics: divclk2 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "divclk2";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&divclk2_pin_a>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&adsp_pil {
|
||||
firmware-name = "qcom/msm8996/gemini/adsp.mbn";
|
||||
};
|
||||
|
||||
&blsp2_i2c3 {
|
||||
haptics: drv2604@5a {
|
||||
compatible = "ti,drv2604";
|
||||
reg = <0x5a>;
|
||||
enable-gpio = <&tlmm 93 0x00>;
|
||||
mode = <DRV260X_LRA_MODE>;
|
||||
library-sel = <DRV260X_LIB_LRA>;
|
||||
pinctrl-names = "default","sleep";
|
||||
pinctrl-0 = <&vibrator_default>;
|
||||
pinctrl-1 = <&vibrator_sleep>;
|
||||
};
|
||||
|
||||
lp5562@30 {
|
||||
compatible = "ti,lp5562";
|
||||
reg = <0x30>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
enable-gpio = <&pm8994_gpios 7 1>;
|
||||
clock-mode = /bits/8 <2>;
|
||||
label = "button-backlight";
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
chan-name = "button-backlight";
|
||||
led-cur = /bits/ 8 <0x32>;
|
||||
max-cur = /bits/ 8 <0xC8>;
|
||||
};
|
||||
|
||||
led@1 {
|
||||
reg = <0>;
|
||||
chan-name = "button-backlight1";
|
||||
led-cur = /bits/ 8 <0x32>;
|
||||
max-cur = /bits/ 8 <0xC8>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&blsp2_i2c6 {
|
||||
synaptics@20 {
|
||||
compatible = "syna,rmi4-i2c";
|
||||
reg = <0x20>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupt-parent = <&tlmm>;
|
||||
interrupts = <125 IRQ_TYPE_LEVEL_LOW>;
|
||||
vdda-supply = <&vreg_l6a_1p8>;
|
||||
vdd-supply = <&vdd_3v2_tp>;
|
||||
reset-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>;
|
||||
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&touchscreen_default>;
|
||||
pinctrl-1 = <&touchscreen_sleep>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&gpu {
|
||||
zap-shader {
|
||||
firmware-name = "qcom/msm8996/gemini/a530_zap.mbn";
|
||||
};
|
||||
};
|
||||
|
||||
&q6asmdai {
|
||||
dai@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
dai@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
dai@2 {
|
||||
reg = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
&sound {
|
||||
compatible = "qcom,apq8096-sndcard";
|
||||
model = "gemini";
|
||||
audio-routing = "RX_BIAS", "MCLK",
|
||||
"MM_DL1", "MultiMedia1 Playback",
|
||||
"MM_DL2", "MultiMedia2 Playback",
|
||||
"MultiMedia3 Capture", "MM_UL3";
|
||||
|
||||
mm1-dai-link {
|
||||
link-name = "MultiMedia1";
|
||||
cpu {
|
||||
sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
|
||||
};
|
||||
};
|
||||
|
||||
mm2-dai-link {
|
||||
link-name = "MultiMedia2";
|
||||
cpu {
|
||||
sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
|
||||
};
|
||||
};
|
||||
|
||||
mm3-dai-link {
|
||||
link-name = "MultiMedia3";
|
||||
cpu {
|
||||
sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
|
||||
};
|
||||
};
|
||||
|
||||
slim-dai-link {
|
||||
link-name = "SLIM Playback";
|
||||
cpu {
|
||||
sound-dai = <&q6afedai SLIMBUS_6_RX>;
|
||||
};
|
||||
|
||||
platform {
|
||||
sound-dai = <&q6routing>;
|
||||
};
|
||||
|
||||
codec {
|
||||
sound-dai = <&wcd9335 6>;
|
||||
};
|
||||
};
|
||||
|
||||
slimcap-dai-link {
|
||||
link-name = "SLIM Capture";
|
||||
cpu {
|
||||
sound-dai = <&q6afedai SLIMBUS_0_TX>;
|
||||
};
|
||||
|
||||
platform {
|
||||
sound-dai = <&q6routing>;
|
||||
};
|
||||
|
||||
codec {
|
||||
sound-dai = <&wcd9335 1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&venus {
|
||||
firmware-name = "qcom/msm8996/gemini/venus.mbn";
|
||||
};
|
||||
|
||||
&rpm_requests {
|
||||
pm8994-regulators {
|
||||
vreg_l17a_2p8: l17 {
|
||||
regulator-name = "vreg_l17a_2p8";
|
||||
regulator-min-microvolt = <2500000>;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
};
|
||||
vreg_l29a_2p7: l29 {
|
||||
regulator-name = "vreg_l29a_2p7";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pm8994_gpios {
|
||||
gpio-line-names =
|
||||
"NC", /* GPIO_1 */
|
||||
"VOL_UP_N", /* GPIO_2 */
|
||||
"SPKR_ID", /* GPIO_3 */
|
||||
"PWM_HAPTICS", /* GPIO_4 */
|
||||
"INFARED_DRV", /* GPIO_5 */
|
||||
"NC", /* GPIO_6 */
|
||||
"KEYPAD_LED_EN", /* GPIO_7 */
|
||||
"WL_EN", /* GPIO_8 */
|
||||
"3P3_ENABLE", /* GPIO_9 */
|
||||
"FP_ID", /* GPIO_10 */
|
||||
"NC", /* GPIO_11 */
|
||||
"NC", /* GPIO_12 */
|
||||
"NC", /* GPIO_13 */
|
||||
"NC", /* GPIO_14 */
|
||||
"DIVCLK1_CDC", /* GPIO_15 */
|
||||
"DIVCLK2_HAPTICS", /* GPIO_16 */
|
||||
"NC", /* GPIO_17 */
|
||||
"32KHz_CLK_IN", /* GPIO_18 */
|
||||
"BT_EN", /* GPIO_19 */
|
||||
"PMIC_SLB", /* GPIO_20 */
|
||||
"UIM_BATT_ALARM", /* GPIO_21 */
|
||||
"NC"; /* GPIO_22 */
|
||||
|
||||
divclk2_pin_a: divclk2 {
|
||||
pins = "gpio16";
|
||||
function = PMIC_GPIO_FUNC_FUNC2;
|
||||
bias-disable;
|
||||
power-source = <PM8994_GPIO_S4>;
|
||||
};
|
||||
};
|
||||
|
||||
&pm8994_mpps {
|
||||
gpio-line-names =
|
||||
"NC", /* MPP_1 */
|
||||
"CCI_TIMER1", /* MPP_2 */
|
||||
"PMIC_SLB", /* MPP_3 */
|
||||
"EXT_FET_WLED_PWR_EN_N",/* MPP_4 */
|
||||
"NC", /* MPP_5 */
|
||||
"NC", /* MPP_6 */
|
||||
"NC", /* MPP_7 */
|
||||
"NC"; /* MPP_8 */
|
||||
};
|
||||
|
||||
&pmi8994_gpios {
|
||||
gpio-line-names =
|
||||
"NC", /* GPIO_1 */
|
||||
"SPKR_PA_RST", /* GPIO_2 */
|
||||
"NC", /* GPIO_3 */
|
||||
"NC", /* GPIO_4 */
|
||||
"NC", /* GPIO_5 */
|
||||
"NC", /* GPIO_6 */
|
||||
"NC", /* GPIO_7 */
|
||||
"NC", /* GPIO_8 */
|
||||
"NC", /* GPIO_9 */
|
||||
"NC"; /* GPIO_10 */
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
gpio-line-names =
|
||||
"ESE_SPI_MOSI", /* GPIO_0 */
|
||||
"ESE_SPI_MISO", /* GPIO_1 */
|
||||
"ERR_INT_N", /* GPIO_2 */
|
||||
"ESE_SPI_CLK", /* GPIO_3 */
|
||||
"MSM_UART_TX", /* GPIO_4 */
|
||||
"MSM_UART_RX", /* GPIO_5 */
|
||||
"NFC_I2C_SDA", /* GPIO_6 */
|
||||
"NFC_I2C_SCL", /* GPIO_7 */
|
||||
"LCD0_RESET_N", /* GPIO_8 */
|
||||
"NFC_IRQ", /* GPIO_9 */
|
||||
"LCD_TE", /* GPIO_10 */
|
||||
"LCD_ID_DET1", /* GPIO_11 */
|
||||
"NFC_DISABLE", /* GPIO_12 */
|
||||
"CAM_MCLK0", /* GPIO_13 */
|
||||
"NC", /* GPIO_14 */
|
||||
"CAM_MCLK2", /* GPIO_15 */
|
||||
"ESE_PWR_REQ", /* GPIO_16 */
|
||||
"CCI_I2C_SDA0", /* GPIO_17 */
|
||||
"CCI_I2C_SCL0", /* GPIO_18 */
|
||||
"CCI_I2C_SDA1", /* GPIO_19 */
|
||||
"CCI_I2C_SCL1", /* GPIO_20 */
|
||||
"NFC_DWL_REQ", /* GPIO_21 */
|
||||
"CCI_TIMER1", /* GPIO_22 */
|
||||
"WEBCAM1_RESET_N", /* GPIO_23 */
|
||||
"ESE_IRQ", /* GPIO_24 */
|
||||
"NC", /* GPIO_25 */
|
||||
"WEBCAM1_STANDBY", /* GPIO_26 */
|
||||
"NC", /* GPIO_27 */
|
||||
"NC", /* GPIO_28 */
|
||||
"NC", /* GPIO_29 */
|
||||
"CAM1_RST_N", /* GPIO_30 */
|
||||
"NC", /* GPIO_31 */
|
||||
"NC", /* GPIO_32 */
|
||||
"NC", /* GPIO_33 */
|
||||
"FP_DOME_SW", /* GPIO_34 */
|
||||
"PCI_E0_RST_N", /* GPIO_35 */
|
||||
"PCI_E0_CLKREQ_N", /* GPIO_36 */
|
||||
"PCI_E0_WAKE", /* GPIO_37 */
|
||||
"FM_INT_N", /* GPIO_38 */
|
||||
"FM_RESET_N", /* GPIO_39 */
|
||||
"NC", /* GPIO_40 */
|
||||
"QCA_UART_TXD", /* GPIO_41 */
|
||||
"QCA_UART_RXD", /* GPIO_42 */
|
||||
"QCA_UART_CTS", /* GPIO_43 */
|
||||
"QCA_UART_RTS", /* GPIO_44 */
|
||||
"MAWC_UART_TX", /* GPIO_45 */
|
||||
"MAWC_UART_RX", /* GPIO_46 */
|
||||
"NC", /* GPIO_47 */
|
||||
"NC", /* GPIO_48 */
|
||||
"AUDIO_SWITCH_EN", /* GPIO_49 */
|
||||
"FP_SPI_RST", /* GPIO_50 */
|
||||
"TYPEC_I2C_SDA", /* GPIO_51 */
|
||||
"TYPEC_I2C_SCL", /* GPIO_52 */
|
||||
"CODEC_INT2_N", /* GPIO_53 */
|
||||
"CODEC_INT1_N", /* GPIO_54 */
|
||||
"APPS_I2C7_SDA", /* GPIO_55 */
|
||||
"APPS_I2C7_SCL", /* GPIO_56 */
|
||||
"FORCE_USB_BOOT", /* GPIO_57 */
|
||||
"SPKR_I2S_BCK", /* GPIO_58 */
|
||||
"SPKR_I2S_WS", /* GPIO_59 */
|
||||
"SPKR_I2S_DOUT", /* GPIO_60 */
|
||||
"SPKR_I2S_DIN", /* GPIO_61 */
|
||||
"ESE_RSTN", /* GPIO_62 */
|
||||
"TYPEC_INT", /* GPIO_63 */
|
||||
"CODEC_RESET_N", /* GPIO_64 */
|
||||
"PCM_CLK", /* GPIO_65 */
|
||||
"PCM_SYNC", /* GPIO_66 */
|
||||
"PCM_DIN", /* GPIO_67 */
|
||||
"PCM_DOUT", /* GPIO_68 */
|
||||
"HIFI_CLK", /* GPIO_69 */
|
||||
"SLIMBUS_CLK", /* GPIO_70 */
|
||||
"SLIMBUS_DATA0", /* GPIO_71 */
|
||||
"SLIMBUS_DATA1", /* GPIO_72 */
|
||||
"LDO_5V_IN_EN", /* GPIO_73 */
|
||||
"NC", /* GPIO_74 */
|
||||
"FM_I2S_CLK", /* GPIO_75 */
|
||||
"FM_I2S_SYNC", /* GPIO_76 */
|
||||
"FM_I2S_DATA", /* GPIO_77 */
|
||||
"FM_STATUS", /* GPIO_78 */
|
||||
"NC", /* GPIO_79 */
|
||||
"SENSOR_RESET_N", /* GPIO_80 */
|
||||
"FP_SPI_MOSI", /* GPIO_81 */
|
||||
"FP_SPI_MISO", /* GPIO_82 */
|
||||
"FP_SPI_CS_N", /* GPIO_83 */
|
||||
"FP_SPI_CLK", /* GPIO_84 */
|
||||
"NC", /* GPIO_85 */
|
||||
"CAM_VDD_1P05_EN", /* GPIO_86 */
|
||||
"MSM_TS_I2C_SDA", /* GPIO_87 */
|
||||
"MSM_TS_I2C_SCL", /* GPIO_88 */
|
||||
"TS_RESOUT_N", /* GPIO_89 */
|
||||
"ESE_SPI_CS_N", /* GPIO_90 */
|
||||
"NC", /* GPIO_91 */
|
||||
"NC", /* GPIO_92 */
|
||||
"HAPTICS_EN", /* GPIO_93 */
|
||||
"NC", /* GPIO_94 */
|
||||
"NC", /* GPIO_95 */
|
||||
"NC", /* GPIO_96 */
|
||||
"NC", /* GPIO_97 */
|
||||
"GRFC_1", /* GPIO_98 */
|
||||
"NC", /* GPIO_99 */
|
||||
"GRFC_3", /* GPIO_100 */
|
||||
"GRFC_4", /* GPIO_101 */
|
||||
"NC", /* GPIO_102 */
|
||||
"NC", /* GPIO_103 */
|
||||
"GRFC_7", /* GPIO_104 */
|
||||
"UIM2_DATA", /* GPIO_105 */
|
||||
"UIM2_CLK", /* GPIO_106 */
|
||||
"UIM2_RESET", /* GPIO_107 */
|
||||
"UIM2_PRESENT", /* GPIO_108 */
|
||||
"UIM1_DATA", /* GPIO_109 */
|
||||
"UIM1_CLK", /* GPIO_110 */
|
||||
"UIM1_RESET", /* GPIO_111 */
|
||||
"UIM1_PRESENT", /* GPIO_112 */
|
||||
"UIM_BATT_ALARM", /* GPIO_113 */
|
||||
"GRFC_8", /* GPIO_114 */
|
||||
"GRFC_9", /* GPIO_115 */
|
||||
"TX_GTR_THRES", /* GPIO_116 */
|
||||
"ACCEL_INT", /* GPIO_117 */
|
||||
"GYRO_INT", /* GPIO_118 */
|
||||
"COMPASS_INT", /* GPIO_119 */
|
||||
"PROXIMITY_INT_N", /* GPIO_120 */
|
||||
"FP_IRQ", /* GPIO_121 */
|
||||
"NC", /* GPIO_122 */
|
||||
"HALL_INTR2", /* GPIO_123 */
|
||||
"HALL_INTR1", /* GPIO_124 */
|
||||
"TS_INT_N", /* GPIO_125 */
|
||||
"NC", /* GPIO_126 */
|
||||
"GRFC_11", /* GPIO_127 */
|
||||
"NC", /* GPIO_128 */
|
||||
"EXT_GPS_LNA_EN", /* GPIO_129 */
|
||||
"NC", /* GPIO_130 */
|
||||
"NC", /* GPIO_131 */
|
||||
"NC", /* GPIO_132 */
|
||||
"GRFC_14", /* GPIO_133 */
|
||||
"GSM_TX2_PHASE_D", /* GPIO_134 */
|
||||
"NC", /* GPIO_135 */
|
||||
"NC", /* GPIO_136 */
|
||||
"RFFE3_DATA", /* GPIO_137 */
|
||||
"RFFE3_CLK", /* GPIO_138 */
|
||||
"NC", /* GPIO_139 */
|
||||
"NC", /* GPIO_140 */
|
||||
"RFFE5_DATA", /* GPIO_141 */
|
||||
"RFFE5_CLK", /* GPIO_142 */
|
||||
"NC", /* GPIO_143 */
|
||||
"COEX_UART_TX", /* GPIO_144 */
|
||||
"COEX_UART_RX", /* GPIO_145 */
|
||||
"RFFE2_DATA", /* GPIO_146 */
|
||||
"RFFE2_CLK", /* GPIO_147 */
|
||||
"RFFE1_DATA", /* GPIO_148 */
|
||||
"RFFE1_CLK"; /* GPIO_149 */
|
||||
|
||||
touchscreen_default: touchscreen_default {
|
||||
pins = "gpio89", "gpio125";
|
||||
function = "gpio";
|
||||
drive-strength = <10>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
touchscreen_sleep: touchscreen_sleep {
|
||||
pins = "gpio89", "gpio125";
|
||||
function = "gpio";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
vibrator_default: vibrator_default {
|
||||
pins = "gpio93";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
vibrator_sleep: vibrator_sleep {
|
||||
pins = "gpio93";
|
||||
function = "gpio";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
Loading…
Reference in New Issue
Block a user