Commit bb131bf4 authored by Bjorn Andersson's avatar Bjorn Andersson

Merge branch 'arm64-for-6.10' onto 'v6.9-rc1'

Merge the patches that was picked up for v6.10 before v6.9-rc1 became
available onto v6.9-rc1 to reduce the risk for conflicts etc.
parents 4cece764 511b4858
......@@ -323,6 +323,13 @@ serial_4_pins: serial4-state {
bias-disable;
};
serial_5_pins: serial5-state {
pins = "gpio9", "gpio16";
function = "blsp5_uart";
drive-strength = <8>;
bias-disable;
};
i2c_0_pins: i2c-0-state {
pins = "gpio42", "gpio43";
function = "blsp1_i2c";
......@@ -471,6 +478,18 @@ blsp1_uart5: serial@78b3000 {
status = "disabled";
};
blsp1_uart6: serial@78b4000 {
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
reg = <0x078b4000 0x200>;
interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_UART6_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
pinctrl-0 = <&serial_5_pins>;
pinctrl-names = "default";
status = "disabled";
};
blsp1_spi1: spi@78b5000 {
compatible = "qcom,spi-qup-v2.2.1";
#address-cells = <1>;
......
......@@ -1323,6 +1323,20 @@ usb3_dwc3: usb@7000000 {
snps,hird-threshold = /bits/ 8 <0x00>;
maximum-speed = "high-speed";
usb-role-switch;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
usb_dwc3_hs: endpoint {
};
};
};
};
};
......
......@@ -694,10 +694,31 @@ usb_qmpphy: phy@1615000 {
clock-output-names = "usb3_phy_pipe_clk_src";
#phy-cells = <0>;
orientation-switch;
qcom,tcsr-reg = <&tcsr_regs 0xb244>;
status = "disabled";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
usb_qmpphy_out: endpoint {
};
};
port@1 {
reg = <1>;
usb_qmpphy_usb_ss_in: endpoint {
remote-endpoint = <&usb_dwc3_ss>;
};
};
};
};
system_noc: interconnect@1880000 {
......@@ -1380,6 +1401,27 @@ usb_dwc3: usb@4e00000 {
snps,usb3_lpm_capable;
maximum-speed = "super-speed";
dr_mode = "otg";
usb-role-switch;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
usb_dwc3_hs: endpoint {
};
};
port@1 {
reg = <1>;
usb_dwc3_ss: endpoint {
remote-endpoint = <&usb_qmpphy_usb_ss_in>;
};
};
};
};
};
......@@ -1858,7 +1900,7 @@ cpufreq_hw: cpufreq@f521000 {
compatible = "qcom,qcm2290-cpufreq-hw", "qcom,cpufreq-hw";
reg = <0x0 0x0f521000 0x0 0x1000>;
reg-names = "freq-domain0";
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
interrupts-extended = <&lmh_cluster 0>;
interrupt-names = "dcvsh-irq-0";
clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&gcc GPLL0>;
clock-names = "xo", "alternate";
......@@ -1866,6 +1908,18 @@ cpufreq_hw: cpufreq@f521000 {
#freq-domain-cells = <1>;
#clock-cells = <1>;
};
lmh_cluster: lmh@f550800 {
compatible = "qcom,qcm2290-lmh", "qcom,sm8150-lmh";
reg = <0x0 0x0f550800 0x0 0x400>;
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
cpus = <&CPU0>;
qcom,lmh-temp-arm-millicelsius = <65000>;
qcom,lmh-temp-low-millicelsius = <94500>;
qcom,lmh-temp-high-millicelsius = <95000>;
interrupt-controller;
#interrupt-cells = <1>;
};
};
thermal-zones {
......
......@@ -9,7 +9,9 @@
#define PM7250B_SID 8
#define PM7250B_SID1 9
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sc7280.dtsi"
#include "pm7250b.dtsi"
......@@ -35,10 +37,45 @@ aliases {
serial0 = &uart5;
};
pm8350c_pwm_backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pm8350c_pwm 3 65535>;
enable-gpios = <&pm8350c_gpios 7 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&pmic_lcd_bl_en>;
pinctrl-names = "default";
};
chosen {
stdout-path = "serial0:115200n8";
};
lcd_disp_bias: regulator-lcd-disp-bias {
compatible = "regulator-fixed";
regulator-name = "lcd_disp_bias";
regulator-min-microvolt = <5500000>;
regulator-max-microvolt = <5500000>;
gpio = <&pm7250b_gpios 2 GPIO_ACTIVE_HIGH>;
enable-active-high;
pinctrl-0 = <&lcd_disp_bias_en>;
pinctrl-names = "default";
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-0 = <&key_vol_up_default>;
pinctrl-names = "default";
key-volume-up {
label = "Volume_up";
gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
wakeup-source;
debounce-interval = <15>;
linux,can-disable;
};
};
reserved-memory {
xbl_mem: xbl@80700000 {
reg = <0x0 0x80700000 0x0 0x100000>;
......@@ -421,7 +458,89 @@ vreg_bob_3p296: bob {
};
};
&mdss {
status = "okay";
};
&mdss_dsi {
vdda-supply = <&vreg_l6b_1p2>;
status = "okay";
panel@0 {
compatible = "novatek,nt36672e";
reg = <0>;
reset-gpios = <&tlmm 44 GPIO_ACTIVE_HIGH>;
vddi-supply = <&vreg_l8c_1p62>;
avdd-supply = <&lcd_disp_bias>;
avee-supply = <&lcd_disp_bias>;
backlight = <&pm8350c_pwm_backlight>;
port {
panel0_in: endpoint {
remote-endpoint = <&mdss_dsi0_out>;
};
};
};
};
&mdss_dsi0_out {
remote-endpoint = <&panel0_in>;
data-lanes = <0 1 2 3>;
};
&mdss_dsi_phy {
vdds-supply = <&vreg_l10c_0p88>;
status = "okay";
};
&pm7250b_gpios {
lcd_disp_bias_en: lcd-disp-bias-en-state {
pins = "gpio2";
function = "func1";
bias-disable;
qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
input-disable;
output-enable;
power-source = <0>;
};
};
&pm8350c_gpios {
pmic_lcd_bl_en: pmic-lcd-bl-en-state {
pins = "gpio7";
function = "normal";
bias-disable;
qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
output-low;
power-source = <0>;
};
pmic_lcd_bl_pwm: pmic-lcd-bl-pwm-state {
pins = "gpio8";
function = "func1";
bias-disable;
qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
output-low;
power-source = <0>;
};
};
&pm7325_gpios {
key_vol_up_default: key-vol-up-state {
pins = "gpio6";
function = "normal";
input-enable;
bias-pull-up;
qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
};
};
&pm8350c_pwm {
pinctrl-0 = <&pmic_lcd_bl_pwm>;
pinctrl-names = "default";
status = "okay";
multi-led {
......@@ -448,6 +567,15 @@ led@3 {
};
};
&pon_pwrkey {
status = "okay";
};
&pon_resin {
linux,code = <KEY_VOLUMEDOWN>;
status = "okay";
};
&qupv3_id_0 {
status = "okay";
};
......
......@@ -153,129 +153,151 @@ regulators-0 {
vdd-l14-l16-supply = <&vreg_s8b_1p272>;
vreg_s1b_1p872: smps1 {
regulator-name = "vreg_s1b_1p872";
regulator-min-microvolt = <1840000>;
regulator-max-microvolt = <2040000>;
};
vreg_s2b_0p876: smps2 {
regulator-name = "vreg_s2b_0p876";
regulator-min-microvolt = <570070>;
regulator-max-microvolt = <1050000>;
};
vreg_s7b_0p972: smps7 {
regulator-name = "vreg_s7b_0p972";
regulator-min-microvolt = <535000>;
regulator-max-microvolt = <1120000>;
};
vreg_s8b_1p272: smps8 {
regulator-name = "vreg_s8b_1p272";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1500000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_RET>;
};
vreg_l1b_0p912: ldo1 {
regulator-name = "vreg_l1b_0p912";
regulator-min-microvolt = <825000>;
regulator-max-microvolt = <925000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l2b_3p072: ldo2 {
regulator-name = "vreg_l2b_3p072";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <3544000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l3b_0p504: ldo3 {
regulator-name = "vreg_l3b_0p504";
regulator-min-microvolt = <312000>;
regulator-max-microvolt = <910000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l4b_0p752: ldo4 {
regulator-name = "vreg_l4b_0p752";
regulator-min-microvolt = <752000>;
regulator-max-microvolt = <820000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
reg_l5b_0p752: ldo5 {
regulator-name = "reg_l5b_0p752";
regulator-min-microvolt = <552000>;
regulator-max-microvolt = <832000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l6b_1p2: ldo6 {
regulator-name = "vreg_l6b_1p2";
regulator-min-microvolt = <1140000>;
regulator-max-microvolt = <1260000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l7b_2p952: ldo7 {
regulator-name = "vreg_l7b_2p952";
regulator-min-microvolt = <2400000>;
regulator-max-microvolt = <3544000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l8b_0p904: ldo8 {
regulator-name = "vreg_l8b_0p904";
regulator-min-microvolt = <870000>;
regulator-max-microvolt = <970000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l9b_1p2: ldo9 {
regulator-name = "vreg_l9b_1p2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1304000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l11b_1p504: ldo11 {
regulator-name = "vreg_l11b_1p504";
regulator-min-microvolt = <1504000>;
regulator-max-microvolt = <2000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l12b_0p751: ldo12 {
regulator-name = "vreg_l12b_0p751";
regulator-min-microvolt = <751000>;
regulator-max-microvolt = <824000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l13b_0p53: ldo13 {
regulator-name = "vreg_l13b_0p53";
regulator-min-microvolt = <530000>;
regulator-max-microvolt = <824000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l14b_1p08: ldo14 {
regulator-name = "vreg_l14b_1p08";
regulator-min-microvolt = <1080000>;
regulator-max-microvolt = <1304000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l15b_0p765: ldo15 {
regulator-name = "vreg_l15b_0p765";
regulator-min-microvolt = <765000>;
regulator-max-microvolt = <1020000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l16b_1p1: ldo16 {
regulator-name = "vreg_l16b_1p1";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1300000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l17b_1p7: ldo17 {
regulator-name = "vreg_l17b_1p7";
regulator-min-microvolt = <1700000>;
regulator-max-microvolt = <1900000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l18b_1p8: ldo18 {
regulator-name = "vreg_l18b_1p8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l19b_1p8: ldo19 {
regulator-name = "vreg_l19b_1p8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
......@@ -304,109 +326,128 @@ regulators-1 {
vdd-bob-supply = <&vph_pwr>;
vreg_s1c_2p19: smps1 {
regulator-name = "vreg_s1c_2p19";
regulator-min-microvolt = <2190000>;
regulator-max-microvolt = <2210000>;
};
vreg_s2c_0p752: smps2 {
regulator-name = "vreg_s2c_0p752";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <800000>;
};
vreg_s5c_0p752: smps5 {
regulator-name = "vreg_s5c_0p752";
regulator-min-microvolt = <465000>;
regulator-max-microvolt = <1050000>;
};
vreg_s7c_0p752: smps7 {
regulator-name = "vreg_s7c_0p752";
regulator-min-microvolt = <465000>;
regulator-max-microvolt = <800000>;
};
vreg_s9c_1p084: smps9 {
regulator-name = "vreg_s9c_1p084";
regulator-min-microvolt = <1010000>;
regulator-max-microvolt = <1170000>;
};
vreg_l1c_1p8: ldo1 {
regulator-name = "vreg_l1c_1p8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1980000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l2c_1p62: ldo2 {
regulator-name = "vreg_l2c_1p62";
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <1980000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l3c_2p8: ldo3 {
regulator-name = "vreg_l3c_2p8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <3540000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l4c_1p62: ldo4 {
regulator-name = "vreg_l4c_1p62";
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <3300000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l5c_1p62: ldo5 {
regulator-name = "vreg_l5c_1p62";
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <3300000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l6c_2p96: ldo6 {
regulator-name = "vreg_l6c_2p96";
regulator-min-microvolt = <1650000>;
regulator-max-microvolt = <3544000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l7c_3p0: ldo7 {
regulator-name = "vreg_l7c_3p0";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3544000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l8c_1p62: ldo8 {
regulator-name = "vreg_l8c_1p62";
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <2000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l9c_2p96: ldo9 {
regulator-name = "vreg_l9c_2p96";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <35440000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l10c_0p88: ldo10 {
regulator-name = "vreg_l10c_0p88";
regulator-min-microvolt = <720000>;
regulator-max-microvolt = <1050000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l11c_2p8: ldo11 {
regulator-name = "vreg_l11c_2p8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <3544000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l12c_1p65: ldo12 {
regulator-name = "vreg_l12c_1p65";
regulator-min-microvolt = <1650000>;
regulator-max-microvolt = <2000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_l13c_2p7: ldo13 {
regulator-name = "vreg_l13c_2p7";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <3544000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_bob_3p296: bob {
regulator-name = "vreg_bob_3p296";
regulator-min-microvolt = <3008000>;
regulator-max-microvolt = <3960000>;
};
......
......@@ -262,6 +262,46 @@ &pm4125_resin {
status = "okay";
};
&pm4125_typec {
status = "okay";
connector {
compatible = "usb-c-connector";
power-role = "dual";
data-role = "dual";
self-powered;
typec-power-opmode = "default";
pd-disable;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
pm4125_hs_in: endpoint {
remote-endpoint = <&usb_dwc3_hs>;
};
};
port@1 {
reg = <1>;
pm4125_ss_in: endpoint {
remote-endpoint = <&usb_qmpphy_out>;
};
};
};
};
};
&pm4125_vbus {
regulator-min-microamp = <500000>;
regulator-max-microamp = <500000>;
status = "okay";
};
&qupv3_id_0 {
status = "okay";
};
......@@ -535,14 +575,8 @@ &usb {
status = "okay";
};
&usb_qmpphy {
vdda-phy-supply = <&pm4125_l12>;
vdda-pll-supply = <&pm4125_l13>;
status = "okay";
};
&usb_dwc3 {
dr_mode = "host";
&usb_dwc3_hs {
remote-endpoint = <&pm4125_hs_in>;
};
&usb_hsphy {
......@@ -552,6 +586,16 @@ &usb_hsphy {
status = "okay";
};
&usb_qmpphy {
vdda-phy-supply = <&pm4125_l12>;
vdda-pll-supply = <&pm4125_l13>;
status = "okay";
};
&usb_qmpphy_out {
remote-endpoint = <&pm4125_ss_in>;
};
&wifi {
vdd-0.8-cx-mx-supply = <&pm4125_l7>;
vdd-1.8-xo-supply = <&pm4125_l13>;
......
......@@ -329,12 +329,18 @@ vreg_l7e_1p8: ldo7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load;
};
vreg_l10e_2p9: ldo10 {
regulator-min-microvolt = <2904000>;
regulator-max-microvolt = <2904000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load;
};
vreg_l16e_3p0: ldo16 {
......@@ -350,49 +356,58 @@ &gpu {
zap-shader {
memory-region = <&gpu_mem>;
firmware-name = "qcom/sc8180x/qcdxkmsuc8180.mbn";
firmware-name = "qcom/sc8180x/LENOVO/82AK/qcdxkmsuc8180.mbn";
};
};
&i2c1 {
clock-frequency = <100000>;
pinctrl-0 = <&i2c1_active>, <&i2c1_hid_active>;
pinctrl-0 = <&i2c1_active>;
pinctrl-names = "default";
status = "okay";
hid@10 {
touchscreen@10 {
compatible = "hid-over-i2c";
reg = <0x10>;
hid-descr-addr = <0x1>;
interrupts-extended = <&tlmm 122 IRQ_TYPE_LEVEL_LOW>;
pinctrl-0 = <&ts_int_default>;
pinctrl-names = "default";
};
};
&i2c7 {
clock-frequency = <100000>;
clock-frequency = <1000000>;
pinctrl-0 = <&i2c7_active>, <&i2c7_hid_active>;
pinctrl-0 = <&i2c7_active>;
pinctrl-names = "default";
status = "okay";
hid@5 {
keyboard@5 {
compatible = "hid-over-i2c";
reg = <0x5>;
hid-descr-addr = <0x20>;
interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_LOW>;
pinctrl-0 = <&kb_int_default>;
pinctrl-names = "default";
};
hid@2c {
touchpad@2c {
compatible = "hid-over-i2c";
reg = <0x2c>;
hid-descr-addr = <0x20>;
interrupts-extended = <&tlmm 24 IRQ_TYPE_LEVEL_LOW>;
pinctrl-0 = <&tp_int_default>;
pinctrl-names = "default";
};
};
......@@ -669,14 +684,6 @@ i2c1_active: i2c1-active-state {
drive-strength = <2>;
};
i2c1_hid_active: i2c1-hid-active-state {
pins = "gpio122";
function = "gpio";
bias-pull-up;
drive-strength = <2>;
};
i2c7_active: i2c7-active-state {
pins = "gpio98", "gpio99";
function = "qup7";
......@@ -685,8 +692,8 @@ i2c7_active: i2c7-active-state {
drive-strength = <2>;
};
i2c7_hid_active: i2c7-hid-active-state {
pins = "gpio37", "gpio24";
kb_int_default: kb-int-default-state {
pins = "gpio37";
function = "gpio";
bias-pull-up;
......@@ -718,6 +725,22 @@ wake-n-pins {
};
};
tp_int_default: tp-int-default-state {
pins = "gpio24";
function = "gpio";
bias-pull-up;
drive-strength = <2>;
};
ts_int_default: ts-int-default-state {
pins = "gpio122";
function = "gpio";
bias-pull-up;
drive-strength = <2>;
};
usbprim_sbu_default: usbprim-sbu-state {
oe-n-pins {
pins = "gpio152";
......
......@@ -300,6 +300,7 @@ firmware {
scm: scm {
compatible = "qcom,scm-sc8280xp", "qcom,scm";
interconnects = <&aggre2_noc MASTER_CRYPTO 0 &mc_virt SLAVE_EBI1 0>;
qcom,dload-mode = <&tcsr 0x13000>;
};
};
......@@ -862,6 +863,18 @@ ipcc: mailbox@408000 {
#mbox-cells = <2>;
};
qfprom: efuse@784000 {
compatible = "qcom,sc8280xp-qfprom", "qcom,qfprom";
reg = <0 0x00784000 0 0x3000>;
#address-cells = <1>;
#size-cells = <1>;
gpu_speed_bin: gpu-speed-bin@18b {
reg = <0x18b 0x1>;
bits = <5 3>;
};
};
qup2: geniqup@8c0000 {
compatible = "qcom,geni-se-qup";
reg = <0 0x008c0000 0 0x2000>;
......@@ -1731,6 +1744,8 @@ pcie4: pcie@1c00000 {
linux,pci-domain = <6>;
num-lanes = <1>;
msi-map = <0x0 &its 0xe0000 0x10000>;
interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
......@@ -1774,6 +1789,7 @@ pcie4: pcie@1c00000 {
reset-names = "pci";
power-domains = <&gcc PCIE_4_GDSC>;
required-opps = <&rpmhpd_opp_nom>;
phys = <&pcie4_phy>;
phy-names = "pciephy";
......@@ -1831,6 +1847,8 @@ pcie3b: pcie@1c08000 {
linux,pci-domain = <5>;
num-lanes = <2>;
msi-map = <0x0 &its 0xd0000 0x10000>;
interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
......@@ -1872,6 +1890,7 @@ pcie3b: pcie@1c08000 {
reset-names = "pci";
power-domains = <&gcc PCIE_3B_GDSC>;
required-opps = <&rpmhpd_opp_nom>;
phys = <&pcie3b_phy>;
phy-names = "pciephy";
......@@ -1929,6 +1948,8 @@ pcie3a: pcie@1c10000 {
linux,pci-domain = <4>;
num-lanes = <4>;
msi-map = <0x0 &its 0xc0000 0x10000>;
interrupts = <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>,
......@@ -1970,6 +1991,7 @@ pcie3a: pcie@1c10000 {
reset-names = "pci";
power-domains = <&gcc PCIE_3A_GDSC>;
required-opps = <&rpmhpd_opp_nom>;
phys = <&pcie3a_phy>;
phy-names = "pciephy";
......@@ -2030,6 +2052,8 @@ pcie2b: pcie@1c18000 {
linux,pci-domain = <3>;
num-lanes = <2>;
msi-map = <0x0 &its 0xb0000 0x10000>;
interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>,
......@@ -2071,6 +2095,7 @@ pcie2b: pcie@1c18000 {
reset-names = "pci";
power-domains = <&gcc PCIE_2B_GDSC>;
required-opps = <&rpmhpd_opp_nom>;
phys = <&pcie2b_phy>;
phy-names = "pciephy";
......@@ -2128,6 +2153,8 @@ pcie2a: pcie@1c20000 {
linux,pci-domain = <2>;
num-lanes = <4>;
msi-map = <0x0 &its 0xa0000 0x10000>;
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 523 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 524 IRQ_TYPE_LEVEL_HIGH>,
......@@ -2169,6 +2196,7 @@ pcie2a: pcie@1c20000 {
reset-names = "pci";
power-domains = <&gcc PCIE_2A_GDSC>;
required-opps = <&rpmhpd_opp_nom>;
phys = <&pcie2a_phy>;
phy-names = "pciephy";
......@@ -3361,10 +3389,12 @@ usb_0: usb@a6f8800 {
assigned-clock-rates = <19200000>, <200000000>;
interrupts-extended = <&intc GIC_SPI 804 IRQ_TYPE_LEVEL_HIGH>,
<&intc GIC_SPI 805 IRQ_TYPE_LEVEL_HIGH>,
<&pdc 14 IRQ_TYPE_EDGE_BOTH>,
<&pdc 15 IRQ_TYPE_EDGE_BOTH>,
<&pdc 138 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "pwr_event",
"hs_phy_irq",
"dp_hs_phy_irq",
"dm_hs_phy_irq",
"ss_phy_irq";
......@@ -3421,10 +3451,12 @@ usb_1: usb@a8f8800 {
assigned-clock-rates = <19200000>, <200000000>;
interrupts-extended = <&intc GIC_SPI 811 IRQ_TYPE_LEVEL_HIGH>,
<&intc GIC_SPI 790 IRQ_TYPE_LEVEL_HIGH>,
<&pdc 12 IRQ_TYPE_EDGE_BOTH>,
<&pdc 13 IRQ_TYPE_EDGE_BOTH>,
<&pdc 136 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "pwr_event",
"hs_phy_irq",
"dp_hs_phy_irq",
"dm_hs_phy_irq",
"ss_phy_irq";
......@@ -4448,6 +4480,11 @@ tsens0: thermal-sensor@c263000 {
#thermal-sensor-cells = <1>;
};
restart@c264000 {
compatible = "qcom,pshold";
reg = <0 0x0c264000 0 0x4>;
};
tsens1: thermal-sensor@c265000 {
compatible = "qcom,sc8280xp-tsens", "qcom,tsens-v2";
reg = <0 0x0c265000 0 0x1ff>, /* TM */
......@@ -4799,7 +4836,7 @@ intc: interrupt-controller@17a00000 {
#size-cells = <2>;
ranges;
msi-controller@17a40000 {
its: msi-controller@17a40000 {
compatible = "arm,gic-v3-its";
reg = <0 0x17a40000 0 0x20000>;
msi-controller;
......@@ -4966,6 +5003,11 @@ cpufreq_hw: cpufreq@18591000 {
<0 0x18592000 0 0x1000>;
reg-names = "freq-domain0", "freq-domain1";
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "dcvsh-irq-0",
"dcvsh-irq-1";
clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GCC_GPLL0>;
clock-names = "xo", "alternate";
......
......@@ -116,6 +116,33 @@ led@3 {
};
};
&pmi632_typec {
status = "okay";
connector {
compatible = "usb-c-connector";
power-role = "dual";
data-role = "dual";
self-powered;
typec-power-opmode = "default";
pd-disable;
port {
pmi632_hs_in: endpoint {
remote-endpoint = <&usb_dwc3_hs>;
};
};
};
};
&pmi632_vbus {
regulator-min-microamp = <500000>;
regulator-max-microamp = <1000000>;
status = "okay";
};
&sdhc_1 {
status = "okay";
vmmc-supply = <&pm8953_l8>;
......@@ -240,8 +267,8 @@ &usb3 {
status = "okay";
};
&usb3_dwc3 {
dr_mode = "peripheral";
&usb_dwc3_hs {
remote-endpoint = <&pmi632_hs_in>;
};
&wcnss {
......
......@@ -441,6 +441,47 @@ rmi4-f12@12 {
};
};
&mdss {
status = "okay";
};
&mdss_dsi0 {
vdda-supply = <&vreg_l1a_1p225>;
status = "okay";
panel@0 {
compatible = "samsung,s6e3fa7-ams559nk06";
reg = <0>;
reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&panel_default>;
power-supply = <&vreg_l6b_3p3>;
port {
panel_in: endpoint {
remote-endpoint = <&mdss_dsi0_out>;
};
};
};
};
&mdss_dsi0_out {
remote-endpoint = <&panel_in>;
data-lanes = <0 1 2 3>;
};
&mdss_dsi0_phy {
vdds-supply = <&vreg_l1b_0p925>;
status = "okay";
};
&mdss_mdp {
status = "okay";
};
&pm660l_gpios {
vol_up_pin: vol-up-state {
pins = "gpio7";
......@@ -481,6 +522,29 @@ &sdhc_1 {
&tlmm {
gpio-reserved-ranges = <0 4>, <81 4>;
panel_default: panel-default-state {
te-pins {
pins = "gpio10";
function = "mdp_vsync";
drive-strength = <2>;
bias-pull-down;
};
reset-pins {
pins = "gpio75";
function = "gpio";
drive-strength = <8>;
bias-disable;
};
mode-pins {
pins = "gpio76";
function = "gpio";
drive-strength = <8>;
bias-disable;
};
};
touchscreen_default: ts-default-state {
ts-reset-pins {
pins = "gpio99";
......
......@@ -1205,6 +1205,37 @@ ufs_mem_phy: phy@1d87000 {
status = "disabled";
};
cryptobam: dma-controller@1dc4000 {
compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
reg = <0 0x01dc4000 0 0x24000>;
interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
#dma-cells = <1>;
qcom,ee = <0>;
qcom,controlled-remotely;
num-channels = <16>;
qcom,num-ees = <4>;
iommus = <&apps_smmu 0x426 0x11>,
<&apps_smmu 0x432 0x0>,
<&apps_smmu 0x436 0x11>,
<&apps_smmu 0x438 0x1>,
<&apps_smmu 0x43f 0x0>;
};
crypto: crypto@1dfa000 {
compatible = "qcom,sm6350-qce", "qcom,sm8150-qce", "qcom,qce";
reg = <0 0x01dfa000 0 0x6000>;
dmas = <&cryptobam 4>, <&cryptobam 5>;
dma-names = "rx", "tx";
iommus = <&apps_smmu 0x426 0x11>,
<&apps_smmu 0x432 0x0>,
<&apps_smmu 0x436 0x11>,
<&apps_smmu 0x438 0x1>,
<&apps_smmu 0x43f 0x0>;
interconnects = <&aggre2_noc MASTER_CRYPTO_CORE_0 QCOM_ICC_TAG_ALWAYS
&clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ALWAYS>;
interconnect-names = "memory";
};
ipa: ipa@1e40000 {
compatible = "qcom,sm6350-ipa";
......
......@@ -636,7 +636,8 @@ &pm8150b_typec {
connector {
compatible = "usb-c-connector";
power-role = "source";
op-sink-microwatt = <10000000>;
power-role = "dual";
data-role = "dual";
self-powered;
......@@ -645,6 +646,12 @@ PDO_FIXED_DUAL_ROLE |
PDO_FIXED_USB_COMM |
PDO_FIXED_DATA_SWAP)>;
sink-pdos = <PDO_FIXED(5000, 3000,
PDO_FIXED_DUAL_ROLE |
PDO_FIXED_USB_COMM |
PDO_FIXED_DATA_SWAP)
PDO_VAR(5000, 12000, 5000)>;
ports {
#address-cells = <1>;
#size-cells = <0>;
......
......@@ -2363,6 +2363,7 @@ fastrpc {
compatible = "qcom,fastrpc";
qcom,glink-channels = "fastrpcglink-apps-dsp";
label = "sdsp";
qcom,non-secure-domain;
#address-cells = <1>;
#size-cells = <0>;
......@@ -2665,6 +2666,7 @@ fastrpc {
compatible = "qcom,fastrpc";
qcom,glink-channels = "fastrpcglink-apps-dsp";
label = "adsp";
qcom,non-secure-domain;
#address-cells = <1>;
#size-cells = <0>;
......@@ -2731,6 +2733,7 @@ fastrpc {
compatible = "qcom,fastrpc";
qcom,glink-channels = "fastrpcglink-apps-dsp";
label = "cdsp";
qcom,non-secure-domain;
#address-cells = <1>;
#size-cells = <0>;
......
......@@ -4316,6 +4316,7 @@ fastrpc {
compatible = "qcom,fastrpc";
qcom,glink-channels = "fastrpcglink-apps-dsp";
label = "adsp";
qcom,non-secure-domain;
#address-cells = <1>;
#size-cells = <0>;
......@@ -4454,6 +4455,7 @@ fastrpc {
compatible = "qcom,fastrpc";
qcom,glink-channels = "fastrpcglink-apps-dsp";
label = "cdsp";
qcom,non-secure-domain;
#address-cells = <1>;
#size-cells = <0>;
......
......@@ -485,9 +485,9 @@ aop_cmd_db_mem: aop-cmd-db@81c60000 {
no-map;
};
/* Merged aop_config, tme_crash_dump, tme_log and uefi_log regions */
/* Merged aop_config, tme_crash_dump, tme_log, uefi_log, and chipinfo regions */
aop_tme_uefi_merged_mem: aop-tme-uefi-merged@81c80000 {
reg = <0 0x81c80000 0 0x74000>;
reg = <0 0x81c80000 0 0x75000>;
no-map;
};
......@@ -4845,6 +4845,8 @@ fastrpc {
label = "adsp";
qcom,non-secure-domain;
#address-cells = <1>;
#size-cells = <0>;
......@@ -5002,6 +5004,8 @@ fastrpc {
label = "cdsp";
qcom,non-secure-domain;
#address-cells = <1>;
#size-cells = <0>;
......
......@@ -9,6 +9,7 @@
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "x1e80100.dtsi"
#include "x1e80100-pmics.dtsi"
/ {
model = "Qualcomm Technologies, Inc. X1E80100 CRD";
......@@ -680,16 +681,32 @@ &remoteproc_cdsp {
status = "okay";
};
&smb2360_0_eusb2_repeater {
vdd18-supply = <&vreg_l3d_1p8>;
vdd3-supply = <&vreg_l2b_3p0>;
};
&smb2360_1_eusb2_repeater {
vdd18-supply = <&vreg_l3d_1p8>;
vdd3-supply = <&vreg_l14b_3p0>;
};
&smb2360_2_eusb2_repeater {
vdd18-supply = <&vreg_l3d_1p8>;
vdd3-supply = <&vreg_l8b_3p0>;
};
&swr0 {
status = "okay";
pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
pinctrl-names = "default";
/* WSA8845, Left Woofer */
left_woofer: speaker@0,0 {
compatible = "sdw20217020400";
reg = <0 0>;
pinctrl-0 = <&spkr_01_sd_n_active>;
pinctrl-names = "default";
powerdown-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
#sound-dai-cells = <0>;
sound-name-prefix = "WooferLeft";
vdd-1p8-supply = <&vreg_l15b_1p8>;
......@@ -700,8 +717,7 @@ left_woofer: speaker@0,0 {
left_tweeter: speaker@0,1 {
compatible = "sdw20217020400";
reg = <0 1>;
/* pinctrl in left_woofer node because of sharing the GPIO*/
powerdown-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
#sound-dai-cells = <0>;
sound-name-prefix = "TwitterLeft";
vdd-1p8-supply = <&vreg_l15b_1p8>;
......@@ -734,13 +750,14 @@ wcd_tx: codec@0,3 {
&swr3 {
status = "okay";
pinctrl-0 = <&wsa2_swr_active>, <&spkr_23_sd_n_active>;
pinctrl-names = "default";
/* WSA8845, Right Woofer */
right_woofer: speaker@0,0 {
compatible = "sdw20217020400";
reg = <0 0>;
pinctrl-0 = <&spkr_23_sd_n_active>;
pinctrl-names = "default";
powerdown-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
#sound-dai-cells = <0>;
sound-name-prefix = "WooferRight";
vdd-1p8-supply = <&vreg_l15b_1p8>;
......@@ -751,8 +768,7 @@ right_woofer: speaker@0,0 {
right_tweeter: speaker@0,1 {
compatible = "sdw20217020400";
reg = <0 1>;
/* pinctrl in right_woofer node because of sharing the GPIO*/
powerdown-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
#sound-dai-cells = <0>;
sound-name-prefix = "TwitterRight";
vdd-1p8-supply = <&vreg_l15b_1p8>;
......@@ -817,6 +833,8 @@ &usb_1_ss0_hsphy {
vdd-supply = <&vreg_l2e_0p8>;
vdda12-supply = <&vreg_l3e_1p2>;
phys = <&smb2360_0_eusb2_repeater>;
status = "okay";
};
......@@ -837,6 +855,8 @@ &usb_1_ss1_hsphy {
vdd-supply = <&vreg_l2e_0p8>;
vdda12-supply = <&vreg_l3e_1p2>;
phys = <&smb2360_1_eusb2_repeater>;
status = "okay";
};
......@@ -857,6 +877,8 @@ &usb_1_ss2_hsphy {
vdd-supply = <&vreg_l2e_0p8>;
vdda12-supply = <&vreg_l3e_1p2>;
phys = <&smb2360_2_eusb2_repeater>;
status = "okay";
};
......
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2024, Linaro Limited
*/
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>
/ {
};
&spmi_bus1 {
smb2360_0: pmic@7 {
compatible = "qcom,smb2360", "qcom,spmi-pmic";
reg = <0x7 SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
smb2360_0_eusb2_repeater: phy@fd00 {
compatible = "qcom,smb2360-eusb2-repeater";
reg = <0xfd00>;
#phy-cells = <0>;
};
};
smb2360_1: pmic@a {
compatible = "qcom,smb2360", "qcom,spmi-pmic";
reg = <0xa SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
smb2360_1_eusb2_repeater: phy@fd00 {
compatible = "qcom,smb2360-eusb2-repeater";
reg = <0xfd00>;
#phy-cells = <0>;
};
};
smb2360_2: pmic@b {
compatible = "qcom,smb2360", "qcom,spmi-pmic";
reg = <0xb SPMI_USID>;
#address-cells = <1>;
#size-cells = <0>;
smb2360_2_eusb2_repeater: phy@fd00 {
compatible = "qcom,smb2360-eusb2-repeater";
reg = <0xfd00>;
#phy-cells = <0>;
};
};
};
......@@ -9,6 +9,7 @@
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "x1e80100.dtsi"
#include "x1e80100-pmics.dtsi"
/ {
model = "Qualcomm Technologies, Inc. X1E80100 QCP";
......@@ -491,6 +492,21 @@ &remoteproc_cdsp {
status = "okay";
};
&smb2360_0_eusb2_repeater {
vdd18-supply = <&vreg_l3d_1p8>;
vdd3-supply = <&vreg_l2b_3p0>;
};
&smb2360_1_eusb2_repeater {
vdd18-supply = <&vreg_l3d_1p8>;
vdd3-supply = <&vreg_l14b_3p0>;
};
&smb2360_2_eusb2_repeater {
vdd18-supply = <&vreg_l3d_1p8>;
vdd3-supply = <&vreg_l8b_3p0>;
};
&tlmm {
gpio-reserved-ranges = <33 3>, /* Unused */
<44 4>, /* SPI (TPM) */
......@@ -513,6 +529,8 @@ &usb_1_ss0_hsphy {
vdd-supply = <&vreg_l2e_0p8>;
vdda12-supply = <&vreg_l3e_1p2>;
phys = <&smb2360_0_eusb2_repeater>;
status = "okay";
};
......@@ -533,6 +551,8 @@ &usb_1_ss1_hsphy {
vdd-supply = <&vreg_l2e_0p8>;
vdda12-supply = <&vreg_l3e_1p2>;
phys = <&smb2360_1_eusb2_repeater>;
status = "okay";
};
......@@ -553,6 +573,8 @@ &usb_1_ss2_hsphy {
vdd-supply = <&vreg_l2e_0p8>;
vdda12-supply = <&vreg_l3e_1p2>;
phys = <&smb2360_2_eusb2_repeater>;
status = "okay";
};
......
......@@ -3088,7 +3088,7 @@ swr1: soundwire@6ad0000 {
qcom,ports-hstart = /bits/ 8 <0xff 0x03 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
qcom,ports-hstop = /bits/ 8 <0xff 0x06 0x0f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
qcom,ports-word-length = /bits/ 8 <0x01 0x07 0x04 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
qcom,ports-block-pack-mode = /bits/ 8 <0xff 0x00 0x01 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
qcom,ports-block-pack-mode = /bits/ 8 <0xff 0xff 0x01 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
qcom,ports-lane-control = /bits/ 8 <0x01 0x00 0x00 0x00 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
......@@ -4221,6 +4221,48 @@ aoss_qmp: power-management@c300000 {
#clock-cells = <0>;
};
spmi: arbiter@c400000 {
compatible = "qcom,x1e80100-spmi-pmic-arb";
reg = <0 0x0c400000 0 0x3000>,
<0 0x0c500000 0 0x400000>,
<0 0x0c440000 0 0x80000>;
reg-names = "core", "chnls", "obsrvr";
qcom,ee = <0>;
qcom,channel = <0>;
#address-cells = <2>;
#size-cells = <2>;
ranges;
spmi_bus0: spmi@c42d000 {
reg = <0 0x0c42d000 0 0x4000>,
<0 0x0c4c0000 0 0x10000>;
reg-names = "cnfg", "intr";
interrupt-names = "periph_irq";
interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
interrupt-controller;
#interrupt-cells = <4>;
#address-cells = <2>;
#size-cells = <0>;
};
spmi_bus1: spmi@c432000 {
reg = <0 0x0c432000 0 0x4000>,
<0 0x0c4d0000 0 0x10000>;
reg-names = "cnfg", "intr";
interrupt-names = "periph_irq";
interrupts-extended = <&pdc 3 IRQ_TYPE_LEVEL_HIGH>;
interrupt-controller;
#interrupt-cells = <4>;
#address-cells = <2>;
#size-cells = <0>;
};
};
tlmm: pinctrl@f100000 {
compatible = "qcom,x1e80100-tlmm";
......
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