mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux
Pull drm updates from Dave Airlie:
"This is the main drm pull, it has a shared branch with some alsa
crossover but everything should be acked by relevant people.
New drivers:
- ATMEL HLCDC driver
- designware HDMI core support (used in multiple SoCs).
core:
- lots more atomic modesetting work, properties and atomic ioctl
(hidden under option)
- bridge rework allows support for Samsung exynos chromebooks to
work finally.
- some more panels supported
i915:
- atomic plane update support
- DSI uses shared DSI infrastructure
- Skylake basic support is all merged now
- component framework used for i915/snd-hda interactions
- write-combine cpu memory mappings
- engine init code refactored
- full ppgtt enabled where execlists are enabled.
- cherryview rps/gpu turbo and pipe CRC support.
radeon:
- indirect draw support for evergreen/cayman
- SMC and manual fan control for SI/CI
- Displayport audio support
amdkfd:
- SDMA usermode queue support
- replace suballocator usage with more suitable one
- rework for allowing interfacing to more than radeon
nouveau:
- major renaming in prep for later splitting work
- merge arm platform driver into nouveau
- GK20A reclocking support
msm:
- conversion to atomic modesetting
- YUV support for mdp4/5
- eDP support
- hw cursor for mdp5
tegra:
- conversion to atomic modesetting
- better suspend/resume support for child devices
rcar-du:
- interlaced support
imx:
- move to using dw_hdmi shared support
- mode_fixup support
sti:
- DVO support
- HDMI infoframe support
exynos:
- refactoring and cleanup, removed lots of internal unnecessary
abstraction
- exynos7 DECON display controller support
Along with the usual bunch of fixes, cleanups etc"
* 'drm-next' of git://people.freedesktop.org/~airlied/linux: (724 commits)
drm/radeon: fix voltage setup on hawaii
drm/radeon/dp: Set EDP_CONFIGURATION_SET for bridge chips if necessary
drm/radeon: only enable kv/kb dpm interrupts once v3
drm/radeon: workaround for CP HW bug on CIK
drm/radeon: Don't try to enable write-combining without PAT
drm/radeon: use 0-255 rather than 0-100 for pwm fan range
drm/i915: Clamp efficient frequency to valid range
drm/i915: Really ignore long HPD pulses on eDP
drm/exynos: Add DECON driver
drm/i915: Correct the base value while updating LP_OUTPUT_HOLD in MIPI_PORT_CTRL
drm/i915: Insert a command barrier on BLT/BSD cache flushes
drm/i915: Drop vblank wait from intel_dp_link_down
drm/exynos: fix NULL pointer reference
drm/exynos: remove exynos_plane_dpms
drm/exynos: remove mode property of exynos crtc
drm/exynos: Remove exynos_plane_dpms() call with no effect
drm/i915: Squelch overzealous uncore reset WARN_ON
drm/i915: Take runtime pm reference on hangcheck_info
drm/i915: Correct the IOSF Dev_FN field for IOSF transfers
drm/exynos: fix DMA_ATTR_NO_KERNEL_MAPPING usage
...
This commit is contained in:
commit
796e1c5571
1138 changed files with 50782 additions and 34680 deletions
53
Documentation/devicetree/bindings/drm/atmel/hlcdc-dc.txt
Normal file
53
Documentation/devicetree/bindings/drm/atmel/hlcdc-dc.txt
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
Device-Tree bindings for Atmel's HLCDC (High LCD Controller) DRM driver
|
||||
|
||||
The Atmel HLCDC Display Controller is subdevice of the HLCDC MFD device.
|
||||
See ../mfd/atmel-hlcdc.txt for more details.
|
||||
|
||||
Required properties:
|
||||
- compatible: value should be "atmel,hlcdc-display-controller"
|
||||
- pinctrl-names: the pin control state names. Should contain "default".
|
||||
- pinctrl-0: should contain the default pinctrl states.
|
||||
- #address-cells: should be set to 1.
|
||||
- #size-cells: should be set to 0.
|
||||
|
||||
Required children nodes:
|
||||
Children nodes are encoding available output ports and their connections
|
||||
to external devices using the OF graph reprensentation (see ../graph.txt).
|
||||
At least one port node is required.
|
||||
|
||||
Example:
|
||||
|
||||
hlcdc: hlcdc@f0030000 {
|
||||
compatible = "atmel,sama5d3-hlcdc";
|
||||
reg = <0xf0030000 0x2000>;
|
||||
interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
|
||||
clock-names = "periph_clk","sys_clk", "slow_clk";
|
||||
status = "disabled";
|
||||
|
||||
hlcdc-display-controller {
|
||||
compatible = "atmel,hlcdc-display-controller";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
|
||||
hlcdc_panel_output: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&panel_input>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hlcdc_pwm: hlcdc-pwm {
|
||||
compatible = "atmel,hlcdc-pwm";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_lcd_pwm>;
|
||||
#pwm-cells = <3>;
|
||||
};
|
||||
};
|
||||
50
Documentation/devicetree/bindings/drm/bridge/dw_hdmi.txt
Normal file
50
Documentation/devicetree/bindings/drm/bridge/dw_hdmi.txt
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
DesignWare HDMI bridge bindings
|
||||
|
||||
Required properties:
|
||||
- compatible: platform specific such as:
|
||||
* "snps,dw-hdmi-tx"
|
||||
* "fsl,imx6q-hdmi"
|
||||
* "fsl,imx6dl-hdmi"
|
||||
* "rockchip,rk3288-dw-hdmi"
|
||||
- reg: Physical base address and length of the controller's registers.
|
||||
- interrupts: The HDMI interrupt number
|
||||
- clocks, clock-names : must have the phandles to the HDMI iahb and isfr clocks,
|
||||
as described in Documentation/devicetree/bindings/clock/clock-bindings.txt,
|
||||
the clocks are soc specific, the clock-names should be "iahb", "isfr"
|
||||
-port@[X]: SoC specific port nodes with endpoint definitions as defined
|
||||
in Documentation/devicetree/bindings/media/video-interfaces.txt,
|
||||
please refer to the SoC specific binding document:
|
||||
* Documentation/devicetree/bindings/drm/imx/hdmi.txt
|
||||
* Documentation/devicetree/bindings/video/dw_hdmi-rockchip.txt
|
||||
|
||||
Optional properties
|
||||
- reg-io-width: the width of the reg:1,4, default set to 1 if not present
|
||||
- ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
|
||||
- clocks, clock-names: phandle to the HDMI CEC clock, name should be "cec"
|
||||
|
||||
Example:
|
||||
hdmi: hdmi@0120000 {
|
||||
compatible = "fsl,imx6q-hdmi";
|
||||
reg = <0x00120000 0x9000>;
|
||||
interrupts = <0 115 0x04>;
|
||||
gpr = <&gpr>;
|
||||
clocks = <&clks 123>, <&clks 124>;
|
||||
clock-names = "iahb", "isfr";
|
||||
ddc-i2c-bus = <&i2c2>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
hdmi_mux_0: endpoint {
|
||||
remote-endpoint = <&ipu1_di0_hdmi>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
hdmi_mux_1: endpoint {
|
||||
remote-endpoint = <&ipu1_di1_hdmi>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -2,6 +2,8 @@ Qualcomm adreno/snapdragon hdmi output
|
|||
|
||||
Required properties:
|
||||
- compatible: one of the following
|
||||
* "qcom,hdmi-tx-8084"
|
||||
* "qcom,hdmi-tx-8074"
|
||||
* "qcom,hdmi-tx-8660"
|
||||
* "qcom,hdmi-tx-8960"
|
||||
- reg: Physical base address and length of the controller's registers
|
||||
|
|
|
|||
|
|
@ -83,6 +83,22 @@ sti-hda:
|
|||
- clock-names: names of the clocks listed in clocks property in the same
|
||||
order.
|
||||
|
||||
sti-dvo:
|
||||
Required properties:
|
||||
must be a child of sti-tvout
|
||||
- compatible: "st,stih<chip>-dvo"
|
||||
- reg: Physical base address of the IP registers and length of memory mapped region.
|
||||
- reg-names: names of the mapped memory regions listed in regs property in
|
||||
the same order.
|
||||
- clocks: from common clock binding: handle hardware IP needed clocks, the
|
||||
number of clocks may depend of the SoC type.
|
||||
See ../clocks/clock-bindings.txt for details.
|
||||
- clock-names: names of the clocks listed in clocks property in the same
|
||||
order.
|
||||
- pinctrl-0: pin control handle
|
||||
- pinctrl-name: names of the pin control to use
|
||||
- sti,panel: phandle of the panel connected to the DVO output
|
||||
|
||||
sti-hqvdp:
|
||||
must be a child of sti-display-subsystem
|
||||
Required properties:
|
||||
|
|
@ -198,6 +214,19 @@ Example:
|
|||
clock-names = "pix", "hddac";
|
||||
clocks = <&clockgen_c_vcc CLK_S_PIX_HD>, <&clockgen_c_vcc CLK_S_HDDAC>;
|
||||
};
|
||||
|
||||
sti-dvo@8d00400 {
|
||||
compatible = "st,stih407-dvo";
|
||||
reg = <0x8d00400 0x200>;
|
||||
reg-names = "dvo-reg";
|
||||
clock-names = "dvo_pix", "dvo",
|
||||
"main_parent", "aux_parent";
|
||||
clocks = <&clk_s_d2_flexgen CLK_PIX_DVO>, <&clk_s_d2_flexgen CLK_DVO>,
|
||||
<&clk_s_d2_quadfs 0>, <&clk_s_d2_quadfs 1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_dvo>;
|
||||
sti,panel = <&panel_dvo>;
|
||||
};
|
||||
};
|
||||
|
||||
sti-hqvdp@9c000000 {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
Shanghai AVIC Optoelectronics 7" 1024x600 color TFT-LCD panel
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "avic,tm070ddh03"
|
||||
|
||||
This binding is compatible with the simple-panel binding, which is specified
|
||||
in simple-panel.txt in this directory.
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
GiantPlus GPG48273QS5 4.3" (480x272) WQVGA TFT LCD panel
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "giantplus,gpg48273qs5"
|
||||
|
||||
This binding is compatible with the simple-panel binding, which is specified
|
||||
in simple-panel.txt in this directory.
|
||||
|
|
@ -25,6 +25,7 @@ asahi-kasei Asahi Kasei Corp.
|
|||
atmel Atmel Corporation
|
||||
auo AU Optronics Corporation
|
||||
avago Avago Technologies
|
||||
avic Shanghai AVIC Optoelectronics Co., Ltd.
|
||||
bosch Bosch Sensortec GmbH
|
||||
brcm Broadcom Corporation
|
||||
buffalo Buffalo, Inc.
|
||||
|
|
@ -68,6 +69,7 @@ fsl Freescale Semiconductor
|
|||
GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc.
|
||||
gef GE Fanuc Intelligent Platforms Embedded Systems, Inc.
|
||||
geniatech Geniatech, Inc.
|
||||
giantplus Giantplus Technology Co., Ltd.
|
||||
globalscale Globalscale Technologies, Inc.
|
||||
gmt Global Mixed-mode Technology, Inc.
|
||||
google Google, Inc.
|
||||
|
|
@ -126,6 +128,7 @@ onnn ON Semiconductor Corp.
|
|||
opencores OpenCores.org
|
||||
ovti OmniVision Technologies
|
||||
panasonic Panasonic Corporation
|
||||
parade Parade Technologies Inc.
|
||||
pericom Pericom Technology Inc.
|
||||
phytec PHYTEC Messtechnik GmbH
|
||||
picochip Picochip Ltd
|
||||
|
|
|
|||
31
Documentation/devicetree/bindings/video/bridge/ps8622.txt
Normal file
31
Documentation/devicetree/bindings/video/bridge/ps8622.txt
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
ps8622-bridge bindings
|
||||
|
||||
Required properties:
|
||||
- compatible: "parade,ps8622" or "parade,ps8625"
|
||||
- reg: first i2c address of the bridge
|
||||
- sleep-gpios: OF device-tree gpio specification for PD_ pin.
|
||||
- reset-gpios: OF device-tree gpio specification for RST_ pin.
|
||||
|
||||
Optional properties:
|
||||
- lane-count: number of DP lanes to use
|
||||
- use-external-pwm: backlight will be controlled by an external PWM
|
||||
- video interfaces: Device node can contain video interface port
|
||||
nodes for panel according to [1].
|
||||
|
||||
[1]: Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
|
||||
Example:
|
||||
lvds-bridge@48 {
|
||||
compatible = "parade,ps8622";
|
||||
reg = <0x48>;
|
||||
sleep-gpios = <&gpc3 6 1 0 0>;
|
||||
reset-gpios = <&gpc3 1 1 0 0>;
|
||||
lane-count = <1>;
|
||||
ports {
|
||||
port@0 {
|
||||
bridge_out: endpoint {
|
||||
remote-endpoint = <&panel_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -3,8 +3,8 @@ ptn3460 bridge bindings
|
|||
Required properties:
|
||||
- compatible: "nxp,ptn3460"
|
||||
- reg: i2c address of the bridge
|
||||
- powerdown-gpio: OF device-tree gpio specification
|
||||
- reset-gpio: OF device-tree gpio specification
|
||||
- powerdown-gpio: OF device-tree gpio specification for PD_N pin.
|
||||
- reset-gpio: OF device-tree gpio specification for RST_N pin.
|
||||
- edid-emulation: The EDID emulation entry to use
|
||||
+-------+------------+------------------+
|
||||
| Value | Resolution | Description |
|
||||
|
|
@ -17,6 +17,11 @@ Required properties:
|
|||
| 6 | 1600x900 | ChiMei M215HGE |
|
||||
+-------+------------+------------------+
|
||||
|
||||
- video interfaces: Device node can contain video interface port
|
||||
nodes for panel according to [1].
|
||||
|
||||
[1]: Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
|
||||
Example:
|
||||
lvds-bridge@20 {
|
||||
compatible = "nxp,ptn3460";
|
||||
|
|
@ -24,4 +29,11 @@ Example:
|
|||
powerdown-gpio = <&gpy2 5 1 0 0>;
|
||||
reset-gpio = <&gpx1 5 1 0 0>;
|
||||
edid-emulation = <5>;
|
||||
ports {
|
||||
port@0 {
|
||||
bridge_out: endpoint {
|
||||
remote-endpoint = <&panel_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
46
Documentation/devicetree/bindings/video/dw_hdmi-rockchip.txt
Normal file
46
Documentation/devicetree/bindings/video/dw_hdmi-rockchip.txt
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
Rockchip specific extensions to the Synopsys Designware HDMI
|
||||
================================
|
||||
|
||||
Required properties:
|
||||
- compatible: "rockchip,rk3288-dw-hdmi";
|
||||
- reg: Physical base address and length of the controller's registers.
|
||||
- clocks: phandle to hdmi iahb and isfr clocks.
|
||||
- clock-names: should be "iahb" "isfr"
|
||||
- rockchip,grf: this soc should set GRF regs to mux vopl/vopb.
|
||||
- interrupts: HDMI interrupt number
|
||||
- ports: contain a port node with endpoint definitions as defined in
|
||||
Documentation/devicetree/bindings/media/video-interfaces.txt. For
|
||||
vopb,set the reg = <0> and set the reg = <1> for vopl.
|
||||
- reg-io-width: the width of the reg:1,4, the value should be 4 on
|
||||
rk3288 platform
|
||||
|
||||
Optional properties
|
||||
- ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
|
||||
- clocks, clock-names: phandle to the HDMI CEC clock, name should be "cec"
|
||||
|
||||
Example:
|
||||
hdmi: hdmi@ff980000 {
|
||||
compatible = "rockchip,rk3288-dw-hdmi";
|
||||
reg = <0xff980000 0x20000>;
|
||||
reg-io-width = <4>;
|
||||
ddc-i2c-bus = <&i2c5>;
|
||||
rockchip,grf = <&grf>;
|
||||
interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>;
|
||||
clock-names = "iahb", "isfr";
|
||||
status = "disabled";
|
||||
ports {
|
||||
hdmi_in: port {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
hdmi_in_vopb: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&vopb_out_hdmi>;
|
||||
};
|
||||
hdmi_in_vopl: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&vopl_out_hdmi>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
68
Documentation/devicetree/bindings/video/exynos7-decon.txt
Normal file
68
Documentation/devicetree/bindings/video/exynos7-decon.txt
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
Device-Tree bindings for Samsung Exynos7 SoC display controller (DECON)
|
||||
|
||||
DECON (Display and Enhancement Controller) is the Display Controller for the
|
||||
Exynos7 series of SoCs which transfers the image data from a video memory
|
||||
buffer to an external LCD interface.
|
||||
|
||||
Required properties:
|
||||
- compatible: value should be "samsung,exynos7-decon";
|
||||
|
||||
- reg: physical base address and length of the DECON registers set.
|
||||
|
||||
- interrupt-parent: should be the phandle of the decon controller's
|
||||
parent interrupt controller.
|
||||
|
||||
- interrupts: should contain a list of all DECON IP block interrupts in the
|
||||
order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier
|
||||
format depends on the interrupt controller used.
|
||||
|
||||
- interrupt-names: should contain the interrupt names: "fifo", "vsync",
|
||||
"lcd_sys", in the same order as they were listed in the interrupts
|
||||
property.
|
||||
|
||||
- pinctrl-0: pin control group to be used for this controller.
|
||||
|
||||
- pinctrl-names: must contain a "default" entry.
|
||||
|
||||
- clocks: must include clock specifiers corresponding to entries in the
|
||||
clock-names property.
|
||||
|
||||
- clock-names: list of clock names sorted in the same order as the clocks
|
||||
property. Must contain "pclk_decon0", "aclk_decon0",
|
||||
"decon0_eclk", "decon0_vclk".
|
||||
- i80-if-timings: timing configuration for lcd i80 interface support.
|
||||
|
||||
Optional Properties:
|
||||
- samsung,power-domain: a phandle to DECON power domain node.
|
||||
- display-timings: timing settings for DECON, as described in document [1].
|
||||
Can be used in case timings cannot be provided otherwise
|
||||
or to override timings provided by the panel.
|
||||
|
||||
[1]: Documentation/devicetree/bindings/video/display-timing.txt
|
||||
|
||||
Example:
|
||||
|
||||
SoC specific DT entry:
|
||||
|
||||
decon@13930000 {
|
||||
compatible = "samsung,exynos7-decon";
|
||||
interrupt-parent = <&combiner>;
|
||||
reg = <0x13930000 0x1000>;
|
||||
interrupt-names = "lcd_sys", "vsync", "fifo";
|
||||
interrupts = <0 188 0>, <0 189 0>, <0 190 0>;
|
||||
clocks = <&clock_disp PCLK_DECON_INT>,
|
||||
<&clock_disp ACLK_DECON_INT>,
|
||||
<&clock_disp SCLK_DECON_INT_ECLK>,
|
||||
<&clock_disp SCLK_DECON_INT_EXTCLKPLL>;
|
||||
clock-names = "pclk_decon0", "aclk_decon0", "decon0_eclk",
|
||||
"decon0_vclk";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
Board specific DT entry:
|
||||
|
||||
decon@13930000 {
|
||||
pinctrl-0 = <&lcd_clk &pwm1_out>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
|
@ -66,6 +66,10 @@ Optional properties for dp-controller:
|
|||
Hotplug detect GPIO.
|
||||
Indicates which GPIO should be used for hotplug
|
||||
detection
|
||||
-video interfaces: Device node can contain video interface port
|
||||
nodes according to [1].
|
||||
|
||||
[1]: Documentation/devicetree/bindings/media/video-interfaces.txt
|
||||
|
||||
Example:
|
||||
|
||||
|
|
@ -105,4 +109,12 @@ Board Specific portion:
|
|||
vsync-len = <6>;
|
||||
};
|
||||
};
|
||||
|
||||
ports {
|
||||
port@0 {
|
||||
dp_out: endpoint {
|
||||
remote-endpoint = <&bridge_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ Required properties:
|
|||
a) mixer: Gate of Mixer IP bus clock.
|
||||
b) sclk_hdmi: HDMI Special clock, one of the two possible inputs of
|
||||
mixer mux.
|
||||
c) hdmi: Gate of HDMI IP bus clock, needed together with sclk_hdmi.
|
||||
|
||||
Example:
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,10 @@ Required Properties:
|
|||
per LVDS encoder. The functional clocks must be named "du.x" with "x"
|
||||
being the channel numerical index. The LVDS clocks must be named
|
||||
"lvds.x" with "x" being the LVDS encoder numerical index.
|
||||
- In addition to the functional and encoder clocks, all DU versions also
|
||||
support externally supplied pixel clocks. Those clocks are optional.
|
||||
When supplied they must be named "dclkin.x" with "x" being the input
|
||||
clock numerical index.
|
||||
|
||||
Required nodes:
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue