mirror of https://gitee.com/openkylin/linux.git
105 lines
3.4 KiB
Plaintext
105 lines
3.4 KiB
Plaintext
ST-Ericsson Multi Channel Display Engine MCDE
|
|
|
|
The ST-Ericsson MCDE is a display controller with support for compositing
|
|
and displaying several channels memory resident graphics data on DSI or
|
|
LCD displays or bridges. It is used in the ST-Ericsson U8500 platform.
|
|
|
|
Required properties:
|
|
|
|
- compatible: must be:
|
|
"ste,mcde"
|
|
- reg: register base for the main MCDE control registers, should be
|
|
0x1000 in size
|
|
- interrupts: the interrupt line for the MCDE
|
|
- epod-supply: a phandle to the EPOD regulator
|
|
- vana-supply: a phandle to the analog voltage regulator
|
|
- clocks: an array of the MCDE clocks in this strict order:
|
|
MCDECLK (main MCDE clock), LCDCLK (LCD clock), PLLDSI
|
|
(HDMI clock), DSI0ESCLK (DSI0 energy save clock),
|
|
DSI1ESCLK (DSI1 energy save clock), DSI2ESCLK (DSI2 energy
|
|
save clock)
|
|
- clock-names: must be the following array:
|
|
"mcde", "lcd", "hdmi"
|
|
to match the required clock inputs above.
|
|
- #address-cells: should be <1> (for the DSI hosts that will be children)
|
|
- #size-cells: should be <1> (for the DSI hosts that will be children)
|
|
- ranges: this should always be stated
|
|
|
|
Required subnodes:
|
|
|
|
The devicetree must specify subnodes for the DSI host adapters.
|
|
These must have the following characteristics:
|
|
|
|
- compatible: must be:
|
|
"ste,mcde-dsi"
|
|
- reg: must specify the register range for the DSI host
|
|
- vana-supply: phandle to the VANA voltage regulator
|
|
- clocks: phandles to the high speed and low power (energy save) clocks
|
|
the high speed clock is not present on the third (dsi2) block, so it
|
|
should only have the "lp" clock
|
|
- clock-names: "hs" for the high speed clock and "lp" for the low power
|
|
(energy save) clock
|
|
- #address-cells: should be <1>
|
|
- #size-cells: should be <0>
|
|
|
|
Display panels and bridges will appear as children on the DSI hosts, and
|
|
the displays are connected to the DSI hosts using the common binding
|
|
for video transmitter interfaces; see
|
|
Documentation/devicetree/bindings/media/video-interfaces.txt
|
|
|
|
If a DSI host is unused (not connected) it will have no children defined.
|
|
|
|
Example:
|
|
|
|
mcde@a0350000 {
|
|
compatible = "ste,mcde";
|
|
reg = <0xa0350000 0x1000>;
|
|
interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
|
|
epod-supply = <&db8500_b2r2_mcde_reg>;
|
|
vana-supply = <&ab8500_ldo_ana_reg>;
|
|
clocks = <&prcmu_clk PRCMU_MCDECLK>, /* Main MCDE clock */
|
|
<&prcmu_clk PRCMU_LCDCLK>, /* LCD clock */
|
|
<&prcmu_clk PRCMU_PLLDSI>; /* HDMI clock */
|
|
clock-names = "mcde", "lcd", "hdmi";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
dsi0: dsi@a0351000 {
|
|
compatible = "ste,mcde-dsi";
|
|
reg = <0xa0351000 0x1000>;
|
|
vana-supply = <&ab8500_ldo_ana_reg>;
|
|
clocks = <&prcmu_clk PRCMU_DSI0CLK>, <&prcmu_clk PRCMU_DSI0ESCCLK>;
|
|
clock-names = "hs", "lp";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
panel {
|
|
compatible = "samsung,s6d16d0";
|
|
reg = <0>;
|
|
vdd1-supply = <&ab8500_ldo_aux1_reg>;
|
|
reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
};
|
|
dsi1: dsi@a0352000 {
|
|
compatible = "ste,mcde-dsi";
|
|
reg = <0xa0352000 0x1000>;
|
|
vana-supply = <&ab8500_ldo_ana_reg>;
|
|
clocks = <&prcmu_clk PRCMU_DSI1CLK>, <&prcmu_clk PRCMU_DSI1ESCCLK>;
|
|
clock-names = "hs", "lp";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
};
|
|
dsi2: dsi@a0353000 {
|
|
compatible = "ste,mcde-dsi";
|
|
reg = <0xa0353000 0x1000>;
|
|
vana-supply = <&ab8500_ldo_ana_reg>;
|
|
/* This DSI port only has the Low Power / Energy Save clock */
|
|
clocks = <&prcmu_clk PRCMU_DSI2ESCCLK>;
|
|
clock-names = "lp";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
};
|
|
};
|