-
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 drm/drm-next into drm-intel-gt-next
Backmerging to pull in the new dma_resv iterators requested by Maarten and Matt. Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
- Loading branch information
Showing
946 changed files
with
71,454 additions
and
21,778 deletions.
There are no files selected for viewing
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
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
188 changes: 188 additions & 0 deletions
188
Documentation/devicetree/bindings/display/panel/panel-edp.yaml
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,188 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/display/panel/panel-edp.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Probeable (via DP AUX / EDID) eDP Panels with simple poweron sequences | ||
|
||
maintainers: | ||
- Douglas Anderson <dianders@chromium.org> | ||
|
||
description: | | ||
This binding file can be used to indicate that an eDP panel is connected | ||
to a Embedded DisplayPort AUX bus (see display/dp-aux-bus.yaml) without | ||
actually specifying exactly what panel is connected. This is useful for | ||
the case that more than one different panel could be connected to the | ||
board, either for second-sourcing purposes or to support multiple SKUs | ||
with different LCDs that hook up to a common board. | ||
As per above, a requirement for using this binding is that the panel is | ||
represented under the DP AUX bus. This means that we can use any | ||
information provided by the DP AUX bus (including the EDID) to identify | ||
the panel. We can use this to identify display size, resolution, and | ||
timings among other things. | ||
One piece of information about eDP panels that is typically _not_ | ||
provided anywhere on the DP AUX bus is the power sequencing timings. | ||
This is the reason why, historically, we've always had to explicitly | ||
list eDP panels. We solve that here with two tricks. The "worst case" | ||
power on timings for any panels expected to be connected to a board are | ||
specified in these bindings. Once we've powered on, it's expected that | ||
the operating system will lookup the panel in a table (based on EDID | ||
information) to figure out other power sequencing timings. | ||
eDP panels in general can have somewhat arbitrary power sequencing | ||
requirements. However, even though it's arbitrary in general, the | ||
vast majority of panel datasheets have a power sequence diagram that | ||
looks the exactly the same as every other panel. Each panel datasheet | ||
cares about different timings in this diagram but the fact that the | ||
diagram is so similar means we can come up with a single driver to | ||
handle it. | ||
These diagrams all look roughly like this, sometimes labeled with | ||
slightly different numbers / lines but all pretty much the same | ||
sequence. This is because much of this diagram comes straight from | ||
the eDP Standard. | ||
__________________________________________________ | ||
Vdd ___/: :\____ / | ||
_/ : : \_____/ | ||
:<T1>:<T2>: :<--T10-->:<T11>:<T12>: | ||
: +-----------------------+---------+---------+ | ||
eDP -----------+ Black video | Src vid | Blk vid + | ||
Display : +-----------------------+---------+---------+ | ||
: _______________________:_________:_________: | ||
HPD :<T3>| : : | | ||
___________| : : |_____________ | ||
: : : : | ||
Sink +-----------------------:---------:---------+ | ||
AUX CH -----------+ AUX Ch operational : : +------------- | ||
+-----------------------:---------:---------+ | ||
: : : : | ||
:<T4>: :<T7>: : : | ||
Src main +------+------+--------------+---------+ | ||
lnk data----------------+LnkTrn| Idle |Valid vid data| Idle/off+------------- | ||
+------+------+--------------+---------+ | ||
: <T5> :<-T6->:<-T8->: : | ||
:__:<T9>: | ||
LED_EN | | | ||
_____________________________________| |____________________________ | ||
: : | ||
__________:__:_ | ||
PWM | : : | | ||
__________________________| : : |__________________________ | ||
: : : : | ||
_____________:__________:__:_:______ | ||
Bklight ____/: : : : : :\____ | ||
power _______/ :<---T13---->: : : :<T16>: \______________ | ||
(Vbl) :<T17>:<---------T14--------->: :<-T15->:<T18>: | ||
The above looks fairly complex but, as per above, each panel only cares | ||
about a subset of those timings. | ||
allOf: | ||
- $ref: panel-common.yaml# | ||
|
||
properties: | ||
compatible: | ||
const: edp-panel | ||
|
||
hpd-reliable-delay-ms: | ||
description: | ||
A fixed amount of time that must be waited after powering on the | ||
panel's power-supply before the HPD signal is a reliable way to know | ||
when the AUX channel is ready. This is useful for panels that glitch | ||
the HPD at the start of power-on. This value is not needed if HPD is | ||
always reliable for all panels that might be connected. | ||
|
||
hpd-absent-delay-ms: | ||
description: | ||
The panel specifies that HPD will be asserted this many milliseconds | ||
from power on (timing T3 in the diagram above). If we have no way to | ||
measure HPD then a fixed delay of this many milliseconds can be used. | ||
This can also be used as a timeout when waiting for HPD. Does not | ||
include the hpd-reliable-delay, so if hpd-reliable-delay was 80 ms | ||
and hpd-absent-delay was 200 ms then we'd do a fixed 80 ms delay and | ||
then we know HPD would assert in the next 120 ms. This value is not | ||
needed if HPD hooked up, either through a GPIO in the panel node or | ||
hooked up directly to the eDP controller. | ||
|
||
backlight: true | ||
enable-gpios: true | ||
port: true | ||
power-supply: true | ||
no-hpd: true | ||
hpd-gpios: true | ||
|
||
additionalProperties: false | ||
|
||
required: | ||
- compatible | ||
- power-supply | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/clock/qcom,rpmh.h> | ||
#include <dt-bindings/gpio/gpio.h> | ||
#include <dt-bindings/interrupt-controller/irq.h> | ||
i2c { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
bridge@2d { | ||
compatible = "ti,sn65dsi86"; | ||
reg = <0x2d>; | ||
interrupt-parent = <&tlmm>; | ||
interrupts = <10 IRQ_TYPE_LEVEL_HIGH>; | ||
enable-gpios = <&tlmm 102 GPIO_ACTIVE_HIGH>; | ||
vpll-supply = <&src_pp1800_s4a>; | ||
vccio-supply = <&src_pp1800_s4a>; | ||
vcca-supply = <&src_pp1200_l2a>; | ||
vcc-supply = <&src_pp1200_l2a>; | ||
clocks = <&rpmhcc RPMH_LN_BB_CLK2>; | ||
clock-names = "refclk"; | ||
no-hpd; | ||
ports { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
port@0 { | ||
reg = <0>; | ||
endpoint { | ||
remote-endpoint = <&dsi0_out>; | ||
}; | ||
}; | ||
port@1 { | ||
reg = <1>; | ||
sn65dsi86_out: endpoint { | ||
remote-endpoint = <&panel_in_edp>; | ||
}; | ||
}; | ||
}; | ||
aux-bus { | ||
panel { | ||
compatible = "edp-panel"; | ||
power-supply = <&pp3300_dx_edp>; | ||
backlight = <&backlight>; | ||
hpd-gpios = <&sn65dsi86_bridge 2 GPIO_ACTIVE_HIGH>; | ||
hpd-reliable-delay-ms = <15>; | ||
port { | ||
panel_in_edp: endpoint { | ||
remote-endpoint = <&sn65dsi86_out>; | ||
}; | ||
}; | ||
}; | ||
}; | ||
}; | ||
}; |
98 changes: 98 additions & 0 deletions
98
Documentation/devicetree/bindings/display/panel/samsung,s6d27a1.yaml
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,98 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/display/panel/samsung,s6d27a1.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Samsung S6D27A1 display panel | ||
|
||
description: The S6D27A1 is a 480x800 DPI display panel from Samsung Mobile | ||
Displays (SMD). The panel must obey the rules for a SPI slave device | ||
as specified in spi/spi-controller.yaml | ||
|
||
maintainers: | ||
- Markuss Broks <markuss.broks@gmail.com> | ||
|
||
allOf: | ||
- $ref: panel-common.yaml# | ||
|
||
properties: | ||
compatible: | ||
const: samsung,s6d27a1 | ||
|
||
reg: true | ||
|
||
interrupts: | ||
description: provides an optional ESD (electrostatic discharge) | ||
interrupt that signals abnormalities in the display hardware. | ||
This can also be raised for other reasons like erroneous | ||
configuration. | ||
maxItems: 1 | ||
|
||
reset-gpios: true | ||
|
||
vci-supply: | ||
description: regulator that supplies the VCI analog voltage | ||
usually around 3.0 V | ||
|
||
vccio-supply: | ||
description: regulator that supplies the VCCIO voltage usually | ||
around 1.8 V | ||
|
||
backlight: true | ||
|
||
spi-cpha: true | ||
|
||
spi-cpol: true | ||
|
||
spi-max-frequency: | ||
maximum: 1200000 | ||
|
||
port: true | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- vci-supply | ||
- vccio-supply | ||
- spi-cpha | ||
- spi-cpol | ||
- port | ||
|
||
unevaluatedProperties: false | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/gpio/gpio.h> | ||
#include <dt-bindings/interrupt-controller/irq.h> | ||
spi { | ||
compatible = "spi-gpio"; | ||
sck-gpios = <&gpio 0 GPIO_ACTIVE_HIGH>; | ||
miso-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>; | ||
mosi-gpios = <&gpio 2 GPIO_ACTIVE_HIGH>; | ||
cs-gpios = <&gpio 3 GPIO_ACTIVE_HIGH>; | ||
num-chipselects = <1>; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
panel@0 { | ||
compatible = "samsung,s6d27a1"; | ||
spi-max-frequency = <1200000>; | ||
spi-cpha; | ||
spi-cpol; | ||
reg = <0>; | ||
vci-supply = <&lcd_3v0_reg>; | ||
vccio-supply = <&lcd_1v8_reg>; | ||
reset-gpios = <&gpio 4 GPIO_ACTIVE_LOW>; | ||
interrupt-parent = <&gpio>; | ||
interrupts = <5 IRQ_TYPE_EDGE_RISING>; | ||
port { | ||
panel_in: endpoint { | ||
remote-endpoint = <&display_out>; | ||
}; | ||
}; | ||
}; | ||
}; | ||
... |
Oops, something went wrong.