diff --git a/arch/arm/boot/dts/qcom/Makefile b/arch/arm/boot/dts/qcom/Makefile index 63dfbdeec951ca..6e8c476ebc64db 100644 --- a/arch/arm/boot/dts/qcom/Makefile +++ b/arch/arm/boot/dts/qcom/Makefile @@ -33,6 +33,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \ qcom-msm8909-acer-t01.dtb \ qcom-msm8909-nokia-leo.dtb \ qcom-msm8909-nokia-sparkler.dtb \ + qcom-msm8909-zte-sapphire.dtb \ qcom-msm8916-samsung-e5.dtb \ qcom-msm8916-samsung-e7.dtb \ qcom-msm8916-samsung-grandmax.dtb \ diff --git a/arch/arm/boot/dts/qcom/qcom-msm8909-zte-sapphire.dts b/arch/arm/boot/dts/qcom/qcom-msm8909-zte-sapphire.dts new file mode 100644 index 00000000000000..e13e6f609c2e03 --- /dev/null +++ b/arch/arm/boot/dts/qcom/qcom-msm8909-zte-sapphire.dts @@ -0,0 +1,213 @@ +// SPDX-License-Identifier: GPL-2.0-only + +/dts-v1/; + +#include "qcom-msm8909-pm8909.dtsi" + +#include +#include +#include +#include +#include + +/ { + model = "ZTE N818s"; + compatible = "zte,sapphire", "qcom,msm8909"; + chassis-type = "handset"; + + aliases { + serial0 = &blsp_uart1; + }; + + chosen { + #address-cells = <1>; + #size-cells = <1>; + ranges; + stdout-path = "serial0"; + + framebuffer@83200036 { + compatible = "simple-framebuffer"; + + /* The downstream bootloader gives us this unaligned framebuffer. + We should also have a memory-region here, + but due to this quirk, we can't */ + + reg = <0x83200036 (480 * 800 * 3)>; + + width = <480>; + height = <800>; + stride = <(480 * 3)>; + format = "r8g8b8"; + + power-domains = <&gcc MDSS_GDSC>; + + clocks = <&gcc GCC_MDSS_AHB_CLK>, + <&gcc GCC_MDSS_AXI_CLK>, + <&gcc GCC_MDSS_VSYNC_CLK>, + <&gcc GCC_MDSS_MDP_CLK>, + <&gcc GCC_MDSS_BYTE0_CLK>, + <&gcc GCC_MDSS_PCLK0_CLK>, + <&gcc GCC_MDSS_ESC0_CLK>; + }; + }; + + reserved-memory { + + /* We should reserve 0x83200036 --> (480 * 800 * 3) + However our framebuffer is unaligned, + and memory reserves must align to page boundaries */ + + cont_splash_mem: memory@83200000 { + reg = <0x83200000 (0x36 + (480 * 800 * 3))>; + no-map; + }; + }; + + backlight: backlight { + compatible = "pwm-backlight"; + pwms = <&pm8909_pwm 0 100000>; + + brightness-levels = <0 255>; + num-interpolated-steps = <255>; + default-brightness-level = <255>; + }; + +}; + +&blsp_uart1 { + status = "okay"; +}; + +&pm8909_usbin { + status = "okay"; +}; + +&pm8909_vib { + status = "okay"; +}; + +&sdhc_1 { + status = "okay"; +}; + +&sdhc_2 { + non-removable; + status = "okay"; +}; + +&usb { + extcon = <&pm8909_usbin>; + dr_mode = "peripheral"; + status = "okay"; +}; + +&usb_hs_phy { + extcon = <&pm8909_usbin>; +}; + +&wcnss { + status = "okay"; +}; + +&wcnss_iris { + compatible = "qcom,wcn3620"; +}; + +&smd_rpm_regulators { + s2 { + regulator-min-microvolt = <1850000>; + regulator-max-microvolt = <1850000>; + }; + + l1 { + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + }; + + l2 { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + }; + + l4 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + l5 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + l6 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + l7 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + }; + + l8 { + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <2900000>; + }; + + l9 { + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3300000>; + }; + + l10 { + regulator-min-microvolt = <1225000>; + regulator-max-microvolt = <1300000>; + }; + + l11 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2950000>; + regulator-system-load = <200000>; + regulator-allow-set-load; + }; + + l12 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2950000>; + }; + + l13 { + regulator-min-microvolt = <3075000>; + regulator-max-microvolt = <3075000>; + }; + + l14 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3000000>; + }; + + l15 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3000000>; + }; + + l17 { + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <2850000>; + }; + + l18 { + regulator-min-microvolt = <2700000>; + regulator-max-microvolt = <2700000>; + }; +}; + +&pm8909_mpps { + pwm_out: mpp2-state { + pins = "mpp2"; + function = "digital"; + power-source = ; + output-low; + qcom,dtest = <1>; + }; +};