Enable the smbb node explicitly for MSM8x26 Lumia devices. These devices
rely on the smbb driver in order to detect USB state.
It seems that this was accidentally missed in the commit that this
fixes.
Fixes: c9c8179d0c
("ARM: dts: qcom: Disable pm8941 & pm8226 smbb charger by default")
Signed-off-by: Rayyan Ansari <rayyan@ansari.sh>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240424174206.4220-1-rayyan@ansari.sh
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
331 lines
6.3 KiB
Text
331 lines
6.3 KiB
Text
// SPDX-License-Identifier: BSD-3-Clause
|
|
/*
|
|
* Common Board Device Tree for Microsoft MSM8x26-based Lumias
|
|
*
|
|
* Copyright (c) 2023, Jack Matthews <jm5112356@gmail.com>
|
|
* Copyright (c) 2023, Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
|
|
* Copyright (c) 2023, Dominik Kobinski <dominikkobinski314@gmail.com>
|
|
* Copyright (c) 2023, Rayyan Ansari <rayyan@ansari.sh>
|
|
*/
|
|
|
|
#include "qcom-msm8226.dtsi"
|
|
#include "pm8226.dtsi"
|
|
#include <dt-bindings/input/input.h>
|
|
|
|
/*
|
|
* Delete all generic (msm8226.dtsi) reserved
|
|
* memory mappings which are different on these devices.
|
|
*/
|
|
/delete-node/ &smem_region;
|
|
|
|
/ {
|
|
aliases {
|
|
mmc0 = &sdhc_1; /* eMMC */
|
|
mmc1 = &sdhc_2; /* microSD */
|
|
display0 = &framebuffer;
|
|
};
|
|
|
|
chosen {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
stdout-path = "display0";
|
|
|
|
framebuffer: framebuffer@3200000 {
|
|
compatible = "simple-framebuffer";
|
|
reg = <0x3200000 0x800000>;
|
|
format = "a8r8g8b8";
|
|
width = <720>;
|
|
height = <1280>;
|
|
stride = <(720 * 4)>;
|
|
|
|
clocks = <&mmcc MDSS_AHB_CLK>,
|
|
<&mmcc MDSS_AXI_CLK>,
|
|
<&mmcc MDSS_BYTE0_CLK>,
|
|
<&mmcc MDSS_MDP_CLK>,
|
|
<&mmcc MDSS_PCLK0_CLK>,
|
|
<&mmcc MDSS_VSYNC_CLK>;
|
|
power-domains = <&mmcc MDSS_GDSC>;
|
|
};
|
|
};
|
|
|
|
gpio_keys: gpio-keys {
|
|
compatible = "gpio-keys";
|
|
|
|
pinctrl-0 = <&gpio_keys_default>;
|
|
pinctrl-names = "default";
|
|
|
|
label = "GPIO Buttons";
|
|
|
|
key-volume-up {
|
|
label = "Volume Up";
|
|
gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_VOLUMEUP>;
|
|
};
|
|
};
|
|
|
|
/*
|
|
* This device being a WP platform has a different
|
|
* memory layout than other Android based devices.
|
|
* This smem memory region is directly copied from
|
|
* the original UEFI firmware.
|
|
*/
|
|
reserved-memory {
|
|
display_reserved: framebuffer@3200000 {
|
|
reg = <0x03200000 0x800000>;
|
|
no-map;
|
|
};
|
|
|
|
smem_region: smem@fa00000 {
|
|
reg = <0x0fa00000 0x100000>;
|
|
no-map;
|
|
};
|
|
};
|
|
};
|
|
|
|
&blsp1_i2c5 {
|
|
status = "okay";
|
|
|
|
touchscreen: touchscreen@4b {
|
|
compatible = "syna,rmi4-i2c";
|
|
reg = <0x4b>;
|
|
|
|
interrupts-extended = <&tlmm 17 IRQ_TYPE_EDGE_FALLING>;
|
|
vdd-supply = <&pm8226_l15>;
|
|
vio-supply = <&pm8226_l6>;
|
|
|
|
pinctrl-0 = <&touchscreen_default>;
|
|
pinctrl-names = "default";
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
rmi4-f01@1 {
|
|
reg = <0x01>;
|
|
syna,nosleep-mode = <1>;
|
|
};
|
|
|
|
rmi4-f11@11 {
|
|
reg = <0x11>;
|
|
syna,sensor-type = <1>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&blsp1_uart3 {
|
|
status = "okay";
|
|
};
|
|
|
|
&pm8226_resin {
|
|
linux,code = <KEY_VOLUMEDOWN>;
|
|
status = "okay";
|
|
};
|
|
|
|
&pm8226_vib {
|
|
status = "okay";
|
|
};
|
|
|
|
&rpm_requests {
|
|
regulators {
|
|
compatible = "qcom,rpm-pm8226-regulators";
|
|
|
|
/* These values were taken from the original firmware DSDT */
|
|
pm8226_s1: s1 {
|
|
regulator-min-microvolt = <1050000>;
|
|
regulator-max-microvolt = <1050000>;
|
|
};
|
|
|
|
pm8226_s3: s3 {
|
|
regulator-min-microvolt = <1300000>;
|
|
regulator-max-microvolt = <1300000>;
|
|
};
|
|
|
|
pm8226_s4: s4 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <2100000>;
|
|
};
|
|
|
|
pm8226_s5: s5 {
|
|
regulator-min-microvolt = <1150000>;
|
|
regulator-max-microvolt = <1150000>;
|
|
};
|
|
|
|
pm8226_l3: l3 {
|
|
regulator-min-microvolt = <750000>;
|
|
regulator-max-microvolt = <1150000>;
|
|
};
|
|
|
|
pm8226_l4: l4 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
};
|
|
|
|
pm8226_l5: l5 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
};
|
|
|
|
pm8226_l6: l6 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
|
|
pm8226_l7: l7 {
|
|
regulator-min-microvolt = <1850000>;
|
|
regulator-max-microvolt = <1850000>;
|
|
};
|
|
|
|
pm8226_l8: l8 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
pm8226_l9: l9 {
|
|
regulator-min-microvolt = <2050000>;
|
|
regulator-max-microvolt = <2050000>;
|
|
};
|
|
|
|
pm8226_l10: l10 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
|
|
pm8226_l12: l12 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
|
|
pm8226_l14: l14 {
|
|
regulator-min-microvolt = <2750000>;
|
|
regulator-max-microvolt = <2750000>;
|
|
};
|
|
|
|
pm8226_l15: l15 {
|
|
regulator-min-microvolt = <2850000>;
|
|
regulator-max-microvolt = <2850000>;
|
|
};
|
|
|
|
pm8226_l16: l16 {
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
};
|
|
|
|
pm8226_l17: l17 {
|
|
regulator-min-microvolt = <2950000>;
|
|
regulator-max-microvolt = <2950000>;
|
|
regulator-system-load = <200000>;
|
|
regulator-allow-set-load;
|
|
};
|
|
|
|
pm8226_l18: l18 {
|
|
regulator-min-microvolt = <2950000>;
|
|
regulator-max-microvolt = <2950000>;
|
|
regulator-system-load = <200000>;
|
|
regulator-allow-set-load;
|
|
};
|
|
|
|
pm8226_l19: l19 {
|
|
regulator-min-microvolt = <2850000>;
|
|
regulator-max-microvolt = <2850000>;
|
|
};
|
|
|
|
pm8226_l20: l20 {
|
|
regulator-min-microvolt = <3075000>;
|
|
regulator-max-microvolt = <3075000>;
|
|
};
|
|
|
|
pm8226_l21: l21 {
|
|
regulator-min-microvolt = <1850000>;
|
|
regulator-max-microvolt = <2950000>;
|
|
};
|
|
|
|
pm8226_l22: l22 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
|
|
pm8226_l23: l23 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
|
|
pm8226_l24: l24 {
|
|
regulator-min-microvolt = <1300000>;
|
|
regulator-max-microvolt = <1300000>;
|
|
};
|
|
|
|
pm8226_l25: l25 {
|
|
regulator-min-microvolt = <1775000>;
|
|
regulator-max-microvolt = <2075000>;
|
|
};
|
|
|
|
pm8226_l27: l27 {
|
|
regulator-min-microvolt = <2050000>;
|
|
regulator-max-microvolt = <2050000>;
|
|
};
|
|
|
|
pm8226_l28: l28 {
|
|
regulator-min-microvolt = <2000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&sdhc_1 {
|
|
vmmc-supply = <&pm8226_l17>;
|
|
vqmmc-supply = <&pm8226_l6>;
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&sdhc_2 {
|
|
vmmc-supply = <&pm8226_l18>;
|
|
vqmmc-supply = <&pm8226_l21>;
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&smbb {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb {
|
|
extcon = <&smbb>;
|
|
dr_mode = "peripheral";
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&usb_hs_phy {
|
|
extcon = <&smbb>;
|
|
v1p8-supply = <&pm8226_l10>;
|
|
v3p3-supply = <&pm8226_l20>;
|
|
};
|
|
|
|
&tlmm {
|
|
gpio_keys_default: gpio-keys-default-state {
|
|
pins = "gpio106", "gpio107", "gpio108";
|
|
function = "gpio";
|
|
drive-strength = <2>;
|
|
bias-pull-up;
|
|
};
|
|
|
|
touchscreen_default: touchscreen-default-state {
|
|
irq-pins {
|
|
pins = "gpio17";
|
|
function = "gpio";
|
|
drive-strength = <8>;
|
|
bias-pull-up;
|
|
};
|
|
|
|
reset-pins {
|
|
pins = "gpio16";
|
|
function = "gpio";
|
|
drive-strength = <8>;
|
|
bias-disable;
|
|
output-high;
|
|
};
|
|
};
|
|
};
|