atmel,hlcdc.yaml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/mfd/atmel,hlcdc.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Atmel's HLCD Controller
  7. maintainers:
  8. - Nicolas Ferre <nicolas.ferre@microchip.com>
  9. - Alexandre Belloni <alexandre.belloni@bootlin.com>
  10. - Claudiu Beznea <claudiu.beznea@tuxon.dev>
  11. description:
  12. The Atmel HLCDC (HLCD Controller) IP available on Atmel SoCs exposes two
  13. subdevices, a PWM chip and a Display Controller.
  14. properties:
  15. compatible:
  16. enum:
  17. - atmel,at91sam9n12-hlcdc
  18. - atmel,at91sam9x5-hlcdc
  19. - atmel,sama5d2-hlcdc
  20. - atmel,sama5d3-hlcdc
  21. - atmel,sama5d4-hlcdc
  22. - microchip,sam9x60-hlcdc
  23. - microchip,sam9x75-xlcdc
  24. - microchip,sama7d65-xlcdc
  25. reg:
  26. maxItems: 1
  27. interrupts:
  28. maxItems: 1
  29. clocks:
  30. minItems: 3
  31. clock-names:
  32. items:
  33. - const: periph_clk
  34. - const: sys_clk
  35. - const: slow_clk
  36. - const: lvds_pll_clk
  37. minItems: 3
  38. display-controller:
  39. $ref: /schemas/display/atmel/atmel,hlcdc-display-controller.yaml
  40. pwm:
  41. $ref: /schemas/pwm/atmel,hlcdc-pwm.yaml
  42. required:
  43. - compatible
  44. - reg
  45. - clocks
  46. - clock-names
  47. - interrupts
  48. additionalProperties: false
  49. examples:
  50. - |
  51. #include <dt-bindings/clock/at91.h>
  52. #include <dt-bindings/dma/at91.h>
  53. #include <dt-bindings/interrupt-controller/arm-gic.h>
  54. lcd_controller: lcd-controller@f0030000 {
  55. compatible = "atmel,sama5d3-hlcdc";
  56. reg = <0xf0030000 0x2000>;
  57. clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
  58. clock-names = "periph_clk", "sys_clk", "slow_clk";
  59. interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
  60. display-controller {
  61. compatible = "atmel,hlcdc-display-controller";
  62. pinctrl-names = "default";
  63. pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>;
  64. #address-cells = <1>;
  65. #size-cells = <0>;
  66. port@0 {
  67. #address-cells = <1>;
  68. #size-cells = <0>;
  69. reg = <0>;
  70. hlcdc_panel_output: endpoint@0 {
  71. reg = <0>;
  72. remote-endpoint = <&panel_input>;
  73. };
  74. };
  75. };
  76. pwm {
  77. compatible = "atmel,hlcdc-pwm";
  78. pinctrl-names = "default";
  79. pinctrl-0 = <&pinctrl_lcd_pwm>;
  80. #pwm-cells = <3>;
  81. };
  82. };