252 lines
9.9 KiB
Plaintext
252 lines
9.9 KiB
Plaintext
Qualcomm mdss-dsi
|
|
|
|
mdss-dsi is the master DSI device which supports multiple DSI host controllers that
|
|
are compatible with MIPI display serial interface specification.
|
|
|
|
Required properties:
|
|
- compatible: Must be "qcom,mdss-dsi"
|
|
- hw-config: Specifies the DSI host setup configuration
|
|
"hw-config" = "single_dsi"
|
|
"hw-config" = "dual_dsi"
|
|
"hw-config" = "split_dsi"
|
|
- ranges: The standard property which specifies the child address
|
|
space, parent address space and the length.
|
|
- vdda-supply: Phandle for vreg regulator device node.
|
|
|
|
Bus Scaling Data:
|
|
- qcom,msm-bus,name: String property describing MDSS client.
|
|
- qcom, msm-bus,num-cases: This is the number of bus scaling use cases
|
|
defined in the vectors property. This must be
|
|
set to <2> for MDSS DSI driver where use-case 0
|
|
is used to remove BW votes from the system. Use
|
|
case 1 is used to generate bandwidth requestes
|
|
when sending command packets.
|
|
- qcom,msm-bus,num-paths: This represents number of paths in each bus
|
|
scaling usecase. This value depends on number of
|
|
AXI master ports dedicated to MDSS for
|
|
particular chipset.
|
|
- qcom,msm-bus,vectors-KBps: A series of 4 cell properties, with a format
|
|
of (src, dst, ab, ib) which is defined at
|
|
Documentation/devicetree/bindings/arm/msm/msm_bus.txt.
|
|
DSI driver should always set average bandwidth
|
|
(ab) to 0 and always use instantaneous
|
|
bandwidth(ib) values.
|
|
|
|
Optional properties:
|
|
- vcca-supply: Phandle for vcca regulator device node.
|
|
- qcom,<type>-supply-entries: A node that lists the elements of the supply used by the
|
|
a particular "type" of DSI modulee. The module "types"
|
|
can be "core", "ctrl", and "phy". Within the same type,
|
|
there can be more than one instance of this binding,
|
|
in which case the entry would be appended with the
|
|
supply entry index.
|
|
e.g. qcom,ctrl-supply-entry@0
|
|
-- qcom,supply-name: name of the supply (vdd/vdda/vddio)
|
|
-- qcom,supply-min-voltage: minimum voltage level (uV)
|
|
-- qcom,supply-max-voltage: maximum voltage level (uV)
|
|
-- qcom,supply-enable-load: load drawn (uA) from enabled supply
|
|
-- qcom,supply-disable-load: load drawn (uA) from disabled supply
|
|
-- qcom,supply-pre-on-sleep: time to sleep (ms) before turning on
|
|
-- qcom,supply-post-on-sleep: time to sleep (ms) after turning on
|
|
-- qcom,supply-pre-off-sleep: time to sleep (ms) before turning off
|
|
-- qcom,supply-post-off-sleep: time to sleep (ms) after turning off
|
|
- pll-src-config Specified the source PLL for the DSI
|
|
link clocks:
|
|
"PLL0" - Clocks sourced out of DSI PLL0
|
|
"PLL1" - Clocks sourced out of DSI PLL1
|
|
This property is only valid for
|
|
certain DSI hardware configurations
|
|
mentioned in the "hw-config" binding above.
|
|
For example, in split_dsi config, the clocks can
|
|
only be sourced out of PLL0. For
|
|
dual_dsi, both PLL would be active.
|
|
For single DSI, it is possible to
|
|
select either PLL. If no value is specified,
|
|
the default value for single DSI is set as PLL0.
|
|
- qcom,mmss-ulp-clamp-ctrl-offset: Specifies the offset for dsi ulps clamp control register.
|
|
- qcom,mmss-phyreset-ctrl-offset: Specifies the offset for dsi phy reset control register.
|
|
- qcom,dsi-clk-ln-recovery: Boolean which enables the clk lane recovery
|
|
|
|
mdss-dsi-ctrl is a dsi controller device which is treated as a subnode of the mdss-dsi device.
|
|
|
|
Required properties:
|
|
- compatible: Must be "qcom,mdss-dsi-ctrl"
|
|
- cell-index: Specifies the controller used among the two controllers.
|
|
- reg: Base address and length of the different register
|
|
regions(s) required for DSI device functionality.
|
|
- reg-names: A list of strings that map in order to the list of regs.
|
|
"dsi_ctrl" - MDSS DSI controller register region
|
|
"dsi_phy" - MDSS DSI PHY register region
|
|
"dsi_phy_regulator" - MDSS DSI PHY REGULATOR region
|
|
"mmss_misc_phys" - Register region for MMSS DSI clamps
|
|
- vdd-supply: Phandle for vdd regulator device node.
|
|
- vddio-supply: Phandle for vdd-io regulator device node.
|
|
- qcom,mdss-fb-map-prim: pHandle that specifies the framebuffer to which the
|
|
primary interface is mapped.
|
|
- qcom,mdss-mdp: pHandle that specifies the mdss-mdp device.
|
|
- qcom,platform-regulator-settings: An array of length 7 or 5 that specifies the PHY
|
|
regulator settings. It use 5 bytes for 8996 pll.
|
|
- qcom,platform-strength-ctrl: An array of length 2 or 10 that specifies the PHY
|
|
strengthCtrl settings. It use 10 bytes for 8996 pll.
|
|
- qcom,platform-lane-config: An array of length 45 or 20 that specifies the PHY
|
|
lane configuration settings. It use 20 bytes for 8996 pll.
|
|
- qcom,platform-bist-ctrl: An array of length 6 that specifies the PHY
|
|
BIST ctrl settings.
|
|
- qcom,dsi-pref-prim-pan: phandle that specifies the primary panel to be used
|
|
with the controller.
|
|
|
|
Optional properties:
|
|
- label: A string used to describe the controller used.
|
|
- qcom,mdss-fb-map: pHandle that specifies the framebuffer to which the
|
|
interface is mapped.
|
|
- qcom,mdss-fb-map-sec: pHandle that specifies the framebuffer to which the
|
|
secondary interface is mapped.
|
|
- qcom,platform-enable-gpio: Specifies the panel lcd/display enable gpio.
|
|
- qcom,platform-reset-gpio: Specifies the panel reset gpio.
|
|
- qcom,platform-te-gpio: Specifies the gpio used for TE.
|
|
- qcom,platform-bklight-en-gpio: Specifies the gpio used to enable display back-light
|
|
- qcom,platform-mode-gpio: Select video/command mode of panel through gpio when it supports
|
|
both modes.
|
|
- pinctrl-names: List of names to assign mdss pin states defined in pinctrl device node
|
|
Refer to pinctrl-bindings.txt
|
|
- pinctrl-<0..n>: Lists phandles each pointing to the pin configuration node within a pin
|
|
controller. These pin configurations are installed in the pinctrl
|
|
device node. Refer to pinctrl-bindings.txt
|
|
- qcom,regulator-ldo-mode: Boolean to enable ldo mode for the dsi phy regulator
|
|
- qcom,null-insertion-enabled: Boolean to enable NULL packet insertion
|
|
feature for DSI controller.
|
|
- qcom,dsi-irq-line: Boolean specifies if DSI has a different irq line than mdp.
|
|
- qcom,lane-map: Specifies the data lane swap configuration.
|
|
"lane_map_0123" = <0 1 2 3> (default value)
|
|
"lane_map_3012" = <3 0 1 2>
|
|
"lane_map_2301" = <2 3 0 1>
|
|
"lane_map_1230" = <1 2 3 0>
|
|
"lane_map_0321" = <0 3 2 1>
|
|
"lane_map_1032" = <1 0 3 2>
|
|
"lane_map_2103" = <2 1 0 3>
|
|
"lane_map_3210" = <3 2 1 0>
|
|
- qcom,pluggable Boolean to enable hotplug feature.
|
|
- qcom,timing-db-mode: Boolean specifies dsi timing mode registers are supported or not.
|
|
- qcom,display-id A string indicates the display ID for the controller.
|
|
The possible values are:
|
|
- "primary"
|
|
- "secondary"
|
|
- "tertiary"
|
|
|
|
Example:
|
|
mdss_dsi: qcom,mdss_dsi@0 {
|
|
compatible = "qcom,mdss-dsi";
|
|
hw-config = "single_dsi";
|
|
pll-src-config = "PLL0";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
vdda-supply = <&pm8226_l4>;
|
|
vcca-supply = <&pm8226_l28>;
|
|
reg = <0x1a98000 0x1a98000 0x25c
|
|
0x1a98500 0x1a98500 0x280
|
|
0x1a98780 0x1a98780 0x30
|
|
0x193e000 0x193e000 0x30>;
|
|
|
|
qcom,dsi-clk-ln-recovery;
|
|
|
|
qcom,core-supply-entries {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
qcom,core-supply-entry@0 {
|
|
reg = <0>;
|
|
qcom,supply-name = "gdsc";
|
|
qcom,supply-min-voltage = <0>;
|
|
qcom,supply-max-voltage = <0>;
|
|
qcom,supply-enable-load = <0>;
|
|
qcom,supply-disable-load = <0>;
|
|
qcom,supply-pre-on-sleep = <0>;
|
|
qcom,supply-post-on-sleep = <0>;
|
|
qcom,supply-pre-off-sleep = <0>;
|
|
qcom,supply-post-off-sleep = <0>;
|
|
};
|
|
};
|
|
|
|
qcom,phy-supply-entries {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
qcom,phy-supply-entry@0 {
|
|
reg = <0>;
|
|
qcom,supply-name = "vddio";
|
|
qcom,supply-min-voltage = <1800000>;
|
|
qcom,supply-max-voltage = <1800000>;
|
|
qcom,supply-enable-load = <100000>;
|
|
qcom,supply-disable-load = <100>;
|
|
qcom,supply-pre-on-sleep = <0>;
|
|
qcom,supply-post-on-sleep = <20>;
|
|
qcom,supply-pre-off-sleep = <0>;
|
|
qcom,supply-post-off-sleep = <0>;
|
|
};
|
|
};
|
|
|
|
qcom,ctrl-supply-entries {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
qcom,ctrl-supply-entry@0 {
|
|
reg = <0>;
|
|
qcom,supply-name = "vdda";
|
|
qcom,supply-min-voltage = <1200000>;
|
|
qcom,supply-max-voltage = <1200000>;
|
|
qcom,supply-enable-load = <100000>;
|
|
qcom,supply-disable-load = <100>;
|
|
qcom,supply-pre-on-sleep = <0>;
|
|
qcom,supply-post-on-sleep = <20>;
|
|
qcom,supply-pre-off-sleep = <0>;
|
|
qcom,supply-post-off-sleep = <0>;
|
|
};
|
|
};
|
|
|
|
mdss_dsi0: mdss_dsi_ctrl0@fd922800 {
|
|
compatible = "qcom,mdss-dsi-ctrl";
|
|
label = "MDSS DSI CTRL->0";
|
|
cell-index = <0>;
|
|
reg = <0xfd922800 0x1f8>,
|
|
<0xfd922b00 0x2b0>,
|
|
<0xfd998780 0x30>,
|
|
<0xfd828000 0x108>;
|
|
reg-names = "dsi_ctrl", "dsi_phy",
|
|
"dsi_phy_regulator", "mmss_misc_phys";
|
|
|
|
vdd-supply = <&pm8226_l15>;
|
|
vddio-supply = <&pm8226_l8>;
|
|
qcom,mdss-fb-map-prim = <&mdss_fb0>;
|
|
qcom,mdss-mdp = <&mdss_mdp>;
|
|
|
|
qcom,dsi-pref-prim-pan = <&dsi_tosh_720_vid>;
|
|
|
|
qcom,platform-strength-ctrl = [ff 06];
|
|
qcom,platform-bist-ctrl = [00 00 b1 ff 00 00];
|
|
qcom,platform-regulator-settings = [07 09 03 00 20 00 01];
|
|
qcom,platform-lane-config = [00 00 00 00 00 00 00 01 97
|
|
00 00 00 00 05 00 00 01 97
|
|
00 00 00 00 0a 00 00 01 97
|
|
00 00 00 00 0f 00 00 01 97
|
|
00 c0 00 00 00 00 00 01 bb];
|
|
|
|
qcom,mmss-ulp-clamp-ctrl-offset = <0x20>;
|
|
qcom,mmss-phyreset-ctrl-offset = <0x24>;
|
|
qcom,regulator-ldo-mode;
|
|
qcom,null-insertion-enabled;
|
|
qcom,timing-db-mode;
|
|
|
|
pinctrl-names = "mdss_default", "mdss_sleep";
|
|
pinctrl-0 = <&mdss_dsi_active>;
|
|
pinctrl-1 = <&mdss_dsi_suspend>;
|
|
qcom,platform-reset-gpio = <&msmgpio 25 1>;
|
|
qcom,platform-te-gpio = <&msmgpio 24 0>;
|
|
qcom,platform-enable-gpio = <&msmgpio 58 1>;
|
|
qcom,platform-bklight-en-gpio = <&msmgpio 86 0>;
|
|
qcom,platform-mode-gpio = <&msmgpio 7 0>;
|
|
qcom,dsi-irq-line;
|
|
qcom,lane-map = "lane_map_3012";
|
|
qcom,display-id = "primary";
|
|
};
|
|
};
|