Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
flat view
From: Rob Herring <robh@kernel.org>
Date: 2015-10-06 13:30:52
Also in:
linux-devicetree, lkml
On Sun, Oct 4, 2015 at 5:31 AM, Robert Jarzmik [off-list ref] wrote:
Add documentation for the PXA frambuffer devicetree binding.
Strictly speaking this is a binding for PXA display controller, not a Linux FB driver. There are lots of "framebuffer" and "DRM" bindings which I'm trying to curb.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> --- Since v1: Philipp's review on the whole binding --- .../devicetree/bindings/video/marvell,pxafb.txt | 80 ++++++++++++++++++++++
Please put in bindings/display/ as I'm consolidating all the display related bindings there[1].
quoted hunk ↗ jump to hunk
1 file changed, 80 insertions(+) create mode 100644 Documentation/devicetree/bindings/video/marvell,pxafb.txtdiff --git a/Documentation/devicetree/bindings/video/marvell,pxafb.txt b/Documentation/devicetree/bindings/video/marvell,pxafb.txt new file mode 100644 index 000000000000..4d6bd490680d --- /dev/null +++ b/Documentation/devicetree/bindings/video/marvell,pxafb.txt@@ -0,0 +1,80 @@ +PXA LCDC Framebuffer +-------------------- + +Required properties: + - compatible : + "marvell,pxa2xx-lcdc",
No differences in h/w for any of the chips?
quoted hunk ↗ jump to hunk
+ - reg : Should contain 1 register ranges(address and length). + Can contain an additional register range(address and length) + for fixed framebuffer memory. Useful for dedicated memories.
This is memory that can't be used for anything else? We already have reserved-memory for this if it is just RAM. There's also a binding for on-chip SRAM which should probably be used if the memory is usable for other things.
quoted hunk ↗ jump to hunk
+ - interrupts : framebuffer controller interrupt + +Required nodes: + - clocks: phandle to input clocks. + - port: connection to the LCD panel (see video-interfaces.txt) + This nodes must have its properties bus-width and remote-endpoint set. + This should be in the board dts. + +Example: + + lcd-controller@40500000 { + compatible = "marvell,pxa2xx-lcdc"; + reg = <0x44000000 0x10000>; + interrupts = <17>; + clocks = <&clks CLK_LCD>; + interrupts = <23>; + status = "okay"; + + port { + lcdc_out: endpoint { + remote-endpoint = <&panel_in>; + bus-width = <16>; + }; + }; + }; + +PXA LCDC Display
This should not be specific to PXA, but for this panel. This should be in bindings/display/panel/.
quoted hunk ↗ jump to hunk
+---------------- +Required properties (as per of_videomode_helper): + - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn", + "color-tft", "smart-panel" + +Optional properties (as per of_videomode_helper): + - power-supply: power supply regulator to the LCD to power it on or off + (see regulator.txt) + - backlight: backlight control (see backlight.txt) + +Required nodes: + - port: connection to the LCD controller + - display-timings: panel timings (see display-timing.txt)
If lcd-type is smart-panel, then this node would not make sense.
+
+Example:
+ panel {
+ compatible = "toshiba,ltm0305a776";
+ lcd-type = "color-tft";
+
+ power-supply = <&lcd_supply>;
+ backlight = <&lcd_backlight>;
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&lcdc_out>;
+ };
+ };
+
+ display-timings {
+ native-mode = <&timing0>;
+ timing0: 240p {
+ /* 240x320p24 */
+ clock-frequency = <4545000>;
+ hactive = <240>;
+ vactive = <320>;
+ hfront-porch = <4>;
+ hback-porch = <6>;
+ hsync-len = <4>;
+ vback-porch = <5>;
+ vfront-porch = <3>;
+ vsync-len = <2>;
+ };
+ };
+ };
--
2.1.4[1] https://lkml.org/lkml/2015/10/1/899