Last set of Qualcomm ARM64 DTS updates for v6.3

This introduces additional DisplayPort controllers and pmic_glink on
 SC8280XP (8cx Gen3), which provides support for USB Type-C-based
 displays on the the Lenovo ThinkPad X13s and the compute reference
 device. The pmic_glink also provides battery and power supply status.
 
 Interrupt-parents are corrected across the SC8280XP PMICs, to allow
 non-Linux OSs to properly handle interrupts in the various blocks
 therein.
 
 It cleans up the SM8350 base dtsi and introduces GPU support on this
 platform, as well as enable this for the Hardware Development Kit (HDK).
 It enables i2c busses on the Fairphone FP4
 
 Lastly it aligns glink node names with bindings across a few platforms,
 and corrects the compatible for the PON block in the pmk8350 PMIC.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmPsajkVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FWTkQANXEeXPZTwcFCRx3r9YENNP8UmQr
 pVK5wmd3Mtj7XbxvejmE+C/z1fdWHywjMgTLRqCLaRVPm6JF1bNxfizzJSI7lYWB
 tWKoYlSgFea4nfJoBI92Bj663TRjmKGGqjWmRh5+P6legEmFXVSoBFNJ7x0bJAeC
 Vv4zpd51chPZKZVstlxfyI5vSwmfpC8lof2G+peEIxTBbxlC1qR+Pf3qcoKdEBTm
 IWY2/UHDyJk1Ni2IPMekdj+ZJrCtD3l8Gu8j1C2qs6pFihpMmNYbpCPAZMeMbId1
 qELRrHicDtfVrNTytSQ2sRxJtTviqk8cC6FobiXo/w6wwexldTnxI2+Xb3i9Dg7l
 yzTJRPb143W3VjwsyDpqPbOvR+rXUqdmFlDcvjdRCwOyrjdgJuqXgI0HzLUQ2aqc
 4+5AtjcPiWyTZfQ2A1u2wnHiHv5JyxIm7Xzqd0WEv3u+p1BvS4q2V6QuUh42pgyY
 po8oKxTPHHIDueog99rQNu2pNu+CDNnaJSQH8Pc9/52/upF6Vy49CmBhTkZEv55z
 DsAEpvS+ngvB8y1bbrnhyuNzPoHazIyMY+R4ibgew6Edh5MW8xaHERSN6+QK6DWq
 RSA8GIK8iX2gl4s3wM+xSBhAbvpbSPVnpnbXDasctesfL1w7JlCOwEWS6YxzwFTV
 KOh/jGgHLHo8HF64
 =X4Uq
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPs5fIACgkQmmx57+YA
 GNnGiw//Zli8PFGC9a9stJ3TkxhGRinwVgtFyHHWVZDRjdX0kHtfPsFBqPEe4Fzx
 hLxhgGvm1sKUP6Vsr9I+7dpnLgYZCwiIF7GcpT4joJfxigu9G1qXxHiB5RDpjGfs
 bS/czJOPAOfqeO/DItc9Cv6oUniiawBv2RINMTE1VlIk8Ml9zCIiA26cRJYy4Za5
 XZi2cIINoDiDUq/odTXQkGhHHEW+tKAL/66wkG4n03QyYoZyUq3UHin8jfg4T5ql
 mSZ972MRsn6rrrYjabgxTvpqnntqRPzx0wgr4m2GbdFU26S/UpndAmQYe4YrvE/b
 AvwGtoLiJmb13ziwa1WUnfYhY/F1SKx5S3NzvCdKN7vPWx9az5es4HVspNdjuILF
 0OeXyBYMl5U8Pi/nFYPUnNFttLWHFinWW9TzUcS2xbvePHTTScKto3dz1mpiJNqN
 4rOllLRwvM5Xsq+Y+oiKp/kIc7RhhRdbBcNYYQB/9W2qRfUwQTtfCVv/3IymSgyB
 7kKWu/+CIDI7P/OqFkaW813wCnf4/jSpRjhwuh6E0zOkADFSKDVfu0eQMxs20Tt6
 /dGN4JfVGHYed4FJhuHwDv96xJEdVxToUiacc42xYyfKlVDuwhauSmwKD7tgGMZj
 bp4AoaY96C0JH1FWyKYJwZYU6iXnM3UJ+wxPM+nYX7/FhV/ToFw=
 =hZcb
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-for-6.3-3' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/dt

Last set of Qualcomm ARM64 DTS updates for v6.3

This introduces additional DisplayPort controllers and pmic_glink on
SC8280XP (8cx Gen3), which provides support for USB Type-C-based
displays on the the Lenovo ThinkPad X13s and the compute reference
device. The pmic_glink also provides battery and power supply status.

Interrupt-parents are corrected across the SC8280XP PMICs, to allow
non-Linux OSs to properly handle interrupts in the various blocks
therein.

It cleans up the SM8350 base dtsi and introduces GPU support on this
platform, as well as enable this for the Hardware Development Kit (HDK).
It enables i2c busses on the Fairphone FP4

Lastly it aligns glink node names with bindings across a few platforms,
and corrects the compatible for the PON block in the pmk8350 PMIC.

* tag 'qcom-arm64-for-6.3-3' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: dts: qcom: msm8996: align RPM G-Link clock-controller node with bindings
  arm64: dts: qcom: qcs404: align RPM G-Link node with bindings
  arm64: dts: qcom: ipq6018: align RPM G-Link node with bindings
  arm64: dts: qcom: sm8550: remove invalid interconnect property from cryptobam
  arm64: dts: qcom: sc7280: Adjust zombie PWM frequency
  arm64: dts: qcom: sc8280xp-pmics: Specify interrupt parent explicitly
  arm64: dts: qcom: sm7225-fairphone-fp4: enable remaining i2c busses
  arm64: dts: qcom: sm7225-fairphone-fp4: move status property down
  arm64: dts: qcom: pmk8350: Use the correct PON compatible
  arm64: dts: qcom: sc8280xp-x13s: Enable external display
  arm64: dts: qcom: sc8280xp-crd: Introduce pmic_glink
  arm64: dts: qcom: sc8280xp: Add USB-C-related DP blocks
  arm64: dts: qcom: sm8350-hdk: enable GPU
  arm64: dts: qcom: sm8350: add GPU, GMU, GPU CC and SMMU nodes
  arm64: dts: qcom: sm8350: finish reordering nodes
  arm64: dts: qcom: sm8350: move more nodes to correct place
  arm64: dts: qcom: sm8350: reorder device nodes

Link: https://lore.kernel.org/r/20230215051530.1165953-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2023-02-15 15:02:26 +01:00
commit 18b68c695c
13 changed files with 1556 additions and 790 deletions

View File

@ -176,7 +176,7 @@
qcom,rpm-msg-ram = <&rpm_msg_ram>;
mboxes = <&apcs_glb 0>;
rpm_requests: glink-channel {
rpm_requests: rpm-requests {
compatible = "qcom,rpm-ipq6018";
qcom,glink-channels = "rpm_requests";

View File

@ -483,7 +483,7 @@
compatible = "qcom,rpm-msm8996";
qcom,glink-channels = "rpm_requests";
rpmcc: qcom,rpmcc {
rpmcc: clock-controller {
compatible = "qcom,rpmcc-msm8996", "qcom,rpmcc";
#clock-cells = <1>;
clocks = <&xo_board>;

View File

@ -21,7 +21,7 @@
#size-cells = <0>;
pmk8350_pon: pon@1300 {
compatible = "qcom,pm8998-pon";
compatible = "qcom,pmk8350-pon";
reg = <0x1300>, <0x800>;
reg-names = "hlos", "pbs";

View File

@ -223,7 +223,7 @@
qcom,rpm-msg-ram = <&rpm_msg_ram>;
mboxes = <&apcs_glb 0>;
rpm_requests: glink-channel {
rpm_requests: rpm-requests {
compatible = "qcom,rpm-qcs404";
qcom,glink-channels = "rpm_requests";

View File

@ -61,8 +61,8 @@ ap_tp_i2c: &i2c0 {
};
&pm8350c_pwm_backlight {
/* Set the PWM period to 200 microseconds (5kHz duty cycle) */
pwms = <&pm8350c_pwm 3 200000>;
/* Set the PWM period to 320 microseconds (3.125kHz frequency) */
pwms = <&pm8350c_pwm 3 320000>;
};
&pwmleds {

View File

@ -36,6 +36,84 @@
stdout-path = "serial0:115200n8";
};
pmic-glink {
compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink";
#address-cells = <1>;
#size-cells = <0>;
connector@0 {
compatible = "usb-c-connector";
reg = <0>;
power-role = "dual";
data-role = "dual";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
pmic_glink_con0_hs: endpoint {
remote-endpoint = <&usb_0_role_switch>;
};
};
port@1 {
reg = <1>;
pmic_glink_con0_ss: endpoint {
remote-endpoint = <&mdss0_dp0_out>;
};
};
port@2 {
reg = <2>;
pmic_glink_con0_sbu: endpoint {
remote-endpoint = <&usb0_sbu_mux>;
};
};
};
};
connector@1 {
compatible = "usb-c-connector";
reg = <1>;
power-role = "dual";
data-role = "dual";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
pmic_glink_con1_hs: endpoint {
remote-endpoint = <&usb_1_role_switch>;
};
};
port@1 {
reg = <1>;
pmic_glink_con1_ss: endpoint {
remote-endpoint = <&mdss0_dp1_out>;
};
};
port@2 {
reg = <2>;
pmic_glink_con1_sbu: endpoint {
remote-endpoint = <&usb1_sbu_mux>;
};
};
};
};
};
vreg_edp_3p3: regulator-edp-3p3 {
compatible = "regulator-fixed";
@ -139,6 +217,46 @@
linux,cma-default;
};
};
usb0-sbu-mux {
compatible = "pericom,pi3usb102", "gpio-sbu-mux";
enable-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
select-gpios = <&tlmm 164 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb0_sbu_default>;
mode-switch;
orientation-switch;
svid = /bits/ 16 <0xff01>;
port {
usb0_sbu_mux: endpoint {
remote-endpoint = <&pmic_glink_con0_sbu>;
};
};
};
usb1-sbu-mux {
compatible = "pericom,pi3usb102", "gpio-sbu-mux";
enable-gpios = <&tlmm 48 GPIO_ACTIVE_LOW>;
select-gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb1_sbu_default>;
mode-switch;
orientation-switch;
svid = /bits/ 16 <0xff01>;
port {
usb1_sbu_mux: endpoint {
remote-endpoint = <&pmic_glink_con1_sbu>;
};
};
};
};
&apps_rsc {
@ -262,6 +380,24 @@
status = "okay";
};
&mdss0_dp0 {
status = "okay";
};
&mdss0_dp0_out {
data-lanes = <0 1>;
remote-endpoint = <&pmic_glink_con0_ss>;
};
&mdss0_dp1 {
status = "okay";
};
&mdss0_dp1_out {
data-lanes = <0 1>;
remote-endpoint = <&pmic_glink_con1_ss>;
};
&mdss0_dp3 {
compatible = "qcom,sc8280xp-edp";
/delete-property/ #sound-dai-cells;
@ -480,7 +616,6 @@
};
&usb_0_dwc3 {
/* TODO: Define USB-C connector properly */
dr_mode = "host";
};
@ -499,12 +634,15 @@
status = "okay";
};
&usb_0_role_switch {
remote-endpoint = <&pmic_glink_con0_hs>;
};
&usb_1 {
status = "okay";
};
&usb_1_dwc3 {
/* TODO: Define USB-C connector properly */
dr_mode = "host";
};
@ -523,6 +661,10 @@
status = "okay";
};
&usb_1_role_switch {
remote-endpoint = <&pmic_glink_con1_hs>;
};
&xo_board_clk {
clock-frequency = <38400000>;
};
@ -709,4 +851,54 @@
drive-strength = <16>;
};
};
usb0_sbu_default: usb0-sbu-state {
oe-n-pins {
pins = "gpio101";
function = "gpio";
bias-disable;
drive-strengh = <16>;
output-high;
};
sel-pins {
pins = "gpio164";
function = "gpio";
bias-disable;
drive-strength = <16>;
};
mode-pins {
pins = "gpio167";
function = "gpio";
bias-disable;
drive-strength = <16>;
output-high;
};
};
usb1_sbu_default: usb1-sbu-state {
oe-n-pins {
pins = "gpio48";
function = "gpio";
bias-disable;
drive-strengh = <16>;
output-high;
};
sel-pins {
pins = "gpio47";
function = "gpio";
bias-disable;
drive-strength = <16>;
};
mode-pins {
pins = "gpio50";
function = "gpio";
bias-disable;
drive-strength = <16>;
output-high;
};
};
};

View File

@ -77,6 +77,84 @@
};
};
pmic-glink {
compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink";
#address-cells = <1>;
#size-cells = <0>;
connector@0 {
compatible = "usb-c-connector";
reg = <0>;
power-role = "dual";
data-role = "dual";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
pmic_glink_con0_hs: endpoint {
remote-endpoint = <&usb_0_role_switch>;
};
};
port@1 {
reg = <1>;
pmic_glink_con0_ss: endpoint {
remote-endpoint = <&mdss0_dp0_out>;
};
};
port@2 {
reg = <2>;
pmic_glink_con0_sbu: endpoint {
remote-endpoint = <&usb0_sbu_mux>;
};
};
};
};
connector@1 {
compatible = "usb-c-connector";
reg = <1>;
power-role = "dual";
data-role = "dual";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
pmic_glink_con1_hs: endpoint {
remote-endpoint = <&usb_1_role_switch>;
};
};
port@1 {
reg = <1>;
pmic_glink_con1_ss: endpoint {
remote-endpoint = <&mdss0_dp1_out>;
};
};
port@2 {
reg = <2>;
pmic_glink_con1_sbu: endpoint {
remote-endpoint = <&usb1_sbu_mux>;
};
};
};
};
};
vreg_edp_3p3: regulator-edp-3p3 {
compatible = "regulator-fixed";
@ -238,6 +316,46 @@
};
};
};
usb0-sbu-mux {
compatible = "pericom,pi3usb102", "gpio-sbu-mux";
enable-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
select-gpios = <&tlmm 164 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb0_sbu_default>;
mode-switch;
orientation-switch;
svid = /bits/ 16 <0xff01>;
port {
usb0_sbu_mux: endpoint {
remote-endpoint = <&pmic_glink_con0_sbu>;
};
};
};
usb1-sbu-mux {
compatible = "pericom,pi3usb102", "gpio-sbu-mux";
enable-gpios = <&tlmm 48 GPIO_ACTIVE_LOW>;
select-gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb1_sbu_default>;
mode-switch;
orientation-switch;
svid = /bits/ 16 <0xff01>;
port {
usb1_sbu_mux: endpoint {
remote-endpoint = <&pmic_glink_con1_sbu>;
};
};
};
};
&apps_rsc {
@ -377,6 +495,24 @@
status = "okay";
};
&mdss0_dp0 {
status = "okay";
};
&mdss0_dp0_out {
data-lanes = <0 1>;
remote-endpoint = <&pmic_glink_con0_ss>;
};
&mdss0_dp1 {
status = "okay";
};
&mdss0_dp1_out {
data-lanes = <0 1>;
remote-endpoint = <&pmic_glink_con1_ss>;
};
&mdss0_dp3 {
compatible = "qcom,sc8280xp-edp";
@ -871,7 +1007,6 @@
};
&usb_0_dwc3 {
/* TODO: Define USB-C connector properly */
dr_mode = "host";
};
@ -890,12 +1025,15 @@
status = "okay";
};
&usb_0_role_switch {
remote-endpoint = <&pmic_glink_con0_hs>;
};
&usb_1 {
status = "okay";
};
&usb_1_dwc3 {
/* TODO: Define USB-C connector properly */
dr_mode = "host";
};
@ -914,6 +1052,10 @@
status = "okay";
};
&usb_1_role_switch {
remote-endpoint = <&pmic_glink_con1_hs>;
};
&vamacro {
pinctrl-0 = <&dmic01_default>, <&dmic02_default>;
pinctrl-names = "default";
@ -1147,6 +1289,40 @@
};
};
usb0_sbu_default: usb0-sbu-state {
oe-n-pins {
pins = "gpio101";
function = "gpio";
bias-disable;
drive-strengh = <16>;
output-high;
};
sel-pins {
pins = "gpio164";
function = "gpio";
bias-disable;
drive-strength = <16>;
};
};
usb1_sbu_default: usb1-sbu-state {
oe-n-pins {
pins = "gpio48";
function = "gpio";
bias-disable;
drive-strengh = <16>;
output-high;
};
sel-pins {
pins = "gpio47";
function = "gpio";
bias-disable;
drive-strength = <16>;
};
};
wcd_default: wcd-default-state {
reset-pins {
pins = "gpio106";

View File

@ -64,14 +64,14 @@
pmk8280_pon_pwrkey: pwrkey {
compatible = "qcom,pmk8350-pwrkey";
interrupts = <0x0 0x13 0x7 IRQ_TYPE_EDGE_BOTH>;
interrupts-extended = <&spmi_bus 0x0 0x13 0x7 IRQ_TYPE_EDGE_BOTH>;
linux,code = <KEY_POWER>;
status = "disabled";
};
pmk8280_pon_resin: resin {
compatible = "qcom,pmk8350-resin";
interrupts = <0x0 0x13 0x6 IRQ_TYPE_EDGE_BOTH>;
interrupts-extended = <&spmi_bus 0x0 0x13 0x6 IRQ_TYPE_EDGE_BOTH>;
status = "disabled";
};
};
@ -79,7 +79,7 @@
pmk8280_vadc: adc@3100 {
compatible = "qcom,spmi-adc7";
reg = <0x3100>;
interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
interrupts-extended = <&spmi_bus 0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
#address-cells = <1>;
#size-cells = <0>;
#io-channel-cells = <1>;
@ -89,7 +89,7 @@
pmk8280_adc_tm: adc-tm@3400 {
compatible = "qcom,spmi-adc-tm5-gen2";
reg = <0x3400>;
interrupts = <0x0 0x34 0x0 IRQ_TYPE_EDGE_RISING>;
interrupts-extended = <&spmi_bus 0x0 0x34 0x0 IRQ_TYPE_EDGE_RISING>;
#address-cells = <1>;
#size-cells = <0>;
#thermal-sensor-cells = <1>;
@ -106,7 +106,7 @@
pm8280_1_temp_alarm: temp-alarm@a00 {
compatible = "qcom,spmi-temp-alarm";
reg = <0xa00>;
interrupts = <0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
interrupts-extended = <&spmi_bus 0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
#thermal-sensor-cells = <0>;
};
@ -158,7 +158,7 @@
pm8280_2_temp_alarm: temp-alarm@a00 {
compatible = "qcom,spmi-temp-alarm";
reg = <0xa00>;
interrupts = <0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
interrupts-extended = <&spmi_bus 0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
#thermal-sensor-cells = <0>;
};

View File

@ -3040,6 +3040,11 @@
iommus = <&apps_smmu 0x820 0x0>;
phys = <&usb_0_hsphy>, <&usb_0_qmpphy QMP_USB43DP_USB3_PHY>;
phy-names = "usb2-phy", "usb3-phy";
port {
usb_0_role_switch: endpoint {
};
};
};
};
@ -3095,6 +3100,11 @@
iommus = <&apps_smmu 0x860 0x0>;
phys = <&usb_1_hsphy>, <&usb_1_qmpphy QMP_USB43DP_USB3_PHY>;
phy-names = "usb2-phy", "usb3-phy";
port {
usb_1_role_switch: endpoint {
};
};
};
};
@ -3155,6 +3165,20 @@
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
mdss0_intf0_out: endpoint {
remote-endpoint = <&mdss0_dp0_in>;
};
};
port@4 {
reg = <4>;
mdss0_intf4_out: endpoint {
remote-endpoint = <&mdss0_dp1_in>;
};
};
port@5 {
reg = <5>;
mdss0_intf5_out: endpoint {
@ -3199,6 +3223,163 @@
};
};
mdss0_dp0: displayport-controller@ae90000 {
compatible = "qcom,sc8280xp-dp";
reg = <0 0xae90000 0 0x200>,
<0 0xae90200 0 0x200>,
<0 0xae90400 0 0x600>,
<0 0xae91000 0 0x400>,
<0 0xae91400 0 0x400>;
interrupt-parent = <&mdss0>;
interrupts = <12>;
clocks = <&dispcc0 DISP_CC_MDSS_AHB_CLK>,
<&dispcc0 DISP_CC_MDSS_DPTX0_AUX_CLK>,
<&dispcc0 DISP_CC_MDSS_DPTX0_LINK_CLK>,
<&dispcc0 DISP_CC_MDSS_DPTX0_LINK_INTF_CLK>,
<&dispcc0 DISP_CC_MDSS_DPTX0_PIXEL0_CLK>;
clock-names = "core_iface", "core_aux",
"ctrl_link",
"ctrl_link_iface",
"stream_pixel";
assigned-clocks = <&dispcc0 DISP_CC_MDSS_DPTX0_LINK_CLK_SRC>,
<&dispcc0 DISP_CC_MDSS_DPTX0_PIXEL0_CLK_SRC>;
assigned-clock-parents = <&usb_0_qmpphy QMP_USB43DP_DP_LINK_CLK>,
<&usb_0_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
phys = <&usb_0_qmpphy QMP_USB43DP_DP_PHY>;
phy-names = "dp";
#sound-dai-cells = <0>;
operating-points-v2 = <&mdss0_dp0_opp_table>;
power-domains = <&rpmhpd SC8280XP_CX>;
status = "disabled";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
mdss0_dp0_in: endpoint {
remote-endpoint = <&mdss0_intf0_out>;
};
};
port@1 {
reg = <1>;
mdss0_dp0_out: endpoint {
};
};
};
mdss0_dp0_opp_table: opp-table {
compatible = "operating-points-v2";
opp-160000000 {
opp-hz = /bits/ 64 <160000000>;
required-opps = <&rpmhpd_opp_low_svs>;
};
opp-270000000 {
opp-hz = /bits/ 64 <270000000>;
required-opps = <&rpmhpd_opp_svs>;
};
opp-540000000 {
opp-hz = /bits/ 64 <540000000>;
required-opps = <&rpmhpd_opp_svs_l1>;
};
opp-810000000 {
opp-hz = /bits/ 64 <810000000>;
required-opps = <&rpmhpd_opp_nom>;
};
};
};
mdss0_dp1: displayport-controller@ae98000 {
compatible = "qcom,sc8280xp-dp";
reg = <0 0xae98000 0 0x200>,
<0 0xae98200 0 0x200>,
<0 0xae98400 0 0x600>,
<0 0xae99000 0 0x400>,
<0 0xae99400 0 0x400>;
interrupt-parent = <&mdss0>;
interrupts = <13>;
clocks = <&dispcc0 DISP_CC_MDSS_AHB_CLK>,
<&dispcc0 DISP_CC_MDSS_DPTX1_AUX_CLK>,
<&dispcc0 DISP_CC_MDSS_DPTX1_LINK_CLK>,
<&dispcc0 DISP_CC_MDSS_DPTX1_LINK_INTF_CLK>,
<&dispcc0 DISP_CC_MDSS_DPTX1_PIXEL0_CLK>;
clock-names = "core_iface", "core_aux",
"ctrl_link",
"ctrl_link_iface", "stream_pixel";
assigned-clocks = <&dispcc0 DISP_CC_MDSS_DPTX1_LINK_CLK_SRC>,
<&dispcc0 DISP_CC_MDSS_DPTX1_PIXEL0_CLK_SRC>;
assigned-clock-parents = <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
<&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
phys = <&usb_1_qmpphy QMP_USB43DP_DP_PHY>;
phy-names = "dp";
#sound-dai-cells = <0>;
operating-points-v2 = <&mdss0_dp1_opp_table>;
power-domains = <&rpmhpd SC8280XP_CX>;
status = "disabled";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
mdss0_dp1_in: endpoint {
remote-endpoint = <&mdss0_intf4_out>;
};
};
port@1 {
reg = <1>;
mdss0_dp1_out: endpoint {
};
};
};
mdss0_dp1_opp_table: opp-table {
compatible = "operating-points-v2";
opp-160000000 {
opp-hz = /bits/ 64 <160000000>;
required-opps = <&rpmhpd_opp_low_svs>;
};
opp-270000000 {
opp-hz = /bits/ 64 <270000000>;
required-opps = <&rpmhpd_opp_svs>;
};
opp-540000000 {
opp-hz = /bits/ 64 <540000000>;
required-opps = <&rpmhpd_opp_svs_l1>;
};
opp-810000000 {
opp-hz = /bits/ 64 <810000000>;
required-opps = <&rpmhpd_opp_nom>;
};
};
};
mdss0_dp2: displayport-controller@ae9a000 {
compatible = "qcom,sc8280xp-dp";
reg = <0 0xae9a000 0 0x200>,
@ -3387,10 +3568,10 @@
clocks = <&gcc GCC_DISP_AHB_CLK>,
<&rpmhcc RPMH_CXO_CLK>,
<&sleep_clk>,
<0>,
<0>,
<0>,
<0>,
<&usb_0_qmpphy QMP_USB43DP_DP_LINK_CLK>,
<&usb_0_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
<&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
<&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
<&mdss0_dp2_phy 0>,
<&mdss0_dp2_phy 1>,
<&mdss0_dp3_phy 0>,

View File

@ -110,8 +110,8 @@
};
&adsp {
status = "okay";
firmware-name = "qcom/sm7225/fairphone4/adsp.mdt";
status = "okay";
};
&apps_rsc {
@ -355,13 +355,42 @@
};
&cdsp {
status = "okay";
firmware-name = "qcom/sm7225/fairphone4/cdsp.mdt";
status = "okay";
};
&gpi_dma0 {
status = "okay";
};
&gpi_dma1 {
status = "okay";
};
&i2c0 {
clock-frequency = <400000>;
status = "okay";
/* ST21NFCD NFC @ 8 */
/* VL53L3 ToF @ 29 */
/* AW88264A amplifier @ 34 */
/* AW88264A amplifier @ 35 */
};
&i2c8 {
clock-frequency = <400000>;
status = "okay";
/* HX83112A touchscreen @ 48 */
};
&i2c10 {
status = "okay";
clock-frequency = <400000>;
status = "okay";
/* PM8008 PMIC @ 8 and 9 */
/* PX8618 @ 26 */
/* SMB1395 PMIC @ 34 */
haptics@5a {
compatible = "awinic,aw8695";
@ -396,8 +425,8 @@
};
&mpss {
status = "okay";
firmware-name = "qcom/sm7225/fairphone4/modem.mdt";
status = "okay";
};
&pm6150l_flash {
@ -423,11 +452,11 @@
};
&pm6150l_wled {
status = "okay";
qcom,switching-freq = <800>;
qcom,current-limit-microamp = <20000>;
qcom,num-strings = <2>;
status = "okay";
};
&pm6350_gpios {
@ -441,8 +470,8 @@
};
&pm6350_resin {
status = "okay";
linux,code = <KEY_VOLUMEDOWN>;
status = "okay";
};
&pm7250b_adc {
@ -495,6 +524,10 @@
};
};
&qupv3_id_0 {
status = "okay";
};
&qupv3_id_1 {
status = "okay";
};
@ -535,21 +568,21 @@
};
&ufs_mem_hc {
status = "okay";
reset-gpios = <&tlmm 156 GPIO_ACTIVE_LOW>;
vcc-supply = <&vreg_l7e>;
vcc-max-microamp = <800000>;
vccq2-supply = <&vreg_l12a>;
vccq2-max-microamp = <800000>;
status = "okay";
};
&ufs_mem_phy {
status = "okay";
vdda-phy-supply = <&vreg_l18a>;
vdda-pll-supply = <&vreg_l22a>;
status = "okay";
};
&usb_1 {
@ -562,26 +595,26 @@
};
&usb_1_hsphy {
status = "okay";
vdd-supply = <&vreg_l18a>;
vdda-pll-supply = <&vreg_l2a>;
vdda-phy-dpdm-supply = <&vreg_l3a>;
status = "okay";
};
&usb_1_qmpphy {
status = "okay";
vdda-phy-supply = <&vreg_l22a>;
vdda-pll-supply = <&vreg_l16a>;
status = "okay";
};
&wifi {
status = "okay";
vdd-0.8-cx-mx-supply = <&vreg_l4a>;
vdd-1.8-xo-supply = <&vreg_l7a>;
vdd-1.3-rfa-supply = <&vreg_l2e>;
vdd-3.3-ch0-supply = <&vreg_l10e>;
vdd-3.3-ch1-supply = <&vreg_l11e>;
status = "okay";
};

View File

@ -284,6 +284,14 @@
status = "okay";
};
&gpu {
status = "okay";
zap-shader {
firmware-name = "qcom/sm8350/a660_zap.mbn";
};
};
&i2c15 {
clock-frequency = <400000>;
status = "okay";

File diff suppressed because it is too large Load Diff

View File

@ -1858,8 +1858,6 @@
qcom,controlled-remotely;
iommus = <&apps_smmu 0x480 0x0>,
<&apps_smmu 0x481 0x0>;
interconnects = <&aggre2_noc MASTER_CRYPTO 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "memory";
};
crypto: crypto@1de0000 {