Skip to content
Snippets Groups Projects
arm,hdlcd.txt 2 KiB
Newer Older
  • Learn to ignore specific revisions
  • ARM HDLCD
    
    This is a display controller found on several development platforms produced
    by ARM Ltd and in more modern of its' Fast Models. The HDLCD is an RGB
    streamer that reads the data from a framebuffer and sends it to a single
    digital encoder (DVI or HDMI).
    
    Required properties:
      - compatible: "arm,hdlcd"
      - reg: Physical base address and length of the controller's registers.
      - interrupts: One interrupt used by the display controller to notify the
        interrupt controller when any of the interrupt sources programmed in
        the interrupt mask register have activated.
      - clocks: A list of phandle + clock-specifier pairs, one for each
        entry in 'clock-names'.
      - clock-names: A list of clock names. For HDLCD it should contain:
          - "pxlclk" for the clock feeding the output PLL of the controller.
    
    Required sub-nodes:
      - port: The HDLCD connection to an encoder chip. The connection is modeled
        using the OF graph bindings specified in
        Documentation/devicetree/bindings/graph.txt.
    
    Optional properties:
      - memory-region: phandle to a node describing memory (see
        Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt) to be
        used for the framebuffer; if not present, the framebuffer may be located
        anywhere in memory.
    
    
    Example:
    
    / {
    	...
    
    	hdlcd@2b000000 {
    		compatible = "arm,hdlcd";
    		reg = <0 0x2b000000 0 0x1000>;
    		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
    		clocks = <&oscclk5>;
    		clock-names = "pxlclk";
    		port {
    			hdlcd_output: endpoint@0 {
    				remote-endpoint = <&hdmi_enc_input>;
    			};
    		};
    	};
    
    	/* HDMI encoder on I2C bus */
    	i2c@7ffa0000 {
    		....
    		hdmi-transmitter@70 {
    			compatible = ".....";
    			reg = <0x70>;
    			port@0 {
    				hdmi_enc_input: endpoint {
    					remote-endpoint = <&hdlcd_output>;
    				};
    
    				hdmi_enc_output: endpoint {
    					remote-endpoint = <&hdmi_1_port>;
    				};
    			};
    		};
    
    	};
    
    	hdmi1: connector@1 {
    		compatible = "hdmi-connector";
    		type = "a";
    		port {
    			hdmi_1_port: endpoint {
    				remote-endpoint = <&hdmi_enc_output>;
    			};
    		};
    	};
    
    	...
    };