diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-08 21:09:33 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-08 21:09:33 -0400 |
commit | 9e9ac896667a55ae9a3df119611ee5322abe2890 (patch) | |
tree | 82d486ff50b822aff5691bd396247f8cbc1aa800 /Documentation | |
parent | 34b20e6df6970e36b93f445669ba5ef7a05fe01a (diff) | |
parent | e4e42b8ad24cabf4d6d3c20a63f18dd6b954d9c2 (diff) |
Merge tag 'fbdev-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux
Pull fbdev updates from Tomi Valkeinen:
- much better HDMI infoframe support for OMAP
- Cirrus Logic CLPS711X framebuffer driver
- DT support for PL11x CLCD driver
- various small fixes
* tag 'fbdev-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (35 commits)
OMAPDSS: DSI: fix depopulating dsi peripherals
video: hyperv: hyperv_fb: refresh the VM screen by force on VM panic
video: ARM CLCD: Fix DT-related build problems
drivers: video: fbdev: atmel_lcdfb.c: Add ability to inverted backlight PWM.
video: ARM CLCD: Add DT support
drm/omap: Add infoframe & dvi/hdmi mode support
OMAPDSS: HDMI: remove the unused code
OMAPDSS: HDMI5: add support to set infoframe & HDMI mode
OMAPDSS: HDMI4: add support to set infoframe & HDMI mode
OMAPDSS: HDMI: add infoframe and hdmi_dvi_mode fields
OMAPDSS: add hdmi ops to hdmi-connector and tpd12s015
OMAPDSS: add hdmi ops to hdmi_ops and omap_dss_driver
OMAPDSS: HDMI: remove custom avi infoframe
OMAPDSS: HDMI5: use common AVI infoframe support
OMAPDSS: HDMI4: use common AVI infoframe support
OMAPDSS: Kconfig: select HDMI
OMAPDSS: HDMI: fix name conflict
OMAPDSS: DISPC: clean up dispc_mgr_timings_ok
OMAPDSS: DISPC: reject interlace for lcd out
OMAPDSS: DISPC: fix debugfs reg dump
...
Diffstat (limited to 'Documentation')
3 files changed, 157 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/video/arm,pl11x.txt b/Documentation/devicetree/bindings/video/arm,pl11x.txt new file mode 100644 index 000000000000..3e3039a8a253 --- /dev/null +++ b/Documentation/devicetree/bindings/video/arm,pl11x.txt | |||
@@ -0,0 +1,109 @@ | |||
1 | * ARM PrimeCell Color LCD Controller PL110/PL111 | ||
2 | |||
3 | See also Documentation/devicetree/bindings/arm/primecell.txt | ||
4 | |||
5 | Required properties: | ||
6 | |||
7 | - compatible: must be one of: | ||
8 | "arm,pl110", "arm,primecell" | ||
9 | "arm,pl111", "arm,primecell" | ||
10 | |||
11 | - reg: base address and size of the control registers block | ||
12 | |||
13 | - interrupt-names: either the single entry "combined" representing a | ||
14 | combined interrupt output (CLCDINTR), or the four entries | ||
15 | "mbe", "vcomp", "lnbu", "fuf" representing the individual | ||
16 | CLCDMBEINTR, CLCDVCOMPINTR, CLCDLNBUINTR, CLCDFUFINTR interrupts | ||
17 | |||
18 | - interrupts: contains an interrupt specifier for each entry in | ||
19 | interrupt-names | ||
20 | |||
21 | - clock-names: should contain "clcdclk" and "apb_pclk" | ||
22 | |||
23 | - clocks: contains phandle and clock specifier pairs for the entries | ||
24 | in the clock-names property. See | ||
25 | Documentation/devicetree/binding/clock/clock-bindings.txt | ||
26 | |||
27 | Optional properties: | ||
28 | |||
29 | - memory-region: phandle to a node describing memory (see | ||
30 | Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt) | ||
31 | to be used for the framebuffer; if not present, the framebuffer | ||
32 | may be located anywhere in the memory | ||
33 | |||
34 | - max-memory-bandwidth: maximum bandwidth in bytes per second that the | ||
35 | cell's memory interface can handle; if not present, the memory | ||
36 | interface is fast enough to handle all possible video modes | ||
37 | |||
38 | Required sub-nodes: | ||
39 | |||
40 | - port: describes LCD panel signals, following the common binding | ||
41 | for video transmitter interfaces; see | ||
42 | Documentation/devicetree/bindings/media/video-interfaces.txt; | ||
43 | when it is a TFT panel, the port's endpoint must define the | ||
44 | following property: | ||
45 | |||
46 | - arm,pl11x,tft-r0g0b0-pads: an array of three 32-bit values, | ||
47 | defining the way CLD pads are wired up; first value | ||
48 | contains index of the "CLD" external pin (pad) used | ||
49 | as R0 (first bit of the red component), second value | ||
50 | index of the pad used as G0, third value index of the | ||
51 | pad used as B0, see also "LCD panel signal multiplexing | ||
52 | details" paragraphs in the PL110/PL111 Technical | ||
53 | Reference Manuals; this implicitly defines available | ||
54 | color modes, for example: | ||
55 | - PL111 TFT 4:4:4 panel: | ||
56 | arm,pl11x,tft-r0g0b0-pads = <4 15 20>; | ||
57 | - PL110 TFT (1:)5:5:5 panel: | ||
58 | arm,pl11x,tft-r0g0b0-pads = <1 7 13>; | ||
59 | - PL111 TFT (1:)5:5:5 panel: | ||
60 | arm,pl11x,tft-r0g0b0-pads = <3 11 19>; | ||
61 | - PL111 TFT 5:6:5 panel: | ||
62 | arm,pl11x,tft-r0g0b0-pads = <3 10 19>; | ||
63 | - PL110 and PL111 TFT 8:8:8 panel: | ||
64 | arm,pl11x,tft-r0g0b0-pads = <0 8 16>; | ||
65 | - PL110 and PL111 TFT 8:8:8 panel, R & B components swapped: | ||
66 | arm,pl11x,tft-r0g0b0-pads = <16 8 0>; | ||
67 | |||
68 | |||
69 | Example: | ||
70 | |||
71 | clcd@10020000 { | ||
72 | compatible = "arm,pl111", "arm,primecell"; | ||
73 | reg = <0x10020000 0x1000>; | ||
74 | interrupt-names = "combined"; | ||
75 | interrupts = <0 44 4>; | ||
76 | clocks = <&oscclk1>, <&oscclk2>; | ||
77 | clock-names = "clcdclk", "apb_pclk"; | ||
78 | max-memory-bandwidth = <94371840>; /* Bps, 1024x768@60 16bpp */ | ||
79 | |||
80 | port { | ||
81 | clcd_pads: endpoint { | ||
82 | remote-endpoint = <&clcd_panel>; | ||
83 | arm,pl11x,tft-r0g0b0-pads = <0 8 16>; | ||
84 | }; | ||
85 | }; | ||
86 | |||
87 | }; | ||
88 | |||
89 | panel { | ||
90 | compatible = "panel-dpi"; | ||
91 | |||
92 | port { | ||
93 | clcd_panel: endpoint { | ||
94 | remote-endpoint = <&clcd_pads>; | ||
95 | }; | ||
96 | }; | ||
97 | |||
98 | panel-timing { | ||
99 | clock-frequency = <25175000>; | ||
100 | hactive = <640>; | ||
101 | hback-porch = <40>; | ||
102 | hfront-porch = <24>; | ||
103 | hsync-len = <96>; | ||
104 | vactive = <480>; | ||
105 | vback-porch = <32>; | ||
106 | vfront-porch = <11>; | ||
107 | vsync-len = <2>; | ||
108 | }; | ||
109 | }; | ||
diff --git a/Documentation/devicetree/bindings/video/atmel,lcdc.txt b/Documentation/devicetree/bindings/video/atmel,lcdc.txt index 1ec175eddca8..b75af94a5e52 100644 --- a/Documentation/devicetree/bindings/video/atmel,lcdc.txt +++ b/Documentation/devicetree/bindings/video/atmel,lcdc.txt | |||
@@ -46,6 +46,7 @@ Required properties (as per of_videomode_helper): | |||
46 | 46 | ||
47 | Optional properties (as per of_videomode_helper): | 47 | Optional properties (as per of_videomode_helper): |
48 | - atmel,lcdcon-backlight: enable backlight | 48 | - atmel,lcdcon-backlight: enable backlight |
49 | - atmel,lcdcon-backlight-inverted: invert backlight PWM polarity | ||
49 | - atmel,lcd-wiring-mode: lcd wiring mode "RGB" or "BRG" | 50 | - atmel,lcd-wiring-mode: lcd wiring mode "RGB" or "BRG" |
50 | - atmel,power-control-gpio: gpio to power on or off the LCD (as many as needed) | 51 | - atmel,power-control-gpio: gpio to power on or off the LCD (as many as needed) |
51 | 52 | ||
diff --git a/Documentation/devicetree/bindings/video/cirrus,clps711x-fb.txt b/Documentation/devicetree/bindings/video/cirrus,clps711x-fb.txt new file mode 100644 index 000000000000..6fc3c6adeefa --- /dev/null +++ b/Documentation/devicetree/bindings/video/cirrus,clps711x-fb.txt | |||
@@ -0,0 +1,47 @@ | |||
1 | * Currus Logic CLPS711X Framebuffer | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Shall contain "cirrus,clps711x-fb". | ||
5 | - reg : Physical base address and length of the controller's registers + | ||
6 | location and size of the framebuffer memory. | ||
7 | - clocks : phandle + clock specifier pair of the FB reference clock. | ||
8 | - display : phandle to a display node as described in | ||
9 | Documentation/devicetree/bindings/video/display-timing.txt. | ||
10 | Additionally, the display node has to define properties: | ||
11 | - bits-per-pixel: Bits per pixel. | ||
12 | - ac-prescale : LCD AC bias frequency. This frequency is the required | ||
13 | AC bias frequency for a given manufacturer's LCD plate. | ||
14 | - cmap-invert : Invert the color levels (Optional). | ||
15 | |||
16 | Optional properties: | ||
17 | - lcd-supply: Regulator for LCD supply voltage. | ||
18 | |||
19 | Example: | ||
20 | fb: fb@800002c0 { | ||
21 | compatible = "cirrus,ep7312-fb", "cirrus,clps711x-fb"; | ||
22 | reg = <0x800002c0 0xd44>, <0x60000000 0xc000>; | ||
23 | clocks = <&clks 2>; | ||
24 | lcd-supply = <®5v0>; | ||
25 | display = <&display>; | ||
26 | }; | ||
27 | |||
28 | display: display { | ||
29 | model = "320x240x4"; | ||
30 | native-mode = <&timing0>; | ||
31 | bits-per-pixel = <4>; | ||
32 | ac-prescale = <17>; | ||
33 | |||
34 | display-timings { | ||
35 | timing0: 320x240 { | ||
36 | hactive = <320>; | ||
37 | hback-porch = <0>; | ||
38 | hfront-porch = <0>; | ||
39 | hsync-len = <0>; | ||
40 | vactive = <240>; | ||
41 | vback-porch = <0>; | ||
42 | vfront-porch = <0>; | ||
43 | vsync-len = <0>; | ||
44 | clock-frequency = <6500000>; | ||
45 | }; | ||
46 | }; | ||
47 | }; | ||