Commit 055fdcac authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'qcom-arm64-for-6.5-2' of...

Merge tag 'qcom-arm64-for-6.5-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt

More Qualcomm ARM64 DTS changes for v6.5

This introduces support for the Qualcomm SDX75 platform, with the IDP
reference board. On IPQ5332 the RDP474 board is added and on IPQ9574 the
RDP454 is introduced.
On SC8280XP, and hence Lenovo ThinkPad X13s, GPU support is added.

For QDU1000, SDM845, SM670, SC8180X, SM6350 and SM8550 the RSC is added
to the CPU cluster power-domain to flush sleep & wake votes as the
cluster goes down.

On IPQ5332 additional reserved-memory regions to improve post mortem
debugging. UART1 is added. The MI01.2 board is renamed RDP441 and the
RDP474 is added.

On IPQ8074 critical thermal trip points are defined.

As with IPQ5332 additional reserved-memory regions are used to improve
post mortem debugging. Thermal sensors (tsens) are added and zones
defined. The crypto engine is added, and support for the RDP454 board is
added.

Across MSM8916 and MSM8939 pinctrl state definitions are cleaned up and
the purpose of msm8939-pm8916 is documented. MSM8939 has regulator
definitions cleaned up, following to the previous effort on MSM8916.

CPU Bus Fabric scaling support is added to MSM8996 Pro.

On QCM2290 CPU idle states are added.

For QDU1000 SDHCI is introduced and enabled on the IDP to gain eMMC
support. IMEM and PIL information regions are defined for improved post
mortem debugging.

The Qualcomm Robotics RB2 kit gets its on-board buttons described.

A few fixes are introduced for the newly merged SC8180X, in particluar
the DisplayPort blocks are moved to the MMCX power domain to avoid power
being reduced prematurely during boot.

The SC8280XP GPU is added and enabled for the Lenovo Thinkpad X13s,
and resets for the soundwire controllers are added. The OUI is
specified for ethernet phys on SA8540P Ride platform, to avoid reset
issues.

Charger description is added to the PMI8998 PMIC and enabled across
OnePlus 6/6T, SHIFT SHIFT6mq and Xiaomi Pocophone F1.

On SM6350 CPU idle states and UART1 are added. And SM6375 gains GPU
clock controller and IOMMU definitions.

The Fairphone FP4 gains Bluetooth support.

SM8150 is transitioned to use 2 interconnect-cells, and the USB
interconnect path is described to ensure buses are adequately voted for.

The same changes are done for SM8250, and the resolution of the
static framebuffer on Sony Xperia 1 II and 5 II are corrected.

The USB bus paths are also added to SM8350, SM8450 and SM8550.

On SM8550 DisplayPort nodes are added, as is the PWM controller for
driving the notification LED and the RTC is enabled. For the MTP and QRD
boards, the soundcard and audio codecs are defined.

A Tegra change, related to LP855X binding changes, was accidentally
picked up and dropped again later.

A number of DeviceTree fixes identified through validation was
introduced as well. Additionally a few nodes got their default status
changed to avoid unnecessarily having to enable them (e.g. the mdp/dpu
node).

* tag 'qcom-arm64-for-6.5-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (94 commits)
  Revert "arm64: dts: adapt to LP855X bindings changes"
  arm64: dts: qcom: sc8280xp: Enable GPU related nodes
  arm64: dts: qcom: sc8280xp: Add GPU related nodes
  arm64: dts: qcom: msm8939-pm8916: Mark always-on regulators
  arm64: dts: qcom: msm8939: Define regulator constraints next to usage
  arm64: dts: qcom: msm8939-pm8916: Clarify purpose
  arm64: dts: qcom: msm8939: Fix regulator constraints
  arm64: dts: qcom: msm8939-sony-tulip: Allow disabling pm8916_l6
  arm64: dts: qcom: msm8939-sony-tulip: Fix l10-l12 regulator voltages
  arm64: dts: qcom: msm8939: Disable lpass_codec by default
  arm64: dts: qcom: msm8939-pm8916: Add missing pm8916_codec supplies
  arm64: dts: qcom: qrb4210-rb2: Enable on-board buttons
  arm64: dts: qcom: msm8916: Drop msm8916-pins.dtsi
  arm64: dts: qcom: msm8916/39: Rename wcnss pinctrl
  arm64: dts: qcom: msm8916/39: Cleanup audio pinctrl
  arm64: dts: qcom: apq8016-sbc: Drop unneeded MCLK pinctrl
  arm64: dts: qcom: msm8916/39: Consolidate SDC pinctrl
  arm64: dts: qcom: msm8916/39: Fix SD card detect pinctrl
  arm64: dts: qcom: msm8996: rename labels for HDMI nodes
  arm64: dts: qcom: sm8250: rename labels for DSI nodes
  ...

Link: https://lore.kernel.org/r/20230615162043.1461624-1-andersson@kernel.orgSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents af3c6847 c2951581
...@@ -70,6 +70,7 @@ description: | ...@@ -70,6 +70,7 @@ description: |
sdm845 sdm845
sdx55 sdx55
sdx65 sdx65
sdx75
sm4250 sm4250
sm6115 sm6115
sm6115p sm6115p
...@@ -90,9 +91,11 @@ description: | ...@@ -90,9 +91,11 @@ description: |
ap-al02-c6 ap-al02-c6
ap-al02-c7 ap-al02-c7
ap-al02-c8 ap-al02-c8
ap-al02-c9
ap-mi01.2 ap-mi01.2
ap-mi01.3 ap-mi01.3
ap-mi01.6 ap-mi01.6
ap-mi01.9
cdp cdp
cp01-c1 cp01-c1
dragonboard dragonboard
...@@ -196,6 +199,7 @@ properties: ...@@ -196,6 +199,7 @@ properties:
- items: - items:
- enum: - enum:
- qcom,msm8960-cdp - qcom,msm8960-cdp
- samsung,expressatt
- const: qcom,msm8960 - const: qcom,msm8960
- items: - items:
...@@ -340,6 +344,7 @@ properties: ...@@ -340,6 +344,7 @@ properties:
- qcom,ipq5332-ap-mi01.2 - qcom,ipq5332-ap-mi01.2
- qcom,ipq5332-ap-mi01.3 - qcom,ipq5332-ap-mi01.3
- qcom,ipq5332-ap-mi01.6 - qcom,ipq5332-ap-mi01.6
- qcom,ipq5332-ap-mi01.9
- const: qcom,ipq5332 - const: qcom,ipq5332
- items: - items:
...@@ -361,6 +366,7 @@ properties: ...@@ -361,6 +366,7 @@ properties:
- qcom,ipq9574-ap-al02-c6 - qcom,ipq9574-ap-al02-c6
- qcom,ipq9574-ap-al02-c7 - qcom,ipq9574-ap-al02-c7
- qcom,ipq9574-ap-al02-c8 - qcom,ipq9574-ap-al02-c8
- qcom,ipq9574-ap-al02-c9
- const: qcom,ipq9574 - const: qcom,ipq9574
- description: Sierra Wireless MangOH Green with WP8548 Module - description: Sierra Wireless MangOH Green with WP8548 Module
...@@ -828,6 +834,11 @@ properties: ...@@ -828,6 +834,11 @@ properties:
- qcom,sdx65-mtp - qcom,sdx65-mtp
- const: qcom,sdx65 - const: qcom,sdx65
- items:
- enum:
- qcom,sdx75-idp
- const: qcom,sdx75
- items: - items:
- enum: - enum:
- qcom,ipq6018-cp01 - qcom,ipq6018-cp01
...@@ -1056,6 +1067,7 @@ allOf: ...@@ -1056,6 +1067,7 @@ allOf:
- qcom,sdm845 - qcom,sdm845
- qcom,sdx55 - qcom,sdx55
- qcom,sdx65 - qcom,sdx65
- qcom,sdx75
- qcom,sm4250 - qcom,sm4250
- qcom,sm6115 - qcom,sm6115
- qcom,sm6125 - qcom,sm6125
......
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/qcom,sc8280xp-lpasscc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm LPASS Core & Audio Clock Controller on SC8280XP
maintainers:
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
description: |
Qualcomm LPASS core and audio clock control module provides the clocks,
and reset on SC8280XP.
See also::
include/dt-bindings/clock/qcom,lpasscc-sc8280xp.h
properties:
compatible:
enum:
- qcom,sc8280xp-lpassaudiocc
- qcom,sc8280xp-lpasscc
reg:
maxItems: 1
'#clock-cells':
const: 1
'#reset-cells':
const: 1
required:
- compatible
- reg
- '#clock-cells'
- '#reset-cells'
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/qcom,sc8280xp-lpasscc.h>
lpass_audiocc: clock-controller@32a9000 {
compatible = "qcom,sc8280xp-lpassaudiocc";
reg = <0x032a9000 0x1000>;
#clock-cells = <1>;
#reset-cells = <1>;
};
- |
#include <dt-bindings/clock/qcom,sc8280xp-lpasscc.h>
lpasscc: clock-controller@33e0000 {
compatible = "qcom,sc8280xp-lpasscc";
reg = <0x033e0000 0x12000>;
#clock-cells = <1>;
#reset-cells = <1>;
};
...
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/qcom,sdx75-gcc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm Global Clock & Reset Controller on SDX75
maintainers:
- Imran Shaik <quic_imrashai@quicinc.com>
- Taniya Das <quic_tdas@quicinc.com>
description: |
Qualcomm global clock control module provides the clocks, resets and power
domains on SDX75
See also:: include/dt-bindings/clock/qcom,sdx75-gcc.h
properties:
compatible:
const: qcom,sdx75-gcc
clocks:
items:
- description: Board XO source
- description: Sleep clock source
- description: EMAC0 sgmiiphy mac rclk source
- description: EMAC0 sgmiiphy mac tclk source
- description: EMAC0 sgmiiphy rclk source
- description: EMAC0 sgmiiphy tclk source
- description: EMAC1 sgmiiphy mac rclk source
- description: EMAC1 sgmiiphy mac tclk source
- description: EMAC1 sgmiiphy rclk source
- description: EMAC1 sgmiiphy tclk source
- description: PCIE20 phy aux clock source
- description: PCIE_1 Pipe clock source
- description: PCIE_2 Pipe clock source
- description: PCIE Pipe clock source
- description: USB3 phy wrapper pipe clock source
required:
- compatible
- clocks
allOf:
- $ref: qcom,gcc.yaml#
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/clock/qcom,rpmh.h>
clock-controller@80000 {
compatible = "qcom,sdx75-gcc";
reg = <0x80000 0x1f7400>;
clocks = <&rpmhcc RPMH_CXO_CLK>, <&sleep_clk>, <&emac0_sgmiiphy_mac_rclk>,
<&emac0_sgmiiphy_mac_tclk>, <&emac0_sgmiiphy_rclk>, <&emac0_sgmiiphy_tclk>,
<&emac1_sgmiiphy_mac_rclk>, <&emac1_sgmiiphy_mac_tclk>, <&emac1_sgmiiphy_rclk>,
<&emac1_sgmiiphy_tclk>, <&pcie20_phy_aux_clk>, <&pcie_1_pipe_clk>,
<&pcie_2_pipe_clk>, <&pcie_pipe_clk>, <&usb3_phy_wrapper_gcc_usb30_pipe_clk>;
#clock-cells = <1>;
#reset-cells = <1>;
#power-domain-cells = <1>;
};
...
...@@ -4,9 +4,10 @@ dtb-$(CONFIG_ARCH_QCOM) += apq8039-t2.dtb ...@@ -4,9 +4,10 @@ dtb-$(CONFIG_ARCH_QCOM) += apq8039-t2.dtb
dtb-$(CONFIG_ARCH_QCOM) += apq8094-sony-xperia-kitakami-karin_windy.dtb dtb-$(CONFIG_ARCH_QCOM) += apq8094-sony-xperia-kitakami-karin_windy.dtb
dtb-$(CONFIG_ARCH_QCOM) += apq8096-db820c.dtb dtb-$(CONFIG_ARCH_QCOM) += apq8096-db820c.dtb
dtb-$(CONFIG_ARCH_QCOM) += apq8096-ifc6640.dtb dtb-$(CONFIG_ARCH_QCOM) += apq8096-ifc6640.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq5332-mi01.2.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq5332-rdp441.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq5332-rdp442.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq5332-rdp442.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq5332-rdp468.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq5332-rdp468.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq5332-rdp474.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq6018-cp01-c1.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq6018-cp01-c1.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk01.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk01.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk10-c1.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk10-c1.dtb
...@@ -15,6 +16,7 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp418.dtb ...@@ -15,6 +16,7 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp418.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp433.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp433.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp449.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp449.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp453.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp453.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp454.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-acer-a1-724.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-acer-a1-724.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-alcatel-idol347.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-alcatel-idol347.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-asus-z00l.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-asus-z00l.dtb
...@@ -182,6 +184,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sdm845-xiaomi-polaris.dtb ...@@ -182,6 +184,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sdm845-xiaomi-polaris.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm845-shift-axolotl.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm845-shift-axolotl.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm850-lenovo-yoga-c630.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm850-lenovo-yoga-c630.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdm850-samsung-w737.dtb dtb-$(CONFIG_ARCH_QCOM) += sdm850-samsung-w737.dtb
dtb-$(CONFIG_ARCH_QCOM) += sdx75-idp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm4250-oneplus-billie2.dtb dtb-$(CONFIG_ARCH_QCOM) += sm4250-oneplus-billie2.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm6115-fxtec-pro1x.dtb dtb-$(CONFIG_ARCH_QCOM) += sm6115-fxtec-pro1x.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm6115p-lenovo-j606f.dtb dtb-$(CONFIG_ARCH_QCOM) += sm6115p-lenovo-j606f.dtb
......
...@@ -370,18 +370,14 @@ pm8916_l17: l17 { ...@@ -370,18 +370,14 @@ pm8916_l17: l17 {
&sdhc_1 { &sdhc_1 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
}; };
&sdhc_2 { &sdhc_2 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
}; };
...@@ -389,8 +385,8 @@ &sdhc_2 { ...@@ -389,8 +385,8 @@ &sdhc_2 {
&sound { &sound {
status = "okay"; status = "okay";
pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>; pinctrl-0 = <&cdc_pdm_default &sec_mi2s_default>;
pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>; pinctrl-1 = <&cdc_pdm_sleep &sec_mi2s_sleep>;
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
model = "DB410c"; model = "DB410c";
audio-routing = audio-routing =
...@@ -642,6 +638,13 @@ &tlmm { ...@@ -642,6 +638,13 @@ &tlmm {
"USR_LED_2_CTRL", /* GPIO 120 */ "USR_LED_2_CTRL", /* GPIO 120 */
"SB_HS_ID"; "SB_HS_ID";
sdc2_cd_default: sdc2-cd-default-state {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
tlmm_leds: tlmm-leds-state { tlmm_leds: tlmm-leds-state {
pins = "gpio21", "gpio120"; pins = "gpio21", "gpio120";
function = "gpio"; function = "gpio";
......
...@@ -135,6 +135,10 @@ &lpass { ...@@ -135,6 +135,10 @@ &lpass {
status = "okay"; status = "okay";
}; };
&lpass_codec {
status = "okay";
};
&mdss { &mdss {
status = "okay"; status = "okay";
}; };
...@@ -154,108 +158,7 @@ &pm8916_gpios { ...@@ -154,108 +158,7 @@ &pm8916_gpios {
"PM_GPIO4"; "PM_GPIO4";
}; };
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
pm8916_s3: s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
pm8916_s4: s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
/* l1 is fixed to 1225000, but not connected in schematic */
pm8916_l2: l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pm8916_l4: l4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
pm8916_l5: l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8916_l6: l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8916_l7: l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8916_l8: l8 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2900000>;
};
pm8916_l9: l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l10: l10 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l11: l11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
pm8916_l12: l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
pm8916_l13: l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
pm8916_l14: l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l15: l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l16: l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l17: l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
pm8916_l18: l18 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};
&sdhc_1 { &sdhc_1 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_default_state>;
pinctrl-1 = <&sdc1_sleep_state>;
status = "okay"; status = "okay";
}; };
...@@ -263,8 +166,8 @@ &sound { ...@@ -263,8 +166,8 @@ &sound {
model = "apq8039-square-sndcard"; model = "apq8039-square-sndcard";
audio-routing = "AMIC2", "MIC BIAS Internal2"; audio-routing = "AMIC2", "MIC BIAS Internal2";
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&cdc_pdm_lines_default>; pinctrl-0 = <&cdc_pdm_default>;
pinctrl-1 = <&cdc_pdm_lines_sleep>; pinctrl-1 = <&cdc_pdm_sleep>;
internal-codec-playback-dai-link { internal-codec-playback-dai-link {
link-name = "WCD"; link-name = "WCD";
......
...@@ -208,25 +208,6 @@ &gpu { ...@@ -208,25 +208,6 @@ &gpu {
status = "okay"; status = "okay";
}; };
&hdmi {
status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&hdmi_hpd_active &hdmi_ddc_active>;
pinctrl-1 = <&hdmi_hpd_suspend &hdmi_ddc_suspend>;
core-vdda-supply = <&vreg_l12a_1p8>;
core-vcc-supply = <&vreg_s4a_1p8>;
};
&hdmi_phy {
status = "okay";
vddio-supply = <&vreg_l12a_1p8>;
vcca-supply = <&vreg_l28a_0p925>;
#phy-cells = <0>;
};
&hsusb_phy1 { &hsusb_phy1 {
status = "okay"; status = "okay";
...@@ -251,6 +232,25 @@ &mdss { ...@@ -251,6 +232,25 @@ &mdss {
status = "okay"; status = "okay";
}; };
&mdss_hdmi {
status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&mdss_hdmi_hpd_active &mdss_hdmi_ddc_active>;
pinctrl-1 = <&mdss_hdmi_hpd_suspend &mdss_hdmi_ddc_suspend>;
core-vdda-supply = <&vreg_l12a_1p8>;
core-vcc-supply = <&vreg_s4a_1p8>;
};
&mdss_hdmi_phy {
status = "okay";
vddio-supply = <&vreg_l12a_1p8>;
vcca-supply = <&vreg_l28a_0p925>;
#phy-cells = <0>;
};
&mmcc { &mmcc {
vdd-gfx-supply = <&vdd_gfx>; vdd-gfx-supply = <&vdd_gfx>;
}; };
...@@ -433,28 +433,28 @@ sdc2_cd_off: sdc2-cd-off-state { ...@@ -433,28 +433,28 @@ sdc2_cd_off: sdc2-cd-off-state {
drive-strength = <2>; drive-strength = <2>;
}; };
hdmi_hpd_active: hdmi-hpd-active-state { mdss_hdmi_hpd_active: mdss_hdmi-hpd-active-state {
pins = "gpio34"; pins = "gpio34";
function = "hdmi_hot"; function = "hdmi_hot";
bias-pull-down; bias-pull-down;
drive-strength = <16>; drive-strength = <16>;
}; };
hdmi_hpd_suspend: hdmi-hpd-suspend-state { mdss_hdmi_hpd_suspend: mdss_hdmi-hpd-suspend-state {
pins = "gpio34"; pins = "gpio34";
function = "hdmi_hot"; function = "hdmi_hot";
bias-pull-down; bias-pull-down;
drive-strength = <2>; drive-strength = <2>;
}; };
hdmi_ddc_active: hdmi-ddc-active-state { mdss_hdmi_ddc_active: mdss_hdmi-ddc-active-state {
pins = "gpio32", "gpio33"; pins = "gpio32", "gpio33";
function = "hdmi_ddc"; function = "hdmi_ddc";
drive-strength = <2>; drive-strength = <2>;
bias-pull-up; bias-pull-up;
}; };
hdmi_ddc_suspend: hdmi-ddc-suspend-state { mdss_hdmi_ddc_suspend: mdss_hdmi-ddc-suspend-state {
pins = "gpio32", "gpio33"; pins = "gpio32", "gpio33";
function = "hdmi_ddc"; function = "hdmi_ddc";
drive-strength = <2>; drive-strength = <2>;
...@@ -1043,7 +1043,7 @@ cpu { ...@@ -1043,7 +1043,7 @@ cpu {
}; };
}; };
hdmi-dai-link { mdss_hdmi-dai-link {
link-name = "HDMI"; link-name = "HDMI";
cpu { cpu {
sound-dai = <&q6afedai HDMI_RX>; sound-dai = <&q6afedai HDMI_RX>;
...@@ -1054,7 +1054,7 @@ platform { ...@@ -1054,7 +1054,7 @@ platform {
}; };
codec { codec {
sound-dai = <&hdmi 0>; sound-dai = <&mdss_hdmi 0>;
}; };
}; };
......
...@@ -92,15 +92,15 @@ &gpu { ...@@ -92,15 +92,15 @@ &gpu {
status = "okay"; status = "okay";
}; };
&hdmi { &mdss {
status = "okay"; status = "okay";
}; };
&hdmi_phy { &mdss_hdmi {
status = "okay"; status = "okay";
}; };
&mdss { &mdss_hdmi_phy {
status = "okay"; status = "okay";
}; };
......
// SPDX-License-Identifier: BSD-3-Clause
/*
* IPQ5332 RDP474 board device tree source
*
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "ipq5332.dtsi"
/ {
model = "Qualcomm Technologies, Inc. IPQ5332 MI01.9";
compatible = "qcom,ipq5332-ap-mi01.9", "qcom,ipq5332";
aliases {
serial0 = &blsp1_uart0;
};
chosen {
stdout-path = "serial0";
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-0 = <&gpio_keys_default_state>;
pinctrl-names = "default";
button-wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
debounce-interval = <60>;
};
};
};
&blsp1_uart0 {
pinctrl-0 = <&serial_0_pins>;
pinctrl-names = "default";
status = "okay";
};
&blsp1_i2c1 {
clock-frequency = <400000>;
pinctrl-0 = <&i2c_1_pins>;
pinctrl-names = "default";
status = "okay";
};
&sdhc {
bus-width = <4>;
max-frequency = <192000000>;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
non-removable;
pinctrl-0 = <&sdc_default_state>;
pinctrl-names = "default";
status = "okay";
};
&sleep_clk {
clock-frequency = <32000>;
};
&xo_board {
clock-frequency = <24000000>;
};
/* PINCTRL */
&tlmm {
gpio_keys_default_state: gpio-keys-default-state {
pins = "gpio35";
function = "gpio";
drive-strength = <8>;
bias-pull-up;
};
i2c_1_pins: i2c-1-state {
pins = "gpio29", "gpio30";
function = "blsp1_i2c0";
drive-strength = <8>;
bias-pull-up;
};
sdc_default_state: sdc-default-state {
clk-pins {
pins = "gpio13";
function = "sdc_clk";
drive-strength = <8>;
bias-disable;
};
cmd-pins {
pins = "gpio12";
function = "sdc_cmd";
drive-strength = <8>;
bias-pull-up;
};
data-pins {
pins = "gpio8", "gpio9", "gpio10", "gpio11";
function = "sdc_data";
drive-strength = <8>;
bias-pull-up;
};
};
};
...@@ -114,6 +114,16 @@ reserved-memory { ...@@ -114,6 +114,16 @@ reserved-memory {
#size-cells = <2>; #size-cells = <2>;
ranges; ranges;
bootloader@4a100000 {
reg = <0x0 0x4a100000 0x0 0x400000>;
no-map;
};
sbl@4a500000 {
reg = <0x0 0x4a500000 0x0 0x100000>;
no-map;
};
tz_mem: tz@4a600000 { tz_mem: tz@4a600000 {
reg = <0x0 0x4a600000 0x0 0x200000>; reg = <0x0 0x4a600000 0x0 0x200000>;
no-map; no-map;
...@@ -121,7 +131,7 @@ tz_mem: tz@4a600000 { ...@@ -121,7 +131,7 @@ tz_mem: tz@4a600000 {
smem@4a800000 { smem@4a800000 {
compatible = "qcom,smem"; compatible = "qcom,smem";
reg = <0x0 0x4a800000 0x0 0x00100000>; reg = <0x0 0x4a800000 0x0 0x100000>;
no-map; no-map;
hwlocks = <&tcsr_mutex 0>; hwlocks = <&tcsr_mutex 0>;
...@@ -225,6 +235,18 @@ blsp1_uart0: serial@78af000 { ...@@ -225,6 +235,18 @@ blsp1_uart0: serial@78af000 {
status = "disabled"; status = "disabled";
}; };
blsp1_uart1: serial@78b0000 {
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
reg = <0x078b0000 0x200>;
interrupts = <GIC_SPI 291 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
<&gcc GCC_BLSP1_AHB_CLK>;
clock-names = "core", "iface";
dmas = <&blsp_dma 2>, <&blsp_dma 3>;
dma-names = "tx", "rx";
status = "disabled";
};
blsp1_spi0: spi@78b5000 { blsp1_spi0: spi@78b5000 {
compatible = "qcom,spi-qup-v2.2.1"; compatible = "qcom,spi-qup-v2.2.1";
reg = <0x078b5000 0x600>; reg = <0x078b5000 0x600>;
......
...@@ -932,6 +932,14 @@ nss-top-thermal { ...@@ -932,6 +932,14 @@ nss-top-thermal {
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 4>; thermal-sensors = <&tsens 4>;
trips {
nss-top-crit {
temperature = <110000>;
hysteresis = <1000>;
type = "critical";
};
};
}; };
nss0-thermal { nss0-thermal {
...@@ -939,6 +947,14 @@ nss0-thermal { ...@@ -939,6 +947,14 @@ nss0-thermal {
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 5>; thermal-sensors = <&tsens 5>;
trips {
nss-0-crit {
temperature = <110000>;
hysteresis = <1000>;
type = "critical";
};
};
}; };
nss1-thermal { nss1-thermal {
...@@ -946,6 +962,14 @@ nss1-thermal { ...@@ -946,6 +962,14 @@ nss1-thermal {
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 6>; thermal-sensors = <&tsens 6>;
trips {
nss-1-crit {
temperature = <110000>;
hysteresis = <1000>;
type = "critical";
};
};
}; };
wcss-phya0-thermal { wcss-phya0-thermal {
...@@ -953,6 +977,14 @@ wcss-phya0-thermal { ...@@ -953,6 +977,14 @@ wcss-phya0-thermal {
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 7>; thermal-sensors = <&tsens 7>;
trips {
wcss-phya0-crit {
temperature = <110000>;
hysteresis = <1000>;
type = "critical";
};
};
}; };
wcss-phya1-thermal { wcss-phya1-thermal {
...@@ -960,6 +992,14 @@ wcss-phya1-thermal { ...@@ -960,6 +992,14 @@ wcss-phya1-thermal {
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 8>; thermal-sensors = <&tsens 8>;
trips {
wcss-phya1-crit {
temperature = <110000>;
hysteresis = <1000>;
type = "critical";
};
};
}; };
cpu0_thermal: cpu0-thermal { cpu0_thermal: cpu0-thermal {
...@@ -967,6 +1007,14 @@ cpu0_thermal: cpu0-thermal { ...@@ -967,6 +1007,14 @@ cpu0_thermal: cpu0-thermal {
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 9>; thermal-sensors = <&tsens 9>;
trips {
cpu0-crit {
temperature = <110000>;
hysteresis = <1000>;
type = "critical";
};
};
}; };
cpu1_thermal: cpu1-thermal { cpu1_thermal: cpu1-thermal {
...@@ -974,6 +1022,14 @@ cpu1_thermal: cpu1-thermal { ...@@ -974,6 +1022,14 @@ cpu1_thermal: cpu1-thermal {
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 10>; thermal-sensors = <&tsens 10>;
trips {
cpu1-crit {
temperature = <110000>;
hysteresis = <1000>;
type = "critical";
};
};
}; };
cpu2_thermal: cpu2-thermal { cpu2_thermal: cpu2-thermal {
...@@ -981,6 +1037,14 @@ cpu2_thermal: cpu2-thermal { ...@@ -981,6 +1037,14 @@ cpu2_thermal: cpu2-thermal {
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 11>; thermal-sensors = <&tsens 11>;
trips {
cpu2-crit {
temperature = <110000>;
hysteresis = <1000>;
type = "critical";
};
};
}; };
cpu3_thermal: cpu3-thermal { cpu3_thermal: cpu3-thermal {
...@@ -988,6 +1052,14 @@ cpu3_thermal: cpu3-thermal { ...@@ -988,6 +1052,14 @@ cpu3_thermal: cpu3-thermal {
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 12>; thermal-sensors = <&tsens 12>;
trips {
cpu3-crit {
temperature = <110000>;
hysteresis = <1000>;
type = "critical";
};
};
}; };
cluster_thermal: cluster-thermal { cluster_thermal: cluster-thermal {
...@@ -995,6 +1067,14 @@ cluster_thermal: cluster-thermal { ...@@ -995,6 +1067,14 @@ cluster_thermal: cluster-thermal {
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 13>; thermal-sensors = <&tsens 13>;
trips {
cluster-crit {
temperature = <110000>;
hysteresis = <1000>;
type = "critical";
};
};
}; };
wcss-phyb0-thermal { wcss-phyb0-thermal {
...@@ -1002,6 +1082,14 @@ wcss-phyb0-thermal { ...@@ -1002,6 +1082,14 @@ wcss-phyb0-thermal {
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 14>; thermal-sensors = <&tsens 14>;
trips {
wcss-phyb0-crit {
temperature = <110000>;
hysteresis = <1000>;
type = "critical";
};
};
}; };
wcss-phyb1-thermal { wcss-phyb1-thermal {
...@@ -1009,6 +1097,14 @@ wcss-phyb1-thermal { ...@@ -1009,6 +1097,14 @@ wcss-phyb1-thermal {
polling-delay = <1000>; polling-delay = <1000>;
thermal-sensors = <&tsens 15>; thermal-sensors = <&tsens 15>;
trips {
wcss-phyb1-crit {
temperature = <110000>;
hysteresis = <1000>;
type = "critical";
};
};
}; };
}; };
}; };
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
* IPQ9574 RDP454 board device tree source
*
* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*/
/dts-v1/;
#include "ipq9574.dtsi"
/ {
model = "Qualcomm Technologies, Inc. IPQ9574/AP-AL02-C9";
compatible = "qcom,ipq9574-ap-al02-c9", "qcom,ipq9574";
aliases {
serial0 = &blsp1_uart2;
};
chosen {
stdout-path = "serial0:115200n8";
};
};
&blsp1_spi0 {
pinctrl-0 = <&spi_0_pins>;
pinctrl-names = "default";
status = "okay";
flash@0 {
compatible = "micron,n25q128a11", "jedec,spi-nor";
reg = <0>;
#address-cells = <1>;
#size-cells = <1>;
spi-max-frequency = <50000000>;
};
};
&blsp1_uart2 {
pinctrl-0 = <&uart2_pins>;
pinctrl-names = "default";
status = "okay";
};
&rpm_requests {
regulators {
compatible = "qcom,rpm-mp5496-regulators";
ipq9574_s1: s1 {
/*
* During kernel bootup, the SoC runs at 800MHz with 875mV set by the bootloaders.
* During regulator registration, kernel not knowing the initial voltage,
* considers it as zero and brings up the regulators with minimum supported voltage.
* Update the regulator-min-microvolt with SVS voltage of 725mV so that
* the regulators are brought up with 725mV which is sufficient for all the
* corner parts to operate at 800MHz
*/
regulator-min-microvolt = <725000>;
regulator-max-microvolt = <1075000>;
};
};
};
&sleep_clk {
clock-frequency = <32000>;
};
&tlmm {
spi_0_pins: spi-0-state {
pins = "gpio11", "gpio12", "gpio13", "gpio14";
function = "blsp0_spi";
drive-strength = <8>;
bias-disable;
};
};
&xo_board_clk {
clock-frequency = <24000000>;
};
...@@ -155,6 +155,16 @@ reserved-memory { ...@@ -155,6 +155,16 @@ reserved-memory {
#size-cells = <2>; #size-cells = <2>;
ranges; ranges;
bootloader@4a100000 {
reg = <0x0 0x4a100000 0x0 0x400000>;
no-map;
};
sbl@4a500000 {
reg = <0x0 0x4a500000 0x0 0x100000>;
no-map;
};
tz_region: tz@4a600000 { tz_region: tz@4a600000 {
reg = <0x0 0x4a600000 0x0 0x400000>; reg = <0x0 0x4a600000 0x0 0x400000>;
no-map; no-map;
...@@ -162,7 +172,7 @@ tz_region: tz@4a600000 { ...@@ -162,7 +172,7 @@ tz_region: tz@4a600000 {
smem@4aa00000 { smem@4aa00000 {
compatible = "qcom,smem"; compatible = "qcom,smem";
reg = <0x0 0x4aa00000 0x0 0x00100000>; reg = <0x0 0x4aa00000 0x0 0x100000>;
hwlocks = <&tcsr_mutex 0>; hwlocks = <&tcsr_mutex 0>;
no-map; no-map;
}; };
...@@ -205,6 +215,36 @@ qfprom: efuse@a4000 { ...@@ -205,6 +215,36 @@ qfprom: efuse@a4000 {
#size-cells = <1>; #size-cells = <1>;
}; };
cryptobam: dma-controller@704000 {
compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
reg = <0x00704000 0x20000>;
interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>;
#dma-cells = <1>;
qcom,ee = <1>;
qcom,controlled-remotely;
};
crypto: crypto@73a000 {
compatible = "qcom,ipq9574-qce", "qcom,ipq4019-qce", "qcom,qce";
reg = <0x0073a000 0x6000>;
clocks = <&gcc GCC_CRYPTO_AHB_CLK>,
<&gcc GCC_CRYPTO_AXI_CLK>,
<&gcc GCC_CRYPTO_CLK>;
clock-names = "iface", "bus", "core";
dmas = <&cryptobam 2>, <&cryptobam 3>;
dma-names = "rx", "tx";
};
tsens: thermal-sensor@4a9000 {
compatible = "qcom,ipq9574-tsens", "qcom,ipq8074-tsens";
reg = <0x004a9000 0x1000>,
<0x004a8000 0x1000>;
interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "combined";
#qcom,sensors = <16>;
#thermal-sensor-cells = <1>;
};
tlmm: pinctrl@1000000 { tlmm: pinctrl@1000000 {
compatible = "qcom,ipq9574-tlmm"; compatible = "qcom,ipq9574-tlmm";
reg = <0x01000000 0x300000>; reg = <0x01000000 0x300000>;
...@@ -581,6 +621,214 @@ frame@b128000 { ...@@ -581,6 +621,214 @@ frame@b128000 {
}; };
}; };
thermal-zones {
nss-top-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&tsens 3>;
trips {
nss-top-critical {
temperature = <125000>;
hysteresis = <1000>;
type = "critical";
};
};
};
ubi-0-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&tsens 4>;
trips {
ubi_0-critical {
temperature = <125000>;
hysteresis = <1000>;
type = "critical";
};
};
};
ubi-1-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&tsens 5>;
trips {
ubi_1-critical {
temperature = <125000>;
hysteresis = <1000>;
type = "critical";
};
};
};
ubi-2-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&tsens 6>;
trips {
ubi_2-critical {
temperature = <125000>;
hysteresis = <1000>;
type = "critical";
};
};
};
ubi-3-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&tsens 7>;
trips {
ubi_3-critical {
temperature = <125000>;
hysteresis = <1000>;
type = "critical";
};
};
};
cpuss0-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&tsens 8>;
trips {
cpu-critical {
temperature = <125000>;
hysteresis = <1000>;
type = "critical";
};
};
};
cpuss1-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&tsens 9>;
trips {
cpu-critical {
temperature = <125000>;
hysteresis = <1000>;
type = "critical";
};
};
};
cpu0-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&tsens 10>;
trips {
cpu-critical {
temperature = <120000>;
hysteresis = <10000>;
type = "critical";
};
cpu-passive {
temperature = <110000>;
hysteresis = <1000>;
type = "passive";
};
};
};
cpu1-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&tsens 11>;
trips {
cpu-critical {
temperature = <120000>;
hysteresis = <10000>;
type = "critical";
};
cpu-passive {
temperature = <110000>;
hysteresis = <1000>;
type = "passive";
};
};
};
cpu2-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&tsens 12>;
trips {
cpu-critical {
temperature = <120000>;
hysteresis = <10000>;
type = "critical";
};
cpu-passive {
temperature = <110000>;
hysteresis = <1000>;
type = "passive";
};
};
};
cpu3-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&tsens 13>;
trips {
cpu-critical {
temperature = <120000>;
hysteresis = <10000>;
type = "critical";
};
cpu-passive {
temperature = <110000>;
hysteresis = <1000>;
type = "passive";
};
};
};
wcss-phyb-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&tsens 14>;
trips {
wcss_phyb-critical {
temperature = <125000>;
hysteresis = <1000>;
type = "critical";
};
};
};
top-glue-thermal {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&tsens 15>;
trips {
top_glue-critical {
temperature = <125000>;
hysteresis = <1000>;
type = "critical";
};
};
};
};
timer { timer {
compatible = "arm,armv8-timer"; compatible = "arm,armv8-timer";
interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
......
...@@ -133,17 +133,13 @@ &pm8916_vib { ...@@ -133,17 +133,13 @@ &pm8916_vib {
}; };
&sdhc_1 { &sdhc_1 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
status = "okay"; status = "okay";
}; };
&sdhc_2 { &sdhc_2 {
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>; pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>; pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>; cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>;
...@@ -184,6 +180,13 @@ gpio_keys_default: gpio-keys-default-state { ...@@ -184,6 +180,13 @@ gpio_keys_default: gpio-keys-default-state {
bias-pull-up; bias-pull-up;
}; };
sdc2_cd_default: sdc2-cd-default-state {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
touchscreen_default: touchscreen-default-state { touchscreen_default: touchscreen-default-state {
reset-pins { reset-pins {
pins = "gpio12"; pins = "gpio12";
......
...@@ -171,18 +171,14 @@ &pm8916_vib { ...@@ -171,18 +171,14 @@ &pm8916_vib {
&sdhc_1 { &sdhc_1 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
}; };
&sdhc_2 { &sdhc_2 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
}; };
...@@ -276,6 +272,13 @@ proximity_int_default: proximity-int-default-state { ...@@ -276,6 +272,13 @@ proximity_int_default: proximity-int-default-state {
bias-pull-up; bias-pull-up;
}; };
sdc2_cd_default: sdc2-cd-default-state {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
ts_int_reset_default: ts-int-reset-default-state { ts_int_reset_default: ts-int-reset-default-state {
pins = "gpio13", "gpio100"; pins = "gpio13", "gpio100";
function = "gpio"; function = "gpio";
......
...@@ -139,10 +139,6 @@ pm8916_l17: l17 { ...@@ -139,10 +139,6 @@ pm8916_l17: l17 {
&sdhc_1 { &sdhc_1 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
}; };
&sdhc_2 { &sdhc_2 {
...@@ -150,8 +146,8 @@ &sdhc_2 { ...@@ -150,8 +146,8 @@ &sdhc_2 {
vmmc-supply = <&reg_sd_vmmc>; vmmc-supply = <&reg_sd_vmmc>;
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
}; };
...@@ -205,6 +201,13 @@ sd_vmmc_en_default: sd-vmmc-en-default-state { ...@@ -205,6 +201,13 @@ sd_vmmc_en_default: sd-vmmc-en-default-state {
bias-disable; bias-disable;
}; };
sdc2_cd_default: sdc2-cd-default-state {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
touchscreen_default: touchscreen-default-state { touchscreen_default: touchscreen-default-state {
touch-pins { touch-pins {
pins = "gpio13"; pins = "gpio13";
......
...@@ -128,16 +128,12 @@ &pm8916_vib { ...@@ -128,16 +128,12 @@ &pm8916_vib {
}; };
&sdhc_1 { &sdhc_1 {
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
pinctrl-names = "default", "sleep";
status = "okay"; status = "okay";
}; };
&sdhc_2 { &sdhc_2 {
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>; pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>; pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
...@@ -184,6 +180,13 @@ gpio_leds_default: gpio-led-default-state { ...@@ -184,6 +180,13 @@ gpio_leds_default: gpio-led-default-state {
bias-disable; bias-disable;
}; };
sdc2_cd_default: sdc2-cd-default-state {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
touchscreen_default: touchscreen-default-state { touchscreen_default: touchscreen-default-state {
reset-pins { reset-pins {
pins = "gpio12"; pins = "gpio12";
......
...@@ -260,18 +260,14 @@ &pm8916_vib { ...@@ -260,18 +260,14 @@ &pm8916_vib {
&sdhc_1 { &sdhc_1 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
}; };
&sdhc_2 { &sdhc_2 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdhc2_cd_default>; pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdhc2_cd_default>; pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
/* /*
* The Huawei device tree sets cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>. * The Huawei device tree sets cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>.
...@@ -299,8 +295,8 @@ &sound { ...@@ -299,8 +295,8 @@ &sound {
"AMIC3", "MIC BIAS External1"; "AMIC3", "MIC BIAS External1";
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&cdc_pdm_lines_act>; pinctrl-0 = <&cdc_pdm_default>;
pinctrl-1 = <&cdc_pdm_lines_sus>; pinctrl-1 = <&cdc_pdm_sleep>;
primary-dai-link { primary-dai-link {
link-name = "WCD"; link-name = "WCD";
...@@ -397,7 +393,7 @@ reg_lcd_en_default: reg-lcd-en-default-state { ...@@ -397,7 +393,7 @@ reg_lcd_en_default: reg-lcd-en-default-state {
bias-disable; bias-disable;
}; };
sdhc2_cd_default: sdhc2-cd-default-state { sdc2_cd_default: sdc2-cd-default-state {
pins = "gpio56"; pins = "gpio56";
function = "gpio"; function = "gpio";
......
...@@ -242,19 +242,10 @@ &pm8916_vib { ...@@ -242,19 +242,10 @@ &pm8916_vib {
&sdhc_1 { &sdhc_1 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
}; };
&sdhc_2 { &sdhc_2 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>;
non-removable; non-removable;
}; };
......
...@@ -125,18 +125,14 @@ &pm8916_vib { ...@@ -125,18 +125,14 @@ &pm8916_vib {
&sdhc_1 { &sdhc_1 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
}; };
&sdhc_2 { &sdhc_2 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
}; };
...@@ -190,6 +186,13 @@ mag_reset_default: mag-reset-default-state { ...@@ -190,6 +186,13 @@ mag_reset_default: mag-reset-default-state {
bias-disable; bias-disable;
}; };
sdc2_cd_default: sdc2-cd-default-state {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
usb_id_default: usb-id-default-state { usb_id_default: usb-id-default-state {
pins = "gpio110"; pins = "gpio110";
function = "gpio"; function = "gpio";
......
This diff is collapsed.
...@@ -263,18 +263,14 @@ pm8916_l17: l17 { ...@@ -263,18 +263,14 @@ pm8916_l17: l17 {
&sdhc_1 { &sdhc_1 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
}; };
&sdhc_2 { &sdhc_2 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
}; };
...@@ -391,6 +387,13 @@ nfc_i2c_default: nfc-i2c-default-state { ...@@ -391,6 +387,13 @@ nfc_i2c_default: nfc-i2c-default-state {
bias-disable; bias-disable;
}; };
sdc2_cd_default: sdc2-cd-default-state {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
tkey_default: tkey-default-state { tkey_default: tkey-default-state {
pins = "gpio98"; pins = "gpio98";
function = "gpio"; function = "gpio";
......
...@@ -135,16 +135,12 @@ &pm8916_usbin { ...@@ -135,16 +135,12 @@ &pm8916_usbin {
}; };
&sdhc_1 { &sdhc_1 {
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
pinctrl-names = "default", "sleep";
status = "okay"; status = "okay";
}; };
&sdhc_2 { &sdhc_2 {
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
...@@ -199,4 +195,11 @@ gpio_hall_sensor_default: gpio-hall-sensor-default-state { ...@@ -199,4 +195,11 @@ gpio_hall_sensor_default: gpio-hall-sensor-default-state {
drive-strength = <2>; drive-strength = <2>;
bias-disable; bias-disable;
}; };
sdc2_cd_default: sdc2-cd-default-state {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
}; };
...@@ -97,18 +97,14 @@ &pm8916_resin { ...@@ -97,18 +97,14 @@ &pm8916_resin {
&sdhc_1 { &sdhc_1 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
}; };
&sdhc_2 { &sdhc_2 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
}; };
...@@ -162,4 +158,11 @@ muic_int_default: muic-int-default-state { ...@@ -162,4 +158,11 @@ muic_int_default: muic-int-default-state {
drive-strength = <2>; drive-strength = <2>;
bias-disable; bias-disable;
}; };
sdc2_cd_default: sdc2-cd-default-state {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
}; };
...@@ -276,19 +276,10 @@ &pm8916_vib { ...@@ -276,19 +276,10 @@ &pm8916_vib {
&sdhc_1 { &sdhc_1 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
}; };
&sdhc_2 { &sdhc_2 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>;
non-removable; non-removable;
/* /*
......
...@@ -101,10 +101,6 @@ &pm8916_usbin { ...@@ -101,10 +101,6 @@ &pm8916_usbin {
}; };
&sdhc_1 { &sdhc_1 {
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
pinctrl-names = "default", "sleep";
status = "okay"; status = "okay";
}; };
......
...@@ -173,19 +173,10 @@ &pm8916_vib { ...@@ -173,19 +173,10 @@ &pm8916_vib {
&sdhc_1 { &sdhc_1 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
}; };
&sdhc_2 { &sdhc_2 {
status = "okay"; status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>;
non-removable; non-removable;
}; };
......
This diff is collapsed.
// SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only
/*
* msm8939-pm8916.dtsi describes common properties (e.g. regulator connections)
* that apply to most devices that make use of the MSM8939 SoC and PM8916 PMIC.
* Many regulators have a fixed purpose in the original reference design and
* were rarely re-used for different purposes. Devices that deviate from the
* typical reference design should not make use of this include and instead add
* the necessary properties in the board-specific device tree.
*/
#include "msm8939.dtsi" #include "msm8939.dtsi"
#include "pm8916.dtsi" #include "pm8916.dtsi"
...@@ -25,33 +33,104 @@ &mpss { ...@@ -25,33 +33,104 @@ &mpss {
pll-supply = <&pm8916_l7>; pll-supply = <&pm8916_l7>;
}; };
&pm8916_codec {
vdd-cdc-io-supply = <&pm8916_l5>;
vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>;
vdd-micbias-supply = <&pm8916_l13>;
};
&rpm_requests { &rpm_requests {
smd_rpm_regulators: regulators { pm8916_rpm_regulators: regulators {
compatible = "qcom,rpm-pm8916-regulators"; compatible = "qcom,rpm-pm8916-regulators";
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
/* pm8916_s1 is managed by rpmpd (MSM8939_VDDMDCX) */ /* pm8916_s1 is managed by rpmpd (MSM8939_VDDMDCX) */
/* pm8916_s2 is managed by rpmpd (MSM8939_VDDCX) */ /* pm8916_s2 is managed by rpmpd (MSM8939_VDDCX) */
pm8916_s3: s3 {}; pm8916_s3: s3 {
pm8916_s4: s4 {}; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1350000>;
regulator-always-on; /* Needed for L2 */
};
pm8916_s4: s4 {
regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <2150000>;
regulator-always-on; /* Needed for L5/L7 */
};
/*
* Some of the regulators are unused or managed by another
* processor (e.g. the modem). We should still define nodes for
* them to ensure the vote from the application processor can be
* dropped in case the regulators are already on during boot.
*
* The labels for these nodes are omitted on purpose because
* boards should configure a proper voltage before using them.
*/
l1 {};
pm8916_l2: l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on; /* Needed for LPDDR RAM */
};
pm8916_l1: l1 {};
pm8916_l2: l2 {};
/* pm8916_l3 is managed by rpmpd (MSM8939_VDDMX) */ /* pm8916_l3 is managed by rpmpd (MSM8939_VDDMX) */
pm8916_l4: l4 {};
pm8916_l5: l5 {}; l4 {};
pm8916_l6: l6 {};
pm8916_l7: l7 {}; pm8916_l5: l5 {
pm8916_l8: l8 {}; regulator-min-microvolt = <1800000>;
pm8916_l9: l9 {}; regulator-max-microvolt = <1800000>;
pm8916_l10: l10 {}; regulator-always-on; /* Needed for most digital I/O */
pm8916_l11: l11 {}; };
pm8916_l12: l12 {};
pm8916_l13: l13 {}; pm8916_l6: l6 {
pm8916_l14: l14 {}; regulator-min-microvolt = <1800000>;
pm8916_l15: l15 {}; regulator-max-microvolt = <1800000>;
pm8916_l16: l16 {}; };
pm8916_l17: l17 {};
pm8916_l18: l18 {}; pm8916_l7: l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on; /* Needed for CPU PLL */
};
pm8916_l8: l8 {
regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};
pm8916_l9: l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
l10 {};
pm8916_l11: l11 {
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
regulator-allow-set-load;
regulator-system-load = <200000>;
};
pm8916_l12: l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2950000>;
};
pm8916_l13: l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
l14 {};
l15 {};
l16 {};
l17 {};
l18 {};
}; };
}; };
......
...@@ -43,6 +43,13 @@ &mdss { ...@@ -43,6 +43,13 @@ &mdss {
}; };
&tlmm { &tlmm {
sdc2_cd_default: sdc2-cd-default-state {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
usb_id_default: usb-id-default-state { usb_id_default: usb-id-default-state {
pins = "gpio110"; pins = "gpio110";
function = "gpio"; function = "gpio";
...@@ -51,115 +58,13 @@ usb_id_default: usb-id-default-state { ...@@ -51,115 +58,13 @@ usb_id_default: usb-id-default-state {
}; };
}; };
&smd_rpm_regulators {
vdd_l1_l2_l3-supply = <&pm8916_s3>;
vdd_l4_l5_l6-supply = <&pm8916_s4>;
vdd_l7-supply = <&pm8916_s4>;
pm8916_s3: s3 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1300000>;
};
pm8916_s4: s4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2100000>;
};
pm8916_l2: l2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pm8916_l4: l4 {
regulator-min-microvolt = <2050000>;
regulator-max-microvolt = <2050000>;
};
pm8916_l5: l5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8916_l6: l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
pm8916_l7: l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
pm8916_l8: l8 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2900000>;
};
pm8916_l9: l9 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l10: l10 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l11: l11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-system-load = <200000>;
regulator-allow-set-load;
};
pm8916_l12: l12 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l13: l13 {
regulator-min-microvolt = <3075000>;
regulator-max-microvolt = <3075000>;
};
pm8916_l14: l14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l15: l15 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l16: l16 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
pm8916_l17: l17 {
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
};
pm8916_l18: l18 {
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2700000>;
};
};
&sdhc_1 { &sdhc_1 {
pinctrl-0 = <&sdc1_default_state>;
pinctrl-1 = <&sdc1_sleep_state>;
pinctrl-names = "default", "sleep";
status = "okay"; status = "okay";
}; };
&sdhc_2 { &sdhc_2 {
pinctrl-0 = <&sdc2_default_state>; pinctrl-0 = <&sdc2_default &sdc2_cd_default>;
pinctrl-1 = <&sdc2_sleep_state>; pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>;
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>; cd-gpios = <&tlmm 38 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
......
...@@ -969,23 +969,7 @@ cci0_default: cci0-default-state { ...@@ -969,23 +969,7 @@ cci0_default: cci0-default-state {
bias-disable; bias-disable;
}; };
cdc_pdm_lines_default: pdm-lines-default-state { cdc_dmic_default: cdc-dmic-default-state {
pins = "gpio63", "gpio64", "gpio65", "gpio66",
"gpio67", "gpio68";
function = "cdc_pdm0";
drive-strength = <8>;
bias-disable;
};
cdc_pdm_lines_sleep: pdm-lines-suspend-state {
pins = "gpio63", "gpio64", "gpio65", "gpio66",
"gpio67", "gpio68";
function = "cdc_pdm0";
drive-strength = <2>;
bias-pull-down;
};
cdc_dmic_lines_act: cdc-dmic-lines-on-state {
clk-pins { clk-pins {
pins = "gpio0"; pins = "gpio0";
function = "dmic0_clk"; function = "dmic0_clk";
...@@ -999,7 +983,7 @@ data-pins { ...@@ -999,7 +983,7 @@ data-pins {
}; };
}; };
cdc_dmic_lines_sus: cdc-dmic-lines-off-state { cdc_dmic_sleep: cdc-dmic-sleep-state {
clk-pins { clk-pins {
pins = "gpio0"; pins = "gpio0";
function = "dmic0_clk"; function = "dmic0_clk";
...@@ -1015,72 +999,79 @@ data-pins { ...@@ -1015,72 +999,79 @@ data-pins {
}; };
}; };
ext-mclk-tlmm-lines-state { cdc_pdm_default: cdc-pdm-default-state {
ext_mclk_tlmm_lines_act: mclk-lines-on-pins { pins = "gpio63", "gpio64", "gpio65", "gpio66",
pins = "gpio116"; "gpio67", "gpio68";
function = "pri_mi2s"; function = "cdc_pdm0";
drive-strength = <8>; drive-strength = <8>;
bias-disable; bias-disable;
}; };
ext_mclk_tlmm_lines_sus: mclk-lines-off-pins { cdc_pdm_sleep: cdc-pdm-sleep-state {
pins = "gpio116"; pins = "gpio63", "gpio64", "gpio65", "gpio66",
function = "pri_mi2s"; "gpio67", "gpio68";
drive-strength = <2>; function = "cdc_pdm0";
bias-disable; drive-strength = <2>;
}; bias-pull-down;
}; };
ext-pri-tlmm-lines-state { pri_mi2s_default: mi2s-pri-default-state {
ext_pri_tlmm_lines_act: ext-pa-on-pins { pins = "gpio113", "gpio114", "gpio115", "gpio116";
pins = "gpio113", "gpio114", "gpio115", "gpio116"; function = "pri_mi2s";
function = "pri_mi2s"; drive-strength = <8>;
drive-strength = <8>; bias-disable;
bias-disable; };
};
ext_pri_tlmm_lines_sus: ext-pa-off-pins { pri_mi2s_sleep: mi2s-pri-sleep-state {
pins = "gpio113", "gpio114", "gpio115", "gpio116"; pins = "gpio113", "gpio114", "gpio115", "gpio116";
function = "pri_mi2s"; function = "pri_mi2s";
drive-strength = <2>; drive-strength = <2>;
bias-disable; bias-disable;
};
}; };
ext-pri-ws-line-state { pri_mi2s_mclk_default: mi2s-pri-mclk-default-state {
ext_pri_ws_act: ext-pa-on-pins { pins = "gpio116";
pins = "gpio110"; function = "pri_mi2s";
function = "pri_mi2s_ws"; drive-strength = <8>;
drive-strength = <8>; bias-disable;
bias-disable; };
};
ext_pri_ws_sus: ext-pa-off-pins { pri_mi2s_mclk_sleep: mi2s-pri-mclk-sleep-state {
pins = "gpio110"; pins = "gpio116";
function = "pri_mi2s_ws"; function = "pri_mi2s";
drive-strength = <2>; drive-strength = <2>;
bias-disable; bias-disable;
};
}; };
/* secondary Mi2S */ pri_mi2s_ws_default: mi2s-pri-ws-default-state {
ext-sec-tlmm-lines-state { pins = "gpio110";
ext_sec_tlmm_lines_act: tlmm-lines-on-pins { function = "pri_mi2s_ws";
pins = "gpio112", "gpio117", "gpio118", "gpio119"; drive-strength = <8>;
function = "sec_mi2s"; bias-disable;
drive-strength = <8>; };
bias-disable;
};
ext_sec_tlmm_lines_sus: tlmm-lines-off-pins { pri_mi2s_ws_sleep: mi2s-pri-ws-sleep-state {
pins = "gpio112", "gpio117", "gpio118", "gpio119"; pins = "gpio110";
function = "sec_mi2s"; function = "pri_mi2s_ws";
drive-strength = <2>; drive-strength = <2>;
bias-disable; bias-disable;
};
}; };
sdc1_default_state: sdc1-default-state { sec_mi2s_default: mi2s-sec-default-state {
pins = "gpio112", "gpio117", "gpio118", "gpio119";
function = "sec_mi2s";
drive-strength = <8>;
bias-disable;
};
sec_mi2s_sleep: mi2s-sec-sleep-state {
pins = "gpio112", "gpio117", "gpio118", "gpio119";
function = "sec_mi2s";
drive-strength = <2>;
bias-disable;
};
sdc1_default: sdc1-default-state {
clk-pins { clk-pins {
pins = "sdc1_clk"; pins = "sdc1_clk";
bias-disable; bias-disable;
...@@ -1100,7 +1091,7 @@ data-pins { ...@@ -1100,7 +1091,7 @@ data-pins {
}; };
}; };
sdc1_sleep_state: sdc1-sleep-state { sdc1_sleep: sdc1-sleep-state {
clk-pins { clk-pins {
pins = "sdc1_clk"; pins = "sdc1_clk";
bias-disable; bias-disable;
...@@ -1120,7 +1111,7 @@ data-pins { ...@@ -1120,7 +1111,7 @@ data-pins {
}; };
}; };
sdc2_default_state: sdc2-default-state { sdc2_default: sdc2-default-state {
clk-pins { clk-pins {
pins = "sdc2_clk"; pins = "sdc2_clk";
bias-disable; bias-disable;
...@@ -1138,16 +1129,9 @@ data-pins { ...@@ -1138,16 +1129,9 @@ data-pins {
bias-pull-up; bias-pull-up;
drive-strength = <10>; drive-strength = <10>;
}; };
cd-pins {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
}; };
sdc2_sleep_state: sdc2-sleep-state { sdc2_sleep: sdc2-sleep-state {
clk-pins { clk-pins {
pins = "sdc2_clk"; pins = "sdc2_clk";
bias-disable; bias-disable;
...@@ -1165,16 +1149,9 @@ data-pins { ...@@ -1165,16 +1149,9 @@ data-pins {
bias-pull-up; bias-pull-up;
drive-strength = <2>; drive-strength = <2>;
}; };
cd-pins {
pins = "gpio38";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
}; };
wcnss_pin_a: wcnss-active-state { wcss_wlan_default: wcss-wlan-default-state {
pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44"; pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44";
function = "wcss_wlan"; function = "wcss_wlan";
drive-strength = <6>; drive-strength = <6>;
...@@ -1631,6 +1608,7 @@ lpass_codec: audio-codec@771c000 { ...@@ -1631,6 +1608,7 @@ lpass_codec: audio-codec@771c000 {
<&gcc GCC_CODEC_DIGCODEC_CLK>; <&gcc GCC_CODEC_DIGCODEC_CLK>;
clock-names = "ahbix-clk", "mclk"; clock-names = "ahbix-clk", "mclk";
#sound-dai-cells = <1>; #sound-dai-cells = <1>;
status = "disabled";
}; };
sdhc_1: mmc@7824900 { sdhc_1: mmc@7824900 {
...@@ -1646,6 +1624,9 @@ sdhc_1: mmc@7824900 { ...@@ -1646,6 +1624,9 @@ sdhc_1: mmc@7824900 {
<&rpmcc RPM_SMD_XO_CLK_SRC>; <&rpmcc RPM_SMD_XO_CLK_SRC>;
clock-names = "iface", "core", "xo"; clock-names = "iface", "core", "xo";
resets = <&gcc GCC_SDCC1_BCR>; resets = <&gcc GCC_SDCC1_BCR>;
pinctrl-0 = <&sdc1_default>;
pinctrl-1 = <&sdc1_sleep>;
pinctrl-names = "default", "sleep";
mmc-ddr-1_8v; mmc-ddr-1_8v;
bus-width = <8>; bus-width = <8>;
non-removable; non-removable;
...@@ -1665,6 +1646,9 @@ sdhc_2: mmc@7864900 { ...@@ -1665,6 +1646,9 @@ sdhc_2: mmc@7864900 {
<&rpmcc RPM_SMD_XO_CLK_SRC>; <&rpmcc RPM_SMD_XO_CLK_SRC>;
clock-names = "iface", "core", "xo"; clock-names = "iface", "core", "xo";
resets = <&gcc GCC_SDCC2_BCR>; resets = <&gcc GCC_SDCC2_BCR>;
pinctrl-0 = <&sdc2_default>;
pinctrl-1 = <&sdc2_sleep>;
pinctrl-names = "default", "sleep";
bus-width = <4>; bus-width = <4>;
status = "disabled"; status = "disabled";
}; };
...@@ -1980,7 +1964,7 @@ wcnss: remoteproc@a204000 { ...@@ -1980,7 +1964,7 @@ wcnss: remoteproc@a204000 {
qcom,smem-state-names = "stop"; qcom,smem-state-names = "stop";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&wcnss_pin_a>; pinctrl-0 = <&wcss_wlan_default>;
status = "disabled"; status = "disabled";
......
...@@ -764,10 +764,10 @@ gcc: clock-controller@1800000 { ...@@ -764,10 +764,10 @@ gcc: clock-controller@1800000 {
#power-domain-cells = <1>; #power-domain-cells = <1>;
clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
<&sleep_clk>, <&sleep_clk>,
<&dsi0_phy 1>, <&mdss_dsi0_phy 1>,
<&dsi0_phy 0>, <&mdss_dsi0_phy 0>,
<&dsi1_phy 1>, <&mdss_dsi1_phy 1>,
<&dsi1_phy 0>; <&mdss_dsi1_phy 0>;
clock-names = "xo", clock-names = "xo",
"sleep", "sleep",
"dsi0pll", "dsi0pll",
...@@ -849,20 +849,20 @@ ports { ...@@ -849,20 +849,20 @@ ports {
port@0 { port@0 {
reg = <0>; reg = <0>;
mdp5_intf1_out: endpoint { mdp5_intf1_out: endpoint {
remote-endpoint = <&dsi0_in>; remote-endpoint = <&mdss_dsi0_in>;
}; };
}; };
port@1 { port@1 {
reg = <1>; reg = <1>;
mdp5_intf2_out: endpoint { mdp5_intf2_out: endpoint {
remote-endpoint = <&dsi1_in>; remote-endpoint = <&mdss_dsi1_in>;
}; };
}; };
}; };
}; };
dsi0: dsi@1a94000 { mdss_dsi0: dsi@1a94000 {
compatible = "qcom,msm8953-dsi-ctrl", "qcom,mdss-dsi-ctrl"; compatible = "qcom,msm8953-dsi-ctrl", "qcom,mdss-dsi-ctrl";
reg = <0x01a94000 0x400>; reg = <0x01a94000 0x400>;
reg-names = "dsi_ctrl"; reg-names = "dsi_ctrl";
...@@ -872,8 +872,8 @@ dsi0: dsi@1a94000 { ...@@ -872,8 +872,8 @@ dsi0: dsi@1a94000 {
assigned-clocks = <&gcc BYTE0_CLK_SRC>, assigned-clocks = <&gcc BYTE0_CLK_SRC>,
<&gcc PCLK0_CLK_SRC>; <&gcc PCLK0_CLK_SRC>;
assigned-clock-parents = <&dsi0_phy 0>, assigned-clock-parents = <&mdss_dsi0_phy 0>,
<&dsi0_phy 1>; <&mdss_dsi0_phy 1>;
clocks = <&gcc GCC_MDSS_MDP_CLK>, clocks = <&gcc GCC_MDSS_MDP_CLK>,
<&gcc GCC_MDSS_AHB_CLK>, <&gcc GCC_MDSS_AHB_CLK>,
...@@ -888,7 +888,7 @@ dsi0: dsi@1a94000 { ...@@ -888,7 +888,7 @@ dsi0: dsi@1a94000 {
"pixel", "pixel",
"core"; "core";
phys = <&dsi0_phy>; phys = <&mdss_dsi0_phy>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
...@@ -901,20 +901,20 @@ ports { ...@@ -901,20 +901,20 @@ ports {
port@0 { port@0 {
reg = <0>; reg = <0>;
dsi0_in: endpoint { mdss_dsi0_in: endpoint {
remote-endpoint = <&mdp5_intf1_out>; remote-endpoint = <&mdp5_intf1_out>;
}; };
}; };
port@1 { port@1 {
reg = <1>; reg = <1>;
dsi0_out: endpoint { mdss_dsi0_out: endpoint {
}; };
}; };
}; };
}; };
dsi0_phy: phy@1a94400 { mdss_dsi0_phy: phy@1a94400 {
compatible = "qcom,dsi-phy-14nm-8953"; compatible = "qcom,dsi-phy-14nm-8953";
reg = <0x01a94400 0x100>, reg = <0x01a94400 0x100>,
<0x01a94500 0x300>, <0x01a94500 0x300>,
...@@ -932,7 +932,7 @@ dsi0_phy: phy@1a94400 { ...@@ -932,7 +932,7 @@ dsi0_phy: phy@1a94400 {
status = "disabled"; status = "disabled";
}; };
dsi1: dsi@1a96000 { mdss_dsi1: dsi@1a96000 {
compatible = "qcom,msm8953-dsi-ctrl", "qcom,mdss-dsi-ctrl"; compatible = "qcom,msm8953-dsi-ctrl", "qcom,mdss-dsi-ctrl";
reg = <0x01a96000 0x400>; reg = <0x01a96000 0x400>;
reg-names = "dsi_ctrl"; reg-names = "dsi_ctrl";
...@@ -942,8 +942,8 @@ dsi1: dsi@1a96000 { ...@@ -942,8 +942,8 @@ dsi1: dsi@1a96000 {
assigned-clocks = <&gcc BYTE1_CLK_SRC>, assigned-clocks = <&gcc BYTE1_CLK_SRC>,
<&gcc PCLK1_CLK_SRC>; <&gcc PCLK1_CLK_SRC>;
assigned-clock-parents = <&dsi1_phy 0>, assigned-clock-parents = <&mdss_dsi1_phy 0>,
<&dsi1_phy 1>; <&mdss_dsi1_phy 1>;
clocks = <&gcc GCC_MDSS_MDP_CLK>, clocks = <&gcc GCC_MDSS_MDP_CLK>,
<&gcc GCC_MDSS_AHB_CLK>, <&gcc GCC_MDSS_AHB_CLK>,
...@@ -958,7 +958,7 @@ dsi1: dsi@1a96000 { ...@@ -958,7 +958,7 @@ dsi1: dsi@1a96000 {
"pixel", "pixel",
"core"; "core";
phys = <&dsi1_phy>; phys = <&mdss_dsi1_phy>;
status = "disabled"; status = "disabled";
...@@ -968,20 +968,20 @@ ports { ...@@ -968,20 +968,20 @@ ports {
port@0 { port@0 {
reg = <0>; reg = <0>;
dsi1_in: endpoint { mdss_dsi1_in: endpoint {
remote-endpoint = <&mdp5_intf2_out>; remote-endpoint = <&mdp5_intf2_out>;
}; };
}; };
port@1 { port@1 {
reg = <1>; reg = <1>;
dsi1_out: endpoint { mdss_dsi1_out: endpoint {
}; };
}; };
}; };
}; };
dsi1_phy: phy@1a96400 { mdss_dsi1_phy: phy@1a96400 {
compatible = "qcom,dsi-phy-14nm-8953"; compatible = "qcom,dsi-phy-14nm-8953";
reg = <0x01a96400 0x100>, reg = <0x01a96400 0x100>,
<0x01a96500 0x300>, <0x01a96500 0x300>,
......
...@@ -24,10 +24,10 @@ &blsp2_uart2 { ...@@ -24,10 +24,10 @@ &blsp2_uart2 {
status = "okay"; status = "okay";
}; };
&hdmi { &mdss_hdmi {
status = "okay"; status = "okay";
}; };
&hdmi_phy { &mdss_hdmi_phy {
status = "okay"; status = "okay";
}; };
...@@ -164,21 +164,6 @@ &camss { ...@@ -164,21 +164,6 @@ &camss {
vdda-supply = <&vreg_l2a_1p25>; vdda-supply = <&vreg_l2a_1p25>;
}; };
&dsi0 {
vdda-supply = <&vreg_l2a_1p25>;
vcca-supply = <&vreg_l22a_3p0>;
status = "okay";
};
&dsi0_out {
data-lanes = <0 1 2 3>;
};
&dsi0_phy {
vcca-supply = <&vreg_l28a_0p925>;
status = "okay";
};
&hsusb_phy1 { &hsusb_phy1 {
vdd-supply = <&vreg_l28a_0p925>; vdd-supply = <&vreg_l28a_0p925>;
vdda-pll-supply = <&vreg_l12a_1p8>; vdda-pll-supply = <&vreg_l12a_1p8>;
...@@ -201,6 +186,21 @@ &mdss { ...@@ -201,6 +186,21 @@ &mdss {
status = "okay"; status = "okay";
}; };
&mdss_dsi0 {
vdda-supply = <&vreg_l2a_1p25>;
vcca-supply = <&vreg_l22a_3p0>;
status = "okay";
};
&mdss_dsi0_out {
data-lanes = <0 1 2 3>;
};
&mdss_dsi0_phy {
vcca-supply = <&vreg_l28a_0p925>;
status = "okay";
};
&mmcc { &mmcc {
vdd-gfx-supply = <&vdd_gfx>; vdd-gfx-supply = <&vdd_gfx>;
}; };
......
...@@ -235,7 +235,15 @@ bluetooth: bluetooth { ...@@ -235,7 +235,15 @@ bluetooth: bluetooth {
}; };
}; };
&dsi0 { &gpu {
status = "okay";
};
&mdss {
status = "okay";
};
&mdss_dsi0 {
status = "okay"; status = "okay";
vdd-supply = <&vreg_l2a_1p25>; vdd-supply = <&vreg_l2a_1p25>;
...@@ -246,26 +254,18 @@ &dsi0 { ...@@ -246,26 +254,18 @@ &dsi0 {
pinctrl-1 = <&mdss_dsi_sleep &mdss_te_sleep>; pinctrl-1 = <&mdss_dsi_sleep &mdss_te_sleep>;
}; };
&dsi0_out { &mdss_dsi0_out {
status = "okay"; status = "okay";
data-lanes = <0 1 2 3>; data-lanes = <0 1 2 3>;
}; };
&dsi0_phy { &mdss_dsi0_phy {
status = "okay"; status = "okay";
vcca-supply = <&vreg_l28a_0p925>; vcca-supply = <&vreg_l28a_0p925>;
}; };
&gpu {
status = "okay";
};
&mdss {
status = "okay";
};
&mmcc { &mmcc {
vdd-gfx-supply = <&vdd_gfx>; vdd-gfx-supply = <&vdd_gfx>;
}; };
......
...@@ -93,7 +93,13 @@ synaptics@20 { ...@@ -93,7 +93,13 @@ synaptics@20 {
}; };
&dsi0 { &gpu {
zap-shader {
firmware-name = "qcom/msm8996/gemini/a530_zap.mbn";
};
};
&mdss_dsi0 {
status = "okay"; status = "okay";
vdd-supply = <&vreg_l2a_1p25>; vdd-supply = <&vreg_l2a_1p25>;
...@@ -112,22 +118,16 @@ panel: panel@0 { ...@@ -112,22 +118,16 @@ panel: panel@0 {
port { port {
panel_in: endpoint { panel_in: endpoint {
remote-endpoint = <&dsi0_out>; remote-endpoint = <&mdss_dsi0_out>;
}; };
}; };
}; };
}; };
&dsi0_out { &mdss_dsi0_out {
remote-endpoint = <&panel_in>; remote-endpoint = <&panel_in>;
}; };
&gpu {
zap-shader {
firmware-name = "qcom/msm8996/gemini/a530_zap.mbn";
};
};
&pmi8994_wled { &pmi8994_wled {
status = "okay"; status = "okay";
}; };
......
...@@ -889,11 +889,11 @@ mmcc: clock-controller@8c0000 { ...@@ -889,11 +889,11 @@ mmcc: clock-controller@8c0000 {
clocks = <&xo_board>, clocks = <&xo_board>,
<&gcc GPLL0>, <&gcc GPLL0>,
<&gcc GCC_MMSS_NOC_CFG_AHB_CLK>, <&gcc GCC_MMSS_NOC_CFG_AHB_CLK>,
<&dsi0_phy 1>, <&mdss_dsi0_phy 1>,
<&dsi0_phy 0>, <&mdss_dsi0_phy 0>,
<&dsi1_phy 1>, <&mdss_dsi1_phy 1>,
<&dsi1_phy 0>, <&mdss_dsi1_phy 0>,
<&hdmi_phy>; <&mdss_hdmi_phy>;
clock-names = "xo", clock-names = "xo",
"gpll0", "gpll0",
"gcc_mmss_noc_cfg_ahb_clk", "gcc_mmss_noc_cfg_ahb_clk",
...@@ -978,27 +978,27 @@ ports { ...@@ -978,27 +978,27 @@ ports {
port@0 { port@0 {
reg = <0>; reg = <0>;
mdp5_intf3_out: endpoint { mdp5_intf3_out: endpoint {
remote-endpoint = <&hdmi_in>; remote-endpoint = <&mdss_hdmi_in>;
}; };
}; };
port@1 { port@1 {
reg = <1>; reg = <1>;
mdp5_intf1_out: endpoint { mdp5_intf1_out: endpoint {
remote-endpoint = <&dsi0_in>; remote-endpoint = <&mdss_dsi0_in>;
}; };
}; };
port@2 { port@2 {
reg = <2>; reg = <2>;
mdp5_intf2_out: endpoint { mdp5_intf2_out: endpoint {
remote-endpoint = <&dsi1_in>; remote-endpoint = <&mdss_dsi1_in>;
}; };
}; };
}; };
}; };
dsi0: dsi@994000 { mdss_dsi0: dsi@994000 {
compatible = "qcom,msm8996-dsi-ctrl", compatible = "qcom,msm8996-dsi-ctrl",
"qcom,mdss-dsi-ctrl"; "qcom,mdss-dsi-ctrl";
reg = <0x00994000 0x400>; reg = <0x00994000 0x400>;
...@@ -1022,9 +1022,9 @@ dsi0: dsi@994000 { ...@@ -1022,9 +1022,9 @@ dsi0: dsi@994000 {
"pixel", "pixel",
"core"; "core";
assigned-clocks = <&mmcc BYTE0_CLK_SRC>, <&mmcc PCLK0_CLK_SRC>; assigned-clocks = <&mmcc BYTE0_CLK_SRC>, <&mmcc PCLK0_CLK_SRC>;
assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>; assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
phys = <&dsi0_phy>; phys = <&mdss_dsi0_phy>;
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
...@@ -1036,20 +1036,20 @@ ports { ...@@ -1036,20 +1036,20 @@ ports {
port@0 { port@0 {
reg = <0>; reg = <0>;
dsi0_in: endpoint { mdss_dsi0_in: endpoint {
remote-endpoint = <&mdp5_intf1_out>; remote-endpoint = <&mdp5_intf1_out>;
}; };
}; };
port@1 { port@1 {
reg = <1>; reg = <1>;
dsi0_out: endpoint { mdss_dsi0_out: endpoint {
}; };
}; };
}; };
}; };
dsi0_phy: phy@994400 { mdss_dsi0_phy: phy@994400 {
compatible = "qcom,dsi-phy-14nm"; compatible = "qcom,dsi-phy-14nm";
reg = <0x00994400 0x100>, reg = <0x00994400 0x100>,
<0x00994500 0x300>, <0x00994500 0x300>,
...@@ -1066,7 +1066,7 @@ dsi0_phy: phy@994400 { ...@@ -1066,7 +1066,7 @@ dsi0_phy: phy@994400 {
status = "disabled"; status = "disabled";
}; };
dsi1: dsi@996000 { mdss_dsi1: dsi@996000 {
compatible = "qcom,msm8996-dsi-ctrl", compatible = "qcom,msm8996-dsi-ctrl",
"qcom,mdss-dsi-ctrl"; "qcom,mdss-dsi-ctrl";
reg = <0x00996000 0x400>; reg = <0x00996000 0x400>;
...@@ -1090,9 +1090,9 @@ dsi1: dsi@996000 { ...@@ -1090,9 +1090,9 @@ dsi1: dsi@996000 {
"pixel", "pixel",
"core"; "core";
assigned-clocks = <&mmcc BYTE1_CLK_SRC>, <&mmcc PCLK1_CLK_SRC>; assigned-clocks = <&mmcc BYTE1_CLK_SRC>, <&mmcc PCLK1_CLK_SRC>;
assigned-clock-parents = <&dsi1_phy 0>, <&dsi1_phy 1>; assigned-clock-parents = <&mdss_dsi1_phy 0>, <&mdss_dsi1_phy 1>;
phys = <&dsi1_phy>; phys = <&mdss_dsi1_phy>;
status = "disabled"; status = "disabled";
#address-cells = <1>; #address-cells = <1>;
...@@ -1104,20 +1104,20 @@ ports { ...@@ -1104,20 +1104,20 @@ ports {
port@0 { port@0 {
reg = <0>; reg = <0>;
dsi1_in: endpoint { mdss_dsi1_in: endpoint {
remote-endpoint = <&mdp5_intf2_out>; remote-endpoint = <&mdp5_intf2_out>;
}; };
}; };
port@1 { port@1 {
reg = <1>; reg = <1>;
dsi1_out: endpoint { mdss_dsi1_out: endpoint {
}; };
}; };
}; };
}; };
dsi1_phy: phy@996400 { mdss_dsi1_phy: phy@996400 {
compatible = "qcom,dsi-phy-14nm"; compatible = "qcom,dsi-phy-14nm";
reg = <0x00996400 0x100>, reg = <0x00996400 0x100>,
<0x00996500 0x300>, <0x00996500 0x300>,
...@@ -1134,8 +1134,8 @@ dsi1_phy: phy@996400 { ...@@ -1134,8 +1134,8 @@ dsi1_phy: phy@996400 {
status = "disabled"; status = "disabled";
}; };
hdmi: hdmi-tx@9a0000 { mdss_hdmi: mdss_hdmi-tx@9a0000 {
compatible = "qcom,hdmi-tx-8996"; compatible = "qcom,mdss_hdmi-tx-8996";
reg = <0x009a0000 0x50c>, reg = <0x009a0000 0x50c>,
<0x00070000 0x6158>, <0x00070000 0x6158>,
<0x009e0000 0xfff>; <0x009e0000 0xfff>;
...@@ -1158,7 +1158,7 @@ hdmi: hdmi-tx@9a0000 { ...@@ -1158,7 +1158,7 @@ hdmi: hdmi-tx@9a0000 {
"alt_iface", "alt_iface",
"extp"; "extp";
phys = <&hdmi_phy>; phys = <&mdss_hdmi_phy>;
#sound-dai-cells = <1>; #sound-dai-cells = <1>;
status = "disabled"; status = "disabled";
...@@ -1169,16 +1169,16 @@ ports { ...@@ -1169,16 +1169,16 @@ ports {
port@0 { port@0 {
reg = <0>; reg = <0>;
hdmi_in: endpoint { mdss_hdmi_in: endpoint {
remote-endpoint = <&mdp5_intf3_out>; remote-endpoint = <&mdp5_intf3_out>;
}; };
}; };
}; };
}; };
hdmi_phy: phy@9a0600 { mdss_hdmi_phy: phy@9a0600 {
#phy-cells = <0>; #phy-cells = <0>;
compatible = "qcom,hdmi-phy-8996"; compatible = "qcom,mdss_hdmi-phy-8996";
reg = <0x009a0600 0x1c4>, reg = <0x009a0600 0x1c4>,
<0x009a0a00 0x124>, <0x009a0a00 0x124>,
<0x009a0c00 0x124>, <0x009a0c00 0x124>,
......
...@@ -39,7 +39,13 @@ touchscreen@20 { ...@@ -39,7 +39,13 @@ touchscreen@20 {
}; };
}; };
&dsi0 { &gpu {
zap-shader {
firmware-name = "qcom/msm8996/natrium/a530_zap.mbn";
};
};
&mdss_dsi0 {
status = "okay"; status = "okay";
vdda-supply = <&vreg_l2a_1p25>; vdda-supply = <&vreg_l2a_1p25>;
...@@ -57,22 +63,16 @@ panel: panel@0 { ...@@ -57,22 +63,16 @@ panel: panel@0 {
port { port {
panel_in: endpoint { panel_in: endpoint {
remote-endpoint = <&dsi0_out>; remote-endpoint = <&mdss_dsi0_out>;
}; };
}; };
}; };
}; };
&dsi0_out { &mdss_dsi0_out {
remote-endpoint = <&panel_in>; remote-endpoint = <&panel_in>;
}; };
&gpu {
zap-shader {
firmware-name = "qcom/msm8996/natrium/a530_zap.mbn";
};
};
&mss_pil { &mss_pil {
firmware-name = "qcom/msm8996/natrium/mba.mbn", firmware-name = "qcom/msm8996/natrium/mba.mbn",
"qcom/msm8996/natrium/modem.mbn"; "qcom/msm8996/natrium/modem.mbn";
......
...@@ -24,101 +24,121 @@ opp-307200000 { ...@@ -24,101 +24,121 @@ opp-307200000 {
opp-hz = /bits/ 64 <307200000>; opp-hz = /bits/ 64 <307200000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <192000>;
}; };
opp-384000000 { opp-384000000 {
opp-hz = /bits/ 64 <384000000>; opp-hz = /bits/ 64 <384000000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <192000>;
}; };
opp-460800000 { opp-460800000 {
opp-hz = /bits/ 64 <460800000>; opp-hz = /bits/ 64 <460800000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <192000>;
}; };
opp-537600000 { opp-537600000 {
opp-hz = /bits/ 64 <537600000>; opp-hz = /bits/ 64 <537600000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <192000>;
}; };
opp-614400000 { opp-614400000 {
opp-hz = /bits/ 64 <614400000>; opp-hz = /bits/ 64 <614400000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <192000>;
}; };
opp-691200000 { opp-691200000 {
opp-hz = /bits/ 64 <691200000>; opp-hz = /bits/ 64 <691200000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <307200>;
}; };
opp-768000000 { opp-768000000 {
opp-hz = /bits/ 64 <768000000>; opp-hz = /bits/ 64 <768000000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <307200>;
}; };
opp-844800000 { opp-844800000 {
opp-hz = /bits/ 64 <844800000>; opp-hz = /bits/ 64 <844800000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <384000>;
}; };
opp-902400000 { opp-902400000 {
opp-hz = /bits/ 64 <902400000>; opp-hz = /bits/ 64 <902400000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <441600>;
}; };
opp-979200000 { opp-979200000 {
opp-hz = /bits/ 64 <979200000>; opp-hz = /bits/ 64 <979200000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <537600>;
}; };
opp-1056000000 { opp-1056000000 {
opp-hz = /bits/ 64 <1056000000>; opp-hz = /bits/ 64 <1056000000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <614400>;
}; };
opp-1132800000 { opp-1132800000 {
opp-hz = /bits/ 64 <1132800000>; opp-hz = /bits/ 64 <1132800000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <691200>;
}; };
opp-1209600000 { opp-1209600000 {
opp-hz = /bits/ 64 <1209600000>; opp-hz = /bits/ 64 <1209600000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <768000>;
}; };
opp-1286400000 { opp-1286400000 {
opp-hz = /bits/ 64 <1286400000>; opp-hz = /bits/ 64 <1286400000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <844800>;
}; };
opp-1363200000 { opp-1363200000 {
opp-hz = /bits/ 64 <1363200000>; opp-hz = /bits/ 64 <1363200000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <902400>;
}; };
opp-1440000000 { opp-1440000000 {
opp-hz = /bits/ 64 <1440000000>; opp-hz = /bits/ 64 <1440000000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <979200>;
}; };
opp-1516800000 { opp-1516800000 {
opp-hz = /bits/ 64 <1516800000>; opp-hz = /bits/ 64 <1516800000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <1132800>;
}; };
opp-1593600000 { opp-1593600000 {
opp-hz = /bits/ 64 <1593600000>; opp-hz = /bits/ 64 <1593600000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <1190400>;
}; };
opp-1996800000 { opp-1996800000 {
opp-hz = /bits/ 64 <1996800000>; opp-hz = /bits/ 64 <1996800000>;
opp-supported-hw = <0x20>; opp-supported-hw = <0x20>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <1516800>;
}; };
opp-2188800000 { opp-2188800000 {
opp-hz = /bits/ 64 <2188800000>; opp-hz = /bits/ 64 <2188800000>;
opp-supported-hw = <0x10>; opp-supported-hw = <0x10>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <1593600>;
}; };
}; };
...@@ -131,136 +151,163 @@ opp-307200000 { ...@@ -131,136 +151,163 @@ opp-307200000 {
opp-hz = /bits/ 64 <307200000>; opp-hz = /bits/ 64 <307200000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <192000>;
}; };
opp-384000000 { opp-384000000 {
opp-hz = /bits/ 64 <384000000>; opp-hz = /bits/ 64 <384000000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <192000>;
}; };
opp-460800000 { opp-460800000 {
opp-hz = /bits/ 64 <460800000>; opp-hz = /bits/ 64 <460800000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <192000>;
}; };
opp-537600000 { opp-537600000 {
opp-hz = /bits/ 64 <537600000>; opp-hz = /bits/ 64 <537600000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <192000>;
}; };
opp-614400000 { opp-614400000 {
opp-hz = /bits/ 64 <614400000>; opp-hz = /bits/ 64 <614400000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <192000>;
}; };
opp-691200000 { opp-691200000 {
opp-hz = /bits/ 64 <691200000>; opp-hz = /bits/ 64 <691200000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <307200>;
}; };
opp-748800000 { opp-748800000 {
opp-hz = /bits/ 64 <748800000>; opp-hz = /bits/ 64 <748800000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <307200>;
}; };
opp-825600000 { opp-825600000 {
opp-hz = /bits/ 64 <825600000>; opp-hz = /bits/ 64 <825600000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <384000>;
}; };
opp-902400000 { opp-902400000 {
opp-hz = /bits/ 64 <902400000>; opp-hz = /bits/ 64 <902400000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <441600>;
}; };
opp-979200000 { opp-979200000 {
opp-hz = /bits/ 64 <979200000>; opp-hz = /bits/ 64 <979200000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <441600>;
}; };
opp-1056000000 { opp-1056000000 {
opp-hz = /bits/ 64 <1056000000>; opp-hz = /bits/ 64 <1056000000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <537600>;
}; };
opp-1132800000 { opp-1132800000 {
opp-hz = /bits/ 64 <1132800000>; opp-hz = /bits/ 64 <1132800000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <614400>;
}; };
opp-1209600000 { opp-1209600000 {
opp-hz = /bits/ 64 <1209600000>; opp-hz = /bits/ 64 <1209600000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <691200>;
}; };
opp-1286400000 { opp-1286400000 {
opp-hz = /bits/ 64 <1286400000>; opp-hz = /bits/ 64 <1286400000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <768000>;
}; };
opp-1363200000 { opp-1363200000 {
opp-hz = /bits/ 64 <1363200000>; opp-hz = /bits/ 64 <1363200000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <844800>;
}; };
opp-1440000000 { opp-1440000000 {
opp-hz = /bits/ 64 <1440000000>; opp-hz = /bits/ 64 <1440000000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <902400>;
}; };
opp-1516800000 { opp-1516800000 {
opp-hz = /bits/ 64 <1516800000>; opp-hz = /bits/ 64 <1516800000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <979200>;
}; };
opp-1593600000 { opp-1593600000 {
opp-hz = /bits/ 64 <1593600000>; opp-hz = /bits/ 64 <1593600000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <1056000>;
}; };
opp-1670400000 { opp-1670400000 {
opp-hz = /bits/ 64 <1670400000>; opp-hz = /bits/ 64 <1670400000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <1132800>;
}; };
opp-1747200000 { opp-1747200000 {
opp-hz = /bits/ 64 <1747200000>; opp-hz = /bits/ 64 <1747200000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <1190400>;
}; };
opp-1824000000 { opp-1824000000 {
opp-hz = /bits/ 64 <1824000000>; opp-hz = /bits/ 64 <1824000000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <1286400>;
}; };
opp-1900800000 { opp-1900800000 {
opp-hz = /bits/ 64 <1900800000>; opp-hz = /bits/ 64 <1900800000>;
opp-supported-hw = <0x70>; opp-supported-hw = <0x70>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <1363200>;
}; };
opp-1977600000 { opp-1977600000 {
opp-hz = /bits/ 64 <1977600000>; opp-hz = /bits/ 64 <1977600000>;
opp-supported-hw = <0x30>; opp-supported-hw = <0x30>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <1440000>;
}; };
opp-2054400000 { opp-2054400000 {
opp-hz = /bits/ 64 <2054400000>; opp-hz = /bits/ 64 <2054400000>;
opp-supported-hw = <0x30>; opp-supported-hw = <0x30>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <1516800>;
}; };
opp-2150400000 { opp-2150400000 {
opp-hz = /bits/ 64 <2150400000>; opp-hz = /bits/ 64 <2150400000>;
opp-supported-hw = <0x30>; opp-supported-hw = <0x30>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <1593600>;
}; };
opp-2246400000 { opp-2246400000 {
opp-hz = /bits/ 64 <2246400000>; opp-hz = /bits/ 64 <2246400000>;
opp-supported-hw = <0x10>; opp-supported-hw = <0x10>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <1593600>;
}; };
opp-2342400000 { opp-2342400000 {
opp-hz = /bits/ 64 <2342400000>; opp-hz = /bits/ 64 <2342400000>;
opp-supported-hw = <0x10>; opp-supported-hw = <0x10>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-peak-kBps = <1593600>;
}; };
}; };
}; };
...@@ -289,3 +336,7 @@ opp-560000000 { ...@@ -289,3 +336,7 @@ opp-560000000 {
}; };
/* The rest is inherited from msm8996 */ /* The rest is inherited from msm8996 */
}; };
&cbf {
compatible = "qcom,msm8996pro-cbf";
};
...@@ -279,10 +279,6 @@ vol_keys_default: vol-keys-state { ...@@ -279,10 +279,6 @@ vol_keys_default: vol-keys-state {
}; };
}; };
&pmi8998_rradc {
status = "okay";
};
&qusb2phy { &qusb2phy {
status = "okay"; status = "okay";
......
...@@ -61,5 +61,15 @@ pm8550_flash: led-controller@ee00 { ...@@ -61,5 +61,15 @@ pm8550_flash: led-controller@ee00 {
reg = <0xee00>; reg = <0xee00>;
status = "disabled"; status = "disabled";
}; };
pm8550_pwm: pwm {
compatible = "qcom,pm8550-pwm", "qcom,pm8350c-pwm";
#address-cells = <1>;
#size-cells = <0>;
#pwm-cells = <2>;
status = "disabled";
};
}; };
}; };
...@@ -9,6 +9,26 @@ pmi8998_lsid0: pmic@2 { ...@@ -9,6 +9,26 @@ pmi8998_lsid0: pmic@2 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
pmi8998_charger: charger@1000 {
compatible = "qcom,pmi8998-charger";
reg = <0x1000>;
interrupts = <0x2 0x13 0x4 IRQ_TYPE_EDGE_BOTH>,
<0x2 0x12 0x2 IRQ_TYPE_EDGE_BOTH>,
<0x2 0x16 0x1 IRQ_TYPE_EDGE_RISING>,
<0x2 0x13 0x6 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "usb-plugin",
"bat-ov",
"wdog-bark",
"usbin-icl-change";
io-channels = <&pmi8998_rradc 3>,
<&pmi8998_rradc 4>;
io-channel-names = "usbin_i", "usbin_v";
status = "disabled";
};
pmi8998_gpios: gpio@c000 { pmi8998_gpios: gpio@c000 {
compatible = "qcom,pmi8998-gpio", "qcom,spmi-gpio"; compatible = "qcom,pmi8998-gpio", "qcom,spmi-gpio";
reg = <0xc000>; reg = <0xc000>;
...@@ -23,8 +43,6 @@ pmi8998_rradc: adc@4500 { ...@@ -23,8 +43,6 @@ pmi8998_rradc: adc@4500 {
compatible = "qcom,pmi8998-rradc"; compatible = "qcom,pmi8998-rradc";
reg = <0x4500>; reg = <0x4500>;
#io-channel-cells = <1>; #io-channel-cells = <1>;
status = "disabled";
}; };
}; };
......
...@@ -49,7 +49,6 @@ pmk8550_rtc: rtc@6100 { ...@@ -49,7 +49,6 @@ pmk8550_rtc: rtc@6100 {
reg = <0x6100>, <0x6200>; reg = <0x6100>, <0x6200>;
reg-names = "rtc", "alarm"; reg-names = "rtc", "alarm";
interrupts = <0x0 0x62 0x1 IRQ_TYPE_EDGE_RISING>; interrupts = <0x0 0x62 0x1 IRQ_TYPE_EDGE_RISING>;
status = "disabled";
}; };
pmk8550_sdam_2: nvram@7100 { pmk8550_sdam_2: nvram@7100 {
......
...@@ -48,6 +48,8 @@ CPU0: cpu@0 { ...@@ -48,6 +48,8 @@ CPU0: cpu@0 {
enable-method = "psci"; enable-method = "psci";
next-level-cache = <&L2_0>; next-level-cache = <&L2_0>;
qcom,freq-domain = <&cpufreq_hw 0>; qcom,freq-domain = <&cpufreq_hw 0>;
power-domains = <&CPU_PD0>;
power-domain-names = "psci";
L2_0: l2-cache { L2_0: l2-cache {
compatible = "cache"; compatible = "cache";
cache-level = <2>; cache-level = <2>;
...@@ -64,6 +66,8 @@ CPU1: cpu@1 { ...@@ -64,6 +66,8 @@ CPU1: cpu@1 {
enable-method = "psci"; enable-method = "psci";
next-level-cache = <&L2_0>; next-level-cache = <&L2_0>;
qcom,freq-domain = <&cpufreq_hw 0>; qcom,freq-domain = <&cpufreq_hw 0>;
power-domains = <&CPU_PD1>;
power-domain-names = "psci";
}; };
CPU2: cpu@2 { CPU2: cpu@2 {
...@@ -76,6 +80,8 @@ CPU2: cpu@2 { ...@@ -76,6 +80,8 @@ CPU2: cpu@2 {
enable-method = "psci"; enable-method = "psci";
next-level-cache = <&L2_0>; next-level-cache = <&L2_0>;
qcom,freq-domain = <&cpufreq_hw 0>; qcom,freq-domain = <&cpufreq_hw 0>;
power-domains = <&CPU_PD2>;
power-domain-names = "psci";
}; };
CPU3: cpu@3 { CPU3: cpu@3 {
...@@ -88,6 +94,8 @@ CPU3: cpu@3 { ...@@ -88,6 +94,8 @@ CPU3: cpu@3 {
enable-method = "psci"; enable-method = "psci";
next-level-cache = <&L2_0>; next-level-cache = <&L2_0>;
qcom,freq-domain = <&cpufreq_hw 0>; qcom,freq-domain = <&cpufreq_hw 0>;
power-domains = <&CPU_PD3>;
power-domain-names = "psci";
}; };
cpu-map { cpu-map {
...@@ -109,6 +117,30 @@ core3 { ...@@ -109,6 +117,30 @@ core3 {
}; };
}; };
}; };
domain-idle-states {
CLUSTER_SLEEP: cluster-sleep-0 {
compatible = "domain-idle-state";
arm,psci-suspend-param = <0x41000043>;
entry-latency-us = <800>;
exit-latency-us = <2118>;
min-residency-us = <7376>;
};
};
idle-states {
entry-method = "psci";
CPU_SLEEP: cpu-sleep-0 {
compatible = "arm,idle-state";
idle-state-name = "power-collapse";
arm,psci-suspend-param = <0x40000003>;
entry-latency-us = <290>;
exit-latency-us = <376>;
min-residency-us = <1182>;
local-timer-stop;
};
};
}; };
firmware { firmware {
...@@ -134,6 +166,35 @@ pmu { ...@@ -134,6 +166,35 @@ pmu {
psci { psci {
compatible = "arm,psci-1.0"; compatible = "arm,psci-1.0";
method = "smc"; method = "smc";
CPU_PD0: power-domain-cpu0 {
#power-domain-cells = <0>;
power-domains = <&CLUSTER_PD>;
domain-idle-states = <&CPU_SLEEP>;
};
CPU_PD1: power-domain-cpu1 {
#power-domain-cells = <0>;
power-domains = <&CLUSTER_PD>;
domain-idle-states = <&CPU_SLEEP>;
};
CPU_PD2: power-domain-cpu2 {
#power-domain-cells = <0>;
power-domains = <&CLUSTER_PD>;
domain-idle-states = <&CPU_SLEEP>;
};
CPU_PD3: power-domain-cpu3 {
#power-domain-cells = <0>;
power-domains = <&CLUSTER_PD>;
domain-idle-states = <&CPU_SLEEP>;
};
CLUSTER_PD: power-domain-cpu-cluster {
#power-domain-cells = <0>;
domain-idle-states = <&CLUSTER_SLEEP>;
};
}; };
reserved_memory: reserved-memory { reserved_memory: reserved-memory {
......
...@@ -448,6 +448,29 @@ &qupv3_id_0 { ...@@ -448,6 +448,29 @@ &qupv3_id_0 {
status = "okay"; status = "okay";
}; };
&sdhc {
pinctrl-0 = <&sdc_on_state>;
pinctrl-1 = <&sdc_off_state>;
pinctrl-names = "default", "sleep";
cap-mmc-hw-reset;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
mmc-hs400-enhanced-strobe;
non-removable;
no-sd;
no-sdio;
supports-cqe;
vmmc-supply = <&vreg_l10a_2p95>;
vqmmc-supply = <&vreg_l7a_1p8>;
status = "okay";
};
&uart7 { &uart7 {
status = "okay"; status = "okay";
}; };
...@@ -842,6 +842,53 @@ tcsr_mutex: hwlock@1f40000 { ...@@ -842,6 +842,53 @@ tcsr_mutex: hwlock@1f40000 {
#hwlock-cells = <1>; #hwlock-cells = <1>;
}; };
sdhc: mmc@8804000 {
compatible = "qcom,qdu1000-sdhci", "qcom,sdhci-msm-v5";
reg = <0x0 0x08804000 0x0 0x1000>,
<0x0 0x08805000 0x0 0x1000>;
reg-names = "hc", "cqhci";
interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "hc_irq", "pwr_irq";
clocks = <&gcc GCC_SDCC5_AHB_CLK>,
<&gcc GCC_SDCC5_APPS_CLK>,
<&rpmhcc RPMH_CXO_CLK>;
clock-names = "iface",
"core",
"xo";
resets = <&gcc GCC_SDCC5_BCR>;
interconnects = <&system_noc MASTER_SDCC_1 0 &mc_virt SLAVE_EBI1 0>,
<&gem_noc MASTER_APPSS_PROC 0 &system_noc SLAVE_SDCC_2 0>;
interconnect-names = "sdhc-ddr", "cpu-sdhc";
power-domains = <&rpmhpd QDU1000_CX>;
operating-points-v2 = <&sdhc1_opp_table>;
iommus = <&apps_smmu 0x80 0x0>;
dma-coherent;
bus-width = <8>;
qcom,dll-config = <0x0007642c>;
qcom,ddr-config = <0x80040868>;
status = "disabled";
sdhc1_opp_table: opp-table {
compatible = "operating-points-v2";
opp-384000000 {
opp-hz = /bits/ 64 <384000000>;
required-opps = <&rpmhpd_opp_nom>;
opp-peak-kBps = <6528000 1652800>;
opp-avg-kBps = <400000 0>;
};
};
};
pdc: interrupt-controller@b220000 { pdc: interrupt-controller@b220000 {
compatible = "qcom,qdu1000-pdc", "qcom,pdc"; compatible = "qcom,qdu1000-pdc", "qcom,pdc";
reg = <0x0 0xb220000 0x0 0x30000>, <0x0 0x174000f0 0x0 0x64>; reg = <0x0 0xb220000 0x0 0x30000>, <0x0 0x174000f0 0x0 0x64>;
...@@ -1100,6 +1147,69 @@ qup_spi15_cs: qup-spi15-cs-state { ...@@ -1100,6 +1147,69 @@ qup_spi15_cs: qup-spi15-cs-state {
pins = "gpio31"; pins = "gpio31";
function = "gpio"; function = "gpio";
}; };
sdc_on_state: sdc-on-state {
clk-pins {
pins = "sdc1_clk";
drive-strength = <16>;
bias-disable;
};
cmd-pins {
pins = "sdc1_cmd";
drive-strength = <10>;
bias-pull-up;
};
data-pins {
pins = "sdc1_data";
drive-strength = <10>;
bias-pull-up;
};
rclk-pins {
pins = "sdc1_rclk";
bias-pull-down;
};
};
sdc_off_state: sdc-off-state {
clk-pins {
pins = "sdc1_clk";
drive-strength = <2>;
bias-disable;
};
cmd-pins {
pins = "sdc1_cmd";
drive-strength = <2>;
bias-pull-up;
};
data-pins {
pins = "sdc1_data";
drive-strength = <2>;
bias-pull-up;
};
rclk-pins {
pins = "sdc1_rclk";
bias-pull-down;
};
};
};
sram@14680000 {
compatible = "qcom,qdu1000-imem", "syscon", "simple-mfd";
reg = <0 0x14680000 0 0x1000>;
ranges = <0 0 0x14680000 0x1000>;
#address-cells = <1>;
#size-cells = <1>;
pil-reloc@94c {
compatible = "qcom,pil-reloc-info";
reg = <0x94c 0xc8>;
};
}; };
apps_smmu: iommu@15000000 { apps_smmu: iommu@15000000 {
...@@ -1242,6 +1352,7 @@ apps_rsc: rsc@17a00000 { ...@@ -1242,6 +1352,7 @@ apps_rsc: rsc@17a00000 {
qcom,tcs-config = <ACTIVE_TCS 2>, <SLEEP_TCS 3>, qcom,tcs-config = <ACTIVE_TCS 2>, <SLEEP_TCS 3>,
<WAKE_TCS 3>, <CONTROL_TCS 0>; <WAKE_TCS 3>, <CONTROL_TCS 0>;
label = "apps_rsc"; label = "apps_rsc";
power-domains = <&CLUSTER_PD>;
apps_bcm_voter: bcm-voter { apps_bcm_voter: bcm-voter {
compatible = "qcom,bcm-voter"; compatible = "qcom,bcm-voter";
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include <dt-bindings/leds/common.h> #include <dt-bindings/leds/common.h>
#include "sm4250.dtsi" #include "sm4250.dtsi"
#include "pm6125.dtsi"
/ { / {
model = "Qualcomm Technologies, Inc. QRB4210 RB2"; model = "Qualcomm Technologies, Inc. QRB4210 RB2";
...@@ -28,6 +29,23 @@ clk40M: can-clk { ...@@ -28,6 +29,23 @@ clk40M: can-clk {
}; };
}; };
gpio-keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-0 = <&kypd_vol_up_n>;
pinctrl-names = "default";
key-volume-up {
label = "Volume Up";
linux,code = <KEY_VOLUMEUP>;
gpios = <&pm6125_gpios 5 GPIO_ACTIVE_LOW>;
debounce-interval = <15>;
linux,can-disable;
wakeup-source;
};
};
hdmi-connector { hdmi-connector {
compatible = "hdmi-connector"; compatible = "hdmi-connector";
type = "a"; type = "a";
...@@ -219,6 +237,25 @@ &mdss_dsi0_phy { ...@@ -219,6 +237,25 @@ &mdss_dsi0_phy {
status = "okay"; status = "okay";
}; };
&pm6125_gpios {
kypd_vol_up_n: kypd-vol-up-n-state {
pins = "gpio5";
function = "normal";
power-source = <0>;
bias-pull-up;
input-enable;
};
};
&pon_pwrkey {
status = "okay";
};
&pon_resin {
linux,code = <KEY_VOLUMEDOWN>;
status = "okay";
};
&qupv3_id_0 { &qupv3_id_0 {
status = "okay"; status = "okay";
}; };
......
...@@ -535,30 +535,6 @@ &cdsp { ...@@ -535,30 +535,6 @@ &cdsp {
firmware-name = "qcom/sm8250/cdsp.mbn"; firmware-name = "qcom/sm8250/cdsp.mbn";
}; };
&dsi0 {
status = "okay";
vdda-supply = <&vreg_l9a_1p2>;
#if 0
qcom,dual-dsi-mode;
qcom,master-dsi;
#endif
ports {
port@1 {
endpoint {
remote-endpoint = <&lt9611_a>;
data-lanes = <0 1 2 3>;
};
};
};
};
&dsi0_phy {
status = "okay";
vdds-supply = <&vreg_l5a_0p88>;
};
&gmu { &gmu {
status = "okay"; status = "okay";
}; };
...@@ -604,7 +580,7 @@ port@0 { ...@@ -604,7 +580,7 @@ port@0 {
reg = <0>; reg = <0>;
lt9611_a: endpoint { lt9611_a: endpoint {
remote-endpoint = <&dsi0_out>; remote-endpoint = <&mdss_dsi0_out>;
}; };
}; };
...@@ -613,7 +589,7 @@ port@1 { ...@@ -613,7 +589,7 @@ port@1 {
reg = <1>; reg = <1>;
lt9611_b: endpoint { lt9611_b: endpoint {
remote-endpoint = <&dsi1_out>; remote-endpoint = <&mdss_dsi1_out>;
}; };
}; };
#endif #endif
...@@ -639,8 +615,28 @@ &mdss { ...@@ -639,8 +615,28 @@ &mdss {
status = "okay"; status = "okay";
}; };
&mdss_mdp { &mdss_dsi0 {
status = "okay";
vdda-supply = <&vreg_l9a_1p2>;
#if 0
qcom,dual-dsi-mode;
qcom,master-dsi;
#endif
ports {
port@1 {
endpoint {
remote-endpoint = <&lt9611_a>;
data-lanes = <0 1 2 3>;
};
};
};
};
&mdss_dsi0_phy {
status = "okay"; status = "okay";
vdds-supply = <&vreg_l5a_0p88>;
}; };
&pm8150_adc { &pm8150_adc {
......
...@@ -171,6 +171,7 @@ mdio { ...@@ -171,6 +171,7 @@ mdio {
/* Marvell 88EA1512 */ /* Marvell 88EA1512 */
rgmii_phy: phy@8 { rgmii_phy: phy@8 {
compatible = "ethernet-phy-id0141.0dd4";
reg = <0x8>; reg = <0x8>;
interrupts-extended = <&tlmm 127 IRQ_TYPE_EDGE_FALLING>; interrupts-extended = <&tlmm 127 IRQ_TYPE_EDGE_FALLING>;
......
...@@ -167,6 +167,14 @@ opp-2592000000 { ...@@ -167,6 +167,14 @@ opp-2592000000 {
}; };
}; };
&gpucc {
status = "disabled";
};
&gpu_smmu {
status = "disabled";
};
&pcie2a { &pcie2a {
compatible = "qcom,pcie-sa8540p"; compatible = "qcom,pcie-sa8540p";
......
...@@ -143,21 +143,6 @@ reg_tp_3p3: touchpad-regulator { ...@@ -143,21 +143,6 @@ reg_tp_3p3: touchpad-regulator {
}; };
}; };
&dsi0 {
vdda-supply = <&vreg_l3c_1p2>;
status = "okay";
};
&dsi0_out {
remote-endpoint = <&sn65dsi86_in>;
data-lanes = <0 1 2 3>;
};
&dsi_phy {
vdds-supply = <&vreg_l4a_0p8>;
status = "okay";
};
&i2c2 { &i2c2 {
clock-frequency = <400000>; clock-frequency = <400000>;
status = "okay"; status = "okay";
...@@ -269,7 +254,7 @@ port@0 { ...@@ -269,7 +254,7 @@ port@0 {
reg = <0>; reg = <0>;
sn65dsi86_in: endpoint { sn65dsi86_in: endpoint {
remote-endpoint = <&dsi0_out>; remote-endpoint = <&mdss_dsi0_out>;
}; };
}; };
...@@ -313,6 +298,21 @@ &mdss { ...@@ -313,6 +298,21 @@ &mdss {
status = "okay"; status = "okay";
}; };
&mdss_dsi0 {
vdda-supply = <&vreg_l3c_1p2>;
status = "okay";
};
&mdss_dsi0_out {
remote-endpoint = <&sn65dsi86_in>;
data-lanes = <0 1 2 3>;
};
&mdss_dsi0_phy {
vdds-supply = <&vreg_l4a_0p8>;
status = "okay";
};
&pm6150_adc { &pm6150_adc {
thermistor@4e { thermistor@4e {
reg = <ADC5_AMUX_THM2_100K_PU>; reg = <ADC5_AMUX_THM2_100K_PU>;
......
...@@ -295,7 +295,11 @@ vreg_bob: bob { ...@@ -295,7 +295,11 @@ vreg_bob: bob {
}; };
}; };
&dsi0 { &mdss {
status = "okay";
};
&mdss_dsi0 {
status = "okay"; status = "okay";
vdda-supply = <&vreg_l3c_1p2>; vdda-supply = <&vreg_l3c_1p2>;
...@@ -314,7 +318,7 @@ panel@0 { ...@@ -314,7 +318,7 @@ panel@0 {
port { port {
panel0_in: endpoint { panel0_in: endpoint {
remote-endpoint = <&dsi0_out>; remote-endpoint = <&mdss_dsi0_out>;
}; };
}; };
}; };
...@@ -329,15 +333,11 @@ endpoint { ...@@ -329,15 +333,11 @@ endpoint {
}; };
}; };
&dsi_phy { &mdss_dsi0_phy {
status = "okay"; status = "okay";
vdds-supply = <&vreg_l4a_0p8>; vdds-supply = <&vreg_l4a_0p8>;
}; };
&mdss {
status = "okay";
};
&qfprom { &qfprom {
vcc-supply = <&vreg_l11a_1p8>; vcc-supply = <&vreg_l11a_1p8>;
}; };
......
...@@ -46,10 +46,6 @@ &pp3300_dx_edp { ...@@ -46,10 +46,6 @@ &pp3300_dx_edp {
/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */ /* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */
&dsi0_out {
remote-endpoint = <&ps8640_in>;
};
edp_brij_i2c: &i2c2 { edp_brij_i2c: &i2c2 {
status = "okay"; status = "okay";
clock-frequency = <400000>; clock-frequency = <400000>;
...@@ -74,7 +70,7 @@ ports { ...@@ -74,7 +70,7 @@ ports {
port@0 { port@0 {
reg = <0>; reg = <0>;
ps8640_in: endpoint { ps8640_in: endpoint {
remote-endpoint = <&dsi0_out>; remote-endpoint = <&mdss_dsi0_out>;
}; };
}; };
...@@ -102,6 +98,10 @@ panel_in_edp: endpoint { ...@@ -102,6 +98,10 @@ panel_in_edp: endpoint {
}; };
}; };
&mdss_dsi0_out {
remote-endpoint = <&ps8640_in>;
};
&tlmm { &tlmm {
edp_brij_ps8640_rst: edp-brij-ps8640-rst-state { edp_brij_ps8640_rst: edp-brij-ps8640-rst-state {
pins = "gpio11"; pins = "gpio11";
......
...@@ -15,7 +15,7 @@ / { ...@@ -15,7 +15,7 @@ / {
compatible = "google,quackingstick-sku1537", "qcom,sc7180"; compatible = "google,quackingstick-sku1537", "qcom,sc7180";
}; };
&dsi_phy { &mdss_dsi0_phy {
qcom,phy-rescode-offset-top = /bits/ 8 <(-13) (-13) (-13) (-13) (-13)>; qcom,phy-rescode-offset-top = /bits/ 8 <(-13) (-13) (-13) (-13) (-13)>;
qcom,phy-rescode-offset-bot = /bits/ 8 <(-13) (-13) (-13) (-13) (-13)>; qcom,phy-rescode-offset-bot = /bits/ 8 <(-13) (-13) (-13) (-13) (-13)>;
qcom,phy-drive-ldo-level = <375>; qcom,phy-drive-ldo-level = <375>;
......
...@@ -52,7 +52,31 @@ keyboard-controller { ...@@ -52,7 +52,31 @@ keyboard-controller {
}; };
}; };
&dsi0 { &gpio_keys {
status = "okay";
};
&i2c4 {
status = "okay";
clock-frequency = <400000>;
ap_ts: touchscreen@10 {
compatible = "hid-over-i2c";
reg = <0x10>;
pinctrl-names = "default";
pinctrl-0 = <&ts_int_l>, <&ts_reset_l>;
interrupt-parent = <&tlmm>;
interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
post-power-on-delay-ms = <20>;
hid-descr-addr = <0x0001>;
vdd-supply = <&pp3300_ts>;
};
};
&mdss_dsi0 {
panel: panel@0 { panel: panel@0 {
/* Compatible will be filled in per-board */ /* Compatible will be filled in per-board */
reg = <0>; reg = <0>;
...@@ -67,7 +91,7 @@ panel: panel@0 { ...@@ -67,7 +91,7 @@ panel: panel@0 {
port { port {
panel_in: endpoint { panel_in: endpoint {
remote-endpoint = <&dsi0_out>; remote-endpoint = <&mdss_dsi0_out>;
}; };
}; };
}; };
...@@ -82,30 +106,6 @@ endpoint { ...@@ -82,30 +106,6 @@ endpoint {
}; };
}; };
&gpio_keys {
status = "okay";
};
&i2c4 {
status = "okay";
clock-frequency = <400000>;
ap_ts: touchscreen@10 {
compatible = "hid-over-i2c";
reg = <0x10>;
pinctrl-names = "default";
pinctrl-0 = <&ts_int_l>, <&ts_reset_l>;
interrupt-parent = <&tlmm>;
interrupts = <9 IRQ_TYPE_LEVEL_LOW>;
post-power-on-delay-ms = <20>;
hid-descr-addr = <0x0001>;
vdd-supply = <&pp3300_ts>;
};
};
&sdhc_2 { &sdhc_2 {
status = "okay"; status = "okay";
}; };
......
...@@ -27,10 +27,6 @@ &pp3300_dx_edp { ...@@ -27,10 +27,6 @@ &pp3300_dx_edp {
/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */ /* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */
&dsi0_out {
remote-endpoint = <&sn65dsi86_in>;
};
edp_brij_i2c: &i2c2 { edp_brij_i2c: &i2c2 {
status = "okay"; status = "okay";
clock-frequency = <400000>; clock-frequency = <400000>;
...@@ -65,7 +61,7 @@ ports { ...@@ -65,7 +61,7 @@ ports {
port@0 { port@0 {
reg = <0>; reg = <0>;
sn65dsi86_in: endpoint { sn65dsi86_in: endpoint {
remote-endpoint = <&dsi0_out>; remote-endpoint = <&mdss_dsi0_out>;
}; };
}; };
...@@ -95,6 +91,10 @@ panel_in_edp: endpoint { ...@@ -95,6 +91,10 @@ panel_in_edp: endpoint {
}; };
}; };
&mdss_dsi0_out {
remote-endpoint = <&sn65dsi86_in>;
};
&tlmm { &tlmm {
edp_brij_irq: edp-brij-irq-state { edp_brij_irq: edp-brij-irq-state {
pins = "gpio11"; pins = "gpio11";
......
...@@ -17,7 +17,7 @@ / { ...@@ -17,7 +17,7 @@ / {
compatible = "google,wormdingler-sku1024", "qcom,sc7180"; compatible = "google,wormdingler-sku1024", "qcom,sc7180";
}; };
&dsi_phy { &mdss_dsi0_phy {
qcom,phy-rescode-offset-top = /bits/ 8 <31 31 31 31 (-32)>; qcom,phy-rescode-offset-top = /bits/ 8 <31 31 31 31 (-32)>;
qcom,phy-rescode-offset-bot = /bits/ 8 <31 31 31 31 (-32)>; qcom,phy-rescode-offset-bot = /bits/ 8 <31 31 31 31 (-32)>;
qcom,phy-drive-ldo-level = <450>; qcom,phy-drive-ldo-level = <450>;
......
...@@ -110,7 +110,28 @@ keyboard-controller { ...@@ -110,7 +110,28 @@ keyboard-controller {
}; };
}; };
&dsi0 { &i2c4 {
status = "okay";
clock-frequency = <400000>;
ap_ts: touchscreen@1 {
compatible = "hid-over-i2c";
reg = <0x01>;
pinctrl-names = "default";
pinctrl-0 = <&ts_int_l>;
interrupt-parent = <&tlmm>;
interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
post-power-on-delay-ms = <70>;
hid-descr-addr = <0x0001>;
vdd-supply = <&pp3300_ts>;
vddl-supply = <&pp1800_ts>;
};
};
&mdss_dsi0 {
panel: panel@0 { panel: panel@0 {
reg = <0>; reg = <0>;
...@@ -126,7 +147,7 @@ panel: panel@0 { ...@@ -126,7 +147,7 @@ panel: panel@0 {
port { port {
panel_in: endpoint { panel_in: endpoint {
remote-endpoint = <&dsi0_out>; remote-endpoint = <&mdss_dsi0_out>;
}; };
}; };
}; };
...@@ -141,27 +162,6 @@ endpoint { ...@@ -141,27 +162,6 @@ endpoint {
}; };
}; };
&i2c4 {
status = "okay";
clock-frequency = <400000>;
ap_ts: touchscreen@1 {
compatible = "hid-over-i2c";
reg = <0x01>;
pinctrl-names = "default";
pinctrl-0 = <&ts_int_l>;
interrupt-parent = <&tlmm>;
interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
post-power-on-delay-ms = <70>;
hid-descr-addr = <0x0001>;
vdd-supply = <&pp3300_ts>;
vddl-supply = <&pp1800_ts>;
};
};
&pm6150_adc { &pm6150_adc {
skin-temp-thermistor@4d { skin-temp-thermistor@4d {
reg = <ADC5_AMUX_THM1_100K_PU>; reg = <ADC5_AMUX_THM1_100K_PU>;
......
...@@ -705,20 +705,6 @@ &camcc { ...@@ -705,20 +705,6 @@ &camcc {
status = "disabled"; status = "disabled";
}; };
&dsi0 {
status = "okay";
vdda-supply = <&vdda_mipi_dsi0_1p2>;
};
&dsi0_out {
data-lanes = <0 1 2 3>;
};
&dsi_phy {
status = "okay";
vdds-supply = <&vdda_mipi_dsi0_pll>;
};
ap_sar_sensor_i2c: &i2c5 { ap_sar_sensor_i2c: &i2c5 {
clock-frequency = <400000>; clock-frequency = <400000>;
...@@ -836,6 +822,20 @@ &mdss_dp_out { ...@@ -836,6 +822,20 @@ &mdss_dp_out {
link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>; link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>;
}; };
&mdss_dsi0 {
status = "okay";
vdda-supply = <&vdda_mipi_dsi0_1p2>;
};
&mdss_dsi0_out {
data-lanes = <0 1 2 3>;
};
&mdss_dsi0_phy {
status = "okay";
vdds-supply = <&vdda_mipi_dsi0_pll>;
};
&pm6150_adc { &pm6150_adc {
charger-thermistor@4f { charger-thermistor@4f {
reg = <ADC5_AMUX_THM3_100K_PU>; reg = <ADC5_AMUX_THM3_100K_PU>;
......
...@@ -2996,7 +2996,7 @@ ports { ...@@ -2996,7 +2996,7 @@ ports {
port@0 { port@0 {
reg = <0>; reg = <0>;
dpu_intf1_out: endpoint { dpu_intf1_out: endpoint {
remote-endpoint = <&dsi0_in>; remote-endpoint = <&mdss_dsi0_in>;
}; };
}; };
...@@ -3033,7 +3033,7 @@ opp-460000000 { ...@@ -3033,7 +3033,7 @@ opp-460000000 {
}; };
}; };
dsi0: dsi@ae94000 { mdss_dsi0: dsi@ae94000 {
compatible = "qcom,sc7180-dsi-ctrl", compatible = "qcom,sc7180-dsi-ctrl",
"qcom,mdss-dsi-ctrl"; "qcom,mdss-dsi-ctrl";
reg = <0 0x0ae94000 0 0x400>; reg = <0 0x0ae94000 0 0x400>;
...@@ -3056,12 +3056,12 @@ dsi0: dsi@ae94000 { ...@@ -3056,12 +3056,12 @@ dsi0: dsi@ae94000 {
"bus"; "bus";
assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>; assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>, <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
assigned-clock-parents = <&dsi_phy 0>, <&dsi_phy 1>; assigned-clock-parents = <&mdss_dsi0_phy 0>, <&mdss_dsi0_phy 1>;
operating-points-v2 = <&dsi_opp_table>; operating-points-v2 = <&dsi_opp_table>;
power-domains = <&rpmhpd SC7180_CX>; power-domains = <&rpmhpd SC7180_CX>;
phys = <&dsi_phy>; phys = <&mdss_dsi0_phy>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
...@@ -3074,14 +3074,14 @@ ports { ...@@ -3074,14 +3074,14 @@ ports {
port@0 { port@0 {
reg = <0>; reg = <0>;
dsi0_in: endpoint { mdss_dsi0_in: endpoint {
remote-endpoint = <&dpu_intf1_out>; remote-endpoint = <&dpu_intf1_out>;
}; };
}; };
port@1 { port@1 {
reg = <1>; reg = <1>;
dsi0_out: endpoint { mdss_dsi0_out: endpoint {
}; };
}; };
}; };
...@@ -3106,13 +3106,13 @@ opp-358000000 { ...@@ -3106,13 +3106,13 @@ opp-358000000 {
}; };
}; };
dsi_phy: phy@ae94400 { mdss_dsi0_phy: phy@ae94400 {
compatible = "qcom,dsi-phy-10nm"; compatible = "qcom,dsi-phy-10nm";
reg = <0 0x0ae94400 0 0x200>, reg = <0 0x0ae94400 0 0x200>,
<0 0x0ae94600 0 0x280>, <0 0x0ae94600 0 0x280>,
<0 0x0ae94a00 0 0x1e0>; <0 0x0ae94a00 0 0x1e0>;
reg-names = "dsi_phy", reg-names = "dsi0_phy",
"dsi_phy_lane", "dsi0_phy_lane",
"dsi_pll"; "dsi_pll";
#clock-cells = <1>; #clock-cells = <1>;
...@@ -3203,8 +3203,8 @@ dispcc: clock-controller@af00000 { ...@@ -3203,8 +3203,8 @@ dispcc: clock-controller@af00000 {
reg = <0 0x0af00000 0 0x200000>; reg = <0 0x0af00000 0 0x200000>;
clocks = <&rpmhcc RPMH_CXO_CLK>, clocks = <&rpmhcc RPMH_CXO_CLK>,
<&gcc GCC_DISP_GPLL0_CLK_SRC>, <&gcc GCC_DISP_GPLL0_CLK_SRC>,
<&dsi_phy 0>, <&mdss_dsi0_phy 0>,
<&dsi_phy 1>, <&mdss_dsi0_phy 1>,
<&dp_phy 0>, <&dp_phy 0>,
<&dp_phy 1>; <&dp_phy 1>;
clock-names = "bi_tcxo", clock-names = "bi_tcxo",
......
...@@ -467,10 +467,6 @@ &mdss_dp_out { ...@@ -467,10 +467,6 @@ &mdss_dp_out {
link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>; link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000>;
}; };
&mdss_mdp {
status = "okay";
};
/* NVMe drive, enabled on a per-board basis */ /* NVMe drive, enabled on a per-board basis */
&pcie1 { &pcie1 {
pinctrl-names = "default"; pinctrl-names = "default";
......
...@@ -3872,8 +3872,6 @@ mdss_mdp: display-controller@ae01000 { ...@@ -3872,8 +3872,6 @@ mdss_mdp: display-controller@ae01000 {
interrupt-parent = <&mdss>; interrupt-parent = <&mdss>;
interrupts = <0>; interrupts = <0>;
status = "disabled";
ports { ports {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
...@@ -3881,7 +3879,7 @@ ports { ...@@ -3881,7 +3879,7 @@ ports {
port@0 { port@0 {
reg = <0>; reg = <0>;
dpu_intf1_out: endpoint { dpu_intf1_out: endpoint {
remote-endpoint = <&dsi0_in>; remote-endpoint = <&mdss_dsi0_in>;
}; };
}; };
...@@ -3966,14 +3964,14 @@ ports { ...@@ -3966,14 +3964,14 @@ ports {
port@0 { port@0 {
reg = <0>; reg = <0>;
dsi0_in: endpoint { mdss_dsi0_in: endpoint {
remote-endpoint = <&dpu_intf1_out>; remote-endpoint = <&dpu_intf1_out>;
}; };
}; };
port@1 { port@1 {
reg = <1>; reg = <1>;
dsi0_out: endpoint { mdss_dsi0_out: endpoint {
}; };
}; };
}; };
......
...@@ -291,10 +291,6 @@ vreg_l16e_3p0: ldo16 { ...@@ -291,10 +291,6 @@ vreg_l16e_3p0: ldo16 {
}; };
}; };
&dispcc {
status = "okay";
};
&gpu { &gpu {
status = "okay"; status = "okay";
......
...@@ -2310,7 +2310,8 @@ gpucc: clock-controller@2c90000 { ...@@ -2310,7 +2310,8 @@ gpucc: clock-controller@2c90000 {
}; };
adreno_smmu: iommu@2ca0000 { adreno_smmu: iommu@2ca0000 {
compatible = "qcom,sc8180x-smmu-500", "arm,mmu-500"; compatible = "qcom,sc8180x-smmu-500", "qcom,adreno-smmu",
"qcom,smmu-500", "arm,mmu-500";
reg = <0 0x02ca0000 0 0x10000>; reg = <0 0x02ca0000 0 0x10000>;
#iommu-cells = <2>; #iommu-cells = <2>;
#global-interrupts = <1>; #global-interrupts = <1>;
...@@ -2732,14 +2733,14 @@ dpu_intf0_out: endpoint { ...@@ -2732,14 +2733,14 @@ dpu_intf0_out: endpoint {
port@1 { port@1 {
reg = <1>; reg = <1>;
dpu_intf1_out: endpoint { dpu_intf1_out: endpoint {
remote-endpoint = <&dsi0_in>; remote-endpoint = <&mdss_dsi0_in>;
}; };
}; };
port@2 { port@2 {
reg = <2>; reg = <2>;
dpu_intf2_out: endpoint { dpu_intf2_out: endpoint {
remote-endpoint = <&dsi1_in>; remote-endpoint = <&mdss_dsi1_in>;
}; };
}; };
...@@ -2783,7 +2784,7 @@ opp-460000000 { ...@@ -2783,7 +2784,7 @@ opp-460000000 {
}; };
}; };
dsi0: dsi@ae94000 { mdss_dsi0: dsi@ae94000 {
compatible = "qcom,mdss-dsi-ctrl"; compatible = "qcom,mdss-dsi-ctrl";
reg = <0 0x0ae94000 0 0x400>; reg = <0 0x0ae94000 0 0x400>;
reg-names = "dsi_ctrl"; reg-names = "dsi_ctrl";
...@@ -2807,7 +2808,7 @@ dsi0: dsi@ae94000 { ...@@ -2807,7 +2808,7 @@ dsi0: dsi@ae94000 {
operating-points-v2 = <&dsi_opp_table>; operating-points-v2 = <&dsi_opp_table>;
power-domains = <&rpmhpd SC8180X_MMCX>; power-domains = <&rpmhpd SC8180X_MMCX>;
phys = <&dsi0_phy>; phys = <&mdss_dsi0_phy>;
phy-names = "dsi"; phy-names = "dsi";
status = "disabled"; status = "disabled";
...@@ -2818,14 +2819,14 @@ ports { ...@@ -2818,14 +2819,14 @@ ports {
port@0 { port@0 {
reg = <0>; reg = <0>;
dsi0_in: endpoint { mdss_dsi0_in: endpoint {
remote-endpoint = <&dpu_intf1_out>; remote-endpoint = <&dpu_intf1_out>;
}; };
}; };
port@1 { port@1 {
reg = <1>; reg = <1>;
dsi0_out: endpoint { mdss_dsi0_out: endpoint {
}; };
}; };
}; };
...@@ -2850,7 +2851,7 @@ opp-358000000 { ...@@ -2850,7 +2851,7 @@ opp-358000000 {
}; };
}; };
dsi0_phy: dsi-phy@ae94400 { mdss_dsi0_phy: dsi-phy@ae94400 {
compatible = "qcom,dsi-phy-7nm"; compatible = "qcom,dsi-phy-7nm";
reg = <0 0x0ae94400 0 0x200>, reg = <0 0x0ae94400 0 0x200>,
<0 0x0ae94600 0 0x280>, <0 0x0ae94600 0 0x280>,
...@@ -2869,7 +2870,7 @@ dsi0_phy: dsi-phy@ae94400 { ...@@ -2869,7 +2870,7 @@ dsi0_phy: dsi-phy@ae94400 {
status = "disabled"; status = "disabled";
}; };
dsi1: dsi@ae96000 { mdss_dsi1: dsi@ae96000 {
compatible = "qcom,mdss-dsi-ctrl"; compatible = "qcom,mdss-dsi-ctrl";
reg = <0 0x0ae96000 0 0x400>; reg = <0 0x0ae96000 0 0x400>;
reg-names = "dsi_ctrl"; reg-names = "dsi_ctrl";
...@@ -2893,7 +2894,7 @@ dsi1: dsi@ae96000 { ...@@ -2893,7 +2894,7 @@ dsi1: dsi@ae96000 {
operating-points-v2 = <&dsi_opp_table>; operating-points-v2 = <&dsi_opp_table>;
power-domains = <&rpmhpd SC8180X_MMCX>; power-domains = <&rpmhpd SC8180X_MMCX>;
phys = <&dsi1_phy>; phys = <&mdss_dsi1_phy>;
phy-names = "dsi"; phy-names = "dsi";
status = "disabled"; status = "disabled";
...@@ -2904,20 +2905,20 @@ ports { ...@@ -2904,20 +2905,20 @@ ports {
port@0 { port@0 {
reg = <0>; reg = <0>;
dsi1_in: endpoint { mdss_dsi1_in: endpoint {
remote-endpoint = <&dpu_intf2_out>; remote-endpoint = <&dpu_intf2_out>;
}; };
}; };
port@1 { port@1 {
reg = <1>; reg = <1>;
dsi1_out: endpoint { mdss_dsi1_out: endpoint {
}; };
}; };
}; };
}; };
dsi1_phy: dsi-phy@ae96400 { mdss_dsi1_phy: dsi-phy@ae96400 {
compatible = "qcom,dsi-phy-7nm"; compatible = "qcom,dsi-phy-7nm";
reg = <0 0x0ae96400 0 0x200>, reg = <0 0x0ae96400 0 0x200>,
<0 0x0ae96600 0 0x280>, <0 0x0ae96600 0 0x280>,
...@@ -2965,7 +2966,7 @@ mdss_dp0: displayport-controller@ae90000 { ...@@ -2965,7 +2966,7 @@ mdss_dp0: displayport-controller@ae90000 {
#sound-dai-cells = <0>; #sound-dai-cells = <0>;
operating-points-v2 = <&dp0_opp_table>; operating-points-v2 = <&dp0_opp_table>;
power-domains = <&rpmhpd SC8180X_CX>; power-domains = <&rpmhpd SC8180X_MMCX>;
status = "disabled"; status = "disabled";
...@@ -3039,7 +3040,7 @@ mdss_dp1: displayport-controller@ae98000 { ...@@ -3039,7 +3040,7 @@ mdss_dp1: displayport-controller@ae98000 {
#sound-dai-cells = <0>; #sound-dai-cells = <0>;
operating-points-v2 = <&dp0_opp_table>; operating-points-v2 = <&dp0_opp_table>;
power-domains = <&rpmhpd SC8180X_CX>; power-domains = <&rpmhpd SC8180X_MMCX>;
status = "disabled"; status = "disabled";
...@@ -3113,7 +3114,7 @@ mdss_edp: displayport-controller@ae9a000 { ...@@ -3113,7 +3114,7 @@ mdss_edp: displayport-controller@ae9a000 {
#sound-dai-cells = <0>; #sound-dai-cells = <0>;
operating-points-v2 = <&edp_opp_table>; operating-points-v2 = <&edp_opp_table>;
power-domains = <&rpmhpd SC8180X_CX>; power-domains = <&rpmhpd SC8180X_MMCX>;
status = "disabled"; status = "disabled";
...@@ -3495,6 +3496,7 @@ apps_rsc: rsc@18200000 { ...@@ -3495,6 +3496,7 @@ apps_rsc: rsc@18200000 {
<WAKE_TCS 1>, <WAKE_TCS 1>,
<CONTROL_TCS 0>; <CONTROL_TCS 0>;
label = "apps_rsc"; label = "apps_rsc";
power-domains = <&CLUSTER_PD>;
apps_bcm_voter: bcm-voter { apps_bcm_voter: bcm-voter {
compatible = "qcom,bcm-voter"; compatible = "qcom,bcm-voter";
......
...@@ -210,6 +210,11 @@ vreg_wwan: regulator-wwan { ...@@ -210,6 +210,11 @@ vreg_wwan: regulator-wwan {
}; };
reserved-memory { reserved-memory {
gpu_mem: gpu-mem@8bf00000 {
reg = <0 0x8bf00000 0 0x2000>;
no-map;
};
linux,cma { linux,cma {
compatible = "shared-dma-pool"; compatible = "shared-dma-pool";
size = <0x0 0x8000000>; size = <0x0 0x8000000>;
...@@ -390,6 +395,15 @@ &dispcc0 { ...@@ -390,6 +395,15 @@ &dispcc0 {
status = "okay"; status = "okay";
}; };
&gpu {
status = "okay";
zap-shader {
memory-region = <&gpu_mem>;
firmware-name = "qcom/sc8280xp/qcdxkmsuc8280.mbn";
};
};
&mdss0 { &mdss0 {
status = "okay"; status = "okay";
}; };
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -1264,6 +1264,7 @@ apps_rsc: rsc@179c0000 { ...@@ -1264,6 +1264,7 @@ apps_rsc: rsc@179c0000 {
<SLEEP_TCS 3>, <SLEEP_TCS 3>,
<WAKE_TCS 3>, <WAKE_TCS 3>,
<CONTROL_TCS 1>; <CONTROL_TCS 1>;
power-domains = <&CLUSTER_PD>;
apps_bcm_voter: bcm-voter { apps_bcm_voter: bcm-voter {
compatible = "qcom,bcm-voter"; compatible = "qcom,bcm-voter";
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -51,6 +51,10 @@ max98927_codec: max98927@3a { ...@@ -51,6 +51,10 @@ max98927_codec: max98927@3a {
}; };
}; };
&pmi8998_charger {
monitored-battery = <&battery>;
};
&sound { &sound {
model = "OnePlus 6"; model = "OnePlus 6";
audio-routing = "RX_BIAS", "MCLK", audio-routing = "RX_BIAS", "MCLK",
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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