* [PATCH 0/2] Support for Exynos7870's MIPI PHY blocks
@ 2025-06-12 15:09 Kaustabh Chakraborty
2025-06-12 15:09 ` [PATCH 1/2] dt-bindings: phy: samsung,mipi-video-phy: document exynos7870 MIPI phy Kaustabh Chakraborty
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Kaustabh Chakraborty @ 2025-06-12 15:09 UTC (permalink / raw)
To: Vinod Koul, Kishon Vijay Abraham I, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Marek Szyprowski,
Sylwester Nawrocki, Alim Akhtar
Cc: Krzysztof Kozlowski, linux-phy, devicetree, linux-kernel,
linux-arm-kernel, linux-samsung-soc, Kaustabh Chakraborty
This patch series adds support for Exynos7870's MIPI DSIM (for display)
and CSIS (for camera) PHY blocks. It contains a single DSIM and three
CSIS PHYs.
Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
---
Kaustabh Chakraborty (2):
dt-bindings: phy: samsung,mipi-video-phy: document exynos7870 MIPI phy
phy: exynos-mipi-video: introduce support for exynos7870
.../bindings/phy/samsung,mipi-video-phy.yaml | 29 ++++++++++--
drivers/phy/samsung/phy-exynos-mipi-video.c | 52 ++++++++++++++++++++++
include/linux/soc/samsung/exynos-regs-pmu.h | 5 +++
3 files changed, 82 insertions(+), 4 deletions(-)
---
base-commit: 0bb71d301869446810a0b13d3da290bd455d7c78
change-id: 20250523-exynos7870-mipi-phy-451f875f6ba2
Best regards,
--
Kaustabh Chakraborty <kauschluss@disroot.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2] dt-bindings: phy: samsung,mipi-video-phy: document exynos7870 MIPI phy
2025-06-12 15:09 [PATCH 0/2] Support for Exynos7870's MIPI PHY blocks Kaustabh Chakraborty
@ 2025-06-12 15:09 ` Kaustabh Chakraborty
2025-06-12 15:28 ` Conor Dooley
2025-06-12 15:09 ` [PATCH 2/2] phy: exynos-mipi-video: introduce support for exynos7870 Kaustabh Chakraborty
2025-06-15 16:52 ` [PATCH 0/2] Support for Exynos7870's MIPI PHY blocks Vinod Koul
2 siblings, 1 reply; 6+ messages in thread
From: Kaustabh Chakraborty @ 2025-06-12 15:09 UTC (permalink / raw)
To: Vinod Koul, Kishon Vijay Abraham I, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Marek Szyprowski,
Sylwester Nawrocki, Alim Akhtar
Cc: Krzysztof Kozlowski, linux-phy, devicetree, linux-kernel,
linux-arm-kernel, linux-samsung-soc, Kaustabh Chakraborty
The Exynos7870 MIPI PHY device contains one DSIM PHY block and three
CSIS PHY blocks. It also requires two sysregs, one for display, and the
other for cameras. Document this device.
Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
---
.../bindings/phy/samsung,mipi-video-phy.yaml | 29 +++++++++++++++++++---
1 file changed, 25 insertions(+), 4 deletions(-)
diff --git a/Documentation/devicetree/bindings/phy/samsung,mipi-video-phy.yaml b/Documentation/devicetree/bindings/phy/samsung,mipi-video-phy.yaml
index b2250e4a6b1b1ae072bc8e10e53528a4ca0e4a5e..16967ef8e9ecc09e24a995fc041ae3735334d98d 100644
--- a/Documentation/devicetree/bindings/phy/samsung,mipi-video-phy.yaml
+++ b/Documentation/devicetree/bindings/phy/samsung,mipi-video-phy.yaml
@@ -29,6 +29,7 @@ properties:
- samsung,s5pv210-mipi-video-phy
- samsung,exynos5420-mipi-video-phy
- samsung,exynos5433-mipi-video-phy
+ - samsung,exynos7870-mipi-video-phy
"#phy-cells":
const: 1
@@ -46,19 +47,20 @@ properties:
deprecated: true
description:
Phandle to PMU system controller interface, valid for
- samsung,exynos5433-mipi-video-phy (if not a child of PMU).
+ samsung,exynos5433-mipi-video-phy and samsung,exynos7870-mipi-video-phy
+ (if not a child of PMU).
samsung,disp-sysreg:
$ref: /schemas/types.yaml#/definitions/phandle
description:
Phandle to DISP system controller interface, valid for
- samsung,exynos5433-mipi-video-phy.
+ samsung,exynos5433-mipi-video-phy and samsung,exynos7870-mipi-video-phy.
samsung,cam0-sysreg:
$ref: /schemas/types.yaml#/definitions/phandle
description:
Phandle to CAM0 system controller interface, valid for
- samsung,exynos5433-mipi-video-phy.
+ samsung,exynos5433-mipi-video-phy and samsung,exynos7870-mipi-video-phy.
samsung,cam1-sysreg:
$ref: /schemas/types.yaml#/definitions/phandle
@@ -84,7 +86,13 @@ allOf:
samsung,disp-sysreg: false
samsung,cam0-sysreg: false
samsung,cam1-sysreg: false
- else:
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: samsung,exynos5433-mipi-video-phy
+ then:
properties:
syscon: false
required:
@@ -92,6 +100,19 @@ allOf:
- samsung,cam0-sysreg
- samsung,cam1-sysreg
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: samsung,exynos7870-mipi-video-phy
+ then:
+ properties:
+ syscon: false
+ samsung,cam1-sysreg: false
+ required:
+ - samsung,disp-sysreg
+ - samsung,cam0-sysreg
+
additionalProperties: false
examples:
--
2.49.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] phy: exynos-mipi-video: introduce support for exynos7870
2025-06-12 15:09 [PATCH 0/2] Support for Exynos7870's MIPI PHY blocks Kaustabh Chakraborty
2025-06-12 15:09 ` [PATCH 1/2] dt-bindings: phy: samsung,mipi-video-phy: document exynos7870 MIPI phy Kaustabh Chakraborty
@ 2025-06-12 15:09 ` Kaustabh Chakraborty
2025-06-13 9:18 ` neil.armstrong
2025-06-15 16:52 ` [PATCH 0/2] Support for Exynos7870's MIPI PHY blocks Vinod Koul
2 siblings, 1 reply; 6+ messages in thread
From: Kaustabh Chakraborty @ 2025-06-12 15:09 UTC (permalink / raw)
To: Vinod Koul, Kishon Vijay Abraham I, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Marek Szyprowski,
Sylwester Nawrocki, Alim Akhtar
Cc: Krzysztof Kozlowski, linux-phy, devicetree, linux-kernel,
linux-arm-kernel, linux-samsung-soc, Kaustabh Chakraborty
Add support for Exynos7870 in the existing MIPI CSIS/DSIM driver. The
SoC has one DSIM phy and three CSIS phys.
Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
---
drivers/phy/samsung/phy-exynos-mipi-video.c | 52 +++++++++++++++++++++++++++++
include/linux/soc/samsung/exynos-regs-pmu.h | 5 +++
2 files changed, 57 insertions(+)
diff --git a/drivers/phy/samsung/phy-exynos-mipi-video.c b/drivers/phy/samsung/phy-exynos-mipi-video.c
index f6756a609a9a0774ecb6e27cf96726891683636c..b184923b9b400f0d536a913bdf32f3156c0a1854 100644
--- a/drivers/phy/samsung/phy-exynos-mipi-video.c
+++ b/drivers/phy/samsung/phy-exynos-mipi-video.c
@@ -213,6 +213,55 @@ static const struct mipi_phy_device_desc exynos5433_mipi_phy = {
},
};
+static const struct mipi_phy_device_desc exynos7870_mipi_phy = {
+ .num_regmaps = 3,
+ .regmap_names = {
+ "samsung,pmu-syscon",
+ "samsung,disp-sysreg",
+ "samsung,cam-sysreg"
+ },
+ .num_phys = 4,
+ .phys = {
+ {
+ /* EXYNOS_MIPI_PHY_ID_CSIS0 */
+ .coupled_phy_id = EXYNOS_MIPI_PHY_ID_DSIM0,
+ .enable_val = EXYNOS4_PHY_ENABLE,
+ .enable_reg = EXYNOS7870_MIPI_PHY_CONTROL0,
+ .enable_map = EXYNOS_MIPI_REGMAP_PMU,
+ .resetn_val = BIT(0),
+ .resetn_reg = 0,
+ .resetn_map = EXYNOS_MIPI_REGMAP_CAM0,
+ }, {
+ /* EXYNOS_MIPI_PHY_ID_DSIM0 */
+ .coupled_phy_id = EXYNOS_MIPI_PHY_ID_CSIS0,
+ .enable_val = EXYNOS4_PHY_ENABLE,
+ .enable_reg = EXYNOS7870_MIPI_PHY_CONTROL0,
+ .enable_map = EXYNOS_MIPI_REGMAP_PMU,
+ .resetn_val = BIT(0),
+ .resetn_reg = 0,
+ .resetn_map = EXYNOS_MIPI_REGMAP_DISP,
+ }, {
+ /* EXYNOS_MIPI_PHY_ID_CSIS1 */
+ .coupled_phy_id = EXYNOS_MIPI_PHY_ID_NONE,
+ .enable_val = EXYNOS4_PHY_ENABLE,
+ .enable_reg = EXYNOS7870_MIPI_PHY_CONTROL1,
+ .enable_map = EXYNOS_MIPI_REGMAP_PMU,
+ .resetn_val = BIT(1),
+ .resetn_reg = 0,
+ .resetn_map = EXYNOS_MIPI_REGMAP_CAM0,
+ }, {
+ /* EXYNOS_MIPI_PHY_ID_CSIS2 */
+ .coupled_phy_id = EXYNOS_MIPI_PHY_ID_NONE,
+ .enable_val = EXYNOS4_PHY_ENABLE,
+ .enable_reg = EXYNOS7870_MIPI_PHY_CONTROL2,
+ .enable_map = EXYNOS_MIPI_REGMAP_PMU,
+ .resetn_val = BIT(2),
+ .resetn_reg = 0,
+ .resetn_map = EXYNOS_MIPI_REGMAP_CAM0,
+ },
+ },
+};
+
struct exynos_mipi_video_phy {
struct regmap *regmaps[EXYNOS_MIPI_REGMAPS_NUM];
int num_phys;
@@ -351,6 +400,9 @@ static const struct of_device_id exynos_mipi_video_phy_of_match[] = {
}, {
.compatible = "samsung,exynos5433-mipi-video-phy",
.data = &exynos5433_mipi_phy,
+ }, {
+ .compatible = "samsung,exynos7870-mipi-video-phy",
+ .data = &exynos7870_mipi_phy,
},
{ /* sentinel */ },
};
diff --git a/include/linux/soc/samsung/exynos-regs-pmu.h b/include/linux/soc/samsung/exynos-regs-pmu.h
index 1a2c0e0838f99821151661878f022f2129a0c19b..8fd59994bca76a6bf21306337f0b47ccb5a22adc 100644
--- a/include/linux/soc/samsung/exynos-regs-pmu.h
+++ b/include/linux/soc/samsung/exynos-regs-pmu.h
@@ -662,6 +662,11 @@
#define EXYNOS5433_PAD_RETENTION_UFS_OPTION (0x3268)
#define EXYNOS5433_PAD_RETENTION_FSYSGENIO_OPTION (0x32A8)
+/* For Exynos7870 */
+#define EXYNOS7870_MIPI_PHY_CONTROL0 (0x070c)
+#define EXYNOS7870_MIPI_PHY_CONTROL1 (0x0714)
+#define EXYNOS7870_MIPI_PHY_CONTROL2 (0x0734)
+
/* For Tensor GS101 */
/* PMU ALIVE */
#define GS101_SYSIP_DAT0 (0x810)
--
2.49.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] dt-bindings: phy: samsung,mipi-video-phy: document exynos7870 MIPI phy
2025-06-12 15:09 ` [PATCH 1/2] dt-bindings: phy: samsung,mipi-video-phy: document exynos7870 MIPI phy Kaustabh Chakraborty
@ 2025-06-12 15:28 ` Conor Dooley
0 siblings, 0 replies; 6+ messages in thread
From: Conor Dooley @ 2025-06-12 15:28 UTC (permalink / raw)
To: Kaustabh Chakraborty
Cc: Vinod Koul, Kishon Vijay Abraham I, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Marek Szyprowski,
Sylwester Nawrocki, Alim Akhtar, Krzysztof Kozlowski, linux-phy,
devicetree, linux-kernel, linux-arm-kernel, linux-samsung-soc
[-- Attachment #1: Type: text/plain, Size: 385 bytes --]
On Thu, Jun 12, 2025 at 08:39:29PM +0530, Kaustabh Chakraborty wrote:
> The Exynos7870 MIPI PHY device contains one DSIM PHY block and three
> CSIS PHY blocks. It also requires two sysregs, one for display, and the
> other for cameras. Document this device.
>
> Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] phy: exynos-mipi-video: introduce support for exynos7870
2025-06-12 15:09 ` [PATCH 2/2] phy: exynos-mipi-video: introduce support for exynos7870 Kaustabh Chakraborty
@ 2025-06-13 9:18 ` neil.armstrong
0 siblings, 0 replies; 6+ messages in thread
From: neil.armstrong @ 2025-06-13 9:18 UTC (permalink / raw)
To: Kaustabh Chakraborty, Vinod Koul, Kishon Vijay Abraham I,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Marek Szyprowski,
Sylwester Nawrocki, Alim Akhtar
Cc: Krzysztof Kozlowski, linux-phy, devicetree, linux-kernel,
linux-arm-kernel, linux-samsung-soc
On 12/06/2025 17:09, Kaustabh Chakraborty wrote:
> Add support for Exynos7870 in the existing MIPI CSIS/DSIM driver. The
> SoC has one DSIM phy and three CSIS phys.
>
> Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
> ---
> drivers/phy/samsung/phy-exynos-mipi-video.c | 52 +++++++++++++++++++++++++++++
> include/linux/soc/samsung/exynos-regs-pmu.h | 5 +++
> 2 files changed, 57 insertions(+)
>
> diff --git a/drivers/phy/samsung/phy-exynos-mipi-video.c b/drivers/phy/samsung/phy-exynos-mipi-video.c
> index f6756a609a9a0774ecb6e27cf96726891683636c..b184923b9b400f0d536a913bdf32f3156c0a1854 100644
> --- a/drivers/phy/samsung/phy-exynos-mipi-video.c
> +++ b/drivers/phy/samsung/phy-exynos-mipi-video.c
> @@ -213,6 +213,55 @@ static const struct mipi_phy_device_desc exynos5433_mipi_phy = {
> },
> };
>
> +static const struct mipi_phy_device_desc exynos7870_mipi_phy = {
> + .num_regmaps = 3,
> + .regmap_names = {
> + "samsung,pmu-syscon",
> + "samsung,disp-sysreg",
> + "samsung,cam-sysreg"
> + },
> + .num_phys = 4,
> + .phys = {
> + {
> + /* EXYNOS_MIPI_PHY_ID_CSIS0 */
> + .coupled_phy_id = EXYNOS_MIPI_PHY_ID_DSIM0,
> + .enable_val = EXYNOS4_PHY_ENABLE,
> + .enable_reg = EXYNOS7870_MIPI_PHY_CONTROL0,
> + .enable_map = EXYNOS_MIPI_REGMAP_PMU,
> + .resetn_val = BIT(0),
> + .resetn_reg = 0,
> + .resetn_map = EXYNOS_MIPI_REGMAP_CAM0,
> + }, {
> + /* EXYNOS_MIPI_PHY_ID_DSIM0 */
> + .coupled_phy_id = EXYNOS_MIPI_PHY_ID_CSIS0,
> + .enable_val = EXYNOS4_PHY_ENABLE,
> + .enable_reg = EXYNOS7870_MIPI_PHY_CONTROL0,
> + .enable_map = EXYNOS_MIPI_REGMAP_PMU,
> + .resetn_val = BIT(0),
> + .resetn_reg = 0,
> + .resetn_map = EXYNOS_MIPI_REGMAP_DISP,
> + }, {
> + /* EXYNOS_MIPI_PHY_ID_CSIS1 */
> + .coupled_phy_id = EXYNOS_MIPI_PHY_ID_NONE,
> + .enable_val = EXYNOS4_PHY_ENABLE,
> + .enable_reg = EXYNOS7870_MIPI_PHY_CONTROL1,
> + .enable_map = EXYNOS_MIPI_REGMAP_PMU,
> + .resetn_val = BIT(1),
> + .resetn_reg = 0,
> + .resetn_map = EXYNOS_MIPI_REGMAP_CAM0,
> + }, {
> + /* EXYNOS_MIPI_PHY_ID_CSIS2 */
> + .coupled_phy_id = EXYNOS_MIPI_PHY_ID_NONE,
> + .enable_val = EXYNOS4_PHY_ENABLE,
> + .enable_reg = EXYNOS7870_MIPI_PHY_CONTROL2,
> + .enable_map = EXYNOS_MIPI_REGMAP_PMU,
> + .resetn_val = BIT(2),
> + .resetn_reg = 0,
> + .resetn_map = EXYNOS_MIPI_REGMAP_CAM0,
> + },
> + },
> +};
> +
> struct exynos_mipi_video_phy {
> struct regmap *regmaps[EXYNOS_MIPI_REGMAPS_NUM];
> int num_phys;
> @@ -351,6 +400,9 @@ static const struct of_device_id exynos_mipi_video_phy_of_match[] = {
> }, {
> .compatible = "samsung,exynos5433-mipi-video-phy",
> .data = &exynos5433_mipi_phy,
> + }, {
> + .compatible = "samsung,exynos7870-mipi-video-phy",
> + .data = &exynos7870_mipi_phy,
> },
> { /* sentinel */ },
> };
> diff --git a/include/linux/soc/samsung/exynos-regs-pmu.h b/include/linux/soc/samsung/exynos-regs-pmu.h
> index 1a2c0e0838f99821151661878f022f2129a0c19b..8fd59994bca76a6bf21306337f0b47ccb5a22adc 100644
> --- a/include/linux/soc/samsung/exynos-regs-pmu.h
> +++ b/include/linux/soc/samsung/exynos-regs-pmu.h
> @@ -662,6 +662,11 @@
> #define EXYNOS5433_PAD_RETENTION_UFS_OPTION (0x3268)
> #define EXYNOS5433_PAD_RETENTION_FSYSGENIO_OPTION (0x32A8)
>
> +/* For Exynos7870 */
> +#define EXYNOS7870_MIPI_PHY_CONTROL0 (0x070c)
> +#define EXYNOS7870_MIPI_PHY_CONTROL1 (0x0714)
> +#define EXYNOS7870_MIPI_PHY_CONTROL2 (0x0734)
> +
> /* For Tensor GS101 */
> /* PMU ALIVE */
> #define GS101_SYSIP_DAT0 (0x810)
>
Looks good:
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] Support for Exynos7870's MIPI PHY blocks
2025-06-12 15:09 [PATCH 0/2] Support for Exynos7870's MIPI PHY blocks Kaustabh Chakraborty
2025-06-12 15:09 ` [PATCH 1/2] dt-bindings: phy: samsung,mipi-video-phy: document exynos7870 MIPI phy Kaustabh Chakraborty
2025-06-12 15:09 ` [PATCH 2/2] phy: exynos-mipi-video: introduce support for exynos7870 Kaustabh Chakraborty
@ 2025-06-15 16:52 ` Vinod Koul
2 siblings, 0 replies; 6+ messages in thread
From: Vinod Koul @ 2025-06-15 16:52 UTC (permalink / raw)
To: Kishon Vijay Abraham I, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Marek Szyprowski, Sylwester Nawrocki, Alim Akhtar,
Kaustabh Chakraborty
Cc: Krzysztof Kozlowski, linux-phy, devicetree, linux-kernel,
linux-arm-kernel, linux-samsung-soc
On Thu, 12 Jun 2025 20:39:28 +0530, Kaustabh Chakraborty wrote:
> This patch series adds support for Exynos7870's MIPI DSIM (for display)
> and CSIS (for camera) PHY blocks. It contains a single DSIM and three
> CSIS PHYs.
>
>
Applied, thanks!
[1/2] dt-bindings: phy: samsung,mipi-video-phy: document exynos7870 MIPI phy
commit: 2ac5840594b2cc2b41116f708241a2a61d9108bd
[2/2] phy: exynos-mipi-video: introduce support for exynos7870
commit: 543f5e314282c4c2e5114f88ddecc9aeaf0985e2
Best regards,
--
~Vinod
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-06-15 16:52 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-12 15:09 [PATCH 0/2] Support for Exynos7870's MIPI PHY blocks Kaustabh Chakraborty
2025-06-12 15:09 ` [PATCH 1/2] dt-bindings: phy: samsung,mipi-video-phy: document exynos7870 MIPI phy Kaustabh Chakraborty
2025-06-12 15:28 ` Conor Dooley
2025-06-12 15:09 ` [PATCH 2/2] phy: exynos-mipi-video: introduce support for exynos7870 Kaustabh Chakraborty
2025-06-13 9:18 ` neil.armstrong
2025-06-15 16:52 ` [PATCH 0/2] Support for Exynos7870's MIPI PHY blocks Vinod Koul
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).