atmel,lcdc.yaml 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/display/atmel,lcdc.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Microchip's LCDC Framebuffer
  7. maintainers:
  8. - Nicolas Ferre <nicolas.ferre@microchip.com>
  9. - Dharma Balasubiramani <dharma.b@microchip.com>
  10. description:
  11. The LCDC works with a framebuffer, which is a section of memory that contains
  12. a complete frame of data representing pixel values for the display. The LCDC
  13. reads the pixel data from the framebuffer and sends it to the LCD panel to
  14. render the image.
  15. properties:
  16. compatible:
  17. enum:
  18. - atmel,at91sam9261-lcdc
  19. - atmel,at91sam9263-lcdc
  20. - atmel,at91sam9g10-lcdc
  21. - atmel,at91sam9g45-lcdc
  22. - atmel,at91sam9g45es-lcdc
  23. - atmel,at91sam9rl-lcdc
  24. reg:
  25. maxItems: 1
  26. interrupts:
  27. maxItems: 1
  28. clocks:
  29. maxItems: 2
  30. clock-names:
  31. items:
  32. - const: hclk
  33. - const: lcdc_clk
  34. display:
  35. $ref: /schemas/types.yaml#/definitions/phandle
  36. description: A phandle pointing to the display node.
  37. required:
  38. - compatible
  39. - reg
  40. - interrupts
  41. - clocks
  42. - clock-names
  43. - display
  44. additionalProperties: false
  45. examples:
  46. - |
  47. #include <dt-bindings/clock/at91.h>
  48. #include <dt-bindings/interrupt-controller/irq.h>
  49. fb@500000 {
  50. compatible = "atmel,at91sam9g45-lcdc";
  51. reg = <0x00500000 0x1000>;
  52. interrupts = <23 IRQ_TYPE_LEVEL_HIGH 0>;
  53. pinctrl-names = "default";
  54. pinctrl-0 = <&pinctrl_fb>;
  55. clocks = <&pmc PMC_TYPE_PERIPHERAL 23>, <&pmc PMC_TYPE_PERIPHERAL 23>;
  56. clock-names = "hclk", "lcdc_clk";
  57. display = <&display>;
  58. };