Convert Microchip's HLCDC Text based DT bindings to JSON schema
Subsystems (7)
Dharma Balasubiramani
maintainerv5 cover Convert Microchip's HLCDC Text based DT bindings to JSON schema
Converted the text bindings to YAML and validated them individually using following commands
$ make dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/ $ make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/
changelogs are available in respective patches.
As Sam suggested I'm sending the PWM binding as it is in this patch series, clean up patch will be sent as separate patch.
Dharma Balasubiramani (3):
dt-bindings: display: convert Atmel's HLCDC to DT schema
dt-bindings: atmel,hlcdc: convert pwm bindings to json-schema
dt-bindings: mfd: atmel,hlcdc: Convert to DT schema format
.../atmel/atmel,hlcdc-display-controller.yaml | 85 ++++++++++++++++ .../bindings/display/atmel/hlcdc-dc.txt | 75 -------------- .../devicetree/bindings/mfd/atmel,hlcdc.yaml | 99 +++++++++++++++++++ .../devicetree/bindings/mfd/atmel-hlcdc.txt | 56 ----------- .../bindings/pwm/atmel,hlcdc-pwm.yaml | 44 +++++++++ .../bindings/pwm/atmel-hlcdc-pwm.txt | 29 ------ 6 files changed, 228 insertions(+), 160 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/atmel/atmel,hlcdc-display-controller.yaml delete mode 100644 Documentation/devicetree/bindings/display/atmel/hlcdc-dc.txt create mode 100644 Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt create mode 100644 Documentation/devicetree/bindings/pwm/atmel,hlcdc-pwm.yaml delete mode 100644 Documentation/devicetree/bindings/pwm/atmel-hlcdc-pwm.txt
Signature · 1 line
2.25.1
Dharma Balasubiramani
maintainerPATCH v5 1/3 dt-bindings: display: convert Atmel's HLCDC to DT schema
Convert the existing DT binding to DT schema of the Atmel's HLCDC display controller.
---
Changelog
v4 -> v5
- No change.
v3 -> v4
- Add bus-width property to have one complete example.
v2 -> v3
- Remove '|' in description, as there is no formatting to preserve.
- Ref video-interfaces as endpoint.
- Remove ref and description for bus-width.
- Add new line before the child node in example.
- Remove 'example 2', as it is not required for just one additional property.
v1 -> v2
- Remove the explicit copyrights.
- Modify filename like compatible.
- Modify title (drop words like binding/driver).
- Modify description actually describing the hardware and not the driver.
- Remove pinctrl properties which aren't required.
- Ref endpoint and not endpoint-base.
- Drop redundant info about bus-width description and add ref to video-interfaces.
- Move 'additionalProperties' after 'Required'.
- Drop parent node and it's other sub-device node which are not related here.
- Add compatible to example 2 and add comments that bus-width is the diff between two examples.
--- .../atmel/atmel,hlcdc-display-controller.yaml | 85 +++++++++++++++++++ .../bindings/display/atmel/hlcdc-dc.txt | 75 ---------------- 2 files changed, 85 insertions(+), 75 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/atmel/atmel,hlcdc-display-controller.yaml delete mode 100644 Documentation/devicetree/bindings/display/atmel/hlcdc-dc.txt
Documentation/devicetree/bindings/display/atmel/atmel,hlcdc-display-controller.yaml new file +85 -0
@@ -0,0 +1,85 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/atmel/atmel,hlcdc-display-controller.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Atmel's High LCD Controller (HLCDC) + +maintainers: + - Nicolas Ferre <[email protected]> + - Alexandre Belloni <[email protected]> + - Claudiu Beznea <[email protected]> + +description: + The LCD Controller (LCDC) consists of logic for transferring LCD image + data from an external display buffer to a TFT LCD panel. The LCDC has one + display input buffer per layer that fetches pixels through the single bus + host interface and a look-up table to allow palletized display + configurations. + +properties: + compatible: + const: atmel,hlcdc-display-controller + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + + port@0: + $ref: /schemas/graph.yaml#/$defs/port-base + unevaluatedProperties: false + description: + Output endpoint of the controller, connecting the LCD panel signals. + + properties: + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + + reg: + maxItems: 1 + + endpoint: + $ref: /schemas/media/video-interfaces.yaml# + unevaluatedProperties: false + description: + Endpoint connecting the LCD panel signals. + + properties: + bus-width: + enum: [ 12, 16, 18, 24 ] + +required: + - '#address-cells' + - '#size-cells' + - compatible + - port@0 + +additionalProperties: false + +examples: + - | + display-controller { + compatible = "atmel,hlcdc-display-controller"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb565>; + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + + hlcdc_panel_output: endpoint@0 { + reg = <0>; + bus-width = <16>; + remote-endpoint = <&panel_input>; + }; + }; + };
Documentation/devicetree/bindings/display/atmel/hlcdc-dc.txt deleted +0 -75
75 lines not on this page · raw message
Signature · 1 line
2.25.1
Re: [linux][PATCH v5 1/3] dt-bindings: display: convert Atmel's HLCDC to DT schema
Quoted 2 lines · Dharma Balasubiramani
Convert the existing DT binding to DT schema of the Atmel's HLCDC display controller.
I feel like I recall a request to only have a complete example in the mfd binding but nowhere else.
Otherwise,
Cheers,
Conor.
Quoted 21 lines
Documentation/devicetree/bindings/display/atmel/atmel,hlcdc-display-controller.yaml new file +21
-0+examples: + - | + display-controller { + compatible = "atmel,hlcdc-display-controller"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb565>; + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + + hlcdc_panel_output: endpoint@0 { + reg = <0>; + bus-width = <16>; + remote-endpoint = <&panel_input>; + }; + }; + };
Dharma Balasubiramani
maintainerPATCH v5 2/3 dt-bindings: atmel,hlcdc: convert pwm bindings to json-schema
In reply to Dharma BalasubiramaniConvert device tree bindings for Atmel's HLCDC PWM controller to YAML format.
---
Changelog
v4 -> v5
v3 -> v4
- No changes
Note: The clean up patch will be sent later as Sam suggested.
v2 -> v3
- Remove '|' in description, as there is no formatting to preserve.
- Delete the description for pwm-cells.
- Drop the label for pwm node as it not used.
v1 -> v2
- Remove the explicit copyrights.
- Modify title (not include words like binding/driver).
- Modify description actually describing the hardware and not the driver.
- Remove pinctrl properties which aren't required.
- Drop parent node and it's other sub-device node which are not related here.
--- .../bindings/pwm/atmel,hlcdc-pwm.yaml | 44 +++++++++++++++++++ .../bindings/pwm/atmel-hlcdc-pwm.txt | 29 ------------ 2 files changed, 44 insertions(+), 29 deletions(-) create mode 100644 Documentation/devicetree/bindings/pwm/atmel,hlcdc-pwm.yaml delete mode 100644 Documentation/devicetree/bindings/pwm/atmel-hlcdc-pwm.txt
Documentation/devicetree/bindings/pwm/atmel,hlcdc-pwm.yaml new file +44 -0
@@ -0,0 +1,44 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pwm/atmel,hlcdc-pwm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Atmel's HLCDC's PWM controller + +maintainers: + - Nicolas Ferre <[email protected]> + - Alexandre Belloni <[email protected]> + - Claudiu Beznea <[email protected]> + +description: + The LCDC integrates a Pulse Width Modulation (PWM) Controller. This block + generates the LCD contrast control signal (LCD_PWM) that controls the + display's contrast by software. LCDC_PWM is an 8-bit PWM signal that can be + converted to an analog voltage with a simple passive filter. LCD display + panels have different backlight specifications in terms of minimum/maximum + values for PWM frequency. If the LCDC PWM frequency range does not match the + LCD display panel, it is possible to use the standalone PWM Controller to + drive the backlight. + +properties: + compatible: + const: atmel,hlcdc-pwm + + "#pwm-cells": + const: 3 + +required: + - compatible + - "#pwm-cells" + +additionalProperties: false + +examples: + - | + pwm { + compatible = "atmel,hlcdc-pwm"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_lcd_pwm>; + #pwm-cells = <3>; + };
Documentation/devicetree/bindings/pwm/atmel-hlcdc-pwm.txt deleted +0 -29
@@ -1,29 +0,0 @@ -Device-Tree bindings for Atmel's HLCDC (High-end LCD Controller) PWM driver - -The Atmel HLCDC PWM is subdevice of the HLCDC MFD device. -See ../mfd/atmel-hlcdc.txt for more details. - -Required properties: - - compatible: value should be one of the following: - "atmel,hlcdc-pwm" - - pinctr-names: the pin control state names. Should contain "default". - - pinctrl-0: should contain the pinctrl states described by pinctrl - default. - - #pwm-cells: should be set to 3. This PWM chip use the default 3 cells - bindings defined in pwm.yaml in this directory. - -Example: - - hlcdc: hlcdc@f0030000 { - compatible = "atmel,sama5d3-hlcdc"; - reg = <0xf0030000 0x2000>; - clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>; - clock-names = "periph_clk","sys_clk", "slow_clk"; - - hlcdc_pwm: hlcdc-pwm { - compatible = "atmel,hlcdc-pwm"; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_lcd_pwm>; - #pwm-cells = <3>; - }; - };
Signature · 1 line
2.25.1
Re: [linux][PATCH v5 2/3] dt-bindings: atmel,hlcdc: convert pwm bindings to json-schema
Quoted 5 lines · Dharma Balasubiramani
Convert device tree bindings for Atmel's HLCDC PWM controller to YAML format.
Signed-off-by Dharma Balasubiramani <[email protected]>Reviewed-by Conor Dooley <[email protected]>
Same comment about the examples here FWIW.
Quoted 8 lines
Documentation/devicetree/bindings/pwm/atmel,hlcdc-pwm.yaml new file +8
-0+examples: + - | + pwm { + compatible = "atmel,hlcdc-pwm"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_lcd_pwm>; + #pwm-cells = <3>; + };
Dharma Balasubiramani
maintainerPATCH v5 3/3 dt-bindings: mfd: atmel,hlcdc: Convert to DT schema format
In reply to Dharma BalasubiramaniConvert the atmel,hlcdc binding to DT schema format.
Align clocks and clock-names properties to clearly indicate that the LCD controller expects lvds_pll_clk when interfaced with the lvds display. This alignment with the specific hardware requirements ensures accurate device tree configuration for systems utilizing the HLCDC IP.
---
Changelog
v4 -> v5
- Revert v3 dropping lvds_pll_clk instead add it as an optional clock.
- Update minItems to 3.
- Update commit message accordingly.
v3 -> v4
- Drop lvds_pll_clk, It can be enabled in lvds driver itself.
- Update commit message.
Note: Since there is no complexities now, I believe that specifying maxitems in the clocks property should be sufficient.
v2 -> v3
- Rename hlcdc-display-controller and hlcdc-pwm to generic names.
- Modify the description by removing the unwanted comments and '|'.
- Modify clock-names simpler.
v1 -> v2
- Remove the explicit copyrights.
- Modify title (not include words like binding/driver).
- Modify description actually describing the hardware and not the driver.
- Add details of lvds_pll addition in commit message.
- Ref endpoint and not endpoint-base.
- Fix coding style.
...
.../devicetree/bindings/mfd/atmel,hlcdc.yaml | 99 +++++++++++++++++++ .../devicetree/bindings/mfd/atmel-hlcdc.txt | 56 ----------- 2 files changed, 99 insertions(+), 56 deletions(-) create mode 100644 Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt
Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml new file +99 -0
@@ -0,0 +1,99 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/atmel,hlcdc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Atmel's HLCD Controller + +maintainers: + - Nicolas Ferre <[email protected]> + - Alexandre Belloni <[email protected]> + - Claudiu Beznea <[email protected]> + +description: + The Atmel HLCDC (HLCD Controller) IP available on Atmel SoCs exposes two + subdevices, a PWM chip and a Display Controller. + +properties: + compatible: + enum: + - atmel,at91sam9n12-hlcdc + - atmel,at91sam9x5-hlcdc + - atmel,sama5d2-hlcdc + - atmel,sama5d3-hlcdc + - atmel,sama5d4-hlcdc + - microchip,sam9x60-hlcdc + - microchip,sam9x75-xlcdc + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + minItems: 3 + + clock-names: + items: + - const: periph_clk + - const: sys_clk + - const: slow_clk + - const: lvds_pll_clk + minItems: 3 + + display-controller: + $ref: /schemas/display/atmel/atmel,hlcdc-display-controller.yaml + + pwm: + $ref: /schemas/pwm/atmel,hlcdc-pwm.yaml + +required: + - compatible + - reg + - clocks + - clock-names + - interrupts + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/at91.h> + #include <dt-bindings/dma/at91.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + + lcd_controller: lcd-controller@f0030000 { + compatible = "atmel,sama5d3-hlcdc"; + reg = <0xf0030000 0x2000>; + clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>; + clock-names = "periph_clk", "sys_clk", "slow_clk"; + interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>; + + display-controller { + compatible = "atmel,hlcdc-display-controller"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + + hlcdc_panel_output: endpoint@0 { + reg = <0>; + remote-endpoint = <&panel_input>; + }; + }; + }; + + pwm { + compatible = "atmel,hlcdc-pwm"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_lcd_pwm>; + #pwm-cells = <3>; + }; + };
Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt deleted +0 -56
56 lines not on this page · raw message
Signature · 1 line
2.25.1
Re: [linux][PATCH v5 3/3] dt-bindings: mfd: atmel,hlcdc: Convert to DT schema format
Quoted 8 lines · Dharma Balasubiramani
Convert the atmel,hlcdc binding to DT schema format.
Align clocks and clock-names properties to clearly indicate that the LCD controller expects
lvds_pll_clkwhen interfaced with the lvds display. This alignment with the specific hardware requirements ensures accurate device tree configuration for systems utilizing the HLCDC IP.Signed-off-by Dharma Balasubiramani <[email protected]>
Thanks,
Conor.
Re: (subset) [linux][PATCH v5 3/3] dt-bindings: mfd: atmel,hlcdc: Convert to DT schema format
In reply to Dharma BalasubiramaniQuoted 8 lines · Dharma Balasubiramani
Convert the atmel,hlcdc binding to DT schema format.
Align clocks and clock-names properties to clearly indicate that the LCD controller expects
lvds_pll_clkwhen interfaced with the lvds display. This alignment with the specific hardware requirements ensures accurate device tree configuration for systems utilizing the HLCDC IP.[...]
Applied, thanks!
[3/3] dt-bindings: mfd: atmel,hlcdc: Convert to DT schema format
commit: 7dd93269787781869d3dbb23138ec1455d26b047
--
Lee Jones [李琼斯]
Lee Jones
maintainerRe: (subset) [linux][PATCH v5 3/3] dt-bindings: mfd: atmel,hlcdc: Convert to DT schema format
Quoted 8 lines · Lee Jones
Quoted 7 lines · Dharma Balasubiramani
Convert the atmel,hlcdc binding to DT schema format.
Align clocks and clock-names properties to clearly indicate that the LCD controller expects
lvds_pll_clkwhen interfaced with the lvds display. This alignment with the specific hardware requirements ensures accurate device tree configuration for systems utilizing the HLCDC IP.
Quoted 6 lines
Quoted 1 line
[...]
Applied, thanks!
[3/3] dt-bindings: mfd: atmel,hlcdc: Convert to DT schema format
commit: 7dd93269787781869d3dbb23138ec1455d26b047
Replaced with v6.
Signature · 1 line
Lee Jones [李琼斯]
[email protected]
maintainerHi Rob,
Quoted 10 lines · On 31/01/24 9:05 am, Dharma B - I70843 wrote:
Converted the text bindings to YAML and validated them individually using following commands
$ make dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/ $ make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/changelogs are available in respective patches.
As Sam suggested I'm sending the PWM binding as it is in this patch series, clean up patch will be sent as separate patch.
I would want to know if I can have the examples in display and pwm bindings separately or if I have to delete them from both and have a single, comprehensive example in mfd binding. I'm a little puzzled about this.
Quoted 19 lines
Dharma Balasubiramani (3):
dt-bindings: display: convert Atmel's HLCDC to DT schema
dt-bindings: atmel,hlcdc: convert pwm bindings to json-schema
dt-bindings: mfd: atmel,hlcdc: Convert to DT schema format.../atmel/atmel,hlcdc-display-controller.yaml | 85 ++++++++++++++++ .../bindings/display/atmel/hlcdc-dc.txt | 75 -------------- .../devicetree/bindings/mfd/atmel,hlcdc.yaml | 99 +++++++++++++++++++ .../devicetree/bindings/mfd/atmel-hlcdc.txt | 56 ----------- .../bindings/pwm/atmel,hlcdc-pwm.yaml | 44 +++++++++ .../bindings/pwm/atmel-hlcdc-pwm.txt | 29 ------ 6 files changed, 228 insertions(+), 160 deletions(-)create mode 100644
Documentation/devicetree/bindings/display/atmel/atmel,hlcdc-display-controller.yamldelete mode 100644Documentation/devicetree/bindings/display/atmel/hlcdc-dc.txtcreate mode 100644Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml
delete mode 100644Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt
create mode 100644Documentation/devicetree/bindings/pwm/atmel,hlcdc-pwm.yaml
delete mode 100644Documentation/devicetree/bindings/pwm/atmel-hlcdc-pwm.txt
Signature · 2 lines
With Best Regards, Dharma B.
Rob Herring
maintainerQuoted 10 lines · On Thu, Feb 01, 2024 at 03:38:37AM +0000, [email protected] wrote:
Hi Rob,
Quoted 7 lines · On 31/01/24 9:05 am, Dharma B - I70843 wrote:
Converted the text bindings to YAML and validated them individually using following commands
$ make dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/ $ make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/changelogs are available in respective patches.
Quoted 8 lines
Quoted 3 lines
As Sam suggested I'm sending the PWM binding as it is in this patch series, clean up patch will be sent as separate patch.
I would want to know if I can have the examples in display and pwm bindings separately or if I have to delete them from both and have a single, comprehensive example in mfd binding. I'm a little puzzled about this.
The strong preference is 1 complete example in the MFD binding. That avoids 2 copies of the same thing, issues with incomplete examples, and temporary warnings bisecting the series.
Rob
[email protected]
maintainerQuoted 17 lines · Rob Herring
EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
Quoted 14 lines · On Thu, Feb 01, 2024 at 03:38:37AM +0000, [email protected] wrote:
Hi Rob,
Quoted 10 lines · On 31/01/24 9:05 am, Dharma B - I70843 wrote:
Converted the text bindings to YAML and validated them individually using following commands
$ make dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/ $ make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/changelogs are available in respective patches.
As Sam suggested I'm sending the PWM binding as it is in this patch series, clean up patch will be sent as separate patch.
Quoted 8 lines
Quoted 4 lines
I would want to know if I can have the examples in display and pwm bindings separately or if I have to delete them from both and have a single, comprehensive example in mfd binding. I'm a little puzzled about this.
The strong preference is 1 complete example in the MFD binding. That avoids 2 copies of the same thing, issues with incomplete examples, and temporary warnings bisecting the series.
Sure, I will drop the examples in display and pwm bindings while sending v6.
Signature · 2 lines
Thanks, Dharma B.
Quoted 2 lines
Rob