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