-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/…
…kernel/git/daeinki/drm-exynos into drm-next Summaries: - Add MIPI-DSI Driver, and dt bindigs - Add S6E8AA0 MIPI-DSI based panel drivers, and dt bindings - Add LD9040 parallel panel driver . this driver is placed in drivers/gpu/drm/panel, and it seems to be used for exynos drm as of now, - Some fixups Changelog v2: - Remove super device support, and relevant dt bindings for more reviews. - Fix module build errors you pointed out. - Re-based it to drm-next again. * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: drm/bridge: export ptn3460_init function drm/exynos: remove MODULE_DEVICE_TABLE definitions ARM: dts: exynos4412-trats2: enable exynos/fimd node ARM: dts: exynos4210-trats: enable exynos/fimd node ARM: dts: exynos4412-trats2: add panel node ARM: dts: exynos4210-trats: add panel node ARM: dts: exynos4: add MIPI DSI Master node drm/panel: add S6E8AA0 driver ARM: dts: exynos4210-universal_c210: add proper panel node drm/panel: add ld9040 driver panel/ld9040: add DT bindings panel/s6e8aa0: add DT bindings drm/exynos: add DSIM driver exynos/dsim: add DT bindings drm/exynos: disallow fbdev initialization if no device is connected drm/mipi_dsi: create dsi devices only for nodes with reg property drm/mipi_dsi: add flags to DSI messages
- Loading branch information
Showing
21 changed files
with
3,445 additions
and
19 deletions.
There are no files selected for viewing
66 changes: 66 additions & 0 deletions
66
Documentation/devicetree/bindings/panel/samsung,ld9040.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
Samsung LD9040 AMOLED LCD parallel RGB panel with SPI control bus | ||
|
||
Required properties: | ||
- compatible: "samsung,ld9040" | ||
- reg: address of the panel on SPI bus | ||
- vdd3-supply: core voltage supply | ||
- vci-supply: voltage supply for analog circuits | ||
- reset-gpios: a GPIO spec for the reset pin | ||
- display-timings: timings for the connected panel according to [1] | ||
|
||
The panel must obey rules for SPI slave device specified in document [2]. | ||
|
||
Optional properties: | ||
- power-on-delay: delay after turning regulators on [ms] | ||
- reset-delay: delay after reset sequence [ms] | ||
- panel-width-mm: physical panel width [mm] | ||
- panel-height-mm: physical panel height [mm] | ||
|
||
The device node can contain one 'port' child node with one child | ||
'endpoint' node, according to the bindings defined in [3]. This | ||
node should describe panel's video bus. | ||
|
||
[1]: Documentation/devicetree/bindings/video/display-timing.txt | ||
[2]: Documentation/devicetree/bindings/spi/spi-bus.txt | ||
[3]: Documentation/devicetree/bindings/media/video-interfaces.txt | ||
|
||
Example: | ||
|
||
lcd@0 { | ||
compatible = "samsung,ld9040"; | ||
reg = <0>; | ||
vdd3-supply = <&ldo7_reg>; | ||
vci-supply = <&ldo17_reg>; | ||
reset-gpios = <&gpy4 5 0>; | ||
spi-max-frequency = <1200000>; | ||
spi-cpol; | ||
spi-cpha; | ||
power-on-delay = <10>; | ||
reset-delay = <10>; | ||
panel-width-mm = <90>; | ||
panel-height-mm = <154>; | ||
|
||
display-timings { | ||
timing { | ||
clock-frequency = <23492370>; | ||
hactive = <480>; | ||
vactive = <800>; | ||
hback-porch = <16>; | ||
hfront-porch = <16>; | ||
vback-porch = <2>; | ||
vfront-porch = <28>; | ||
hsync-len = <2>; | ||
vsync-len = <1>; | ||
hsync-active = <0>; | ||
vsync-active = <0>; | ||
de-active = <0>; | ||
pixelclk-active = <0>; | ||
}; | ||
}; | ||
|
||
port { | ||
lcd_ep: endpoint { | ||
remote-endpoint = <&fimd_dpi_ep>; | ||
}; | ||
}; | ||
}; |
56 changes: 56 additions & 0 deletions
56
Documentation/devicetree/bindings/panel/samsung,s6e8aa0.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
Samsung S6E8AA0 AMOLED LCD 5.3 inch panel | ||
|
||
Required properties: | ||
- compatible: "samsung,s6e8aa0" | ||
- reg: the virtual channel number of a DSI peripheral | ||
- vdd3-supply: core voltage supply | ||
- vci-supply: voltage supply for analog circuits | ||
- reset-gpios: a GPIO spec for the reset pin | ||
- display-timings: timings for the connected panel as described by [1] | ||
|
||
Optional properties: | ||
- power-on-delay: delay after turning regulators on [ms] | ||
- reset-delay: delay after reset sequence [ms] | ||
- init-delay: delay after initialization sequence [ms] | ||
- panel-width-mm: physical panel width [mm] | ||
- panel-height-mm: physical panel height [mm] | ||
- flip-horizontal: boolean to flip image horizontally | ||
- flip-vertical: boolean to flip image vertically | ||
|
||
The device node can contain one 'port' child node with one child | ||
'endpoint' node, according to the bindings defined in [2]. This | ||
node should describe panel's video bus. | ||
|
||
[1]: Documentation/devicetree/bindings/video/display-timing.txt | ||
[2]: Documentation/devicetree/bindings/media/video-interfaces.txt | ||
|
||
Example: | ||
|
||
panel { | ||
compatible = "samsung,s6e8aa0"; | ||
reg = <0>; | ||
vdd3-supply = <&vcclcd_reg>; | ||
vci-supply = <&vlcd_reg>; | ||
reset-gpios = <&gpy4 5 0>; | ||
power-on-delay= <50>; | ||
reset-delay = <100>; | ||
init-delay = <100>; | ||
panel-width-mm = <58>; | ||
panel-height-mm = <103>; | ||
flip-horizontal; | ||
flip-vertical; | ||
|
||
display-timings { | ||
timing0: timing-0 { | ||
clock-frequency = <57153600>; | ||
hactive = <720>; | ||
vactive = <1280>; | ||
hfront-porch = <5>; | ||
hback-porch = <5>; | ||
hsync-len = <5>; | ||
vfront-porch = <13>; | ||
vback-porch = <1>; | ||
vsync-len = <2>; | ||
}; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
Exynos MIPI DSI Master | ||
|
||
Required properties: | ||
- compatible: "samsung,exynos4210-mipi-dsi" | ||
- reg: physical base address and length of the registers set for the device | ||
- interrupts: should contain DSI interrupt | ||
- clocks: list of clock specifiers, must contain an entry for each required | ||
entry in clock-names | ||
- clock-names: should include "bus_clk"and "pll_clk" entries | ||
- phys: list of phy specifiers, must contain an entry for each required | ||
entry in phy-names | ||
- phy-names: should include "dsim" entry | ||
- vddcore-supply: MIPI DSIM Core voltage supply (e.g. 1.1V) | ||
- vddio-supply: MIPI DSIM I/O and PLL voltage supply (e.g. 1.8V) | ||
- samsung,pll-clock-frequency: specifies frequency of the "pll_clk" clock | ||
- #address-cells, #size-cells: should be set respectively to <1> and <0> | ||
according to DSI host bindings (see MIPI DSI bindings [1]) | ||
|
||
Optional properties: | ||
- samsung,power-domain: a phandle to DSIM power domain node | ||
|
||
Child nodes: | ||
Should contain DSI peripheral nodes (see MIPI DSI bindings [1]). | ||
|
||
Video interfaces: | ||
Device node can contain video interface port nodes according to [2]. | ||
The following are properties specific to those nodes: | ||
|
||
port node: | ||
- reg: (required) can be 0 for input RGB/I80 port or 1 for DSI port; | ||
|
||
endpoint node of DSI port (reg = 1): | ||
- samsung,burst-clock-frequency: specifies DSI frequency in high-speed burst | ||
mode | ||
- samsung,esc-clock-frequency: specifies DSI frequency in escape mode | ||
|
||
[1]: Documentation/devicetree/bindings/mipi/dsi/mipi-dsi-bus.txt | ||
[2]: Documentation/devicetree/bindings/media/video-interfaces.txt | ||
|
||
Example: | ||
|
||
dsi@11C80000 { | ||
compatible = "samsung,exynos4210-mipi-dsi"; | ||
reg = <0x11C80000 0x10000>; | ||
interrupts = <0 79 0>; | ||
clocks = <&clock 286>, <&clock 143>; | ||
clock-names = "bus_clk", "pll_clk"; | ||
phys = <&mipi_phy 1>; | ||
phy-names = "dsim"; | ||
vddcore-supply = <&vusb_reg>; | ||
vddio-supply = <&vmipi_reg>; | ||
samsung,power-domain = <&pd_lcd0>; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
samsung,pll-clock-frequency = <24000000>; | ||
|
||
panel@1 { | ||
reg = <0>; | ||
... | ||
port { | ||
panel_ep: endpoint { | ||
remote-endpoint = <&dsi_ep>; | ||
}; | ||
}; | ||
}; | ||
|
||
ports { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
port@1 { | ||
dsi_ep: endpoint { | ||
reg = <0>; | ||
samsung,burst-clock-frequency = <500000000>; | ||
samsung,esc-clock-frequency = <20000000>; | ||
remote-endpoint = <&panel_ep>; | ||
}; | ||
}; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.