* [PATCH v3 1/6] dt-bindings: crypto: Add X1E80100 Crypto Engine
2024-08-15 10:36 [PATCH v3 0/6] Add initial DTS for Samsung Galaxy Book4 Edge Marcus Glocker
@ 2024-08-15 10:38 ` Marcus Glocker
2024-08-16 7:13 ` Krzysztof Kozlowski
2024-08-15 10:39 ` [PATCH v3 2/6] dt-bindings: phy: Add X1E80100 UFS Marcus Glocker
` (5 subsequent siblings)
6 siblings, 1 reply; 20+ messages in thread
From: Marcus Glocker @ 2024-08-15 10:38 UTC (permalink / raw)
To: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Abel Vesa, Johan Hovold, Konrad Dybcio
Add the UFS Crypto Engine binding.
Signed-off-by: Marcus Glocker <marcus@nazgul.ch>
---
.../devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml b/Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml
index 0304f074cf08..915db3d28892 100644
--- a/Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml
+++ b/Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml
@@ -19,6 +19,7 @@ properties:
- qcom,sm8450-inline-crypto-engine
- qcom,sm8550-inline-crypto-engine
- qcom,sm8650-inline-crypto-engine
+ - qcom,x1e80100-inline-crypto-engine
- const: qcom,inline-crypto-engine
reg:
--
2.39.2
^ permalink raw reply related [flat|nested] 20+ messages in thread* Re: [PATCH v3 1/6] dt-bindings: crypto: Add X1E80100 Crypto Engine
2024-08-15 10:38 ` [PATCH v3 1/6] dt-bindings: crypto: Add X1E80100 Crypto Engine Marcus Glocker
@ 2024-08-16 7:13 ` Krzysztof Kozlowski
0 siblings, 0 replies; 20+ messages in thread
From: Krzysztof Kozlowski @ 2024-08-16 7:13 UTC (permalink / raw)
To: Marcus Glocker, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Abel Vesa, Johan Hovold, Konrad Dybcio
On 15/08/2024 12:38, Marcus Glocker wrote:
> Add the UFS Crypto Engine binding.
>
> Signed-off-by: Marcus Glocker <marcus@nazgul.ch>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v3 2/6] dt-bindings: phy: Add X1E80100 UFS
2024-08-15 10:36 [PATCH v3 0/6] Add initial DTS for Samsung Galaxy Book4 Edge Marcus Glocker
2024-08-15 10:38 ` [PATCH v3 1/6] dt-bindings: crypto: Add X1E80100 Crypto Engine Marcus Glocker
@ 2024-08-15 10:39 ` Marcus Glocker
2024-08-16 7:14 ` Krzysztof Kozlowski
2024-08-15 10:41 ` [PATCH v3 3/6] dt-bindings: ufs: " Marcus Glocker
` (4 subsequent siblings)
6 siblings, 1 reply; 20+ messages in thread
From: Marcus Glocker @ 2024-08-15 10:39 UTC (permalink / raw)
To: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Abel Vesa, Johan Hovold, Konrad Dybcio
Add the UFS PHY binding.
Signed-off-by: Marcus Glocker <marcus@nazgul.ch>
---
.../devicetree/bindings/phy/qcom,sc8280xp-qmp-ufs-phy.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-ufs-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-ufs-phy.yaml
index f9cfbd0b2de6..c8a61cddb311 100644
--- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-ufs-phy.yaml
+++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-ufs-phy.yaml
@@ -35,6 +35,7 @@ properties:
- qcom,sm8475-qmp-ufs-phy
- qcom,sm8550-qmp-ufs-phy
- qcom,sm8650-qmp-ufs-phy
+ - qcom,x1e80100-qmp-ufs-phy
reg:
maxItems: 1
@@ -102,6 +103,7 @@ allOf:
- qcom,sm8475-qmp-ufs-phy
- qcom,sm8550-qmp-ufs-phy
- qcom,sm8650-qmp-ufs-phy
+ - qcom,x1e80100-qmp-ufs-phy
then:
properties:
clocks:
--
2.39.2
^ permalink raw reply related [flat|nested] 20+ messages in thread* Re: [PATCH v3 2/6] dt-bindings: phy: Add X1E80100 UFS
2024-08-15 10:39 ` [PATCH v3 2/6] dt-bindings: phy: Add X1E80100 UFS Marcus Glocker
@ 2024-08-16 7:14 ` Krzysztof Kozlowski
0 siblings, 0 replies; 20+ messages in thread
From: Krzysztof Kozlowski @ 2024-08-16 7:14 UTC (permalink / raw)
To: Marcus Glocker, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Abel Vesa, Johan Hovold, Konrad Dybcio
On 15/08/2024 12:39, Marcus Glocker wrote:
> Add the UFS PHY binding.
That's really not enough for commit msg. At least say which device (full
name)...
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v3 3/6] dt-bindings: ufs: Add X1E80100 UFS
2024-08-15 10:36 [PATCH v3 0/6] Add initial DTS for Samsung Galaxy Book4 Edge Marcus Glocker
2024-08-15 10:38 ` [PATCH v3 1/6] dt-bindings: crypto: Add X1E80100 Crypto Engine Marcus Glocker
2024-08-15 10:39 ` [PATCH v3 2/6] dt-bindings: phy: Add X1E80100 UFS Marcus Glocker
@ 2024-08-15 10:41 ` Marcus Glocker
2024-08-16 7:15 ` Krzysztof Kozlowski
2024-08-15 10:42 ` [PATCH v3 4/6] arm64: dts: qcom: Add UFS node Marcus Glocker
` (3 subsequent siblings)
6 siblings, 1 reply; 20+ messages in thread
From: Marcus Glocker @ 2024-08-15 10:41 UTC (permalink / raw)
To: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Abel Vesa, Johan Hovold, Konrad Dybcio
Add the UFS Host Controller binding.
Signed-off-by: Marcus Glocker <marcus@nazgul.ch>
---
Documentation/devicetree/bindings/ufs/qcom,ufs.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml b/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml
index 25a5edeea164..4cb3fea53651 100644
--- a/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml
+++ b/Documentation/devicetree/bindings/ufs/qcom,ufs.yaml
@@ -41,6 +41,7 @@ properties:
- qcom,sm8450-ufshc
- qcom,sm8550-ufshc
- qcom,sm8650-ufshc
+ - qcom,x1e80100-ufshc
- const: qcom,ufshc
- const: jedec,ufs-2.0
@@ -121,6 +122,7 @@ allOf:
contains:
enum:
- qcom,sc7180-ufshc
+ - qcom,x1e80100-ufshc
then:
properties:
clocks:
--
2.39.2
^ permalink raw reply related [flat|nested] 20+ messages in thread* Re: [PATCH v3 3/6] dt-bindings: ufs: Add X1E80100 UFS
2024-08-15 10:41 ` [PATCH v3 3/6] dt-bindings: ufs: " Marcus Glocker
@ 2024-08-16 7:15 ` Krzysztof Kozlowski
0 siblings, 0 replies; 20+ messages in thread
From: Krzysztof Kozlowski @ 2024-08-16 7:15 UTC (permalink / raw)
To: Marcus Glocker, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Abel Vesa, Johan Hovold, Konrad Dybcio
On 15/08/2024 12:41, Marcus Glocker wrote:
> Add the UFS Host Controller binding.
Also incomplete and actually not matching the patch at all. You do not
add new UFS Controller binding here.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v3 4/6] arm64: dts: qcom: Add UFS node
2024-08-15 10:36 [PATCH v3 0/6] Add initial DTS for Samsung Galaxy Book4 Edge Marcus Glocker
` (2 preceding siblings ...)
2024-08-15 10:41 ` [PATCH v3 3/6] dt-bindings: ufs: " Marcus Glocker
@ 2024-08-15 10:42 ` Marcus Glocker
2024-08-15 10:47 ` Abel Vesa
2024-08-16 7:21 ` Krzysztof Kozlowski
2024-08-15 10:43 ` [PATCH v3 5/6] dt-bindings: arm: Add Samsung Galaxy Book4 Edge Marcus Glocker
` (2 subsequent siblings)
6 siblings, 2 replies; 20+ messages in thread
From: Marcus Glocker @ 2024-08-15 10:42 UTC (permalink / raw)
To: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Abel Vesa, Johan Hovold, Konrad Dybcio
Add the UFS Host Controller node. This was basically copied from the
arch/arm64/boot/dts/qcom/sc7180.dtsi file.
Signed-off-by: Marcus Glocker <marcus@nazgul.ch>
---
arch/arm64/boot/dts/qcom/x1e80100.dtsi | 71 ++++++++++++++++++++++++++
1 file changed, 71 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
index 7bca5fcd7d52..235e20e4b51f 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
@@ -2878,6 +2878,77 @@ mmss_noc: interconnect@1780000 {
#interconnect-cells = <2>;
};
+ ufs_mem_hc: ufs@1d84000 {
+ compatible = "qcom,x1e80100-ufshc", "qcom,ufshc",
+ "jedec,ufs-2.0";
+ reg = <0 0x01d84000 0 0x3000>;
+ interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
+ phys = <&ufs_mem_phy>;
+ phy-names = "ufsphy";
+ lanes-per-direction = <1>;
+ #reset-cells = <1>;
+ resets = <&gcc GCC_UFS_PHY_BCR>;
+ reset-names = "rst";
+
+ power-domains = <&gcc GCC_UFS_PHY_GDSC>;
+
+ iommus = <&apps_smmu 0xa0 0x0>;
+
+ clock-names = "core_clk",
+ "bus_aggr_clk",
+ "iface_clk",
+ "core_clk_unipro",
+ "ref_clk",
+ "tx_lane0_sync_clk",
+ "rx_lane0_sync_clk";
+ clocks = <&gcc GCC_UFS_PHY_AXI_CLK>,
+ <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
+ <&gcc GCC_UFS_PHY_AHB_CLK>,
+ <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
+ <&rpmhcc RPMH_CXO_CLK>,
+ <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
+ <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>;
+ freq-table-hz = <50000000 200000000>,
+ <0 0>,
+ <0 0>,
+ <37500000 150000000>,
+ <0 0>,
+ <0 0>,
+ <0 0>;
+
+ interconnects = <&aggre1_noc MASTER_UFS_MEM QCOM_ICC_TAG_ALWAYS
+ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
+ <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
+ &config_noc SLAVE_UFS_MEM_CFG QCOM_ICC_TAG_ALWAYS>;
+ interconnect-names = "ufs-ddr", "cpu-ufs";
+
+ qcom,ice = <&ice>;
+
+ status = "disabled";
+ };
+
+ ufs_mem_phy: phy@1d87000 {
+ compatible = "qcom,x1e80100-qmp-ufs-phy";
+ reg = <0 0x01d87000 0 0x1000>;
+ clocks = <&rpmhcc RPMH_CXO_CLK>,
+ <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
+ clock-names = "ref",
+ "ref_aux",
+ "qref";
+ power-domains = <&gcc GCC_UFS_PHY_GDSC>;
+ resets = <&ufs_mem_hc 0>;
+ reset-names = "ufsphy";
+ #phy-cells = <0>;
+ status = "disabled";
+ };
+
+ ice: crypto@1d90000 {
+ compatible = "qcom,x1e80100-inline-crypto-engine",
+ "qcom,inline-crypto-engine";
+ reg = <0 0x01d90000 0 0x8000>;
+ clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
+ };
+
pcie6a: pci@1bf8000 {
device_type = "pci";
compatible = "qcom,pcie-x1e80100";
--
2.39.2
^ permalink raw reply related [flat|nested] 20+ messages in thread* Re: [PATCH v3 4/6] arm64: dts: qcom: Add UFS node
2024-08-15 10:42 ` [PATCH v3 4/6] arm64: dts: qcom: Add UFS node Marcus Glocker
@ 2024-08-15 10:47 ` Abel Vesa
2024-08-15 11:54 ` Marcus Glocker
2024-08-16 7:21 ` Krzysztof Kozlowski
1 sibling, 1 reply; 20+ messages in thread
From: Abel Vesa @ 2024-08-15 10:47 UTC (permalink / raw)
To: Marcus Glocker
Cc: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Johan Hovold, Konrad Dybcio
On 24-08-15 12:42:29, Marcus Glocker wrote:
> Add the UFS Host Controller node. This was basically copied from the
> arch/arm64/boot/dts/qcom/sc7180.dtsi file.
>
> Signed-off-by: Marcus Glocker <marcus@nazgul.ch>
> ---
> arch/arm64/boot/dts/qcom/x1e80100.dtsi | 71 ++++++++++++++++++++++++++
> 1 file changed, 71 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> index 7bca5fcd7d52..235e20e4b51f 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> +++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> @@ -2878,6 +2878,77 @@ mmss_noc: interconnect@1780000 {
> #interconnect-cells = <2>;
> };
>
> + ufs_mem_hc: ufs@1d84000 {
> + compatible = "qcom,x1e80100-ufshc", "qcom,ufshc",
> + "jedec,ufs-2.0";
> + reg = <0 0x01d84000 0 0x3000>;
> + interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
> + phys = <&ufs_mem_phy>;
> + phy-names = "ufsphy";
> + lanes-per-direction = <1>;
> + #reset-cells = <1>;
> + resets = <&gcc GCC_UFS_PHY_BCR>;
> + reset-names = "rst";
> +
> + power-domains = <&gcc GCC_UFS_PHY_GDSC>;
> +
> + iommus = <&apps_smmu 0xa0 0x0>;
> +
> + clock-names = "core_clk",
> + "bus_aggr_clk",
> + "iface_clk",
> + "core_clk_unipro",
> + "ref_clk",
> + "tx_lane0_sync_clk",
> + "rx_lane0_sync_clk";
> + clocks = <&gcc GCC_UFS_PHY_AXI_CLK>,
> + <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
> + <&gcc GCC_UFS_PHY_AHB_CLK>,
> + <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
> + <&rpmhcc RPMH_CXO_CLK>,
> + <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
> + <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>;
> + freq-table-hz = <50000000 200000000>,
> + <0 0>,
> + <0 0>,
> + <37500000 150000000>,
> + <0 0>,
> + <0 0>,
> + <0 0>;
> +
> + interconnects = <&aggre1_noc MASTER_UFS_MEM QCOM_ICC_TAG_ALWAYS
> + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
> + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
> + &config_noc SLAVE_UFS_MEM_CFG QCOM_ICC_TAG_ALWAYS>;
> + interconnect-names = "ufs-ddr", "cpu-ufs";
> +
> + qcom,ice = <&ice>;
> +
> + status = "disabled";
> + };
> +
> + ufs_mem_phy: phy@1d87000 {
> + compatible = "qcom,x1e80100-qmp-ufs-phy";
Can't find any phy patch that adds this compatible to the driver.
> + reg = <0 0x01d87000 0 0x1000>;
> + clocks = <&rpmhcc RPMH_CXO_CLK>,
> + <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
> + clock-names = "ref",
> + "ref_aux",
> + "qref";
> + power-domains = <&gcc GCC_UFS_PHY_GDSC>;
> + resets = <&ufs_mem_hc 0>;
> + reset-names = "ufsphy";
> + #phy-cells = <0>;
> + status = "disabled";
> + };
> +
> + ice: crypto@1d90000 {
> + compatible = "qcom,x1e80100-inline-crypto-engine",
> + "qcom,inline-crypto-engine";
> + reg = <0 0x01d90000 0 0x8000>;
> + clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
> + };
> +
> pcie6a: pci@1bf8000 {
> device_type = "pci";
> compatible = "qcom,pcie-x1e80100";
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: [PATCH v3 4/6] arm64: dts: qcom: Add UFS node
2024-08-15 10:47 ` Abel Vesa
@ 2024-08-15 11:54 ` Marcus Glocker
2024-08-15 13:18 ` Abel Vesa
0 siblings, 1 reply; 20+ messages in thread
From: Marcus Glocker @ 2024-08-15 11:54 UTC (permalink / raw)
To: Abel Vesa
Cc: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Johan Hovold, Konrad Dybcio
On Thu, Aug 15, 2024 at 01:47:23PM +0300, Abel Vesa wrote:
> On 24-08-15 12:42:29, Marcus Glocker wrote:
> > Add the UFS Host Controller node. This was basically copied from the
> > arch/arm64/boot/dts/qcom/sc7180.dtsi file.
> >
> > Signed-off-by: Marcus Glocker <marcus@nazgul.ch>
> > ---
> > arch/arm64/boot/dts/qcom/x1e80100.dtsi | 71 ++++++++++++++++++++++++++
> > 1 file changed, 71 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> > index 7bca5fcd7d52..235e20e4b51f 100644
> > --- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> > @@ -2878,6 +2878,77 @@ mmss_noc: interconnect@1780000 {
> > #interconnect-cells = <2>;
> > };
> >
> > + ufs_mem_hc: ufs@1d84000 {
> > + compatible = "qcom,x1e80100-ufshc", "qcom,ufshc",
> > + "jedec,ufs-2.0";
> > + reg = <0 0x01d84000 0 0x3000>;
> > + interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
> > + phys = <&ufs_mem_phy>;
> > + phy-names = "ufsphy";
> > + lanes-per-direction = <1>;
> > + #reset-cells = <1>;
> > + resets = <&gcc GCC_UFS_PHY_BCR>;
> > + reset-names = "rst";
> > +
> > + power-domains = <&gcc GCC_UFS_PHY_GDSC>;
> > +
> > + iommus = <&apps_smmu 0xa0 0x0>;
> > +
> > + clock-names = "core_clk",
> > + "bus_aggr_clk",
> > + "iface_clk",
> > + "core_clk_unipro",
> > + "ref_clk",
> > + "tx_lane0_sync_clk",
> > + "rx_lane0_sync_clk";
> > + clocks = <&gcc GCC_UFS_PHY_AXI_CLK>,
> > + <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
> > + <&gcc GCC_UFS_PHY_AHB_CLK>,
> > + <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
> > + <&rpmhcc RPMH_CXO_CLK>,
> > + <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
> > + <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>;
> > + freq-table-hz = <50000000 200000000>,
> > + <0 0>,
> > + <0 0>,
> > + <37500000 150000000>,
> > + <0 0>,
> > + <0 0>,
> > + <0 0>;
> > +
> > + interconnects = <&aggre1_noc MASTER_UFS_MEM QCOM_ICC_TAG_ALWAYS
> > + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
> > + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
> > + &config_noc SLAVE_UFS_MEM_CFG QCOM_ICC_TAG_ALWAYS>;
> > + interconnect-names = "ufs-ddr", "cpu-ufs";
> > +
> > + qcom,ice = <&ice>;
> > +
> > + status = "disabled";
> > + };
> > +
> > + ufs_mem_phy: phy@1d87000 {
> > + compatible = "qcom,x1e80100-qmp-ufs-phy";
>
> Can't find any phy patch that adds this compatible to the driver.
That might well be, since this is pretty new hardware. But the goal
of this submission is only to describe the hardware, not to add
immediate support to the OS drivers. Whether the drivers will make use
of it, is a different story, and up to the people who maintain the
respective drivers.
Getting the right DTB in, at least opens the possibility to continue
development in the driver area to further support this new hardware.
But I won't touch your drivers, not my goal.
> > + reg = <0 0x01d87000 0 0x1000>;
> > + clocks = <&rpmhcc RPMH_CXO_CLK>,
> > + <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
> > + clock-names = "ref",
> > + "ref_aux",
> > + "qref";
> > + power-domains = <&gcc GCC_UFS_PHY_GDSC>;
> > + resets = <&ufs_mem_hc 0>;
> > + reset-names = "ufsphy";
> > + #phy-cells = <0>;
> > + status = "disabled";
> > + };
> > +
> > + ice: crypto@1d90000 {
> > + compatible = "qcom,x1e80100-inline-crypto-engine",
> > + "qcom,inline-crypto-engine";
> > + reg = <0 0x01d90000 0 0x8000>;
> > + clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
> > + };
> > +
> > pcie6a: pci@1bf8000 {
> > device_type = "pci";
> > compatible = "qcom,pcie-x1e80100";
> > --
> > 2.39.2
> >
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: [PATCH v3 4/6] arm64: dts: qcom: Add UFS node
2024-08-15 11:54 ` Marcus Glocker
@ 2024-08-15 13:18 ` Abel Vesa
2024-08-15 16:59 ` Marcus Glocker
0 siblings, 1 reply; 20+ messages in thread
From: Abel Vesa @ 2024-08-15 13:18 UTC (permalink / raw)
To: Marcus Glocker
Cc: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Johan Hovold, Konrad Dybcio
On 24-08-15 13:54:01, Marcus Glocker wrote:
> On Thu, Aug 15, 2024 at 01:47:23PM +0300, Abel Vesa wrote:
>
> > On 24-08-15 12:42:29, Marcus Glocker wrote:
> > > Add the UFS Host Controller node. This was basically copied from the
> > > arch/arm64/boot/dts/qcom/sc7180.dtsi file.
> > >
> > > Signed-off-by: Marcus Glocker <marcus@nazgul.ch>
> > > ---
> > > arch/arm64/boot/dts/qcom/x1e80100.dtsi | 71 ++++++++++++++++++++++++++
> > > 1 file changed, 71 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> > > index 7bca5fcd7d52..235e20e4b51f 100644
> > > --- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> > > +++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> > > @@ -2878,6 +2878,77 @@ mmss_noc: interconnect@1780000 {
> > > #interconnect-cells = <2>;
> > > };
> > >
> > > + ufs_mem_hc: ufs@1d84000 {
> > > + compatible = "qcom,x1e80100-ufshc", "qcom,ufshc",
> > > + "jedec,ufs-2.0";
> > > + reg = <0 0x01d84000 0 0x3000>;
> > > + interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
> > > + phys = <&ufs_mem_phy>;
> > > + phy-names = "ufsphy";
> > > + lanes-per-direction = <1>;
> > > + #reset-cells = <1>;
> > > + resets = <&gcc GCC_UFS_PHY_BCR>;
> > > + reset-names = "rst";
> > > +
> > > + power-domains = <&gcc GCC_UFS_PHY_GDSC>;
> > > +
> > > + iommus = <&apps_smmu 0xa0 0x0>;
> > > +
> > > + clock-names = "core_clk",
> > > + "bus_aggr_clk",
> > > + "iface_clk",
> > > + "core_clk_unipro",
> > > + "ref_clk",
> > > + "tx_lane0_sync_clk",
> > > + "rx_lane0_sync_clk";
> > > + clocks = <&gcc GCC_UFS_PHY_AXI_CLK>,
> > > + <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
> > > + <&gcc GCC_UFS_PHY_AHB_CLK>,
> > > + <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
> > > + <&rpmhcc RPMH_CXO_CLK>,
> > > + <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
> > > + <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>;
> > > + freq-table-hz = <50000000 200000000>,
> > > + <0 0>,
> > > + <0 0>,
> > > + <37500000 150000000>,
> > > + <0 0>,
> > > + <0 0>,
> > > + <0 0>;
> > > +
> > > + interconnects = <&aggre1_noc MASTER_UFS_MEM QCOM_ICC_TAG_ALWAYS
> > > + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
> > > + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
> > > + &config_noc SLAVE_UFS_MEM_CFG QCOM_ICC_TAG_ALWAYS>;
> > > + interconnect-names = "ufs-ddr", "cpu-ufs";
> > > +
> > > + qcom,ice = <&ice>;
> > > +
> > > + status = "disabled";
> > > + };
> > > +
> > > + ufs_mem_phy: phy@1d87000 {
> > > + compatible = "qcom,x1e80100-qmp-ufs-phy";
> >
> > Can't find any phy patch that adds this compatible to the driver.
>
> That might well be, since this is pretty new hardware. But the goal
> of this submission is only to describe the hardware, not to add
> immediate support to the OS drivers. Whether the drivers will make use
> of it, is a different story, and up to the people who maintain the
> respective drivers.
>
> Getting the right DTB in, at least opens the possibility to continue
> development in the driver area to further support this new hardware.
>
> But I won't touch your drivers, not my goal.
Presumably, you do have the UFS working on your Book4 laptop, right?
If so, I would expect you do have the PHY working as well and therefore
a patch that adds the X Elite compatible, right?
>
> > > + reg = <0 0x01d87000 0 0x1000>;
> > > + clocks = <&rpmhcc RPMH_CXO_CLK>,
> > > + <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
> > > + clock-names = "ref",
> > > + "ref_aux",
> > > + "qref";
> > > + power-domains = <&gcc GCC_UFS_PHY_GDSC>;
> > > + resets = <&ufs_mem_hc 0>;
> > > + reset-names = "ufsphy";
> > > + #phy-cells = <0>;
> > > + status = "disabled";
> > > + };
> > > +
> > > + ice: crypto@1d90000 {
> > > + compatible = "qcom,x1e80100-inline-crypto-engine",
> > > + "qcom,inline-crypto-engine";
> > > + reg = <0 0x01d90000 0 0x8000>;
> > > + clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
> > > + };
> > > +
> > > pcie6a: pci@1bf8000 {
> > > device_type = "pci";
> > > compatible = "qcom,pcie-x1e80100";
> > > --
> > > 2.39.2
> > >
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: [PATCH v3 4/6] arm64: dts: qcom: Add UFS node
2024-08-15 13:18 ` Abel Vesa
@ 2024-08-15 16:59 ` Marcus Glocker
2024-08-16 7:16 ` Krzysztof Kozlowski
0 siblings, 1 reply; 20+ messages in thread
From: Marcus Glocker @ 2024-08-15 16:59 UTC (permalink / raw)
To: Abel Vesa
Cc: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Johan Hovold, Konrad Dybcio
On Thu, Aug 15, 2024 at 04:18:22PM +0300, Abel Vesa wrote:
> On 24-08-15 13:54:01, Marcus Glocker wrote:
> > On Thu, Aug 15, 2024 at 01:47:23PM +0300, Abel Vesa wrote:
> >
> > > On 24-08-15 12:42:29, Marcus Glocker wrote:
> > > > Add the UFS Host Controller node. This was basically copied from the
> > > > arch/arm64/boot/dts/qcom/sc7180.dtsi file.
> > > >
> > > > Signed-off-by: Marcus Glocker <marcus@nazgul.ch>
> > > > ---
> > > > arch/arm64/boot/dts/qcom/x1e80100.dtsi | 71 ++++++++++++++++++++++++++
> > > > 1 file changed, 71 insertions(+)
> > > >
> > > > diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> > > > index 7bca5fcd7d52..235e20e4b51f 100644
> > > > --- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> > > > +++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> > > > @@ -2878,6 +2878,77 @@ mmss_noc: interconnect@1780000 {
> > > > #interconnect-cells = <2>;
> > > > };
> > > >
> > > > + ufs_mem_hc: ufs@1d84000 {
> > > > + compatible = "qcom,x1e80100-ufshc", "qcom,ufshc",
> > > > + "jedec,ufs-2.0";
> > > > + reg = <0 0x01d84000 0 0x3000>;
> > > > + interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
> > > > + phys = <&ufs_mem_phy>;
> > > > + phy-names = "ufsphy";
> > > > + lanes-per-direction = <1>;
> > > > + #reset-cells = <1>;
> > > > + resets = <&gcc GCC_UFS_PHY_BCR>;
> > > > + reset-names = "rst";
> > > > +
> > > > + power-domains = <&gcc GCC_UFS_PHY_GDSC>;
> > > > +
> > > > + iommus = <&apps_smmu 0xa0 0x0>;
> > > > +
> > > > + clock-names = "core_clk",
> > > > + "bus_aggr_clk",
> > > > + "iface_clk",
> > > > + "core_clk_unipro",
> > > > + "ref_clk",
> > > > + "tx_lane0_sync_clk",
> > > > + "rx_lane0_sync_clk";
> > > > + clocks = <&gcc GCC_UFS_PHY_AXI_CLK>,
> > > > + <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
> > > > + <&gcc GCC_UFS_PHY_AHB_CLK>,
> > > > + <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
> > > > + <&rpmhcc RPMH_CXO_CLK>,
> > > > + <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
> > > > + <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>;
> > > > + freq-table-hz = <50000000 200000000>,
> > > > + <0 0>,
> > > > + <0 0>,
> > > > + <37500000 150000000>,
> > > > + <0 0>,
> > > > + <0 0>,
> > > > + <0 0>;
> > > > +
> > > > + interconnects = <&aggre1_noc MASTER_UFS_MEM QCOM_ICC_TAG_ALWAYS
> > > > + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
> > > > + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
> > > > + &config_noc SLAVE_UFS_MEM_CFG QCOM_ICC_TAG_ALWAYS>;
> > > > + interconnect-names = "ufs-ddr", "cpu-ufs";
> > > > +
> > > > + qcom,ice = <&ice>;
> > > > +
> > > > + status = "disabled";
> > > > + };
> > > > +
> > > > + ufs_mem_phy: phy@1d87000 {
> > > > + compatible = "qcom,x1e80100-qmp-ufs-phy";
> > >
> > > Can't find any phy patch that adds this compatible to the driver.
> >
> > That might well be, since this is pretty new hardware. But the goal
> > of this submission is only to describe the hardware, not to add
> > immediate support to the OS drivers. Whether the drivers will make use
> > of it, is a different story, and up to the people who maintain the
> > respective drivers.
> >
> > Getting the right DTB in, at least opens the possibility to continue
> > development in the driver area to further support this new hardware.
> >
> > But I won't touch your drivers, not my goal.
>
> Presumably, you do have the UFS working on your Book4 laptop, right?
That's right, but ...
> If so, I would expect you do have the PHY working as well and therefore
> a patch that adds the X Elite compatible, right?
... I'm not using Linux on that laptop but OpenBSD. Hence, my UFS
driver patch will be useless for you. If one of your developers gets
his hand on that laptop, enabling UFS based on that DTB should be
fairly straight forward.
The reason why we are interested to get new DTS' in your tree, is
because we're using the Linux DTS tree as a base, and then patch over
it as of our requirements. The less patches we need to apply, the
easier the maintenance is.
> > > > + reg = <0 0x01d87000 0 0x1000>;
> > > > + clocks = <&rpmhcc RPMH_CXO_CLK>,
> > > > + <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
> > > > + clock-names = "ref",
> > > > + "ref_aux",
> > > > + "qref";
> > > > + power-domains = <&gcc GCC_UFS_PHY_GDSC>;
> > > > + resets = <&ufs_mem_hc 0>;
> > > > + reset-names = "ufsphy";
> > > > + #phy-cells = <0>;
> > > > + status = "disabled";
> > > > + };
> > > > +
> > > > + ice: crypto@1d90000 {
> > > > + compatible = "qcom,x1e80100-inline-crypto-engine",
> > > > + "qcom,inline-crypto-engine";
> > > > + reg = <0 0x01d90000 0 0x8000>;
> > > > + clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
> > > > + };
> > > > +
> > > > pcie6a: pci@1bf8000 {
> > > > device_type = "pci";
> > > > compatible = "qcom,pcie-x1e80100";
> > > > --
> > > > 2.39.2
> > > >
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: [PATCH v3 4/6] arm64: dts: qcom: Add UFS node
2024-08-15 16:59 ` Marcus Glocker
@ 2024-08-16 7:16 ` Krzysztof Kozlowski
0 siblings, 0 replies; 20+ messages in thread
From: Krzysztof Kozlowski @ 2024-08-16 7:16 UTC (permalink / raw)
To: Marcus Glocker, Abel Vesa
Cc: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Johan Hovold, Konrad Dybcio
On 15/08/2024 18:59, Marcus Glocker wrote:
>>> Getting the right DTB in, at least opens the possibility to continue
>>> development in the driver area to further support this new hardware.
>>>
>>> But I won't touch your drivers, not my goal.
>>
>> Presumably, you do have the UFS working on your Book4 laptop, right?
>
> That's right, but ...
>
>> If so, I would expect you do have the PHY working as well and therefore
>> a patch that adds the X Elite compatible, right?
>
> ... I'm not using Linux on that laptop but OpenBSD. Hence, my UFS
> driver patch will be useless for you. If one of your developers gets
> his hand on that laptop, enabling UFS based on that DTB should be
> fairly straight forward.
>
> The reason why we are interested to get new DTS' in your tree, is
> because we're using the Linux DTS tree as a base, and then patch over
> it as of our requirements. The less patches we need to apply, the
> easier the maintenance is.
That's fine. You do not need drivers implementing bindings and DTS in
general.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 4/6] arm64: dts: qcom: Add UFS node
2024-08-15 10:42 ` [PATCH v3 4/6] arm64: dts: qcom: Add UFS node Marcus Glocker
2024-08-15 10:47 ` Abel Vesa
@ 2024-08-16 7:21 ` Krzysztof Kozlowski
1 sibling, 0 replies; 20+ messages in thread
From: Krzysztof Kozlowski @ 2024-08-16 7:21 UTC (permalink / raw)
To: Marcus Glocker, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Abel Vesa, Johan Hovold, Konrad Dybcio
On 15/08/2024 12:42, Marcus Glocker wrote:
> Add the UFS Host Controller node. This was basically copied from the
> arch/arm64/boot/dts/qcom/sc7180.dtsi file.
>
> Signed-off-by: Marcus Glocker <marcus@nazgul.ch>
> +
> + ufs_mem_phy: phy@1d87000 {
> + compatible = "qcom,x1e80100-qmp-ufs-phy";
> + reg = <0 0x01d87000 0 0x1000>;
> + clocks = <&rpmhcc RPMH_CXO_CLK>,
> + <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
> + clock-names = "ref",
> + "ref_aux",
> + "qref";
One does not match the other.
It does not look like you tested the DTS against bindings. Please run
`make dtbs_check W=1` (see
Documentation/devicetree/bindings/writing-schema.rst or
https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/
for instructions).
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v3 5/6] dt-bindings: arm: Add Samsung Galaxy Book4 Edge
2024-08-15 10:36 [PATCH v3 0/6] Add initial DTS for Samsung Galaxy Book4 Edge Marcus Glocker
` (3 preceding siblings ...)
2024-08-15 10:42 ` [PATCH v3 4/6] arm64: dts: qcom: Add UFS node Marcus Glocker
@ 2024-08-15 10:43 ` Marcus Glocker
2024-08-16 7:17 ` Krzysztof Kozlowski
2024-08-15 10:45 ` [PATCH v3 6/6] arm64: dts: qcom: Add Samsung Galaxy Book4 Edge DTS Marcus Glocker
2024-08-15 18:28 ` [PATCH v3 0/6] Add initial DTS for Samsung Galaxy Book4 Edge Rob Herring (Arm)
6 siblings, 1 reply; 20+ messages in thread
From: Marcus Glocker @ 2024-08-15 10:43 UTC (permalink / raw)
To: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Abel Vesa, Johan Hovold, Konrad Dybcio
Add the Samsung Galaxy Book4 Edge compatibility binding.
Signed-off-by: Marcus Glocker <marcus@nazgul.ch>
---
Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index f08e13b61172..c8a32e5d2c74 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -1044,6 +1044,7 @@ properties:
- lenovo,yoga-slim7x
- qcom,x1e80100-crd
- qcom,x1e80100-qcp
+ - samsung,galaxy-book4-edge
- const: qcom,x1e80100
# Board compatibles go above
--
2.39.2
^ permalink raw reply related [flat|nested] 20+ messages in thread* Re: [PATCH v3 5/6] dt-bindings: arm: Add Samsung Galaxy Book4 Edge
2024-08-15 10:43 ` [PATCH v3 5/6] dt-bindings: arm: Add Samsung Galaxy Book4 Edge Marcus Glocker
@ 2024-08-16 7:17 ` Krzysztof Kozlowski
0 siblings, 0 replies; 20+ messages in thread
From: Krzysztof Kozlowski @ 2024-08-16 7:17 UTC (permalink / raw)
To: Marcus Glocker, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Abel Vesa, Johan Hovold, Konrad Dybcio
On 15/08/2024 12:43, Marcus Glocker wrote:
> Add the Samsung Galaxy Book4 Edge compatibility binding.
>
> Signed-off-by: Marcus Glocker <marcus@nazgul.ch>
> ---
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v3 6/6] arm64: dts: qcom: Add Samsung Galaxy Book4 Edge DTS
2024-08-15 10:36 [PATCH v3 0/6] Add initial DTS for Samsung Galaxy Book4 Edge Marcus Glocker
` (4 preceding siblings ...)
2024-08-15 10:43 ` [PATCH v3 5/6] dt-bindings: arm: Add Samsung Galaxy Book4 Edge Marcus Glocker
@ 2024-08-15 10:45 ` Marcus Glocker
2024-08-16 7:19 ` Krzysztof Kozlowski
2024-08-16 7:21 ` Krzysztof Kozlowski
2024-08-15 18:28 ` [PATCH v3 0/6] Add initial DTS for Samsung Galaxy Book4 Edge Rob Herring (Arm)
6 siblings, 2 replies; 20+ messages in thread
From: Marcus Glocker @ 2024-08-15 10:45 UTC (permalink / raw)
To: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Abel Vesa, Johan Hovold, Konrad Dybcio
Add the initial DTS file for the Samsung Galaxy Book4 Edge laptop.
This was a copy of the arch/arm64/boot/dts/qcom/x1e80100-crd.dts file and
adapted to our needs.
Signed-off-by: Marcus Glocker <marcus@nazgul.ch>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../x1e80100-samsung-galaxy-book4-edge.dts | 959 ++++++++++++++++++
2 files changed, 960 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-samsung-galaxy-book4-edge.dts
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 0e5c810304fb..77a48a5780ed 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -265,3 +265,4 @@ dtb-$(CONFIG_ARCH_QCOM) += x1e80100-asus-vivobook-s15.dtb
dtb-$(CONFIG_ARCH_QCOM) += x1e80100-crd.dtb
dtb-$(CONFIG_ARCH_QCOM) += x1e80100-lenovo-yoga-slim7x.dtb
dtb-$(CONFIG_ARCH_QCOM) += x1e80100-qcp.dtb
+dtb-$(CONFIG_ARCH_QCOM) += x1e80100-samsung-galaxy-book4-edge.dtb
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-samsung-galaxy-book4-edge.dts b/arch/arm64/boot/dts/qcom/x1e80100-samsung-galaxy-book4-edge.dts
new file mode 100644
index 000000000000..484e28d24501
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/x1e80100-samsung-galaxy-book4-edge.dts
@@ -0,0 +1,959 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+
+#include "x1e80100.dtsi"
+#include "x1e80100-pmics.dtsi"
+
+/ {
+ model = "Samsung Galaxy Book4 Edge";
+ compatible = "samsung,galaxy-book4-edge", "qcom,x1e80100";
+ chassis-type = "laptop";
+
+ pmic-glink {
+ compatible = "qcom,x1e80100-pmic-glink",
+ "qcom,sm8550-pmic-glink",
+ "qcom,pmic-glink";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ orientation-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>,
+ <&tlmm 123 GPIO_ACTIVE_HIGH>,
+ <&tlmm 125 GPIO_ACTIVE_HIGH>;
+
+ /* Left-side rear port */
+ connector@0 {
+ compatible = "usb-c-connector";
+ reg = <0>;
+ power-role = "dual";
+ data-role = "dual";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ pmic_glink_ss0_hs_in: endpoint {
+ remote-endpoint = <&usb_1_ss0_dwc3_hs>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ pmic_glink_ss0_ss_in: endpoint {
+ remote-endpoint = <&usb_1_ss0_qmpphy_out>;
+ };
+ };
+ };
+ };
+
+ /* Left-side front port */
+ connector@1 {
+ compatible = "usb-c-connector";
+ reg = <1>;
+ power-role = "dual";
+ data-role = "dual";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ pmic_glink_ss1_hs_in: endpoint {
+ remote-endpoint = <&usb_1_ss1_dwc3_hs>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ pmic_glink_ss1_ss_in: endpoint {
+ remote-endpoint = <&usb_1_ss1_qmpphy_out>;
+ };
+ };
+ };
+ };
+
+ /* Right-side port */
+ connector@2 {
+ compatible = "usb-c-connector";
+ reg = <2>;
+ power-role = "dual";
+ data-role = "dual";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ pmic_glink_ss2_hs_in: endpoint {
+ remote-endpoint = <&usb_1_ss2_dwc3_hs>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ pmic_glink_ss2_ss_in: endpoint {
+ remote-endpoint = <&usb_1_ss2_qmpphy_out>;
+ };
+ };
+ };
+ };
+ };
+
+ reserved-memory {
+ linux,cma {
+ compatible = "shared-dma-pool";
+ size = <0x0 0x8000000>;
+ reusable;
+ linux,cma-default;
+ };
+ };
+
+ vph_pwr: regulator-vph-pwr {
+ compatible = "regulator-fixed";
+
+ regulator-name = "vph_pwr";
+ regulator-min-microvolt = <3700000>;
+ regulator-max-microvolt = <3700000>;
+
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vreg_edp_3p3: regulator-edp-3p3 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_EDP_3P3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&edp_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-always-on;
+ regulator-boot-on;
+ };
+};
+
+&apps_rsc {
+ regulators-0 {
+ compatible = "qcom,pm8550-rpmh-regulators";
+ qcom,pmic-id = "b";
+
+ vdd-bob1-supply = <&vph_pwr>;
+ vdd-bob2-supply = <&vph_pwr>;
+ vdd-l1-l4-l10-supply = <&vreg_s4c_1p8>;
+ vdd-l2-l13-l14-supply = <&vreg_bob1>;
+ vdd-l5-l16-supply = <&vreg_bob1>;
+ vdd-l6-l7-supply = <&vreg_bob2>;
+ vdd-l8-l9-supply = <&vreg_bob1>;
+ vdd-l12-supply = <&vreg_s5j_1p2>;
+ vdd-l15-supply = <&vreg_s4c_1p8>;
+ vdd-l17-supply = <&vreg_bob2>;
+
+ vreg_bob1: bob1 {
+ regulator-name = "vreg_bob1";
+ regulator-min-microvolt = <3008000>;
+ regulator-max-microvolt = <3960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_bob2: bob2 {
+ regulator-name = "vreg_bob2";
+ regulator-min-microvolt = <2504000>;
+ regulator-max-microvolt = <3008000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l1b_1p8: ldo1 {
+ regulator-name = "vreg_l1b_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2b_3p0: ldo2 {
+ regulator-name = "vreg_l2b_3p0";
+ regulator-min-microvolt = <3072000>;
+ regulator-max-microvolt = <3100000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l4b_1p8: ldo4 {
+ regulator-name = "vreg_l4b_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l5b_3p0: ldo5 {
+ regulator-name = "vreg_l5b_3p0";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l6b_1p8: ldo6 {
+ regulator-name = "vreg_l6b_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l7b_2p8: ldo7 {
+ regulator-name = "vreg_l7b_2p8";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l8b_3p0: ldo8 {
+ regulator-name = "vreg_l8b_3p0";
+ regulator-min-microvolt = <3072000>;
+ regulator-max-microvolt = <3072000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l9b_2p9: ldo9 {
+ regulator-name = "vreg_l9b_2p9";
+ regulator-min-microvolt = <2960000>;
+ regulator-max-microvolt = <2960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l10b_1p8: ldo10 {
+ regulator-name = "vreg_l10b_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l12b_1p2: ldo12 {
+ regulator-name = "vreg_l12b_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l13b_3p0: ldo13 {
+ regulator-name = "vreg_l13b_3p0";
+ regulator-min-microvolt = <3072000>;
+ regulator-max-microvolt = <3100000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l14b_3p0: ldo14 {
+ regulator-name = "vreg_l14b_3p0";
+ regulator-min-microvolt = <3072000>;
+ regulator-max-microvolt = <3072000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l15b_1p8: ldo15 {
+ regulator-name = "vreg_l15b_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l16b_2p9: ldo16 {
+ regulator-name = "vreg_l16b_2p9";
+ regulator-min-microvolt = <2912000>;
+ regulator-max-microvolt = <2912000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l17b_2p5: ldo17 {
+ regulator-name = "vreg_l17b_2p5";
+ regulator-min-microvolt = <2504000>;
+ regulator-max-microvolt = <2504000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-1 {
+ compatible = "qcom,pm8550ve-rpmh-regulators";
+ qcom,pmic-id = "c";
+
+ vdd-l1-supply = <&vreg_s5j_1p2>;
+ vdd-l2-supply = <&vreg_s1f_0p7>;
+ vdd-l3-supply = <&vreg_s1f_0p7>;
+ vdd-s4-supply = <&vph_pwr>;
+
+ vreg_s4c_1p8: smps4 {
+ regulator-name = "vreg_s4c_1p8";
+ regulator-min-microvolt = <1856000>;
+ regulator-max-microvolt = <2000000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l1c_1p2: ldo1 {
+ regulator-name = "vreg_l1c_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2c_0p8: ldo2 {
+ regulator-name = "vreg_l2c_0p8";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <920000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3c_0p8: ldo3 {
+ regulator-name = "vreg_l3c_0p8";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <920000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-2 {
+ compatible = "qcom,pmc8380-rpmh-regulators";
+ qcom,pmic-id = "d";
+
+ vdd-l1-supply = <&vreg_s1f_0p7>;
+ vdd-l2-supply = <&vreg_s1f_0p7>;
+ vdd-l3-supply = <&vreg_s4c_1p8>;
+ vdd-s1-supply = <&vph_pwr>;
+
+ vreg_l1d_0p8: ldo1 {
+ regulator-name = "vreg_l1d_0p8";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <920000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2d_0p9: ldo2 {
+ regulator-name = "vreg_l2d_0p9";
+ regulator-min-microvolt = <912000>;
+ regulator-max-microvolt = <920000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3d_1p8: ldo3 {
+ regulator-name = "vreg_l3d_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-3 {
+ compatible = "qcom,pmc8380-rpmh-regulators";
+ qcom,pmic-id = "e";
+
+ vdd-l2-supply = <&vreg_s1f_0p7>;
+ vdd-l3-supply = <&vreg_s5j_1p2>;
+
+ vreg_l2e_0p8: ldo2 {
+ regulator-name = "vreg_l2e_0p8";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <920000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3e_1p2: ldo3 {
+ regulator-name = "vreg_l3e_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-4 {
+ compatible = "qcom,pmc8380-rpmh-regulators";
+ qcom,pmic-id = "f";
+
+ vdd-l1-supply = <&vreg_s5j_1p2>;
+ vdd-l2-supply = <&vreg_s5j_1p2>;
+ vdd-l3-supply = <&vreg_s5j_1p2>;
+ vdd-s1-supply = <&vph_pwr>;
+
+ vreg_s1f_0p7: smps1 {
+ regulator-name = "vreg_s1f_0p7";
+ regulator-min-microvolt = <700000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l1f_1p0: ldo1 {
+ regulator-name = "vreg_l1f_1p0";
+ regulator-min-microvolt = <1024000>;
+ regulator-max-microvolt = <1024000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2f_1p0: ldo2 {
+ regulator-name = "vreg_l2f_1p0";
+ regulator-min-microvolt = <1024000>;
+ regulator-max-microvolt = <1024000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3f_1p0: ldo3 {
+ regulator-name = "vreg_l3f_1p0";
+ regulator-min-microvolt = <1024000>;
+ regulator-max-microvolt = <1024000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-6 {
+ compatible = "qcom,pm8550ve-rpmh-regulators";
+ qcom,pmic-id = "i";
+
+ vdd-l1-supply = <&vreg_s4c_1p8>;
+ vdd-l2-supply = <&vreg_s5j_1p2>;
+ vdd-l3-supply = <&vreg_s1f_0p7>;
+ vdd-s1-supply = <&vph_pwr>;
+ vdd-s2-supply = <&vph_pwr>;
+
+ vreg_s1i_0p9: smps1 {
+ regulator-name = "vreg_s1i_0p9";
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <920000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s2i_1p0: smps2 {
+ regulator-name = "vreg_s2i_1p0";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l1i_1p8: ldo1 {
+ regulator-name = "vreg_l1i_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2i_1p2: ldo2 {
+ regulator-name = "vreg_l2i_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3i_0p8: ldo3 {
+ regulator-name = "vreg_l3i_0p8";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <920000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-7 {
+ compatible = "qcom,pm8550ve-rpmh-regulators";
+ qcom,pmic-id = "j";
+
+ vdd-l1-supply = <&vreg_s1f_0p7>;
+ vdd-l2-supply = <&vreg_s5j_1p2>;
+ vdd-l3-supply = <&vreg_s1f_0p7>;
+ vdd-s5-supply = <&vph_pwr>;
+
+ vreg_s5j_1p2: smps5 {
+ regulator-name = "vreg_s5j_1p2";
+ regulator-min-microvolt = <1256000>;
+ regulator-max-microvolt = <1304000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l1j_0p8: ldo1 {
+ regulator-name = "vreg_l1j_0p8";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <920000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2j_1p2: ldo2 {
+ regulator-name = "vreg_l2j_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3j_0p8: ldo3 {
+ regulator-name = "vreg_l3j_0p8";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <920000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+};
+
+&i2c0 {
+ clock-frequency = <400000>;
+
+ status = "okay";
+
+ keyboard@5 {
+ compatible = "hid-over-i2c";
+ reg = <0x5>;
+
+ hid-descr-addr = <0x20>;
+ interrupts-extended = <&tlmm 67 IRQ_TYPE_LEVEL_LOW>;
+
+ pinctrl-0 = <&kybd_default>;
+ pinctrl-names = "default";
+
+ wakeup-source;
+ };
+};
+
+&i2c8 {
+ clock-frequency = <400000>;
+
+ status = "disabled";
+
+ touchscreen@5d {
+ compatible = "hid-over-i2c";
+ reg = <0x5d>;
+
+ hid-descr-addr = <0x1>;
+ /* XXX: Pin 51 is creating an interrupt storm. */
+ interrupts-extended = <&tlmm 51 IRQ_TYPE_LEVEL_LOW>;
+
+ pinctrl-0 = <&ts0_default>;
+ pinctrl-names = "default";
+ };
+};
+
+&i2c13 {
+ clock-frequency = <400000>;
+
+ status = "okay";
+
+ touchpad@40 {
+ compatible = "hid-over-i2c";
+ reg = <0x40>;
+
+ hid-descr-addr = <0xe>;
+ interrupts-extended = <&tlmm 3 IRQ_TYPE_LEVEL_LOW>;
+
+ pinctrl-0 = <&tpad_default>;
+ pinctrl-names = "default";
+ };
+};
+
+&lpass_tlmm {
+ spkr_01_sd_n_active: spkr-01-sd-n-active-state {
+ pins = "gpio12";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ output-low;
+ };
+
+ spkr_23_sd_n_active: spkr-23-sd-n-active-state {
+ pins = "gpio13";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ output-low;
+ };
+};
+
+&lpass_vamacro {
+ pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
+ pinctrl-names = "default";
+
+ vdd-micb-supply = <&vreg_l1b_1p8>;
+ qcom,dmic-sample-rate = <4800000>;
+};
+
+&mdss {
+ status = "okay";
+};
+
+&mdss_dp3 {
+ compatible = "qcom,x1e80100-dp";
+ /delete-property/ #sound-dai-cells;
+
+ status = "okay";
+
+ aux-bus {
+ panel {
+ compatible = "edp-panel";
+ power-supply = <&vreg_edp_3p3>;
+
+ port {
+ edp_panel_in: endpoint {
+ remote-endpoint = <&mdss_dp3_out>;
+ };
+ };
+ };
+ };
+
+ ports {
+ port@1 {
+ reg = <1>;
+ mdss_dp3_out: endpoint {
+ data-lanes = <0 1 2 3>;
+ link-frequencies =
+ /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+
+ remote-endpoint = <&edp_panel_in>;
+ };
+ };
+ };
+};
+
+&mdss_dp3_phy {
+ vdda-phy-supply = <&vreg_l3j_0p8>;
+ vdda-pll-supply = <&vreg_l2j_1p2>;
+
+ status = "okay";
+};
+
+&pcie4 {
+ perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
+ wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
+
+ pinctrl-0 = <&pcie4_default>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
+
+&pcie4_phy {
+ vdda-phy-supply = <&vreg_l3i_0p8>;
+ vdda-pll-supply = <&vreg_l3e_1p2>;
+
+ status = "okay";
+};
+
+&qupv3_0 {
+ status = "okay";
+};
+
+&qupv3_1 {
+ status = "okay";
+};
+
+&qupv3_2 {
+ status = "okay";
+};
+
+&remoteproc_adsp {
+ firmware-name = "qcom/x1e80100/SAMSUNG/galaxy-book4-edge/qcadsp8380.mbn",
+ "qcom/x1e80100/SAMSUNG/galaxy-book4-edge/adsp_dtbs.elf";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp {
+ firmware-name = "qcom/x1e80100/SAMSUNG/galaxy-book4-edge/qccdsp8380.mbn",
+ "qcom/x1e80100/SAMSUNG/galaxy-book4-edge/cdsp_dtbs.elf";
+
+ status = "okay";
+};
+
+&smb2360_0_eusb2_repeater {
+ vdd18-supply = <&vreg_l3d_1p8>;
+ vdd3-supply = <&vreg_l2b_3p0>;
+};
+
+&smb2360_1_eusb2_repeater {
+ vdd18-supply = <&vreg_l3d_1p8>;
+ vdd3-supply = <&vreg_l14b_3p0>;
+};
+
+&smb2360_2 {
+ status = "okay";
+};
+
+&smb2360_2_eusb2_repeater {
+ vdd18-supply = <&vreg_l3d_1p8>;
+ vdd3-supply = <&vreg_l8b_3p0>;
+};
+
+&swr0 {
+ status = "okay";
+
+ pinctrl-0 = <&wsa_swr_active>, <&spkr_01_sd_n_active>;
+ pinctrl-names = "default";
+
+ /* WSA8845, Left Woofer */
+ left_woofer: speaker@0,0 {
+ compatible = "sdw20217020400";
+ reg = <0 0>;
+ reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "WooferLeft";
+ vdd-1p8-supply = <&vreg_l15b_1p8>;
+ vdd-io-supply = <&vreg_l12b_1p2>;
+ };
+
+ /* WSA8845, Left Tweeter */
+ left_tweeter: speaker@0,1 {
+ compatible = "sdw20217020400";
+ reg = <0 1>;
+ reset-gpios = <&lpass_tlmm 12 GPIO_ACTIVE_LOW>;
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "TwitterLeft";
+ vdd-1p8-supply = <&vreg_l15b_1p8>;
+ vdd-io-supply = <&vreg_l12b_1p2>;
+ };
+};
+
+&swr1 {
+ status = "okay";
+
+ /* WCD9385 RX */
+ wcd_rx: codec@0,4 {
+ compatible = "sdw20217010d00";
+ reg = <0 4>;
+ qcom,rx-port-mapping = <1 2 3 4 5>;
+ };
+};
+
+&swr2 {
+ status = "okay";
+
+ /* WCD9385 TX */
+ wcd_tx: codec@0,3 {
+ compatible = "sdw20217010d00";
+ reg = <0 3>;
+ qcom,tx-port-mapping = <2 2 3 4>;
+ };
+};
+
+&swr3 {
+ status = "okay";
+
+ pinctrl-0 = <&wsa2_swr_active>, <&spkr_23_sd_n_active>;
+ pinctrl-names = "default";
+
+ /* WSA8845, Right Woofer */
+ right_woofer: speaker@0,0 {
+ compatible = "sdw20217020400";
+ reg = <0 0>;
+ reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "WooferRight";
+ vdd-1p8-supply = <&vreg_l15b_1p8>;
+ vdd-io-supply = <&vreg_l12b_1p2>;
+ };
+
+ /* WSA8845, Right Tweeter */
+ right_tweeter: speaker@0,1 {
+ compatible = "sdw20217020400";
+ reg = <0 1>;
+ reset-gpios = <&lpass_tlmm 13 GPIO_ACTIVE_LOW>;
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "TwitterRight";
+ vdd-1p8-supply = <&vreg_l15b_1p8>;
+ vdd-io-supply = <&vreg_l12b_1p2>;
+ };
+};
+
+&tlmm {
+ gpio-reserved-ranges = <34 2>, /* Unused */
+ <44 4>, /* SPI (TPM) */
+ <238 1>; /* UFS Reset */
+
+ edp_reg_en: edp-reg-en-state {
+ pins = "gpio70";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ };
+
+ kybd_default: kybd-default-state {
+ pins = "gpio67";
+ function = "gpio";
+ bias-disable;
+ };
+
+ pcie4_default: pcie4-default-state {
+ clkreq-n-pins {
+ pins = "gpio147";
+ function = "pcie4_clk";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ perst-n-pins {
+ pins = "gpio146";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ wake-n-pins {
+ pins = "gpio148";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ tpad_default: tpad-default-state {
+ pins = "gpio3";
+ function = "gpio";
+ bias-disable;
+ };
+
+ ts0_default: ts0-default-state {
+ int-n-pins {
+ pins = "gpio51";
+ function = "gpio";
+ bias-disable;
+ };
+
+ reset-n-pins {
+ pins = "gpio48";
+ function = "gpio";
+ output-high;
+ drive-strength = <16>;
+ };
+ };
+
+ wcd_default: wcd-reset-n-active-state {
+ pins = "gpio191";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ output-low;
+ };
+};
+
+&ufs_mem_hc {
+ status = "okay";
+
+ vcc-supply = <&vreg_l9b_2p9>;
+ vcc-max-microamp = <600000>;
+ vccq2-supply = <&vreg_l4b_1p8>;
+ vccq2-max-microamp = <600000>;
+};
+
+&ufs_mem_phy {
+ status = "okay";
+
+ vdda-phy-supply = <&vreg_l2c_0p8>;
+ vdda-phy-max-microamp = <62900>;
+ vdda-pll-supply = <&vreg_l12b_1p2>;
+ vdda-pll-max-microamp = <18300>;
+};
+
+&uart21 {
+ compatible = "qcom,geni-debug-uart";
+ status = "okay";
+};
+
+&usb_1_ss0_hsphy {
+ vdd-supply = <&vreg_l3j_0p8>;
+ vdda12-supply = <&vreg_l2j_1p2>;
+
+ phys = <&smb2360_0_eusb2_repeater>;
+
+ status = "okay";
+};
+
+&usb_1_ss0_qmpphy {
+ vdda-phy-supply = <&vreg_l3e_1p2>;
+ vdda-pll-supply = <&vreg_l1j_0p8>;
+
+ status = "okay";
+};
+
+&usb_1_ss0 {
+ status = "okay";
+};
+
+&usb_1_ss0_dwc3 {
+ dr_mode = "host";
+};
+
+&usb_1_ss0_dwc3_hs {
+ remote-endpoint = <&pmic_glink_ss0_hs_in>;
+};
+
+&usb_1_ss0_qmpphy_out {
+ remote-endpoint = <&pmic_glink_ss0_ss_in>;
+};
+
+&usb_1_ss1_hsphy {
+ vdd-supply = <&vreg_l3j_0p8>;
+ vdda12-supply = <&vreg_l2j_1p2>;
+
+ phys = <&smb2360_1_eusb2_repeater>;
+
+ status = "okay";
+};
+
+&usb_1_ss1_qmpphy {
+ vdda-phy-supply = <&vreg_l3e_1p2>;
+ vdda-pll-supply = <&vreg_l2d_0p9>;
+
+ status = "okay";
+};
+
+&usb_1_ss1 {
+ status = "okay";
+};
+
+&usb_1_ss1_dwc3 {
+ dr_mode = "host";
+};
+
+&usb_1_ss1_dwc3_hs {
+ remote-endpoint = <&pmic_glink_ss1_hs_in>;
+};
+
+&usb_1_ss1_qmpphy_out {
+ remote-endpoint = <&pmic_glink_ss1_ss_in>;
+};
+
+&usb_1_ss2_hsphy {
+ vdd-supply = <&vreg_l3j_0p8>;
+ vdda12-supply = <&vreg_l2j_1p2>;
+
+ phys = <&smb2360_2_eusb2_repeater>;
+
+ status = "okay";
+};
+
+&usb_1_ss2_qmpphy {
+ vdda-phy-supply = <&vreg_l3e_1p2>;
+ vdda-pll-supply = <&vreg_l2d_0p9>;
+
+ status = "okay";
+};
+
+&usb_1_ss2 {
+ status = "okay";
+};
+
+&usb_1_ss2_dwc3 {
+ dr_mode = "host";
+};
+
+&usb_1_ss2_dwc3_hs {
+ remote-endpoint = <&pmic_glink_ss2_hs_in>;
+};
+
+&usb_1_ss2_qmpphy_out {
+ remote-endpoint = <&pmic_glink_ss2_ss_in>;
+};
--
2.39.2
^ permalink raw reply related [flat|nested] 20+ messages in thread* Re: [PATCH v3 6/6] arm64: dts: qcom: Add Samsung Galaxy Book4 Edge DTS
2024-08-15 10:45 ` [PATCH v3 6/6] arm64: dts: qcom: Add Samsung Galaxy Book4 Edge DTS Marcus Glocker
@ 2024-08-16 7:19 ` Krzysztof Kozlowski
2024-08-16 7:21 ` Krzysztof Kozlowski
1 sibling, 0 replies; 20+ messages in thread
From: Krzysztof Kozlowski @ 2024-08-16 7:19 UTC (permalink / raw)
To: Marcus Glocker, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Abel Vesa, Johan Hovold, Konrad Dybcio
On 15/08/2024 12:45, Marcus Glocker wrote:
> Add the initial DTS file for the Samsung Galaxy Book4 Edge laptop.
> This was a copy of the arch/arm64/boot/dts/qcom/x1e80100-crd.dts file and
> adapted to our needs.
>
> Signed-off-by: Marcus Glocker <marcus@nazgul.ch>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 1 +
> .../x1e80100-samsung-galaxy-book4-edge.dts | 959 ++++++++++++++++++
> 2 files changed, 960 insertions(+)
> create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-samsung-galaxy-book4-edge.dts
>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 6/6] arm64: dts: qcom: Add Samsung Galaxy Book4 Edge DTS
2024-08-15 10:45 ` [PATCH v3 6/6] arm64: dts: qcom: Add Samsung Galaxy Book4 Edge DTS Marcus Glocker
2024-08-16 7:19 ` Krzysztof Kozlowski
@ 2024-08-16 7:21 ` Krzysztof Kozlowski
1 sibling, 0 replies; 20+ messages in thread
From: Krzysztof Kozlowski @ 2024-08-16 7:21 UTC (permalink / raw)
To: Marcus Glocker, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Marijn Suijten, linux-arm-msm, devicetree, linux-kernel,
Abel Vesa, Johan Hovold, Konrad Dybcio
On 15/08/2024 12:45, Marcus Glocker wrote:
> Add the initial DTS file for the Samsung Galaxy Book4 Edge laptop.
> This was a copy of the arch/arm64/boot/dts/qcom/x1e80100-crd.dts file and
> adapted to our needs.
>
> Signed-off-by: Marcus Glocker <marcus@nazgul.ch>
...
> +&ufs_mem_hc {
> + status = "okay";
> +
> + vcc-supply = <&vreg_l9b_2p9>;
> + vcc-max-microamp = <600000>;
> + vccq2-supply = <&vreg_l4b_1p8>;
> + vccq2-max-microamp = <600000>;
> +};
> +
> +&ufs_mem_phy {
> + status = "okay";
> +
> + vdda-phy-supply = <&vreg_l2c_0p8>;
> + vdda-phy-max-microamp = <62900>;
Drop
> + vdda-pll-supply = <&vreg_l12b_1p2>;
> + vdda-pll-max-microamp = <18300>;
Drop
Tests would tell you these are not valid/accepted.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v3 0/6] Add initial DTS for Samsung Galaxy Book4 Edge
2024-08-15 10:36 [PATCH v3 0/6] Add initial DTS for Samsung Galaxy Book4 Edge Marcus Glocker
` (5 preceding siblings ...)
2024-08-15 10:45 ` [PATCH v3 6/6] arm64: dts: qcom: Add Samsung Galaxy Book4 Edge DTS Marcus Glocker
@ 2024-08-15 18:28 ` Rob Herring (Arm)
6 siblings, 0 replies; 20+ messages in thread
From: Rob Herring (Arm) @ 2024-08-15 18:28 UTC (permalink / raw)
To: Marcus Glocker
Cc: linux-kernel, devicetree, Johan Hovold, linux-arm-msm,
Marijn Suijten, Conor Dooley, Konrad Dybcio, Abel Vesa,
Bjorn Andersson, Krzysztof Kozlowski
On Thu, 15 Aug 2024 12:36:40 +0200, Marcus Glocker wrote:
> This DTS adds initial support for the Samsung Galaxy Book4 Edge laptop.
> Keyboard, Touch-pad, and UFS are working. The Touch-screen needs further
> investigation, and is therefore disabled for now.
>
> Changed from v2:
> - Squash Makefile patch to new DTS file patch.
>
> Changed from v1:
> - Provide the patch in the expected format.
> - Added missing bindings.
> - Removed sound node.
> - Changed regulator syntax to be consistent.
> - Changed touchscreen node comment, and removed false pin definition.
> - Rename ufshc@ to ufs@.
>
> Marcus Glocker (6):
> dt-bindings: crypto: Add X1E80100 Crypto Engine
> dt-bindings: phy: Add X1E80100 UFS
> dt-bindings: ufs: Add X1E80100 UFS
> arm64: dts: qcom: Add UFS node
> dt-bindings: arm: Add Samsung Galaxy Book4 Edge
> arm64: dts: qcom: Add Samsung Galaxy Book4 Edge DTS
>
> .../devicetree/bindings/arm/qcom.yaml | 1 +
> .../crypto/qcom,inline-crypto-engine.yaml | 1 +
> .../phy/qcom,sc8280xp-qmp-ufs-phy.yaml | 2 +
> .../devicetree/bindings/ufs/qcom,ufs.yaml | 2 +
> arch/arm64/boot/dts/qcom/Makefile | 1 +
> .../x1e80100-samsung-galaxy-book4-edge.dts | 959 ++++++++++++++++++
> arch/arm64/boot/dts/qcom/x1e80100.dtsi | 71 ++
> 7 files changed, 1037 insertions(+)
> create mode 100644 arch/arm64/boot/dts/qcom/x1e80100-samsung-galaxy-book4-edge.dts
>
> --
> 2.39.2
>
>
>
My bot found new DTB warnings on the .dts files added or changed in this
series.
Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.
If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:
pip3 install dtschema --upgrade
New warnings running 'make CHECK_DTBS=y qcom/x1e80100-samsung-galaxy-book4-edge.dtb' for v2iah5yrne4u6uzrnzg36tvtxzqrpiez6io2gyyfrht2x42umw@5ribqndiavxv:
arch/arm64/boot/dts/qcom/x1e80100-samsung-galaxy-book4-edge.dtb: domain-idle-states: cluster-sleep-0: 'idle-state-name' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml#
arch/arm64/boot/dts/qcom/x1e80100-samsung-galaxy-book4-edge.dtb: domain-idle-states: cluster-sleep-1: 'idle-state-name' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml#
arch/arm64/boot/dts/qcom/x1e80100-samsung-galaxy-book4-edge.dtb: phy@1d87000: clocks: [[2, 0], [52, 242]] is too short
from schema $id: http://devicetree.org/schemas/phy/qcom,sc8280xp-qmp-ufs-phy.yaml#
arch/arm64/boot/dts/qcom/x1e80100-samsung-galaxy-book4-edge.dtb: phy@1d87000: 'vdda-phy-max-microamp', 'vdda-pll-max-microamp' do not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/phy/qcom,sc8280xp-qmp-ufs-phy.yaml#
arch/arm64/boot/dts/qcom/x1e80100-samsung-galaxy-book4-edge.dtb: usb@a2f8800: interrupt-names: ['pwr_event', 'dp_hs_phy_irq', 'dm_hs_phy_irq'] is too short
from schema $id: http://devicetree.org/schemas/usb/qcom,dwc3.yaml#
^ permalink raw reply [flat|nested] 20+ messages in thread