atmel,hlcdc.yaml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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. reg:
  25. maxItems: 1
  26. interrupts:
  27. maxItems: 1
  28. clocks:
  29. minItems: 3
  30. clock-names:
  31. items:
  32. - const: periph_clk
  33. - const: sys_clk
  34. - const: slow_clk
  35. - const: lvds_pll_clk
  36. minItems: 3
  37. display-controller:
  38. $ref: /schemas/display/atmel/atmel,hlcdc-display-controller.yaml
  39. pwm:
  40. $ref: /schemas/pwm/atmel,hlcdc-pwm.yaml
  41. required:
  42. - compatible
  43. - reg
  44. - clocks
  45. - clock-names
  46. - interrupts
  47. additionalProperties: false
  48. examples:
  49. - |
  50. #include <dt-bindings/clock/at91.h>
  51. #include <dt-bindings/dma/at91.h>
  52. #include <dt-bindings/interrupt-controller/arm-gic.h>
  53. lcd_controller: lcd-controller@f0030000 {
  54. compatible = "atmel,sama5d3-hlcdc";
  55. reg = <0xf0030000 0x2000>;
  56. clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
  57. clock-names = "periph_clk", "sys_clk", "slow_clk";
  58. interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
  59. display-controller {
  60. compatible = "atmel,hlcdc-display-controller";
  61. pinctrl-names = "default";
  62. pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>;
  63. #address-cells = <1>;
  64. #size-cells = <0>;
  65. port@0 {
  66. #address-cells = <1>;
  67. #size-cells = <0>;
  68. reg = <0>;
  69. hlcdc_panel_output: endpoint@0 {
  70. reg = <0>;
  71. remote-endpoint = <&panel_input>;
  72. };
  73. };
  74. };
  75. pwm {
  76. compatible = "atmel,hlcdc-pwm";
  77. pinctrl-names = "default";
  78. pinctrl-0 = <&pinctrl_lcd_pwm>;
  79. #pwm-cells = <3>;
  80. };
  81. };