dt-bindings: bridge: Convert Samsung MIPI DSIM bridge to yaml
Subsystems (6)
PATCH 1/1 dt-bindings: bridge: Convert Samsung MIPI DSIM bridge to yaml
From: Jagan Teki <[email protected]>
Samsung MIPI DSIM bridge can be found on Exynos and NXP's i.MX8M Mini and Nano SoC's.
Convert exynos_dsim.txt to yaml.
Used the example node from latest Exynos SoC instead of the one used in legacy exynos_dsim.txt.
--- .../display/bridge/samsung,mipi-dsim.yaml | 275 ++++++++++++++++++ .../bindings/display/exynos/exynos_dsim.txt | 92 ------ 2 files changed, 275 insertions(+), 92 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml delete mode 100644 Documentation/devicetree/bindings/display/exynos/exynos_dsim.txt
Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml new file +275 -0
@@ -0,0 +1,275 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/samsung,mipi-dsim.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Samsung MIPI DSIM bridge controller + +maintainers: + - Inki Dae <[email protected]> + - Jagan Teki <[email protected]> + +description: | + Samsung MIPI DSIM bridge controller can be found it on Exynos + and i.MX8M Mini and Nano SoC's. + +properties: + compatible: + enum: + - samsung,exynos3250-mipi-dsi + - samsung,exynos4210-mipi-dsi + - samsung,exynos5410-mipi-dsi + - samsung,exynos5422-mipi-dsi + - samsung,exynos5433-mipi-dsi + - fsl,imx8mm-mipi-dsim + - fsl,imx8mp-mipi-dsim + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + + clocks: + minItems: 2 + maxItems: 5 + + clock-names: + minItems: 2 + maxItems: 5 + + phys: + maxItems: 1 + description: phandle to the phy module representing the DPHY + + phy-names: + items: + - const: dsim + + samsung,phy-type: + $ref: /schemas/types.yaml#/definitions/uint32 + description: phandle to the samsung phy-type + + power-domains: + description: phandle to the associated power domain + maxItems: 1 + + samsung,power-domain: + $ref: /schemas/types.yaml#/definitions/phandle + description: phandle to the associated samsung power domain + + vddcore-supply: + description: MIPI DSIM Core voltage supply (e.g. 1.1V) + + vddio-supply: + description: MIPI DSIM I/O and PLL voltage supply (e.g. 1.8V) + + samsung,burst-clock-frequency: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + DSIM high speed burst mode frequency. + + samsung,esc-clock-frequency: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + DSIM escape mode frequency. + + samsung,pll-clock-frequency: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + DSIM oscillator clock frequency. + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/$defs/port-base + description: + Input port node to receive pixel data from the + display controller. Exactly one endpoint must be + specified. + properties: + endpoint@0: + $ref: /schemas/graph.yaml#/properties/endpoint + description: sub-node describing the input from MIC + + unevaluatedProperties: false + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: + DSI output port node to the panel or the next bridge + in the chain + +required: + - '#address-cells' + - '#size-cells' + - clock-names + - clocks + - compatible + - interrupts + - phy-names + - phys + - reg + - samsung,burst-clock-frequency + - samsung,esc-clock-frequency + - samsung,pll-clock-frequency + +allOf: + - $ref: ../dsi-controller.yaml# + - if: + properties: + compatible: + contains: + const: samsung,exynos5433-mipi-dsi + + then: + properties: + clocks: + minItems: 5 + + clock-names: + items: + - const: bus_clk + - const: phyclk_mipidphy0_bitclkdiv8 + - const: phyclk_mipidphy0_rxclkesc0 + - const: sclk_rgb_vclk_to_dsim0 + - const: sclk_mipi + + ports: + required: + - port@0 + + required: + - ports + - vddcore-supply + - vddio-supply + + - if: + properties: + compatible: + contains: + const: samsung,exynos5410-mipi-dsi + + then: + properties: + clocks: + minItems: 2 + + clock-names: + items: + - const: bus_clk + - const: pll_clk + + required: + - vddcore-supply + - vddio-supply + + - if: + properties: + compatible: + contains: + const: samsung,exynos4210-mipi-dsi + + then: + properties: + clocks: + minItems: 2 + + clock-names: + items: + - const: bus_clk + - const: sclk_mipi + + required: + - vddcore-supply + - vddio-supply + + - if: + properties: + compatible: + contains: + const: samsung,exynos3250-mipi-dsi + + then: + properties: + clocks: + minItems: 2 + + clock-names: + items: + - const: bus_clk + - const: pll_clk + + required: + - vddcore-supply + - vddio-supply + - samsung,phy-type + +additionalProperties: + type: object + +examples: + - | + #include <dt-bindings/clock/exynos5433.h> + #include <dt-bindings/gpio/gpio.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + + dsi@13900000 { + compatible = "samsung,exynos5433-mipi-dsi"; + reg = <0x13900000 0xC0>; + interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>; + phys = <&mipi_phy 1>; + phy-names = "dsim"; + clocks = <&cmu_disp CLK_PCLK_DSIM0>, + <&cmu_disp CLK_PHYCLK_MIPIDPHY0_BITCLKDIV8>, + <&cmu_disp CLK_PHYCLK_MIPIDPHY0_RXCLKESC0>, + <&cmu_disp CLK_SCLK_RGB_VCLK_TO_DSIM0>, + <&cmu_disp CLK_SCLK_DSIM0>; + clock-names = "bus_clk", + "phyclk_mipidphy0_bitclkdiv8", + "phyclk_mipidphy0_rxclkesc0", + "sclk_rgb_vclk_to_dsim0", + "sclk_mipi"; + power-domains = <&pd_disp>; + vddcore-supply = <&ldo6_reg>; + vddio-supply = <&ldo7_reg>; + samsung,burst-clock-frequency = <512000000>; + samsung,esc-clock-frequency = <16000000>; + samsung,pll-clock-frequency = <24000000>; + pinctrl-names = "default"; + pinctrl-0 = <&te_irq>; + status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; + + panel@0 { + compatible = "samsung,s6e3ha2"; + reg = <0>; + vdd3-supply = <&ldo27_reg>; + vci-supply = <&ldo28_reg>; + reset-gpios = <&gpg0 0 GPIO_ACTIVE_LOW>; + enable-gpios = <&gpf1 5 GPIO_ACTIVE_HIGH>; + }; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + dsi_to_mic: endpoint { + remote-endpoint = <&mic_to_dsi>; + }; + }; + }; + };
Documentation/devicetree/bindings/display/exynos/exynos_dsim.txt deleted +0 -92
92 lines not on this page · raw message
Signature · 1 line
2.34.1
Jagan Teki
maintainerQuoted 7 lines · Fabio Estevam
From: Jagan Teki <[email protected]>
Samsung MIPI DSIM bridge can be found on Exynos and NXP's i.MX8M Mini and Nano SoC's.
Convert exynos_dsim.txt to yaml.
Thanks for rebasing this.
Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml
Quoted 14 lines
Used the example node from latest Exynos SoC instead of the one used in legacy exynos_dsim.txt.
Signed-off-by Jagan Teki <[email protected]>Signed-off-by Fabio Estevam <[email protected]>--- .../display/bridge/samsung,mipi-dsim.yaml | 275 ++++++++++++++++++ .../bindings/display/exynos/exynos_dsim.txt | 92 ------ 2 files changed, 275 insertions(+), 92 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml delete mode 100644 Documentation/devicetree/bindings/display/exynos/exynos_dsim.txtDocumentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml +0
-0
Can you add this to the MAINTAINERS file.
Quoted 6 lines
new file mode 100644
index 000000000000..c131bd879cafDocumentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml new file +1
-0@@ -0,0 +1,275 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml line 11
Quoted 10 lines
Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml new file +10
-0+%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/samsung,mipi-dsim.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Samsung MIPI DSIM bridge controller + +maintainers: + - Inki Dae <[email protected]> + - Jagan Teki <[email protected]>
Please add Marek Szyprowski <[email protected]> well as he included in the MAINTAINERS file.
Thanks,
Jagan.
Quoted 4 lines · Fabio Estevam
From: Jagan Teki <[email protected]>
Samsung MIPI DSIM bridge can be found on Exynos and NXP's i.MX8M Mini and Nano SoC's.
MX8M Plus too .
Quoted 25 lines
Convert exynos_dsim.txt to yaml.
Used the example node from latest Exynos SoC instead of the one used in legacy exynos_dsim.txt.
Signed-off-by Jagan Teki <[email protected]>Signed-off-by Fabio Estevam <[email protected]>--- .../display/bridge/samsung,mipi-dsim.yaml | 275 ++++++++++++++++++ .../bindings/display/exynos/exynos_dsim.txt | 92 ------ 2 files changed, 275 insertions(+), 92 deletions(-)create mode 100644
Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yamldelete mode 100644Documentation/devicetree/bindings/display/exynos/exynos_dsim.txtDocumentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml new file +5
-0@@ -0,0 +1,275 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/samsung,mipi-dsim.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml line 15
Quoted 10 lines
Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml new file +10
-0+ +title: Samsung MIPI DSIM bridge controller + +maintainers: + - Inki Dae <[email protected]> + - Jagan Teki <[email protected]> + +description: | + Samsung MIPI DSIM bridge controller can be found it on Exynos + and i.MX8M Mini and Nano SoC's.
Plus too.
Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml line 26
Quoted 10 lines
Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml new file +10
-0+properties: + compatible: + enum: + - samsung,exynos3250-mipi-dsi + - samsung,exynos4210-mipi-dsi + - samsung,exynos5410-mipi-dsi + - samsung,exynos5422-mipi-dsi + - samsung,exynos5433-mipi-dsi + - fsl,imx8mm-mipi-dsim + - fsl,imx8mp-mipi-dsim
You have plus here already, so just update the description.
Quoted 63 lines
Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml new file +63
-0+ reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + + clocks: + minItems: 2 + maxItems: 5 + + clock-names: + minItems: 2 + maxItems: 5 + + phys: + maxItems: 1 + description: phandle to the phy module representing the DPHY + + phy-names: + items: + - const: dsim + + samsung,phy-type: + $ref: /schemas/types.yaml#/definitions/uint32 + description: phandle to the samsung phy-type + + power-domains: + description: phandle to the associated power domain + maxItems: 1 + + samsung,power-domain: + $ref: /schemas/types.yaml#/definitions/phandle + description: phandle to the associated samsung power domain + + vddcore-supply: + description: MIPI DSIM Core voltage supply (e.g. 1.1V) + + vddio-supply: + description: MIPI DSIM I/O and PLL voltage supply (e.g. 1.8V) + + samsung,burst-clock-frequency: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + DSIM high speed burst mode frequency. + + samsung,esc-clock-frequency: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + DSIM escape mode frequency. + + samsung,pll-clock-frequency: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + DSIM oscillator clock frequency. + + ports: + $ref: /schemas/graph.yaml#/properties/ports
Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml line 100
Quoted 10 lines
Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml new file +10
-0+ + properties: + port@0: + $ref: /schemas/graph.yaml#/$defs/port-base + description: + Input port node to receive pixel data from the + display controller. Exactly one endpoint must be + specified. + properties: + endpoint@0:
Why endpoint@0 if this only has one endpoint ?
Quoted 10 lines
Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml new file +10
-0+ $ref: /schemas/graph.yaml#/properties/endpoint + description: sub-node describing the input from MIC + + unevaluatedProperties: false + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: + DSI output port node to the panel or the next bridge + in the chain
[...]
Quoted 5 lines · Fabio Estevam
From: Jagan Teki <[email protected]>
Samsung MIPI DSIM bridge can be found on Exynos and NXP's i.MX8M Mini and Nano SoC's.
Quoted 7 lines
Convert exynos_dsim.txt to yaml.
Used the example node from latest Exynos SoC instead of the one used in legacy exynos_dsim.txt.
Signed-off-by Jagan Teki <[email protected]>Signed-off-by Fabio Estevam <[email protected]>
Missing changelog. This is v13, not v1.
Best regards,
Krzysztof
On 3/31/23 21:57, Fabio Estevam wrote:
[...]
Review
Quoted 10 lines
(quoted diff) +10
-0+properties: + compatible: + enum: + - samsung,exynos3250-mipi-dsi + - samsung,exynos4210-mipi-dsi + - samsung,exynos5410-mipi-dsi + - samsung,exynos5422-mipi-dsi + - samsung,exynos5433-mipi-dsi + - fsl,imx8mm-mipi-dsim + - fsl,imx8mp-mipi-dsim
Can you handle "fsl,imx8mn-mipi-dsim", "fsl,imx8mm-mipi-dsim" here too ?
The MX8MN DSIM bridge is compatible with MX8MM DSIM bridge. The change should be something like:
Documentation/devicetree/bindings/display/bridge/samsung,mipi-dsim.yaml +12 -8
@@ -16,14 +16,18 @@ description: | properties: compatible: - enum: - - samsung,exynos3250-mipi-dsi - - samsung,exynos4210-mipi-dsi - - samsung,exynos5410-mipi-dsi - - samsung,exynos5422-mipi-dsi - - samsung,exynos5433-mipi-dsi - - fsl,imx8mm-mipi-dsim - - fsl,imx8mp-mipi-dsim + oneOf: + - enum: + - samsung,exynos3250-mipi-dsi + - samsung,exynos4210-mipi-dsi + - samsung,exynos5410-mipi-dsi + - samsung,exynos5422-mipi-dsi + - samsung,exynos5433-mipi-dsi + - fsl,imx8mm-mipi-dsim + - fsl,imx8mp-mipi-dsim + - items: + - const: fsl,imx8mn-mipi-dsim + - const: fsl,imx8mm-mipi-dsim reg: maxItems: 1
On 3/31/23 21:57, Fabio Estevam wrote:
[...]
Quoted 5 lines
Documentation/devicetree/bindings/display/exynos/exynos_dsim.txt deleted +0
-5-Example: - - dsi@11c80000 { - compatible = "samsung,exynos4210-mipi-dsi"; - reg = <0x11C80000 0x10000>;
Documentation/devicetree/bindings/display/exynos/exynos_dsim.txt line 58
Quoted 10 lines
Documentation/devicetree/bindings/display/exynos/exynos_dsim.txt deleted +0
-10- interrupts = <0 79 0>; - clocks = <&clock 286>, <&clock 143>; - clock-names = "bus_clk", "sclk_mipi"; - phys = <&mipi_phy 1>; - phy-names = "dsim"; - vddcore-supply = <&vusb_reg>; - vddio-supply = <&vmipi_reg>; - power-domains = <&pd_lcd0>; - #address-cells = <1>; - #size-cells = <0>;
(*)
Quoted 5 lines
Documentation/devicetree/bindings/display/exynos/exynos_dsim.txt deleted +0
-5- samsung,pll-clock-frequency = <24000000>; - - panel@1 { - reg = <0>; - ...
Documentation/devicetree/bindings/display/exynos/exynos_dsim.txt line 73
Quoted 10 lines
Documentation/devicetree/bindings/display/exynos/exynos_dsim.txt deleted +0
-10- port { - panel_ep: endpoint { - remote-endpoint = <&dsi_ep>; - }; - }; - }; - - ports { - #address-cells = <1>; - #size-cells = <0>;
You likely don't need the address/size cells here if the super-node already defined those (*) above