* [PATCH v2 1/3] arm64: dts: qcom: sm8250: Disable Adreno and Venus by default @ 2021-06-12 19:23 Konrad Dybcio 2021-06-12 19:23 ` [PATCH v2 2/3] arm64: dts: qcom: sm8250: Add SDHCI2 pinctrl Konrad Dybcio 2021-06-12 19:23 ` [PATCH v2 3/3] arm64: dts: qcom: Add support for SONY Xperia 1 II / 5 II (Edo platform) Konrad Dybcio 0 siblings, 2 replies; 8+ messages in thread From: Konrad Dybcio @ 2021-06-12 19:23 UTC (permalink / raw) To: ~postmarketos/upstreaming Cc: martin.botka, angelogioacchino.delregno, marijn.suijten, jamipkettunen, Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring, linux-arm-msm, devicetree, linux-kernel Components that rely on proprietary (not to mention signed!) firmware should not be enabled by default, as lack of the aforementioned firmware could cause various issues, from random errors to straight-up failing to boot. Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org> --- <no changes> arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 10 ++++++++++ arch/arm64/boot/dts/qcom/sm8250-hdk.dts | 12 ++++++++++++ arch/arm64/boot/dts/qcom/sm8250-mtp.dts | 10 ++++++++++ arch/arm64/boot/dts/qcom/sm8250.dtsi | 6 ++++++ 4 files changed, 38 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts index 5f41de20aa22..a5b742325261 100644 --- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts +++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts @@ -552,7 +552,13 @@ &dsi0_phy { vdds-supply = <&vreg_l5a_0p88>; }; +&gmu { + status = "okay"; +}; + &gpu { + status = "okay"; + zap-shader { memory-region = <&gpu_mem>; firmware-name = "qcom/sm8250/a650_zap.mbn"; @@ -1352,6 +1358,10 @@ &vamacro { qcom,dmic-sample-rate = <600000>; }; +&venus { + status = "okay"; +}; + /* PINCTRL - additions to nodes defined in sm8250.dtsi */ &qup_spi0_cs_gpio { drive-strength = <6>; diff --git a/arch/arm64/boot/dts/qcom/sm8250-hdk.dts b/arch/arm64/boot/dts/qcom/sm8250-hdk.dts index c3a2c5aa6fe9..397359ee2f85 100644 --- a/arch/arm64/boot/dts/qcom/sm8250-hdk.dts +++ b/arch/arm64/boot/dts/qcom/sm8250-hdk.dts @@ -365,6 +365,14 @@ vreg_l7f_1p8: ldo7 { }; }; +&gmu { + status = "okay"; +}; + +&gpu { + status = "okay"; +}; + &qupv3_id_1 { status = "okay"; }; @@ -452,3 +460,7 @@ &usb_1_dwc3 { &usb_2_dwc3 { dr_mode = "host"; }; + +&venus { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/qcom/sm8250-mtp.dts b/arch/arm64/boot/dts/qcom/sm8250-mtp.dts index cfc4d1febe0f..062b944be91d 100644 --- a/arch/arm64/boot/dts/qcom/sm8250-mtp.dts +++ b/arch/arm64/boot/dts/qcom/sm8250-mtp.dts @@ -465,7 +465,13 @@ &cdsp { firmware-name = "qcom/sm8250/cdsp.mbn"; }; +&gmu { + status = "okay"; +}; + &gpu { + status = "okay"; + zap-shader { memory-region = <&gpu_mem>; firmware-name = "qcom/sm8250/a650_zap.mbn"; @@ -691,3 +697,7 @@ &usb_2_qmpphy { vdda-phy-supply = <&vreg_l9a_1p2>; vdda-pll-supply = <&vreg_l18a_0p9>; }; + +&venus { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi index 4c0de12aaba6..fc1049c2bb11 100644 --- a/arch/arm64/boot/dts/qcom/sm8250.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi @@ -1746,6 +1746,8 @@ gpu: gpu@3d00000 { qcom,gmu = <&gmu>; + status = "disabled"; + zap-shader { memory-region = <&gpu_mem>; }; @@ -1819,6 +1821,8 @@ gmu: gmu@3d6a000 { operating-points-v2 = <&gmu_opp_table>; + status = "disabled"; + gmu_opp_table: opp-table { compatible = "operating-points-v2"; @@ -2323,6 +2327,8 @@ venus: video-codec@aa00000 { <&videocc VIDEO_CC_MVS0C_CLK_ARES>; reset-names = "bus", "core"; + status = "disabled"; + video-decoder { compatible = "venus-decoder"; }; -- 2.32.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 2/3] arm64: dts: qcom: sm8250: Add SDHCI2 pinctrl 2021-06-12 19:23 [PATCH v2 1/3] arm64: dts: qcom: sm8250: Disable Adreno and Venus by default Konrad Dybcio @ 2021-06-12 19:23 ` Konrad Dybcio 2021-06-13 20:17 ` [PATCH] arm64: dts: qcom: qrb5165-rb5: Fix up pins Konrad Dybcio 2021-06-15 23:39 ` [PATCH v2 2/3] arm64: dts: qcom: sm8250: Add SDHCI2 pinctrl Bjorn Andersson 2021-06-12 19:23 ` [PATCH v2 3/3] arm64: dts: qcom: Add support for SONY Xperia 1 II / 5 II (Edo platform) Konrad Dybcio 1 sibling, 2 replies; 8+ messages in thread From: Konrad Dybcio @ 2021-06-12 19:23 UTC (permalink / raw) To: ~postmarketos/upstreaming Cc: martin.botka, angelogioacchino.delregno, marijn.suijten, jamipkettunen, Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring, linux-arm-msm, devicetree, linux-kernel Add required pins for SDHCI2, so that the interface can work reliably. The configuration comes from a MTP board, which conveniently means it's going to be correct for the vast majority of phones (and other devices). Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org> --- Changes since v1: - Separate this into its own patch arch/arm64/boot/dts/qcom/sm8250.dtsi | 32 ++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi index fc1049c2bb11..fe858abbff5d 100644 --- a/arch/arm64/boot/dts/qcom/sm8250.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi @@ -8,6 +8,7 @@ #include <dt-bindings/clock/qcom,gcc-sm8250.h> #include <dt-bindings/clock/qcom,gpucc-sm8250.h> #include <dt-bindings/clock/qcom,rpmh.h> +#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/interconnect/qcom,osm-l3.h> #include <dt-bindings/interconnect/qcom,sm8250.h> #include <dt-bindings/mailbox/qcom-ipcc.h> @@ -2157,6 +2158,10 @@ sdhc_2: sdhci@8804000 { power-domains = <&rpmhpd SM8250_CX>; operating-points-v2 = <&sdhc2_opp_table>; + cd-gpios = <&tlmm 77 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>; + pinctrl-names = "default"; + status = "disabled"; sdhc2_opp_table: sdhc2-opp-table { @@ -3401,6 +3406,33 @@ ws { output-high; }; }; + + sdc2_default_state: sdc2-default { + clk { + pins = "sdc2_clk"; + drive-strength = <16>; + bias-disable; + }; + + cmd { + pins = "sdc2_cmd"; + drive-strength = <16>; + bias-pull-up; + }; + + data { + pins = "sdc2_data"; + drive-strength = <16>; + bias-pull-up; + }; + }; + + sdc2_card_det_n: sd-card-det-n { + pins = "gpio77"; + function = "gpio"; + bias-pull-up; + drive-strength = <2>; + }; }; apps_smmu: iommu@15000000 { -- 2.32.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH] arm64: dts: qcom: qrb5165-rb5: Fix up pins 2021-06-12 19:23 ` [PATCH v2 2/3] arm64: dts: qcom: sm8250: Add SDHCI2 pinctrl Konrad Dybcio @ 2021-06-13 20:17 ` Konrad Dybcio 2021-06-15 23:39 ` [PATCH v2 2/3] arm64: dts: qcom: sm8250: Add SDHCI2 pinctrl Bjorn Andersson 1 sibling, 0 replies; 8+ messages in thread From: Konrad Dybcio @ 2021-06-13 20:17 UTC (permalink / raw) To: ~postmarketos/upstreaming Cc: martin.botka, angelogioacchino.delregno, marijn.suijten, jamipkettunen, Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring, linux-arm-msm, devicetree, linux-kernel In the SDHCI pin commonization commit I overlooked the fact that this board had the pins defined in its own DT. Revert their settings to the original values. Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org> --- arch/arm64/boot/dts/qcom/qrb5165-rb5.dts | 38 ++++++++---------------- arch/arm64/boot/dts/qcom/sm8250.dtsi | 4 +-- 2 files changed, 14 insertions(+), 28 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts index a5b742325261..bf05328f3901 100644 --- a/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts +++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5.dts @@ -858,6 +858,18 @@ dai@2 { }; }; +&sdc2_card_det_n { + /delete-property/ drive-strength; +}; + +&sdc2_cmd_default { + drive-strength = <10>; +}; + +&sdc2_data_default { + drive-strength = <10>; +}; + &sdhc_2 { status = "okay"; pinctrl-names = "default"; @@ -1253,32 +1265,6 @@ wake-n { bias-pull-up; }; }; - - sdc2_default_state: sdc2-default { - clk { - pins = "sdc2_clk"; - bias-disable; - drive-strength = <16>; - }; - - cmd { - pins = "sdc2_cmd"; - bias-pull-up; - drive-strength = <10>; - }; - - data { - pins = "sdc2_data"; - bias-pull-up; - drive-strength = <10>; - }; - }; - - sdc2_card_det_n: sd-card-det-n { - pins = "gpio77"; - function = "gpio"; - bias-pull-up; - }; }; &uart12 { diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi index fe858abbff5d..fab5d83f4496 100644 --- a/arch/arm64/boot/dts/qcom/sm8250.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi @@ -3414,13 +3414,13 @@ clk { bias-disable; }; - cmd { + sdc2_cmd_default: cmd { pins = "sdc2_cmd"; drive-strength = <16>; bias-pull-up; }; - data { + sdc2_data_default: data { pins = "sdc2_data"; drive-strength = <16>; bias-pull-up; -- 2.32.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 2/3] arm64: dts: qcom: sm8250: Add SDHCI2 pinctrl 2021-06-12 19:23 ` [PATCH v2 2/3] arm64: dts: qcom: sm8250: Add SDHCI2 pinctrl Konrad Dybcio 2021-06-13 20:17 ` [PATCH] arm64: dts: qcom: qrb5165-rb5: Fix up pins Konrad Dybcio @ 2021-06-15 23:39 ` Bjorn Andersson 1 sibling, 0 replies; 8+ messages in thread From: Bjorn Andersson @ 2021-06-15 23:39 UTC (permalink / raw) To: Konrad Dybcio Cc: ~postmarketos/upstreaming, martin.botka, angelogioacchino.delregno, marijn.suijten, jamipkettunen, Andy Gross, Rob Herring, linux-arm-msm, devicetree, linux-kernel On Sat 12 Jun 14:23 CDT 2021, Konrad Dybcio wrote: > Add required pins for SDHCI2, so that the interface can work reliably. > The configuration comes from a MTP board, which conveniently means it's > going to be correct for the vast majority of phones (and other devices). > > Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org> > --- > Changes since v1: > - Separate this into its own patch > > arch/arm64/boot/dts/qcom/sm8250.dtsi | 32 ++++++++++++++++++++++++++++ > 1 file changed, 32 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi > index fc1049c2bb11..fe858abbff5d 100644 > --- a/arch/arm64/boot/dts/qcom/sm8250.dtsi > +++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi > @@ -8,6 +8,7 @@ > #include <dt-bindings/clock/qcom,gcc-sm8250.h> > #include <dt-bindings/clock/qcom,gpucc-sm8250.h> > #include <dt-bindings/clock/qcom,rpmh.h> > +#include <dt-bindings/gpio/gpio.h> > #include <dt-bindings/interconnect/qcom,osm-l3.h> > #include <dt-bindings/interconnect/qcom,sm8250.h> > #include <dt-bindings/mailbox/qcom-ipcc.h> > @@ -2157,6 +2158,10 @@ sdhc_2: sdhci@8804000 { > power-domains = <&rpmhpd SM8250_CX>; > operating-points-v2 = <&sdhc2_opp_table>; > > + cd-gpios = <&tlmm 77 GPIO_ACTIVE_HIGH>; > + pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>; > + pinctrl-names = "default"; > + > status = "disabled"; > > sdhc2_opp_table: sdhc2-opp-table { > @@ -3401,6 +3406,33 @@ ws { > output-high; > }; > }; > + > + sdc2_default_state: sdc2-default { > + clk { > + pins = "sdc2_clk"; > + drive-strength = <16>; The fact that RB5 has these as 16/10/10 seems to show that these should be board-specific (as we typically have them). So please follow that. (The sleep state on other hand is not going to change, so that I'm okay with you define here for all boards to use). Regards, Bjorn > + bias-disable; > + }; > + > + cmd { > + pins = "sdc2_cmd"; > + drive-strength = <16>; > + bias-pull-up; > + }; > + > + data { > + pins = "sdc2_data"; > + drive-strength = <16>; > + bias-pull-up; > + }; > + }; > + > + sdc2_card_det_n: sd-card-det-n { > + pins = "gpio77"; > + function = "gpio"; > + bias-pull-up; > + drive-strength = <2>; > + }; > }; > > apps_smmu: iommu@15000000 { > -- > 2.32.0 > ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 3/3] arm64: dts: qcom: Add support for SONY Xperia 1 II / 5 II (Edo platform) 2021-06-12 19:23 [PATCH v2 1/3] arm64: dts: qcom: sm8250: Disable Adreno and Venus by default Konrad Dybcio 2021-06-12 19:23 ` [PATCH v2 2/3] arm64: dts: qcom: sm8250: Add SDHCI2 pinctrl Konrad Dybcio @ 2021-06-12 19:23 ` Konrad Dybcio 2021-06-15 7:35 ` Marijn Suijten 2021-06-15 23:45 ` Bjorn Andersson 1 sibling, 2 replies; 8+ messages in thread From: Konrad Dybcio @ 2021-06-12 19:23 UTC (permalink / raw) To: ~postmarketos/upstreaming Cc: martin.botka, angelogioacchino.delregno, marijn.suijten, jamipkettunen, Konrad Dybcio, Andy Gross, Bjorn Andersson, Rob Herring, linux-arm-msm, devicetree, linux-kernel, Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck Add support for SONY Xperia 1 II and 5 II smartphones (read one/five mark two). They are based on the Qualcomm SM8250 chipset and both feature 5G modems. There also exists a third Edo board, namely the Xperia PRO (PDX204), but it's $2500 and no developers have obtained it so far (to my knowledge). The devices are affected by a scary UFS behaviour where sending a certain UFS command (which is worked around on downstream) renders the device unbootable, by effectively erasing the bootloader. Therefore UFS AND UFSPHY are strictly disabled for now. Downstream workaround: https://github.com/kholk/kernel/commit/2e7a9ee1c91a016baa0b826a7752ec45663a0561 Tested-by: Marijn Suijten <marijn.suijten@somainline.org> Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org> --- Changes since v1: - Separate the sdhci2 pinctrl part - Fix up some regulator settings and comments - Add Marijn's t-b arch/arm64/boot/dts/qcom/Makefile | 2 + .../qcom/sm8250-sony-xperia-edo-pdx203.dts | 15 + .../qcom/sm8250-sony-xperia-edo-pdx206.dts | 24 + .../boot/dts/qcom/sm8250-sony-xperia-edo.dtsi | 494 ++++++++++++++++++ 4 files changed, 535 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx203.dts create mode 100644 arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx206.dts create mode 100644 arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index 456502aeee49..a3b832d9fc0c 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -73,5 +73,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8150-hdk.dtb dtb-$(CONFIG_ARCH_QCOM) += sm8150-mtp.dtb dtb-$(CONFIG_ARCH_QCOM) += sm8250-hdk.dtb dtb-$(CONFIG_ARCH_QCOM) += sm8250-mtp.dtb +dtb-$(CONFIG_ARCH_QCOM) += sm8250-sony-xperia-edo-pdx203.dtb +dtb-$(CONFIG_ARCH_QCOM) += sm8250-sony-xperia-edo-pdx206.dtb dtb-$(CONFIG_ARCH_QCOM) += sm8350-hdk.dtb dtb-$(CONFIG_ARCH_QCOM) += sm8350-mtp.dtb diff --git a/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx203.dts b/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx203.dts new file mode 100644 index 000000000000..79afeb07f4a2 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx203.dts @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org> + */ + +/dts-v1/; + +#include "sm8250-sony-xperia-edo.dtsi" + +/ { + model = "Sony Xperia 1 II"; + compatible = "sony,pdx203-generic", "qcom,sm8250"; +}; + +/delete-node/ &vreg_l7f_1p8; diff --git a/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx206.dts b/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx206.dts new file mode 100644 index 000000000000..999b662f4679 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx206.dts @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org> + */ + +/dts-v1/; + +#include "sm8250-sony-xperia-edo.dtsi" + +/ { + model = "Sony Xperia 5 II"; + compatible = "sony,pdx206-generic", "qcom,sm8250"; +}; + +&framebuffer { + width = <1080>; + height = <2520>; + stride = <(1080 * 4)>; +}; + +&vreg_l2f_1p3 { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; +}; diff --git a/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi b/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi new file mode 100644 index 000000000000..df251b51b106 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi @@ -0,0 +1,494 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org> + */ + +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> +#include "sm8250.dtsi" +#include "pm8150.dtsi" +#include "pm8150b.dtsi" +#include "pm8150l.dtsi" +#include "pm8009.dtsi" + +/delete-node/ &adsp_mem; +/delete-node/ &spss_mem; +/delete-node/ &cdsp_secure_heap; + +/ { + qcom,msm-id = <356 0x20001>; /* SM8250 v2.1 */ + qcom,board-id = <0x10008 0>; + + chosen { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + framebuffer: framebuffer@9c000000 { + compatible = "simple-framebuffer"; + reg = <0 0x9c000000 0 0x2300000>; + width = <1644>; + height = <3840>; + stride = <(1644 * 4)>; + format = "a8r8g8b8"; + /* + * That's a lot of clocks, but it's necessary due + * to unused clk cleanup & no panel driver yet.. + */ + clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, + <&gcc GCC_DISP_HF_AXI_CLK>, + <&gcc GCC_DISP_SF_AXI_CLK>, + <&dispcc DISP_CC_MDSS_VSYNC_CLK>, + <&dispcc DISP_CC_MDSS_MDP_CLK>, + <&dispcc DISP_CC_MDSS_BYTE0_CLK>, + <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, + <&dispcc DISP_CC_MDSS_PCLK0_CLK>, + <&dispcc DISP_CC_MDSS_ESC0_CLK>; + power-domains = <&dispcc MDSS_GDSC>; + }; + }; + + vph_pwr: vph-pwr-regulator { + compatible = "regulator-fixed"; + regulator-name = "vph_pwr"; + regulator-min-microvolt = <3700000>; + regulator-max-microvolt = <3700000>; + }; + + /* S6c is really ebi.lvl but it's there for supply map completeness sake. */ + vreg_s6c_0p88: smpc6-regulator { + compatible = "regulator-fixed"; + regulator-name = "vreg_s6c_0p88"; + + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <880000>; + regulator-always-on; + vin-supply = <&vph_pwr>; + }; + + reserved-memory { + adsp_mem: memory@8a100000 { + reg = <0x0 0x8a100000 0x0 0x2500000>; + no-map; + }; + + spss_mem: memory@8c600000 { + reg = <0x0 0x8c600000 0x0 0x100000>; + no-map; + }; + + cdsp_secure_heap: memory@8c700000 { + reg = <0x0 0x8c700000 0x0 0x4600000>; + no-map; + }; + + cont_splash_mem: memory@9c000000 { + reg = <0x0 0x9c000000 0x0 0x2300000>; + no-map; + }; + + ramoops@ffc00000 { + compatible = "ramoops"; + reg = <0x0 0xffc00000 0x0 0x100000>; + record-size = <0x1000>; + console-size = <0x40000>; + msg-size = <0x20000 0x20000>; + ecc-size = <16>; + no-map; + }; + }; +}; + +&apps_rsc { + pm8150-rpmh-regulators { + compatible = "qcom,pm8150-rpmh-regulators"; + qcom,pmic-id = "a"; + + vdd-s1-supply = <&vph_pwr>; + vdd-s2-supply = <&vph_pwr>; + vdd-s3-supply = <&vph_pwr>; + vdd-s4-supply = <&vph_pwr>; + vdd-s5-supply = <&vph_pwr>; + vdd-s6-supply = <&vph_pwr>; + vdd-s7-supply = <&vph_pwr>; + vdd-s8-supply = <&vph_pwr>; + vdd-s9-supply = <&vph_pwr>; + vdd-s10-supply = <&vph_pwr>; + vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>; + vdd-l2-l10-supply = <&vreg_bob>; + vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p6>; + vdd-l6-l9-supply = <&vreg_s8c_1p2>; + vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>; + vdd-l13-l16-l17-supply = <&vreg_bob>; + + /* (S1+S2+S3) - cx.lvl (ARC) */ + + vreg_s4a_1p8: smps4 { + regulator-name = "vreg_s4a_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1920000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_s5a_1p9: smps5 { + regulator-name = "vreg_s5a_1p9"; + regulator-min-microvolt = <1824000>; + regulator-max-microvolt = <2040000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_s6a_0p6: smps6 { + regulator-name = "vreg_s6a_0p6"; + regulator-min-microvolt = <600000>; + regulator-max-microvolt = <1128000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l2a_3p1: ldo2 { + regulator-name = "vreg_l2a_3p1"; + regulator-min-microvolt = <3072000>; + regulator-max-microvolt = <3072000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l3a_0p9: ldo3 { + regulator-name = "vreg_l3a_0p9"; + regulator-min-microvolt = <928000>; + regulator-max-microvolt = <932000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + /* L4 - lmx.lvl (ARC) */ + + vreg_l5a_0p88: ldo5 { + regulator-name = "vreg_l5a_0p88"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <880000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l6a_1p2: ldo6 { + regulator-name = "vreg_l6a_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + /* L7 is unused. */ + + vreg_l9a_1p2: ldo9 { + regulator-name = "vreg_l9a_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + /* L10 is unused, L11 - lcx.lvl (ARC) */ + + vreg_l12a_1p8: ldo12 { + regulator-name = "vreg_l12a_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + /* L13 is unused. */ + + vreg_l14a_1p8: ldo14 { + regulator-name = "vreg_l14a_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1880000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + /* L15 & L16 are unused. */ + + vreg_l17a_3p0: ldo17 { + regulator-name = "vreg_l17a_3p0"; + regulator-min-microvolt = <2496000>; + regulator-max-microvolt = <3008000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l18a_0p9: ldo18 { + regulator-name = "vreg_l18a_0p9"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <920000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + }; + + /* + * Remaining regulators that are not yet supported: + * OLEDB: 4925000-8100000 + * ab: 4600000-6100000 + * ibb: 800000-5400000 + */ + pm8150l-rpmh-regulators { + compatible = "qcom,pm8150l-rpmh-regulators"; + qcom,pmic-id = "c"; + + vdd-s1-supply = <&vph_pwr>; + vdd-s2-supply = <&vph_pwr>; + vdd-s3-supply = <&vph_pwr>; + vdd-s4-supply = <&vph_pwr>; + vdd-s5-supply = <&vph_pwr>; + vdd-s6-supply = <&vph_pwr>; + vdd-s7-supply = <&vph_pwr>; + vdd-s8-supply = <&vph_pwr>; + vdd-l1-l8-supply = <&vreg_s4a_1p8>; + vdd-l2-l3-supply = <&vreg_s8c_1p2>; + vdd-l4-l5-l6-supply = <&vreg_bob>; + vdd-l7-l11-supply = <&vreg_bob>; + vdd-l9-l10-supply = <&vreg_bob>; + vdd-bob-supply = <&vph_pwr>; + + vreg_bob: bob { + regulator-name = "vreg_bob"; + regulator-min-microvolt = <3350000>; + regulator-max-microvolt = <3960000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; + }; + + /* + * S1-S6 are ARCs: + * (S1+S2) - gfx.lvl, + * S3 - mx.lvl, + * (S4+S5) - mmcx.lvl, + * S6 - ebi.lvl + */ + + vreg_s7c_0p35: smps7 { + regulator-name = "vreg_s7c_0p35"; + regulator-min-microvolt = <348000>; + regulator-max-microvolt = <1000000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_s8c_1p2: smps8 { + regulator-name = "vreg_s8c_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1400000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l1c_1p8: ldo1 { + regulator-name = "vreg_l1c_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + /* L2-4 are unused. */ + + vreg_l5c_1p8: ldo5 { + regulator-name = "vreg_l5c_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2800000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l6c_2p9: ldo6 { + regulator-name = "vreg_l6c_2p9"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2960000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + }; + + vreg_l7c_2p85: ldo7 { + regulator-name = "vreg_l7c_2p85"; + regulator-min-microvolt = <2856000>; + regulator-max-microvolt = <3104000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l8c_1p8: ldo8 { + regulator-name = "vreg_l8c_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l9c_2p9: ldo9 { + regulator-name = "vreg_l9c_2p9"; + regulator-min-microvolt = <2704000>; + regulator-max-microvolt = <2960000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + regulator-allow-set-load; + }; + + vreg_l10c_3p3: ldo10 { + regulator-name = "vreg_l10c_3p3"; + regulator-min-microvolt = <3296000>; + regulator-max-microvolt = <3296000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l11c_3p0: ldo11 { + regulator-name = "vreg_l11c_3p0"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + }; + + pm8009-rpmh-regulators { + compatible = "qcom,pm8009-rpmh-regulators"; + qcom,pmic-id = "f"; + + vdd-s1-supply = <&vph_pwr>; + vdd-s2-supply = <&vreg_bob>; + vdd-l2-supply = <&vreg_s8c_1p2>; + vdd-l5-l6-supply = <&vreg_bob>; + vdd-l7-supply = <&vreg_s4a_1p8>; + + vreg_s1f_1p2: smps1 { + regulator-name = "vreg_s1f_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_s2f_0p5: smps2 { + regulator-name = "vreg_s2f_0p5"; + regulator-min-microvolt = <512000>; + regulator-max-microvolt = <1100000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + /* L1 is unused. */ + + vreg_l2f_1p3: ldo2 { + regulator-name = "vreg_l2f_1p3"; + regulator-min-microvolt = <1304000>; + regulator-max-microvolt = <1304000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + /* L3 & L4 are unused. */ + + vreg_l5f_2p8: ldo5 { + regulator-name = "vreg_l5f_2p85"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l6f_2p8: ldo6 { + regulator-name = "vreg_l6f_2p8"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + + vreg_l7f_1p8: ldo7 { + regulator-name = "vreg_l7f_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; + }; + }; +}; + +&i2c1 { + status = "okay"; + clock-frequency = <400000>; + + /* NXP PN553 NFC @ 28 */ +}; + +&i2c2 { + status = "okay"; + clock-frequency = <1000000>; + + /* Dual Cirrus Logic CS35L41 amps @ 40, 41 */ +}; + +&i2c5 { + status = "okay"; + clock-frequency = <400000>; + + /* Dialog SLG51000 CMIC @ 75 */ +}; + +&i2c9 { + status = "okay"; + clock-frequency = <400000>; + + /* AMS TCS3490 RGB+IR color sensor @ 72 */ +}; + +&i2c13 { + status = "okay"; + clock-frequency = <400000>; + + /* Samsung touchscreen @ 48 */ +}; + +&i2c15 { + status = "okay"; + clock-frequency = <400000>; + + /* Qcom SMB1390 @ 10 */ + /* Silicon Labs SI4704 FM Radio Receiver @ 11 */ + /* Qcom SMB1390_slave @ 18 */ + /* HALO HL6111R Qi charger @ 25 */ + /* Richwave RTC6226 FM Radio Receiver @ 64 */ +}; + +&qupv3_id_0 { + status = "okay"; +}; + +&qupv3_id_1 { + status = "okay"; +}; + +&qupv3_id_2 { + status = "okay"; +}; + +&sdhc_2 { + status = "okay"; + + vmmc-supply = <&vreg_l9c_2p9>; + vqmmc-supply = <&vreg_l6c_2p9>; + bus-width = <4>; + no-sdio; + no-emmc; +}; + +&tlmm { + gpio-reserved-ranges = <40 4>, <52 4>; +}; + +&uart12 { + status = "okay"; +}; + +/* BIG WARNING! DO NOT TOUCH UFS, YOUR DEVICE WILL DIE! */ +&ufs_mem_hc { status = "disabled"; }; +&ufs_mem_phy { status = "disabled"; }; + +&usb_1 { + status = "okay"; +}; + +&usb_1_dwc3 { + dr_mode = "peripheral"; +}; + +&usb_1_hsphy { + status = "okay"; + + vdda-pll-supply = <&vreg_l5a_0p88>; + vdda18-supply = <&vreg_l12a_1p8>; + vdda33-supply = <&vreg_l2a_3p1>; +}; + +&usb_1_qmpphy { + status = "okay"; + + vdda-phy-supply = <&vreg_l9a_1p2>; + vdda-pll-supply = <&vreg_l18a_0p9>; +}; -- 2.32.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: qcom: Add support for SONY Xperia 1 II / 5 II (Edo platform) 2021-06-12 19:23 ` [PATCH v2 3/3] arm64: dts: qcom: Add support for SONY Xperia 1 II / 5 II (Edo platform) Konrad Dybcio @ 2021-06-15 7:35 ` Marijn Suijten 2021-06-15 23:45 ` Bjorn Andersson 1 sibling, 0 replies; 8+ messages in thread From: Marijn Suijten @ 2021-06-15 7:35 UTC (permalink / raw) To: Konrad Dybcio, ~postmarketos/upstreaming Cc: martin.botka, angelogioacchino.delregno, jamipkettunen, Andy Gross, Bjorn Andersson, Rob Herring, linux-arm-msm, devicetree, linux-kernel, Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck On 6/12/21 9:23 PM, Konrad Dybcio wrote: > Add support for SONY Xperia 1 II and 5 II smartphones (read one/five mark two). > They are based on the Qualcomm SM8250 chipset and both feature 5G modems. There > also exists a third Edo board, namely the Xperia PRO (PDX204), but it's $2500 > and no developers have obtained it so far (to my knowledge). > > The devices are affected by a scary UFS behaviour where sending a certain UFS > command (which is worked around on downstream) renders the device unbootable, > by effectively erasing the bootloader. Therefore UFS AND UFSPHY are strictly > disabled for now. > > Downstream workaround: > https://github.com/kholk/kernel/commit/2e7a9ee1c91a016baa0b826a7752ec45663a0561 > > Tested-by: Marijn Suijten <marijn.suijten@somainline.org> > Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org> Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org> Thanks! ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: qcom: Add support for SONY Xperia 1 II / 5 II (Edo platform) 2021-06-12 19:23 ` [PATCH v2 3/3] arm64: dts: qcom: Add support for SONY Xperia 1 II / 5 II (Edo platform) Konrad Dybcio 2021-06-15 7:35 ` Marijn Suijten @ 2021-06-15 23:45 ` Bjorn Andersson 2021-06-15 23:51 ` Konrad Dybcio 1 sibling, 1 reply; 8+ messages in thread From: Bjorn Andersson @ 2021-06-15 23:45 UTC (permalink / raw) To: Konrad Dybcio Cc: ~postmarketos/upstreaming, martin.botka, angelogioacchino.delregno, marijn.suijten, jamipkettunen, Andy Gross, Rob Herring, linux-arm-msm, devicetree, linux-kernel, Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck On Sat 12 Jun 14:23 CDT 2021, Konrad Dybcio wrote: > Add support for SONY Xperia 1 II and 5 II smartphones (read one/five mark two). > They are based on the Qualcomm SM8250 chipset and both feature 5G modems. There > also exists a third Edo board, namely the Xperia PRO (PDX204), but it's $2500 > and no developers have obtained it so far (to my knowledge). > > The devices are affected by a scary UFS behaviour where sending a certain UFS > command (which is worked around on downstream) renders the device unbootable, > by effectively erasing the bootloader. Therefore UFS AND UFSPHY are strictly > disabled for now. > Ouch, that's expensive paper weights. Let's hope someone can shed some light on the UFS situation. The rest looks really nice! Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Thanks, Bjorn > Downstream workaround: > https://github.com/kholk/kernel/commit/2e7a9ee1c91a016baa0b826a7752ec45663a0561 > > Tested-by: Marijn Suijten <marijn.suijten@somainline.org> > Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org> > --- > Changes since v1: > - Separate the sdhci2 pinctrl part > - Fix up some regulator settings and comments > - Add Marijn's t-b > > arch/arm64/boot/dts/qcom/Makefile | 2 + > .../qcom/sm8250-sony-xperia-edo-pdx203.dts | 15 + > .../qcom/sm8250-sony-xperia-edo-pdx206.dts | 24 + > .../boot/dts/qcom/sm8250-sony-xperia-edo.dtsi | 494 ++++++++++++++++++ > 4 files changed, 535 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx203.dts > create mode 100644 arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx206.dts > create mode 100644 arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > index 456502aeee49..a3b832d9fc0c 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -73,5 +73,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8150-hdk.dtb > dtb-$(CONFIG_ARCH_QCOM) += sm8150-mtp.dtb > dtb-$(CONFIG_ARCH_QCOM) += sm8250-hdk.dtb > dtb-$(CONFIG_ARCH_QCOM) += sm8250-mtp.dtb > +dtb-$(CONFIG_ARCH_QCOM) += sm8250-sony-xperia-edo-pdx203.dtb > +dtb-$(CONFIG_ARCH_QCOM) += sm8250-sony-xperia-edo-pdx206.dtb > dtb-$(CONFIG_ARCH_QCOM) += sm8350-hdk.dtb > dtb-$(CONFIG_ARCH_QCOM) += sm8350-mtp.dtb > diff --git a/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx203.dts b/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx203.dts > new file mode 100644 > index 000000000000..79afeb07f4a2 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx203.dts > @@ -0,0 +1,15 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org> > + */ > + > +/dts-v1/; > + > +#include "sm8250-sony-xperia-edo.dtsi" > + > +/ { > + model = "Sony Xperia 1 II"; > + compatible = "sony,pdx203-generic", "qcom,sm8250"; > +}; > + > +/delete-node/ &vreg_l7f_1p8; > diff --git a/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx206.dts b/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx206.dts > new file mode 100644 > index 000000000000..999b662f4679 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo-pdx206.dts > @@ -0,0 +1,24 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org> > + */ > + > +/dts-v1/; > + > +#include "sm8250-sony-xperia-edo.dtsi" > + > +/ { > + model = "Sony Xperia 5 II"; > + compatible = "sony,pdx206-generic", "qcom,sm8250"; > +}; > + > +&framebuffer { > + width = <1080>; > + height = <2520>; > + stride = <(1080 * 4)>; > +}; > + > +&vreg_l2f_1p3 { > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > +}; > diff --git a/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi b/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi > new file mode 100644 > index 000000000000..df251b51b106 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi > @@ -0,0 +1,494 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org> > + */ > + > +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> > +#include "sm8250.dtsi" > +#include "pm8150.dtsi" > +#include "pm8150b.dtsi" > +#include "pm8150l.dtsi" > +#include "pm8009.dtsi" > + > +/delete-node/ &adsp_mem; > +/delete-node/ &spss_mem; > +/delete-node/ &cdsp_secure_heap; > + > +/ { > + qcom,msm-id = <356 0x20001>; /* SM8250 v2.1 */ > + qcom,board-id = <0x10008 0>; > + > + chosen { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + framebuffer: framebuffer@9c000000 { > + compatible = "simple-framebuffer"; > + reg = <0 0x9c000000 0 0x2300000>; > + width = <1644>; > + height = <3840>; > + stride = <(1644 * 4)>; > + format = "a8r8g8b8"; > + /* > + * That's a lot of clocks, but it's necessary due > + * to unused clk cleanup & no panel driver yet.. > + */ > + clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, > + <&gcc GCC_DISP_HF_AXI_CLK>, > + <&gcc GCC_DISP_SF_AXI_CLK>, > + <&dispcc DISP_CC_MDSS_VSYNC_CLK>, > + <&dispcc DISP_CC_MDSS_MDP_CLK>, > + <&dispcc DISP_CC_MDSS_BYTE0_CLK>, > + <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, > + <&dispcc DISP_CC_MDSS_PCLK0_CLK>, > + <&dispcc DISP_CC_MDSS_ESC0_CLK>; > + power-domains = <&dispcc MDSS_GDSC>; > + }; > + }; > + > + vph_pwr: vph-pwr-regulator { > + compatible = "regulator-fixed"; > + regulator-name = "vph_pwr"; > + regulator-min-microvolt = <3700000>; > + regulator-max-microvolt = <3700000>; > + }; > + > + /* S6c is really ebi.lvl but it's there for supply map completeness sake. */ > + vreg_s6c_0p88: smpc6-regulator { > + compatible = "regulator-fixed"; > + regulator-name = "vreg_s6c_0p88"; > + > + regulator-min-microvolt = <880000>; > + regulator-max-microvolt = <880000>; > + regulator-always-on; > + vin-supply = <&vph_pwr>; > + }; > + > + reserved-memory { > + adsp_mem: memory@8a100000 { > + reg = <0x0 0x8a100000 0x0 0x2500000>; > + no-map; > + }; > + > + spss_mem: memory@8c600000 { > + reg = <0x0 0x8c600000 0x0 0x100000>; > + no-map; > + }; > + > + cdsp_secure_heap: memory@8c700000 { > + reg = <0x0 0x8c700000 0x0 0x4600000>; > + no-map; > + }; > + > + cont_splash_mem: memory@9c000000 { > + reg = <0x0 0x9c000000 0x0 0x2300000>; > + no-map; > + }; > + > + ramoops@ffc00000 { > + compatible = "ramoops"; > + reg = <0x0 0xffc00000 0x0 0x100000>; > + record-size = <0x1000>; > + console-size = <0x40000>; > + msg-size = <0x20000 0x20000>; > + ecc-size = <16>; > + no-map; > + }; > + }; > +}; > + > +&apps_rsc { > + pm8150-rpmh-regulators { > + compatible = "qcom,pm8150-rpmh-regulators"; > + qcom,pmic-id = "a"; > + > + vdd-s1-supply = <&vph_pwr>; > + vdd-s2-supply = <&vph_pwr>; > + vdd-s3-supply = <&vph_pwr>; > + vdd-s4-supply = <&vph_pwr>; > + vdd-s5-supply = <&vph_pwr>; > + vdd-s6-supply = <&vph_pwr>; > + vdd-s7-supply = <&vph_pwr>; > + vdd-s8-supply = <&vph_pwr>; > + vdd-s9-supply = <&vph_pwr>; > + vdd-s10-supply = <&vph_pwr>; > + vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>; > + vdd-l2-l10-supply = <&vreg_bob>; > + vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p6>; > + vdd-l6-l9-supply = <&vreg_s8c_1p2>; > + vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>; > + vdd-l13-l16-l17-supply = <&vreg_bob>; > + > + /* (S1+S2+S3) - cx.lvl (ARC) */ > + > + vreg_s4a_1p8: smps4 { > + regulator-name = "vreg_s4a_1p8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1920000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_s5a_1p9: smps5 { > + regulator-name = "vreg_s5a_1p9"; > + regulator-min-microvolt = <1824000>; > + regulator-max-microvolt = <2040000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_s6a_0p6: smps6 { > + regulator-name = "vreg_s6a_0p6"; > + regulator-min-microvolt = <600000>; > + regulator-max-microvolt = <1128000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l2a_3p1: ldo2 { > + regulator-name = "vreg_l2a_3p1"; > + regulator-min-microvolt = <3072000>; > + regulator-max-microvolt = <3072000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l3a_0p9: ldo3 { > + regulator-name = "vreg_l3a_0p9"; > + regulator-min-microvolt = <928000>; > + regulator-max-microvolt = <932000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + /* L4 - lmx.lvl (ARC) */ > + > + vreg_l5a_0p88: ldo5 { > + regulator-name = "vreg_l5a_0p88"; > + regulator-min-microvolt = <880000>; > + regulator-max-microvolt = <880000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l6a_1p2: ldo6 { > + regulator-name = "vreg_l6a_1p2"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + /* L7 is unused. */ > + > + vreg_l9a_1p2: ldo9 { > + regulator-name = "vreg_l9a_1p2"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + /* L10 is unused, L11 - lcx.lvl (ARC) */ > + > + vreg_l12a_1p8: ldo12 { > + regulator-name = "vreg_l12a_1p8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + /* L13 is unused. */ > + > + vreg_l14a_1p8: ldo14 { > + regulator-name = "vreg_l14a_1p8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1880000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + /* L15 & L16 are unused. */ > + > + vreg_l17a_3p0: ldo17 { > + regulator-name = "vreg_l17a_3p0"; > + regulator-min-microvolt = <2496000>; > + regulator-max-microvolt = <3008000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l18a_0p9: ldo18 { > + regulator-name = "vreg_l18a_0p9"; > + regulator-min-microvolt = <800000>; > + regulator-max-microvolt = <920000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + }; > + > + /* > + * Remaining regulators that are not yet supported: > + * OLEDB: 4925000-8100000 > + * ab: 4600000-6100000 > + * ibb: 800000-5400000 > + */ > + pm8150l-rpmh-regulators { > + compatible = "qcom,pm8150l-rpmh-regulators"; > + qcom,pmic-id = "c"; > + > + vdd-s1-supply = <&vph_pwr>; > + vdd-s2-supply = <&vph_pwr>; > + vdd-s3-supply = <&vph_pwr>; > + vdd-s4-supply = <&vph_pwr>; > + vdd-s5-supply = <&vph_pwr>; > + vdd-s6-supply = <&vph_pwr>; > + vdd-s7-supply = <&vph_pwr>; > + vdd-s8-supply = <&vph_pwr>; > + vdd-l1-l8-supply = <&vreg_s4a_1p8>; > + vdd-l2-l3-supply = <&vreg_s8c_1p2>; > + vdd-l4-l5-l6-supply = <&vreg_bob>; > + vdd-l7-l11-supply = <&vreg_bob>; > + vdd-l9-l10-supply = <&vreg_bob>; > + vdd-bob-supply = <&vph_pwr>; > + > + vreg_bob: bob { > + regulator-name = "vreg_bob"; > + regulator-min-microvolt = <3350000>; > + regulator-max-microvolt = <3960000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; > + }; > + > + /* > + * S1-S6 are ARCs: > + * (S1+S2) - gfx.lvl, > + * S3 - mx.lvl, > + * (S4+S5) - mmcx.lvl, > + * S6 - ebi.lvl > + */ > + > + vreg_s7c_0p35: smps7 { > + regulator-name = "vreg_s7c_0p35"; > + regulator-min-microvolt = <348000>; > + regulator-max-microvolt = <1000000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_s8c_1p2: smps8 { > + regulator-name = "vreg_s8c_1p2"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1400000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l1c_1p8: ldo1 { > + regulator-name = "vreg_l1c_1p8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + /* L2-4 are unused. */ > + > + vreg_l5c_1p8: ldo5 { > + regulator-name = "vreg_l5c_1p8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <2800000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l6c_2p9: ldo6 { > + regulator-name = "vreg_l6c_2p9"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <2960000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + }; > + > + vreg_l7c_2p85: ldo7 { > + regulator-name = "vreg_l7c_2p85"; > + regulator-min-microvolt = <2856000>; > + regulator-max-microvolt = <3104000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l8c_1p8: ldo8 { > + regulator-name = "vreg_l8c_1p8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l9c_2p9: ldo9 { > + regulator-name = "vreg_l9c_2p9"; > + regulator-min-microvolt = <2704000>; > + regulator-max-microvolt = <2960000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + regulator-allow-set-load; > + }; > + > + vreg_l10c_3p3: ldo10 { > + regulator-name = "vreg_l10c_3p3"; > + regulator-min-microvolt = <3296000>; > + regulator-max-microvolt = <3296000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l11c_3p0: ldo11 { > + regulator-name = "vreg_l11c_3p0"; > + regulator-min-microvolt = <3000000>; > + regulator-max-microvolt = <3000000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + }; > + > + pm8009-rpmh-regulators { > + compatible = "qcom,pm8009-rpmh-regulators"; > + qcom,pmic-id = "f"; > + > + vdd-s1-supply = <&vph_pwr>; > + vdd-s2-supply = <&vreg_bob>; > + vdd-l2-supply = <&vreg_s8c_1p2>; > + vdd-l5-l6-supply = <&vreg_bob>; > + vdd-l7-supply = <&vreg_s4a_1p8>; > + > + vreg_s1f_1p2: smps1 { > + regulator-name = "vreg_s1f_1p2"; > + regulator-min-microvolt = <1200000>; > + regulator-max-microvolt = <1200000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_s2f_0p5: smps2 { > + regulator-name = "vreg_s2f_0p5"; > + regulator-min-microvolt = <512000>; > + regulator-max-microvolt = <1100000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + /* L1 is unused. */ > + > + vreg_l2f_1p3: ldo2 { > + regulator-name = "vreg_l2f_1p3"; > + regulator-min-microvolt = <1304000>; > + regulator-max-microvolt = <1304000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + /* L3 & L4 are unused. */ > + > + vreg_l5f_2p8: ldo5 { > + regulator-name = "vreg_l5f_2p85"; > + regulator-min-microvolt = <2800000>; > + regulator-max-microvolt = <2800000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l6f_2p8: ldo6 { > + regulator-name = "vreg_l6f_2p8"; > + regulator-min-microvolt = <2800000>; > + regulator-max-microvolt = <2800000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + > + vreg_l7f_1p8: ldo7 { > + regulator-name = "vreg_l7f_1p8"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; > + }; > + }; > +}; > + > +&i2c1 { > + status = "okay"; > + clock-frequency = <400000>; > + > + /* NXP PN553 NFC @ 28 */ > +}; > + > +&i2c2 { > + status = "okay"; > + clock-frequency = <1000000>; > + > + /* Dual Cirrus Logic CS35L41 amps @ 40, 41 */ > +}; > + > +&i2c5 { > + status = "okay"; > + clock-frequency = <400000>; > + > + /* Dialog SLG51000 CMIC @ 75 */ > +}; > + > +&i2c9 { > + status = "okay"; > + clock-frequency = <400000>; > + > + /* AMS TCS3490 RGB+IR color sensor @ 72 */ > +}; > + > +&i2c13 { > + status = "okay"; > + clock-frequency = <400000>; > + > + /* Samsung touchscreen @ 48 */ > +}; > + > +&i2c15 { > + status = "okay"; > + clock-frequency = <400000>; > + > + /* Qcom SMB1390 @ 10 */ > + /* Silicon Labs SI4704 FM Radio Receiver @ 11 */ > + /* Qcom SMB1390_slave @ 18 */ > + /* HALO HL6111R Qi charger @ 25 */ > + /* Richwave RTC6226 FM Radio Receiver @ 64 */ > +}; > + > +&qupv3_id_0 { > + status = "okay"; > +}; > + > +&qupv3_id_1 { > + status = "okay"; > +}; > + > +&qupv3_id_2 { > + status = "okay"; > +}; > + > +&sdhc_2 { > + status = "okay"; > + > + vmmc-supply = <&vreg_l9c_2p9>; > + vqmmc-supply = <&vreg_l6c_2p9>; > + bus-width = <4>; > + no-sdio; > + no-emmc; > +}; > + > +&tlmm { > + gpio-reserved-ranges = <40 4>, <52 4>; > +}; > + > +&uart12 { > + status = "okay"; > +}; > + > +/* BIG WARNING! DO NOT TOUCH UFS, YOUR DEVICE WILL DIE! */ > +&ufs_mem_hc { status = "disabled"; }; > +&ufs_mem_phy { status = "disabled"; }; > + > +&usb_1 { > + status = "okay"; > +}; > + > +&usb_1_dwc3 { > + dr_mode = "peripheral"; > +}; > + > +&usb_1_hsphy { > + status = "okay"; > + > + vdda-pll-supply = <&vreg_l5a_0p88>; > + vdda18-supply = <&vreg_l12a_1p8>; > + vdda33-supply = <&vreg_l2a_3p1>; > +}; > + > +&usb_1_qmpphy { > + status = "okay"; > + > + vdda-phy-supply = <&vreg_l9a_1p2>; > + vdda-pll-supply = <&vreg_l18a_0p9>; > +}; > -- > 2.32.0 > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: qcom: Add support for SONY Xperia 1 II / 5 II (Edo platform) 2021-06-15 23:45 ` Bjorn Andersson @ 2021-06-15 23:51 ` Konrad Dybcio 0 siblings, 0 replies; 8+ messages in thread From: Konrad Dybcio @ 2021-06-15 23:51 UTC (permalink / raw) To: Bjorn Andersson Cc: ~postmarketos/upstreaming, martin.botka, angelogioacchino.delregno, marijn.suijten, jamipkettunen, Andy Gross, Rob Herring, linux-arm-msm, devicetree, linux-kernel, Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck On 16.06.2021 01:45, Bjorn Andersson wrote: > On Sat 12 Jun 14:23 CDT 2021, Konrad Dybcio wrote: > >> Add support for SONY Xperia 1 II and 5 II smartphones (read one/five mark two). >> They are based on the Qualcomm SM8250 chipset and both feature 5G modems. There >> also exists a third Edo board, namely the Xperia PRO (PDX204), but it's $2500 >> and no developers have obtained it so far (to my knowledge). >> >> The devices are affected by a scary UFS behaviour where sending a certain UFS >> command (which is worked around on downstream) renders the device unbootable, >> by effectively erasing the bootloader. Therefore UFS AND UFSPHY are strictly >> disabled for now. >> > Ouch, that's expensive paper weights. Let's hope someone can shed some > light on the UFS situation. Angelo expressed his concerns here [1], and is trying to resolve the situation in a sane(-ish, it's not possible for it to be completely sane..) way. Hopefully more updates can follow suit and we won't have to stick to SD cards forever.. [1] https://lkml.org/lkml/2021/6/11/1114 Konrad ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2021-06-15 23:51 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-06-12 19:23 [PATCH v2 1/3] arm64: dts: qcom: sm8250: Disable Adreno and Venus by default Konrad Dybcio 2021-06-12 19:23 ` [PATCH v2 2/3] arm64: dts: qcom: sm8250: Add SDHCI2 pinctrl Konrad Dybcio 2021-06-13 20:17 ` [PATCH] arm64: dts: qcom: qrb5165-rb5: Fix up pins Konrad Dybcio 2021-06-15 23:39 ` [PATCH v2 2/3] arm64: dts: qcom: sm8250: Add SDHCI2 pinctrl Bjorn Andersson 2021-06-12 19:23 ` [PATCH v2 3/3] arm64: dts: qcom: Add support for SONY Xperia 1 II / 5 II (Edo platform) Konrad Dybcio 2021-06-15 7:35 ` Marijn Suijten 2021-06-15 23:45 ` Bjorn Andersson 2021-06-15 23:51 ` Konrad Dybcio
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.