* [PATCH v3 0/4] Enable UFS on gs101 / Pixel 6 (Oriole)
@ 2024-04-26 13:38 Peter Griffin
2024-04-26 13:38 ` [PATCH v3 1/4] dt-bindings: soc: google: exynos-sysreg: add dedicated hsi2 sysreg compatible Peter Griffin
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Peter Griffin @ 2024-04-26 13:38 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, alim.akhtar
Cc: devicetree, linux-arm-kernel, linux-samsung-soc, linux-kernel,
tudor.ambarus, andre.draszik, saravanak, willmcvicker,
kernel-team, Peter Griffin
Hi Krzysztof,
This series contains the dts, dtsi and sysreg bindings that enables UFS
on Pixel 6 (Oriole). For v3 it has been split into separate series to
as you requested.
Along with the various driver code UFS is now functional, the SKhynix
HN8T05BZGKX015 can be enumerated, partitions mounted etc.
UFS bindings in this series are proposed:
https://lore.kernel.org/linux-arm-kernel/20240426122004.2249178-1-peter.griffin@linaro.org/
Clock cmu_hsi2 bindings are proposed:
https://lore.kernel.org/r/20240426-hsi0-gs101-v2-0-2157da8b63e3@linaro.org
UFS phy bindings used here are already queued by Vinod
kind regards,
Peter.
lore v2: https://lore.kernel.org/linux-kernel/20240423205006.1785138-1-peter.griffin@linaro.org/
lore v1: https://lore.kernel.org/linux-clk/20240404122559.898930-1-peter.griffin@linaro.org/
Changes since v2:
- Split into separate subsystem series
- Split dts and dtsi patches (Krzysztof)
Changes since v1:
- Collect up tags
- fix google,gs101-hsi2-sysreg size (0x10000 not 0x1000) (Andre)
- use GPIO defines in DT and add TODO pmic comment (Krzysztof)
- Add sysreg clock to ufs node (Andre)
Peter Griffin (4):
dt-bindings: soc: google: exynos-sysreg: add dedicated hsi2 sysreg
compatible
arm64: dts: exynos: gs101: Add the hsi2 sysreg node
arm64: dts: exynos: gs101: Add ufs and ufs-phy dt nodes
arm64: dts: exynos: gs101: enable ufs, phy on oriole & define ufs
regulator
.../soc/samsung/samsung,exynos-sysreg.yaml | 2 +
.../boot/dts/exynos/google/gs101-oriole.dts | 18 ++++++++
arch/arm64/boot/dts/exynos/google/gs101.dtsi | 42 +++++++++++++++++++
3 files changed, 62 insertions(+)
--
2.44.0.769.g3c40516874-goog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3 1/4] dt-bindings: soc: google: exynos-sysreg: add dedicated hsi2 sysreg compatible
2024-04-26 13:38 [PATCH v3 0/4] Enable UFS on gs101 / Pixel 6 (Oriole) Peter Griffin
@ 2024-04-26 13:38 ` Peter Griffin
2024-04-26 13:38 ` [PATCH v3 2/4] arm64: dts: exynos: gs101: Add the hsi2 sysreg node Peter Griffin
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Peter Griffin @ 2024-04-26 13:38 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, alim.akhtar
Cc: devicetree, linux-arm-kernel, linux-samsung-soc, linux-kernel,
tudor.ambarus, andre.draszik, saravanak, willmcvicker,
kernel-team, Peter Griffin
Update dt schema to include the gs101 hsi2 sysreg compatible.
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Reviewed-by: André Draszik <andre.draszik@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
---
.../devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml b/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml
index c0c6ce8fc786..3ca220582897 100644
--- a/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml
+++ b/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml
@@ -15,6 +15,7 @@ properties:
- items:
- enum:
- google,gs101-apm-sysreg
+ - google,gs101-hsi2-sysreg
- google,gs101-peric0-sysreg
- google,gs101-peric1-sysreg
- samsung,exynos3-sysreg
@@ -72,6 +73,7 @@ allOf:
compatible:
contains:
enum:
+ - google,gs101-hsi2-sysreg
- google,gs101-peric0-sysreg
- google,gs101-peric1-sysreg
- samsung,exynos850-cmgp-sysreg
--
2.44.0.769.g3c40516874-goog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v3 2/4] arm64: dts: exynos: gs101: Add the hsi2 sysreg node
2024-04-26 13:38 [PATCH v3 0/4] Enable UFS on gs101 / Pixel 6 (Oriole) Peter Griffin
2024-04-26 13:38 ` [PATCH v3 1/4] dt-bindings: soc: google: exynos-sysreg: add dedicated hsi2 sysreg compatible Peter Griffin
@ 2024-04-26 13:38 ` Peter Griffin
2024-04-26 13:38 ` [PATCH v3 3/4] arm64: dts: exynos: gs101: Add ufs and ufs-phy dt nodes Peter Griffin
2024-04-26 13:38 ` [PATCH v3 4/4] arm64: dts: exynos: gs101: enable ufs, phy on oriole & define ufs regulator Peter Griffin
3 siblings, 0 replies; 7+ messages in thread
From: Peter Griffin @ 2024-04-26 13:38 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, alim.akhtar
Cc: devicetree, linux-arm-kernel, linux-samsung-soc, linux-kernel,
tudor.ambarus, andre.draszik, saravanak, willmcvicker,
kernel-team, Peter Griffin
This has some configuration bits such as sharability that
are required by UFS.
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Reviewed-by: André Draszik <andre.draszik@linaro.org>
---
arch/arm64/boot/dts/exynos/google/gs101.dtsi | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
index 38ac4fb1397e..09044deede63 100644
--- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi
+++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
@@ -1265,6 +1265,12 @@ cmu_hsi2: clock-controller@14400000 {
clock-names = "oscclk", "bus", "pcie", "ufs_embd", "mmc_card";
};
+ sysreg_hsi2: syscon@14420000 {
+ compatible = "google,gs101-hsi2-sysreg", "syscon";
+ reg = <0x14420000 0x10000>;
+ clocks = <&cmu_hsi2 CLK_GOUT_HSI2_SYSREG_HSI2_PCLK>;
+ };
+
pinctrl_hsi2: pinctrl@14440000 {
compatible = "google,gs101-pinctrl";
reg = <0x14440000 0x00001000>;
--
2.44.0.769.g3c40516874-goog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v3 3/4] arm64: dts: exynos: gs101: Add ufs and ufs-phy dt nodes
2024-04-26 13:38 [PATCH v3 0/4] Enable UFS on gs101 / Pixel 6 (Oriole) Peter Griffin
2024-04-26 13:38 ` [PATCH v3 1/4] dt-bindings: soc: google: exynos-sysreg: add dedicated hsi2 sysreg compatible Peter Griffin
2024-04-26 13:38 ` [PATCH v3 2/4] arm64: dts: exynos: gs101: Add the hsi2 sysreg node Peter Griffin
@ 2024-04-26 13:38 ` Peter Griffin
2024-04-28 15:50 ` Krzysztof Kozlowski
2024-04-26 13:38 ` [PATCH v3 4/4] arm64: dts: exynos: gs101: enable ufs, phy on oriole & define ufs regulator Peter Griffin
3 siblings, 1 reply; 7+ messages in thread
From: Peter Griffin @ 2024-04-26 13:38 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, alim.akhtar
Cc: devicetree, linux-arm-kernel, linux-samsung-soc, linux-kernel,
tudor.ambarus, andre.draszik, saravanak, willmcvicker,
kernel-team, Peter Griffin
Add the ufs controller node and phy node for gs101.
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Acked-by: André Draszik <andre.draszik@linaro.org>
---
arch/arm64/boot/dts/exynos/google/gs101.dtsi | 36 ++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
index 09044deede63..4679ca33c6a0 100644
--- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi
+++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
@@ -1277,6 +1277,42 @@ pinctrl_hsi2: pinctrl@14440000 {
interrupts = <GIC_SPI 503 IRQ_TYPE_LEVEL_HIGH 0>;
};
+ ufs_0_phy: phy@17e04000 {
+ compatible = "google,gs101-ufs-phy";
+ reg = <0x14704000 0x3000>;
+ reg-names = "phy-pma";
+ samsung,pmu-syscon = <&pmu_system_controller>;
+ #phy-cells = <0>;
+ clocks = <&ext_24_5m>;
+ clock-names = "ref_clk";
+ status = "disabled";
+ };
+
+ ufs_0: ufs@14700000 {
+ compatible = "google,gs101-ufs";
+ reg = <0x14700000 0x200>,
+ <0x14701100 0x200>,
+ <0x14780000 0xa000>,
+ <0x14600000 0x100>;
+ reg-names = "hci", "vs_hci", "unipro", "ufsp";
+ interrupts = <GIC_SPI 532 IRQ_TYPE_LEVEL_HIGH 0>;
+ clocks = <&cmu_hsi2 CLK_GOUT_HSI2_UFS_EMBD_I_ACLK>,
+ <&cmu_hsi2 CLK_GOUT_HSI2_UFS_EMBD_I_CLK_UNIPRO>,
+ <&cmu_hsi2 CLK_GOUT_HSI2_UFS_EMBD_I_FMP_CLK>,
+ <&cmu_hsi2 CLK_GOUT_HSI2_QE_UFS_EMBD_HSI2_ACLK>,
+ <&cmu_hsi2 CLK_GOUT_HSI2_QE_UFS_EMBD_HSI2_PCLK>,
+ <&cmu_hsi2 CLK_GOUT_HSI2_SYSREG_HSI2_PCLK>;
+ clock-names = "core_clk", "sclk_unipro_main", "fmp",
+ "aclk", "pclk", "sysreg";
+ freq-table-hz = <0 0>, <0 0>, <0 0>, <0 0>, <0 0>, <0 0>;
+ pinctrl-0 = <&ufs_rst_n &ufs_refclk_out>;
+ pinctrl-names = "default";
+ phys = <&ufs_0_phy>;
+ phy-names = "ufs-phy";
+ samsung,sysreg = <&sysreg_hsi2 0x710>;
+ status = "disabled";
+ };
+
cmu_apm: clock-controller@17400000 {
compatible = "google,gs101-cmu-apm";
reg = <0x17400000 0x8000>;
--
2.44.0.769.g3c40516874-goog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v3 4/4] arm64: dts: exynos: gs101: enable ufs, phy on oriole & define ufs regulator
2024-04-26 13:38 [PATCH v3 0/4] Enable UFS on gs101 / Pixel 6 (Oriole) Peter Griffin
` (2 preceding siblings ...)
2024-04-26 13:38 ` [PATCH v3 3/4] arm64: dts: exynos: gs101: Add ufs and ufs-phy dt nodes Peter Griffin
@ 2024-04-26 13:38 ` Peter Griffin
3 siblings, 0 replies; 7+ messages in thread
From: Peter Griffin @ 2024-04-26 13:38 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, alim.akhtar
Cc: devicetree, linux-arm-kernel, linux-samsung-soc, linux-kernel,
tudor.ambarus, andre.draszik, saravanak, willmcvicker,
kernel-team, Peter Griffin
Enable ufs & ufs phy nodes for Oriole. Also define the ufs regulator node.
ufs regulator is a stub until full s2mpg11 slave pmic support is added.
The gpio defined is for the BOOTLD0 (gs101) signal connected to
UFS_EN(s2mpg11) gpio enabled voltage rail for UFS.
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
.../boot/dts/exynos/google/gs101-oriole.dts | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
index 6be15e990b65..fb32f6ce2a4d 100644
--- a/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
+++ b/arch/arm64/boot/dts/exynos/google/gs101-oriole.dts
@@ -53,6 +53,15 @@ button-power {
wakeup-source;
};
};
+
+ /* TODO: Remove this once S2MPG11 slave PMIC is implemented */
+ ufs_0_fixed_vcc_reg: regulator-0 {
+ compatible = "regulator-fixed";
+ regulator-name = "ufs-vcc";
+ gpio = <&gpp0 1 GPIO_ACTIVE_HIGH>;
+ regulator-boot-on;
+ enable-active-high;
+ };
};
&ext_24_5m {
@@ -106,6 +115,15 @@ &serial_0 {
status = "okay";
};
+&ufs_0 {
+ status = "okay";
+ vcc-supply = <&ufs_0_fixed_vcc_reg>;
+};
+
+&ufs_0_phy {
+ status = "okay";
+};
+
&usi_uart {
samsung,clkreq-on; /* needed for UART mode */
status = "okay";
--
2.44.0.769.g3c40516874-goog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v3 3/4] arm64: dts: exynos: gs101: Add ufs and ufs-phy dt nodes
2024-04-26 13:38 ` [PATCH v3 3/4] arm64: dts: exynos: gs101: Add ufs and ufs-phy dt nodes Peter Griffin
@ 2024-04-28 15:50 ` Krzysztof Kozlowski
2024-04-29 11:12 ` Peter Griffin
0 siblings, 1 reply; 7+ messages in thread
From: Krzysztof Kozlowski @ 2024-04-28 15:50 UTC (permalink / raw)
To: Peter Griffin, robh, krzk+dt, conor+dt, alim.akhtar
Cc: devicetree, linux-arm-kernel, linux-samsung-soc, linux-kernel,
tudor.ambarus, andre.draszik, saravanak, willmcvicker,
kernel-team
On 26/04/2024 15:38, Peter Griffin wrote:
> Add the ufs controller node and phy node for gs101.
>
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> Acked-by: André Draszik <andre.draszik@linaro.org>
> ---
> arch/arm64/boot/dts/exynos/google/gs101.dtsi | 36 ++++++++++++++++++++
> 1 file changed, 36 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
> index 09044deede63..4679ca33c6a0 100644
> --- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi
> +++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
> @@ -1277,6 +1277,42 @@ pinctrl_hsi2: pinctrl@14440000 {
> interrupts = <GIC_SPI 503 IRQ_TYPE_LEVEL_HIGH 0>;
> };
>
> + ufs_0_phy: phy@17e04000 {
> + compatible = "google,gs101-ufs-phy";
> + reg = <0x14704000 0x3000>;
> + reg-names = "phy-pma";
> + samsung,pmu-syscon = <&pmu_system_controller>;
> + #phy-cells = <0>;
> + clocks = <&ext_24_5m>;
> + clock-names = "ref_clk";
> + status = "disabled";
> + };
> +
> + ufs_0: ufs@14700000 {
Unit-address order got broken here.
Best regards,
Krzysztof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 3/4] arm64: dts: exynos: gs101: Add ufs and ufs-phy dt nodes
2024-04-28 15:50 ` Krzysztof Kozlowski
@ 2024-04-29 11:12 ` Peter Griffin
0 siblings, 0 replies; 7+ messages in thread
From: Peter Griffin @ 2024-04-29 11:12 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: robh, krzk+dt, conor+dt, alim.akhtar, devicetree,
linux-arm-kernel, linux-samsung-soc, linux-kernel, tudor.ambarus,
andre.draszik, saravanak, willmcvicker, kernel-team
Hi Krzysztof,
On Sun, 28 Apr 2024 at 16:50, Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On 26/04/2024 15:38, Peter Griffin wrote:
> > Add the ufs controller node and phy node for gs101.
> >
> > Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> > Acked-by: André Draszik <andre.draszik@linaro.org>
> > ---
> > arch/arm64/boot/dts/exynos/google/gs101.dtsi | 36 ++++++++++++++++++++
> > 1 file changed, 36 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
> > index 09044deede63..4679ca33c6a0 100644
> > --- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi
> > +++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
> > @@ -1277,6 +1277,42 @@ pinctrl_hsi2: pinctrl@14440000 {
> > interrupts = <GIC_SPI 503 IRQ_TYPE_LEVEL_HIGH 0>;
> > };
> >
> > + ufs_0_phy: phy@17e04000 {
> > + compatible = "google,gs101-ufs-phy";
> > + reg = <0x14704000 0x3000>;
> > + reg-names = "phy-pma";
> > + samsung,pmu-syscon = <&pmu_system_controller>;
> > + #phy-cells = <0>;
> > + clocks = <&ext_24_5m>;
> > + clock-names = "ref_clk";
> > + status = "disabled";
> > + };
> > +
> > + ufs_0: ufs@14700000 {
>
> Unit-address order got broken here.
Thanks for the review. Will fix
regards,
Peter
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-04-29 11:13 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-26 13:38 [PATCH v3 0/4] Enable UFS on gs101 / Pixel 6 (Oriole) Peter Griffin
2024-04-26 13:38 ` [PATCH v3 1/4] dt-bindings: soc: google: exynos-sysreg: add dedicated hsi2 sysreg compatible Peter Griffin
2024-04-26 13:38 ` [PATCH v3 2/4] arm64: dts: exynos: gs101: Add the hsi2 sysreg node Peter Griffin
2024-04-26 13:38 ` [PATCH v3 3/4] arm64: dts: exynos: gs101: Add ufs and ufs-phy dt nodes Peter Griffin
2024-04-28 15:50 ` Krzysztof Kozlowski
2024-04-29 11:12 ` Peter Griffin
2024-04-26 13:38 ` [PATCH v3 4/4] arm64: dts: exynos: gs101: enable ufs, phy on oriole & define ufs regulator Peter Griffin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).