mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
ARM: dts: msm: Add initial device tree for SDM660
Add initial device tree support for SDM660 This is a snapshot of dtsi files as of msm-4.4 'commit c2f54771deefa34bf (" Merge "ion: ion_system_heap: Fix variable initialization""). Change-Id: Id87712c6cfffe6032daf4c0e3b52dc33ae1ae09d Signed-off-by: Naitik Bharadiya <bharad@codeaurora.org> Signed-off-by: Chetan C R <cchinnad@codeaurora.org>
This commit is contained in:
parent
a863b36615
commit
0b9a1522a1
@ -11,6 +11,7 @@ compatible: component name used for driver matching, should be one of the
|
||||
"qcom,jtag-fuse" for jtag fuse device
|
||||
"qcom,jtag-fuse-v2" for jtag fuse v2 device
|
||||
"qcom,jtag-fuse-v3" for jtag fuse v3 device
|
||||
"qcom,jtag-fuse-v4" for jtag fuse v4 device
|
||||
reg: physical base address and length of the register set
|
||||
reg-names: should be "fuse-base"
|
||||
|
||||
|
46
Documentation/devicetree/bindings/arm/msm/limits_lmh.txt
Normal file
46
Documentation/devicetree/bindings/arm/msm/limits_lmh.txt
Normal file
@ -0,0 +1,46 @@
|
||||
Limits Management Hardware Driver
|
||||
================================
|
||||
LMH driver provides API to interact with the LMH hardware. All the calls to
|
||||
the LMH hardware are routed via secure space.
|
||||
|
||||
The device tree parameters for LMH driver are:
|
||||
|
||||
Device/Asic specific properties:
|
||||
- reg : Base address of the LMH Lite hardware's interrupt status register
|
||||
and its size in bytes. 'reg' parameter is required if
|
||||
'qcom,lmh-trim-err-offset' is set.
|
||||
- qcom,lmh-trim-err-offset : This property defines the bit in the LMH
|
||||
interrupt status register, which shows whether there is a
|
||||
trim error in LMH hardware.
|
||||
- vdd-apss-supply : This property should hold the phandle of APSS regulator.
|
||||
When defined, the M4M DPM will be notified for the APSS
|
||||
voltage change.
|
||||
- qcom,lmh-odcm-disable-threshold-mA : This property holds the APSS rail
|
||||
current threshold below which the ODCM will be disabled.
|
||||
This property requires the "vdd-apss-supply" property
|
||||
defined.
|
||||
|
||||
Required parameters:
|
||||
- compatible: Must be either "qcom,lmh" or "qcom,lmh_v1".
|
||||
The driver based on the compatible string will decide
|
||||
the default profile.
|
||||
- interrupts: LMH Lite hardware interrupt details.
|
||||
|
||||
Example:
|
||||
|
||||
qcom,lmh {
|
||||
compatible = "qcom,lmh";
|
||||
interrupts = <0 332 4>;
|
||||
reg = <0xF9117000 0x4>;
|
||||
qcom,lmh-trim-err-offset = <18>;
|
||||
vdd-apss-supply = <&pm8994_s11>;
|
||||
qcom,lmh-odcm-disable-threshold-mA = <850>;
|
||||
};
|
||||
|
||||
Or for asics that don't have trim err and don't require the voltage change
|
||||
update for DPM.
|
||||
|
||||
qcom,lmh {
|
||||
compatible = "qcom,lmh_v1";
|
||||
interrupts = <0 332 4>;
|
||||
};
|
@ -257,3 +257,4 @@ compatible = "qcom,mdm9607-mtp"
|
||||
compatible = "qcom,sdm660-cdp"
|
||||
compatible = "qcom,sdm660-mtp"
|
||||
compatible = "qcom,sdm660-qrd"
|
||||
compatible = "qcom,sdm660-sim"
|
||||
|
71
Documentation/devicetree/bindings/arm/msm/msm_core.txt
Normal file
71
Documentation/devicetree/bindings/arm/msm/msm_core.txt
Normal file
@ -0,0 +1,71 @@
|
||||
MSM Core Energy Aware driver
|
||||
|
||||
The Energy Aware driver provides per core power and temperature
|
||||
information to the scheduler for it to make more power efficient
|
||||
scheduling decision.
|
||||
|
||||
The required properties for the Energy-aware driver are:
|
||||
|
||||
- compatible: "qcom,apss-core-ea"
|
||||
- reg: Physical address mapped to this device
|
||||
|
||||
Required nodes:
|
||||
- ea@X: Parent node that has the sensor mapping for each cpu.
|
||||
This node's phandle is provided within cpu node
|
||||
to invoke/probe energy-aware only for available cpus.
|
||||
There should be one such node present for each cpu.
|
||||
|
||||
Optional properties:
|
||||
- qcom,low-hyst-temp: Degrees C below which the power numbers
|
||||
need to be recomputed for the cores and reset
|
||||
the threshold. If this is not present, the default
|
||||
value is 10C.
|
||||
- qcom,high-hyst-temp: Degrees C above which the power numbers
|
||||
need to be recomputed for the cores and reset
|
||||
the threshold. If this property is not present,
|
||||
the default value is 5C.
|
||||
- qcom,polling-interval: Interval for which the power numbers
|
||||
need to be recomputed for the cores if there
|
||||
is no change in threshold. If this property is not
|
||||
present, the power is recalculated only on
|
||||
temperature threshold notifications.
|
||||
-qcom,throttling-temp: Temperature threshold for cpu frequency mitigation.
|
||||
The value should be set same as the threshold temperature
|
||||
in thermal module - 5 C, such that there is a bandwidth to
|
||||
control the cores before frequency mitigation happens.
|
||||
|
||||
[Second level nodes]
|
||||
Require properties to define per core characteristics:
|
||||
- sensor: Sensor phandle to map a particular sensor to the core.
|
||||
If this property is not present, then the core is assumed
|
||||
to be at 40C for all the power estimations. No sensor
|
||||
threshold is set. This phandle's compatible property is
|
||||
"qcom,sensor-information". This driver relies on the
|
||||
sensor-type and scaling-factor information provided in this
|
||||
phandle.
|
||||
|
||||
Example
|
||||
|
||||
qcom,msm-core@0xfc4b0000 {
|
||||
compatible = "qcom,apss-core-ea";
|
||||
reg = <0xfc4b0000 0x1000>;
|
||||
qcom,low-hyst-temp = <10>;
|
||||
qcom,high-hyst-temp = <5>;
|
||||
qcom,polling-interval = <50>;
|
||||
|
||||
ea0: ea0 {
|
||||
sensor = <&sensor_information0>;
|
||||
};
|
||||
|
||||
ea1: ea1 {
|
||||
sensor = <&sensor_information1>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
CPU0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x0>;
|
||||
qcom,ea = <&ea0>;
|
||||
};
|
93
Documentation/devicetree/bindings/arm/msm/system_stats.txt
Normal file
93
Documentation/devicetree/bindings/arm/msm/system_stats.txt
Normal file
@ -0,0 +1,93 @@
|
||||
* System sleep stats
|
||||
|
||||
Resource Power manager maintains information about system sleep and the time
|
||||
each master spent in respective sleep modes. These were previously exported
|
||||
through two modules, one for system and another for the respective master
|
||||
votes. The two modules are now combined into a system stats drivers to provide
|
||||
better visibility into system sleep modes.
|
||||
|
||||
Main node properties
|
||||
|
||||
- compatible
|
||||
Usage: Required
|
||||
Value type: <string>
|
||||
Definition: must be "qcom,system-stats".
|
||||
|
||||
- qcom,rpm-msg-ram
|
||||
Usage: Required
|
||||
Value type: <phandle>
|
||||
Definition: phandle to RPM's message ram registers.
|
||||
|
||||
- qcom,rpm-code-ram
|
||||
Usage: Required
|
||||
Value type: <phandle>
|
||||
Definition: phandle to RPM's code ram registers.
|
||||
|
||||
- qcom,masters:
|
||||
Usage: Required
|
||||
Value type: <string list>
|
||||
|
||||
Definition of memory DT phandles that system stats module is dependent on.
|
||||
|
||||
qcom,rpm-msg-ram:
|
||||
|
||||
The required phandle pointed to by qcom,rpm-msg-ram are:
|
||||
Node properties:
|
||||
- compatible:
|
||||
Usage: Required
|
||||
Value Type: <string>
|
||||
Definition: must be "qcom,rpm-msg-ram"
|
||||
|
||||
- reg:
|
||||
Usage: Required
|
||||
Value Type: <prop-encoded-array>
|
||||
Definition: Addresses and sizes for RPM address as visible to Apps and
|
||||
Stats address location.
|
||||
|
||||
- reg-names:
|
||||
Usage: Required
|
||||
Value Type: <stringlist>
|
||||
Definition: Address names. Must be "phys_addr_base" or "msg-ram-base".
|
||||
Must be specified in the same order as the
|
||||
corresponding addresses in the reg property.
|
||||
|
||||
qcom,rpm-code-ram:
|
||||
The required phandle pointed to by qcom,rpm-msg-ram are:
|
||||
|
||||
Node properties:
|
||||
- compatible:
|
||||
Usage: Required
|
||||
Value Type: <string>
|
||||
Definition: must be "qcom,rpm-code-ram".
|
||||
- reg:
|
||||
Usage: Required
|
||||
Value Type: <prop-encoded-array>
|
||||
Definition: Address and size for RPM code address.
|
||||
|
||||
- reg-names:
|
||||
Usage: Required
|
||||
Value Type: <stringlist>
|
||||
Definition: Address names. Must be "msg-ram-base"
|
||||
|
||||
Example:
|
||||
|
||||
rpm_code_ram: rpm-memory@0x68000 {
|
||||
compatible = "qcom,rpm-code-ram";
|
||||
reg = <0x68000 0x5000>;
|
||||
reg-name = "msg-ram-base";
|
||||
};
|
||||
|
||||
rpm_msg_ram: memory@0x200000 {
|
||||
compatible = "qcom,rpm-msg-ram";
|
||||
reg = <0x200000 0x1000>,
|
||||
<0x290000 0x1000>;
|
||||
reg-names = "phys_addr_base",
|
||||
"code-ram-base";
|
||||
};
|
||||
|
||||
qcom,system-stats@68140 {
|
||||
compatible = "qcom,system-stats";
|
||||
qcom,rpm-msg-ram = <&rpm_msg_ram>;
|
||||
qcom,rpm-code-ram = <&rpm_code_ram>;
|
||||
qcom,masters = "APSS", "MPSS", "ADSP", "SLPI";
|
||||
};
|
86
Documentation/devicetree/bindings/devfreq/devfreq-spdm.txt
Normal file
86
Documentation/devicetree/bindings/devfreq/devfreq-spdm.txt
Normal file
@ -0,0 +1,86 @@
|
||||
MSM SPDM bandwidth monitor device
|
||||
|
||||
devfreq-spdm is a device that represents a device that is monitored by the SPDM
|
||||
hardware to measure the traffic status of configured master ports on the bus.
|
||||
|
||||
|
||||
Required properties:
|
||||
-compatible: Must be "qcom,devfreq_spdm"
|
||||
-qcom,spdm-client: Client id of the port being monitored
|
||||
-qcom,bw-upstep: Initial up vote size in MB/s
|
||||
-qcom,bw-dwnstep: Initial down vote size in MB/s
|
||||
-qcom,max-vote: Vote ceiling in MB/s
|
||||
-qcom,ports: SPDM ports used by this device
|
||||
-qcom,alpha-up: SPDM filter up alpha value
|
||||
-qcom,alpha-down: SPDM filter down alpha value
|
||||
-qcom,bucket-size: SPDM filter bucket size
|
||||
-qcom,pl-freqs: The driver supports different filter values at
|
||||
three different performance levels. This value
|
||||
defines the cut-over frequenices
|
||||
-qcom,reject-rate: Desired rejection rate used to calculate
|
||||
SPDM threshold
|
||||
-qcom,response-time-us: Desired response time used to calculate
|
||||
SPDM threshold
|
||||
-qcom,cci-response-time-us: Desired response time used to calculate
|
||||
SPDM threshold when CCI is under heavy load
|
||||
-qcom,max-cci-freq: CCI frequency at which cci_response_time_us
|
||||
is used
|
||||
-qcom,up-step-multp: used to increase rate of growth on up votes
|
||||
-qcom,spdm-interval: down-vote polling interval
|
||||
|
||||
Optional properties:
|
||||
-clock-names: Clocks used to measure current bus frequency.
|
||||
Expected names are "cci_clk"
|
||||
-clocks: References to named clocks
|
||||
|
||||
Example:
|
||||
devfreq_spdm_cpu {
|
||||
compatible = "qcom,devfreq_spdm";
|
||||
qcom,msm-bus,name = "devfreq_spdm";
|
||||
qcom,msm-bus,num-cases = <2>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<1 512 0 0>,
|
||||
<1 512 0 0>;
|
||||
qcom,spdm-client = <0>;
|
||||
|
||||
clock-names = "cci_clk";
|
||||
clocks = <&clock_cpu clk_cci_clk>;
|
||||
|
||||
qcom,bw-upstep = <100>;
|
||||
qcom,bw-dwnstep = <100>;
|
||||
qcom,max-vote = <10000>;
|
||||
qcom,up-step-multp = <2>;
|
||||
qcom,spdm-interval = <100>;
|
||||
|
||||
qcom,ports = <16>;
|
||||
qcom,alpha-up = <7>;
|
||||
qcom,alpha-down = <15>;
|
||||
qcom,bucket-size = <8>;
|
||||
|
||||
/*max pl1 freq, max pl2 freq*/
|
||||
qcom,pl-freqs = <149999999 150000000>;
|
||||
|
||||
/* pl1 low, pl1 high, pl2 low, pl2 high, pl3 low, pl3 high */
|
||||
qcom,reject-rate = <5000 5000 5000 5000 5000 5000>;
|
||||
/* pl1 low, pl1 high, pl2 low, pl2 high, pl3 low, pl3 high */
|
||||
qcom,response-time-us = <220 220 2000 2000 900 900>;
|
||||
/* pl1 low, pl1 high, pl2 low, pl2 high, pl3 low, pl3 high */
|
||||
qcom,cci-response-time-us = <50 50 30 30 20 20>;
|
||||
qcom,max-cci-freq = <600000000>;
|
||||
};
|
||||
|
||||
This device is always used with the SPDM governor which requires a device tree
|
||||
entry to know what IRQ to respond to.
|
||||
|
||||
Required properties:
|
||||
-compatible Must be "qcom,gov_spdm_hyp"
|
||||
-interrupt-names SPDM irq to handle. Name should be "spdm-irq"
|
||||
-interrupts The interrupt number the SPDM hw is assigned
|
||||
|
||||
Example:
|
||||
devfreq_spdm_gov {
|
||||
compatible = "qcom,gov_spdm_hyp";
|
||||
interrupt-names = "spdm-irq";
|
||||
interrupts = <0 192 0>;
|
||||
};
|
@ -50,3 +50,100 @@ Example:
|
||||
};
|
||||
|
||||
|
||||
Example:
|
||||
mdss_dp_ctrl: qcom,dp_ctrl@c990000 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,mdss-dp";
|
||||
qcom,mdss-fb-map = <&mdss_fb3>;
|
||||
|
||||
gdsc-supply = <&gdsc_mdss>;
|
||||
vdda-1p2-supply = <&pm8998_l2>;
|
||||
vdda-0p9-supply = <&pm8998_l1>;
|
||||
|
||||
reg = <0xc990000 0xa84>,
|
||||
<0xc011000 0x910>,
|
||||
<0x1fcb200 0x050>;
|
||||
reg-names = "dp_ctrl", "dp_phy", "tcsr_regs";
|
||||
|
||||
clocks = <&clock_mmss clk_mmss_mnoc_ahb_clk>,
|
||||
<&clock_mmss clk_mmss_mdss_ahb_clk>,
|
||||
<&clock_mmss clk_mmss_mdss_axi_clk>,
|
||||
<&clock_mmss clk_mmss_mdss_mdp_clk>,
|
||||
<&clock_mmss clk_mmss_mdss_hdmi_dp_ahb_clk>,
|
||||
<&clock_mmss clk_mmss_mdss_dp_aux_clk>,
|
||||
<&clock_gcc clk_gcc_usb_phy_cfg_ahb2phy_clk>,
|
||||
<&clock_mmss clk_mmss_mdss_dp_link_clk>,
|
||||
<&clock_mmss clk_mmss_mdss_dp_link_intf_clk>,
|
||||
<&clock_mmss clk_mmss_mdss_dp_crypto_clk>,
|
||||
<&clock_mmss clk_mmss_mdss_dp_pixel_clk>;
|
||||
clock-names = "core_mnoc_clk", "core_iface_clk", "core_bus_clk",
|
||||
"core_mdp_core_clk", "core_alt_iface_clk",
|
||||
"core_aux_clk", "core_cfg_ahb_clk", "ctrl_link_clk",
|
||||
"ctrl_link_iface_clk", "ctrl_crypto_clk", "ctrl_pixel_clk";
|
||||
|
||||
qcom,aux-cfg0-settings = [1c 00];
|
||||
qcom,aux-cfg1-settings = [20 13 23 1d];
|
||||
qcom,aux-cfg2-settings = [24 00];
|
||||
qcom,aux-cfg3-settings = [28 00];
|
||||
qcom,aux-cfg4-settings = [2c 0a];
|
||||
qcom,aux-cfg5-settings = [30 26];
|
||||
qcom,aux-cfg6-settings = [34 0a];
|
||||
qcom,aux-cfg7-settings = [38 03];
|
||||
qcom,aux-cfg8-settings = [3c bb];
|
||||
qcom,aux-cfg9-settings = [40 03];
|
||||
qcom,logical2physical-lane-map = [02 03 01 00];
|
||||
qcom,phy-register-offset = <0x4>;
|
||||
qcom,max-pclk-frequency-khz = <593470>;
|
||||
|
||||
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,ctrl-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,ctrl-supply-entry@0 {
|
||||
reg = <0>;
|
||||
qcom,supply-name = "vdda-1p2";
|
||||
qcom,supply-min-voltage = <1200000>;
|
||||
qcom,supply-max-voltage = <1200000>;
|
||||
qcom,supply-enable-load = <12560>;
|
||||
qcom,supply-disable-load = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,phy-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,phy-supply-entry@0 {
|
||||
reg = <0>;
|
||||
qcom,supply-name = "vdda-0p9";
|
||||
qcom,supply-min-voltage = <880000>;
|
||||
qcom,supply-max-voltage = <880000>;
|
||||
qcom,supply-enable-load = <73400>;
|
||||
qcom,supply-disable-load = <32>;
|
||||
};
|
||||
};
|
||||
|
||||
pinctrl-names = "mdss_dp_active", "mdss_dp_sleep";
|
||||
pinctrl-0 = <&mdss_dp_aux_active &mdss_dp_usbplug_cc_active
|
||||
&mdss_dp_hpd_active>;
|
||||
pinctrl-1 = <&mdss_dp_aux_suspend &mdss_dp_usbplug_cc_suspend
|
||||
&mdss_dp_hpd_suspend>;
|
||||
qcom,aux-en-gpio = <&tlmm 77 0>;
|
||||
qcom,aux-sel-gpio = <&tlmm 78 0>;
|
||||
qcom,usbplug-cc-gpio = <&tlmm 38 0>;
|
||||
qcom,hpd-gpio = <&tlmm 34 0>;
|
||||
};
|
||||
|
@ -21,6 +21,7 @@ Required properties:
|
||||
"qcom,mdss_dsi_pll_28lpm", "qcom,mdss_dsi_pll_14nm",
|
||||
"qcom,mdss_dp_pll_14nm", "qcom,mdss_hdmi_pll_28lpm",
|
||||
"qcom,mdss_dsi_pll_7nm_v2"
|
||||
"qcom,mdss_dp_pll_sdm660",
|
||||
- cell-index: Specifies the controller used
|
||||
- reg: offset and length of the register set for the device.
|
||||
- reg-names : names to refer to register sets related to this device
|
||||
|
@ -1,7 +1,7 @@
|
||||
* msm-qpnp-pin
|
||||
|
||||
msm-qpnp-pin is a GPIO chip driver for the MSM SPMI implementation.
|
||||
It creates a spmi_device for every spmi-dev-container block of device_nodes.
|
||||
It creates a platform_device for every block of device_nodes.
|
||||
These device_nodes contained within specify the PMIC pin number associated
|
||||
with each gpio chip. The driver will map these to Linux GPIO numbers.
|
||||
|
||||
@ -10,8 +10,6 @@ with each gpio chip. The driver will map these to Linux GPIO numbers.
|
||||
-Root Node-
|
||||
|
||||
Required properties :
|
||||
- spmi-dev-container : Used to specify the following child nodes as part of the
|
||||
same SPMI device.
|
||||
- gpio-controller : Specify as gpio-controller. All child nodes will belong to
|
||||
this gpio_chip.
|
||||
- #gpio-cells: We encode a PMIC pin number and a 32-bit flag field to
|
||||
@ -188,13 +186,11 @@ qpnp: qcom,spmi@fc4c0000 {
|
||||
#interrupt-cells = <3>;
|
||||
|
||||
qcom,pm8941@0 {
|
||||
spmi-slave-container;
|
||||
reg = <0x0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
pm8941_gpios: gpios {
|
||||
spmi-dev-container;
|
||||
compatible = "qcom,qpnp-pin";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
134
Documentation/devicetree/bindings/leds/leds-qpnp-wled.txt
Normal file
134
Documentation/devicetree/bindings/leds/leds-qpnp-wled.txt
Normal file
@ -0,0 +1,134 @@
|
||||
Qualcomm Technologies QPNP WLED
|
||||
|
||||
QPNP (Qualcomm Technologies Plug N Play) WLED (White Light
|
||||
Emitting Diode) driver is used for controlling display
|
||||
backlight that is part of PMIC on Qualcomm Technologies
|
||||
reference platforms. The PMIC is connected to the host
|
||||
processor via SPMI bus.
|
||||
|
||||
Required properties:
|
||||
- compatible : should be "qcom,qpnp-wled"
|
||||
- reg : base address and size for wled modules
|
||||
- reg-names : names associated with base addresses. It
|
||||
should be "qpnp-wled-ctrl-base", "qpnp-wled-sink-base",
|
||||
"qpnp-wled-ibb-base", "qpnp-wled-lab-base".
|
||||
- qcom,pmic-revid : phandle of PMIC revid module. This is used to
|
||||
identify the PMIC subtype.
|
||||
|
||||
Optional properties for WLED:
|
||||
- interrupts : Specifies the interrupts associated with WLED. The available
|
||||
interrupts are over voltage protection(ovp) and short circuit(sc).
|
||||
The values for ovp and sc are <0x3 0xd8 0x1> and <0x3 0xd8 0x2>.
|
||||
- interrupt-names : Specify the interrupt names associated with interrupts. Must be
|
||||
one of "ovp-irq" or "sc-irq"
|
||||
- linux,name : name of the wled. default is "wled".
|
||||
- linux,default-trigger : trigger for the backlight. default is NONE.
|
||||
- qcom,fdbk-output : string feedback current output for wled module. The accepted values
|
||||
are "wled1", "wled2", "wled3", "wled4" and "auto". default is "auto".
|
||||
- qcom,vref-uv : maximum reference voltage in uV.
|
||||
For pmi8994/8952/8996, supported values are from 300000 to 675000
|
||||
with a step size of 25000, the default value is 350000.
|
||||
For pmi8998/pm660l, supported values are from 60000 to 397500
|
||||
with a step size of 22500, the default value is 127500.
|
||||
- qcom,switch-freq-khz : switch frequency in khz. default is 800.
|
||||
- qcom,ovp-mv : Over voltage protection threshold in mV. Default is
|
||||
29500. Supported values are:
|
||||
- 31000, 29500, 19400, 17800 for pmi8994/8952/8996.
|
||||
- 31100, 29600, 19600, 18100 for pmi8998/pm660l.
|
||||
Should only be used if qcom,disp-type-amoled is not
|
||||
specified.
|
||||
- qcom,ilim-ma : Current limit threshold in mA.
|
||||
For pmi8994/8952/8996, default value for LCD is 980mA
|
||||
and AMOLED is 385mA.
|
||||
Supported values are:
|
||||
- 105, 385, 660, 980, 1150, 1420, 1700, 1980.
|
||||
For pmi8998/pm660l, default value for LCD is
|
||||
970mA and AMOLED is 620mA.
|
||||
Supported values are:
|
||||
- 105, 280, 450, 620, 970, 1150, 1300, 1500.
|
||||
- qcom,boost-duty-ns : maximum boost duty cycle in ns. default is 104.
|
||||
- qcom,mod-freq-khz : modulation frequency in khz. default is 9600.
|
||||
- qcom,dim-mode : dimming mode. supporting dimming modes are "analog",
|
||||
"digital", and "hybrid". default is "hybrid".
|
||||
- qcom,hyb-thres : threshold value when used in hybrid mode. It represents the
|
||||
percentage of brightntess at which dimming mode is switched
|
||||
from "digital" to "analog". the default value is 6.25%. as the
|
||||
floating point cannot be represented directly, the value is
|
||||
multiplied by 100. so the default is 625.
|
||||
- qcom,sync-dly-us : delay for current sync in us. default is 400.
|
||||
- qcom,fs-curr-ua : maximum full scale current in ua. default is 25000.
|
||||
- qcom,en-9b-dim-res : boolean, specify if 9-bit dim resultion is needed. otherwise 12-bit is used.
|
||||
- qcom,en-phase-stag : boolean, specify if phase staggering is needed.
|
||||
- qcom,en-cabc : boolean, specify if cabc (content adaptive backlight control) is needed.
|
||||
- qcom,disp-type-amoled : specify if the display is amoled
|
||||
- qcom,led-strings-list : Wled module has four strings of leds numbered from 0 to 3. each string of leds
|
||||
are operated individually. specify the list of strings used by the device.
|
||||
any combination of led strings can be used. default value is [00 01 02 03]
|
||||
- qcom,en-ext-pfet-sc-pro : Specify if external pfet short circuit protection is needed
|
||||
- qcom,cons-sync-write-delay-us : Specify in 'us' the duration of delay between two consecutive writes to
|
||||
SYNC register.
|
||||
- qcom,sc-debounce-cycles : debounce time for short circuit detection
|
||||
- qcom,loop-ea-gm : control the gm for gm stage in control loop. default is 3.
|
||||
- qcom,loop-auto-gm-en : A boolean property to specify if auto gm is enabled.
|
||||
- qcom,loop-auto-gm-thresh : Specify auto gm threshold if "loop-auto-gm-en" is defined.
|
||||
Supported values are: 0 - 3.
|
||||
- qcom,lcd-auto-pfm-thresh : Specify the auto-pfm threshold, if the headroom voltage level
|
||||
falls below this threshold and auto PFM is enabled, boost
|
||||
controller will enter into PFM mode automatically.
|
||||
- qcom,lcd-psm-ctrl : A boolean property to specify if PSM needs to be
|
||||
controlled dynamically when WLED module is enabled
|
||||
or disabled.
|
||||
- qcom,auto-calibration-enable : A boolean property which enables auto-calibration
|
||||
of the WLED sink configuration.
|
||||
- qcom,wled-brightness-map : Array of brightness map codes of size 256.
|
||||
These codes will be mapped to the brightness
|
||||
level requested in the scale of 0-4095. Code
|
||||
entry is of 16 bit size.
|
||||
- qcom,wled-stepper-en : A boolean property to specify if stepper algorithm
|
||||
needs to be enabled. This needs the brightness map
|
||||
table to be specified.
|
||||
|
||||
Optional properties if 'qcom,disp-type-amoled' is mentioned in DT:
|
||||
- qcom,loop-comp-res-kohm : control to select the compensation resistor in kohm. default is 320.
|
||||
- qcom,vref-psm-mv : reference psm voltage in mv. default for amoled is 450.
|
||||
- qcom,avdd-mode-spmi: Boolean property to enable AMOLED_VOUT programming via SPMI. If not specified,
|
||||
AMOLED_VOUT is programmed via S-wire. This can be specified only for newer
|
||||
PMICs like pmi8998/pm660l.
|
||||
- qcom,avdd-target-voltage-mv: The voltage required for AMOLED_VOUT. Accepted values are in the range
|
||||
of 5650 to 7900 in steps of 150. Default value is 7600. Unit is in mV.
|
||||
For old revisions, accepted values are: 7900, 7600, 7300, 6400, 6100,
|
||||
5800.
|
||||
|
||||
Example:
|
||||
qcom,leds@d800 {
|
||||
compatible = "qcom,qpnp-wled";
|
||||
reg = <0xd800 0x100>,
|
||||
<0xd900 0x100>,
|
||||
<0xdc00 0x100>,
|
||||
<0xde00 0x100>;
|
||||
reg-names = "qpnp-wled-ctrl-base",
|
||||
"qpnp-wled-sink-base",
|
||||
"qpnp-wled-ibb-base",
|
||||
"qpnp-wled-lab-base";
|
||||
interrupts = <0x3 0xd8 0x2>;
|
||||
interrupt-names = "sc-irq";
|
||||
status = "okay";
|
||||
linux,name = "wled";
|
||||
linux,default-trigger = "bkl-trigger";
|
||||
qcom,fdbk-output = "auto";
|
||||
qcom,vref-uv = <350000>;
|
||||
qcom,switch-freq-khz = <800>;
|
||||
qcom,ovp-mv = <29500>;
|
||||
qcom,ilim-ma = <980>;
|
||||
qcom,boost-duty-ns = <26>;
|
||||
qcom,mod-freq-khz = <9600>;
|
||||
qcom,dim-mode = "hybrid";
|
||||
qcom,dim-method = "linear";
|
||||
qcom,hyb-thres = <625>;
|
||||
qcom,sync-dly-us = <800>;
|
||||
qcom,fs-curr-ua = <16000>;
|
||||
qcom,en-phase-stag;
|
||||
qcom,led-strings-list = [00 01 02 03];
|
||||
qcom,en-ext-pfet-sc-pro;
|
||||
qcom,wled-brightness-map = /bits/ 16 <0 . . 4095>;
|
||||
};
|
358
Documentation/devicetree/bindings/leds/leds-qpnp.txt
Normal file
358
Documentation/devicetree/bindings/leds/leds-qpnp.txt
Normal file
@ -0,0 +1,358 @@
|
||||
Qualcomm Technologies, Inc. QPNP LEDs
|
||||
|
||||
Qualcomm Technologies, Inc. Plug N Play (QPNP) LED modules
|
||||
are used for controlling LEDs that are connected to a QPNP PMIC.
|
||||
The PMIC is connected to a host processor via the SPMI bus. Various
|
||||
LED modules are supported such as Keypad backlight, WLED (white LED),
|
||||
RGB LED and flash LED.
|
||||
|
||||
Each LED module is represented as a node of "leds-qpnp". This
|
||||
node will further contain the type of LED supported and its
|
||||
properties. At least one child node is required for each LED
|
||||
module. Each must have the required properties below, in addition
|
||||
to the properties for the LED type, WLED, Flash, RGB and MPP.
|
||||
|
||||
Required properties for each child node, WLED, Flash and RGB:
|
||||
- compatible : should be "qcom,leds-qpnp"
|
||||
- qcom,id : must be one of values supported in enum qpnp_led
|
||||
- label : type of led that will be used, ie "wled"
|
||||
- qcom,max-current : maximum current that the LED can sustain in mA
|
||||
- linux,name : name of the led that is used in led framework
|
||||
|
||||
Optional properties for each child node, WLED, Flash, MPP, RGB and KPDBL:
|
||||
- qcom,in-order-command-processing : specify if user space requests leds in order
|
||||
|
||||
WLED is primarily used as display backlight. Display subsystem uses
|
||||
LED triggers for WLED to control the brightness as needed.
|
||||
|
||||
Optional properties for WLED:
|
||||
- qcom,num-strings: number of wled strings to be configured
|
||||
- qcom,num-physical-strings: number of physical wled strings supported
|
||||
- qcom,ovp-val: over voltage protection threshold,
|
||||
follows enum wled_ovp_threshold
|
||||
- qcom,boost-curr-lim: boot currnet limit, follows enum wled_current_bost_limit
|
||||
- qcom,ctrl-delay-us: delay in activation of led
|
||||
- qcom,dig-mod-gen-en: digital module generator
|
||||
- qcom,cs-out-en: current sink output enable
|
||||
- qcom,op-fdbck: selection of output as feedback for the boost, 00 = automatic selection, 01 = select LED1 output, 02 = select LED2 output, 03 = select LED3 output
|
||||
- qcom,cp-select: high pole capacitance
|
||||
- linux,default-trigger: trigger the led from external modules such as display
|
||||
- qcom,default-state: default state of the led, should be "on" or "off"
|
||||
|
||||
Flash is used primarily as a camera or video flash.
|
||||
|
||||
Optional properties for flash:
|
||||
- qcom,headroom: headroom to use. Values should be 0, 1, 2, 3 for 250mV, 300mV, 400mV and 500mV
|
||||
- qcom,duration: duration of the flash and torch, 10ms - 1280ms for flash and 2s - 33s for torch
|
||||
- qcom,clamp-curr: current to clamp at, mA
|
||||
- qcom,startup-dly: delay before flashing after flash executed. Values should 0, 1, 2, 3 for 10us, 32us, 64us, and 128us
|
||||
- qcom,saftey-timer: include for safety timer use, otherwise watchdog timer will be used
|
||||
- linux,default-trigger: trigger the led from external modules such as display
|
||||
- qcom,default-state: default state of the led, should be "on" or "off"
|
||||
- qcom,torch-enable: set flash led to torch mode functionality and triggers software workaround for torch if hardware does not support
|
||||
- qcom,sw_vreg_ok: Specify if software strobe is used to inform the readiness of flash module to fire the flash LED when there is no smbb support
|
||||
- qcom,no-smbb-support: Specify if smbb boost is not required and there is a single regulator for both flash and torch.
|
||||
- flash-boost-supply: SMBB regulator for LED flash mode
|
||||
- torch-boost-supply: SMBB regulator for LED torch mode
|
||||
- flash-wa-supply: SMBB regulator for flash workarounds.
|
||||
|
||||
RGB Led is a tri-colored led, Red, Blue & Green.
|
||||
|
||||
Required properties for RGB led:
|
||||
- qcom,mode: mode the led should operate in, options "pwm" and "lpg". "manual" mode is not supported for RGB led.
|
||||
|
||||
Required properties for PWM mode only:
|
||||
- pwms: Use the phandle of pwm device
|
||||
- qcom,pwm-us: time the pwm device will modulate at (us)
|
||||
|
||||
Required properties for LPG mode only:
|
||||
- pwms: Use the phandle of pwm device
|
||||
- qcom,pwm-us: time the pwm device will modulate at (us)
|
||||
- qcom,duty-pcts: array of values for duty cycle to go through
|
||||
- qcom,start-idx: starting point duty-pcts array
|
||||
|
||||
Optional properties for LPG mode only:
|
||||
- qcom,pause-lo: pause at low end of cycle
|
||||
- qcom,pause-hi: pause at high end of cycle
|
||||
- qcom,ramp-step-ms: step between each cycle (ms)
|
||||
- qcom,lut-flags: flags to be used in lut configuration
|
||||
|
||||
Optional properties for RGB led:
|
||||
- linux,default-trigger: trigger the led from external modules such as display
|
||||
- qcom,default-state: default state of the led, should be "on" or "off"
|
||||
- qcom,turn-off-delay-ms: delay in millisecond for turning off the led when its default-state is "on". Value is being ignored in case default-state is "off".
|
||||
- qcom,use-blink: Use blink sysfs entry for switching into lpg mode. For optimal use, set default mode to pwm. All required lpg parameters must be supplied.
|
||||
|
||||
MPP LED is an LED controlled through a Multi Purpose Pin.
|
||||
|
||||
Optional properties for MPP LED:
|
||||
- linux,default-trigger: trigger the led from external modules such as display
|
||||
- qcom,default-state: default state of the led, should be "on" or "off"
|
||||
- qcom,source-sel: select power source, default 1 (enabled)
|
||||
- qcom,mode-ctrl: select operation mode, default 0x60 = Mode Sink
|
||||
- qcom,mode: mode the led should operate in, options "pwm", "lpg" and "manual"
|
||||
- qcom,vin-ctrl: select input source, supported values are 0 to 3
|
||||
- qcom,use-blink: Use blink sysfs entry for switching into lpg mode. For optimal use, set default mode to pwm. All required lpg parameters must be supplied.
|
||||
- qcom,min-brightness - Lowest possible brightness supported on this LED other than 0.
|
||||
- qcom,current-setting: default current value for wled used as button backlight in mA
|
||||
- mpp-power-supply: regulator support for MPP LED
|
||||
- qcom,mpp-power-max-voltage - maximum voltage for MPP LED regulator. This should not be specified when no regulator is in use.
|
||||
- qcom,mpp-power-min-voltage - minimum voltage for MPP LED regulator. This should not be specified when no regulator is in use.
|
||||
|
||||
Required properties for PWM mode only:
|
||||
- pwms: Use the phandle of pwm device
|
||||
- qcom,pwm-us: time the pwm device will modulate at (us)
|
||||
|
||||
Required properties for LPG mode only:
|
||||
- pwms: Use the phandle of pwm device
|
||||
- qcom,pwm-us: time the pwm device will modulate at (us)
|
||||
- qcom,duty-pcts: array of values for duty cycle to go through
|
||||
- qcom,start-idx: starting point duty-pcts array
|
||||
|
||||
Optional properties for LPG mode only:
|
||||
- qcom,pause-lo: pause at low end of cycle
|
||||
- qcom,pause-hi: pause at high end of cycle
|
||||
- qcom,ramp-step-ms: step between each cycle (ms)
|
||||
- qcom,lut-flags: flags to be used in lut configuration
|
||||
|
||||
Keypad backlight is a backlight source for buttons. It supports four rows
|
||||
and the required rows are enabled by specifying values in the properties.
|
||||
|
||||
Required properties for keypad backlight:
|
||||
- qcom,mode: mode the led should operate in, options "pwm" and "lpg". "manual" mode is not supported for keypad backlight.
|
||||
- qcom,row-id: specify the id of the row. Supported values are 0 to 3.
|
||||
|
||||
Optional properties for keypad backlight:
|
||||
- qcom,row-src-vbst: select source for rows. Specify for vbst and ignore it
|
||||
for vph_pwr.
|
||||
- qcom,row-src-en: specify to enable row source
|
||||
- qcom,always-on: specify if the module has to be always on
|
||||
- qcom,use-blink: Use blink sysfs entry for switching into lpg mode. For optimal use, set default mode to pwm. All required lpg parameters must be supplied.
|
||||
|
||||
Required properties for PWM mode only:
|
||||
- pwms: Use the phandle of pwm device
|
||||
- qcom,pwm-us: time the pwm device will modulate at (us)
|
||||
|
||||
Required properties for LPG mode only:
|
||||
- pwms: Use the phandle of pwm device
|
||||
- qcom,pwm-us: time the pwm device will modulate at (us)
|
||||
- qcom,duty-pcts: array of values for duty cycle to go through
|
||||
- qcom,start-idx: starting point duty-pcts array
|
||||
|
||||
Optional properties for LPG mode only:
|
||||
- qcom,pause-lo: pause at low end of cycle
|
||||
- qcom,pause-hi: pause at high end of cycle
|
||||
- qcom,ramp-step-ms: step between each cycle (ms)
|
||||
- qcom,lut-flags: flags to be used in lut configuration
|
||||
|
||||
GPIO LED is an LED controlled through a PMIC GPIO.
|
||||
|
||||
Optional properties for GPIO LED:
|
||||
- linux,default-trigger: trigger the led from external modules such as charging
|
||||
- qcom,default-state: default state of the led, should be "on" or "off"
|
||||
- qcom,turn-off-delay-ms: delay in millisecond for turning off the led when its default-state is "on". Value is being ignored in case default-state is "off".
|
||||
- qcom,source-sel: select power source, default 1 (enabled)
|
||||
- qcom,mode-ctrl: select operation mode, default 0x60 = Mode Sink
|
||||
- qcom,vin-ctrl: select input source, supported values are 0 to 7
|
||||
|
||||
Example:
|
||||
|
||||
qcom,leds@a100 {
|
||||
status = "okay";
|
||||
qcom,led_mpp_2 {
|
||||
label = "mpp";
|
||||
linux,name = "button-backlight";
|
||||
linux,default-trigger = "hr-trigger";
|
||||
qcom,default-state = "off";
|
||||
qcom,current-setting = <20>;
|
||||
qcom,max-current = <40>;
|
||||
qcom,id = <6>;
|
||||
qcom,source-sel = <1>;
|
||||
qcom,mode-ctrl = <0x61>;
|
||||
qcom,mode = "manual";
|
||||
};
|
||||
};
|
||||
|
||||
qcom,leds@a200 {
|
||||
status = "okay";
|
||||
qcom,led_mpp_3 {
|
||||
label = "mpp";
|
||||
linux,name = "wled-backlight";
|
||||
linux-default-trigger = "none";
|
||||
qcom,default-state = "on";
|
||||
qcom,max-current = <40>;
|
||||
qcom,id = <6>;
|
||||
qcom,source-sel = <1>;
|
||||
qcom,mode-ctrl = <0x10>;
|
||||
qcom,vin-ctrl = <0x03>;
|
||||
qcom,min-brightness = <20>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,leds@a300 {
|
||||
status = "okay";
|
||||
qcom,led_mpp_pwm {
|
||||
label = "mpp";
|
||||
linux,name = "green";
|
||||
linux,default-trigger = "none";
|
||||
qcom,default-state = "off";
|
||||
qcom,max-current = <40>;
|
||||
qcom,current-setting = <5>;
|
||||
qcom,id = <6>;
|
||||
qcom,mode = "pwm";
|
||||
qcom,source-sel = <8>;
|
||||
qcom,mode-ctrl = <0x60>;
|
||||
pwms = <&pm8941_pwm_1 0 0>;
|
||||
qcom,pwm-us = <1000>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,leds@d000 {
|
||||
status = "okay";
|
||||
qcom,rgb_pwm {
|
||||
label = "rgb";
|
||||
linux,name = "led:rgb_red";
|
||||
qcom,mode = "pwm";
|
||||
qcom,pwm-us = <1000>;
|
||||
pwms = <&pm8941_pwm_7 0 0>;
|
||||
qcom,max-current = <12>;
|
||||
qcom,default-state = "off";
|
||||
qcom,id = <3>;
|
||||
linux,default-trigger =
|
||||
"battery-charging";
|
||||
};
|
||||
qcom,rgb_lpg {
|
||||
label = "rgb";
|
||||
linux,name = "led:rgb_green";
|
||||
qcom,mode = "lpg";
|
||||
pwms = <&pm8941_pwm_6 0 0>;
|
||||
qcom,pwm-us = <1000>;
|
||||
qcom,duty-ms = <20>;
|
||||
qcom,start-idx = <1>;
|
||||
qcom,idx-len = <10>;
|
||||
qcom,duty-pcts = [00 19 32 4B 64
|
||||
64 4B 32 19 00];
|
||||
qcom,max-current = <12>;
|
||||
qcom,default-state = "off";
|
||||
qcom,id = <3>;
|
||||
linux,default-trigger =
|
||||
"battery-charging";
|
||||
};
|
||||
|
||||
qcom,rgb_blink {
|
||||
label = "rgb";
|
||||
linux,name = "led:rgb_blue";
|
||||
qcom,mode = "pwm";
|
||||
pwms = <&pm8941_pwm_5 0 0>;
|
||||
qcom,start-idx = <1>;
|
||||
qcom,idx-len = <10>;
|
||||
qcom,duty-pcts = [00 19 32 4B 64
|
||||
64 4B 32 19 00];
|
||||
qcom,lut-flags = <3>;
|
||||
qcom,pause-lo = <0>;
|
||||
qcom,pause-hi = <0>;
|
||||
qcom,ramp-step-ms = <255>;
|
||||
qcom,max-current = <12>;
|
||||
qcom,default-state = "on";
|
||||
qcom,turn-off-delay-ms = <500>;
|
||||
qcom,id = <5>;
|
||||
linux,default-trigger = "none";
|
||||
qcom,pwm-us = <1000>;
|
||||
qcom,use-blink;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,leds@d300 {
|
||||
compatible = "qcom,leds-qpnp";
|
||||
status = "okay";
|
||||
flash-boost-supply = <&pm8941_chg_boost>;
|
||||
torch-boost-supply = <&pm8941_boost>;
|
||||
qcom,flash_0 {
|
||||
qcom,max-current = <1000>;
|
||||
qcom,default-state = "off";
|
||||
qcom,headroom = <0>;
|
||||
qcom,duration = <200>;
|
||||
qcom,clamp-curr = <200>;
|
||||
qcom,startup-dly = <1>;
|
||||
qcom,safety-timer;
|
||||
label = "flash";
|
||||
linux,default-trigger =
|
||||
"flash0_trigger";
|
||||
linux,name = "led:flash_0";
|
||||
qcom,current = <625>;
|
||||
qcom,id = <1>;
|
||||
qcom,no-torch-module;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,leds@d800 {
|
||||
compatible = "qcom,leds-qpnp";
|
||||
status = "okay";
|
||||
qcom,wled_0 {
|
||||
linux,default-trigger = "bkl-trigger"
|
||||
label = "wled";
|
||||
qcom,cs-out-en;
|
||||
qcom,op-fdbck = <1>;
|
||||
qcom,default-state "off";
|
||||
qcom,max-current = <25>;
|
||||
qcom,ctrl-delay-us = <0>;
|
||||
qcom,boost-curr-lim = <3>;
|
||||
qcom,cp-sel = <0>;
|
||||
qcom,switch-freq = <2>;
|
||||
qcom,ovp-val = <2>;
|
||||
qcom,num-strings = <1>;
|
||||
qcom,id = <0>;
|
||||
linux,name = "led:wled_backlight";
|
||||
};
|
||||
};
|
||||
|
||||
qcom,leds@e200 {
|
||||
status = "okay";
|
||||
|
||||
qcom,kpdbl1 {
|
||||
label = "kpdbl";
|
||||
linux,name = "kpdbl-pwm-1";
|
||||
qcom,mode = <0>;
|
||||
pwms = <&pm8941_pwm_9 0 0>;
|
||||
qcom,pwm-us = <1000>;
|
||||
qcom,id = <7>;
|
||||
qcom,max-current = <20>;
|
||||
qcom,row-id = <0>;
|
||||
qcom,row-src-en;
|
||||
qcom,always-on;
|
||||
};
|
||||
|
||||
qcom,kpdbl2 {
|
||||
label = "kpdbl";
|
||||
linux,name = "kpdbl-lut-2";
|
||||
qcom,mode = <1>;
|
||||
pwms = <&pm8941_pwm_10 0 0>;
|
||||
qcom,pwm-us = <1000>;
|
||||
qcom,start-idx = <1>;
|
||||
qcom,duty-pcts = [00 00 00 00 64
|
||||
64 00 00 00 00];
|
||||
qcom,id = <7>;
|
||||
qcom,max-current = <20>;
|
||||
qcom,row-id = <1>;
|
||||
qcom,row-src-en;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
qcom,leds@c900 {
|
||||
compatible = "qcom,leds-qpnp";
|
||||
reg = <0xc900 0x100>;
|
||||
status = "okay";
|
||||
qcom,led_gpio_10 {
|
||||
label = "gpio";
|
||||
linux,name = "led:notification";
|
||||
qcom,max-current = <40>;
|
||||
qcom,id = <8>;
|
||||
linux,default-trigger = "notification";
|
||||
qcom,default-state = "on";
|
||||
qcom,turn-off-delay-ms = <1000>;
|
||||
qcom,source-sel = <1>;
|
||||
qcom,mode-ctrl = <0x10>;
|
||||
qcom,vin-ctrl = <0x02>;
|
||||
};
|
||||
};
|
@ -0,0 +1,29 @@
|
||||
Laser Sensor Device Tree Bindings.
|
||||
========================================
|
||||
|
||||
Boards with the Laser Sensor connected to CCI shall have the following
|
||||
properties:
|
||||
|
||||
Required node properties:
|
||||
- cell-index: cci hardware core index
|
||||
- compatible:
|
||||
- "st,stmvl53l0" : STMiecroelectronics VL53L0 Laser sensor.
|
||||
- reg : offset and length of the register set for the device
|
||||
- qcom, cci-master: cci master the sensor connected to
|
||||
- cam_cci-supply : cci voltage regulator used
|
||||
- cam_laser-supply: laser sensor voltage regulator
|
||||
- qcom,cam-vreg-name: voltage regulators name
|
||||
- qcom, cam-vreg-min-voltage: specify minimum voltage level for
|
||||
regulators used
|
||||
- qcom, cam-vreg-max-voltage: specify maximum voltage level for
|
||||
regulators used
|
||||
- pinctrl-names : should specify the pin control groups followed by
|
||||
the definition of each group
|
||||
stm,irq-gpio : irq gpio which is to provide interrupts to host.
|
||||
- gpios : should contain phandle to gpio controller node and array of
|
||||
#gpio-cells specifying specific gpio (controller specific)
|
||||
- qcom,gpio-req-tbl-num : contains index to gpios specific to the sensor
|
||||
- qcom,gpio-req-tbl-flags : should contain direction of gpios present in
|
||||
qcom,gpio-req-tbl-num property (in the same order)
|
||||
- qcom,gpio-req-tbl-label : should contain name of gpios present in
|
||||
qcom,gpio-req-tbl-num property (in the same order)
|
@ -0,0 +1,44 @@
|
||||
Qualcomm Technologies, Inc. QPNP Coincell - coincell battery charger devices
|
||||
|
||||
Required properties:
|
||||
- compatible: Must be "qcom,qpnp-coincell".
|
||||
- reg: Specifies the SPMI address and size for this coincell device.
|
||||
|
||||
Required structure:
|
||||
- A qcom,qpnp-coincell node must be a child of an SPMI node that has specified
|
||||
the spmi-slave-container property.
|
||||
|
||||
Optional properties:
|
||||
- qcom,rset-ohms: Specifies the resistance of the current limiting
|
||||
resistor in ohms. Four values are supported:
|
||||
800, 1200, 1700, and 2100.
|
||||
- qcom,vset-millivolts: Specifies the coincell charging voltage in millivolts.
|
||||
Four values are supported: 2500, 3000, 3100, and 3200.
|
||||
- qcom,charge-enable: Specifies if coincell charging should be enabled or not.
|
||||
0 = disable charging, 1 = enabled charging
|
||||
|
||||
If any of the optional properties are not specified, then the hardware default
|
||||
values for the unspecified properties will be used instead.
|
||||
|
||||
Example:
|
||||
qcom,spmi@fc4c0000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
|
||||
qcom,pm8941@1 {
|
||||
spmi-slave-container;
|
||||
reg = <0x1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
qcom,coincell@2800 {
|
||||
compatible = "qcom,qpnp-coincell";
|
||||
reg = <0x2800 0x100>;
|
||||
qcom,rset-ohms = <800>;
|
||||
qcom,vset-millivolts = <3100>;
|
||||
qcom,charge-enable = <1>;
|
||||
};
|
||||
};
|
||||
};
|
219
Documentation/devicetree/bindings/pwm/pwm-qpnp.txt
Normal file
219
Documentation/devicetree/bindings/pwm/pwm-qpnp.txt
Normal file
@ -0,0 +1,219 @@
|
||||
Qualcomm Technologies, Inc. QPNP PWM/LPG controller
|
||||
|
||||
qpnp-pwm driver supports Pulse Width Module (PWM) functionality. PWM feature is
|
||||
used in range of applications such as varying Display brightness, LED dimming,
|
||||
etc. QTI PMICs have a physical device called Light Pulse Generator (LPG). In
|
||||
addition to support PWM functionality, the LPG module provides a rich set of
|
||||
user defined PWM pattern configurations, such as sawtooth, linear up, linear
|
||||
down, triangular patterns etc. The PWM patterns are used in applications such as
|
||||
charger driver where the driver uses these patterns to indicate various states
|
||||
of charging.
|
||||
|
||||
Required device bindings:
|
||||
- compatible: should be "qcom,qpnp-pwm"
|
||||
- reg: Offset and length of the controller's LPG channel register.
|
||||
- reg-names: Name for the above register.
|
||||
"qpnp-lpg-channel-base" = physical base address of the
|
||||
controller's LPG channel register.
|
||||
- qcom,lpg-lut-size: LPG LUT size.
|
||||
- qcom,channel-id: channel Id for the PWM.
|
||||
- qcom,supported-sizes: Supported PWM sizes.
|
||||
Following three pwm sizes lists are supported by PWM/LPG controllers.
|
||||
<6>, <9>;
|
||||
<7>, <8>;
|
||||
<6>, <7>, <9>;
|
||||
- qcom,ramp-index: Ramp index in LUT ramp control register.
|
||||
Each LPG has an index in the LUT ramp control register.
|
||||
One exception is that, if LPG does not support LUT mode
|
||||
and supports only PWM mode then there is no need to
|
||||
provide the ramp-index.
|
||||
|
||||
Optional device bindings:
|
||||
- qcom,force-pwm-size: For certain LPG channels, PWM size can be forced.
|
||||
Possible values 6, 7, 8 and 9.
|
||||
- qcom,channel-owner: A string value to supply owner information.
|
||||
- qcom,mode-select: 0 = PWM mode
|
||||
1 = LPG mode
|
||||
- qcom,dtest-line: indicates which DTEST line to be configured for LPG
|
||||
or PWM output. For LPG subtypes, possible values are 1,
|
||||
2, 3 and 4. For PWM subtype, possibe values are 1 and 2.
|
||||
- qcom,dtest-output: indicates the output configuration for DTEST line.
|
||||
For LPG subtypes, possible output values are:
|
||||
0 = Disabled
|
||||
1 = LPG output low
|
||||
2 = LPG output high
|
||||
3,4,5 = DTEST line specific configuration
|
||||
6,7 = Not used
|
||||
For PWM subtype, possible output values are:
|
||||
0 = Disabled
|
||||
1 = pwm_out for DTEST1 or reserved
|
||||
2 = pwm_out for DTEST2 or reserved
|
||||
3 = Not used
|
||||
If this binding is specified along with the required bindings of PWM/LPG then
|
||||
in addition to configure PWM/LPG the qpnp-pwm driver also enables the feature
|
||||
at the probe time. In the case where the binding is not specified the qpnp-pwm
|
||||
driver does not enable the feature. Also, it is considered an error to specify
|
||||
a particular mode using this binding but not the respective feature subnode.
|
||||
|
||||
All PWM devices support both PWM and LPG features within the same device.
|
||||
To support each feature, there are some required and optional bindings passed
|
||||
through device tree.
|
||||
|
||||
The PWM device can enable one feature (either PWM or LPG) at any given time.
|
||||
Therefore, the qpnp-pwm driver applies the last PWM or LPG feature configuration
|
||||
and enables that feature.
|
||||
|
||||
Required bindings to support PWM feature:
|
||||
- qcom,period: PWM period time in microseconds.
|
||||
- qcom,duty: PWM duty time in microseconds.
|
||||
- label: "pwm"
|
||||
|
||||
Required bindings to support LPG feature:
|
||||
The following bindings are needed to configure LPG mode, where a list of
|
||||
duty cycle percentages is populated. The size of the list cannot exceed
|
||||
the size of the LPG look-up table.
|
||||
|
||||
- reg: Offset and length of LPG look-up table (LUT). The LPG look-up table is a
|
||||
contiguous address space that is populated with PWM values.
|
||||
The size of PWM value is 9 bit and the size of each
|
||||
entry of the table is 8 bit. Thus, two entries are used
|
||||
to fill each PWM value. The lower entry is used for PWM
|
||||
LSB byte and higher entry is used for PWM MSB bit.
|
||||
- reg-names: Name for the above register.
|
||||
"qpnp-lpg-lut-base" = physical base address of LPG LUT.
|
||||
- qcom,period: PWM period time in microseconds.
|
||||
- qcom,duty-percents: List of entries for look-up table
|
||||
- cell-index: Index of look-up table that should be used to start
|
||||
filling up the duty-pct list. start-idx + size of list
|
||||
cannot exceed the size of look-up table.
|
||||
- label: "lpg"
|
||||
|
||||
|
||||
Optional bindings to support LPG feature:
|
||||
- qcom,ramp-step-duration: Time (in ms) to wait before loading next entry of LUT
|
||||
- qcom,lpg-lut-pause-hi: Time (in ms) to wait once pattern reaches to hi
|
||||
index.
|
||||
- qcom,lpg-lut-pause-lo: Time (in ms) to wait once pattern reaches to lo
|
||||
index.
|
||||
- qcom,lpg-lut-ramp-direction: 1 = Start the pattern from lo index to hi index.
|
||||
0 = Start the pattern from hi index to lo index.
|
||||
- qcom,lpg-lut-pattern-repeat: 1 = Repeat the pattern after the pause once it
|
||||
reaches to last duty cycle.
|
||||
0 = Do not repeat the pattern.
|
||||
- qcom,lpg-lut-ramp-toggle: 1 = Toggle the direction of the pattern.
|
||||
0 = Do not toggle the direction.
|
||||
- qcom,lpg-lut-enable-pause-hi: 1 = Enable pause time at hi index.
|
||||
0 = Disable pause time at hi index.
|
||||
- qcom,lpg-lut-enable-pause-lo: 1 = Enable pause time at lo index.
|
||||
0 = Disable pause time at lo index.
|
||||
|
||||
|
||||
Example:
|
||||
qcom,spmi@fc4c0000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,pm8941@1 {
|
||||
spmi-slave-container;
|
||||
reg = <0x1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
pwm@b100 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "qcom,qpnp-pwm";
|
||||
reg = <0xb100 0x100>, <0xb040 0x80>;
|
||||
reg-names = "qpnp-lpg-channel-base", "qpnp-lpg-lut-base";
|
||||
qcom,channel-id = <0>;
|
||||
qcom,supported-sizes = <6>, <7>, <9>;
|
||||
qcom,ramp-index = <0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pwm@b200 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "qcom,qpnp-pwm";
|
||||
reg = <0xb200 0x100>, <0xb040 0x80>;
|
||||
reg-names = "qpnp-lpg-channel-base", "qpnp-lpg-lut-base";
|
||||
qcom,channel-id = <1>;
|
||||
qcom,supported-sizes = <6>, <7>, <9>;
|
||||
qcom,ramp-index = <1>;
|
||||
qcom,force-pwm-size = <9>;
|
||||
qcom,period = <6000000>;
|
||||
status = "okay";
|
||||
|
||||
qcom,pwm {
|
||||
qcom,duty = <4000000>;
|
||||
label = "pwm";
|
||||
};
|
||||
};
|
||||
|
||||
pwm@b500 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "qcom,qpnp-pwm"
|
||||
reg = <0xb500 0x100>, <0xb040 0x80>;
|
||||
reg-names = "qpnp-lpg-channel-base", "qpnp-lpg-lut-base";
|
||||
qcom,channel-id = <4>;
|
||||
qcom,supported-sizes = <6>, <7>, <9>;
|
||||
qcom,ramp-index = <4>;
|
||||
qcom,period = <6000000>;
|
||||
qcom,mode-select = <0>;
|
||||
qcom,channel-owner = "RGB-led";
|
||||
status = "okay";
|
||||
|
||||
qcom,pwm {
|
||||
qcom,duty = <4000000>;
|
||||
label = "pwm";
|
||||
};
|
||||
|
||||
qcom,lpg {
|
||||
qcom,duty-percents = <1 14 28 42 56 84 100
|
||||
100 84 56 42 28 14 1>;
|
||||
cell-index = <0>;
|
||||
qcom,ramp-step-duration = <20>;
|
||||
label = "lpg";
|
||||
};
|
||||
};
|
||||
|
||||
pwm@b300 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "qcom,qpnp-pwm";
|
||||
reg = <0xb200 0x100>, <0xb040 0x80>;
|
||||
reg-names = "qpnp-lpg-channel-base", "qpnp-lpg-lut-base";
|
||||
qcom,channel-id = <2>;
|
||||
qcom,supported-sizes = <6>, <7>, <9>;
|
||||
qcom,ramp-index = <1>;
|
||||
qcom,force-pwm-size = <9>;
|
||||
qcom,period = <6000000>;
|
||||
qcom,dtest-line = <3>;
|
||||
qcom,dtest-output = <1>;
|
||||
status = "okay";
|
||||
|
||||
qcom,pwm {
|
||||
qcom,duty = <4000000>;
|
||||
label = "pwm";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
There are couple of ways to configure PWM device channels as shown in above
|
||||
example,
|
||||
1. The PWM device channel #0 is configured with only required device bindings.
|
||||
In this case, the qpnp-pwm driver does not configure any mode by default.
|
||||
|
||||
2. The qpnp-pwm driver configures PWM device channel #1 with PWM feature
|
||||
configuration, but does not enable the channel since "qcom,mode-select" binding
|
||||
is not specified in the devicetree.
|
||||
|
||||
3. Both the PWM and LPG configurations are provided for PWM device channel #4.
|
||||
The qpnp-pwm driver configures both the modes, but enables PWM mode at the probe
|
||||
time. It also sets the channel owner information for the channel.
|
||||
|
||||
4. This configuration is pretty similar to #2 above except in this case channel
|
||||
#3 is configured for PWM mode. Also it's DTEST3 line is configured to output
|
||||
LPG OUT low.
|
@ -342,6 +342,13 @@ Required properties:
|
||||
property enable apr driver to receive subsystem up/down
|
||||
notification from modem/adsp.
|
||||
|
||||
Optional properties:
|
||||
|
||||
- compatible : "qcom,msm-audio-apr-dummy"
|
||||
Add this compatible as child device to msm-audio-apr device.
|
||||
This child device is added after lpass is up to invoke
|
||||
deferred probe devices.
|
||||
|
||||
* msm-ocmem-audio
|
||||
|
||||
Required properties:
|
||||
@ -483,6 +490,22 @@ Required properties:
|
||||
|
||||
- compatible : "qcom,msm-ext-disp-audio-codec-rx"
|
||||
|
||||
* SDM660 ASoC Machine driver
|
||||
|
||||
Required properties:
|
||||
- compatible : "qcom,sdm660-asoc-snd"
|
||||
|
||||
* sdm660-asoc-snd-tasha
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : "qcom,sdm660-asoc-snd-tasha"
|
||||
|
||||
* sdm660-asoc-snd-tavil
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : "qcom,sdm660-asoc-snd-tavil"
|
||||
Example:
|
||||
|
||||
qcom,msm-pcm {
|
||||
|
@ -238,6 +238,123 @@ pahu_codec {
|
||||
};
|
||||
};
|
||||
|
||||
Tombak audio CODEC in SPMI mode
|
||||
|
||||
- compatible = "qcom,msm-codec-core",
|
||||
- compatible = "qcom,pmic-codec-digital"
|
||||
- compatible = "qcom,pmic-codec-analog"
|
||||
- reg: represents the slave base address provided to the peripheral.
|
||||
- interrupt-parent : The parent interrupt controller.
|
||||
- interrupts: List of interrupts in given SPMI peripheral.
|
||||
- interrupt-names: Names specificed to above list of interrupts in same
|
||||
order.
|
||||
|
||||
Optional properties:
|
||||
|
||||
- cdc-vdda-cp-supply: phandle of cp supply's regulator device tree node.
|
||||
- qcom,cdc-vdda-cp-voltage: cp supply's voltage level min and max in mV.
|
||||
- qcom,cdc-vdda-cp-current: cp supply's max current in mA.
|
||||
|
||||
- cdc-vdda-rx-h-supply: phandle of vdda-rx-h supply's regulator device tree node.
|
||||
- qcom,cdc-vdda-rx-h-voltage: vdda-rx-h supply's voltage level min and max in mV.
|
||||
- qcom,cdc-vdda-rx-h-current: vdda-rx-h supply's max current in mA.
|
||||
|
||||
- cdc-vdda-tx-h-supply: phandle of vdda-tx-h supply's regulator device tree node.
|
||||
- qcom,cdc-vdda-tx-h-voltage: vdda-tx-h supply's voltage level min and max in mV.
|
||||
- qcom,cdc-vdda-tx-h-current: vdda-tx-h supply's max current in mA.
|
||||
|
||||
- cdc-vdd-px-supply: phandle of vdd-px supply's regulator device tree node.
|
||||
- qcom,cdc-vdd-px-voltage: vdd-px supply's voltage level min and max in mV.
|
||||
- qcom,cdc-vdd-px-current: vdd-px supply's max current in mA.
|
||||
|
||||
- cdc-vdd-pa-supply: phandle of vdd-pa supply's regulator device tree node.
|
||||
- qcom,cdc-vdd-pa-voltage: vdd-pa supply's voltage level min and max in mV.
|
||||
- qcom,cdc-vdd-pa-current: vdd-pa supply's max current in mA.
|
||||
|
||||
- cdc-vdd-mic-bias-supply: phandle of mic-bias supply's regulator device tree
|
||||
node.
|
||||
- qcom,cdc-vdd-mic-bias-voltage: mic-bias supply's voltage level min and max
|
||||
in mV.
|
||||
- qcom,cdc-vdd-mic-bias-current: mic-bias supply's max current in mA.
|
||||
|
||||
- qcom,cdc-mclk-clk-rate: Specifies the master clock rate in Hz required for
|
||||
codec.
|
||||
|
||||
- qcom,cdc-static-supplies: List of supplies to be enabled prior to codec
|
||||
hardware probe. Supplies in this list will be
|
||||
stay enabled.
|
||||
|
||||
- qcom,cdc-on-demand-supplies: List of supplies which can be enabled
|
||||
dynamically.
|
||||
Supplies in this list are off by default.
|
||||
- qcom,cdc-micbias-cfilt-mv : MICBIAS voltage value
|
||||
- qcom,cdc-boost-voltage: Specifies the analog boost output voltage value.
|
||||
Value from 4000 to 5550 in mV in steps of 50 mV can be given.
|
||||
- qcom,dig-cdc-base-addr: Specifies the digital codec base address for MSM digital
|
||||
core register writes.
|
||||
|
||||
Example:
|
||||
|
||||
msm_digital_codec: msm-dig-codec@c0f0000 {
|
||||
compatible = "qcom,msm-digital-codec";
|
||||
reg = <0xc0f0000 0x0>;
|
||||
};
|
||||
|
||||
pmic_analog_codec: analog-codec@f000 {
|
||||
compatible = "qcom,pmic-analog-codec";
|
||||
reg = <0xf000 0x200>;
|
||||
interrupt-parent = <&spmi_bus>;
|
||||
interrupts = <0x1 0xf0 0x0>,
|
||||
<0x1 0xf0 0x1>,
|
||||
<0x1 0xf0 0x2>,
|
||||
<0x1 0xf0 0x3>,
|
||||
<0x1 0xf0 0x4>,
|
||||
<0x1 0xf0 0x5>,
|
||||
<0x1 0xf0 0x6>,
|
||||
<0x1 0xf0 0x7>;
|
||||
interrupt-names = "spk_cnp_int",
|
||||
"spk_clip_int",
|
||||
"spk_ocp_int",
|
||||
"ins_rem_det1",
|
||||
"but_rel_det",
|
||||
"but_press_det",
|
||||
"ins_rem_det",
|
||||
"mbhc_int";
|
||||
|
||||
cdc-vdda-cp-supply = <&pm8916_s4>;
|
||||
qcom,cdc-vdda-cp-voltage = <1800000 2200000>;
|
||||
qcom,cdc-vdda-cp-current = <770000>;
|
||||
|
||||
cdc-vdda-rx-h-supply = <&pm8916_l5>;
|
||||
qcom,cdc-vdda-rx-h-voltage = <1800000 1800000>;
|
||||
qcom,cdc-vdda-rx-h-current = <20000>;
|
||||
|
||||
cdc-vdda-tx-h-supply = <&pm8916_l5>;
|
||||
qcom,cdc-vdda-tx-h-voltage = <1800000 1800000>;
|
||||
qcom,cdc-vdda-tx-h-current = <20000>;
|
||||
|
||||
cdc-vdd-px-supply = <&pm8916_s4>;
|
||||
qcom,cdc-vdd-px-voltage = <1800000 2200000>;
|
||||
qcom,cdc-vdd-px-current = <770000>;
|
||||
|
||||
cdc-vdd-pa-supply = <&pm8916_l5>;
|
||||
qcom,cdc-vdd-pa-voltage = <1800000 1800000>;
|
||||
qcom,cdc-vdd-pa-current = <5000>;
|
||||
|
||||
cdc-vdd-mic-bias-supply = <&pm8916_l13>;
|
||||
qcom,cdc-vdd-mic-bias-voltage = <3075000 3075000>;
|
||||
qcom,cdc-vdd-mic-bias-current = <25000>;
|
||||
|
||||
qcom,cdc-mclk-clk-rate = <9600000>;
|
||||
|
||||
qcom,cdc-static-supplies = "cdc-vdda-h",
|
||||
"cdc-vdd-px",
|
||||
"cdc-vdd-pa",
|
||||
"cdc-vdda-cp";
|
||||
|
||||
qcom,cdc-on-demand-supplies = "cdc-vdd-mic-bias";
|
||||
};
|
||||
|
||||
Wcd9xxx audio CODEC in I2C mode
|
||||
|
||||
- compatible = "qcom,wcd9xxx-i2c-device";
|
||||
|
@ -12,6 +12,8 @@ VADC_TM node
|
||||
|
||||
Required properties:
|
||||
- compatible : should be "qcom,qpnp-adc-tm" for thermal ADC driver.
|
||||
: should be "qcom,qpnp-adc-tm-hc" for thermal ADC driver using
|
||||
refreshed BTM peripheral.
|
||||
- reg : offset and length of the PMIC Aribter register map.
|
||||
- address-cells : Must be one.
|
||||
- size-cells : Must be zero.
|
||||
|
@ -0,0 +1,77 @@
|
||||
Qualcomm Technologies, Inc. QPNP Temperature Alarm
|
||||
|
||||
QPNP temperature alarm peripherals are found inside of Qualcomm Technologies,
|
||||
Inc. PMIC chips that utilize the MSM SPMI implementation. These peripherals
|
||||
provide an interrupt signal and status register to identify high PMIC die
|
||||
temperature.
|
||||
|
||||
Required properties:
|
||||
- compatible: Must be "qcom,qpnp-temp-alarm".
|
||||
- reg: Specifies the SPMI address and size for this temperature
|
||||
alarm device.
|
||||
- interrupts: PMIC temperature alarm interrupt
|
||||
- label: A string used as a descriptive name for this thermal device.
|
||||
This name should be 19 characters or less.
|
||||
|
||||
Required structure:
|
||||
- A qcom,qpnp-temp-alarm node must be a child of an SPMI node that has specified
|
||||
the spmi-slave-container property
|
||||
|
||||
Optional properties:
|
||||
- qcom,channel-num: VADC channel number associated PMIC DIE_TEMP thermistor.
|
||||
If no channel is specified, then the die temperature
|
||||
must be estimated based on the over temperature stage.
|
||||
- qcom,threshold-set: Integer value which specifies which set of threshold
|
||||
temperatures to use for the over temperature stages.
|
||||
Possible values (x = {stage 1 threshold temperature,
|
||||
stage 2 threshold temperature,
|
||||
stage 3 threshold temperature}):
|
||||
0 = {105 C, 125 C, 145 C}
|
||||
1 = {110 C, 130 C, 150 C}
|
||||
2 = {115 C, 135 C, 155 C}
|
||||
3 = {120 C, 140 C, 160 C}
|
||||
- qcom,clock-rate: Integer value which specifies the temperature monitoring
|
||||
clock rate. This property is only supported on GEN2
|
||||
temperature alarm peripherals.
|
||||
Supported values:
|
||||
0 = 100 Hz
|
||||
1 = 50 Hz
|
||||
2 = 25 Hz
|
||||
3 = 12.5 Hz
|
||||
- qcom,allow-override: Boolean which controls the ability of software to
|
||||
override shutdowns. If present, then software is
|
||||
allowed to override automatic PMIC hardware stage 2 and
|
||||
stage 3 over temperature shutdowns. Otherwise, software
|
||||
is not allowed to override automatic shutdown.
|
||||
- qcom,default-temp: Specifies the default temperature in millicelcius to use
|
||||
if no ADC channel is present to read the real time
|
||||
temperature.
|
||||
- qcom,temp_alarm-vadc: Corresponding VADC device's phandle.
|
||||
|
||||
Note, if a given optional qcom,* binding is not present, then the default
|
||||
hardware state for that feature will be maintained.
|
||||
|
||||
Example:
|
||||
&spmi_bus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
|
||||
qcom,pm8941@0 {
|
||||
spmi-slave-container;
|
||||
reg = <0x0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
qcom,temp-alarm@2400 {
|
||||
compatible = "qcom,qpnp-temp-alarm";
|
||||
reg = <0x2400 0x100>;
|
||||
interrupts = <0x0 0x24 0x0>;
|
||||
label = "pm8941_tz";
|
||||
qcom,channel-num = <8>;
|
||||
qcom,threshold-set = <0>;
|
||||
qcom,temp_alarm-vadc = <&pm8941_vadc>;
|
||||
};
|
||||
};
|
||||
};
|
@ -333,6 +333,29 @@ dtb-$(CONFIG_ARCH_SDXPRAIRIE) += sdxprairie-rumi.dtb \
|
||||
|
||||
dtb-$(CONFIG_ARCH_MDM9607) += mdm9607-mtp.dtb
|
||||
|
||||
dtb-$(CONFIG_ARCH_SDM660) += sdm660-sim.dtb \
|
||||
sdm660-internal-codec-cdp.dtb \
|
||||
sdm660-internal-codec-mtp.dtb \
|
||||
sdm660-internal-codec-rcm.dtb \
|
||||
sdm660-cdp.dtb \
|
||||
sdm660-mtp.dtb \
|
||||
sdm660-qrd.dtb \
|
||||
sdm660-rcm.dtb \
|
||||
sdm660-pm660a-cdp.dtb \
|
||||
sdm660-pm660a-mtp.dtb \
|
||||
sdm660-pm660a-qrd.dtb \
|
||||
sdm660-pm660a-rcm.dtb \
|
||||
sdm660-internal-codec-pm660a-cdp.dtb \
|
||||
sdm660-internal-codec-pm660a-mtp.dtb \
|
||||
sdm660-internal-codec-pm660a-rcm.dtb \
|
||||
sdm660-pm660a-sim.dtb \
|
||||
sdm660-headset-jacktype-no-cdp.dtb \
|
||||
sdm660-headset-jacktype-no-rcm.dtb \
|
||||
sdm660-pm660a-headset-jacktype-no-cdp.dtb \
|
||||
sdm660-pm660a-headset-jacktype-no-rcm.dtb \
|
||||
sdm660-usbc-audio-mtp.dtb \
|
||||
sdm660-usbc-audio-rcm.dtb \
|
||||
|
||||
ifeq ($(CONFIG_ARM64),y)
|
||||
always := $(dtb-y)
|
||||
subdir-y := $(dts-dirs)
|
||||
|
132
arch/arm64/boot/dts/qcom/dsi-panel-hx8399c-fhd-plus-video.dtsi
Normal file
132
arch/arm64/boot/dts/qcom/dsi-panel-hx8399c-fhd-plus-video.dtsi
Normal file
@ -0,0 +1,132 @@
|
||||
/* Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&mdss_mdp {
|
||||
dsi_hx8399c_truly_vid: qcom,mdss_dsi_hx8399_truly_fhd_video {
|
||||
qcom,mdss-dsi-panel-name =
|
||||
"hx8399c video mode dsi truly panel";
|
||||
qcom,mdss-dsi-panel-type = "dsi_video_mode";
|
||||
qcom,mdss-dsi-panel-framerate = <60>;
|
||||
qcom,mdss-dsi-virtual-channel-id = <0>;
|
||||
qcom,mdss-dsi-stream = <0>;
|
||||
qcom,mdss-dsi-panel-width = <1080>;
|
||||
qcom,mdss-dsi-panel-height = <2160>;
|
||||
qcom,mdss-dsi-h-front-porch = <42>;
|
||||
qcom,mdss-dsi-h-back-porch = <42>;
|
||||
qcom,mdss-dsi-h-pulse-width = <10>;
|
||||
qcom,mdss-dsi-h-sync-skew = <0>;
|
||||
qcom,mdss-dsi-v-back-porch = <15>;
|
||||
qcom,mdss-dsi-v-front-porch = <10>;
|
||||
qcom,mdss-dsi-v-pulse-width = <3>;
|
||||
qcom,mdss-dsi-h-left-border = <0>;
|
||||
qcom,mdss-dsi-h-right-border = <0>;
|
||||
qcom,mdss-dsi-v-top-border = <0>;
|
||||
qcom,mdss-dsi-v-bottom-border = <0>;
|
||||
qcom,mdss-pan-physical-width-dimension = <65>;
|
||||
qcom,mdss-pan-physical-height-dimension = <129>;
|
||||
qcom,mdss-dsi-bpp = <24>;
|
||||
qcom,mdss-dsi-color-order = "rgb_swap_rgb";
|
||||
qcom,mdss-dsi-underflow-color = <0xff>;
|
||||
qcom,mdss-dsi-border-color = <0>;
|
||||
qcom,mdss-dsi-on-command = [
|
||||
39 01 00 00 00 00 04
|
||||
b9 ff 83 99
|
||||
39 01 00 00 00 00 02
|
||||
d2 88
|
||||
39 01 00 00 00 00 0c
|
||||
b1 02 04 72 92 01
|
||||
32 aa 11 11 52 57
|
||||
39 01 00 00 00 00 10
|
||||
b2 00 80 80 cc 05 07 5a
|
||||
11 10 10 00 1e 70 03 d4
|
||||
39 01 00 00 00 00 2d
|
||||
b4 00 ff 59 59 01 ab 00
|
||||
00 09 00 03 05 00 28 03
|
||||
0b 0d 21 03 02 00 0c a3
|
||||
80 59 59 02 ab 00 00 09
|
||||
00 03 05 00 28 03 0b 0d
|
||||
02 00 0c a3 01
|
||||
39 01 00 00 05 00 22
|
||||
d3 00 0c 03 03 00 00 10
|
||||
10 00 00 03 00 03 00 08
|
||||
78 08 78 00 00 00 00 00
|
||||
24 02 05 05 03 00 00 00
|
||||
05 40
|
||||
39 01 00 00 05 00 21
|
||||
d5 20 20 19 19 18 18 02
|
||||
03 00 01 24 24 18 18 18
|
||||
18 24 24 00 00 00 00 00
|
||||
00 00 00 2f 2f 30 30 31
|
||||
31
|
||||
39 01 00 00 05 00 21
|
||||
d6 24 24 18 18 19 19 01
|
||||
00 03 02 24 24 18 18 18
|
||||
18 20 20 40 40 40 40 40
|
||||
40 40 40 2f 2f 30 30 31
|
||||
31
|
||||
39 01 00 00 00 00 02
|
||||
bd 00
|
||||
39 01 00 00 00 00 11
|
||||
d8 aa aa aa aa aa aa aa
|
||||
aa aa ba aa aa aa ba aa
|
||||
aa
|
||||
39 01 00 00 00 00 02
|
||||
bd 01
|
||||
39 01 00 00 00 00 11
|
||||
d8 00 00 00 00 00 00 00
|
||||
00 82 ea aa aa 82 ea aa
|
||||
aa
|
||||
39 01 00 00 00 00 02
|
||||
bd 02
|
||||
39 01 00 00 00 00 09
|
||||
d8 ff ff c0 3f ff ff c0
|
||||
3f
|
||||
39 01 00 00 00 00 02
|
||||
bd 00
|
||||
39 01 00 00 05 00 37
|
||||
e0 01 21 31 2d 66 6f 7b
|
||||
75 7a 81 86 89 8c 90 95
|
||||
97 9a a1 a2 aa 9e ad b0
|
||||
5b 57 63 7a 01 21 31 2d
|
||||
66 6f 7b 75 7a 81 86 89
|
||||
8c 90 95 97 9a a1 a2 aa
|
||||
9e ad b0 5b 57 63 7a
|
||||
39 01 00 00 00 00 03
|
||||
b6 7e 7e
|
||||
39 01 00 00 00 00 02
|
||||
cc 08
|
||||
05 01 00 00 96 00 02 11 00
|
||||
05 01 00 00 32 00 02 29 00];
|
||||
qcom,mdss-dsi-off-command = [
|
||||
05 01 00 00 32 00 02 28 00
|
||||
05 01 00 00 96 00 02 10 00];
|
||||
qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
|
||||
qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
|
||||
qcom,mdss-dsi-h-sync-pulse = <0>;
|
||||
qcom,mdss-dsi-traffic-mode = "non_burst_sync_event";
|
||||
qcom,mdss-dsi-lane-map = "lane_map_0123";
|
||||
qcom,mdss-dsi-bllp-eof-power-mode;
|
||||
qcom,mdss-dsi-bllp-power-mode;
|
||||
qcom,mdss-dsi-tx-eot-append;
|
||||
qcom,mdss-dsi-lane-0-state;
|
||||
qcom,mdss-dsi-lane-1-state;
|
||||
qcom,mdss-dsi-lane-2-state;
|
||||
qcom,mdss-dsi-lane-3-state;
|
||||
qcom,mdss-dsi-t-clk-post = <0x0e>;
|
||||
qcom,mdss-dsi-t-clk-pre = <0x31>;
|
||||
qcom,mdss-dsi-dma-trigger = "trigger_sw";
|
||||
qcom,mdss-dsi-mdp-trigger = "none";
|
||||
qcom,mdss-dsi-lp11-init;
|
||||
qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>;
|
||||
};
|
||||
};
|
||||
|
@ -0,0 +1,115 @@
|
||||
/* Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&mdss_mdp {
|
||||
dsi_lgd_incell_sw49106_fhd_video:
|
||||
qcom,mdss_dsi_lgd_incell_sw49106_fhd_video {
|
||||
qcom,mdss-dsi-panel-name =
|
||||
"lgd incell sw49106 fhd video";
|
||||
qcom,mdss-dsi-panel-type = "dsi_video_mode";
|
||||
qcom,mdss-dsi-panel-framerate = <60>;
|
||||
qcom,mdss-dsi-virtual-channel-id = <0>;
|
||||
qcom,mdss-dsi-stream = <0>;
|
||||
qcom,mdss-dsi-panel-width = <1080>;
|
||||
qcom,mdss-dsi-panel-height = <2160>;
|
||||
qcom,mdss-dsi-h-front-porch = <8>;
|
||||
qcom,mdss-dsi-h-back-porch = <8>;
|
||||
qcom,mdss-dsi-h-pulse-width = <4>;
|
||||
qcom,mdss-dsi-h-sync-skew = <0>;
|
||||
qcom,mdss-dsi-v-back-porch = <92>;
|
||||
qcom,mdss-dsi-v-front-porch = <170>;
|
||||
qcom,mdss-dsi-v-pulse-width = <1>;
|
||||
qcom,mdss-dsi-h-left-border = <0>;
|
||||
qcom,mdss-dsi-h-right-border = <0>;
|
||||
qcom,mdss-dsi-v-top-border = <0>;
|
||||
qcom,mdss-dsi-v-bottom-border = <0>;
|
||||
qcom,mdss-dsi-bpp = <24>;
|
||||
qcom,mdss-dsi-underflow-color = <0xff>;
|
||||
qcom,mdss-dsi-border-color = <0>;
|
||||
qcom,mdss-dsi-h-sync-pulse = <0>;
|
||||
qcom,mdss-dsi-traffic-mode = "burst_mode";
|
||||
qcom,mdss-dsi-bllp-eof-power-mode;
|
||||
qcom,mdss-dsi-bllp-power-mode;
|
||||
qcom,mdss-dsi-lane-0-state;
|
||||
qcom,mdss-dsi-lane-1-state;
|
||||
qcom,mdss-dsi-lane-2-state;
|
||||
qcom,mdss-dsi-lane-3-state;
|
||||
qcom,mdss-dsi-panel-timings = [F8 3C 28 00 6E 72 2E
|
||||
40 30 03 04 00];
|
||||
qcom,mdss-dsi-t-clk-post = <0x02>;
|
||||
qcom,mdss-dsi-t-clk-pre = <0x2D>;
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,mdss-dsi-dma-trigger = "trigger_sw";
|
||||
qcom,mdss-dsi-mdp-trigger = "none";
|
||||
qcom,mdss-dsi-on-command = [05 01 00 00 0B 00 02 35 00
|
||||
15 01 00 00 00 00 02 36 00
|
||||
15 01 00 00 00 00 02 51 FF
|
||||
15 01 00 00 00 00 02 53 24
|
||||
15 01 00 00 00 00 02 55 80
|
||||
39 01 00 00 00 00 02 B0 AC
|
||||
39 01 00 00 00 00 06 B1 46 00 80 14 85
|
||||
39 01 00 00 00 00 08 B3 05 08 14 00 1C 00 02
|
||||
39 01 00 00 00 00 10 B4 83 08 00 04 04 04 04 00
|
||||
00 00 00 00 00 00 00
|
||||
39 01 00 00 00 00 13 B5 03 1E 0B 02 29 00 00 00
|
||||
00 04 00 24 00 10 10 10 10 00
|
||||
39 01 00 00 00 00 0A B6 00 72 39 13 08 67 00 60 46
|
||||
39 01 00 00 00 00 05 B7 00 50 37 04
|
||||
39 01 00 00 00 00 0C B8 70 38 14 ED 08 04 00 01
|
||||
0A A0 00
|
||||
39 01 00 00 00 00 06 C0 8A 8F 18 C1 12
|
||||
39 01 00 00 00 00 07 C1 01 00 30 C2 C7 0F
|
||||
39 01 00 00 00 00 03 C2 2A 00
|
||||
39 01 00 00 00 00 07 C3 05 0E 0E 50 88 09
|
||||
39 01 00 00 00 00 04 C4 A2 E8 F4
|
||||
39 01 00 00 00 00 05 C5 C2 2A 4E 08
|
||||
39 01 00 00 00 00 03 C6 15 01
|
||||
39 01 00 00 00 00 07 CA 00 00 03 84 55 F5
|
||||
39 01 00 00 00 00 03 CB 3F A0
|
||||
39 01 00 00 00 00 09 CC F0 03 10 55 11 FC 34 34
|
||||
39 01 00 00 00 00 07 CD 11 50 50 90 00 F3
|
||||
39 01 00 00 00 00 07 CE A0 28 28 34 00 AB
|
||||
39 01 00 00 00 00 10 D0 10 1B 22 2A 35 42 4A 53 4D
|
||||
44 34 23 10 03 81
|
||||
39 01 00 00 00 00 10 D1 09 15 1C 25 31 3F 47 52 4F
|
||||
45 34 22 0E 01 83
|
||||
39 01 00 00 00 00 10 D2 10 1B 22 29 34 41 49 52 4E
|
||||
44 34 23 10 03 81
|
||||
39 01 00 00 00 00 10 D3 09 15 1C 24 30 3E 46 51 50
|
||||
45 34 22 0E 01 83
|
||||
39 01 00 00 00 00 10 D4 10 1B 22 2A 35 42 4A 53 4D
|
||||
44 34 23 10 03 81
|
||||
39 01 00 00 00 00 10 D5 09 15 1C 25 31 3F 47 52 4F
|
||||
45 34 22 0E 01 83
|
||||
39 01 00 00 00 00 0D E5 24 23 11 10 00 0A 08 06 04
|
||||
11 0E 23
|
||||
39 01 00 00 00 00 0D E6 24 23 11 10 01 0B 09 07 05
|
||||
11 0E 23
|
||||
39 01 00 00 00 00 07 E7 15 16 17 18 19 1A
|
||||
39 01 00 00 00 00 07 E8 1B 1C 1D 1E 1F 20
|
||||
39 01 00 00 00 00 05 ED 00 01 53 0C
|
||||
39 01 00 00 00 00 03 F0 B2 00
|
||||
39 01 00 00 00 00 05 F2 01 00 17 00
|
||||
39 01 00 00 64 00 07 F3 00 50 90 C9 00 01
|
||||
05 01 00 00 78 00 02 11 00
|
||||
05 01 00 00 05 00 02 29 00];
|
||||
qcom,mdss-dsi-off-command = [05 01 00 00 32 00 02 28 00
|
||||
05 01 00 00 64 00 02 10 00];
|
||||
qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
|
||||
qcom,mdss-dsi-off-command-state = "dsi_lp_mode";
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-reset-sequence = <1 400>, <0 400>, <1 400>;
|
||||
qcom,mdss-dsi-tx-eot-append;
|
||||
qcom,mdss-dsi-post-init-delay = <1>;
|
||||
};
|
||||
};
|
@ -0,0 +1,105 @@
|
||||
/* Copyright (c) 2015-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&mdss_mdp {
|
||||
dsi_dual_nt35597_cmd: qcom,mdss_dsi_nt35597_wqxga_cmd{
|
||||
qcom,mdss-dsi-panel-name =
|
||||
"Dual nt35597 cmd mode dsi panel without DSC";
|
||||
qcom,mdss-dsi-panel-type = "dsi_cmd_mode";
|
||||
qcom,mdss-dsi-panel-framerate = <60>;
|
||||
qcom,mdss-dsi-virtual-channel-id = <0>;
|
||||
qcom,mdss-dsi-stream = <0>;
|
||||
qcom,mdss-dsi-panel-width = <720>;
|
||||
qcom,mdss-dsi-panel-height = <2560>;
|
||||
qcom,mdss-dsi-h-front-porch = <100>;
|
||||
qcom,mdss-dsi-h-back-porch = <32>;
|
||||
qcom,mdss-dsi-h-pulse-width = <16>;
|
||||
qcom,mdss-dsi-h-sync-skew = <0>;
|
||||
qcom,mdss-dsi-v-back-porch = <7>;
|
||||
qcom,mdss-dsi-v-front-porch = <8>;
|
||||
qcom,mdss-dsi-v-pulse-width = <1>;
|
||||
qcom,mdss-dsi-h-left-border = <0>;
|
||||
qcom,mdss-dsi-h-right-border = <0>;
|
||||
qcom,mdss-dsi-v-top-border = <0>;
|
||||
qcom,mdss-dsi-v-bottom-border = <0>;
|
||||
qcom,mdss-dsi-bpp = <24>;
|
||||
qcom,mdss-dsi-color-order = "rgb_swap_rgb";
|
||||
qcom,mdss-dsi-underflow-color = <0xff>;
|
||||
qcom,mdss-dsi-border-color = <0>;
|
||||
qcom,mdss-dsi-h-sync-pulse = <0>;
|
||||
qcom,mdss-dsi-traffic-mode = "non_burst_sync_event";
|
||||
qcom,mdss-dsi-bllp-eof-power-mode;
|
||||
qcom,mdss-dsi-bllp-power-mode;
|
||||
qcom,mdss-dsi-lane-0-state;
|
||||
qcom,mdss-dsi-lane-1-state;
|
||||
qcom,mdss-dsi-lane-2-state;
|
||||
qcom,mdss-dsi-lane-3-state;
|
||||
qcom,mdss-dsi-panel-timings = [cd 32 22 00 60 64 26 34 29 03
|
||||
04 00];
|
||||
qcom,adjust-timer-wakeup-ms = <1>;
|
||||
qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>;
|
||||
qcom,mdss-pan-physical-width-dimension = <74>;
|
||||
qcom,mdss-pan-physical-height-dimension = <131>;
|
||||
qcom,mdss-dsi-t-clk-post = <0x0d>;
|
||||
qcom,mdss-dsi-t-clk-pre = <0x2d>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,mdss-dsi-dma-trigger = "trigger_sw";
|
||||
qcom,mdss-dsi-mdp-trigger = "none";
|
||||
qcom,mdss-dsi-te-pin-select = <1>;
|
||||
qcom,mdss-dsi-wr-mem-start = <0x2c>;
|
||||
qcom,mdss-dsi-wr-mem-continue = <0x3c>;
|
||||
qcom,mdss-dsi-te-dcs-command = <1>;
|
||||
qcom,mdss-dsi-te-check-enable;
|
||||
qcom,mdss-dsi-te-using-te-pin;
|
||||
qcom,ulps-enabled;
|
||||
qcom,mdss-dsi-on-command = [15 01 00 00 10 00 02 ff 10
|
||||
15 01 00 00 10 00 02 fb 01
|
||||
15 01 00 00 10 00 02 ba 03
|
||||
15 01 00 00 10 00 02 e5 01
|
||||
15 01 00 00 10 00 02 35 00
|
||||
15 01 00 00 10 00 02 bb 10
|
||||
15 01 00 00 10 00 02 b0 03
|
||||
15 01 00 00 10 00 02 ff e0
|
||||
15 01 00 00 10 00 02 fb 01
|
||||
15 01 00 00 10 00 02 6b 3d
|
||||
15 01 00 00 10 00 02 6c 3d
|
||||
15 01 00 00 10 00 02 6d 3d
|
||||
15 01 00 00 10 00 02 6e 3d
|
||||
15 01 00 00 10 00 02 6f 3d
|
||||
15 01 00 00 10 00 02 35 02
|
||||
15 01 00 00 10 00 02 36 72
|
||||
15 01 00 00 10 00 02 37 10
|
||||
15 01 00 00 10 00 02 08 c0
|
||||
15 01 00 00 10 00 02 ff 24
|
||||
15 01 00 00 10 00 02 fb 01
|
||||
15 01 00 00 10 00 02 c6 06
|
||||
15 01 00 00 10 00 02 ff 10
|
||||
05 01 00 00 a0 00 02 11 00
|
||||
05 01 00 00 a0 00 02 29 00];
|
||||
|
||||
qcom,mdss-dsi-off-command = [05 01 00 00 0a 00 02 28 00
|
||||
05 01 00 00 3c 00 02 10 00];
|
||||
|
||||
qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
|
||||
qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
|
||||
|
||||
qcom,config-select = <&dsi_dual_nt35597_cmd_config0>;
|
||||
|
||||
dsi_dual_nt35597_cmd_config0: config0 {
|
||||
qcom,split-mode = "dualctl-split";
|
||||
};
|
||||
|
||||
dsi_dual_nt35597_cmd_config1: config1 {
|
||||
qcom,split-mode = "pingpong-split";
|
||||
};
|
||||
};
|
||||
};
|
@ -0,0 +1,96 @@
|
||||
/* Copyright (c) 2015-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&mdss_mdp {
|
||||
dsi_dual_nt35597_video: qcom,mdss_dsi_nt35597_wqxga_video {
|
||||
qcom,mdss-dsi-panel-name = "Dual nt35597 video mode dsi
|
||||
panel without DSC";
|
||||
qcom,mdss-dsi-panel-type = "dsi_video_mode";
|
||||
qcom,mdss-dsi-panel-framerate = <60>;
|
||||
qcom,mdss-dsi-virtual-channel-id = <0>;
|
||||
qcom,mdss-dsi-stream = <0>;
|
||||
qcom,mdss-dsi-panel-width = <720>;
|
||||
qcom,mdss-dsi-panel-height = <2560>;
|
||||
qcom,mdss-dsi-h-front-porch = <100>;
|
||||
qcom,mdss-dsi-h-back-porch = <32>;
|
||||
qcom,mdss-dsi-h-pulse-width = <16>;
|
||||
qcom,mdss-dsi-h-sync-skew = <0>;
|
||||
qcom,mdss-dsi-v-back-porch = <7>;
|
||||
qcom,mdss-dsi-v-front-porch = <8>;
|
||||
qcom,mdss-dsi-v-pulse-width = <1>;
|
||||
qcom,mdss-dsi-bpp = <24>;
|
||||
qcom,mdss-dsi-underflow-color = <0x3ff>;
|
||||
qcom,mdss-dsi-border-color = <0>;
|
||||
qcom,mdss-dsi-panel-hdr-enabled;
|
||||
qcom,mdss-dsi-panel-hdr-color-primaries = <14500 15500 32000
|
||||
17000 15500 30000 8000 3000>;
|
||||
qcom,mdss-dsi-panel-peak-brightness = <4200000>;
|
||||
qcom,mdss-dsi-panel-blackness-level = <3230>;
|
||||
qcom,mdss-dsi-on-command = [15 01 00 00 00 00 02 ff 10
|
||||
15 01 00 00 00 00 02 fb 01
|
||||
15 01 00 00 00 00 02 ba 03
|
||||
15 01 00 00 00 00 02 e5 01
|
||||
15 01 00 00 00 00 02 35 00
|
||||
15 01 00 00 00 00 02 bb 03
|
||||
15 01 00 00 00 00 02 b0 03
|
||||
39 01 00 00 00 00 06 3b 03 08 08 64 9a
|
||||
15 01 00 00 00 00 02 ff e0
|
||||
15 01 00 00 00 00 02 fb 01
|
||||
15 01 00 00 00 00 02 6b 3d
|
||||
15 01 00 00 00 00 02 6c 3d
|
||||
15 01 00 00 00 00 02 6d 3d
|
||||
15 01 00 00 00 00 02 6e 3d
|
||||
15 01 00 00 00 00 02 6f 3d
|
||||
15 01 00 00 00 00 02 35 02
|
||||
15 01 00 00 00 00 02 36 72
|
||||
15 01 00 00 00 00 02 37 10
|
||||
15 01 00 00 00 00 02 08 c0
|
||||
15 01 00 00 00 00 02 ff 10
|
||||
05 01 00 00 78 00 02 11 00
|
||||
05 01 00 00 32 00 02 29 00];
|
||||
qcom,mdss-dsi-off-command = [05 01 00 00 0a 00 02 28 00
|
||||
05 01 00 00 3c 00 02 10 00];
|
||||
qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
|
||||
qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
|
||||
qcom,mdss-dsi-h-sync-pulse = <0>;
|
||||
qcom,mdss-dsi-traffic-mode = "non_burst_sync_event";
|
||||
qcom,mdss-dsi-bllp-eof-power-mode;
|
||||
qcom,mdss-dsi-bllp-power-mode;
|
||||
qcom,mdss-dsi-lane-0-state;
|
||||
qcom,mdss-dsi-lane-1-state;
|
||||
qcom,mdss-dsi-lane-2-state;
|
||||
qcom,mdss-dsi-lane-3-state;
|
||||
qcom,mdss-dsi-panel-timings = [e2 36 24 00 66 6a 28 38 2a
|
||||
03 04 00];
|
||||
qcom,mdss-dsi-t-clk-post = <0x0d>;
|
||||
qcom,mdss-dsi-t-clk-pre = <0x2d>;
|
||||
qcom,mdss-dsi-dma-trigger = "trigger_sw";
|
||||
qcom,mdss-dsi-mdp-trigger = "none";
|
||||
qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>;
|
||||
qcom,mdss-pan-physical-width-dimension = <74>;
|
||||
qcom,mdss-pan-physical-height-dimension = <131>;
|
||||
qcom,mdss-dsi-min-refresh-rate = <55>;
|
||||
qcom,mdss-dsi-max-refresh-rate = <60>;
|
||||
qcom,mdss-dsi-pan-enable-dynamic-fps;
|
||||
qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp";
|
||||
|
||||
qcom,config-select = <&dsi_dual_nt35597_video_config0>;
|
||||
|
||||
dsi_dual_nt35597_video_config0: config0 {
|
||||
qcom,split-mode = "dualctl-split";
|
||||
};
|
||||
|
||||
dsi_dual_nt35597_video_config1: config1 {
|
||||
qcom,split-mode = "pingpong-split";
|
||||
};
|
||||
};
|
||||
};
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
@ -243,5 +243,16 @@
|
||||
qcom,mdss-dsc-block-prediction-enable;
|
||||
};
|
||||
};
|
||||
dsi_nt35597_truly_dsc_cmd_config2: config2 {
|
||||
qcom,lm-split = <720 720>;
|
||||
qcom,mdss-dsc-encoders = <2>; /* DSC Merge */
|
||||
qcom,mdss-dsc-slice-height = <16>;
|
||||
qcom,mdss-dsc-slice-width = <720>;
|
||||
qcom,mdss-dsc-slice-per-pkt = <2>;
|
||||
|
||||
qcom,mdss-dsc-bit-per-component = <8>;
|
||||
qcom,mdss-dsc-bit-per-pixel = <8>;
|
||||
qcom,mdss-dsc-block-prediction-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
@ -229,5 +229,16 @@
|
||||
qcom,mdss-dsc-block-prediction-enable;
|
||||
};
|
||||
};
|
||||
dsi_nt35597_truly_dsc_video_config2: config2 {
|
||||
qcom,lm-split = <720 720>;
|
||||
qcom,mdss-dsc-encoders = <2>; /* DSC Merge */
|
||||
qcom,mdss-dsc-slice-height = <16>;
|
||||
qcom,mdss-dsc-slice-width = <720>;
|
||||
qcom,mdss-dsc-slice-per-pkt = <2>;
|
||||
|
||||
qcom,mdss-dsc-bit-per-component = <8>;
|
||||
qcom,mdss-dsc-bit-per-pixel = <8>;
|
||||
qcom,mdss-dsc-block-prediction-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
@ -15,13 +15,177 @@
|
||||
qcom,mdss-dsi-panel-name =
|
||||
"Dual nt35597 video mode dsi truly panel without DSC";
|
||||
qcom,mdss-dsi-panel-type = "dsi_video_mode";
|
||||
qcom,mdss-dsi-panel-framerate = <60>;
|
||||
qcom,mdss-dsi-virtual-channel-id = <0>;
|
||||
qcom,mdss-dsi-stream = <0>;
|
||||
qcom,mdss-dsi-panel-hdr-enabled;
|
||||
qcom,mdss-dsi-panel-hdr-color-primaries = <14500 15500 32000
|
||||
17000 15500 30000 8000 3000>;
|
||||
qcom,mdss-dsi-panel-peak-brightness = <4200000>;
|
||||
qcom,mdss-dsi-panel-blackness-level = <3230>;
|
||||
qcom,mdss-dsi-panel-width = <720>;
|
||||
qcom,mdss-dsi-panel-height = <2560>;
|
||||
qcom,mdss-dsi-h-front-porch = <100>;
|
||||
qcom,mdss-dsi-h-back-porch = <32>;
|
||||
qcom,mdss-dsi-h-pulse-width = <16>;
|
||||
qcom,mdss-dsi-h-sync-skew = <0>;
|
||||
qcom,mdss-dsi-v-back-porch = <7>;
|
||||
qcom,mdss-dsi-v-front-porch = <8>;
|
||||
qcom,mdss-dsi-v-pulse-width = <1>;
|
||||
qcom,mdss-dsi-bpp = <24>;
|
||||
qcom,mdss-dsi-underflow-color = <0x3ff>;
|
||||
qcom,mdss-dsi-border-color = <0>;
|
||||
qcom,mdss-dsi-on-command = [
|
||||
/* CMD2_P0 */
|
||||
15 01 00 00 00 00 02 FF 20
|
||||
15 01 00 00 00 00 02 FB 01
|
||||
15 01 00 00 00 00 02 00 01
|
||||
15 01 00 00 00 00 02 01 55
|
||||
15 01 00 00 00 00 02 02 45
|
||||
15 01 00 00 00 00 02 05 40
|
||||
15 01 00 00 00 00 02 06 19
|
||||
15 01 00 00 00 00 02 07 1E
|
||||
15 01 00 00 00 00 02 0B 73
|
||||
15 01 00 00 00 00 02 0C 73
|
||||
15 01 00 00 00 00 02 0E B0
|
||||
15 01 00 00 00 00 02 0F AE
|
||||
15 01 00 00 00 00 02 11 B8
|
||||
15 01 00 00 00 00 02 13 00
|
||||
15 01 00 00 00 00 02 58 80
|
||||
15 01 00 00 00 00 02 59 01
|
||||
15 01 00 00 00 00 02 5A 00
|
||||
15 01 00 00 00 00 02 5B 01
|
||||
15 01 00 00 00 00 02 5C 80
|
||||
15 01 00 00 00 00 02 5D 81
|
||||
15 01 00 00 00 00 02 5E 00
|
||||
15 01 00 00 00 00 02 5F 01
|
||||
15 01 00 00 00 00 02 72 11
|
||||
15 01 00 00 00 00 02 68 03
|
||||
/* CMD2_P4 */
|
||||
15 01 00 00 00 00 02 FF 24
|
||||
15 01 00 00 00 00 02 FB 01
|
||||
15 01 00 00 00 00 02 00 1C
|
||||
15 01 00 00 00 00 02 01 0B
|
||||
15 01 00 00 00 00 02 02 0C
|
||||
15 01 00 00 00 00 02 03 01
|
||||
15 01 00 00 00 00 02 04 0F
|
||||
15 01 00 00 00 00 02 05 10
|
||||
15 01 00 00 00 00 02 06 10
|
||||
15 01 00 00 00 00 02 07 10
|
||||
15 01 00 00 00 00 02 08 89
|
||||
15 01 00 00 00 00 02 09 8A
|
||||
15 01 00 00 00 00 02 0A 13
|
||||
15 01 00 00 00 00 02 0B 13
|
||||
15 01 00 00 00 00 02 0C 15
|
||||
15 01 00 00 00 00 02 0D 15
|
||||
15 01 00 00 00 00 02 0E 17
|
||||
15 01 00 00 00 00 02 0F 17
|
||||
15 01 00 00 00 00 02 10 1C
|
||||
15 01 00 00 00 00 02 11 0B
|
||||
15 01 00 00 00 00 02 12 0C
|
||||
15 01 00 00 00 00 02 13 01
|
||||
15 01 00 00 00 00 02 14 0F
|
||||
15 01 00 00 00 00 02 15 10
|
||||
15 01 00 00 00 00 02 16 10
|
||||
15 01 00 00 00 00 02 17 10
|
||||
15 01 00 00 00 00 02 18 89
|
||||
15 01 00 00 00 00 02 19 8A
|
||||
15 01 00 00 00 00 02 1A 13
|
||||
15 01 00 00 00 00 02 1B 13
|
||||
15 01 00 00 00 00 02 1C 15
|
||||
15 01 00 00 00 00 02 1D 15
|
||||
15 01 00 00 00 00 02 1E 17
|
||||
15 01 00 00 00 00 02 1F 17
|
||||
/* STV */
|
||||
15 01 00 00 00 00 02 20 40
|
||||
15 01 00 00 00 00 02 21 01
|
||||
15 01 00 00 00 00 02 22 00
|
||||
15 01 00 00 00 00 02 23 40
|
||||
15 01 00 00 00 00 02 24 40
|
||||
15 01 00 00 00 00 02 25 6D
|
||||
15 01 00 00 00 00 02 26 40
|
||||
15 01 00 00 00 00 02 27 40
|
||||
/* Vend */
|
||||
15 01 00 00 00 00 02 E0 00
|
||||
15 01 00 00 00 00 02 DC 21
|
||||
15 01 00 00 00 00 02 DD 22
|
||||
15 01 00 00 00 00 02 DE 07
|
||||
15 01 00 00 00 00 02 DF 07
|
||||
15 01 00 00 00 00 02 E3 6D
|
||||
15 01 00 00 00 00 02 E1 07
|
||||
15 01 00 00 00 00 02 E2 07
|
||||
/* UD */
|
||||
15 01 00 00 00 00 02 29 D8
|
||||
15 01 00 00 00 00 02 2A 2A
|
||||
/* CLK */
|
||||
15 01 00 00 00 00 02 4B 03
|
||||
15 01 00 00 00 00 02 4C 11
|
||||
15 01 00 00 00 00 02 4D 10
|
||||
15 01 00 00 00 00 02 4E 01
|
||||
15 01 00 00 00 00 02 4F 01
|
||||
15 01 00 00 00 00 02 50 10
|
||||
15 01 00 00 00 00 02 51 00
|
||||
15 01 00 00 00 00 02 52 80
|
||||
15 01 00 00 00 00 02 53 00
|
||||
15 01 00 00 00 00 02 56 00
|
||||
15 01 00 00 00 00 02 54 07
|
||||
15 01 00 00 00 00 02 58 07
|
||||
15 01 00 00 00 00 02 55 25
|
||||
/* Reset XDONB */
|
||||
15 01 00 00 00 00 02 5B 43
|
||||
15 01 00 00 00 00 02 5C 00
|
||||
15 01 00 00 00 00 02 5F 73
|
||||
15 01 00 00 00 00 02 60 73
|
||||
15 01 00 00 00 00 02 63 22
|
||||
15 01 00 00 00 00 02 64 00
|
||||
15 01 00 00 00 00 02 67 08
|
||||
15 01 00 00 00 00 02 68 04
|
||||
/* Resolution:1440x2560*/
|
||||
15 01 00 00 00 00 02 72 02
|
||||
/* mux */
|
||||
15 01 00 00 00 00 02 7A 80
|
||||
15 01 00 00 00 00 02 7B 91
|
||||
15 01 00 00 00 00 02 7C D8
|
||||
15 01 00 00 00 00 02 7D 60
|
||||
15 01 00 00 00 00 02 7F 15
|
||||
15 01 00 00 00 00 02 75 15
|
||||
/* ABOFF */
|
||||
15 01 00 00 00 00 02 B3 C0
|
||||
15 01 00 00 00 00 02 B4 00
|
||||
15 01 00 00 00 00 02 B5 00
|
||||
/* Source EQ */
|
||||
15 01 00 00 00 00 02 78 00
|
||||
15 01 00 00 00 00 02 79 00
|
||||
15 01 00 00 00 00 02 80 00
|
||||
15 01 00 00 00 00 02 83 00
|
||||
/* FP BP */
|
||||
15 01 00 00 00 00 02 93 0A
|
||||
15 01 00 00 00 00 02 94 0A
|
||||
/* Inversion Type */
|
||||
15 01 00 00 00 00 02 8A 00
|
||||
15 01 00 00 00 00 02 9B FF
|
||||
/* IMGSWAP =1 @PortSwap=1 */
|
||||
15 01 00 00 00 00 02 9D B0
|
||||
15 01 00 00 00 00 02 9F 63
|
||||
15 01 00 00 00 00 02 98 10
|
||||
/* FRM */
|
||||
15 01 00 00 00 00 02 EC 00
|
||||
/* CMD1 */
|
||||
15 01 00 00 00 00 02 FF 10
|
||||
/* VBP+VSA=,VFP = 10H */
|
||||
15 01 00 00 00 00 04 3B 03 0A 0A
|
||||
/* FTE on */
|
||||
15 01 00 00 00 00 02 35 00
|
||||
/* EN_BK =1(auto black) */
|
||||
15 01 00 00 00 00 02 E5 01
|
||||
/* CMD mode(10) VDO mode(03) */
|
||||
15 01 00 00 00 00 02 BB 03
|
||||
/* Non Reload MTP */
|
||||
15 01 00 00 00 00 02 FB 01
|
||||
/* SlpOut + DispOn */
|
||||
05 01 00 00 78 00 02 11 00
|
||||
05 01 00 00 78 00 02 29 00
|
||||
];
|
||||
qcom,mdss-dsi-off-command = [05 01 00 00 78 00 02 28 00
|
||||
05 01 00 00 78 00 02 10 00];
|
||||
qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
|
||||
qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
|
||||
qcom,mdss-dsi-h-sync-pulse = <0>;
|
||||
qcom,mdss-dsi-traffic-mode = "non_burst_sync_event";
|
||||
qcom,mdss-dsi-bllp-eof-power-mode;
|
||||
qcom,mdss-dsi-bllp-power-mode;
|
||||
@ -29,185 +193,23 @@
|
||||
qcom,mdss-dsi-lane-1-state;
|
||||
qcom,mdss-dsi-lane-2-state;
|
||||
qcom,mdss-dsi-lane-3-state;
|
||||
qcom,mdss-dsi-panel-timings = [e2 36 24 00 66 6a 28 38 2a 03
|
||||
04 00];
|
||||
qcom,mdss-dsi-t-clk-post = <0x0d>;
|
||||
qcom,mdss-dsi-t-clk-pre = <0x2d>;
|
||||
qcom,mdss-dsi-dma-trigger = "trigger_sw";
|
||||
qcom,mdss-dsi-mdp-trigger = "none";
|
||||
qcom,mdss-dsi-reset-sequence = <1 20>, <0 20>, <1 50>;
|
||||
qcom,mdss-dsi-tx-eot-append;
|
||||
qcom,mdss-pan-physical-width-dimension = <74>;
|
||||
qcom,mdss-pan-physical-height-dimension = <131>;
|
||||
qcom,mdss-dsi-tx-eot-append;
|
||||
qcom,mdss-dsi-underflow-color = <0x3ff>;
|
||||
qcom,mdss-dsi-border-color = <0>;
|
||||
qcom,mdss-dsi-bpp = <24>;
|
||||
|
||||
qcom,mdss-dsi-display-timings {
|
||||
timing@0{
|
||||
qcom,mdss-dsi-panel-width = <720>;
|
||||
qcom,mdss-dsi-panel-height = <2560>;
|
||||
qcom,mdss-dsi-h-front-porch = <100>;
|
||||
qcom,mdss-dsi-h-back-porch = <32>;
|
||||
qcom,mdss-dsi-h-pulse-width = <16>;
|
||||
qcom,mdss-dsi-h-sync-skew = <0>;
|
||||
qcom,mdss-dsi-v-back-porch = <7>;
|
||||
qcom,mdss-dsi-v-front-porch = <8>;
|
||||
qcom,mdss-dsi-v-pulse-width = <1>;
|
||||
qcom,mdss-dsi-panel-framerate = <60>;
|
||||
qcom,mdss-dsi-on-command = [
|
||||
/* CMD2_P0 */
|
||||
15 01 00 00 00 00 02 FF 20
|
||||
15 01 00 00 00 00 02 FB 01
|
||||
15 01 00 00 00 00 02 00 01
|
||||
15 01 00 00 00 00 02 01 55
|
||||
15 01 00 00 00 00 02 02 45
|
||||
15 01 00 00 00 00 02 05 40
|
||||
15 01 00 00 00 00 02 06 19
|
||||
15 01 00 00 00 00 02 07 1E
|
||||
15 01 00 00 00 00 02 0B 73
|
||||
15 01 00 00 00 00 02 0C 73
|
||||
15 01 00 00 00 00 02 0E B0
|
||||
15 01 00 00 00 00 02 0F AE
|
||||
15 01 00 00 00 00 02 11 B8
|
||||
15 01 00 00 00 00 02 13 00
|
||||
15 01 00 00 00 00 02 58 80
|
||||
15 01 00 00 00 00 02 59 01
|
||||
15 01 00 00 00 00 02 5A 00
|
||||
15 01 00 00 00 00 02 5B 01
|
||||
15 01 00 00 00 00 02 5C 80
|
||||
15 01 00 00 00 00 02 5D 81
|
||||
15 01 00 00 00 00 02 5E 00
|
||||
15 01 00 00 00 00 02 5F 01
|
||||
15 01 00 00 00 00 02 72 31
|
||||
15 01 00 00 00 00 02 68 03
|
||||
/* CMD2_P4 */
|
||||
15 01 00 00 00 00 02 FF 24
|
||||
15 01 00 00 00 00 02 FB 01
|
||||
15 01 00 00 00 00 02 00 1C
|
||||
15 01 00 00 00 00 02 01 0B
|
||||
15 01 00 00 00 00 02 02 0C
|
||||
15 01 00 00 00 00 02 03 01
|
||||
15 01 00 00 00 00 02 04 0F
|
||||
15 01 00 00 00 00 02 05 10
|
||||
15 01 00 00 00 00 02 06 10
|
||||
15 01 00 00 00 00 02 07 10
|
||||
15 01 00 00 00 00 02 08 89
|
||||
15 01 00 00 00 00 02 09 8A
|
||||
15 01 00 00 00 00 02 0A 13
|
||||
15 01 00 00 00 00 02 0B 13
|
||||
15 01 00 00 00 00 02 0C 15
|
||||
15 01 00 00 00 00 02 0D 15
|
||||
15 01 00 00 00 00 02 0E 17
|
||||
15 01 00 00 00 00 02 0F 17
|
||||
15 01 00 00 00 00 02 10 1C
|
||||
15 01 00 00 00 00 02 11 0B
|
||||
15 01 00 00 00 00 02 12 0C
|
||||
15 01 00 00 00 00 02 13 01
|
||||
15 01 00 00 00 00 02 14 0F
|
||||
15 01 00 00 00 00 02 15 10
|
||||
15 01 00 00 00 00 02 16 10
|
||||
15 01 00 00 00 00 02 17 10
|
||||
15 01 00 00 00 00 02 18 89
|
||||
15 01 00 00 00 00 02 19 8A
|
||||
15 01 00 00 00 00 02 1A 13
|
||||
15 01 00 00 00 00 02 1B 13
|
||||
15 01 00 00 00 00 02 1C 15
|
||||
15 01 00 00 00 00 02 1D 15
|
||||
15 01 00 00 00 00 02 1E 17
|
||||
15 01 00 00 00 00 02 1F 17
|
||||
/* STV */
|
||||
15 01 00 00 00 00 02 20 40
|
||||
15 01 00 00 00 00 02 21 01
|
||||
15 01 00 00 00 00 02 22 00
|
||||
15 01 00 00 00 00 02 23 40
|
||||
15 01 00 00 00 00 02 24 40
|
||||
15 01 00 00 00 00 02 25 6D
|
||||
15 01 00 00 00 00 02 26 40
|
||||
15 01 00 00 00 00 02 27 40
|
||||
/* Vend */
|
||||
15 01 00 00 00 00 02 E0 00
|
||||
15 01 00 00 00 00 02 DC 21
|
||||
15 01 00 00 00 00 02 DD 22
|
||||
15 01 00 00 00 00 02 DE 07
|
||||
15 01 00 00 00 00 02 DF 07
|
||||
15 01 00 00 00 00 02 E3 6D
|
||||
15 01 00 00 00 00 02 E1 07
|
||||
15 01 00 00 00 00 02 E2 07
|
||||
/* UD */
|
||||
15 01 00 00 00 00 02 29 D8
|
||||
15 01 00 00 00 00 02 2A 2A
|
||||
/* CLK */
|
||||
15 01 00 00 00 00 02 4B 03
|
||||
15 01 00 00 00 00 02 4C 11
|
||||
15 01 00 00 00 00 02 4D 10
|
||||
15 01 00 00 00 00 02 4E 01
|
||||
15 01 00 00 00 00 02 4F 01
|
||||
15 01 00 00 00 00 02 50 10
|
||||
15 01 00 00 00 00 02 51 00
|
||||
15 01 00 00 00 00 02 52 80
|
||||
15 01 00 00 00 00 02 53 00
|
||||
15 01 00 00 00 00 02 56 00
|
||||
15 01 00 00 00 00 02 54 07
|
||||
15 01 00 00 00 00 02 58 07
|
||||
15 01 00 00 00 00 02 55 25
|
||||
/* Reset XDONB */
|
||||
15 01 00 00 00 00 02 5B 43
|
||||
15 01 00 00 00 00 02 5C 00
|
||||
15 01 00 00 00 00 02 5F 73
|
||||
15 01 00 00 00 00 02 60 73
|
||||
15 01 00 00 00 00 02 63 22
|
||||
15 01 00 00 00 00 02 64 00
|
||||
15 01 00 00 00 00 02 67 08
|
||||
15 01 00 00 00 00 02 68 04
|
||||
/* Resolution:1440x2560*/
|
||||
15 01 00 00 00 00 02 72 02
|
||||
/* mux */
|
||||
15 01 00 00 00 00 02 7A 80
|
||||
15 01 00 00 00 00 02 7B 91
|
||||
15 01 00 00 00 00 02 7C D8
|
||||
15 01 00 00 00 00 02 7D 60
|
||||
15 01 00 00 00 00 02 7F 15
|
||||
15 01 00 00 00 00 02 75 15
|
||||
/* ABOFF */
|
||||
15 01 00 00 00 00 02 B3 C0
|
||||
15 01 00 00 00 00 02 B4 00
|
||||
15 01 00 00 00 00 02 B5 00
|
||||
/* Source EQ */
|
||||
15 01 00 00 00 00 02 78 00
|
||||
15 01 00 00 00 00 02 79 00
|
||||
15 01 00 00 00 00 02 80 00
|
||||
15 01 00 00 00 00 02 83 00
|
||||
/* FP BP */
|
||||
15 01 00 00 00 00 02 93 0A
|
||||
15 01 00 00 00 00 02 94 0A
|
||||
/* Inversion Type */
|
||||
15 01 00 00 00 00 02 8A 00
|
||||
15 01 00 00 00 00 02 9B FF
|
||||
/* IMGSWAP =1 @PortSwap=1 */
|
||||
15 01 00 00 00 00 02 9D B0
|
||||
15 01 00 00 00 00 02 9F 63
|
||||
15 01 00 00 00 00 02 98 10
|
||||
/* FRM */
|
||||
15 01 00 00 00 00 02 EC 00
|
||||
/* CMD1 */
|
||||
15 01 00 00 00 00 02 FF 10
|
||||
/* VBP+VSA=,VFP = 10H */
|
||||
15 01 00 00 00 00 04 3B 03 0A 0A
|
||||
/* FTE on */
|
||||
15 01 00 00 00 00 02 35 00
|
||||
/* EN_BK =1(auto black) */
|
||||
15 01 00 00 00 00 02 E5 01
|
||||
/* CMD mode(10) VDO mode(03) */
|
||||
15 01 00 00 00 00 02 BB 03
|
||||
/* Non Reload MTP */
|
||||
15 01 00 00 00 00 02 FB 01
|
||||
/* SlpOut + DispOn */
|
||||
05 01 00 00 78 00 02 11 00
|
||||
05 01 00 00 78 00 02 29 00
|
||||
];
|
||||
qcom,mdss-dsi-off-command = [05 01 00 00 78 00
|
||||
02 28 00 05 01 00 00 78 00 02 10 00];
|
||||
qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
|
||||
qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
|
||||
qcom,mdss-dsi-h-sync-pulse = <0>;
|
||||
};
|
||||
qcom,config-select = <&dsi_dual_nt35597_truly_video_config0>;
|
||||
|
||||
dsi_dual_nt35597_truly_video_config0: config0 {
|
||||
qcom,split-mode = "dualctl-split";
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
};
|
||||
|
131
arch/arm64/boot/dts/qcom/dsi-panel-rm67195-amoled-fhd-cmd.dtsi
Normal file
131
arch/arm64/boot/dts/qcom/dsi-panel-rm67195-amoled-fhd-cmd.dtsi
Normal file
@ -0,0 +1,131 @@
|
||||
/* Copyright (c) 2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&mdss_mdp {
|
||||
dsi_rm67195_amoled_fhd_cmd: qcom,mdss_dsi_rm67195_amoled_fhd_cmd{
|
||||
qcom,mdss-dsi-panel-name =
|
||||
"rm67195 amoled fhd cmd mode dsi panel";
|
||||
qcom,mdss-dsi-panel-type = "dsi_cmd_mode";
|
||||
qcom,mdss-dsi-panel-framerate = <60>;
|
||||
qcom,mdss-dsi-virtual-channel-id = <0>;
|
||||
qcom,mdss-dsi-stream = <0>;
|
||||
qcom,mdss-dsi-panel-width = <1080>;
|
||||
qcom,mdss-dsi-panel-height = <1920>;
|
||||
qcom,mdss-dsi-h-front-porch = <120>;
|
||||
qcom,mdss-dsi-h-back-porch = <60>;
|
||||
qcom,mdss-dsi-h-pulse-width = <12>;
|
||||
qcom,mdss-dsi-h-sync-skew = <0>;
|
||||
qcom,mdss-dsi-v-back-porch = <12>;
|
||||
qcom,mdss-dsi-v-front-porch = <8>;
|
||||
qcom,mdss-dsi-v-pulse-width = <4>;
|
||||
qcom,mdss-dsi-h-left-border = <0>;
|
||||
qcom,mdss-dsi-h-right-border = <0>;
|
||||
qcom,mdss-dsi-v-top-border = <0>;
|
||||
qcom,mdss-dsi-v-bottom-border = <0>;
|
||||
qcom,mdss-dsi-bpp = <24>;
|
||||
qcom,mdss-dsi-underflow-color = <0xff>;
|
||||
qcom,mdss-dsi-border-color = <0>;
|
||||
qcom,mdss-dsi-color-order = "rgb_swap_rgb";
|
||||
qcom,mdss-dsi-on-command = [
|
||||
15 01 00 00 00 00 02 fe 0d
|
||||
15 01 00 00 00 00 02 0b c0
|
||||
15 01 00 00 00 00 02 42 00
|
||||
15 01 00 00 00 00 02 18 08
|
||||
15 01 00 00 00 00 02 08 41
|
||||
15 01 00 00 00 00 02 46 02
|
||||
15 01 00 00 00 00 02 1e 04
|
||||
15 01 00 00 02 00 02 1e 00
|
||||
15 01 00 00 00 00 02 fe 0a
|
||||
15 01 00 00 00 00 02 24 17
|
||||
15 01 00 00 00 00 02 04 07
|
||||
15 01 00 00 00 00 02 1a 0c
|
||||
15 01 00 00 02 00 02 0f 44
|
||||
15 01 00 00 00 00 02 fe 0b
|
||||
15 01 00 00 00 00 02 28 40
|
||||
15 01 00 00 02 00 02 29 4f
|
||||
15 01 00 00 00 00 02 fe 04
|
||||
15 01 00 00 00 00 02 0a d8
|
||||
15 01 00 00 00 00 02 0c e6
|
||||
15 01 00 00 00 00 02 4e 20
|
||||
15 01 00 00 00 00 02 4f 1b
|
||||
15 01 00 00 00 00 02 50 2f
|
||||
15 01 00 00 02 00 02 51 08
|
||||
15 01 00 00 00 00 02 fe 09
|
||||
15 01 00 00 00 00 02 00 08
|
||||
15 01 00 00 00 00 02 01 08
|
||||
15 01 00 00 00 00 02 02 00
|
||||
15 01 00 00 00 00 02 03 00
|
||||
15 01 00 00 00 00 02 04 10
|
||||
15 01 00 00 00 00 02 05 00
|
||||
15 01 00 00 00 00 02 06 08
|
||||
15 01 00 00 00 00 02 07 08
|
||||
15 01 00 00 00 00 02 08 00
|
||||
15 01 00 00 00 00 02 12 24
|
||||
15 01 00 00 00 00 02 13 49
|
||||
15 01 00 00 00 00 02 14 92
|
||||
15 01 00 00 00 00 02 15 49
|
||||
15 01 00 00 00 00 02 16 92
|
||||
15 01 00 00 00 00 02 17 24
|
||||
15 01 00 00 00 00 02 18 24
|
||||
15 01 00 00 00 00 02 19 49
|
||||
15 01 00 00 00 00 02 1a 92
|
||||
15 01 00 00 00 00 02 1b 49
|
||||
15 01 00 00 00 00 02 1c 92
|
||||
15 01 00 00 00 00 02 1d 24
|
||||
15 01 00 00 00 00 02 1e 24
|
||||
15 01 00 00 00 00 02 1f 49
|
||||
15 01 00 00 00 00 02 20 92
|
||||
15 01 00 00 00 00 02 21 49
|
||||
15 01 00 00 00 00 02 22 92
|
||||
15 01 00 00 00 00 02 23 24
|
||||
15 01 00 00 00 00 02 9b 07
|
||||
15 01 00 00 02 00 02 9c a5
|
||||
15 01 00 00 00 00 02 fe 00
|
||||
15 01 00 00 00 00 02 c2 08
|
||||
15 01 00 00 02 00 02 35 00
|
||||
39 01 00 00 00 00 03 44 03 e8
|
||||
05 01 00 00 82 00 02 11 00
|
||||
05 01 00 00 14 00 02 29 00];
|
||||
|
||||
qcom,mdss-dsi-off-command = [05 01 00 00 14 00 02 28 00
|
||||
05 01 00 00 82 00 02 10 00];
|
||||
qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
|
||||
qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
|
||||
qcom,mdss-dsi-h-sync-pulse = <0>;
|
||||
qcom,mdss-dsi-traffic-mode = "non_burst_sync_pulse";
|
||||
qcom,mdss-dsi-lane-map = "lane_map_0123";
|
||||
qcom,mdss-dsi-bllp-eof-power-mode;
|
||||
qcom,mdss-dsi-bllp-power-mode;
|
||||
qcom,mdss-dsi-lane-0-state;
|
||||
qcom,mdss-dsi-lane-1-state;
|
||||
qcom,mdss-dsi-lane-2-state;
|
||||
qcom,mdss-dsi-lane-3-state;
|
||||
qcom,mdss-dsi-t-clk-post = <0x0d>;
|
||||
qcom,mdss-dsi-t-clk-pre = <0x2f>;
|
||||
qcom,mdss-dsi-wr-mem-start = <0x2c>;
|
||||
qcom,mdss-dsi-wr-mem-continue = <0x3c>;
|
||||
qcom,mdss-dsi-te-pin-select = <1>;
|
||||
qcom,mdss-dsi-te-dcs-command = <1>;
|
||||
qcom,mdss-dsi-te-check-enable;
|
||||
qcom,mdss-dsi-te-using-te-pin;
|
||||
qcom,mdss-dsi-dma-trigger = "trigger_sw";
|
||||
qcom,mdss-dsi-mdp-trigger = "none";
|
||||
qcom,mdss-dsi-lp11-init;
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <255>;
|
||||
qcom,mdss-pan-physical-width-dimension = <70>;
|
||||
qcom,mdss-pan-physical-height-dimension = <125>;
|
||||
qcom,mdss-dsi-reset-sequence = <1 20>, <0 20>, <1 20>;
|
||||
qcom,mdss-dsi-panel-orientation = "180";
|
||||
};
|
||||
};
|
@ -0,0 +1,83 @@
|
||||
/* Copyright (c) 2014-2016, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&mdss_mdp {
|
||||
dsi_dual_sharp_video: qcom,mdss_dsi_sharp_wqxga_video {
|
||||
qcom,mdss-dsi-panel-name = "Dual SHARP video mode dsi panel";
|
||||
qcom,mdss-dsi-panel-type = "dsi_video_mode";
|
||||
qcom,mdss-dsi-panel-framerate = <60>;
|
||||
qcom,mdss-dsi-virtual-channel-id = <0>;
|
||||
qcom,mdss-dsi-stream = <0>;
|
||||
qcom,mdss-dsi-panel-width = <800>;
|
||||
qcom,mdss-dsi-panel-height = <2560>;
|
||||
qcom,mdss-dsi-h-front-porch = <76>;
|
||||
qcom,mdss-dsi-h-back-porch = <32>;
|
||||
qcom,mdss-dsi-h-pulse-width = <16>;
|
||||
qcom,mdss-dsi-h-sync-skew = <0>;
|
||||
qcom,mdss-dsi-v-back-porch = <11>;
|
||||
qcom,mdss-dsi-v-front-porch = <2>;
|
||||
qcom,mdss-dsi-v-pulse-width = <1>;
|
||||
qcom,mdss-dsi-bpp = <24>;
|
||||
qcom,mdss-dsi-underflow-color = <0xff>;
|
||||
qcom,mdss-dsi-border-color = <0>;
|
||||
qcom,mdss-dsi-on-command = [05 01 00 00 a0 00 02 11 00
|
||||
05 01 00 00 02 00 02 29 00];
|
||||
qcom,mdss-dsi-pre-off-command = [05 01 00 00 02 00 02 28 00
|
||||
05 01 00 00 a0 00 02 10 00];
|
||||
qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
|
||||
qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
|
||||
qcom,mdss-dsi-h-sync-pulse = <0>;
|
||||
qcom,mdss-dsi-traffic-mode = "non_burst_sync_event";
|
||||
qcom,mdss-dsi-bllp-eof-power-mode;
|
||||
qcom,mdss-dsi-bllp-power-mode;
|
||||
qcom,mdss-dsi-lane-0-state;
|
||||
qcom,mdss-dsi-lane-1-state;
|
||||
qcom,mdss-dsi-lane-2-state;
|
||||
qcom,mdss-dsi-lane-3-state;
|
||||
qcom,cmd-sync-wait-broadcast;
|
||||
qcom,mdss-dsi-panel-timings = [e2 36 24 00 66 6a 28 38 2a 03
|
||||
04 00];
|
||||
qcom,mdss-dsi-t-clk-post = <0x02>;
|
||||
qcom,mdss-dsi-t-clk-pre = <0x2a>;
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,mdss-dsi-dma-trigger = "trigger_sw";
|
||||
qcom,mdss-dsi-mdp-trigger = "none";
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm";
|
||||
qcom,mdss-dsi-bl-pmic-pwm-frequency = <50>;
|
||||
qcom,mdss-dsi-bl-pmic-bank-select = <2>;
|
||||
qcom,mdss-dsi-reset-sequence = <1 2>, <0 5>, <1 120>;
|
||||
qcom,mdss-pan-physical-width-dimension = <83>;
|
||||
qcom,mdss-pan-physical-height-dimension = <133>;
|
||||
qcom,mdss-dsi-min-refresh-rate = <53>;
|
||||
qcom,mdss-dsi-max-refresh-rate = <60>;
|
||||
qcom,mdss-dsi-pan-enable-dynamic-fps;
|
||||
qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp";
|
||||
qcom,mdss-dsi-panel-status-check-mode = "bta_check";
|
||||
qcom,mdss-dsi-tx-eot-append;
|
||||
qcom,esd-check-enabled;
|
||||
qcom,mdss-dsi-panel-hdr-enabled;
|
||||
qcom,mdss-dsi-panel-hdr-color-primaries = <14880 15935 32435
|
||||
16555 14945 30910 7790 3415>;
|
||||
qcom,mdss-dsi-panel-peak-brightness = <5643000>;
|
||||
qcom,mdss-dsi-panel-blackness-level = <6134>;
|
||||
qcom,config-select = <&dsi_dual_sharp_video_config0>;
|
||||
|
||||
dsi_dual_sharp_video_config0: config0 {
|
||||
qcom,split-mode = "dualctl-split";
|
||||
};
|
||||
|
||||
dsi_dual_sharp_video_config1: config1 {
|
||||
qcom,split-mode = "pingpong-split";
|
||||
};
|
||||
};
|
||||
};
|
96
arch/arm64/boot/dts/qcom/dsi-panel-truly-1080p-cmd.dtsi
Normal file
96
arch/arm64/boot/dts/qcom/dsi-panel-truly-1080p-cmd.dtsi
Normal file
@ -0,0 +1,96 @@
|
||||
/* Copyright (c) 2015-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&mdss_mdp {
|
||||
dsi_truly_1080_cmd: qcom,mdss_dsi_truly_1080p_cmd {
|
||||
qcom,mdss-dsi-panel-name = "truly 1080p cmd mode dsi panel";
|
||||
qcom,mdss-dsi-panel-type = "dsi_cmd_mode";
|
||||
qcom,mdss-dsi-panel-framerate = <60>;
|
||||
qcom,mdss-dsi-virtual-channel-id = <0>;
|
||||
qcom,mdss-dsi-stream = <0>;
|
||||
qcom,mdss-dsi-panel-width = <1080>;
|
||||
qcom,mdss-dsi-panel-height = <1920>;
|
||||
qcom,mdss-dsi-h-front-porch = <96>;
|
||||
qcom,mdss-dsi-h-back-porch = <64>;
|
||||
qcom,mdss-dsi-h-pulse-width = <16>;
|
||||
qcom,mdss-dsi-h-sync-skew = <0>;
|
||||
qcom,mdss-dsi-v-back-porch = <16>;
|
||||
qcom,mdss-dsi-v-front-porch = <4>;
|
||||
qcom,mdss-dsi-v-pulse-width = <1>;
|
||||
qcom,mdss-dsi-h-left-border = <0>;
|
||||
qcom,mdss-dsi-h-right-border = <0>;
|
||||
qcom,mdss-dsi-v-top-border = <0>;
|
||||
qcom,mdss-dsi-v-bottom-border = <0>;
|
||||
qcom,mdss-dsi-bpp = <24>;
|
||||
qcom,mdss-dsi-underflow-color = <0xff>;
|
||||
qcom,mdss-dsi-border-color = <0>;
|
||||
qcom,mdss-dsi-te-pin-select = <1>;
|
||||
qcom,mdss-dsi-te-dcs-command = <1>;
|
||||
qcom,mdss-dsi-te-check-enable;
|
||||
qcom,mdss-dsi-te-using-te-pin;
|
||||
qcom,mdss-dsi-h-sync-pulse = <0>;
|
||||
qcom,mdss-dsi-traffic-mode = "burst_mode";
|
||||
qcom,mdss-dsi-bllp-eof-power-mode;
|
||||
qcom,mdss-dsi-bllp-power-mode;
|
||||
qcom,mdss-dsi-lane-0-state;
|
||||
qcom,mdss-dsi-lane-1-state;
|
||||
qcom,mdss-dsi-lane-2-state;
|
||||
qcom,mdss-dsi-lane-3-state;
|
||||
qcom,mdss-dsi-panel-timings = [e6 38 26 00 68 6e 2a 3c 44 03
|
||||
04 00];
|
||||
qcom,mdss-dsi-t-clk-post = <0x02>;
|
||||
qcom,mdss-dsi-t-clk-pre = <0x2d>;
|
||||
qcom,mdss-dsi-tx-eot-append;
|
||||
qcom,mdss-dsi-dma-trigger = "trigger_sw";
|
||||
qcom,mdss-dsi-mdp-trigger = "none";
|
||||
qcom,mdss-dsi-on-command = [23 01 00 00 00 00 02 d6 01
|
||||
15 01 00 00 00 00 02 35 00
|
||||
15 01 00 00 00 00 02 51 ff
|
||||
15 01 00 00 00 00 02 53 2c
|
||||
15 01 00 00 00 00 02 55 00
|
||||
05 01 00 00 78 00 02 11 00
|
||||
23 01 00 00 00 00 02 b0 04
|
||||
29 01 00 00 00 00 07 b3 04 00 00 00 00 00
|
||||
29 01 00 00 00 00 03 b6 3a d3
|
||||
29 01 00 00 00 00 03 c0 00 00
|
||||
29 01 00 00 00 00 23 c1 84 60 10 eb ff 6f ce ff ff 17 02
|
||||
58 73 ae b1 20 c6 ff ff 1f f3 ff 5f 10 10 10 10 00 02 01
|
||||
22 22 00 01
|
||||
29 01 00 00 00 00 08 c2 31 f7 80 06 08 00 00
|
||||
29 01 00 00 00 00 17 c4 70 00 00 00 00 04 00 00 00 0c 06
|
||||
00 00 00 00 00 04 00 00 00 0c 06
|
||||
29 01 00 00 00 00 29 c6 78 69 00 69 00 69 00 00 00 00 00
|
||||
69 00 69 00 69 10 19 07 00 78 00 69 00 69 00 69 00 00 00
|
||||
00 00 69 00 69 00 69 10 19 07
|
||||
29 01 00 00 00 00 0a cb 31 fc 3f 8c 00 00 00 00 c0
|
||||
23 01 00 00 00 00 02 cc 0b
|
||||
29 01 00 00 00 00 0b d0 11 81 bb 1e 1e 4c 19 19 0c 00
|
||||
29 01 00 00 00 00 1a d3 1b 33 bb bb b3 33 33 33 00 01 00
|
||||
a0 d8 a0 0d 4e 4e 33 3b 22 72 07 3d bf 33
|
||||
29 01 00 00 00 00 08 d5 06 00 00 01 51 01 32
|
||||
29 01 00 00 00 00 1f c7 01 0a 11 18 26 33 3e 50 38 42 52
|
||||
60 67 6e 77 01 0a 11 18 26 33 3e 50 38 42 52 60 67 6e 77
|
||||
29 01 00 00 14 00 14 c8 01 00 00 00 00 fc 00 00 00 00
|
||||
00 fc 00 00 00 00 00 fc 00
|
||||
05 01 00 00 14 00 02 29 00];
|
||||
qcom,mdss-dsi-off-command = [05 01 00 00 14 00 02 28 00
|
||||
05 01 00 00 78 00 02 10 00];
|
||||
qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
|
||||
qcom,mdss-dsi-off-command-state = "dsi_lp_mode";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>;
|
||||
qcom,mdss-dsi-post-init-delay = <1>;
|
||||
qcom,ulps-enabled;
|
||||
};
|
||||
};
|
90
arch/arm64/boot/dts/qcom/dsi-panel-truly-1080p-video.dtsi
Normal file
90
arch/arm64/boot/dts/qcom/dsi-panel-truly-1080p-video.dtsi
Normal file
@ -0,0 +1,90 @@
|
||||
/* Copyright (c) 2015-2016, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&mdss_mdp {
|
||||
dsi_truly_1080_vid: qcom,mdss_dsi_truly_1080p_video {
|
||||
qcom,mdss-dsi-panel-name = "truly 1080p video mode dsi panel";
|
||||
qcom,mdss-dsi-panel-type = "dsi_video_mode";
|
||||
qcom,mdss-dsi-panel-framerate = <60>;
|
||||
qcom,mdss-dsi-virtual-channel-id = <0>;
|
||||
qcom,mdss-dsi-stream = <0>;
|
||||
qcom,mdss-dsi-panel-width = <1080>;
|
||||
qcom,mdss-dsi-panel-height = <1920>;
|
||||
qcom,mdss-dsi-h-front-porch = <96>;
|
||||
qcom,mdss-dsi-h-back-porch = <64>;
|
||||
qcom,mdss-dsi-h-pulse-width = <16>;
|
||||
qcom,mdss-dsi-h-sync-skew = <0>;
|
||||
qcom,mdss-dsi-v-back-porch = <16>;
|
||||
qcom,mdss-dsi-v-front-porch = <4>;
|
||||
qcom,mdss-dsi-v-pulse-width = <1>;
|
||||
qcom,mdss-dsi-h-left-border = <0>;
|
||||
qcom,mdss-dsi-h-right-border = <0>;
|
||||
qcom,mdss-dsi-v-top-border = <0>;
|
||||
qcom,mdss-dsi-v-bottom-border = <0>;
|
||||
qcom,mdss-dsi-bpp = <24>;
|
||||
qcom,mdss-dsi-underflow-color = <0xff>;
|
||||
qcom,mdss-dsi-border-color = <0>;
|
||||
qcom,mdss-dsi-h-sync-pulse = <0>;
|
||||
qcom,mdss-dsi-traffic-mode = "burst_mode";
|
||||
qcom,mdss-dsi-bllp-eof-power-mode;
|
||||
qcom,mdss-dsi-bllp-power-mode;
|
||||
qcom,mdss-dsi-lane-0-state;
|
||||
qcom,mdss-dsi-lane-1-state;
|
||||
qcom,mdss-dsi-lane-2-state;
|
||||
qcom,mdss-dsi-lane-3-state;
|
||||
qcom,mdss-dsi-panel-timings = [e6 38 26 00 68 6e 2a 3c 44 03
|
||||
04 00];
|
||||
qcom,mdss-dsi-t-clk-post = <0x02>;
|
||||
qcom,mdss-dsi-t-clk-pre = <0x2d>;
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,mdss-dsi-dma-trigger = "trigger_sw";
|
||||
qcom,mdss-dsi-mdp-trigger = "none";
|
||||
qcom,mdss-dsi-on-command = [15 01 00 00 00 00 02 35 00
|
||||
15 01 00 00 00 00 02 51 ff
|
||||
15 01 00 00 00 00 02 53 2c
|
||||
15 01 00 00 00 00 02 55 00
|
||||
05 01 00 00 78 00 02 11 00
|
||||
23 01 00 00 00 00 02 b0 00
|
||||
29 01 00 00 00 00 07 b3 14 00 00 00 00 00
|
||||
29 01 00 00 00 00 03 b6 3a d3
|
||||
29 01 00 00 00 00 03 c0 00 00
|
||||
29 01 00 00 00 00 23 c1 84 60 10 eb ff 6f ce ff ff 17 02
|
||||
58 73 ae b1 20 c6 ff ff 1f f3 ff 5f 10 10 10 10 00 02 01
|
||||
22 22 00 01
|
||||
29 01 00 00 00 00 08 c2 31 f7 80 06 08 00 00
|
||||
29 01 00 00 00 00 17 c4 70 00 00 00 00 04 00 00 00 0c 06
|
||||
00 00 00 00 00 04 00 00 00 0c 06
|
||||
29 01 00 00 00 00 29 c6 00 69 00 69 00 69 00 00 00 00 00
|
||||
69 00 69 00 69 10 19 07 00 01 00 69 00 69 00 69 00 00 00
|
||||
00 00 69 00 69 00 69 10 19 07
|
||||
29 01 00 00 00 00 0a cb 31 fc 3f 8c 00 00 00 00 c0
|
||||
23 01 00 00 00 00 02 cc 0b
|
||||
29 01 00 00 00 00 0b d0 11 81 bb 1e 1e 4c 19 19 0c 00
|
||||
29 01 00 00 00 00 1a d3 1b 33 bb bb b3 33 33 33 00 01 00
|
||||
a0 d8 a0 0d 4e 4e 33 3b 22 72 07 3d bf 33
|
||||
29 01 00 00 00 00 08 d5 06 00 00 01 51 01 32
|
||||
29 01 00 00 00 00 1f c7 01 0a 11 18 26 33 3e 50 38 42 52
|
||||
60 67 6e 77 01 0a 11 18 26 33 3e 50 38 42 52 60 67 6e 77
|
||||
29 01 00 00 14 00 14 c8 01 00 00 00 00 fc 00 00 00 00
|
||||
00 fc 00 00 00 00 00 fc 00
|
||||
05 01 00 00 14 00 02 29 00];
|
||||
qcom,mdss-dsi-off-command = [05 01 00 00 14 00 02 28 00
|
||||
05 01 00 00 78 00 02 10 00];
|
||||
qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
|
||||
qcom,mdss-dsi-off-command-state = "dsi_lp_mode";
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>;
|
||||
qcom,mdss-dsi-tx-eot-append;
|
||||
qcom,mdss-dsi-post-init-delay = <1>;
|
||||
};
|
||||
};
|
@ -0,0 +1,81 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
qcom,ascent_3450mah {
|
||||
/* Ascent_wConn_Aging_3450mAh_averaged_MasterSlave_Jul11th2017 */
|
||||
qcom,max-voltage-uv = <4350000>;
|
||||
qcom,fg-cc-cv-threshold-mv = <4340>;
|
||||
qcom,fastchg-current-ma = <3450>;
|
||||
qcom,batt-id-kohm = <60>;
|
||||
qcom,battery-beta = <3435>;
|
||||
qcom,battery-type = "ascent_3450mah_averaged_masterslave_jul11th2017";
|
||||
qcom,checksum = <0x7C33>;
|
||||
qcom,gui-version = "PMI8998GUI - 2.0.0.58";
|
||||
qcom,fg-profile-data = [
|
||||
8F 1F 94 05
|
||||
73 0A 4A 06
|
||||
27 1D 21 EA
|
||||
16 0A 3B 0C
|
||||
07 18 97 22
|
||||
A5 3C EC 4A
|
||||
5C 00 00 00
|
||||
10 00 00 00
|
||||
00 00 92 BC
|
||||
CD BD 02 B4
|
||||
11 00 08 00
|
||||
69 DA AD 07
|
||||
4B FD 19 FA
|
||||
1D 0C B0 0C
|
||||
EB F3 78 3B
|
||||
24 06 09 20
|
||||
27 00 14 00
|
||||
7E 1F F2 05
|
||||
19 0A 55 FD
|
||||
6C 1D C6 ED
|
||||
1A 12 FF 1D
|
||||
6F 18 EB 22
|
||||
B9 45 6F 52
|
||||
55 00 00 00
|
||||
0E 00 00 00
|
||||
00 00 A1 D5
|
||||
34 BA A0 CA
|
||||
0F 00 00 00
|
||||
93 00 AD 07
|
||||
8D FD F6 00
|
||||
BA 0D 5C 04
|
||||
B3 FC F4 1B
|
||||
C3 33 CC FF
|
||||
07 10 00 00
|
||||
A4 0D 99 45
|
||||
0F 00 40 00
|
||||
A4 01 0A FA
|
||||
FF 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
];
|
||||
};
|
@ -0,0 +1,81 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
qcom,itech_3000mah {
|
||||
/* #Itech_B00826LF_3000mAh_ver1660_averaged_MasterSlave_Jan10th2017*/
|
||||
qcom,max-voltage-uv = <4350000>;
|
||||
qcom,fg-cc-cv-threshold-mv = <4340>;
|
||||
qcom,fastchg-current-ma = <2000>;
|
||||
qcom,batt-id-kohm = <100>;
|
||||
qcom,battery-beta = <3435>;
|
||||
qcom,battery-type = "itech_b00826lf_3000mah_ver1660_jan10th2017";
|
||||
qcom,checksum = <0xFB8F>;
|
||||
qcom,gui-version = "PMI8998GUI - 2.0.0.54";
|
||||
qcom,fg-profile-data = [
|
||||
A4 1F 6E 05
|
||||
9C 0A 2B FC
|
||||
32 1D 23 E5
|
||||
60 0B 1B 15
|
||||
AD 17 8C 22
|
||||
EA 3C 89 4A
|
||||
5B 00 00 00
|
||||
12 00 00 00
|
||||
00 00 62 C2
|
||||
0C CD D8 C2
|
||||
19 00 08 00
|
||||
85 EA C7 EC
|
||||
E2 05 2F 01
|
||||
9B F5 12 12
|
||||
5E 05 88 3B
|
||||
22 06 09 20
|
||||
27 00 14 00
|
||||
7D 1F DD 05
|
||||
3F 0A E5 FC
|
||||
72 1D E3 F5
|
||||
6F 12 C0 1D
|
||||
88 18 FB 22
|
||||
8D 45 C6 52
|
||||
54 00 00 00
|
||||
0F 00 00 00
|
||||
00 00 BD CD
|
||||
55 C2 5D C5
|
||||
14 00 00 00
|
||||
7E 00 C7 EC
|
||||
60 06 BB 00
|
||||
59 06 61 03
|
||||
D9 FC 75 1B
|
||||
B3 33 CC FF
|
||||
07 10 00 00
|
||||
3E 0B 99 45
|
||||
14 00 40 00
|
||||
AE 01 0A FA
|
||||
FF 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
];
|
||||
};
|
@ -0,0 +1,81 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
qcom,qrd_msm8998_skuk_3000mah {
|
||||
/* QRD8997_ST1031GA_3000mAh_averaged_MasterSlave_Jan10th2017 */
|
||||
qcom,max-voltage-uv = <4400000>;
|
||||
qcom,fg-cc-cv-threshold-mv = <4390>;
|
||||
qcom,fastchg-current-ma = <3000>;
|
||||
qcom,batt-id-kohm = <68>;
|
||||
qcom,battery-beta = <3380>;
|
||||
qcom,battery-type = "qrd8997_st1031ga_3000mah";
|
||||
qcom,checksum = <0xD299>;
|
||||
qcom,gui-version = "PMI8998GUI - 2.0.0.54";
|
||||
qcom,fg-profile-data = [
|
||||
70 1F B1 05
|
||||
6F 0A A1 FC
|
||||
8C 1D D7 FD
|
||||
C4 12 AC 1D
|
||||
7E 18 01 23
|
||||
8C 45 B6 52
|
||||
55 00 00 00
|
||||
0F 00 00 00
|
||||
00 00 92 C5
|
||||
95 CD A0 CA
|
||||
1F 00 08 00
|
||||
9F E3 C3 EC
|
||||
F7 FC 25 F3
|
||||
02 01 FF 12
|
||||
29 DC 1D 3A
|
||||
1C 06 09 20
|
||||
27 00 14 00
|
||||
AC 1F B4 05
|
||||
57 0A EF FC
|
||||
6A 1D E9 E2
|
||||
11 0B BB 14
|
||||
40 19 DC 22
|
||||
79 45 03 53
|
||||
53 00 00 00
|
||||
0E 00 00 00
|
||||
00 00 05 CC
|
||||
3A BB 24 CA
|
||||
1C 00 00 00
|
||||
56 F2 C3 EC
|
||||
A6 06 A2 F2
|
||||
9A 06 CC 01
|
||||
8C EA CF 1A
|
||||
BA 33 CC FF
|
||||
07 10 00 00
|
||||
3A 0C 66 46
|
||||
1C 00 40 00
|
||||
98 01 0A FA
|
||||
FF 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
00 00 00 00
|
||||
];
|
||||
};
|
216
arch/arm64/boot/dts/qcom/msm-arm-smmu-660.dtsi
Normal file
216
arch/arm64/boot/dts/qcom/msm-arm-smmu-660.dtsi
Normal file
@ -0,0 +1,216 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/qcom,gcc-sdm660.h>
|
||||
#include <dt-bindings/clock/qcom,mmcc-sdm660.h>
|
||||
#include <dt-bindings/msm/msm-bus-ids.h>
|
||||
#include <dt-bindings/clock/qcom,rpmcc.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
&soc {
|
||||
anoc2_smmu: arm,smmu-anoc2@16c0000 {
|
||||
compatible = "qcom,smmu-v2";
|
||||
reg = <0x16c0000 0x40000>;
|
||||
#iommu-cells = <1>;
|
||||
qcom,skip-init;
|
||||
qcom,use-3-lvl-tables;
|
||||
qcom,regulator-names = "vdd";
|
||||
#global-interrupts = <2>;
|
||||
interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 374 IRQ_TYPE_LEVEL_LOW>,
|
||||
<GIC_SPI 375 IRQ_TYPE_LEVEL_LOW>,
|
||||
<GIC_SPI 376 IRQ_TYPE_LEVEL_LOW>,
|
||||
<GIC_SPI 377 IRQ_TYPE_LEVEL_LOW>,
|
||||
<GIC_SPI 378 IRQ_TYPE_LEVEL_LOW>,
|
||||
<GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 442 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 443 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 444 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 447 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 472 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 473 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 474 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clock_rpmcc AGGR2_NOC_SMMU_CLK>;
|
||||
clock-names = "smmu_aggr2_noc_clk";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
lpass_q6_smmu: arm,smmu-lpass_q6@5100000 {
|
||||
compatible = "qcom,smmu-v2";
|
||||
reg = <0x5100000 0x40000>;
|
||||
#iommu-cells = <1>;
|
||||
qcom,skip-init;
|
||||
qcom,use-3-lvl-tables;
|
||||
qcom,regulator-names = "vdd";
|
||||
#global-interrupts = <2>;
|
||||
interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>;
|
||||
vdd-supply = <&gdsc_hlos1_vote_lpass_adsp>;
|
||||
clocks = <&clock_gcc HLOS1_VOTE_LPASS_ADSP_SMMU_CLK>;
|
||||
clock-names = "lpass_q6_smmu_clk";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
mmss_bimc_smmu: arm,smmu-mmss@cd00000 {
|
||||
compatible = "qcom,smmu-v2";
|
||||
reg = <0xcd00000 0x40000>;
|
||||
#iommu-cells = <1>;
|
||||
qcom,skip-init;
|
||||
qcom,use-3-lvl-tables;
|
||||
qcom,regulator-names = "vdd";
|
||||
#global-interrupts = <2>;
|
||||
interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 276 IRQ_TYPE_LEVEL_HIGH>;
|
||||
vdd-supply = <&gdsc_bimc_smmu>;
|
||||
clocks = <&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>;
|
||||
clock-names = "mmss_mnoc_ahb_clk",
|
||||
"mmssnoc_axi_clk",
|
||||
"mmss_bimc_smmu_ahb_clk",
|
||||
"mmss_bimc_smmu_axi_clk";
|
||||
#clock-cells = <1>;
|
||||
qcom,bus-master-id = <MSM_BUS_MNOC_BIMC_MAS>;
|
||||
};
|
||||
|
||||
kgsl_smmu: arm,smmu-kgsl@5040000 {
|
||||
compatible = "qcom,smmu-v2";
|
||||
reg = <0x5040000 0x10000>;
|
||||
#iommu-cells = <1>;
|
||||
qcom,dynamic;
|
||||
qcom,use-3-lvl-tables;
|
||||
qcom,disable-atos;
|
||||
qcom,regulator-names = "vdd";
|
||||
#global-interrupts = <2>;
|
||||
interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>;
|
||||
qcom,deferred-regulator-disable-delay = <80>;
|
||||
vdd-supply = <&gdsc_gpu_cx>;
|
||||
clocks = <&clock_gcc GCC_GPU_CFG_AHB_CLK>,
|
||||
<&clock_gcc GCC_BIMC_GFX_CLK>,
|
||||
<&clock_gcc GCC_GPU_BIMC_GFX_CLK>;
|
||||
clock-names = "gcc_gpu_cfg_ahb_clk",
|
||||
"gcc_bimc_gfx_clk",
|
||||
"gcc_gpu_bimc_gfx_clk";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
turing_q6_smmu: arm,smmu-turing_q6@5180000 {
|
||||
compatible = "qcom,smmu-v2";
|
||||
reg = <0x5180000 0x40000>;
|
||||
#iommu-cells = <1>;
|
||||
qcom,register-save;
|
||||
qcom,skip-init;
|
||||
#global-interrupts = <2>;
|
||||
interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 533 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 534 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 535 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 536 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 537 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 538 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 539 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 540 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 541 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 542 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 543 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 544 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 545 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 546 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 547 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 548 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 549 IRQ_TYPE_LEVEL_HIGH>;
|
||||
vdd-supply = <&gdsc_hlos1_vote_turing_adsp>;
|
||||
clocks = <&clock_gcc HLOS1_VOTE_TURING_ADSP_SMMU_CLK>;
|
||||
clock-names = "turing_q6_smmu_clk";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
iommu_test_device {
|
||||
compatible = "iommu-debug-test";
|
||||
/*
|
||||
* 42 shouldn't be used by anyone on the mmss_smmu. We just
|
||||
* need _something_ here to get this node recognized by the
|
||||
* SMMU driver. Our test uses ATOS, which doesn't use SIDs
|
||||
* anyways, so using a dummy value is ok.
|
||||
*/
|
||||
iommus = <&mmss_bimc_smmu 42>;
|
||||
};
|
||||
};
|
409
arch/arm64/boot/dts/qcom/msm-arm-smmu-impl-defs-660.dtsi
Normal file
409
arch/arm64/boot/dts/qcom/msm-arm-smmu-impl-defs-660.dtsi
Normal file
@ -0,0 +1,409 @@
|
||||
/* Copyright (c) 2016, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&kgsl_smmu {
|
||||
attach-impl-defs = <0x6000 0x2378>,
|
||||
<0x6060 0x1055>,
|
||||
<0x678c 0x8>,
|
||||
<0x6794 0x28>,
|
||||
<0x6800 0x6>,
|
||||
<0x6900 0x3ff>,
|
||||
<0x6924 0x204>,
|
||||
<0x6928 0x11000>,
|
||||
<0x6930 0x800>,
|
||||
<0x6960 0xffffffff>,
|
||||
<0x6b64 0x1a5551>,
|
||||
<0x6b68 0x9a82a382>;
|
||||
};
|
||||
|
||||
&lpass_q6_smmu {
|
||||
attach-impl-defs = <0x6000 0x2378>,
|
||||
<0x6060 0x1055>,
|
||||
<0x6070 0xe0>,
|
||||
<0x6074 0xe0>,
|
||||
<0x6078 0xe0>,
|
||||
<0x607c 0xe0>,
|
||||
<0x60f0 0xc0>,
|
||||
<0x60f4 0xc8>,
|
||||
<0x60f8 0xd0>,
|
||||
<0x60fc 0xd8>,
|
||||
<0x6170 0x0>,
|
||||
<0x6174 0x30>,
|
||||
<0x6178 0x60>,
|
||||
<0x617c 0x90>,
|
||||
<0x6270 0x0>,
|
||||
<0x6274 0x2>,
|
||||
<0x6278 0x4>,
|
||||
<0x627c 0x6>,
|
||||
<0x62f0 0x8>,
|
||||
<0x62f4 0xe>,
|
||||
<0x62f8 0x14>,
|
||||
<0x62fc 0x1a>,
|
||||
<0x6370 0x20>,
|
||||
<0x6374 0x40>,
|
||||
<0x6378 0x60>,
|
||||
<0x637c 0x80>,
|
||||
<0x6784 0x0>,
|
||||
<0x678c 0x10>,
|
||||
<0x67a0 0x0>,
|
||||
<0x67a4 0x0>,
|
||||
<0x67a8 0x20>,
|
||||
<0x67b0 0x0>,
|
||||
<0x67b4 0x8>,
|
||||
<0x67b8 0xc8>,
|
||||
<0x67d0 0x4>,
|
||||
<0x67dc 0x8>,
|
||||
<0x67e0 0x8>,
|
||||
<0x6800 0x6>,
|
||||
<0x6900 0x3ff>,
|
||||
<0x6924 0x202>,
|
||||
<0x6928 0x10a00>,
|
||||
<0x6930 0x500>,
|
||||
<0x6960 0xffffffff>,
|
||||
<0x6b64 0x121151>,
|
||||
<0x6b68 0xea800080>,
|
||||
<0x6c00 0x0>,
|
||||
<0x6c04 0x0>,
|
||||
<0x6c08 0x0>,
|
||||
<0x6c0c 0x0>,
|
||||
<0x6c10 0x1>,
|
||||
<0x6c14 0x1>,
|
||||
<0x6c18 0x1>,
|
||||
<0x6c1c 0x1>,
|
||||
<0x6c20 0x2>,
|
||||
<0x6c24 0x2>,
|
||||
<0x6c28 0x2>,
|
||||
<0x6c2c 0x2>,
|
||||
<0x6c30 0x3>,
|
||||
<0x6c34 0x3>,
|
||||
<0x6c38 0x3>,
|
||||
<0x6c3c 0x3>;
|
||||
};
|
||||
|
||||
&turing_q6_smmu {
|
||||
attach-impl-defs = <0x6000 0x2378>,
|
||||
<0x6060 0x1055>,
|
||||
<0x6070 0xe0>,
|
||||
<0x6074 0xe0>,
|
||||
<0x6078 0xe0>,
|
||||
<0x607c 0xe0>,
|
||||
<0x60f0 0xc0>,
|
||||
<0x60f4 0xc8>,
|
||||
<0x60f8 0xd0>,
|
||||
<0x60fc 0xd8>,
|
||||
<0x6170 0x0>,
|
||||
<0x6174 0x30>,
|
||||
<0x6178 0x60>,
|
||||
<0x617c 0x90>,
|
||||
<0x6270 0x0>,
|
||||
<0x6274 0x2>,
|
||||
<0x6278 0x4>,
|
||||
<0x627c 0x6>,
|
||||
<0x62f0 0x8>,
|
||||
<0x62f4 0xe>,
|
||||
<0x62f8 0x14>,
|
||||
<0x62fc 0x1a>,
|
||||
<0x6370 0x20>,
|
||||
<0x6374 0x40>,
|
||||
<0x6378 0x60>,
|
||||
<0x637c 0x80>,
|
||||
<0x6784 0x0>,
|
||||
<0x678c 0x10>,
|
||||
<0x67a0 0x0>,
|
||||
<0x67a4 0x0>,
|
||||
<0x67a8 0x20>,
|
||||
<0x67b0 0x0>,
|
||||
<0x67b4 0x8>,
|
||||
<0x67b8 0xc8>,
|
||||
<0x67d0 0x4>,
|
||||
<0x67dc 0x8>,
|
||||
<0x67e0 0x8>,
|
||||
<0x6800 0x6>,
|
||||
<0x6900 0x3ff>,
|
||||
<0x6924 0x202>,
|
||||
<0x6928 0x10a00>,
|
||||
<0x6930 0x500>,
|
||||
<0x6960 0xffffffff>,
|
||||
<0x6b64 0x121151>,
|
||||
<0x6b68 0xea800080>,
|
||||
<0x6c00 0x0>,
|
||||
<0x6c04 0x0>,
|
||||
<0x6c08 0x0>,
|
||||
<0x6c0c 0x0>,
|
||||
<0x6c10 0x1>,
|
||||
<0x6c14 0x1>,
|
||||
<0x6c18 0x1>,
|
||||
<0x6c1c 0x1>,
|
||||
<0x6c20 0x2>,
|
||||
<0x6c24 0x2>,
|
||||
<0x6c28 0x2>,
|
||||
<0x6c2c 0x2>,
|
||||
<0x6c30 0x3>,
|
||||
<0x6c34 0x3>,
|
||||
<0x6c38 0x3>,
|
||||
<0x6c3c 0x3>;
|
||||
};
|
||||
|
||||
&mmss_bimc_smmu {
|
||||
attach-impl-defs = <0x6000 0x2378>,
|
||||
<0x6060 0x1055>,
|
||||
<0x678c 0x28>,
|
||||
<0x6794 0xe0>,
|
||||
<0x6800 0x6>,
|
||||
<0x6900 0x3ff>,
|
||||
<0x6924 0x204>,
|
||||
<0x6928 0x11002>,
|
||||
<0x6930 0x800>,
|
||||
<0x6960 0xffffffff>,
|
||||
<0x6964 0xffffffff>,
|
||||
<0x6968 0xffffffff>,
|
||||
<0x696c 0xffffffff>,
|
||||
<0x6b48 0x330330>,
|
||||
<0x6b4c 0x81>,
|
||||
<0x6b50 0x3333>,
|
||||
<0x6b54 0x3333>,
|
||||
<0x6b64 0x1a5555>,
|
||||
<0x6b68 0xbaaa892a>,
|
||||
<0x6b70 0x10100202>,
|
||||
<0x6b74 0x10100202>,
|
||||
<0x6b78 0x10100000>,
|
||||
<0x6b80 0x20042004>,
|
||||
<0x6b84 0x20042004>;
|
||||
};
|
||||
|
||||
&anoc2_smmu {
|
||||
attach-impl-defs = <0x6000 0x2378>,
|
||||
<0x6060 0x1055>,
|
||||
<0x6070 0xf>,
|
||||
<0x6074 0x23>,
|
||||
<0x6078 0x37>,
|
||||
<0x607c 0x39>,
|
||||
<0x6080 0x3f>,
|
||||
<0x6084 0x6f>,
|
||||
<0x6088 0x74>,
|
||||
<0x608c 0x92>,
|
||||
<0x6090 0xb0>,
|
||||
<0x6094 0xf0>,
|
||||
<0x6098 0xf0>,
|
||||
<0x609c 0xf0>,
|
||||
<0x60f0 0x0>,
|
||||
<0x60f4 0x1>,
|
||||
<0x60f8 0x3>,
|
||||
<0x60fc 0x4>,
|
||||
<0x6100 0x6>,
|
||||
<0x6104 0x8>,
|
||||
<0x6108 0x9>,
|
||||
<0x610c 0xb>,
|
||||
<0x6110 0xd>,
|
||||
<0x6114 0xf>,
|
||||
<0x6118 0xf>,
|
||||
<0x611c 0xf>,
|
||||
<0x6170 0x0>,
|
||||
<0x6174 0x0>,
|
||||
<0x6178 0x0>,
|
||||
<0x617c 0x0>,
|
||||
<0x6180 0x0>,
|
||||
<0x6184 0x0>,
|
||||
<0x6188 0x0>,
|
||||
<0x618c 0x0>,
|
||||
<0x6190 0x0>,
|
||||
<0x6194 0x0>,
|
||||
<0x6198 0x0>,
|
||||
<0x619c 0x0>,
|
||||
<0x6270 0x0>,
|
||||
<0x6274 0x1>,
|
||||
<0x6278 0x2>,
|
||||
<0x627c 0x4>,
|
||||
<0x6280 0x4>,
|
||||
<0x6284 0x6>,
|
||||
<0x6288 0x6>,
|
||||
<0x628c 0xa>,
|
||||
<0x6290 0xc>,
|
||||
<0x6294 0xc>,
|
||||
<0x6298 0xc>,
|
||||
<0x629c 0xc>,
|
||||
<0x62f0 0xc>,
|
||||
<0x62f4 0x12>,
|
||||
<0x62f8 0x18>,
|
||||
<0x62fc 0x1a>,
|
||||
<0x6300 0x1d>,
|
||||
<0x6304 0x23>,
|
||||
<0x6308 0x24>,
|
||||
<0x630c 0x28>,
|
||||
<0x6310 0x2c>,
|
||||
<0x6314 0x30>,
|
||||
<0x6318 0x30>,
|
||||
<0x631c 0x30>,
|
||||
<0x6370 0x30>,
|
||||
<0x6374 0x35>,
|
||||
<0x6378 0x3a>,
|
||||
<0x637c 0x3e>,
|
||||
<0x6380 0x46>,
|
||||
<0x6384 0x50>,
|
||||
<0x6388 0x55>,
|
||||
<0x638c 0x5d>,
|
||||
<0x6390 0x67>,
|
||||
<0x6394 0x80>,
|
||||
<0x6398 0x80>,
|
||||
<0x639c 0x80>,
|
||||
<0x678c 0x12>,
|
||||
<0x6794 0x32>,
|
||||
<0x67a0 0x0>,
|
||||
<0x67a4 0xe1>,
|
||||
<0x67a8 0xf0>,
|
||||
<0x67b0 0x0>,
|
||||
<0x67b4 0xc>,
|
||||
<0x67b8 0x9c>,
|
||||
<0x67d0 0x0>,
|
||||
<0x67dc 0x4>,
|
||||
<0x67e0 0x8>,
|
||||
<0x6800 0x6>,
|
||||
<0x6900 0x3ff>,
|
||||
<0x6b48 0x330330>,
|
||||
<0x6b4c 0x81>,
|
||||
<0x6b50 0x1313>,
|
||||
<0x6b64 0x121155>,
|
||||
<0x6b68 0xcaa84920>,
|
||||
<0x6b70 0xc0c0000>,
|
||||
<0x6b74 0x8080000>,
|
||||
<0x6b78 0x8080000>,
|
||||
<0x6b80 0x20002000>,
|
||||
<0x6b84 0x20002000>,
|
||||
<0x6c00 0x5>,
|
||||
<0x6c04 0x0>,
|
||||
<0x6c08 0x5>,
|
||||
<0x6c0c 0x0>,
|
||||
<0x6c10 0x5>,
|
||||
<0x6c14 0x0>,
|
||||
<0x6c18 0x5>,
|
||||
<0x6c1c 0x0>,
|
||||
<0x6c20 0x5>,
|
||||
<0x6c24 0x0>,
|
||||
<0x6c28 0x0>,
|
||||
<0x6c2c 0x0>,
|
||||
<0x6c30 0x0>,
|
||||
<0x6c34 0x0>,
|
||||
<0x6c38 0x0>,
|
||||
<0x6c3c 0x0>,
|
||||
<0x6c40 0x0>,
|
||||
<0x6c44 0x0>,
|
||||
<0x6c48 0x0>,
|
||||
<0x6c4c 0x0>,
|
||||
<0x6c50 0x0>,
|
||||
<0x6c54 0x0>,
|
||||
<0x6c58 0x0>,
|
||||
<0x6c5c 0x0>,
|
||||
<0x6c60 0x0>,
|
||||
<0x6c64 0x0>,
|
||||
<0x6c68 0x0>,
|
||||
<0x6c6c 0x0>,
|
||||
<0x6c70 0x0>,
|
||||
<0x6c74 0x0>,
|
||||
<0x6c78 0x0>,
|
||||
<0x6c7c 0x0>,
|
||||
<0x6c80 0x0>,
|
||||
<0x6c84 0x0>,
|
||||
<0x6c88 0x0>,
|
||||
<0x6c8c 0x0>,
|
||||
<0x6c90 0x0>,
|
||||
<0x6c94 0x0>,
|
||||
<0x6c98 0x0>,
|
||||
<0x6c9c 0x0>,
|
||||
<0x6ca0 0x0>,
|
||||
<0x6ca4 0x0>,
|
||||
<0x6ca8 0x0>,
|
||||
<0x6cac 0x0>,
|
||||
<0x6cb0 0x0>,
|
||||
<0x6cb4 0x0>,
|
||||
<0x6cb8 0x0>,
|
||||
<0x6cbc 0x0>,
|
||||
<0x6cc0 0x0>,
|
||||
<0x6cc4 0x0>,
|
||||
<0x6cc8 0x0>,
|
||||
<0x6ccc 0x0>,
|
||||
<0x6cd0 0x0>,
|
||||
<0x6cd4 0x0>,
|
||||
<0x6cd8 0x0>,
|
||||
<0x6cdc 0x0>,
|
||||
<0x6ce0 0x0>,
|
||||
<0x6ce4 0x0>,
|
||||
<0x6ce8 0x0>,
|
||||
<0x6cec 0x0>,
|
||||
<0x6cf0 0x0>,
|
||||
<0x6cf4 0x0>,
|
||||
<0x6cf8 0x0>,
|
||||
<0x6cfc 0x0>,
|
||||
<0x6d00 0x3>,
|
||||
<0x6d04 0x4>,
|
||||
<0x6d08 0x4>,
|
||||
<0x6d0c 0x0>,
|
||||
<0x6d10 0x8>,
|
||||
<0x6d14 0x8>,
|
||||
<0x6d18 0x3>,
|
||||
<0x6d1c 0x2>,
|
||||
<0x6d20 0x4>,
|
||||
<0x6d24 0x0>,
|
||||
<0x6d28 0x4>,
|
||||
<0x6d2c 0x0>,
|
||||
<0x6d30 0x7>,
|
||||
<0x6d34 0x0>,
|
||||
<0x6d38 0x6>,
|
||||
<0x6d3c 0x0>,
|
||||
<0x6d40 0x0>,
|
||||
<0x6d44 0x1>,
|
||||
<0x6d48 0x4>,
|
||||
<0x6d4c 0x0>,
|
||||
<0x6d50 0x4>,
|
||||
<0x6d54 0x0>,
|
||||
<0x6d58 0x4>,
|
||||
<0x6d5c 0x0>,
|
||||
<0x6d60 0x0>,
|
||||
<0x6d64 0x0>,
|
||||
<0x6d68 0x0>,
|
||||
<0x6d6c 0x0>,
|
||||
<0x6d70 0x0>,
|
||||
<0x6d74 0x0>,
|
||||
<0x6d78 0x0>,
|
||||
<0x6d7c 0x0>,
|
||||
<0x6d80 0x0>,
|
||||
<0x6d84 0x0>,
|
||||
<0x6d88 0x0>,
|
||||
<0x6d8c 0x0>,
|
||||
<0x6d90 0x0>,
|
||||
<0x6d94 0x0>,
|
||||
<0x6d98 0x0>,
|
||||
<0x6d9c 0x0>,
|
||||
<0x6da0 0x0>,
|
||||
<0x6da4 0x0>,
|
||||
<0x6da8 0x0>,
|
||||
<0x6dac 0x0>,
|
||||
<0x6db0 0x0>,
|
||||
<0x6db4 0x0>,
|
||||
<0x6db8 0x0>,
|
||||
<0x6dbc 0x0>,
|
||||
<0x6dc0 0x0>,
|
||||
<0x6dc4 0x0>,
|
||||
<0x6dc8 0x0>,
|
||||
<0x6dcc 0x0>,
|
||||
<0x6dd0 0x0>,
|
||||
<0x6dd4 0x0>,
|
||||
<0x6dd8 0x0>,
|
||||
<0x6ddc 0x0>,
|
||||
<0x6de0 0x0>,
|
||||
<0x6de4 0x0>,
|
||||
<0x6de8 0x0>,
|
||||
<0x6dec 0x0>,
|
||||
<0x6df0 0x0>,
|
||||
<0x6df4 0x0>,
|
||||
<0x6df8 0x0>,
|
||||
<0x6dfc 0x0>;
|
||||
};
|
974
arch/arm64/boot/dts/qcom/msm-audio.dtsi
Normal file
974
arch/arm64/boot/dts/qcom/msm-audio.dtsi
Normal file
@ -0,0 +1,974 @@
|
||||
/*
|
||||
* Copyright (c) 2015-2017, 2019 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&spi_7 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&soc {
|
||||
pcm0: qcom,msm-pcm {
|
||||
compatible = "qcom,msm-pcm-dsp";
|
||||
qcom,msm-pcm-dsp-id = <0>;
|
||||
};
|
||||
|
||||
routing: qcom,msm-pcm-routing {
|
||||
compatible = "qcom,msm-pcm-routing";
|
||||
};
|
||||
|
||||
compr: qcom,msm-compr-dsp {
|
||||
compatible = "qcom,msm-compr-dsp";
|
||||
};
|
||||
|
||||
pcm2: qcom,msm-ultra-low-latency {
|
||||
compatible = "qcom,msm-pcm-dsp";
|
||||
qcom,msm-pcm-dsp-id = <2>;
|
||||
qcom,msm-pcm-low-latency;
|
||||
qcom,latency-level = "ultra";
|
||||
};
|
||||
|
||||
pcm1: qcom,msm-pcm-low-latency {
|
||||
compatible = "qcom,msm-pcm-dsp";
|
||||
qcom,msm-pcm-dsp-id = <1>;
|
||||
qcom,msm-pcm-low-latency;
|
||||
qcom,latency-level = "regular";
|
||||
};
|
||||
|
||||
pcm2: qcom,msm-ultra-low-latency {
|
||||
compatible = "qcom,msm-pcm-dsp";
|
||||
qcom,msm-pcm-dsp-id = <2>;
|
||||
qcom,msm-pcm-low-latency;
|
||||
qcom,latency-level = "ultra";
|
||||
};
|
||||
|
||||
pcm_noirq: qcom,msm-pcm-dsp-noirq {
|
||||
compatible = "qcom,msm-pcm-dsp-noirq";
|
||||
qcom,msm-pcm-low-latency;
|
||||
qcom,latency-level = "ultra";
|
||||
};
|
||||
|
||||
cpe: qcom,msm-cpe-lsm {
|
||||
compatible = "qcom,msm-cpe-lsm";
|
||||
};
|
||||
|
||||
cpe3: qcom,msm-cpe-lsm@3 {
|
||||
compatible = "qcom,msm-cpe-lsm";
|
||||
qcom,msm-cpe-lsm-id = <3>;
|
||||
};
|
||||
|
||||
wdsp_mgr: qcom,wcd-dsp-mgr {
|
||||
compatible = "qcom,wcd-dsp-mgr";
|
||||
qcom,wdsp-components = <&wcd934x_cdc 0>,
|
||||
<&wcd_spi_0 1>,
|
||||
<&glink_spi_xprt_wdsp 2>;
|
||||
qcom,img-filename = "cpe_9340";
|
||||
};
|
||||
|
||||
wdsp_glink: qcom,wcd-dsp-glink {
|
||||
compatible = "qcom,wcd-dsp-glink";
|
||||
};
|
||||
|
||||
compress: qcom,msm-compress-dsp {
|
||||
compatible = "qcom,msm-compress-dsp";
|
||||
};
|
||||
|
||||
voip: qcom,msm-voip-dsp {
|
||||
compatible = "qcom,msm-voip-dsp";
|
||||
};
|
||||
|
||||
voice: qcom,msm-pcm-voice {
|
||||
compatible = "qcom,msm-pcm-voice";
|
||||
qcom,destroy-cvd;
|
||||
};
|
||||
|
||||
stub_codec: qcom,msm-stub-codec {
|
||||
compatible = "qcom,msm-stub-codec";
|
||||
};
|
||||
|
||||
qcom,msm-dai-fe {
|
||||
compatible = "qcom,msm-dai-fe";
|
||||
};
|
||||
|
||||
afe: qcom,msm-pcm-afe {
|
||||
compatible = "qcom,msm-pcm-afe";
|
||||
};
|
||||
|
||||
dai_dp: qcom,msm-dai-q6-dp {
|
||||
compatible = "qcom,msm-dai-q6-hdmi";
|
||||
qcom,msm-dai-q6-dev-id = <24608>;
|
||||
};
|
||||
|
||||
loopback: qcom,msm-pcm-loopback {
|
||||
compatible = "qcom,msm-pcm-loopback";
|
||||
};
|
||||
|
||||
qcom,msm-dai-mi2s {
|
||||
compatible = "qcom,msm-dai-mi2s";
|
||||
dai_mi2s0: qcom,msm-dai-q6-mi2s-prim {
|
||||
compatible = "qcom,msm-dai-q6-mi2s";
|
||||
qcom,msm-dai-q6-mi2s-dev-id = <0>;
|
||||
qcom,msm-mi2s-rx-lines = <3>;
|
||||
qcom,msm-mi2s-tx-lines = <0>;
|
||||
};
|
||||
|
||||
dai_mi2s1: qcom,msm-dai-q6-mi2s-sec {
|
||||
compatible = "qcom,msm-dai-q6-mi2s";
|
||||
qcom,msm-dai-q6-mi2s-dev-id = <1>;
|
||||
qcom,msm-mi2s-rx-lines = <1>;
|
||||
qcom,msm-mi2s-tx-lines = <0>;
|
||||
};
|
||||
|
||||
dai_mi2s3: qcom,msm-dai-q6-mi2s-quat {
|
||||
compatible = "qcom,msm-dai-q6-mi2s";
|
||||
qcom,msm-dai-q6-mi2s-dev-id = <3>;
|
||||
qcom,msm-mi2s-rx-lines = <1>;
|
||||
qcom,msm-mi2s-tx-lines = <2>;
|
||||
};
|
||||
|
||||
dai_mi2s2: qcom,msm-dai-q6-mi2s-tert {
|
||||
compatible = "qcom,msm-dai-q6-mi2s";
|
||||
qcom,msm-dai-q6-mi2s-dev-id = <2>;
|
||||
qcom,msm-mi2s-rx-lines = <0>;
|
||||
qcom,msm-mi2s-tx-lines = <3>;
|
||||
};
|
||||
|
||||
dai_mi2s5: qcom,msm-dai-q6-mi2s-quin {
|
||||
compatible = "qcom,msm-dai-q6-mi2s";
|
||||
qcom,msm-dai-q6-mi2s-dev-id = <5>;
|
||||
qcom,msm-mi2s-rx-lines = <1>;
|
||||
qcom,msm-mi2s-tx-lines = <2>;
|
||||
};
|
||||
|
||||
dai_mi2s6: qcom,msm-dai-q6-mi2s-senary {
|
||||
compatible = "qcom,msm-dai-q6-mi2s";
|
||||
qcom,msm-dai-q6-mi2s-dev-id = <6>;
|
||||
qcom,msm-mi2s-rx-lines = <0>;
|
||||
qcom,msm-mi2s-tx-lines = <3>;
|
||||
};
|
||||
|
||||
dai_int_mi2s0: qcom,msm-dai-q6-int-mi2s0 {
|
||||
compatible = "qcom,msm-dai-q6-mi2s";
|
||||
qcom,msm-dai-q6-mi2s-dev-id = <7>;
|
||||
qcom,msm-mi2s-rx-lines = <3>;
|
||||
qcom,msm-mi2s-tx-lines = <0>;
|
||||
};
|
||||
|
||||
dai_int_mi2s1: qcom,msm-dai-q6-int-mi2s1 {
|
||||
compatible = "qcom,msm-dai-q6-mi2s";
|
||||
qcom,msm-dai-q6-mi2s-dev-id = <8>;
|
||||
qcom,msm-mi2s-rx-lines = <3>;
|
||||
qcom,msm-mi2s-tx-lines = <0>;
|
||||
};
|
||||
|
||||
dai_int_mi2s2: qcom,msm-dai-q6-int-mi2s2 {
|
||||
compatible = "qcom,msm-dai-q6-mi2s";
|
||||
qcom,msm-dai-q6-mi2s-dev-id = <9>;
|
||||
qcom,msm-mi2s-rx-lines = <0>;
|
||||
qcom,msm-mi2s-tx-lines = <3>;
|
||||
};
|
||||
|
||||
dai_int_mi2s3: qcom,msm-dai-q6-int-mi2s3 {
|
||||
compatible = "qcom,msm-dai-q6-mi2s";
|
||||
qcom,msm-dai-q6-mi2s-dev-id = <10>;
|
||||
qcom,msm-mi2s-rx-lines = <0>;
|
||||
qcom,msm-mi2s-tx-lines = <3>;
|
||||
};
|
||||
|
||||
dai_int_mi2s4: qcom,msm-dai-q6-int-mi2s4 {
|
||||
compatible = "qcom,msm-dai-q6-mi2s";
|
||||
qcom,msm-dai-q6-mi2s-dev-id = <11>;
|
||||
qcom,msm-mi2s-rx-lines = <3>;
|
||||
qcom,msm-mi2s-tx-lines = <0>;
|
||||
};
|
||||
|
||||
dai_int_mi2s5: qcom,msm-dai-q6-int-mi2s5 {
|
||||
compatible = "qcom,msm-dai-q6-mi2s";
|
||||
qcom,msm-dai-q6-mi2s-dev-id = <12>;
|
||||
qcom,msm-mi2s-rx-lines = <0>;
|
||||
qcom,msm-mi2s-tx-lines = <3>;
|
||||
};
|
||||
|
||||
dai_int_mi2s6: qcom,msm-dai-q6-int-mi2s6 {
|
||||
compatible = "qcom,msm-dai-q6-mi2s";
|
||||
qcom,msm-dai-q6-mi2s-dev-id = <13>;
|
||||
qcom,msm-mi2s-rx-lines = <0>;
|
||||
qcom,msm-mi2s-tx-lines = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
lsm: qcom,msm-lsm-client {
|
||||
compatible = "qcom,msm-lsm-client";
|
||||
};
|
||||
|
||||
qcom,msm-dai-q6 {
|
||||
compatible = "qcom,msm-dai-q6";
|
||||
sb_0_rx: qcom,msm-dai-q6-sb-0-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <16384>;
|
||||
};
|
||||
|
||||
sb_0_tx: qcom,msm-dai-q6-sb-0-tx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <16385>;
|
||||
};
|
||||
|
||||
sb_1_rx: qcom,msm-dai-q6-sb-1-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <16386>;
|
||||
};
|
||||
|
||||
sb_1_tx: qcom,msm-dai-q6-sb-1-tx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <16387>;
|
||||
};
|
||||
|
||||
sb_2_rx: qcom,msm-dai-q6-sb-2-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <16388>;
|
||||
};
|
||||
|
||||
sb_2_tx: qcom,msm-dai-q6-sb-2-tx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <16389>;
|
||||
};
|
||||
|
||||
|
||||
sb_3_rx: qcom,msm-dai-q6-sb-3-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <16390>;
|
||||
};
|
||||
|
||||
sb_3_tx: qcom,msm-dai-q6-sb-3-tx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <16391>;
|
||||
};
|
||||
|
||||
sb_4_rx: qcom,msm-dai-q6-sb-4-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <16392>;
|
||||
};
|
||||
|
||||
sb_4_tx: qcom,msm-dai-q6-sb-4-tx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <16393>;
|
||||
};
|
||||
|
||||
sb_5_tx: qcom,msm-dai-q6-sb-5-tx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <16395>;
|
||||
};
|
||||
|
||||
sb_5_rx: qcom,msm-dai-q6-sb-5-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <16394>;
|
||||
};
|
||||
|
||||
sb_6_rx: qcom,msm-dai-q6-sb-6-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <16396>;
|
||||
};
|
||||
|
||||
sb_7_tx: qcom,msm-dai-q6-sb-7-tx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <16399>;
|
||||
};
|
||||
|
||||
sb_7_rx: qcom,msm-dai-q6-sb-7-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <16398>;
|
||||
};
|
||||
|
||||
sb_8_tx: qcom,msm-dai-q6-sb-8-tx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <16401>;
|
||||
};
|
||||
|
||||
sb_8_rx: qcom,msm-dai-q6-sb-8-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <16400>;
|
||||
};
|
||||
|
||||
bt_sco_rx: qcom,msm-dai-q6-bt-sco-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <12288>;
|
||||
};
|
||||
|
||||
bt_sco_tx: qcom,msm-dai-q6-bt-sco-tx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <12289>;
|
||||
};
|
||||
|
||||
int_fm_rx: qcom,msm-dai-q6-int-fm-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <12292>;
|
||||
};
|
||||
|
||||
int_fm_tx: qcom,msm-dai-q6-int-fm-tx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <12293>;
|
||||
};
|
||||
|
||||
afe_pcm_rx: qcom,msm-dai-q6-be-afe-pcm-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <224>;
|
||||
};
|
||||
|
||||
afe_pcm_tx: qcom,msm-dai-q6-be-afe-pcm-tx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <225>;
|
||||
};
|
||||
|
||||
afe_proxy_rx: qcom,msm-dai-q6-afe-proxy-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <241>;
|
||||
};
|
||||
|
||||
afe_proxy_tx: qcom,msm-dai-q6-afe-proxy-tx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <240>;
|
||||
};
|
||||
|
||||
incall_record_rx: qcom,msm-dai-q6-incall-record-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <32771>;
|
||||
};
|
||||
|
||||
incall_record_tx: qcom,msm-dai-q6-incall-record-tx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <32772>;
|
||||
};
|
||||
|
||||
incall_music_rx: qcom,msm-dai-q6-incall-music-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <32773>;
|
||||
};
|
||||
|
||||
incall_music_2_rx: qcom,msm-dai-q6-incall-music-2-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <32770>;
|
||||
};
|
||||
|
||||
usb_audio_rx: qcom,msm-dai-q6-usb-audio-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <28672>;
|
||||
};
|
||||
|
||||
usb_audio_tx: qcom,msm-dai-q6-usb-audio-tx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <28673>;
|
||||
};
|
||||
};
|
||||
|
||||
hostless: qcom,msm-pcm-hostless {
|
||||
compatible = "qcom,msm-pcm-hostless";
|
||||
};
|
||||
|
||||
dai_pri_auxpcm: qcom,msm-pri-auxpcm {
|
||||
compatible = "qcom,msm-auxpcm-dev";
|
||||
qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
|
||||
qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
|
||||
qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
|
||||
qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-data = <0>, <0>;
|
||||
qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
|
||||
qcom,msm-auxpcm-interface = "primary";
|
||||
qcom,msm-cpudai-afe-clk-ver = <2>;
|
||||
};
|
||||
|
||||
dai_sec_auxpcm: qcom,msm-sec-auxpcm {
|
||||
compatible = "qcom,msm-auxpcm-dev";
|
||||
qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
|
||||
qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
|
||||
qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
|
||||
qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-data = <0>, <0>;
|
||||
qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
|
||||
qcom,msm-auxpcm-interface = "secondary";
|
||||
qcom,msm-cpudai-afe-clk-ver = <2>;
|
||||
};
|
||||
|
||||
dai_tert_auxpcm: qcom,msm-tert-auxpcm {
|
||||
compatible = "qcom,msm-auxpcm-dev";
|
||||
qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
|
||||
qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
|
||||
qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
|
||||
qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-data = <0>, <0>;
|
||||
qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
|
||||
qcom,msm-auxpcm-interface = "tertiary";
|
||||
qcom,msm-cpudai-afe-clk-ver = <2>;
|
||||
};
|
||||
|
||||
dai_quat_auxpcm: qcom,msm-quat-auxpcm {
|
||||
compatible = "qcom,msm-auxpcm-dev";
|
||||
qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
|
||||
qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
|
||||
qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
|
||||
qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-data = <0>, <0>;
|
||||
qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
|
||||
qcom,msm-auxpcm-interface = "quaternary";
|
||||
qcom,msm-cpudai-afe-clk-ver = <2>;
|
||||
};
|
||||
|
||||
qcom,msm-audio-ion {
|
||||
compatible = "qcom,msm-audio-ion";
|
||||
qcom,smmu-version = <2>;
|
||||
qcom,smmu-enabled;
|
||||
iommus = <&lpass_q6_smmu 1>;
|
||||
};
|
||||
|
||||
qcom,msm-adsp-loader {
|
||||
compatible = "qcom,adsp-loader";
|
||||
qcom,adsp-state = <0>;
|
||||
};
|
||||
|
||||
qcom,msm-dai-tdm-pri-rx {
|
||||
compatible = "qcom,msm-dai-tdm";
|
||||
qcom,msm-cpudai-tdm-group-id = <37120>;
|
||||
qcom,msm-cpudai-tdm-group-num-ports = <1>;
|
||||
qcom,msm-cpudai-tdm-group-port-id = <36864>;
|
||||
qcom,msm-cpudai-tdm-clk-rate = <1536000>;
|
||||
qcom,msm-cpudai-tdm-clk-internal = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-mode = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-src = <1>;
|
||||
qcom,msm-cpudai-tdm-data-out = <0>;
|
||||
qcom,msm-cpudai-tdm-invert-sync = <1>;
|
||||
qcom,msm-cpudai-tdm-data-delay = <1>;
|
||||
dai_pri_tdm_rx_0: qcom,msm-dai-q6-tdm-pri-rx-0 {
|
||||
compatible = "qcom,msm-dai-q6-tdm";
|
||||
qcom,msm-cpudai-tdm-dev-id = <36864>;
|
||||
qcom,msm-cpudai-tdm-data-align = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,msm-dai-tdm-pri-tx {
|
||||
compatible = "qcom,msm-dai-tdm";
|
||||
qcom,msm-cpudai-tdm-group-id = <37121>;
|
||||
qcom,msm-cpudai-tdm-group-num-ports = <1>;
|
||||
qcom,msm-cpudai-tdm-group-port-id = <36865>;
|
||||
qcom,msm-cpudai-tdm-clk-rate = <1536000>;
|
||||
qcom,msm-cpudai-tdm-clk-internal = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-mode = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-src = <1>;
|
||||
qcom,msm-cpudai-tdm-data-out = <0>;
|
||||
qcom,msm-cpudai-tdm-invert-sync = <1>;
|
||||
qcom,msm-cpudai-tdm-data-delay = <1>;
|
||||
dai_pri_tdm_tx_0: qcom,msm-dai-q6-tdm-pri-tx-0 {
|
||||
compatible = "qcom,msm-dai-q6-tdm";
|
||||
qcom,msm-cpudai-tdm-dev-id = <36865>;
|
||||
qcom,msm-cpudai-tdm-data-align = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,msm-dai-tdm-sec-rx {
|
||||
compatible = "qcom,msm-dai-tdm";
|
||||
qcom,msm-cpudai-tdm-group-id = <37136>;
|
||||
qcom,msm-cpudai-tdm-group-num-ports = <1>;
|
||||
qcom,msm-cpudai-tdm-group-port-id = <36880>;
|
||||
qcom,msm-cpudai-tdm-clk-rate = <1536000>;
|
||||
qcom,msm-cpudai-tdm-clk-internal = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-mode = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-src = <1>;
|
||||
qcom,msm-cpudai-tdm-data-out = <0>;
|
||||
qcom,msm-cpudai-tdm-invert-sync = <1>;
|
||||
qcom,msm-cpudai-tdm-data-delay = <1>;
|
||||
dai_sec_tdm_rx_0: qcom,msm-dai-q6-tdm-sec-rx-0 {
|
||||
compatible = "qcom,msm-dai-q6-tdm";
|
||||
qcom,msm-cpudai-tdm-dev-id = <36880>;
|
||||
qcom,msm-cpudai-tdm-data-align = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,msm-dai-tdm-sec-tx {
|
||||
compatible = "qcom,msm-dai-tdm";
|
||||
qcom,msm-cpudai-tdm-group-id = <37137>;
|
||||
qcom,msm-cpudai-tdm-group-num-ports = <1>;
|
||||
qcom,msm-cpudai-tdm-group-port-id = <36881>;
|
||||
qcom,msm-cpudai-tdm-clk-rate = <1536000>;
|
||||
qcom,msm-cpudai-tdm-clk-internal = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-mode = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-src = <1>;
|
||||
qcom,msm-cpudai-tdm-data-out = <0>;
|
||||
qcom,msm-cpudai-tdm-invert-sync = <1>;
|
||||
qcom,msm-cpudai-tdm-data-delay = <1>;
|
||||
dai_sec_tdm_tx_0: qcom,msm-dai-q6-tdm-sec-tx-0 {
|
||||
compatible = "qcom,msm-dai-q6-tdm";
|
||||
qcom,msm-cpudai-tdm-dev-id = <36881>;
|
||||
qcom,msm-cpudai-tdm-data-align = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,msm-dai-tdm-tert-rx {
|
||||
compatible = "qcom,msm-dai-tdm";
|
||||
qcom,msm-cpudai-tdm-group-id = <37152>;
|
||||
qcom,msm-cpudai-tdm-group-num-ports = <1>;
|
||||
qcom,msm-cpudai-tdm-group-port-id = <36896>;
|
||||
qcom,msm-cpudai-tdm-clk-rate = <1536000>;
|
||||
qcom,msm-cpudai-tdm-clk-internal = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-mode = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-src = <1>;
|
||||
qcom,msm-cpudai-tdm-data-out = <0>;
|
||||
qcom,msm-cpudai-tdm-invert-sync = <1>;
|
||||
qcom,msm-cpudai-tdm-data-delay = <1>;
|
||||
dai_tert_tdm_rx_0: qcom,msm-dai-q6-tdm-tert-rx-0 {
|
||||
compatible = "qcom,msm-dai-q6-tdm";
|
||||
qcom,msm-cpudai-tdm-dev-id = <36896>;
|
||||
qcom,msm-cpudai-tdm-data-align = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,msm-dai-tdm-tert-tx {
|
||||
compatible = "qcom,msm-dai-tdm";
|
||||
qcom,msm-cpudai-tdm-group-id = <37153>;
|
||||
qcom,msm-cpudai-tdm-group-num-ports = <1>;
|
||||
qcom,msm-cpudai-tdm-group-port-id = <36897 >;
|
||||
qcom,msm-cpudai-tdm-clk-rate = <1536000>;
|
||||
qcom,msm-cpudai-tdm-clk-internal = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-mode = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-src = <1>;
|
||||
qcom,msm-cpudai-tdm-data-out = <0>;
|
||||
qcom,msm-cpudai-tdm-invert-sync = <1>;
|
||||
qcom,msm-cpudai-tdm-data-delay = <1>;
|
||||
dai_tert_tdm_tx_0: qcom,msm-dai-q6-tdm-tert-tx-0 {
|
||||
compatible = "qcom,msm-dai-q6-tdm";
|
||||
qcom,msm-cpudai-tdm-dev-id = <36897 >;
|
||||
qcom,msm-cpudai-tdm-data-align = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,msm-dai-tdm-quat-rx {
|
||||
compatible = "qcom,msm-dai-tdm";
|
||||
qcom,msm-cpudai-tdm-group-id = <37168>;
|
||||
qcom,msm-cpudai-tdm-group-num-ports = <1>;
|
||||
qcom,msm-cpudai-tdm-group-port-id = <36912>;
|
||||
qcom,msm-cpudai-tdm-clk-rate = <1536000>;
|
||||
qcom,msm-cpudai-tdm-clk-internal = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-mode = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-src = <1>;
|
||||
qcom,msm-cpudai-tdm-data-out = <0>;
|
||||
qcom,msm-cpudai-tdm-invert-sync = <1>;
|
||||
qcom,msm-cpudai-tdm-data-delay = <1>;
|
||||
dai_quat_tdm_rx_0: qcom,msm-dai-q6-tdm-quat-rx-0 {
|
||||
compatible = "qcom,msm-dai-q6-tdm";
|
||||
qcom,msm-cpudai-tdm-dev-id = <36912>;
|
||||
qcom,msm-cpudai-tdm-data-align = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,msm-dai-tdm-quat-tx {
|
||||
compatible = "qcom,msm-dai-tdm";
|
||||
qcom,msm-cpudai-tdm-group-id = <37169>;
|
||||
qcom,msm-cpudai-tdm-group-num-ports = <1>;
|
||||
qcom,msm-cpudai-tdm-group-port-id = <36913 >;
|
||||
qcom,msm-cpudai-tdm-clk-rate = <1536000>;
|
||||
qcom,msm-cpudai-tdm-clk-internal = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-mode = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-src = <1>;
|
||||
qcom,msm-cpudai-tdm-data-out = <0>;
|
||||
qcom,msm-cpudai-tdm-invert-sync = <1>;
|
||||
qcom,msm-cpudai-tdm-data-delay = <1>;
|
||||
dai_quat_tdm_tx_0: qcom,msm-dai-q6-tdm-quat-tx-0 {
|
||||
compatible = "qcom,msm-dai-q6-tdm";
|
||||
qcom,msm-cpudai-tdm-dev-id = <36913 >;
|
||||
qcom,msm-cpudai-tdm-data-align = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,avtimer@150f700c {
|
||||
compatible = "qcom,avtimer";
|
||||
reg = <0x150f700c 0x4>,
|
||||
<0x150f7010 0x4>;
|
||||
reg-names = "avtimer_lsb_addr", "avtimer_msb_addr";
|
||||
qcom,clk-div = <27>;
|
||||
};
|
||||
|
||||
qcom,msm-audio-apr {
|
||||
compatible = "qcom,msm-audio-apr";
|
||||
msm_audio_apr_dummy {
|
||||
compatible = "qcom,msm-audio-apr-dummy";
|
||||
};
|
||||
};
|
||||
|
||||
tasha_snd: sound-9335 {
|
||||
compatible = "qcom,sdm660-asoc-snd-tasha";
|
||||
qcom,model = "sdm660-tasha-snd-card";
|
||||
qcom,wcn-btfm;
|
||||
qcom,mi2s-audio-intf;
|
||||
qcom,auxpcm-audio-intf;
|
||||
qcom,ext-disp-audio-rx;
|
||||
qcom,msm-mi2s-master = <1>, <1>, <1>, <1>;
|
||||
qcom,audio-routing =
|
||||
"AIF4 VI", "MCLK",
|
||||
"RX_BIAS", "MCLK",
|
||||
"MADINPUT", "MCLK",
|
||||
"AMIC2", "MIC BIAS2",
|
||||
"MIC BIAS2", "Headset Mic",
|
||||
"AMIC3", "MIC BIAS2",
|
||||
"MIC BIAS2", "ANCRight Headset Mic",
|
||||
"AMIC4", "MIC BIAS2",
|
||||
"MIC BIAS2", "ANCLeft Headset Mic",
|
||||
"AMIC5", "MIC BIAS3",
|
||||
"MIC BIAS3", "Handset Mic",
|
||||
"AMIC6", "MIC BIAS4",
|
||||
"MIC BIAS4", "Analog Mic6",
|
||||
"DMIC0", "MIC BIAS1",
|
||||
"MIC BIAS1", "Digital Mic0",
|
||||
"DMIC1", "MIC BIAS1",
|
||||
"MIC BIAS1", "Digital Mic1",
|
||||
"DMIC2", "MIC BIAS3",
|
||||
"MIC BIAS3", "Digital Mic2",
|
||||
"DMIC3", "MIC BIAS3",
|
||||
"MIC BIAS3", "Digital Mic3",
|
||||
"DMIC4", "MIC BIAS4",
|
||||
"MIC BIAS4", "Digital Mic4",
|
||||
"DMIC5", "MIC BIAS4",
|
||||
"MIC BIAS4", "Digital Mic5",
|
||||
"SpkrLeft IN", "SPK1 OUT",
|
||||
"SpkrRight IN", "SPK2 OUT";
|
||||
|
||||
qcom,msm-mbhc-hphl-swh = <1>;
|
||||
qcom,msm-mbhc-gnd-swh = <1>;
|
||||
qcom,us-euro-gpios = <&us_euro_gpio>;
|
||||
qcom,hph-en0-gpio = <&tasha_hph_en0>;
|
||||
qcom,hph-en1-gpio = <&tasha_hph_en1>;
|
||||
qcom,msm-mclk-freq = <9600000>;
|
||||
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
|
||||
<&loopback>, <&compress>, <&hostless>,
|
||||
<&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>,
|
||||
<&pcm_noirq>, <&cpe3>;
|
||||
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
|
||||
"msm-pcm-dsp.2", "msm-voip-dsp",
|
||||
"msm-pcm-voice", "msm-pcm-loopback",
|
||||
"msm-compress-dsp", "msm-pcm-hostless",
|
||||
"msm-pcm-afe", "msm-lsm-client",
|
||||
"msm-pcm-routing", "msm-cpe-lsm",
|
||||
"msm-compr-dsp", "msm-pcm-dsp-noirq",
|
||||
"msm-cpe-lsm.3";
|
||||
asoc-cpu = <&dai_dp>, <&dai_mi2s0>,
|
||||
<&dai_mi2s1>,
|
||||
<&dai_mi2s2>, <&dai_mi2s3>,
|
||||
<&dai_pri_auxpcm>, <&dai_sec_auxpcm>,
|
||||
<&dai_tert_auxpcm>, <&dai_quat_auxpcm>,
|
||||
<&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
|
||||
<&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>,
|
||||
<&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>,
|
||||
<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
|
||||
<&afe_proxy_tx>, <&incall_record_rx>,
|
||||
<&incall_record_tx>, <&incall_music_rx>,
|
||||
<&incall_music_2_rx>, <&sb_5_rx>, <&sb_6_rx>,
|
||||
<&sb_7_rx>, <&sb_7_tx>, <&sb_8_tx>, <&sb_8_rx>,
|
||||
<&usb_audio_rx>, <&usb_audio_tx>,
|
||||
<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
|
||||
<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
|
||||
<&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>,
|
||||
<&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>;
|
||||
asoc-cpu-names = "msm-dai-q6-dp.24608", "msm-dai-q6-mi2s.0",
|
||||
"msm-dai-q6-mi2s.1",
|
||||
"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
|
||||
"msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2",
|
||||
"msm-dai-q6-auxpcm.3", "msm-dai-q6-auxpcm.4",
|
||||
"msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
|
||||
"msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
|
||||
"msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389",
|
||||
"msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
|
||||
"msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
|
||||
"msm-dai-q6-dev.16395", "msm-dai-q6-dev.224",
|
||||
"msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
|
||||
"msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
|
||||
"msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
|
||||
"msm-dai-q6-dev.32770", "msm-dai-q6-dev.16394",
|
||||
"msm-dai-q6-dev.16396", "msm-dai-q6-dev.16398",
|
||||
"msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401",
|
||||
"msm-dai-q6-dev.16400", "msm-dai-q6-dev.28672",
|
||||
"msm-dai-q6-dev.28673", "msm-dai-q6-tdm.36864",
|
||||
"msm-dai-q6-tdm.36865", "msm-dai-q6-tdm.36880",
|
||||
"msm-dai-q6-tdm.36881", "msm-dai-q6-tdm.36896",
|
||||
"msm-dai-q6-tdm.36897", "msm-dai-q6-tdm.36912",
|
||||
"msm-dai-q6-tdm.36913";
|
||||
asoc-codec = <&stub_codec>, <&ext_disp_audio_codec>;
|
||||
asoc-codec-names = "msm-stub-codec.1",
|
||||
"msm-ext-disp-audio-codec-rx";
|
||||
qcom,wsa-max-devs = <2>;
|
||||
qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>,
|
||||
<&wsa881x_213>, <&wsa881x_214>;
|
||||
qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
|
||||
"SpkrLeft", "SpkrRight";
|
||||
};
|
||||
|
||||
tavil_snd: sound-tavil {
|
||||
compatible = "qcom,sdm660-asoc-snd-tavil";
|
||||
qcom,model = "sdm660-tavil-snd-card";
|
||||
qcom,wcn-btfm;
|
||||
qcom,mi2s-audio-intf;
|
||||
qcom,auxpcm-audio-intf;
|
||||
qcom,ext-disp-audio-rx;
|
||||
qcom,msm-mi2s-master = <1>, <1>, <1>, <1>;
|
||||
qcom,audio-routing =
|
||||
"AIF4 VI", "MCLK",
|
||||
"RX_BIAS", "MCLK",
|
||||
"MADINPUT", "MCLK",
|
||||
"AMIC2", "MIC BIAS2",
|
||||
"MIC BIAS2", "Headset Mic",
|
||||
"AMIC3", "MIC BIAS2",
|
||||
"MIC BIAS2", "ANCRight Headset Mic",
|
||||
"AMIC4", "MIC BIAS2",
|
||||
"MIC BIAS2", "ANCLeft Headset Mic",
|
||||
"AMIC5", "MIC BIAS3",
|
||||
"MIC BIAS3", "Handset Mic",
|
||||
"DMIC0", "MIC BIAS1",
|
||||
"MIC BIAS1", "Digital Mic0",
|
||||
"DMIC1", "MIC BIAS1",
|
||||
"MIC BIAS1", "Digital Mic1",
|
||||
"DMIC2", "MIC BIAS3",
|
||||
"MIC BIAS3", "Digital Mic2",
|
||||
"DMIC3", "MIC BIAS3",
|
||||
"MIC BIAS3", "Digital Mic3",
|
||||
"DMIC4", "MIC BIAS4",
|
||||
"MIC BIAS4", "Digital Mic4",
|
||||
"DMIC5", "MIC BIAS4",
|
||||
"MIC BIAS4", "Digital Mic5",
|
||||
"SpkrLeft IN", "SPK1 OUT",
|
||||
"SpkrRight IN", "SPK2 OUT";
|
||||
|
||||
qcom,msm-mbhc-hphl-swh = <1>;
|
||||
qcom,msm-mbhc-gnd-swh = <1>;
|
||||
qcom,us-euro-gpios = <&tavil_us_euro_sw>;
|
||||
qcom,hph-en0-gpio = <&tavil_hph_en0>;
|
||||
qcom,hph-en1-gpio = <&tavil_hph_en1>;
|
||||
qcom,msm-mclk-freq = <9600000>;
|
||||
qcom,usbc-analog-en1_gpio = <&wcd_usbc_analog_en1_gpio>;
|
||||
qcom,usbc-analog-en2_n_gpio = <&wcd_usbc_analog_en2n_gpio>;
|
||||
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
|
||||
<&loopback>, <&compress>, <&hostless>,
|
||||
<&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>,
|
||||
<&pcm_noirq>;
|
||||
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
|
||||
"msm-pcm-dsp.2", "msm-voip-dsp",
|
||||
"msm-pcm-voice", "msm-pcm-loopback",
|
||||
"msm-compress-dsp", "msm-pcm-hostless",
|
||||
"msm-pcm-afe", "msm-lsm-client",
|
||||
"msm-pcm-routing", "msm-cpe-lsm",
|
||||
"msm-compr-dsp", "msm-pcm-dsp-noirq";
|
||||
asoc-cpu = <&dai_dp>, <&dai_mi2s0>,
|
||||
<&dai_mi2s1>,
|
||||
<&dai_mi2s2>, <&dai_mi2s3>,
|
||||
<&dai_pri_auxpcm>, <&dai_sec_auxpcm>,
|
||||
<&dai_tert_auxpcm>, <&dai_quat_auxpcm>,
|
||||
<&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
|
||||
<&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>,
|
||||
<&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>,
|
||||
<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
|
||||
<&afe_proxy_tx>, <&incall_record_rx>,
|
||||
<&incall_record_tx>, <&incall_music_rx>,
|
||||
<&incall_music_2_rx>, <&sb_5_rx>, <&sb_6_rx>,
|
||||
<&sb_7_rx>, <&sb_7_tx>, <&sb_8_tx>, <&sb_8_rx>,
|
||||
<&usb_audio_rx>, <&usb_audio_tx>,
|
||||
<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
|
||||
<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
|
||||
<&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>,
|
||||
<&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>;
|
||||
asoc-cpu-names = "msm-dai-q6-dp.24608", "msm-dai-q6-mi2s.0",
|
||||
"msm-dai-q6-mi2s.1",
|
||||
"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
|
||||
"msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2",
|
||||
"msm-dai-q6-auxpcm.3", "msm-dai-q6-auxpcm.4",
|
||||
"msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
|
||||
"msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
|
||||
"msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389",
|
||||
"msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
|
||||
"msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
|
||||
"msm-dai-q6-dev.16395", "msm-dai-q6-dev.224",
|
||||
"msm-dai-q6-dev.225", "msm-dai-q6-dev.241",
|
||||
"msm-dai-q6-dev.240", "msm-dai-q6-dev.32771",
|
||||
"msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773",
|
||||
"msm-dai-q6-dev.32770", "msm-dai-q6-dev.16394",
|
||||
"msm-dai-q6-dev.16396", "msm-dai-q6-dev.16398",
|
||||
"msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401",
|
||||
"msm-dai-q6-dev.16400", "msm-dai-q6-dev.28672",
|
||||
"msm-dai-q6-dev.28673", "msm-dai-q6-tdm.36864",
|
||||
"msm-dai-q6-tdm.36865", "msm-dai-q6-tdm.36880",
|
||||
"msm-dai-q6-tdm.36881", "msm-dai-q6-tdm.36896",
|
||||
"msm-dai-q6-tdm.36897", "msm-dai-q6-tdm.36912",
|
||||
"msm-dai-q6-tdm.36913";
|
||||
asoc-codec = <&stub_codec>, <&ext_disp_audio_codec>;
|
||||
asoc-codec-names = "msm-stub-codec.1",
|
||||
"msm-ext-disp-audio-codec-rx";
|
||||
qcom,wsa-max-devs = <2>;
|
||||
qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>,
|
||||
<&wsa881x_0213>, <&wsa881x_0214>;
|
||||
qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
|
||||
"SpkrLeft", "SpkrRight";
|
||||
};
|
||||
|
||||
int_codec: sound {
|
||||
status = "disabled";
|
||||
compatible = "qcom,sdm660-asoc-snd";
|
||||
qcom,model = "sdm660-snd-card";
|
||||
qcom,wcn-btfm;
|
||||
qcom,mi2s-audio-intf;
|
||||
qcom,auxpcm-audio-intf;
|
||||
qcom,ext-disp-audio-rx;
|
||||
qcom,msm-mi2s-master = <1>, <1>, <1>, <1>;
|
||||
qcom,msm-mclk-freq = <9600000>;
|
||||
qcom,msm-mbhc-hphl-swh = <1>;
|
||||
qcom,msm-mbhc-gnd-swh = <1>;
|
||||
qcom,msm-micbias2-ext-cap;
|
||||
qcom,msm-hs-micbias-type = "external";
|
||||
qcom,us-euro-gpios = <&us_euro_gpio>;
|
||||
qcom,cdc-pdm-gpios = <&cdc_pdm_gpios>;
|
||||
qcom,cdc-comp-gpios = <&cdc_comp_gpios>;
|
||||
qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>;
|
||||
qcom,audio-routing =
|
||||
"RX_BIAS", "INT_MCLK0",
|
||||
"SPK_RX_BIAS", "INT_MCLK0",
|
||||
"INT_LDO_H", "INT_MCLK0",
|
||||
"RX_I2S_CLK", "INT_MCLK0",
|
||||
"TX_I2S_CLK", "INT_MCLK0",
|
||||
"MIC BIAS External", "Handset Mic",
|
||||
"MIC BIAS External2", "Headset Mic",
|
||||
"MIC BIAS External", "Secondary Mic",
|
||||
"AMIC1", "MIC BIAS External",
|
||||
"AMIC2", "MIC BIAS External2",
|
||||
"AMIC3", "MIC BIAS External",
|
||||
"DMIC1", "MIC BIAS External",
|
||||
"MIC BIAS External", "Digital Mic1",
|
||||
"DMIC2", "MIC BIAS External",
|
||||
"MIC BIAS External", "Digital Mic2",
|
||||
"DMIC3", "MIC BIAS External",
|
||||
"MIC BIAS External", "Digital Mic3",
|
||||
"DMIC4", "MIC BIAS External",
|
||||
"MIC BIAS External", "Digital Mic4",
|
||||
"SpkrLeft IN", "SPK1 OUT",
|
||||
"SpkrRight IN", "SPK2 OUT",
|
||||
"PDM_IN_RX1", "PDM_OUT_RX1",
|
||||
"PDM_IN_RX2", "PDM_OUT_RX2",
|
||||
"PDM_IN_RX3", "PDM_OUT_RX3",
|
||||
"ADC1_IN", "ADC1_OUT",
|
||||
"ADC2_IN", "ADC2_OUT",
|
||||
"ADC3_IN", "ADC3_OUT";
|
||||
|
||||
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
|
||||
<&loopback>, <&compress>, <&hostless>,
|
||||
<&afe>, <&lsm>, <&routing>, <&compr>,
|
||||
<&pcm_noirq>;
|
||||
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
|
||||
"msm-pcm-dsp.2", "msm-voip-dsp",
|
||||
"msm-pcm-voice", "msm-pcm-loopback",
|
||||
"msm-compress-dsp", "msm-pcm-hostless",
|
||||
"msm-pcm-afe", "msm-lsm-client",
|
||||
"msm-pcm-routing", "msm-compr-dsp",
|
||||
"msm-pcm-dsp-noirq";
|
||||
asoc-cpu = <&dai_dp>, <&dai_mi2s0>,
|
||||
<&dai_mi2s1>,
|
||||
<&dai_mi2s2>, <&dai_mi2s3>,
|
||||
<&dai_int_mi2s0>, <&dai_int_mi2s1>,
|
||||
<&dai_int_mi2s2>, <&dai_int_mi2s3>,
|
||||
<&dai_int_mi2s4>, <&dai_int_mi2s5>,
|
||||
<&dai_pri_auxpcm>, <&dai_sec_auxpcm>,
|
||||
<&dai_tert_auxpcm>, <&dai_quat_auxpcm>,
|
||||
<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
|
||||
<&afe_proxy_tx>, <&incall_record_rx>,
|
||||
<&incall_record_tx>, <&incall_music_rx>,
|
||||
<&incall_music_2_rx>, <&sb_7_rx>, <&sb_7_tx>,
|
||||
<&sb_8_tx>, <&sb_8_rx>,
|
||||
<&usb_audio_rx>, <&usb_audio_tx>,
|
||||
<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
|
||||
<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
|
||||
<&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>,
|
||||
<&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>;
|
||||
asoc-cpu-names = "msm-dai-q6-dp.24608", "msm-dai-q6-mi2s.0",
|
||||
"msm-dai-q6-mi2s.1",
|
||||
"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
|
||||
"msm-dai-q6-mi2s.7", "msm-dai-q6-mi2s.8",
|
||||
"msm-dai-q6-mi2s.9", "msm-dai-q6-mi2s.10",
|
||||
"msm-dai-q6-mi2s.11", "msm-dai-q6-mi2s.12",
|
||||
"msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2",
|
||||
"msm-dai-q6-auxpcm.3", "msm-dai-q6-auxpcm.4",
|
||||
"msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
|
||||
"msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
|
||||
"msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
|
||||
"msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770",
|
||||
"msm-dai-q6-dev.16398", "msm-dai-q6-dev.16399",
|
||||
"msm-dai-q6-dev.16401", "msm-dai-q6-dev.16400",
|
||||
"msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673",
|
||||
"msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865",
|
||||
"msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
|
||||
"msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897",
|
||||
"msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913";
|
||||
asoc-codec = <&stub_codec>, <&msm_digital_codec>,
|
||||
<&pmic_analog_codec>, <&msm_sdw_codec>,
|
||||
<&ext_disp_audio_codec>;
|
||||
asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec",
|
||||
"analog-codec", "msm_sdw_codec",
|
||||
"msm-ext-disp-audio-codec-rx";
|
||||
|
||||
qcom,wsa-max-devs = <2>;
|
||||
qcom,wsa-devs = <&wsa881x_211_en>, <&wsa881x_212_en>,
|
||||
<&wsa881x_213_en>, <&wsa881x_214_en>;
|
||||
qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
|
||||
"SpkrLeft", "SpkrRight";
|
||||
};
|
||||
|
||||
us_euro_gpio: msm_cdc_pinctrl@75 {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&wcd_gnd_mic_swap_active>;
|
||||
pinctrl-1 = <&wcd_gnd_mic_swap_idle>;
|
||||
};
|
||||
|
||||
wcd9xxx_intc: wcd9xxx-irq {
|
||||
compatible = "qcom,wcd9xxx-irq";
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
interrupts = <0 177 0>;
|
||||
interrupt-names = "wcd_irq";
|
||||
};
|
||||
|
||||
clock_audio: audio_ext_clk {
|
||||
compatible = "qcom,audio-ref-clk";
|
||||
qcom,audio-ref-clk-gpio = <&pm660_gpios 3 0>;
|
||||
clock-names = "osr_clk";
|
||||
clocks = <&clock_rpmcc RPM_SMD_DIV_CLK1>;
|
||||
qcom,node_has_rpm_clock;
|
||||
#clock-cells = <1>;
|
||||
qcom,codec-mclk-clk-freq = <11289600>;
|
||||
qcom,mclk-clk-reg = <0x15020018 0x0>;
|
||||
pinctrl-names = "sleep", "active";
|
||||
pinctrl-0 = <&lpi_mclk0_sleep>;
|
||||
pinctrl-1 = <&lpi_mclk0_active>;
|
||||
};
|
||||
|
||||
clock_audio_lnbb: audio_ext_clk_lnbb {
|
||||
compatible = "qcom,audio-ref-clk";
|
||||
clock-names = "osr_clk";
|
||||
clocks = <&clock_rpmcc RPM_SMD_LN_BB_CLK2>;
|
||||
qcom,node_has_rpm_clock;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
wcd_rst_gpio: msm_cdc_pinctrl@64 {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&lpi_cdc_reset_active>;
|
||||
pinctrl-1 = <&lpi_cdc_reset_sleep>;
|
||||
qcom,lpi-gpios;
|
||||
};
|
||||
};
|
159
arch/arm64/boot/dts/qcom/msm-gdsc-660.dtsi
Normal file
159
arch/arm64/boot/dts/qcom/msm-gdsc-660.dtsi
Normal file
@ -0,0 +1,159 @@
|
||||
/*
|
||||
* Copyright (c) 2016, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&soc {
|
||||
/* GCC GDSCs */
|
||||
gdsc_usb30: qcom,gdsc@10f004 {
|
||||
compatible = "qcom,gdsc";
|
||||
regulator-name = "gdsc_usb30";
|
||||
reg = <0x10f004 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gdsc_ufs: qcom,gdsc@175004 {
|
||||
compatible = "qcom,gdsc";
|
||||
regulator-name = "gdsc_ufs";
|
||||
reg = <0x175004 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gdsc_hlos1_vote_lpass_adsp: qcom,gdsc@17d034 {
|
||||
compatible = "qcom,gdsc";
|
||||
regulator-name = "gdsc_hlos1_vote_lpass_adsp";
|
||||
reg = <0x17d034 0x4>;
|
||||
qcom,no-status-check-on-disable;
|
||||
qcom,gds-timeout = <500>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gdsc_hlos1_vote_turing_adsp: qcom,gdsc@17d04c {
|
||||
compatible = "qcom,gdsc";
|
||||
regulator-name = "gdsc_hlos1_vote_turing_adsp";
|
||||
reg = <0x17d04c 0x4>;
|
||||
qcom,no-status-check-on-disable;
|
||||
qcom,gds-timeout = <500>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gdsc_hlos2_vote_turing_adsp: qcom,gdsc@17e04c {
|
||||
compatible = "qcom,gdsc";
|
||||
regulator-name = "gdsc_hlos2_vote_turing_adsp";
|
||||
reg = <0x17e04c 0x4>;
|
||||
qcom,no-status-check-on-disable;
|
||||
qcom,gds-timeout = <500>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* MMSS GDSCs */
|
||||
bimc_smmu_hw_ctrl: syscon@c8ce024 {
|
||||
compatible = "syscon";
|
||||
reg = <0xc8ce024 0x4>;
|
||||
};
|
||||
|
||||
gdsc_bimc_smmu: qcom,gdsc@c8ce020 {
|
||||
compatible = "qcom,gdsc";
|
||||
regulator-name = "gdsc_bimc_smmu";
|
||||
reg = <0xc8ce020 0x4>;
|
||||
hw-ctrl-addr = <&bimc_smmu_hw_ctrl>;
|
||||
qcom,no-status-check-on-disable;
|
||||
qcom,gds-timeout = <500>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gdsc_venus: qcom,gdsc@c8c1024 {
|
||||
compatible = "qcom,gdsc";
|
||||
regulator-name = "gdsc_venus";
|
||||
reg = <0xc8c1024 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gdsc_venus_core0: qcom,gdsc@c8c1040 {
|
||||
compatible = "qcom,gdsc";
|
||||
regulator-name = "gdsc_venus_core0";
|
||||
reg = <0xc8c1040 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gdsc_camss_top: qcom,gdsc@c8c34a0 {
|
||||
compatible = "qcom,gdsc";
|
||||
regulator-name = "gdsc_camss_top";
|
||||
reg = <0xc8c34a0 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gdsc_vfe0: qcom,gdsc@c8c3664 {
|
||||
compatible = "qcom,gdsc";
|
||||
regulator-name = "gdsc_vfe0";
|
||||
reg = <0xc8c3664 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gdsc_vfe1: qcom,gdsc@c8c3674 {
|
||||
compatible = "qcom,gdsc";
|
||||
regulator-name = "gdsc_vfe1";
|
||||
reg = <0xc8c3674 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gdsc_cpp: qcom,gdsc@c8c36d4 {
|
||||
compatible = "qcom,gdsc";
|
||||
regulator-name = "gdsc_cpp";
|
||||
reg = <0xc8c36d4 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gdsc_mdss: qcom,gdsc@c8c2304 {
|
||||
compatible = "qcom,gdsc";
|
||||
regulator-name = "gdsc_mdss";
|
||||
reg = <0xc8c2304 0x4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* GPU GDSCs */
|
||||
gpu_cx_hw_ctrl: syscon@5066008 {
|
||||
compatible = "syscon";
|
||||
reg = <0x5066008 0x4>;
|
||||
};
|
||||
|
||||
gdsc_gpu_cx: qcom,gdsc@5066004 {
|
||||
compatible = "qcom,gdsc";
|
||||
regulator-name = "gdsc_gpu_cx";
|
||||
reg = <0x5066004 0x4>;
|
||||
hw-ctrl-addr = <&gpu_cx_hw_ctrl>;
|
||||
qcom,no-status-check-on-disable;
|
||||
qcom,gds-timeout = <2000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* GPU GX GDSCs */
|
||||
gpu_gx_domain_addr: syscon@5065130 {
|
||||
compatible = "syscon";
|
||||
reg = <0x5065130 0x4>;
|
||||
};
|
||||
|
||||
gpu_gx_sw_reset: syscon@5066090 {
|
||||
compatible = "syscon";
|
||||
reg = <0x5066090 0x4>;
|
||||
};
|
||||
|
||||
gdsc_gpu_gx: qcom,gdsc@5066094 {
|
||||
compatible = "qcom,gdsc";
|
||||
regulator-name = "gdsc_gpu_gx";
|
||||
reg = <0x5066094 0x4>;
|
||||
domain-addr = <&gpu_gx_domain_addr>;
|
||||
sw-reset = <&gpu_gx_sw_reset>;
|
||||
qcom,retain-periph;
|
||||
qcom,reset-aon-logic;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
298
arch/arm64/boot/dts/qcom/msm-pm660-rpm-regulator.dtsi
Normal file
298
arch/arm64/boot/dts/qcom/msm-pm660-rpm-regulator.dtsi
Normal file
@ -0,0 +1,298 @@
|
||||
/* Copyright (c) 2016, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&rpm_bus {
|
||||
rpm-regulator-smpa4 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "smpa";
|
||||
qcom,resource-id = <4>;
|
||||
qcom,regulator-type = <1>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-s4 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_s4";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-smpa5 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "smpa";
|
||||
qcom,resource-id = <5>;
|
||||
qcom,regulator-type = <1>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-s5 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_s5";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-smpa6 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "smpa";
|
||||
qcom,resource-id = <6>;
|
||||
qcom,regulator-type = <1>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-s6 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_s6";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa1 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldoa";
|
||||
qcom,resource-id = <1>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l1 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l1";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa2 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldoa";
|
||||
qcom,resource-id = <2>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l2 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l2";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa3 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldoa";
|
||||
qcom,resource-id = <3>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l3 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l3";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa5 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldoa";
|
||||
qcom,resource-id = <5>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l5 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l5";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa6 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldoa";
|
||||
qcom,resource-id = <6>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l6 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l6";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa7 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldoa";
|
||||
qcom,resource-id = <7>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l7 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l7";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa8 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldoa";
|
||||
qcom,resource-id = <8>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l8 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l8";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa9 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldoa";
|
||||
qcom,resource-id = <9>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l9 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l9";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa10 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldoa";
|
||||
qcom,resource-id = <10>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l10 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l10";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa11 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldoa";
|
||||
qcom,resource-id = <11>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l11 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l11";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa12 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldoa";
|
||||
qcom,resource-id = <12>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l12 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l12";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa13 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldoa";
|
||||
qcom,resource-id = <13>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l13 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l13";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa14 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldoa";
|
||||
qcom,resource-id = <14>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l14 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l14";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa15 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldoa";
|
||||
qcom,resource-id = <15>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l15 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l15";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa17 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldoa";
|
||||
qcom,resource-id = <17>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l17 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l17";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa19 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldoa";
|
||||
qcom,resource-id = <19>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l19 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l19";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
657
arch/arm64/boot/dts/qcom/msm-pm660.dtsi
Normal file
657
arch/arm64/boot/dts/qcom/msm-pm660.dtsi
Normal file
@ -0,0 +1,657 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/spmi/spmi.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
&spmi_bus {
|
||||
qcom,pm660@0 {
|
||||
compatible ="qcom,spmi-pmic";
|
||||
reg = <0x0 SPMI_USID>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pm660_revid: qcom,revid@100 {
|
||||
compatible = "qcom,qpnp-revid";
|
||||
reg = <0x100 0x100>;
|
||||
qcom,fab-id-valid;
|
||||
qcom,tp-rev-valid;
|
||||
};
|
||||
|
||||
pm660_misc: qcom,misc@900 {
|
||||
compatible = "qcom,qpnp-misc";
|
||||
reg = <0x900 0x100>;
|
||||
};
|
||||
|
||||
qcom,power-on@800 {
|
||||
compatible = "qcom,qpnp-power-on";
|
||||
reg = <0x800 0x100>;
|
||||
interrupts = <0x0 0x8 0x0 IRQ_TYPE_NONE>,
|
||||
<0x0 0x8 0x1 IRQ_TYPE_NONE>,
|
||||
<0x0 0x8 0x4 IRQ_TYPE_NONE>,
|
||||
<0x0 0x8 0x5 IRQ_TYPE_NONE>;
|
||||
interrupt-names = "kpdpwr", "resin",
|
||||
"resin-bark", "kpdpwr-resin-bark";
|
||||
qcom,pon-dbc-delay = <15625>;
|
||||
qcom,kpdpwr-sw-debounce;
|
||||
qcom,system-reset;
|
||||
qcom,store-hard-reset-reason;
|
||||
|
||||
qcom,pon_1 {
|
||||
qcom,pon-type = <0>;
|
||||
qcom,pull-up = <1>;
|
||||
linux,code = <116>;
|
||||
};
|
||||
|
||||
qcom,pon_2 {
|
||||
qcom,pon-type = <1>;
|
||||
qcom,pull-up = <1>;
|
||||
linux,code = <114>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,temp-alarm@2400 {
|
||||
compatible = "qcom,qpnp-temp-alarm";
|
||||
reg = <0x2400 0x100>;
|
||||
interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
|
||||
label = "pm660_tz";
|
||||
qcom,channel-num = <6>;
|
||||
qcom,temp_alarm-vadc = <&pm660_vadc>;
|
||||
};
|
||||
|
||||
pm660_gpios: gpios {
|
||||
compatible = "qcom,qpnp-pin";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
label = "pm660-gpio";
|
||||
|
||||
gpio@c000 {
|
||||
reg = <0xc000 0x100>;
|
||||
qcom,pin-num = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c100 {
|
||||
reg = <0xc100 0x100>;
|
||||
qcom,pin-num = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c200 {
|
||||
reg = <0xc200 0x100>;
|
||||
qcom,pin-num = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c300 {
|
||||
reg = <0xc300 0x100>;
|
||||
qcom,pin-num = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c400 {
|
||||
reg = <0xc400 0x100>;
|
||||
qcom,pin-num = <5>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c500 {
|
||||
reg = <0xc500 0x100>;
|
||||
qcom,pin-num = <6>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c600 {
|
||||
reg = <0xc600 0x100>;
|
||||
qcom,pin-num = <7>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c700 {
|
||||
reg = <0xc700 0x100>;
|
||||
qcom,pin-num = <8>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c800 {
|
||||
reg = <0xc800 0x100>;
|
||||
qcom,pin-num = <9>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c900 {
|
||||
reg = <0xc900 0x100>;
|
||||
qcom,pin-num = <10>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@ca00 {
|
||||
reg = <0xca00 0x100>;
|
||||
qcom,pin-num = <11>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@cb00 {
|
||||
reg = <0xcb00 0x100>;
|
||||
qcom,pin-num = <12>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@cc00 {
|
||||
reg = <0xcc00 0x100>;
|
||||
qcom,pin-num = <13>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
pm660_coincell: qcom,coincell@2800 {
|
||||
compatible = "qcom,qpnp-coincell";
|
||||
reg = <0x2800 0x100>;
|
||||
};
|
||||
|
||||
pm660_rtc: qcom,pm660_rtc {
|
||||
compatible = "qcom,qpnp-rtc";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
qcom,qpnp-rtc-write = <0>;
|
||||
qcom,qpnp-rtc-alarm-pwrup = <0>;
|
||||
|
||||
qcom,pm660_rtc_rw@6000 {
|
||||
reg = <0x6000 0x100>;
|
||||
};
|
||||
qcom,pm660_rtc_alarm@6100 {
|
||||
reg = <0x6100 0x100>;
|
||||
interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
|
||||
};
|
||||
};
|
||||
|
||||
pm660_vadc: vadc@3100 {
|
||||
compatible = "qcom,qpnp-vadc-hc";
|
||||
reg = <0x3100 0x100>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "eoc-int-en-set";
|
||||
qcom,adc-bit-resolution = <15>;
|
||||
qcom,adc-vdd-reference = <1875>;
|
||||
|
||||
chan@6 {
|
||||
label = "die_temp";
|
||||
reg = <6>;
|
||||
qcom,decimation = <2>;
|
||||
qcom,pre-div-channel-scaling = <0>;
|
||||
qcom,calibration-type = "absolute";
|
||||
qcom,scale-function = <3>;
|
||||
qcom,hw-settle-time = <0>;
|
||||
qcom,fast-avg-setup = <0>;
|
||||
qcom,cal-val = <0>;
|
||||
};
|
||||
|
||||
chan@0 {
|
||||
label = "ref_gnd";
|
||||
reg = <0>;
|
||||
qcom,decimation = <2>;
|
||||
qcom,pre-div-channel-scaling = <0>;
|
||||
qcom,calibration-type = "absolute";
|
||||
qcom,scale-function = <0>;
|
||||
qcom,hw-settle-time = <0>;
|
||||
qcom,fast-avg-setup = <0>;
|
||||
qcom,cal-val = <0>;
|
||||
};
|
||||
|
||||
chan@1 {
|
||||
label = "ref_1250v";
|
||||
reg = <1>;
|
||||
qcom,decimation = <2>;
|
||||
qcom,pre-div-channel-scaling = <0>;
|
||||
qcom,calibration-type = "absolute";
|
||||
qcom,scale-function = <0>;
|
||||
qcom,hw-settle-time = <0>;
|
||||
qcom,fast-avg-setup = <0>;
|
||||
qcom,cal-val = <0>;
|
||||
};
|
||||
|
||||
chan@83 {
|
||||
label = "vph_pwr";
|
||||
reg = <0x83>;
|
||||
qcom,decimation = <2>;
|
||||
qcom,pre-div-channel-scaling = <1>;
|
||||
qcom,calibration-type = "absolute";
|
||||
qcom,scale-function = <0>;
|
||||
qcom,hw-settle-time = <0>;
|
||||
qcom,fast-avg-setup = <0>;
|
||||
};
|
||||
|
||||
chan@85 {
|
||||
label = "vcoin";
|
||||
reg = <0x85>;
|
||||
qcom,decimation = <2>;
|
||||
qcom,pre-div-channel-scaling = <1>;
|
||||
qcom,calibration-type = "absolute";
|
||||
qcom,scale-function = <0>;
|
||||
qcom,hw-settle-time = <0>;
|
||||
qcom,fast-avg-setup = <0>;
|
||||
};
|
||||
|
||||
chan@4c {
|
||||
label = "xo_therm";
|
||||
reg = <0x4c>;
|
||||
qcom,decimation = <2>;
|
||||
qcom,pre-div-channel-scaling = <0>;
|
||||
qcom,calibration-type = "ratiometric";
|
||||
qcom,scale-function = <4>;
|
||||
qcom,hw-settle-time = <2>;
|
||||
qcom,fast-avg-setup = <0>;
|
||||
};
|
||||
|
||||
chan@4d {
|
||||
label = "msm_therm";
|
||||
reg = <0x4d>;
|
||||
qcom,decimation = <2>;
|
||||
qcom,pre-div-channel-scaling = <0>;
|
||||
qcom,calibration-type = "ratiometric";
|
||||
qcom,scale-function = <2>;
|
||||
qcom,hw-settle-time = <2>;
|
||||
qcom,fast-avg-setup = <0>;
|
||||
};
|
||||
|
||||
chan@51 {
|
||||
label = "quiet_therm";
|
||||
reg = <0x51>;
|
||||
qcom,decimation = <2>;
|
||||
qcom,pre-div-channel-scaling = <0>;
|
||||
qcom,calibration-type = "ratiometric";
|
||||
qcom,scale-function = <2>;
|
||||
qcom,hw-settle-time = <2>;
|
||||
qcom,fast-avg-setup = <0>;
|
||||
};
|
||||
|
||||
chan@4e {
|
||||
label = "emmc_therm";
|
||||
reg = <0x4e>;
|
||||
qcom,decimation = <2>;
|
||||
qcom,pre-div-channel-scaling = <0>;
|
||||
qcom,calibration-type = "ratiometric";
|
||||
qcom,scale-function = <2>;
|
||||
qcom,hw-settle-time = <2>;
|
||||
qcom,fast-avg-setup = <0>;
|
||||
qcom,vadc-thermal-node;
|
||||
};
|
||||
|
||||
chan@4f {
|
||||
label = "pa_therm0";
|
||||
reg = <0x4f>;
|
||||
qcom,decimation = <2>;
|
||||
qcom,pre-div-channel-scaling = <0>;
|
||||
qcom,calibration-type = "ratiometric";
|
||||
qcom,scale-function = <2>;
|
||||
qcom,hw-settle-time = <2>;
|
||||
qcom,fast-avg-setup = <0>;
|
||||
qcom,vadc-thermal-node;
|
||||
};
|
||||
|
||||
chan@1d {
|
||||
label = "drax_temp";
|
||||
reg = <0x1d>;
|
||||
qcom,decimation = <2>;
|
||||
qcom,pre-div-channel-scaling = <0>;
|
||||
qcom,calibration-type = "absolute";
|
||||
qcom,scale-function = <3>;
|
||||
qcom,hw-settle-time = <0>;
|
||||
qcom,fast-avg-setup = <0>;
|
||||
qcom,cal-val = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
pm660_charger: qcom,qpnp-smb2 {
|
||||
compatible = "qcom,qpnp-smb2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
qcom,pmic-revid = <&pm660_revid>;
|
||||
|
||||
io-channels = <&pm660_rradc 8>,
|
||||
<&pm660_rradc 10>,
|
||||
<&pm660_rradc 3>,
|
||||
<&pm660_rradc 4>;
|
||||
io-channel-names = "charger_temp",
|
||||
"charger_temp_max",
|
||||
"usbin_i",
|
||||
"usbin_v";
|
||||
|
||||
qcom,wipower-max-uw = <5000000>;
|
||||
dpdm-supply = <&qusb_phy0>;
|
||||
|
||||
qcom,thermal-mitigation
|
||||
= <3000000 2500000 2000000 1500000
|
||||
1000000 500000>;
|
||||
|
||||
qcom,chgr@1000 {
|
||||
reg = <0x1000 0x100>;
|
||||
interrupts =
|
||||
<0x0 0x10 0x0 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x10 0x1 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x10 0x2 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x10 0x3 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x10 0x4 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "chg-error",
|
||||
"chg-state-change",
|
||||
"step-chg-state-change",
|
||||
"step-chg-soc-update-fail",
|
||||
"step-chg-soc-update-request";
|
||||
};
|
||||
|
||||
qcom,otg@1100 {
|
||||
reg = <0x1100 0x100>;
|
||||
interrupts = <0x0 0x11 0x0 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x11 0x1 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x11 0x2 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x11 0x3 IRQ_TYPE_EDGE_BOTH>;
|
||||
|
||||
interrupt-names = "otg-fail",
|
||||
"otg-overcurrent",
|
||||
"otg-oc-dis-sw-sts",
|
||||
"testmode-change-detect";
|
||||
};
|
||||
|
||||
qcom,bat-if@1200 {
|
||||
reg = <0x1200 0x100>;
|
||||
interrupts =
|
||||
<0x0 0x12 0x0 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x12 0x1 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x12 0x2 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x12 0x3 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x12 0x4 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x12 0x5 IRQ_TYPE_EDGE_BOTH>;
|
||||
|
||||
interrupt-names = "bat-temp",
|
||||
"bat-ocp",
|
||||
"bat-ov",
|
||||
"bat-low",
|
||||
"bat-therm-or-id-missing",
|
||||
"bat-terminal-missing";
|
||||
};
|
||||
|
||||
qcom,usb-chgpth@1300 {
|
||||
reg = <0x1300 0x100>;
|
||||
interrupts =
|
||||
<0x0 0x13 0x0 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x13 0x1 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x13 0x2 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x13 0x3 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x13 0x4 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x13 0x5 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x13 0x6 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x13 0x7 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "usbin-collapse",
|
||||
"usbin-lt-3p6v",
|
||||
"usbin-uv",
|
||||
"usbin-ov",
|
||||
"usbin-plugin",
|
||||
"usbin-src-change",
|
||||
"usbin-icl-change",
|
||||
"type-c-change";
|
||||
};
|
||||
|
||||
qcom,dc-chgpth@1400 {
|
||||
reg = <0x1400 0x100>;
|
||||
interrupts =
|
||||
<0x0 0x14 0x0 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x14 0x1 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x14 0x2 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x14 0x3 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x14 0x4 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x14 0x5 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x14 0x6 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "dcin-collapse",
|
||||
"dcin-lt-3p6v",
|
||||
"dcin-uv",
|
||||
"dcin-ov",
|
||||
"dcin-plugin",
|
||||
"div2-en-dg",
|
||||
"dcin-icl-change";
|
||||
};
|
||||
|
||||
qcom,chgr-misc@1600 {
|
||||
reg = <0x1600 0x100>;
|
||||
interrupts =
|
||||
<0x0 0x16 0x0 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x16 0x1 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x16 0x2 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x16 0x3 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x16 0x4 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x16 0x5 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x16 0x6 IRQ_TYPE_EDGE_FALLING>,
|
||||
<0x0 0x16 0x7 IRQ_TYPE_EDGE_BOTH>;
|
||||
|
||||
interrupt-names = "wdog-snarl",
|
||||
"wdog-bark",
|
||||
"aicl-fail",
|
||||
"aicl-done",
|
||||
"high-duty-cycle",
|
||||
"input-current-limiting",
|
||||
"temperature-change",
|
||||
"switcher-power-ok";
|
||||
};
|
||||
};
|
||||
|
||||
pm660_pdphy: qcom,usb-pdphy@1700 {
|
||||
compatible = "qcom,qpnp-pdphy";
|
||||
reg = <0x1700 0x100>;
|
||||
vdd-pdphy-supply = <&pm660l_l7>;
|
||||
vbus-supply = <&smb2_vbus>;
|
||||
vconn-supply = <&smb2_vconn>;
|
||||
interrupts = <0x0 0x17 0x0 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x17 0x1 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x17 0x2 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x17 0x3 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x17 0x4 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x17 0x5 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x17 0x6 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "sig-tx",
|
||||
"sig-rx",
|
||||
"msg-tx",
|
||||
"msg-rx",
|
||||
"msg-tx-failed",
|
||||
"msg-tx-discarded",
|
||||
"msg-rx-discarded";
|
||||
|
||||
qcom,default-sink-caps = <5000 3000>, /* 5V @ 3A */
|
||||
<9000 3000>; /* 9V @ 3A */
|
||||
};
|
||||
|
||||
pm660_adc_tm: vadc@3400 {
|
||||
compatible = "qcom,qpnp-adc-tm-hc";
|
||||
reg = <0x3400 0x100>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <0x0 0x34 0x0 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "eoc-int-en-set";
|
||||
qcom,adc-bit-resolution = <15>;
|
||||
qcom,adc-vdd-reference = <1875>;
|
||||
qcom,adc_tm-vadc = <&pm660_vadc>;
|
||||
qcom,decimation = <0>;
|
||||
qcom,fast-avg-setup = <0>;
|
||||
|
||||
chan@83 {
|
||||
label = "vph_pwr";
|
||||
reg = <0x83>;
|
||||
qcom,pre-div-channel-scaling = <1>;
|
||||
qcom,calibration-type = "absolute";
|
||||
qcom,scale-function = <0>;
|
||||
qcom,hw-settle-time = <0>;
|
||||
qcom,btm-channel-number = <0x60>;
|
||||
};
|
||||
|
||||
chan@4d {
|
||||
label = "msm_therm";
|
||||
reg = <0x4d>;
|
||||
qcom,pre-div-channel-scaling = <0>;
|
||||
qcom,calibration-type = "ratiometric";
|
||||
qcom,scale-function = <2>;
|
||||
qcom,hw-settle-time = <2>;
|
||||
qcom,btm-channel-number = <0x68>;
|
||||
qcom,thermal-node;
|
||||
};
|
||||
|
||||
chan@51 {
|
||||
label = "quiet_therm";
|
||||
reg = <0x51>;
|
||||
qcom,pre-div-channel-scaling = <0>;
|
||||
qcom,calibration-type = "ratiometric";
|
||||
qcom,scale-function = <2>;
|
||||
qcom,hw-settle-time = <2>;
|
||||
qcom,btm-channel-number = <0x70>;
|
||||
qcom,thermal-node;
|
||||
};
|
||||
|
||||
chan@4c {
|
||||
label = "xo_therm";
|
||||
reg = <0x4c>;
|
||||
qcom,pre-div-channel-scaling = <0>;
|
||||
qcom,calibration-type = "ratiometric";
|
||||
qcom,scale-function = <4>;
|
||||
qcom,hw-settle-time = <2>;
|
||||
qcom,btm-channel-number = <0x78>;
|
||||
qcom,thermal-node;
|
||||
};
|
||||
};
|
||||
|
||||
pm660_rradc: rradc@4500 {
|
||||
compatible = "qcom,rradc";
|
||||
reg = <0x4500 0x100>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#io-channel-cells = <1>;
|
||||
qcom,pmic-revid = <&pm660_revid>;
|
||||
};
|
||||
|
||||
pm660_fg: qpnp,fg {
|
||||
compatible = "qcom,fg-gen3";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
qcom,pmic-revid = <&pm660_revid>;
|
||||
io-channels = <&pm660_rradc 0>,
|
||||
<&pm660_rradc 7>;
|
||||
io-channel-names = "rradc_batt_id",
|
||||
"rradc_die_temp";
|
||||
qcom,rradc-base = <0x4500>;
|
||||
qcom,fg-esr-timer-awake = <96 96>;
|
||||
qcom,fg-esr-timer-asleep = <256 256>;
|
||||
qcom,fg-esr-timer-charging = <0 96>;
|
||||
qcom,cycle-counter-en;
|
||||
status = "okay";
|
||||
|
||||
qcom,fg-batt-soc@4000 {
|
||||
status = "okay";
|
||||
reg = <0x4000 0x100>;
|
||||
interrupts = <0x0 0x40 0x0 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x40 0x1 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x40 0x2
|
||||
IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x40 0x3
|
||||
IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x40 0x4 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x40 0x5
|
||||
IRQ_TYPE_EDGE_RISING>,
|
||||
<0x0 0x40 0x6 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x40 0x7 IRQ_TYPE_EDGE_BOTH>;
|
||||
interrupt-names = "soc-update",
|
||||
"soc-ready",
|
||||
"bsoc-delta",
|
||||
"msoc-delta",
|
||||
"msoc-low",
|
||||
"msoc-empty",
|
||||
"msoc-high",
|
||||
"msoc-full";
|
||||
};
|
||||
|
||||
qcom,fg-batt-info@4100 {
|
||||
status = "okay";
|
||||
reg = <0x4100 0x100>;
|
||||
interrupts = <0x0 0x41 0x0 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x41 0x1 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x41 0x2 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x41 0x3 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x41 0x6 IRQ_TYPE_EDGE_BOTH>;
|
||||
interrupt-names = "vbatt-pred-delta",
|
||||
"vbatt-low",
|
||||
"esr-delta",
|
||||
"batt-missing",
|
||||
"batt-temp-delta";
|
||||
};
|
||||
|
||||
qcom,fg-memif@4400 {
|
||||
status = "okay";
|
||||
reg = <0x4400 0x100>;
|
||||
interrupts = <0x0 0x44 0x0 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x44 0x1 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x0 0x44 0x2 IRQ_TYPE_EDGE_BOTH>;
|
||||
interrupt-names = "ima-rdy",
|
||||
"mem-xcp",
|
||||
"dma-grant";
|
||||
};
|
||||
};
|
||||
|
||||
bcl@4200 {
|
||||
compatible = "qcom,msm-bcl-lmh";
|
||||
reg = <0x4200 0xff>,
|
||||
<0x4300 0xff>;
|
||||
reg-names = "fg_user_adc",
|
||||
"fg_lmh";
|
||||
interrupts = <0x0 0x42 0x0 IRQ_TYPE_NONE>,
|
||||
<0x0 0x42 0x2 IRQ_TYPE_NONE>;
|
||||
interrupt-names = "bcl-high-ibat-int",
|
||||
"bcl-low-vbat-int";
|
||||
qcom,vbat-polling-delay-ms = <100>;
|
||||
qcom,ibat-polling-delay-ms = <100>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,pm660@1 {
|
||||
compatible ="qcom,spmi-pmic";
|
||||
reg = <0x1 SPMI_USID>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pm660_haptics: qcom,haptic@c000 {
|
||||
compatible = "qcom,qpnp-haptic";
|
||||
reg = <0xc000 0x100>;
|
||||
interrupts = <0x1 0xc0 0x0 IRQ_TYPE_EDGE_BOTH>,
|
||||
<0x1 0xc0 0x1 IRQ_TYPE_EDGE_BOTH>;
|
||||
interrupt-names = "sc-irq", "play-irq";
|
||||
qcom,pmic-revid = <&pm660_revid>;
|
||||
qcom,pmic-misc = <&pm660_misc>;
|
||||
qcom,misc-clk-trim-error-reg = <0xf3>;
|
||||
qcom,actuator-type = "lra";
|
||||
qcom,play-mode = "direct";
|
||||
qcom,vmax-mv = <3200>;
|
||||
qcom,ilim-ma = <800>;
|
||||
qcom,wave-shape = "square";
|
||||
qcom,wave-play-rate-us = <6667>;
|
||||
qcom,int-pwm-freq-khz = <505>;
|
||||
qcom,sc-debounce-cycles = <8>;
|
||||
qcom,en-brake;
|
||||
qcom,brake-pattern = [03 03 00 00];
|
||||
qcom,lra-high-z = "opt0";
|
||||
qcom,lra-auto-res-mode = "qwd";
|
||||
qcom,lra-calibrate-at-eop = <0>;
|
||||
qcom,correct-lra-drive-freq;
|
||||
};
|
||||
};
|
||||
};
|
29
arch/arm64/boot/dts/qcom/msm-pm660a.dtsi
Normal file
29
arch/arm64/boot/dts/qcom/msm-pm660a.dtsi
Normal file
@ -0,0 +1,29 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
/* Disable WLED */
|
||||
&pm660l_wled {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* disable LCDB */
|
||||
&pm660l_lcdb {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&pm660a_oledb {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pm660a_labibb {
|
||||
status = "okay";
|
||||
};
|
238
arch/arm64/boot/dts/qcom/msm-pm660l-rpm-regulator.dtsi
Normal file
238
arch/arm64/boot/dts/qcom/msm-pm660l-rpm-regulator.dtsi
Normal file
@ -0,0 +1,238 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&rpm_bus {
|
||||
rpm-regulator-smpb1 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "smpb";
|
||||
qcom,resource-id = <1>;
|
||||
qcom,regulator-type = <1>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-s1 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_s1";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-smpb2 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "smpb";
|
||||
qcom,resource-id = <2>;
|
||||
qcom,regulator-type = <1>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-s2 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_s2";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-smpb3 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "rwcx";
|
||||
qcom,resource-id = <0>;
|
||||
qcom,regulator-type = <1>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-s3 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_s3";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-smpb5 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "rwmx";
|
||||
qcom,resource-id = <0>;
|
||||
qcom,regulator-type = <1>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-s5 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_s5";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob1 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldob";
|
||||
qcom,resource-id = <1>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l1 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_l1";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob2 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldob";
|
||||
qcom,resource-id = <2>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l2 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_l2";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob3 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldob";
|
||||
qcom,resource-id = <3>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l3 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_l3";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob4 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldob";
|
||||
qcom,resource-id = <4>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l4 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_l4";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob5 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldob";
|
||||
qcom,resource-id = <5>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l5 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_l5";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob6 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldob";
|
||||
qcom,resource-id = <6>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l6 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_l6";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob7 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldob";
|
||||
qcom,resource-id = <7>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l7 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_l7";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob8 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "ldob";
|
||||
qcom,resource-id = <8>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l8 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_l8";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob9 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "rwlc";
|
||||
qcom,resource-id = <0>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l9 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_l9";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob10 {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "rwlm";
|
||||
qcom,resource-id = <0>;
|
||||
qcom,regulator-type = <0>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-l10 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_l10";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-bobb {
|
||||
compatible = "qcom,rpm-smd-regulator-resource";
|
||||
qcom,resource-name = "bobb";
|
||||
qcom,resource-id = <1>;
|
||||
qcom,regulator-type = <4>;
|
||||
status = "disabled";
|
||||
|
||||
regulator-bob {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_bob";
|
||||
qcom,set = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
469
arch/arm64/boot/dts/qcom/msm-pm660l.dtsi
Normal file
469
arch/arm64/boot/dts/qcom/msm-pm660l.dtsi
Normal file
@ -0,0 +1,469 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/spmi/spmi.h>
|
||||
#include <dt-bindings/msm/power-on.h>
|
||||
|
||||
&spmi_bus {
|
||||
qcom,pm660l@2 {
|
||||
compatible = "qcom,spmi-pmic";
|
||||
reg = <0x2 SPMI_USID>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pm660l_revid: qcom,revid@100 {
|
||||
compatible = "qcom,qpnp-revid";
|
||||
reg = <0x100 0x100>;
|
||||
};
|
||||
|
||||
pm660l_pbs: qcom,pbs@7300 {
|
||||
compatible = "qcom,qpnp-pbs";
|
||||
reg = <0x7300 0x100>;
|
||||
};
|
||||
|
||||
qcom,power-on@800 {
|
||||
compatible = "qcom,qpnp-power-on";
|
||||
reg = <0x800 0x100>;
|
||||
qcom,secondary-pon-reset;
|
||||
qcom,hard-reset-poweroff-type =
|
||||
<PON_POWER_OFF_SHUTDOWN>;
|
||||
};
|
||||
|
||||
qcom,temp-alarm@2400 {
|
||||
compatible = "qcom,qpnp-temp-alarm";
|
||||
reg = <0x2400 0x100>;
|
||||
interrupts = <0x2 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
|
||||
label = "pm660l_tz";
|
||||
};
|
||||
|
||||
pm660l_gpios: gpios {
|
||||
compatible = "qcom,qpnp-pin";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
label = "pm660l-gpio";
|
||||
|
||||
gpio@c000 {
|
||||
reg = <0xc000 0x100>;
|
||||
qcom,pin-num = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c100 {
|
||||
reg = <0xc100 0x100>;
|
||||
qcom,pin-num = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c200 {
|
||||
reg = <0xc200 0x100>;
|
||||
qcom,pin-num = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c300 {
|
||||
reg = <0xc300 0x100>;
|
||||
qcom,pin-num = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c400 {
|
||||
reg = <0xc400 0x100>;
|
||||
qcom,pin-num = <5>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c500 {
|
||||
reg = <0xc500 0x100>;
|
||||
qcom,pin-num = <6>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c600 {
|
||||
reg = <0xc600 0x100>;
|
||||
qcom,pin-num = <7>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c700 {
|
||||
reg = <0xc700 0x100>;
|
||||
qcom,pin-num = <8>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c800 {
|
||||
reg = <0xc800 0x100>;
|
||||
qcom,pin-num = <9>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@c900 {
|
||||
reg = <0xc900 0x100>;
|
||||
qcom,pin-num = <10>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@ca00 {
|
||||
reg = <0xca00 0x100>;
|
||||
qcom,pin-num = <11>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio@cb00 {
|
||||
reg = <0xcb00 0x100>;
|
||||
qcom,pin-num = <12>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
pm660l_3: qcom,pm660l@3 {
|
||||
compatible ="qcom,spmi-pmic";
|
||||
reg = <0x3 SPMI_USID>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pm660l_pwm_1: pwm@b100 {
|
||||
compatible = "qcom,qpnp-pwm";
|
||||
reg = <0xb100 0x100>,
|
||||
<0xb042 0x7e>;
|
||||
reg-names = "qpnp-lpg-channel-base",
|
||||
"qpnp-lpg-lut-base";
|
||||
qcom,channel-id = <1>;
|
||||
qcom,lpg-lut-size = <0x7e>;
|
||||
qcom,supported-sizes = <6>, <9>;
|
||||
qcom,ramp-index = <0>;
|
||||
#pwm-cells = <2>;
|
||||
};
|
||||
|
||||
pm660l_pwm_2: pwm@b200 {
|
||||
compatible = "qcom,qpnp-pwm";
|
||||
reg = <0xb200 0x100>,
|
||||
<0xb042 0x7e>;
|
||||
reg-names = "qpnp-lpg-channel-base",
|
||||
"qpnp-lpg-lut-base";
|
||||
qcom,channel-id = <2>;
|
||||
qcom,lpg-lut-size = <0x7e>;
|
||||
qcom,supported-sizes = <6>, <9>;
|
||||
qcom,ramp-index = <1>;
|
||||
#pwm-cells = <2>;
|
||||
};
|
||||
|
||||
pm660l_pwm_3: pwm@b300 {
|
||||
compatible = "qcom,qpnp-pwm";
|
||||
reg = <0xb300 0x100>,
|
||||
<0xb042 0x7e>;
|
||||
reg-names = "qpnp-lpg-channel-base",
|
||||
"qpnp-lpg-lut-base";
|
||||
qcom,channel-id = <3>;
|
||||
qcom,lpg-lut-size = <0x7e>;
|
||||
qcom,supported-sizes = <6>, <9>;
|
||||
qcom,ramp-index = <2>;
|
||||
#pwm-cells = <2>;
|
||||
qcom,period = <6000000>;
|
||||
|
||||
qcom,lpg {
|
||||
label = "lpg";
|
||||
cell-index = <0>;
|
||||
qcom,duty-percents =
|
||||
<0x01 0x0a 0x14 0x1e 0x28 0x32 0x3c
|
||||
0x46 0x50 0x5a 0x64
|
||||
0x64 0x5a 0x50 0x46 0x3c 0x32 0x28 0x1e
|
||||
0x14 0x0a 0x01>;
|
||||
};
|
||||
};
|
||||
|
||||
pm660l_pwm_4: pwm@b400 {
|
||||
compatible = "qcom,qpnp-pwm";
|
||||
reg = <0xb400 0x100>,
|
||||
<0xb042 0x7e>;
|
||||
reg-names = "qpnp-lpg-channel-base",
|
||||
"qpnp-lpg-lut-base";
|
||||
qcom,channel-id = <4>;
|
||||
qcom,lpg-lut-size = <0x7e>;
|
||||
qcom,supported-sizes = <6>, <9>;
|
||||
qcom,ramp-index = <3>;
|
||||
#pwm-cells = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
qcom,leds@d000 {
|
||||
compatible = "qcom,leds-qpnp";
|
||||
reg = <0xd000 0x100>;
|
||||
label = "rgb";
|
||||
|
||||
red_led: qcom,rgb_0 {
|
||||
label = "rgb";
|
||||
qcom,id = <3>;
|
||||
qcom,mode = "pwm";
|
||||
pwms = <&pm660l_pwm_3 0 0>;
|
||||
qcom,pwm-us = <1000>;
|
||||
qcom,max-current = <12>;
|
||||
qcom,default-state = "off";
|
||||
linux,name = "red";
|
||||
qcom,start-idx = <0>;
|
||||
qcom,idx-len = <22>;
|
||||
qcom,duty-pcts =
|
||||
[01 0a 14 1e 28 32 3c 46 50 5a 64
|
||||
64 5a 50 46 3c 32 28 1e 14 0a 01];
|
||||
qcom,use-blink;
|
||||
};
|
||||
|
||||
green_led: qcom,rgb_1 {
|
||||
label = "rgb";
|
||||
qcom,id = <4>;
|
||||
qcom,mode = "pwm";
|
||||
pwms = <&pm660l_pwm_2 0 0>;
|
||||
qcom,pwm-us = <1000>;
|
||||
qcom,max-current = <12>;
|
||||
qcom,default-state = "off";
|
||||
linux,name = "green";
|
||||
};
|
||||
|
||||
blue_led: qcom,rgb_2 {
|
||||
label = "rgb";
|
||||
qcom,id = <5>;
|
||||
qcom,mode = "pwm";
|
||||
pwms = <&pm660l_pwm_1 0 0>;
|
||||
qcom,pwm-us = <1000>;
|
||||
qcom,max-current = <12>;
|
||||
qcom,default-state = "off";
|
||||
linux,name = "blue";
|
||||
};
|
||||
};
|
||||
|
||||
pm660l_wled: qcom,leds@d800 {
|
||||
compatible = "qcom,qpnp-wled";
|
||||
reg = <0xd800 0x100>,
|
||||
<0xd900 0x100>;
|
||||
reg-names = "qpnp-wled-ctrl-base",
|
||||
"qpnp-wled-sink-base";
|
||||
interrupts = <0x3 0xd8 0x1 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "ovp-irq";
|
||||
linux,name = "wled";
|
||||
linux,default-trigger = "bkl-trigger";
|
||||
qcom,fdbk-output = "auto";
|
||||
qcom,vref-uv = <127500>;
|
||||
qcom,switch-freq-khz = <800>;
|
||||
qcom,ovp-mv = <29600>;
|
||||
qcom,ilim-ma = <970>;
|
||||
qcom,boost-duty-ns = <26>;
|
||||
qcom,mod-freq-khz = <9600>;
|
||||
qcom,dim-mode = "hybrid";
|
||||
qcom,hyb-thres = <625>;
|
||||
qcom,sync-dly-us = <800>;
|
||||
qcom,fs-curr-ua = <25000>;
|
||||
qcom,cons-sync-write-delay-us = <1000>;
|
||||
qcom,led-strings-list = [00 01 02];
|
||||
qcom,loop-auto-gm-en;
|
||||
qcom,pmic-revid = <&pm660l_revid>;
|
||||
qcom,auto-calibration-enable;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
flash_led: qcom,leds@d300 {
|
||||
compatible = "qcom,qpnp-flash-led-v2";
|
||||
reg = <0xd300 0x100>;
|
||||
label = "flash";
|
||||
interrupts = <0x3 0xd3 0x0 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x3 0xd3 0x3 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x3 0xd3 0x4 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "led-fault-irq",
|
||||
"all-ramp-down-done-irq",
|
||||
"all-ramp-up-done-irq";
|
||||
qcom,hdrm-auto-mode;
|
||||
qcom,short-circuit-det;
|
||||
qcom,open-circuit-det;
|
||||
qcom,vph-droop-det;
|
||||
qcom,thermal-derate-en;
|
||||
qcom,thermal-derate-current = <200 500 1000>;
|
||||
qcom,isc-delay = <192>;
|
||||
qcom,pmic-revid = <&pm660l_revid>;
|
||||
|
||||
pm660l_flash0: qcom,flash_0 {
|
||||
label = "flash";
|
||||
qcom,led-name = "led:flash_0";
|
||||
qcom,max-current = <1500>;
|
||||
qcom,default-led-trigger = "flash0_trigger";
|
||||
qcom,id = <0>;
|
||||
qcom,current-ma = <1000>;
|
||||
qcom,duration-ms = <1280>;
|
||||
qcom,ires-ua = <12500>;
|
||||
qcom,hdrm-voltage-mv = <325>;
|
||||
qcom,hdrm-vol-hi-lo-win-mv = <100>;
|
||||
};
|
||||
|
||||
pm660l_flash1: qcom,flash_1 {
|
||||
label = "flash";
|
||||
qcom,led-name = "led:flash_1";
|
||||
qcom,max-current = <1500>;
|
||||
qcom,default-led-trigger = "flash1_trigger";
|
||||
qcom,id = <1>;
|
||||
qcom,current-ma = <1000>;
|
||||
qcom,duration-ms = <1280>;
|
||||
qcom,ires-ua = <12500>;
|
||||
qcom,hdrm-voltage-mv = <325>;
|
||||
qcom,hdrm-vol-hi-lo-win-mv = <100>;
|
||||
};
|
||||
|
||||
pm660l_flash2: qcom,flash_2 {
|
||||
label = "flash";
|
||||
qcom,led-name = "led:flash_2";
|
||||
qcom,max-current = <750>;
|
||||
qcom,default-led-trigger = "flash2_trigger";
|
||||
qcom,id = <2>;
|
||||
qcom,current-ma = <500>;
|
||||
qcom,duration-ms = <1280>;
|
||||
qcom,ires-ua = <12500>;
|
||||
qcom,hdrm-voltage-mv = <325>;
|
||||
qcom,hdrm-vol-hi-lo-win-mv = <100>;
|
||||
};
|
||||
|
||||
pm660l_torch0: qcom,torch_0 {
|
||||
label = "torch";
|
||||
qcom,led-name = "led:torch_0";
|
||||
qcom,max-current = <500>;
|
||||
qcom,default-led-trigger = "torch0_trigger";
|
||||
qcom,id = <0>;
|
||||
qcom,current-ma = <300>;
|
||||
qcom,ires-ua = <12500>;
|
||||
qcom,hdrm-voltage-mv = <325>;
|
||||
qcom,hdrm-vol-hi-lo-win-mv = <100>;
|
||||
};
|
||||
|
||||
pm660l_torch1: qcom,torch_1 {
|
||||
label = "torch";
|
||||
qcom,led-name = "led:torch_1";
|
||||
qcom,max-current = <500>;
|
||||
qcom,default-led-trigger = "torch1_trigger";
|
||||
qcom,id = <1>;
|
||||
qcom,current-ma = <300>;
|
||||
qcom,ires-ua = <12500>;
|
||||
qcom,hdrm-voltage-mv = <325>;
|
||||
qcom,hdrm-vol-hi-lo-win-mv = <100>;
|
||||
};
|
||||
|
||||
pm660l_torch2: qcom,torch_2 {
|
||||
label = "torch";
|
||||
qcom,led-name = "led:torch_2";
|
||||
qcom,max-current = <500>;
|
||||
qcom,default-led-trigger = "torch2_trigger";
|
||||
qcom,id = <2>;
|
||||
qcom,current-ma = <300>;
|
||||
qcom,ires-ua = <12500>;
|
||||
qcom,hdrm-voltage-mv = <325>;
|
||||
qcom,hdrm-vol-hi-lo-win-mv = <100>;
|
||||
};
|
||||
|
||||
pm660l_switch0: qcom,led_switch_0 {
|
||||
label = "switch";
|
||||
qcom,led-name = "led:switch_0";
|
||||
qcom,led-mask = <3>;
|
||||
qcom,default-led-trigger = "switch0_trigger";
|
||||
};
|
||||
|
||||
pm660l_switch1: qcom,led_switch_1 {
|
||||
label = "switch";
|
||||
qcom,led-name = "led:switch_1";
|
||||
qcom,led-mask = <4>;
|
||||
qcom,default-led-trigger = "switch1_trigger";
|
||||
};
|
||||
};
|
||||
|
||||
pm660l_lcdb: qpnp-lcdb@ec00 {
|
||||
compatible = "qcom,qpnp-lcdb-regulator";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0xec00 0x100>;
|
||||
interrupts = <0x3 0xec 0x1 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "sc-irq";
|
||||
|
||||
qcom,pmic-revid = <&pm660l_revid>;
|
||||
|
||||
lcdb_ldo_vreg: ldo {
|
||||
label = "ldo";
|
||||
regulator-name = "lcdb_ldo";
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <6000000>;
|
||||
};
|
||||
|
||||
lcdb_ncp_vreg: ncp {
|
||||
label = "ncp";
|
||||
regulator-name = "lcdb_ncp";
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <6000000>;
|
||||
};
|
||||
};
|
||||
|
||||
pm660a_oledb: qpnp-oledb@e000 {
|
||||
compatible = "qcom,qpnp-oledb-regulator";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
qcom,pmic-revid = <&pm660l_revid>;
|
||||
reg = <0xe000 0x100>;
|
||||
qcom,pbs-client = <&pm660l_pbs>;
|
||||
|
||||
label = "oledb";
|
||||
regulator-name = "regulator-oledb";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <8100000>;
|
||||
|
||||
qcom,swire-control;
|
||||
qcom,ext-pin-control;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pm660a_labibb: qpnp-labibb-regulator {
|
||||
compatible = "qcom,qpnp-labibb-regulator";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
qcom,pmic-revid = <&pm660l_revid>;
|
||||
qcom,swire-control;
|
||||
status = "disabled";
|
||||
|
||||
ibb_regulator: qcom,ibb@dc00 {
|
||||
reg = <0xdc00 0x100>;
|
||||
reg-names = "ibb_reg";
|
||||
regulator-name = "ibb_reg";
|
||||
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <6300000>;
|
||||
|
||||
qcom,qpnp-ibb-min-voltage = <1400000>;
|
||||
qcom,qpnp-ibb-step-size = <100000>;
|
||||
qcom,qpnp-ibb-slew-rate = <2000000>;
|
||||
qcom,qpnp-ibb-init-voltage = <4000000>;
|
||||
qcom,qpnp-ibb-init-amoled-voltage = <4000000>;
|
||||
};
|
||||
|
||||
lab_regulator: qcom,lab@de00 {
|
||||
reg = <0xde00 0x100>;
|
||||
reg-names = "lab";
|
||||
regulator-name = "lab_reg";
|
||||
|
||||
regulator-min-microvolt = <4600000>;
|
||||
regulator-max-microvolt = <6100000>;
|
||||
|
||||
qcom,qpnp-lab-min-voltage = <4600000>;
|
||||
qcom,qpnp-lab-step-size = <100000>;
|
||||
qcom,qpnp-lab-slew-rate = <5000>;
|
||||
qcom,qpnp-lab-init-voltage = <4600000>;
|
||||
qcom,qpnp-lab-init-amoled-voltage = <4600000>;
|
||||
|
||||
qcom,notify-lab-vreg-ok-sts;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
280
arch/arm64/boot/dts/qcom/sdm660-audio.dtsi
Normal file
280
arch/arm64/boot/dts/qcom/sdm660-audio.dtsi
Normal file
@ -0,0 +1,280 @@
|
||||
/*
|
||||
* Copyright (c) 2015-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include "sdm660-wsa881x.dtsi"
|
||||
#include "sdm660-lpi.dtsi"
|
||||
|
||||
&slim_aud {
|
||||
status = "okay";
|
||||
dai_slim: msm_dai_slim {
|
||||
compatible = "qcom,msm-dai-slim";
|
||||
elemental-addr = [ff ff ff fe 17 02];
|
||||
};
|
||||
|
||||
wcd9335: tasha_codec {
|
||||
compatible = "qcom,tasha-slim-pgd";
|
||||
elemental-addr = [00 01 a0 01 17 02];
|
||||
|
||||
interrupt-parent = <&wcd9xxx_intc>;
|
||||
interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
||||
17 18 19 20 21 22 23 24 25 26 27 28 29
|
||||
30>;
|
||||
|
||||
qcom,wcd-rst-gpio-node = <&wcd_rst_gpio>;
|
||||
|
||||
clock-names = "wcd_clk", "wcd_native_clk";
|
||||
clocks = <&clock_audio AUDIO_PMI_CLK>,
|
||||
<&clock_audio AUDIO_LPASS_MCLK_2>;
|
||||
|
||||
cdc-vdd-mic-bias-supply = <&pm660l_bob>;
|
||||
qcom,cdc-vdd-mic-bias-voltage = <3300000 3300000>;
|
||||
qcom,cdc-vdd-mic-bias-current = <30400>;
|
||||
|
||||
qcom,cdc-static-supplies = "cdc-vdd-mic-bias";
|
||||
|
||||
qcom,cdc-micbias1-mv = <1800>;
|
||||
qcom,cdc-micbias2-mv = <1800>;
|
||||
qcom,cdc-micbias3-mv = <1800>;
|
||||
qcom,cdc-micbias4-mv = <1800>;
|
||||
|
||||
qcom,cdc-mclk-clk-rate = <9600000>;
|
||||
qcom,cdc-slim-ifd = "tasha-slim-ifd";
|
||||
qcom,cdc-slim-ifd-elemental-addr = [00 00 a0 01 17 02];
|
||||
qcom,cdc-dmic-sample-rate = <4800000>;
|
||||
qcom,cdc-mad-dmic-rate = <600000>;
|
||||
};
|
||||
|
||||
wcd934x_cdc: tavil_codec {
|
||||
compatible = "qcom,tavil-slim-pgd";
|
||||
elemental-addr = [00 01 50 02 17 02];
|
||||
|
||||
interrupt-parent = <&wcd9xxx_intc>;
|
||||
interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
||||
17 18 19 20 21 22 23 24 25 26 27 28 29
|
||||
30 31>;
|
||||
|
||||
qcom,wcd-rst-gpio-node = <&wcd_rst_gpio>;
|
||||
|
||||
clock-names = "wcd_clk";
|
||||
clocks = <&clock_audio_lnbb AUDIO_PMIC_LNBB_CLK>;
|
||||
|
||||
cdc-vdd-mic-bias-supply = <&pm660l_bob>;
|
||||
qcom,cdc-vdd-mic-bias-voltage = <3300000 3300000>;
|
||||
qcom,cdc-vdd-mic-bias-current = <30400>;
|
||||
|
||||
qcom,cdc-static-supplies = "cdc-vdd-mic-bias";
|
||||
|
||||
qcom,cdc-micbias1-mv = <1800>;
|
||||
qcom,cdc-micbias2-mv = <1800>;
|
||||
qcom,cdc-micbias3-mv = <1800>;
|
||||
qcom,cdc-micbias4-mv = <1800>;
|
||||
|
||||
qcom,cdc-mclk-clk-rate = <9600000>;
|
||||
qcom,cdc-slim-ifd = "tavil-slim-ifd";
|
||||
qcom,cdc-slim-ifd-elemental-addr = [00 00 50 02 17 02];
|
||||
qcom,cdc-dmic-sample-rate = <4800000>;
|
||||
qcom,cdc-mad-dmic-rate = <600000>;
|
||||
|
||||
qcom,wdsp-cmpnt-dev-name = "tavil_codec";
|
||||
|
||||
wcd_spi_0: wcd_spi {
|
||||
compatible = "qcom,wcd-spi-v2";
|
||||
qcom,master-bus-num = <7>;
|
||||
qcom,chip-select = <0>;
|
||||
qcom,max-frequency = <24000000>;
|
||||
qcom,mem-base-addr = <0x100000>;
|
||||
};
|
||||
|
||||
wcd_usbc_analog_en1_gpio: msm_cdc_pinctrl_usbc_audio_en1 {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&wcd_usbc_analog_en1_active>;
|
||||
pinctrl-1 = <&wcd_usbc_analog_en1_idle>;
|
||||
};
|
||||
|
||||
wcd_usbc_analog_en2n_gpio: msm_cdc_pinctrl_usbc_audio_en2 {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&wcd_usbc_analog_en2n_active>;
|
||||
pinctrl-1 = <&wcd_usbc_analog_en2n_idle>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pm660l_3 {
|
||||
pmic_analog_codec: analog-codec@f000 {
|
||||
status = "disabled";
|
||||
compatible = "qcom,pmic-analog-codec";
|
||||
reg = <0xf000 0x200>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
interrupt-parent = <&spmi_bus>;
|
||||
interrupts = <0x3 0xf0 0x0 IRQ_TYPE_NONE>,
|
||||
<0x3 0xf0 0x1 IRQ_TYPE_NONE>,
|
||||
<0x3 0xf0 0x2 IRQ_TYPE_NONE>,
|
||||
<0x3 0xf0 0x3 IRQ_TYPE_NONE>,
|
||||
<0x3 0xf0 0x4 IRQ_TYPE_NONE>,
|
||||
<0x3 0xf0 0x5 IRQ_TYPE_NONE>,
|
||||
<0x3 0xf0 0x6 IRQ_TYPE_NONE>,
|
||||
<0x3 0xf0 0x7 IRQ_TYPE_NONE>,
|
||||
<0x3 0xf1 0x0 IRQ_TYPE_NONE>,
|
||||
<0x3 0xf1 0x1 IRQ_TYPE_NONE>,
|
||||
<0x3 0xf1 0x2 IRQ_TYPE_NONE>,
|
||||
<0x3 0xf1 0x3 IRQ_TYPE_NONE>,
|
||||
<0x3 0xf1 0x4 IRQ_TYPE_NONE>,
|
||||
<0x3 0xf1 0x5 IRQ_TYPE_NONE>;
|
||||
interrupt-names = "spk_cnp_int",
|
||||
"spk_clip_int",
|
||||
"spk_ocp_int",
|
||||
"ins_rem_det1",
|
||||
"but_rel_det",
|
||||
"but_press_det",
|
||||
"ins_rem_det",
|
||||
"mbhc_int",
|
||||
"ear_ocp_int",
|
||||
"hphr_ocp_int",
|
||||
"hphl_ocp_det",
|
||||
"ear_cnp_int",
|
||||
"hphr_cnp_int",
|
||||
"hphl_cnp_int";
|
||||
|
||||
|
||||
cdc-vdda-cp-supply = <&pm660_s4>;
|
||||
qcom,cdc-vdda-cp-voltage = <1900000 2050000>;
|
||||
qcom,cdc-vdda-cp-current = <50000>;
|
||||
|
||||
cdc-vdd-pa-supply = <&pm660_s4>;
|
||||
qcom,cdc-vdd-pa-voltage = <2040000 2040000>;
|
||||
qcom,cdc-vdd-pa-current = <260000>;
|
||||
|
||||
cdc-vdd-mic-bias-supply = <&pm660l_l7>;
|
||||
qcom,cdc-vdd-mic-bias-voltage = <3088000 3088000>;
|
||||
qcom,cdc-vdd-mic-bias-current = <5000>;
|
||||
|
||||
qcom,cdc-mclk-clk-rate = <9600000>;
|
||||
|
||||
qcom,cdc-static-supplies = "cdc-vdda-cp",
|
||||
"cdc-vdd-pa";
|
||||
|
||||
qcom,cdc-on-demand-supplies = "cdc-vdd-mic-bias";
|
||||
|
||||
/*
|
||||
* Not marking address @ as driver searches this child
|
||||
* with name msm-dig-codec
|
||||
*/
|
||||
msm_digital_codec: msm-dig-codec {
|
||||
compatible = "qcom,msm-digital-codec";
|
||||
reg = <0x152c0000 0x0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&soc {
|
||||
cdc_pdm_gpios: cdc_pdm_pinctrl {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&cdc_pdm_gpios_active &cdc_pdm_2_gpios_active>;
|
||||
pinctrl-1 = <&cdc_pdm_gpios_sleep &cdc_pdm_2_gpios_sleep>;
|
||||
qcom,lpi-gpios;
|
||||
};
|
||||
|
||||
cdc_comp_gpios: cdc_comp_pinctrl {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&cdc_comp_gpios_active>;
|
||||
pinctrl-1 = <&cdc_comp_gpios_sleep>;
|
||||
qcom,lpi-gpios;
|
||||
};
|
||||
|
||||
cdc_dmic_gpios: cdc_dmic_pinctrl {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&cdc_dmic12_gpios_active
|
||||
&cdc_dmic34_gpios_active>;
|
||||
pinctrl-1 = <&cdc_dmic12_gpios_sleep
|
||||
&cdc_dmic34_gpios_sleep>;
|
||||
qcom,lpi-gpios;
|
||||
};
|
||||
|
||||
cdc_sdw_gpios: sdw_clk_data_pinctrl {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&sdw_clk_active &sdw_data_active>;
|
||||
pinctrl-1 = <&sdw_clk_sleep &sdw_data_sleep>;
|
||||
};
|
||||
|
||||
wsa_spkr_en1: wsa_spkr_en1_pinctrl {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&spkr_1_sd_n_active>;
|
||||
pinctrl-1 = <&spkr_1_sd_n_sleep>;
|
||||
};
|
||||
|
||||
wsa_spkr_en2: wsa_spkr_en2_pinctrl {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&spkr_2_sd_n_active>;
|
||||
pinctrl-1 = <&spkr_2_sd_n_sleep>;
|
||||
};
|
||||
|
||||
msm_sdw_codec: msm-sdw-codec@152c1000 {
|
||||
status = "disabled";
|
||||
compatible = "qcom,msm-sdw-codec";
|
||||
reg = <0x152c1000 0x0>;
|
||||
interrupts = <0 161 0>;
|
||||
interrupt-names = "swr_master_irq";
|
||||
qcom,cdc-sdw-gpios = <&cdc_sdw_gpios>;
|
||||
|
||||
swr_master {
|
||||
compatible = "qcom,swr-wcd";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
wsa881x_211_en: wsa881x_en@20170211 {
|
||||
compatible = "qcom,wsa881x";
|
||||
reg = <0x0 0x20170211>;
|
||||
qcom,spkr-sd-n-node = <&wsa_spkr_en1>;
|
||||
};
|
||||
|
||||
wsa881x_212_en: wsa881x_en@20170212 {
|
||||
compatible = "qcom,wsa881x";
|
||||
reg = <0x0 0x20170212>;
|
||||
qcom,spkr-sd-n-node = <&wsa_spkr_en2>;
|
||||
};
|
||||
|
||||
wsa881x_213_en: wsa881x_en@21170213 {
|
||||
compatible = "qcom,wsa881x";
|
||||
reg = <0x0 0x21170213>;
|
||||
qcom,spkr-sd-n-node = <&wsa_spkr_en1>;
|
||||
};
|
||||
|
||||
wsa881x_214_en: wsa881x_en@21170214 {
|
||||
compatible = "qcom,wsa881x";
|
||||
reg = <0x0 0x21170214>;
|
||||
qcom,spkr-sd-n-node = <&wsa_spkr_en2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pm660_gpios {
|
||||
gpio@c200 {
|
||||
status = "ok";
|
||||
qcom,mode = <1>;
|
||||
qcom,pull = <4>;
|
||||
qcom,vin-sel = <0>;
|
||||
qcom,src-sel = <2>;
|
||||
qcom,master-en = <1>;
|
||||
qcom,out-strength = <2>;
|
||||
};
|
||||
};
|
594
arch/arm64/boot/dts/qcom/sdm660-blsp.dtsi
Normal file
594
arch/arm64/boot/dts/qcom/sdm660-blsp.dtsi
Normal file
@ -0,0 +1,594 @@
|
||||
/*
|
||||
* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
#include "sdm660-pinctrl.dtsi"
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
spi1 = &spi_1;
|
||||
spi2 = &spi_2;
|
||||
spi3 = &spi_3;
|
||||
spi4 = &spi_4;
|
||||
spi5 = &spi_5;
|
||||
spi6 = &spi_6;
|
||||
spi7 = &spi_7;
|
||||
spi8 = &spi_8;
|
||||
i2c1 = &i2c_1;
|
||||
i2c2 = &i2c_2;
|
||||
i2c3 = &i2c_3;
|
||||
i2c4 = &i2c_4;
|
||||
i2c5 = &i2c_5;
|
||||
i2c6 = &i2c_6;
|
||||
i2c7 = &i2c_7;
|
||||
i2c8 = &i2c_8;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
&soc {
|
||||
i2c_1: i2c@c175000 { /* BLSP1 QUP1 */
|
||||
compatible = "qcom,i2c-msm-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0xc175000 0x600>;
|
||||
reg-names = "qup_phys_addr";
|
||||
interrupt-names = "qup_irq";
|
||||
interrupts = <0 95 0>;
|
||||
dmas = <&dma_blsp1 4 64 0x20000020 0x20>,
|
||||
<&dma_blsp1 5 32 0x20000020 0x20>;
|
||||
dma-names = "tx", "rx";
|
||||
qcom,master-id = <86>;
|
||||
qcom,clk-freq-out = <400000>;
|
||||
qcom,clk-freq-in = <19200000>;
|
||||
clock-names = "iface_clk", "core_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP1_AHB_CLK>,
|
||||
<&clock_gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>;
|
||||
qcom,i2c-dat = <&tlmm 2 0x00>;
|
||||
qcom,i2c-clk = <&tlmm 3 0x00>;
|
||||
pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang";
|
||||
pinctrl-0 = <&i2c_1_active>;
|
||||
pinctrl-1 = <&i2c_1_sleep>;
|
||||
pinctrl-2 = <&i2c_1_bitbang>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c_2: i2c@c176000 { /* BLSP1 QUP2 */
|
||||
compatible = "qcom,i2c-msm-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0xc176000 0x600>;
|
||||
reg-names = "qup_phys_addr";
|
||||
interrupt-names = "qup_irq";
|
||||
interrupts = <0 96 0>;
|
||||
dmas = <&dma_blsp1 6 64 0x20000020 0x20>,
|
||||
<&dma_blsp1 7 32 0x20000020 0x20>;
|
||||
dma-names = "tx", "rx";
|
||||
qcom,master-id = <86>;
|
||||
qcom,clk-freq-out = <400000>;
|
||||
qcom,clk-freq-in = <19200000>;
|
||||
clock-names = "iface_clk", "core_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP1_AHB_CLK>,
|
||||
<&clock_gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>;
|
||||
qcom,i2c-dat = <&tlmm 6 0x00>;
|
||||
qcom,i2c-clk = <&tlmm 7 0x00>;
|
||||
pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang";
|
||||
pinctrl-0 = <&i2c_2_active>;
|
||||
pinctrl-1 = <&i2c_2_sleep>;
|
||||
pinctrl-2 = <&i2c_2_bitbang>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c_3: i2c@c177000 { /* BLSP1 QUP3 */
|
||||
compatible = "qcom,i2c-msm-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0xc177000 0x600>;
|
||||
reg-names = "qup_phys_addr";
|
||||
interrupt-names = "qup_irq";
|
||||
interrupts = <0 97 0>;
|
||||
dmas = <&dma_blsp1 8 64 0x20000020 0x20>,
|
||||
<&dma_blsp1 9 32 0x20000020 0x20>;
|
||||
dma-names = "tx", "rx";
|
||||
qcom,master-id = <86>;
|
||||
qcom,clk-freq-out = <400000>;
|
||||
qcom,clk-freq-in = <19200000>;
|
||||
clock-names = "iface_clk", "core_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP1_AHB_CLK>,
|
||||
<&clock_gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>;
|
||||
qcom,i2c-dat = <&tlmm 10 0x00>;
|
||||
qcom,i2c-clk = <&tlmm 11 0x00>;
|
||||
pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang";
|
||||
pinctrl-0 = <&i2c_3_active>;
|
||||
pinctrl-1 = <&i2c_3_sleep>;
|
||||
pinctrl-2 = <&i2c_3_bitbang>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c_4: i2c@c178000 { /* BLSP1 QUP4 */
|
||||
compatible = "qcom,i2c-msm-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0xc178000 0x600>;
|
||||
reg-names = "qup_phys_addr";
|
||||
interrupt-names = "qup_irq";
|
||||
interrupts = <0 98 0>;
|
||||
dmas = <&dma_blsp1 10 64 0x20000020 0x20>,
|
||||
<&dma_blsp1 11 32 0x20000020 0x20>;
|
||||
dma-names = "tx", "rx";
|
||||
qcom,master-id = <86>;
|
||||
qcom,clk-freq-out = <400000>;
|
||||
qcom,clk-freq-in = <19200000>;
|
||||
clock-names = "iface_clk", "core_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP1_AHB_CLK>,
|
||||
<&clock_gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>;
|
||||
qcom,i2c-dat = <&tlmm 14 0x00>;
|
||||
qcom,i2c-clk = <&tlmm 15 0x00>;
|
||||
pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang";
|
||||
pinctrl-0 = <&i2c_4_active>;
|
||||
pinctrl-1 = <&i2c_4_sleep>;
|
||||
pinctrl-2 = <&i2c_4_bitbang>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c_5: i2c@c1b5000 { /* BLSP2 QUP1 */
|
||||
compatible = "qcom,i2c-msm-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0xc1b5000 0x600>;
|
||||
reg-names = "qup_phys_addr";
|
||||
interrupt-names = "qup_irq";
|
||||
interrupts = <0 101 0>;
|
||||
dmas = <&dma_blsp2 4 64 0x20000020 0x20>,
|
||||
<&dma_blsp2 5 32 0x20000020 0x20>;
|
||||
dma-names = "tx", "rx";
|
||||
qcom,master-id = <84>;
|
||||
qcom,clk-freq-out = <400000>;
|
||||
qcom,clk-freq-in = <19200000>;
|
||||
clock-names = "iface_clk", "core_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP2_AHB_CLK>,
|
||||
<&clock_gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>;
|
||||
qcom,i2c-dat = <&tlmm 18 0x00>;
|
||||
qcom,i2c-clk = <&tlmm 19 0x00>;
|
||||
pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang";
|
||||
pinctrl-0 = <&i2c_5_active>;
|
||||
pinctrl-1 = <&i2c_5_sleep>;
|
||||
pinctrl-2 = <&i2c_5_bitbang>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c_6: i2c@c1b6000 { /* BLSP2 QUP2 */
|
||||
compatible = "qcom,i2c-msm-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0xc1b6000 0x600>;
|
||||
reg-names = "qup_phys_addr";
|
||||
interrupt-names = "qup_irq";
|
||||
interrupts = <0 102 0>;
|
||||
dmas = <&dma_blsp2 6 64 0x20000020 0x20>,
|
||||
<&dma_blsp2 7 32 0x20000020 0x20>;
|
||||
dma-names = "tx", "rx";
|
||||
qcom,master-id = <84>;
|
||||
qcom,clk-freq-out = <400000>;
|
||||
qcom,clk-freq-in = <19200000>;
|
||||
clock-names = "iface_clk", "core_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP2_AHB_CLK>,
|
||||
<&clock_gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>;
|
||||
qcom,i2c-dat = <&tlmm 22 0x00>;
|
||||
qcom,i2c-clk = <&tlmm 23 0x00>;
|
||||
pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang";
|
||||
pinctrl-0 = <&i2c_6_active>;
|
||||
pinctrl-1 = <&i2c_6_sleep>;
|
||||
pinctrl-2 = <&i2c_6_bitbang>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c_7: i2c@c1b7000 { /* BLSP2 QUP3 */
|
||||
compatible = "qcom,i2c-msm-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0xc1b7000 0x600>;
|
||||
reg-names = "qup_phys_addr";
|
||||
interrupt-names = "qup_irq";
|
||||
interrupts = <0 103 0>;
|
||||
dmas = <&dma_blsp2 8 64 0x20000020 0x20>,
|
||||
<&dma_blsp2 9 32 0x20000020 0x20>;
|
||||
dma-names = "tx", "rx";
|
||||
qcom,master-id = <84>;
|
||||
qcom,clk-freq-out = <400000>;
|
||||
qcom,clk-freq-in = <19200000>;
|
||||
clock-names = "iface_clk", "core_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP2_AHB_CLK>,
|
||||
<&clock_gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>;
|
||||
qcom,i2c-dat = <&tlmm 26 0x00>;
|
||||
qcom,i2c-clk = <&tlmm 27 0x00>;
|
||||
pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang";
|
||||
pinctrl-0 = <&i2c_7_active>;
|
||||
pinctrl-1 = <&i2c_7_sleep>;
|
||||
pinctrl-2 = <&i2c_7_bitbang>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c_8: i2c@c1b8000 { /* BLSP2 QUP4 */
|
||||
compatible = "qcom,i2c-msm-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0xc1b8000 0x600>;
|
||||
reg-names = "qup_phys_addr";
|
||||
interrupt-names = "qup_irq";
|
||||
interrupts = <0 104 0>;
|
||||
dmas = <&dma_blsp2 10 64 0x20000020 0x20>,
|
||||
<&dma_blsp2 11 32 0x20000020 0x20>;
|
||||
dma-names = "tx", "rx";
|
||||
qcom,master-id = <84>;
|
||||
qcom,clk-freq-out = <400000>;
|
||||
qcom,clk-freq-in = <19200000>;
|
||||
clock-names = "iface_clk", "core_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP2_AHB_CLK>,
|
||||
<&clock_gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>;
|
||||
qcom,i2c-dat = <&tlmm 30 0x00>;
|
||||
qcom,i2c-clk = <&tlmm 31 0x00>;
|
||||
pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang";
|
||||
pinctrl-0 = <&i2c_8_active>;
|
||||
pinctrl-1 = <&i2c_8_sleep>;
|
||||
pinctrl-2 = <&i2c_8_bitbang>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spi_1: spi@c175000 { /* BLSP1 QUP1 */
|
||||
compatible = "qcom,spi-qup-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg-names = "spi_physical", "spi_bam_physical";
|
||||
reg = <0xc175000 0x600>,
|
||||
<0xc144000 0x1f000>;
|
||||
interrupt-names = "spi_irq", "spi_bam_irq";
|
||||
interrupts = <0 95 0>, <0 238 0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
qcom,use-bam;
|
||||
qcom,ver-reg-exists;
|
||||
qcom,bam-consumer-pipe-index = <4>;
|
||||
qcom,bam-producer-pipe-index = <5>;
|
||||
qcom,master-id = <86>;
|
||||
qcom,use-pinctrl;
|
||||
pinctrl-names = "spi_default", "spi_sleep";
|
||||
pinctrl-0 = <&spi_1_active>;
|
||||
pinctrl-1 = <&spi_1_sleep>;
|
||||
clock-names = "iface_clk", "core_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP1_AHB_CLK>,
|
||||
<&clock_gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spi_2: spi@c176000 { /* BLSP1 QUP2 */
|
||||
compatible = "qcom,spi-qup-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg-names = "spi_physical", "spi_bam_physical";
|
||||
reg = <0xc176000 0x600>,
|
||||
<0xc144000 0x1f000>;
|
||||
interrupt-names = "spi_irq", "spi_bam_irq";
|
||||
interrupts = <0 96 0>, <0 238 0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
qcom,use-bam;
|
||||
qcom,ver-reg-exists;
|
||||
qcom,bam-consumer-pipe-index = <6>;
|
||||
qcom,bam-producer-pipe-index = <7>;
|
||||
qcom,master-id = <86>;
|
||||
qcom,use-pinctrl;
|
||||
pinctrl-names = "spi_default", "spi_sleep";
|
||||
pinctrl-0 = <&spi_2_active>;
|
||||
pinctrl-1 = <&spi_2_sleep>;
|
||||
clock-names = "iface_clk", "core_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP1_AHB_CLK>,
|
||||
<&clock_gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spi_3: spi@c177000 { /* BLSP1 QUP3 */
|
||||
compatible = "qcom,spi-qup-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg-names = "spi_physical", "spi_bam_physical";
|
||||
reg = <0xc177000 0x600>,
|
||||
<0xc144000 0x1f000>;
|
||||
interrupt-names = "spi_irq", "spi_bam_irq";
|
||||
interrupts = <0 97 0>, <0 238 0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
qcom,use-bam;
|
||||
qcom,ver-reg-exists;
|
||||
qcom,bam-consumer-pipe-index = <8>;
|
||||
qcom,bam-producer-pipe-index = <9>;
|
||||
qcom,master-id = <86>;
|
||||
qcom,use-pinctrl;
|
||||
pinctrl-names = "spi_default", "spi_sleep";
|
||||
pinctrl-0 = <&spi_3_active>;
|
||||
pinctrl-1 = <&spi_3_sleep>;
|
||||
clock-names = "iface_clk", "core_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP1_AHB_CLK>,
|
||||
<&clock_gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spi_4: spi@c178000 { /* BLSP1 QUP4 */
|
||||
compatible = "qcom,spi-qup-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg-names = "spi_physical", "spi_bam_physical";
|
||||
reg = <0xc178000 0x600>,
|
||||
<0xc144000 0x1f000>;
|
||||
interrupt-names = "spi_irq", "spi_bam_irq";
|
||||
interrupts = <0 98 0>, <0 238 0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
qcom,use-bam;
|
||||
qcom,ver-reg-exists;
|
||||
qcom,bam-consumer-pipe-index = <10>;
|
||||
qcom,bam-producer-pipe-index = <11>;
|
||||
qcom,master-id = <86>;
|
||||
qcom,use-pinctrl;
|
||||
pinctrl-names = "spi_default", "spi_sleep";
|
||||
pinctrl-0 = <&spi_4_active>;
|
||||
pinctrl-1 = <&spi_4_sleep>;
|
||||
clock-names = "iface_clk", "core_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP1_AHB_CLK>,
|
||||
<&clock_gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spi_5: spi@c1b5000 { /* BLSP2 QUP1 */
|
||||
compatible = "qcom,spi-qup-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg-names = "spi_physical", "spi_bam_physical";
|
||||
reg = <0xc1b5000 0x600>,
|
||||
<0xc184000 0x1f000>;
|
||||
interrupt-names = "spi_irq", "spi_bam_irq";
|
||||
interrupts = <0 101 0>, <0 239 0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
qcom,use-bam;
|
||||
qcom,ver-reg-exists;
|
||||
qcom,bam-consumer-pipe-index = <4>;
|
||||
qcom,bam-producer-pipe-index = <5>;
|
||||
qcom,master-id = <84>;
|
||||
qcom,use-pinctrl;
|
||||
pinctrl-names = "spi_default", "spi_sleep";
|
||||
pinctrl-0 = <&spi_5_active>;
|
||||
pinctrl-1 = <&spi_5_sleep>;
|
||||
clock-names = "iface_clk", "core_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP2_AHB_CLK>,
|
||||
<&clock_gcc GCC_BLSP2_QUP1_SPI_APPS_CLK>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spi_6: spi@c1b6000 { /* BLSP2 QUP2 */
|
||||
compatible = "qcom,spi-qup-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg-names = "spi_physical", "spi_bam_physical";
|
||||
reg = <0xc1b6000 0x600>,
|
||||
<0xc184000 0x1f000>;
|
||||
interrupt-names = "spi_irq", "spi_bam_irq";
|
||||
interrupts = <0 102 0>, <0 239 0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
qcom,use-bam;
|
||||
qcom,ver-reg-exists;
|
||||
qcom,bam-consumer-pipe-index = <6>;
|
||||
qcom,bam-producer-pipe-index = <7>;
|
||||
qcom,master-id = <84>;
|
||||
qcom,use-pinctrl;
|
||||
pinctrl-names = "spi_default", "spi_sleep";
|
||||
pinctrl-0 = <&spi_6_active>;
|
||||
pinctrl-1 = <&spi_6_sleep>;
|
||||
clock-names = "iface_clk", "core_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP2_AHB_CLK>,
|
||||
<&clock_gcc GCC_BLSP2_QUP2_SPI_APPS_CLK>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spi_7: spi@c1b7000 { /* BLSP2 QUP3 */
|
||||
compatible = "qcom,spi-qup-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg-names = "spi_physical", "spi_bam_physical";
|
||||
reg = <0xc1b7000 0x600>,
|
||||
<0xc184000 0x1f000>;
|
||||
interrupt-names = "spi_irq", "spi_bam_irq";
|
||||
interrupts = <0 103 0>, <0 239 0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
qcom,use-bam;
|
||||
qcom,ver-reg-exists;
|
||||
qcom,bam-consumer-pipe-index = <8>;
|
||||
qcom,bam-producer-pipe-index = <9>;
|
||||
qcom,master-id = <84>;
|
||||
qcom,use-pinctrl;
|
||||
pinctrl-names = "spi_default", "spi_sleep";
|
||||
pinctrl-0 = <&spi_7_active>;
|
||||
pinctrl-1 = <&spi_7_sleep>;
|
||||
clock-names = "iface_clk", "core_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP2_AHB_CLK>,
|
||||
<&clock_gcc GCC_BLSP2_QUP3_SPI_APPS_CLK>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spi_8: spi@c1b8000 { /* BLSP2 QUP4 */
|
||||
compatible = "qcom,spi-qup-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg-names = "spi_physical", "spi_bam_physical";
|
||||
reg = <0xc1b8000 0x600>,
|
||||
<0xc184000 0x1f000>;
|
||||
interrupt-names = "spi_irq", "spi_bam_irq";
|
||||
interrupts = <0 104 0>, <0 239 0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
qcom,use-bam;
|
||||
qcom,ver-reg-exists;
|
||||
qcom,bam-consumer-pipe-index = <10>;
|
||||
qcom,bam-producer-pipe-index = <11>;
|
||||
qcom,master-id = <84>;
|
||||
qcom,use-pinctrl;
|
||||
pinctrl-names = "spi_default", "spi_sleep";
|
||||
pinctrl-0 = <&spi_8_active>;
|
||||
pinctrl-1 = <&spi_8_sleep>;
|
||||
clock-names = "iface_clk", "core_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP2_AHB_CLK>,
|
||||
<&clock_gcc GCC_BLSP2_QUP4_SPI_APPS_CLK>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
blsp1_uart1_hs: uart@c16f000 { /* BLSP1 UART1 */
|
||||
compatible = "qcom,msm-hsuart-v14";
|
||||
reg = <0xc16f000 0x200>,
|
||||
<0xc144000 0x1f000>;
|
||||
reg-names = "core_mem", "bam_mem";
|
||||
interrupt-names = "core_irq", "bam_irq", "wakeup_irq";
|
||||
#address-cells = <0>;
|
||||
interrupt-parent = <&blsp1_uart1_hs>;
|
||||
interrupts = <0 1 2>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-map-mask = <0xffffffff>;
|
||||
interrupt-map = <0 &intc 0 0 107 0
|
||||
1 &intc 0 0 238 0
|
||||
2 &tlmm 1 0>;
|
||||
|
||||
qcom,inject-rx-on-wakeup;
|
||||
qcom,rx-char-to-inject = <0xfd>;
|
||||
|
||||
qcom,bam-tx-ep-pipe-index = <0>;
|
||||
qcom,bam-rx-ep-pipe-index = <1>;
|
||||
qcom,master-id = <86>;
|
||||
clock-names = "core_clk", "iface_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP1_UART1_APPS_CLK>,
|
||||
<&clock_gcc GCC_BLSP1_AHB_CLK>;
|
||||
pinctrl-names = "sleep", "default";
|
||||
pinctrl-0 = <&blsp1_uart1_sleep>;
|
||||
pinctrl-1 = <&blsp1_uart1_active>;
|
||||
|
||||
qcom,msm-bus,name = "buart1";
|
||||
qcom,msm-bus,num-cases = <2>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<86 512 0 0>,
|
||||
<86 512 500 800>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
blsp1_uart2_hs: uart@c170000 { /* BLSP1 UART2 */
|
||||
compatible = "qcom,msm-hsuart-v14";
|
||||
reg = <0xc170000 0x200>,
|
||||
<0xc144000 0x1f000>;
|
||||
reg-names = "core_mem", "bam_mem";
|
||||
interrupt-names = "core_irq", "bam_irq", "wakeup_irq";
|
||||
#address-cells = <0>;
|
||||
interrupt-parent = <&blsp1_uart2_hs>;
|
||||
interrupts = <0 1 2>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-map-mask = <0xffffffff>;
|
||||
interrupt-map = <0 &intc 0 0 108 0
|
||||
1 &intc 0 0 238 0
|
||||
2 &tlmm 5 0>;
|
||||
|
||||
qcom,inject-rx-on-wakeup;
|
||||
qcom,rx-char-to-inject = <0xfd>;
|
||||
|
||||
qcom,bam-tx-ep-pipe-index = <2>;
|
||||
qcom,bam-rx-ep-pipe-index = <3>;
|
||||
qcom,master-id = <86>;
|
||||
clock-names = "core_clk", "iface_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP1_UART2_APPS_CLK>,
|
||||
<&clock_gcc GCC_BLSP1_AHB_CLK>;
|
||||
pinctrl-names = "sleep", "default";
|
||||
pinctrl-0 = <&blsp1_uart2_sleep>;
|
||||
pinctrl-1 = <&blsp1_uart2_active>;
|
||||
|
||||
qcom,msm-bus,name = "buart2";
|
||||
qcom,msm-bus,num-cases = <2>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<86 512 0 0>,
|
||||
<86 512 500 800>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
blsp2_uart1_hs: uart@c1af000 { /* BLSP2 UART1 */
|
||||
compatible = "qcom,msm-hsuart-v14";
|
||||
reg = <0xc1af000 0x200>,
|
||||
<0xc184000 0x1f000>;
|
||||
reg-names = "core_mem", "bam_mem";
|
||||
interrupt-names = "core_irq", "bam_irq", "wakeup_irq";
|
||||
#address-cells = <0>;
|
||||
interrupt-parent = <&blsp2_uart1_hs>;
|
||||
interrupts = <0 1 2>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-map-mask = <0xffffffff>;
|
||||
interrupt-map = <0 &intc 0 0 113 0
|
||||
1 &intc 0 0 239 0
|
||||
2 &tlmm 17 0>;
|
||||
|
||||
qcom,inject-rx-on-wakeup;
|
||||
qcom,rx-char-to-inject = <0xfd>;
|
||||
|
||||
qcom,bam-tx-ep-pipe-index = <0>;
|
||||
qcom,bam-rx-ep-pipe-index = <1>;
|
||||
qcom,master-id = <84>;
|
||||
clock-names = "core_clk", "iface_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP2_UART1_APPS_CLK>,
|
||||
<&clock_gcc GCC_BLSP2_AHB_CLK>;
|
||||
pinctrl-names = "sleep", "default";
|
||||
pinctrl-0 = <&blsp2_uart1_tx_sleep>,
|
||||
<&blsp2_uart1_rxcts_sleep>, <&blsp2_uart1_rfr_sleep>;
|
||||
pinctrl-1 = <&blsp2_uart1_tx_active>,
|
||||
<&blsp2_uart1_rxcts_active>, <&blsp2_uart1_rfr_active>;
|
||||
qcom,msm-bus,name = "buart3";
|
||||
qcom,msm-bus,num-cases = <2>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<84 512 0 0>,
|
||||
<84 512 500 800>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
blsp2_uart2_hs: uart@c1b0000 { /* BLSP2 UART2 */
|
||||
compatible = "qcom,msm-hsuart-v14";
|
||||
reg = <0xc1b0000 0x200>,
|
||||
<0xc184000 0x1f000>;
|
||||
reg-names = "core_mem", "bam_mem";
|
||||
interrupt-names = "core_irq", "bam_irq", "wakeup_irq";
|
||||
#address-cells = <0>;
|
||||
interrupt-parent = <&blsp2_uart2_hs>;
|
||||
interrupts = <0 1 2>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-map-mask = <0xffffffff>;
|
||||
interrupt-map = <0 &intc 0 0 114 0
|
||||
1 &intc 0 0 239 0
|
||||
2 &tlmm 25 0>;
|
||||
|
||||
qcom,inject-rx-on-wakeup;
|
||||
qcom,rx-char-to-inject = <0xfd>;
|
||||
|
||||
qcom,bam-tx-ep-pipe-index = <2>;
|
||||
qcom,bam-rx-ep-pipe-index = <3>;
|
||||
qcom,master-id = <84>;
|
||||
clock-names = "core_clk", "iface_clk";
|
||||
clocks = <&clock_gcc GCC_BLSP2_UART2_APPS_CLK>,
|
||||
<&clock_gcc GCC_BLSP2_AHB_CLK>;
|
||||
pinctrl-names = "sleep", "default";
|
||||
pinctrl-0 = <&blsp2_uart2_sleep>;
|
||||
pinctrl-1 = <&blsp2_uart2_active>;
|
||||
|
||||
qcom,msm-bus,name = "buart4";
|
||||
qcom,msm-bus,num-cases = <2>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<84 512 0 0>,
|
||||
<84 512 500 800>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
1293
arch/arm64/boot/dts/qcom/sdm660-bus.dtsi
Normal file
1293
arch/arm64/boot/dts/qcom/sdm660-bus.dtsi
Normal file
File diff suppressed because it is too large
Load Diff
402
arch/arm64/boot/dts/qcom/sdm660-camera-sensor-cdp.dtsi
Normal file
402
arch/arm64/boot/dts/qcom/sdm660-camera-sensor-cdp.dtsi
Normal file
@ -0,0 +1,402 @@
|
||||
/*
|
||||
* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&soc {
|
||||
led_flash0: qcom,camera-flash@0 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,camera-flash";
|
||||
qcom,flash-source = <&pm660l_flash0 &pm660l_flash1>;
|
||||
qcom,torch-source = <&pm660l_torch0 &pm660l_torch1>;
|
||||
qcom,switch-source = <&pm660l_switch0>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
led_flash1: qcom,camera-flash@1 {
|
||||
cell-index = <1>;
|
||||
compatible = "qcom,camera-flash";
|
||||
qcom,flash-source = <&pm660l_flash2>;
|
||||
qcom,torch-source = <&pm660l_torch2>;
|
||||
qcom,switch-source = <&pm660l_switch1>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
cam_actuator_regulator: cam_actuator_fixed_regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam_actuator_regulator";
|
||||
regulator-min-microvolt = <3600000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
enable-active-high;
|
||||
gpio = <&tlmm 50 0>;
|
||||
vin-supply = <&pm660l_bob>;
|
||||
};
|
||||
};
|
||||
|
||||
&cci {
|
||||
actuator0: qcom,actuator@0 {
|
||||
cell-index = <0>;
|
||||
reg = <0x0>;
|
||||
compatible = "qcom,actuator";
|
||||
qcom,cci-master = <0>;
|
||||
cam_vaf-supply = <&cam_actuator_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <3600000>;
|
||||
qcom,cam-vreg-max-voltage = <3600000>;
|
||||
qcom,cam-vreg-op-mode = <0>;
|
||||
};
|
||||
|
||||
actuator1: qcom,actuator@1 {
|
||||
cell-index = <1>;
|
||||
reg = <0x1>;
|
||||
compatible = "qcom,actuator";
|
||||
qcom,cci-master = <1>;
|
||||
cam_vaf-supply = <&cam_actuator_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <3600000>;
|
||||
qcom,cam-vreg-max-voltage = <3600000>;
|
||||
qcom,cam-vreg-op-mode = <0>;
|
||||
};
|
||||
|
||||
actuator2: qcom,actuator@2 {
|
||||
cell-index = <2>;
|
||||
reg = <0x2>;
|
||||
compatible = "qcom,actuator";
|
||||
qcom,cci-master = <1>;
|
||||
cam_vaf-supply = <&cam_actuator_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <3600000>;
|
||||
qcom,cam-vreg-max-voltage = <3600000>;
|
||||
qcom,cam-vreg-op-mode = <0>;
|
||||
};
|
||||
|
||||
ois0: qcom,ois@0 {
|
||||
cell-index = <0>;
|
||||
reg = <0x0>;
|
||||
compatible = "qcom,ois";
|
||||
qcom,cci-master = <0>;
|
||||
cam_vaf-supply = <&cam_actuator_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <3600000>;
|
||||
qcom,cam-vreg-max-voltage = <3600000>;
|
||||
qcom,cam-vreg-op-mode = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tof0: qcom,tof@29{
|
||||
cell-index = <0>;
|
||||
reg = <0x29>;
|
||||
compatible = "st,stmvl53l0";
|
||||
qcom,cci-master = <0>;
|
||||
cam_laser-supply = <&cam_actuator_regulator>;
|
||||
qcom,cam-vreg-name = "cam_laser";
|
||||
qcom,cam-vreg-min-voltage = <3600000>;
|
||||
qcom,cam-vreg-max-voltage = <3600000>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_tof_active>;
|
||||
pinctrl-1 = <&cam_tof_suspend>;
|
||||
stm,irq-gpio = <&tlmm 45 0x2008>;
|
||||
gpios = <&tlmm 42 0>;
|
||||
qcom,gpio-req-tbl-num = <0>;
|
||||
qcom,gpio-req-tbl-flags = <0>;
|
||||
qcom,gpio-req-tbl-label = "RNG_EN";
|
||||
};
|
||||
|
||||
eeprom0: qcom,eeprom@0 {
|
||||
cell-index = <0>;
|
||||
reg = <0>;
|
||||
compatible = "qcom,eeprom";
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&pm660l_bob>;
|
||||
cam_vdig-supply = <&pm660_s5>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 3300000 1350000>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 3600000 1350000>;
|
||||
qcom,cam-vreg-op-mode = <105000 80000 105000>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk0_active
|
||||
&cam_sensor_rear_active
|
||||
&cam_actuator_vaf_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk0_suspend
|
||||
&cam_sensor_rear_suspend
|
||||
&cam_actuator_vaf_suspend>;
|
||||
gpios = <&tlmm 32 0>,
|
||||
<&tlmm 46 0>,
|
||||
<&pm660l_gpios 4 0>,
|
||||
<&tlmm 51 0>,
|
||||
<&tlmm 50 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-vdig = <2>;
|
||||
qcom,gpio-vana = <3>;
|
||||
qcom,gpio-vaf = <4>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2 3 4>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
|
||||
"CAM_RESET0",
|
||||
"CAM_VDIG",
|
||||
"CAM_VANA",
|
||||
"CAM_VAF";
|
||||
qcom,sensor-position = <0>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <0>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK0_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK0_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
|
||||
eeprom1: qcom,eeprom@1 {
|
||||
cell-index = <1>;
|
||||
reg = <0x1>;
|
||||
compatible = "qcom,eeprom";
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&pm660l_bob>;
|
||||
cam_vdig-supply = <&pm660_s5>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 3300000 1350000>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 3600000 1350000>;
|
||||
qcom,cam-vreg-op-mode = <105000 80000 105000>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk2_active
|
||||
&cam_sensor_rear2_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk2_suspend
|
||||
&cam_sensor_rear2_suspend>;
|
||||
gpios = <&tlmm 34 0>,
|
||||
<&tlmm 48 0>,
|
||||
<&pm660l_gpios 3 0>,
|
||||
<&tlmm 51 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-vdig = <2>;
|
||||
qcom,gpio-vana = <3>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2 3>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK",
|
||||
"CAM_RESET",
|
||||
"CAM_VDIG",
|
||||
"CAM_VANA";
|
||||
qcom,sensor-position = <0>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <1>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK2_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK2_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
|
||||
eeprom2: qcom,eeprom@2 {
|
||||
cell-index = <2>;
|
||||
reg = <0x2>;
|
||||
compatible = "qcom,eeprom";
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&pm660l_bob>;
|
||||
cam_vdig-supply = <&pm660_s5>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 3300000 1350000>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 3600000 1350000>;
|
||||
qcom,cam-vreg-op-mode = <105000 80000 105000>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk1_active
|
||||
&cam_sensor_front_active
|
||||
&cam_actuator_vaf_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk1_suspend
|
||||
&cam_sensor_front_suspend
|
||||
&cam_actuator_vaf_suspend>;
|
||||
gpios = <&tlmm 33 0>,
|
||||
<&tlmm 47 0>,
|
||||
<&pm660_gpios 3 0>,
|
||||
<&tlmm 44 0>,
|
||||
<&tlmm 50 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-vdig = <2>;
|
||||
qcom,gpio-vana = <3>;
|
||||
qcom,gpio-vaf = <4>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2 3 4>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
|
||||
"CAM_RESET2",
|
||||
"CAM_VDIG",
|
||||
"CAM_VANA",
|
||||
"CAM_VAF";
|
||||
qcom,sensor-position = <1>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <1>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK1_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK1_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
|
||||
qcom,camera@0 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,camera";
|
||||
reg = <0x0>;
|
||||
qcom,csiphy-sd-index = <0>;
|
||||
qcom,csid-sd-index = <0>;
|
||||
qcom,mount-angle = <90>;
|
||||
qcom,led-flash-src = <&led_flash0>;
|
||||
qcom,actuator-src = <&actuator0>;
|
||||
qcom,ois-src = <&ois0>;
|
||||
qcom,eeprom-src = <&eeprom0>;
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&pm660l_bob>;
|
||||
cam_vdig-supply = <&pm660_s5>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 3300000 1350000>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 3600000 1350000>;
|
||||
qcom,cam-vreg-op-mode = <105000 80000 105000>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk0_active
|
||||
&cam_sensor_rear_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk0_suspend
|
||||
&cam_sensor_rear_suspend>;
|
||||
gpios = <&tlmm 32 0>,
|
||||
<&tlmm 46 0>,
|
||||
<&pm660l_gpios 4 0>,
|
||||
<&tlmm 51 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-vdig = <2>;
|
||||
qcom,gpio-vana = <3>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2 3>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
|
||||
"CAM_RESET0",
|
||||
"CAM_VDIG",
|
||||
"CAM_VANA";
|
||||
qcom,sensor-position = <0>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <0>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK0_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK0_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
|
||||
qcom,camera@1 {
|
||||
cell-index = <1>;
|
||||
compatible = "qcom,camera";
|
||||
reg = <0x1>;
|
||||
qcom,csiphy-sd-index = <1>;
|
||||
qcom,csid-sd-index = <2>;
|
||||
qcom,mount-angle = <90>;
|
||||
qcom,led-flash-src = <&led_flash0>;
|
||||
qcom,actuator-src = <&actuator1>;
|
||||
qcom,eeprom-src = <&eeprom1>;
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&pm660l_bob>;
|
||||
cam_vdig-supply = <&pm660_s5>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 3300000 1350000>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 3600000 1350000>;
|
||||
qcom,cam-vreg-op-mode = <105000 80000 105000>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk2_active
|
||||
&cam_sensor_rear2_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk2_suspend
|
||||
&cam_sensor_rear2_suspend>;
|
||||
gpios = <&tlmm 34 0>,
|
||||
<&tlmm 48 0>,
|
||||
<&pm660l_gpios 3 0>,
|
||||
<&tlmm 51 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-vdig = <2>;
|
||||
qcom,gpio-vana = <3>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2 3>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK",
|
||||
"CAM_RESET",
|
||||
"CAM_VDIG",
|
||||
"CAM_VANA";
|
||||
qcom,sensor-position = <0>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <1>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK2_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK2_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
|
||||
qcom,camera@2 {
|
||||
cell-index = <2>;
|
||||
compatible = "qcom,camera";
|
||||
reg = <0x02>;
|
||||
qcom,csiphy-sd-index = <2>;
|
||||
qcom,csid-sd-index = <2>;
|
||||
qcom,mount-angle = <90>;
|
||||
qcom,actuator-src = <&actuator2>;
|
||||
qcom,eeprom-src = <&eeprom2>;
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&pm660l_bob>;
|
||||
cam_vdig-supply = <&pm660_s5>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 3300000 1350000>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 3600000 1350000>;
|
||||
qcom,cam-vreg-op-mode = <105000 80000 105000>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk1_active
|
||||
&cam_sensor_front_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk1_suspend
|
||||
&cam_sensor_front_suspend>;
|
||||
gpios = <&tlmm 33 0>,
|
||||
<&tlmm 47 0>,
|
||||
<&pm660l_gpios 3 0>,
|
||||
<&tlmm 51 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-vdig = <2>;
|
||||
qcom,gpio-vana = <3>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2 3>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
|
||||
"CAM_RESET2",
|
||||
"CAM_VDIG",
|
||||
"CAM_VANA";
|
||||
qcom,sensor-position = <1>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <1>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK1_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK1_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
};
|
||||
|
||||
&pm660l_gpios {
|
||||
gpio@c300 { /* GPIO4 -CAMERA SENSOR 0 VDIG*/
|
||||
qcom,mode = <1>; /* Output */
|
||||
qcom,pull = <5>; /* No Pull */
|
||||
qcom,vin-sel = <0>; /* VIN1 GPIO_LV */
|
||||
qcom,src-sel = <0>; /* GPIO */
|
||||
qcom,invert = <0>; /* Invert */
|
||||
qcom,master-en = <1>; /* Enable GPIO */
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
gpio@c200 { /* GPIO3 -CAMERA SENSOR 2 VDIG*/
|
||||
qcom,mode = <1>; /* Output */
|
||||
qcom,pull = <5>; /* No Pull */
|
||||
qcom,vin-sel = <0>; /* VIN1 GPIO_LV */
|
||||
qcom,src-sel = <0>; /* GPIO */
|
||||
qcom,invert = <0>; /* Invert */
|
||||
qcom,master-en = <1>; /* Enable GPIO */
|
||||
status = "ok";
|
||||
};
|
||||
};
|
438
arch/arm64/boot/dts/qcom/sdm660-camera-sensor-mtp.dtsi
Normal file
438
arch/arm64/boot/dts/qcom/sdm660-camera-sensor-mtp.dtsi
Normal file
@ -0,0 +1,438 @@
|
||||
/*
|
||||
* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&soc {
|
||||
led_flash0: qcom,camera-flash@0 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,camera-flash";
|
||||
qcom,flash-source = <&pm660l_flash0 &pm660l_flash1>;
|
||||
qcom,torch-source = <&pm660l_torch0 &pm660l_torch1>;
|
||||
qcom,switch-source = <&pm660l_switch0>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
led_flash1: qcom,camera-flash@1 {
|
||||
cell-index = <1>;
|
||||
compatible = "qcom,camera-flash";
|
||||
qcom,flash-source = <&pm660l_flash2>;
|
||||
qcom,torch-source = <&pm660l_torch2>;
|
||||
qcom,switch-source = <&pm660l_switch1>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
cam_avdd_gpio_regulator: cam_avdd_fixed_regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam_avdd_gpio_regulator";
|
||||
regulator-min-microvolt = <3600000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
enable-active-high;
|
||||
gpio = <&tlmm 51 0>;
|
||||
vin-supply = <&pm660l_bob>;
|
||||
};
|
||||
|
||||
cam_actuator_regulator: cam_actuator_fixed_regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam_actuator_regulator";
|
||||
regulator-min-microvolt = <3600000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
enable-active-high;
|
||||
gpio = <&tlmm 50 0>;
|
||||
vin-supply = <&pm660l_bob>;
|
||||
};
|
||||
|
||||
cam_dvdd_gpio_regulator: cam_dvdd_fixed_regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam_dvdd_gpio_regulator";
|
||||
regulator-min-microvolt = <1350000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
enable-active-high;
|
||||
gpio = <&pm660l_gpios 3 0>;
|
||||
vin-supply = <&pm660_s5>;
|
||||
};
|
||||
|
||||
cam_rear_dvdd_gpio_regulator: cam_rear_dvdd_fixed_regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam_rear_dvdd_gpio_regulator";
|
||||
regulator-min-microvolt = <1350000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
enable-active-high;
|
||||
gpio = <&pm660l_gpios 4 0>;
|
||||
vin-supply = <&pm660_s5>;
|
||||
};
|
||||
};
|
||||
|
||||
&cci {
|
||||
actuator0: qcom,actuator@0 {
|
||||
cell-index = <0>;
|
||||
reg = <0x0>;
|
||||
compatible = "qcom,actuator";
|
||||
qcom,cci-master = <0>;
|
||||
cam_vaf-supply = <&cam_actuator_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <3600000>;
|
||||
qcom,cam-vreg-max-voltage = <3600000>;
|
||||
qcom,cam-vreg-op-mode = <0>;
|
||||
};
|
||||
|
||||
actuator1: qcom,actuator@1 {
|
||||
cell-index = <1>;
|
||||
reg = <0x1>;
|
||||
compatible = "qcom,actuator";
|
||||
qcom,cci-master = <1>;
|
||||
cam_vaf-supply = <&cam_actuator_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <3600000>;
|
||||
qcom,cam-vreg-max-voltage = <3600000>;
|
||||
qcom,cam-vreg-op-mode = <0>;
|
||||
};
|
||||
|
||||
actuator2: qcom,actuator@2 {
|
||||
cell-index = <2>;
|
||||
reg = <0x2>;
|
||||
compatible = "qcom,actuator";
|
||||
qcom,cci-master = <1>;
|
||||
cam_vaf-supply = <&cam_actuator_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <3600000>;
|
||||
qcom,cam-vreg-max-voltage = <3600000>;
|
||||
qcom,cam-vreg-op-mode = <0>;
|
||||
};
|
||||
|
||||
ois0: qcom,ois@0 {
|
||||
cell-index = <0>;
|
||||
reg = <0x0>;
|
||||
compatible = "qcom,ois";
|
||||
qcom,cci-master = <0>;
|
||||
cam_vaf-supply = <&cam_actuator_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <3600000>;
|
||||
qcom,cam-vreg-max-voltage = <3600000>;
|
||||
qcom,cam-vreg-op-mode = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
tof0: qcom,tof@29{
|
||||
cell-index = <0>;
|
||||
reg = <0x29>;
|
||||
compatible = "st,stmvl53l0";
|
||||
qcom,cci-master = <0>;
|
||||
cam_laser-supply = <&cam_actuator_regulator>;
|
||||
qcom,cam-vreg-name = "cam_laser";
|
||||
qcom,cam-vreg-min-voltage = <3600000>;
|
||||
qcom,cam-vreg-max-voltage = <3600000>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_tof_active>;
|
||||
pinctrl-1 = <&cam_tof_suspend>;
|
||||
stm,irq-gpio = <&tlmm 45 0x2008>;
|
||||
gpios = <&tlmm 42 0>;
|
||||
qcom,gpio-req-tbl-num = <0>;
|
||||
qcom,gpio-req-tbl-flags = <0>;
|
||||
qcom,gpio-req-tbl-label = "RNG_EN";
|
||||
};
|
||||
|
||||
eeprom0: qcom,eeprom@0 {
|
||||
cell-index = <0>;
|
||||
reg = <0>;
|
||||
compatible = "qcom,eeprom";
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&cam_avdd_gpio_regulator>;
|
||||
cam_vdig-supply = <&cam_rear_dvdd_gpio_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 0 0>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 0 0>;
|
||||
qcom,cam-vreg-op-mode = <105000 0 0>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk0_active
|
||||
&cam_sensor_rear_active
|
||||
&cam_actuator_vaf_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk0_suspend
|
||||
&cam_sensor_rear_suspend
|
||||
&cam_actuator_vaf_suspend>;
|
||||
gpios = <&tlmm 32 0>,
|
||||
<&tlmm 46 0>,
|
||||
<&tlmm 50 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-vaf = <2>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
|
||||
"CAM_RESET0",
|
||||
"CAM_VAF";
|
||||
qcom,sensor-position = <0>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <0>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK0_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK0_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
|
||||
eeprom1: qcom,eeprom@1 {
|
||||
cell-index = <1>;
|
||||
reg = <0x1>;
|
||||
compatible = "qcom,eeprom";
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&cam_avdd_gpio_regulator>;
|
||||
cam_vdig-supply = <&cam_dvdd_gpio_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 0 0>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 0 0>;
|
||||
qcom,cam-vreg-op-mode = <105000 0 0>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk2_active
|
||||
&cam_sensor_rear2_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk2_suspend
|
||||
&cam_sensor_rear2_suspend>;
|
||||
gpios = <&tlmm 34 0>,
|
||||
<&tlmm 48 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-req-tbl-num = <0 1>;
|
||||
qcom,gpio-req-tbl-flags = <1 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK",
|
||||
"CAM_RESET";
|
||||
qcom,sensor-position = <0>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <1>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK2_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK2_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
|
||||
eeprom2: qcom,eeprom@2 {
|
||||
cell-index = <2>;
|
||||
reg = <0x2>;
|
||||
compatible = "qcom,eeprom";
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&pm660l_bob>;
|
||||
cam_vdig-supply = <&cam_dvdd_gpio_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 3300000 0>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 3600000 0>;
|
||||
qcom,cam-vreg-op-mode = <105000 80000 0>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk1_active
|
||||
&cam_sensor_front_active
|
||||
&cam_actuator_vaf_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk1_suspend
|
||||
&cam_sensor_front_suspend
|
||||
&cam_actuator_vaf_suspend>;
|
||||
gpios = <&tlmm 33 0>,
|
||||
<&tlmm 47 0>,
|
||||
<&tlmm 44 0>,
|
||||
<&tlmm 50 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-vana = <2>;
|
||||
qcom,gpio-vaf = <3>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2 3>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
|
||||
"CAM_RESET2",
|
||||
"CAM_VANA",
|
||||
"CAM_VAF";
|
||||
qcom,sensor-position = <1>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <1>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK1_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK1_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
|
||||
qcom,camera@0 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,camera";
|
||||
reg = <0x0>;
|
||||
qcom,csiphy-sd-index = <0>;
|
||||
qcom,csid-sd-index = <0>;
|
||||
qcom,mount-angle = <90>;
|
||||
qcom,led-flash-src = <&led_flash0>;
|
||||
qcom,actuator-src = <&actuator0>;
|
||||
qcom,ois-src = <&ois0>;
|
||||
qcom,eeprom-src = <&eeprom0>;
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&cam_avdd_gpio_regulator>;
|
||||
cam_vdig-supply = <&cam_rear_dvdd_gpio_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 0 0>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 0 0>;
|
||||
qcom,cam-vreg-op-mode = <105000 0 0>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk0_active
|
||||
&cam_sensor_rear_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk0_suspend
|
||||
&cam_sensor_rear_suspend>;
|
||||
gpios = <&tlmm 32 0>,
|
||||
<&tlmm 46 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-req-tbl-num = <0 1>;
|
||||
qcom,gpio-req-tbl-flags = <1 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
|
||||
"CAM_RESET0";
|
||||
qcom,sensor-position = <0>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <0>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK0_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK0_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
|
||||
qcom,camera@1 {
|
||||
cell-index = <1>;
|
||||
compatible = "qcom,camera";
|
||||
reg = <0x1>;
|
||||
qcom,csiphy-sd-index = <1>;
|
||||
qcom,csid-sd-index = <2>;
|
||||
qcom,mount-angle = <90>;
|
||||
qcom,led-flash-src = <&led_flash0>;
|
||||
qcom,actuator-src = <&actuator1>;
|
||||
qcom,eeprom-src = <&eeprom1>;
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&cam_avdd_gpio_regulator>;
|
||||
cam_vdig-supply = <&cam_dvdd_gpio_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 0 0>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 0 0>;
|
||||
qcom,cam-vreg-op-mode = <105000 0 0>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk2_active
|
||||
&cam_sensor_rear2_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk2_suspend
|
||||
&cam_sensor_rear2_suspend>;
|
||||
gpios = <&tlmm 34 0>,
|
||||
<&tlmm 48 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-req-tbl-num = <0 1>;
|
||||
qcom,gpio-req-tbl-flags = <1 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK",
|
||||
"CAM_RESET";
|
||||
qcom,sensor-position = <0>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <1>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK2_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK2_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
|
||||
qcom,camera@2 {
|
||||
cell-index = <2>;
|
||||
compatible = "qcom,camera";
|
||||
reg = <0x02>;
|
||||
qcom,csiphy-sd-index = <2>;
|
||||
qcom,csid-sd-index = <2>;
|
||||
qcom,mount-angle = <90>;
|
||||
qcom,actuator-src = <&actuator2>;
|
||||
qcom,eeprom-src = <&eeprom2>;
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&cam_avdd_gpio_regulator>;
|
||||
cam_vdig-supply = <&cam_dvdd_gpio_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 0 0>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 0 0>;
|
||||
qcom,cam-vreg-op-mode = <105000 0 0>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk1_active
|
||||
&cam_sensor_front_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk1_suspend
|
||||
&cam_sensor_front_suspend>;
|
||||
gpios = <&tlmm 33 0>,
|
||||
<&tlmm 47 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-req-tbl-num = <0 1>;
|
||||
qcom,gpio-req-tbl-flags = <1 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
|
||||
"CAM_RESET2";
|
||||
qcom,sensor-position = <1>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <1>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK1_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK1_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
|
||||
qcom,camera@3 {
|
||||
cell-index = <3>;
|
||||
compatible = "qcom,camera";
|
||||
reg = <0x03>;
|
||||
qcom,csiphy-sd-index = <1>;
|
||||
qcom,csid-sd-index = <1>;
|
||||
qcom,mount-angle = <90>;
|
||||
qcom,led-flash-src = <&led_flash1>;
|
||||
qcom,actuator-src = <&actuator2>;
|
||||
qcom,eeprom-src = <&eeprom2>;
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&cam_avdd_gpio_regulator>;
|
||||
cam_vdig-supply = <&cam_dvdd_gpio_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 0 0>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 0 0>;
|
||||
qcom,cam-vreg-op-mode = <105000 0 0>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk3_active
|
||||
&cam_sensor_front_iris_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk3_suspend
|
||||
&cam_sensor_front_iris_suspend>;
|
||||
gpios = <&tlmm 35 0>,
|
||||
<&tlmm 52 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-req-tbl-num = <0 1>;
|
||||
qcom,gpio-req-tbl-flags = <1 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK3",
|
||||
"CAM_RESET3";
|
||||
qcom,sensor-position = <1>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <1>;
|
||||
clocks = <&clock_mmss MCLK3_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK3_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
};
|
||||
|
||||
&pm660l_gpios {
|
||||
gpio@c300 { /* GPIO4 -CAMERA SENSOR 0 VDIG*/
|
||||
qcom,mode = <1>; /* Output */
|
||||
qcom,pull = <5>; /* No Pull */
|
||||
qcom,vin-sel = <0>; /* VIN1 GPIO_LV */
|
||||
qcom,src-sel = <0>; /* GPIO */
|
||||
qcom,invert = <0>; /* Invert */
|
||||
qcom,master-en = <1>; /* Enable GPIO */
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
gpio@c200 { /* GPIO3 -CAMERA SENSOR 2 VDIG*/
|
||||
qcom,mode = <1>; /* Output */
|
||||
qcom,pull = <5>; /* No Pull */
|
||||
qcom,vin-sel = <0>; /* VIN1 GPIO_LV */
|
||||
qcom,src-sel = <0>; /* GPIO */
|
||||
qcom,invert = <0>; /* Invert */
|
||||
qcom,master-en = <1>; /* Enable GPIO */
|
||||
status = "ok";
|
||||
};
|
||||
};
|
427
arch/arm64/boot/dts/qcom/sdm660-camera-sensor-qrd.dtsi
Normal file
427
arch/arm64/boot/dts/qcom/sdm660-camera-sensor-qrd.dtsi
Normal file
@ -0,0 +1,427 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&soc {
|
||||
led_flash0: qcom,camera-flash@0 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,camera-flash";
|
||||
qcom,flash-source = <&pm660l_flash0 &pm660l_flash1>;
|
||||
qcom,torch-source = <&pm660l_torch0 &pm660l_torch1>;
|
||||
qcom,switch-source = <&pm660l_switch0>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
cam_avdd_gpio_regulator:cam_avdd_fixed_regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam_vadd_gpio_regulator";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
enable-active-high;
|
||||
gpio = <&tlmm 51 0>;
|
||||
vin-supply = <&pm660l_bob>;
|
||||
};
|
||||
|
||||
cam_vaf_gpio_regulator:cam_vaf_fixed_regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam_vaf_gpio_regulator";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
enable-active-high;
|
||||
gpio = <&tlmm 50 0>;
|
||||
vin-supply = <&pm660l_bob>;
|
||||
};
|
||||
|
||||
cam_rear_dvdd_gpio_regulator: cam_rear_dvdd_fixed_regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam_rear_dvdd_gpio_regulator";
|
||||
regulator-min-microvolt = <1350000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
enable-active-high;
|
||||
gpio = <&pm660l_gpios 4 0>;
|
||||
vin-supply = <&pm660_s5>;
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
cam_sensor_rear_active: cam_sensor_rear_active {
|
||||
/* RESET */
|
||||
mux {
|
||||
pins = "gpio46";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio46";
|
||||
bias-disable; /* No PULL */
|
||||
drive-strength = <2>; /* 2 MA */
|
||||
};
|
||||
};
|
||||
|
||||
cam_sensor_rear_suspend: cam_sensor_rear_suspend {
|
||||
/* RESET */
|
||||
mux {
|
||||
pins = "gpio46";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio46";
|
||||
bias-disable; /* No PULL */
|
||||
drive-strength = <2>; /* 2 MA */
|
||||
};
|
||||
};
|
||||
|
||||
cam_sensor_rear2_active: cam_sensor_rear2_active {
|
||||
/* RESET */
|
||||
mux {
|
||||
pins = "gpio48";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio48";
|
||||
bias-disable; /* No PULL */
|
||||
drive-strength = <2>; /* 2 MA */
|
||||
};
|
||||
};
|
||||
|
||||
cam_sensor_rear2_suspend: cam_sensor_rear2_suspend {
|
||||
/* RESET */
|
||||
mux {
|
||||
pins = "gpio48";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio48";
|
||||
bias-disable; /* No PULL */
|
||||
drive-strength = <2>; /* 2 MA */
|
||||
};
|
||||
};
|
||||
|
||||
cam_sensor_front_active: cam_sensor_front_active {
|
||||
/* RESET */
|
||||
mux {
|
||||
pins = "gpio47";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio47";
|
||||
bias-disable; /* No PULL */
|
||||
drive-strength = <2>; /* 2 MA */
|
||||
};
|
||||
};
|
||||
|
||||
cam_sensor_front_suspend: cam_sensor_front_suspend {
|
||||
/* RESET */
|
||||
mux {
|
||||
pins = "gpio47";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio47";
|
||||
bias-disable; /* No PULL */
|
||||
drive-strength = <2>; /* 2 MA */
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cci {
|
||||
actuator0: qcom,actuator@0 {
|
||||
cell-index = <0>;
|
||||
reg = <0x0>;
|
||||
compatible = "qcom,actuator";
|
||||
qcom,cci-master = <0>;
|
||||
cam_vaf-supply = <&cam_vaf_gpio_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <2800000>;
|
||||
qcom,cam-vreg-max-voltage = <2800000>;
|
||||
qcom,cam-vreg-op-mode = <0>;
|
||||
};
|
||||
|
||||
actuator1: qcom,actuator@1 {
|
||||
cell-index = <1>;
|
||||
reg = <0x1>;
|
||||
compatible = "qcom,actuator";
|
||||
qcom,cci-master = <1>;
|
||||
cam_vaf-supply = <&cam_vaf_gpio_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <2800000>;
|
||||
qcom,cam-vreg-max-voltage = <2800000>;
|
||||
qcom,cam-vreg-op-mode = <0>;
|
||||
};
|
||||
|
||||
ois0: qcom,ois@0 {
|
||||
cell-index = <0>;
|
||||
reg = <0x0>;
|
||||
compatible = "qcom,ois";
|
||||
qcom,cci-master = <0>;
|
||||
cam_vaf-supply = <&cam_vaf_gpio_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vaf";
|
||||
qcom,cam-vreg-min-voltage = <2800000>;
|
||||
qcom,cam-vreg-max-voltage = <2800000>;
|
||||
qcom,cam-vreg-op-mode = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
eeprom0: qcom,eeprom@0 {
|
||||
cell-index = <0>;
|
||||
reg = <0>;
|
||||
compatible = "qcom,eeprom";
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&cam_avdd_gpio_regulator>;
|
||||
cam_vdig-supply = <&cam_rear_dvdd_gpio_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 0 0>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 0 0>;
|
||||
qcom,cam-vreg-op-mode = <105000 0 105000>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk0_active
|
||||
&cam_sensor_rear_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk0_suspend
|
||||
&cam_sensor_rear_suspend>;
|
||||
gpios = <&tlmm 32 0>,
|
||||
<&tlmm 46 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-req-tbl-num = <0 1>;
|
||||
qcom,gpio-req-tbl-flags = <1 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
|
||||
"CAM_RESET0";
|
||||
qcom,sensor-position = <0>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <0>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK0_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK0_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
|
||||
eeprom1: qcom,eeprom@1 {
|
||||
cell-index = <1>;
|
||||
reg = <0x1>;
|
||||
compatible = "qcom,eeprom";
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&cam_avdd_gpio_regulator>;
|
||||
cam_vdig-supply = <&cam_rear_dvdd_gpio_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 0 0>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 0 0>;
|
||||
qcom,cam-vreg-op-mode = <105000 0 0>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk2_active
|
||||
&cam_sensor_rear2_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk2_suspend
|
||||
&cam_sensor_rear2_suspend>;
|
||||
gpios = <&tlmm 34 0>,
|
||||
<&tlmm 48 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-req-tbl-num = <0 1>;
|
||||
qcom,gpio-req-tbl-flags = <1 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK1",
|
||||
"CAM_RESET1";
|
||||
qcom,sensor-position = <0>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <1>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK2_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK2_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
|
||||
eeprom2: qcom,eeprom@2 {
|
||||
cell-index = <2>;
|
||||
reg = <0x2>;
|
||||
compatible = "qcom,eeprom";
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&cam_avdd_gpio_regulator>;
|
||||
cam_vdig-supply = <&pm660_s5>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 0 1352000>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 0 1352000>;
|
||||
qcom,cam-vreg-op-mode = <105000 0 105000>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk1_active
|
||||
&cam_sensor_front_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk1_suspend
|
||||
&cam_sensor_front_suspend>;
|
||||
gpios = <&tlmm 33 0>,
|
||||
<&tlmm 47 0>,
|
||||
<&pm660l_gpios 3 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-vdig = <2>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
|
||||
"CAM_RESET2",
|
||||
"CAM_VDIG";
|
||||
qcom,sensor-position = <1>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <1>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK1_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK1_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
|
||||
qcom,camera@0 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,camera";
|
||||
reg = <0x0>;
|
||||
qcom,csiphy-sd-index = <0>;
|
||||
qcom,csid-sd-index = <0>;
|
||||
qcom,mount-angle = <270>;
|
||||
qcom,led-flash-src = <&led_flash0>;
|
||||
qcom,actuator-src = <&actuator0>;
|
||||
qcom,ois-src = <&ois0>;
|
||||
qcom,eeprom-src = <&eeprom0>;
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&cam_avdd_gpio_regulator>;
|
||||
cam_vdig-supply = <&cam_rear_dvdd_gpio_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 0 0>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 0 0>;
|
||||
qcom,cam-vreg-op-mode = <105000 0 0>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk0_active
|
||||
&cam_sensor_rear_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk0_suspend
|
||||
&cam_sensor_rear_suspend>;
|
||||
gpios = <&tlmm 32 0>,
|
||||
<&tlmm 46 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-req-tbl-num = <0 1>;
|
||||
qcom,gpio-req-tbl-flags = <1 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
|
||||
"CAM_RESET0";
|
||||
qcom,sensor-position = <0>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <0>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK0_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK0_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
|
||||
qcom,camera@1 {
|
||||
cell-index = <1>;
|
||||
compatible = "qcom,camera";
|
||||
reg = <0x1>;
|
||||
qcom,csiphy-sd-index = <1>;
|
||||
qcom,csid-sd-index = <1>;
|
||||
qcom,mount-angle = <270>;
|
||||
qcom,led-flash-src = <&led_flash0>;
|
||||
qcom,actuator-src = <&actuator1>;
|
||||
qcom,eeprom-src = <&eeprom1>;
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&cam_avdd_gpio_regulator>;
|
||||
cam_vdig-supply = <&cam_rear_dvdd_gpio_regulator>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 0 0>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 0 0>;
|
||||
qcom,cam-vreg-op-mode = <105000 0 0>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk2_active
|
||||
&cam_sensor_rear2_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk2_suspend
|
||||
&cam_sensor_rear2_suspend>;
|
||||
gpios = <&tlmm 34 0>,
|
||||
<&tlmm 48 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-req-tbl-num = <0 1>;
|
||||
qcom,gpio-req-tbl-flags = <1 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK1",
|
||||
"CAM_RESET1";
|
||||
qcom,sensor-position = <0>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <1>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK2_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK2_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
|
||||
qcom,camera@2 {
|
||||
cell-index = <2>;
|
||||
compatible = "qcom,camera";
|
||||
reg = <0x02>;
|
||||
qcom,csiphy-sd-index = <2>;
|
||||
qcom,csid-sd-index = <2>;
|
||||
qcom,mount-angle = <270>;
|
||||
qcom,eeprom-src = <&eeprom2>;
|
||||
cam_vio-supply = <&pm660_l11>;
|
||||
cam_vana-supply = <&cam_avdd_gpio_regulator>;
|
||||
cam_vdig-supply = <&pm660_s5>;
|
||||
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
|
||||
qcom,cam-vreg-min-voltage = <1780000 0 1350000>;
|
||||
qcom,cam-vreg-max-voltage = <1950000 0 1350000>;
|
||||
qcom,cam-vreg-op-mode = <105000 0 105000>;
|
||||
qcom,gpio-no-mux = <0>;
|
||||
pinctrl-names = "cam_default", "cam_suspend";
|
||||
pinctrl-0 = <&cam_sensor_mclk1_active
|
||||
&cam_sensor_front_active>;
|
||||
pinctrl-1 = <&cam_sensor_mclk1_suspend
|
||||
&cam_sensor_front_suspend>;
|
||||
gpios = <&tlmm 33 0>,
|
||||
<&tlmm 47 0>,
|
||||
<&pm660l_gpios 3 0>;
|
||||
qcom,gpio-reset = <1>;
|
||||
qcom,gpio-vdig = <2>;
|
||||
qcom,gpio-req-tbl-num = <0 1 2>;
|
||||
qcom,gpio-req-tbl-flags = <1 0 0>;
|
||||
qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
|
||||
"CAM_RESET2",
|
||||
"CAM_VDIG";
|
||||
qcom,sensor-position = <1>;
|
||||
qcom,sensor-mode = <0>;
|
||||
qcom,cci-master = <1>;
|
||||
status = "ok";
|
||||
clocks = <&clock_mmss MCLK1_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_MCLK1_CLK>;
|
||||
clock-names = "cam_src_clk", "cam_clk";
|
||||
qcom,clock-rates = <24000000 0>;
|
||||
};
|
||||
};
|
||||
|
||||
&pm660l_gpios {
|
||||
gpio@c300 { /* GPIO4 -CAMERA SENSOR 0 VDIG*/
|
||||
qcom,mode = <1>; /* Output */
|
||||
qcom,pull = <5>; /* No Pull */
|
||||
qcom,vin-sel = <0>; /* VIN1 GPIO_LV */
|
||||
qcom,src-sel = <0>; /* GPIO */
|
||||
qcom,invert = <0>; /* Invert */
|
||||
qcom,master-en = <1>; /* Enable GPIO */
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
gpio@c200 { /* GPIO3 -CAMERA SENSOR 2 VDIG*/
|
||||
qcom,mode = <1>; /* Output */
|
||||
qcom,pull = <5>; /* No Pull */
|
||||
qcom,vin-sel = <0>; /* VIN1 GPIO_LV */
|
||||
qcom,src-sel = <0>; /* GPIO */
|
||||
qcom,invert = <0>; /* Invert */
|
||||
qcom,master-en = <1>; /* Enable GPIO */
|
||||
status = "ok";
|
||||
};
|
||||
};
|
876
arch/arm64/boot/dts/qcom/sdm660-camera.dtsi
Normal file
876
arch/arm64/boot/dts/qcom/sdm660-camera.dtsi
Normal file
@ -0,0 +1,876 @@
|
||||
/*
|
||||
* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&soc {
|
||||
qcom,msm-cam@ca00000 {
|
||||
compatible = "qcom,msm-cam";
|
||||
reg = <0xca00000 0x4000>;
|
||||
reg-names = "msm-cam";
|
||||
status = "ok";
|
||||
bus-vectors = "suspend", "svs", "nominal", "turbo";
|
||||
qcom,bus-votes = <0 150000000 320000000 320000000>;
|
||||
qcom,gpu-limit = <700000000>;
|
||||
};
|
||||
|
||||
qcom,csiphy@c824000 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,csiphy-v3.5", "qcom,csiphy";
|
||||
reg = <0xc824000 0x1000>,
|
||||
<0xca00120 0x4>;
|
||||
reg-names = "csiphy", "csiphy_clk_mux";
|
||||
interrupts = <0 78 0>;
|
||||
interrupt-names = "csiphy";
|
||||
gdscr-supply = <&gdsc_camss_top>;
|
||||
bimc_smmu-supply = <&gdsc_bimc_smmu>;
|
||||
qcom,cam-vreg-name = "gdscr", "bimc_smmu";
|
||||
clocks = <&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_TOP_AHB_CLK>,
|
||||
<&clock_mmss CSI0_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI0_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CPHY_CSID0_CLK>,
|
||||
<&clock_mmss CSI0PHYTIMER_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI0PHYTIMER_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_ISPIF_AHB_CLK>,
|
||||
<&clock_mmss CSIPHY_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_CSIPHY0_CLK>,
|
||||
<&clock_mmss MMSS_CSIPHY_AHB2CRIF_CLK>;
|
||||
clock-names = "mmssnoc_axi", "mnoc_ahb",
|
||||
"bmic_smmu_ahb", "bmic_smmu_axi",
|
||||
"camss_ahb_clk", "camss_top_ahb_clk",
|
||||
"csi_src_clk", "csi_clk", "cphy_csid_clk",
|
||||
"csiphy_timer_src_clk", "csiphy_timer_clk",
|
||||
"camss_ispif_ahb_clk", "csiphy_clk_src", "csiphy_clk",
|
||||
"csiphy_ahb2crif";
|
||||
qcom,clock-rates = <0 0 0 0 0 0 310000000 0 0 269333333 0
|
||||
0 200000000 0 0>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
qcom,csiphy@c825000 {
|
||||
cell-index = <1>;
|
||||
compatible = "qcom,csiphy-v3.5", "qcom,csiphy";
|
||||
reg = <0xc825000 0x1000>,
|
||||
<0xca00124 0x4>;
|
||||
reg-names = "csiphy", "csiphy_clk_mux";
|
||||
interrupts = <0 79 0>;
|
||||
interrupt-names = "csiphy";
|
||||
gdscr-supply = <&gdsc_camss_top>;
|
||||
bimc_smmu-supply = <&gdsc_bimc_smmu>;
|
||||
qcom,cam-vreg-name = "gdscr", "bimc_smmu";
|
||||
clocks = <&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_TOP_AHB_CLK>,
|
||||
<&clock_mmss CSI1_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI1_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CPHY_CSID1_CLK>,
|
||||
<&clock_mmss CSI1PHYTIMER_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI1PHYTIMER_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_ISPIF_AHB_CLK>,
|
||||
<&clock_mmss CSIPHY_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_CSIPHY1_CLK>,
|
||||
<&clock_mmss MMSS_CSIPHY_AHB2CRIF_CLK>;
|
||||
clock-names = "mmssnoc_axi", "mnoc_ahb",
|
||||
"bmic_smmu_ahb", "bmic_smmu_axi",
|
||||
"camss_ahb_clk", "camss_top_ahb_clk",
|
||||
"csi_src_clk", "csi_clk", "cphy_csid_clk",
|
||||
"csiphy_timer_src_clk", "csiphy_timer_clk",
|
||||
"camss_ispif_ahb_clk", "csiphy_clk_src", "csiphy_clk",
|
||||
"csiphy_ahb2crif";
|
||||
qcom,clock-rates = <0 0 0 0 0 0 310000000 0 0 269333333 0
|
||||
0 200000000 0 0>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
qcom,csiphy@c826000 {
|
||||
cell-index = <2>;
|
||||
compatible = "qcom,csiphy-v3.5", "qcom,csiphy";
|
||||
reg = <0xc826000 0x1000>,
|
||||
<0xca00128 0x4>;
|
||||
reg-names = "csiphy", "csiphy_clk_mux";
|
||||
interrupts = <0 80 0>;
|
||||
interrupt-names = "csiphy";
|
||||
gdscr-supply = <&gdsc_camss_top>;
|
||||
bimc_smmu-supply = <&gdsc_bimc_smmu>;
|
||||
qcom,cam-vreg-name = "gdscr", "bimc_smmu";
|
||||
clocks = <&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_TOP_AHB_CLK>,
|
||||
<&clock_mmss CSI2_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI2_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CPHY_CSID2_CLK>,
|
||||
<&clock_mmss CSI2PHYTIMER_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI2PHYTIMER_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_ISPIF_AHB_CLK>,
|
||||
<&clock_mmss CSIPHY_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_CSIPHY2_CLK>,
|
||||
<&clock_mmss MMSS_CSIPHY_AHB2CRIF_CLK>;
|
||||
clock-names = "mmssnoc_axi", "mnoc_ahb",
|
||||
"bmic_smmu_ahb", "bmic_smmu_axi",
|
||||
"camss_ahb_clk", "camss_top_ahb_clk",
|
||||
"csi_src_clk", "csi_clk", "cphy_csid_clk",
|
||||
"csiphy_timer_src_clk", "csiphy_timer_clk",
|
||||
"camss_ispif_ahb_clk", "csiphy_clk_src", "csiphy_clk",
|
||||
"csiphy_ahb2crif";
|
||||
qcom,clock-rates = <0 0 0 0 0 0 310000000 0 0 269333333 0
|
||||
0 200000000 0 0>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
qcom,csid@ca30000 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,csid-v5.0", "qcom,csid";
|
||||
reg = <0xca30000 0x400>;
|
||||
reg-names = "csid";
|
||||
interrupts = <0 296 0>;
|
||||
interrupt-names = "csid";
|
||||
qcom,csi-vdd-voltage = <1200000>;
|
||||
qcom,mipi-csi-vdd-supply = <&pm660_l1>;
|
||||
gdscr-supply = <&gdsc_camss_top>;
|
||||
vdd_sec-supply = <&pm660l_l1>;
|
||||
bimc_smmu-supply = <&gdsc_bimc_smmu>;
|
||||
qcom,cam-vreg-name = "vdd_sec", "gdscr", "bimc_smmu";
|
||||
qcom,cam-vreg-min-voltage = <925000 0 0>;
|
||||
qcom,cam-vreg-max-voltage = <925000 0 0>;
|
||||
qcom,cam-vreg-op-mode = <0 0 0>;
|
||||
clocks = <&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_TOP_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_ISPIF_AHB_CLK>,
|
||||
<&clock_mmss CSI0_CLK_SRC>,
|
||||
<&clock_mmss CSIPHY_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI0_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI0_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI0RDI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI0PIX_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CPHY_CSID0_CLK>;
|
||||
clock-names = "mmssnoc_axi", "mnoc_ahb",
|
||||
"bmic_smmu_ahb", "bmic_smmu_axi",
|
||||
"camss_ahb_clk", "camss_top_ahb_clk",
|
||||
"ispif_ahb_clk", "csi_src_clk", "csiphy_clk_src",
|
||||
"csi_clk", "csi_ahb_clk", "csi_rdi_clk",
|
||||
"csi_pix_clk", "cphy_csid_clk";
|
||||
qcom,clock-rates = <0 0 0 0 0 0 0 310000000 200000000
|
||||
0 0 0 0 0>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
qcom,csid@ca30400 {
|
||||
cell-index = <1>;
|
||||
compatible = "qcom,csid-v5.0", "qcom,csid";
|
||||
reg = <0xca30400 0x400>;
|
||||
reg-names = "csid";
|
||||
interrupts = <0 297 0>;
|
||||
interrupt-names = "csid";
|
||||
qcom,csi-vdd-voltage = <1200000>;
|
||||
qcom,mipi-csi-vdd-supply = <&pm660_l1>;
|
||||
gdscr-supply = <&gdsc_camss_top>;
|
||||
vdd_sec-supply = <&pm660l_l1>;
|
||||
bimc_smmu-supply = <&gdsc_bimc_smmu>;
|
||||
qcom,cam-vreg-name = "vdd_sec", "gdscr", "bimc_smmu";
|
||||
qcom,cam-vreg-min-voltage = <925000 0 0>;
|
||||
qcom,cam-vreg-max-voltage = <925000 0 0>;
|
||||
qcom,cam-vreg-op-mode = <0 0 0>;
|
||||
clocks = <&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_TOP_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_ISPIF_AHB_CLK>,
|
||||
<&clock_mmss CSI1_CLK_SRC>,
|
||||
<&clock_mmss CSIPHY_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI1_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI1_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI1RDI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI1PIX_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CPHY_CSID1_CLK>;
|
||||
clock-names = "mmssnoc_axi", "mnoc_ahb",
|
||||
"bmic_smmu_ahb", "bmic_smmu_axi",
|
||||
"camss_ahb_clk", "camss_top_ahb_clk",
|
||||
"ispif_ahb_clk", "csi_src_clk", "csiphy_clk_src",
|
||||
"csi_clk", "csi_ahb_clk", "csi_rdi_clk",
|
||||
"csi_pix_clk", "cphy_csid_clk";
|
||||
qcom,clock-rates = <0 0 0 0 0 0 0 310000000 200000000
|
||||
0 0 0 0 0>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
qcom,csid@ca30800 {
|
||||
cell-index = <2>;
|
||||
compatible = "qcom,csid-v5.0", "qcom,csid";
|
||||
reg = <0xca30800 0x400>;
|
||||
reg-names = "csid";
|
||||
interrupts = <0 298 0>;
|
||||
interrupt-names = "csid";
|
||||
qcom,csi-vdd-voltage = <1200000>;
|
||||
qcom,mipi-csi-vdd-supply = <&pm660_l1>;
|
||||
gdscr-supply = <&gdsc_camss_top>;
|
||||
vdd_sec-supply = <&pm660l_l1>;
|
||||
bimc_smmu-supply = <&gdsc_bimc_smmu>;
|
||||
qcom,cam-vreg-name = "vdd_sec", "gdscr", "bimc_smmu";
|
||||
qcom,cam-vreg-min-voltage = <925000 0 0>;
|
||||
qcom,cam-vreg-max-voltage = <925000 0 0>;
|
||||
qcom,cam-vreg-op-mode = <0 0 0>;
|
||||
clocks = <&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_TOP_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_ISPIF_AHB_CLK>,
|
||||
<&clock_mmss CSI2_CLK_SRC>,
|
||||
<&clock_mmss CSIPHY_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI2_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI2_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI2RDI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI2PIX_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CPHY_CSID2_CLK>;
|
||||
clock-names = "mmssnoc_axi", "mnoc_ahb",
|
||||
"bmic_smmu_ahb", "bmic_smmu_axi",
|
||||
"camss_ahb_clk", "camss_top_ahb_clk",
|
||||
"ispif_ahb_clk", "csi_src_clk", "csiphy_clk_src",
|
||||
"csi_clk", "csi_ahb_clk", "csi_rdi_clk",
|
||||
"csi_pix_clk", "cphy_csid_clk";
|
||||
qcom,clock-rates = <0 0 0 0 0 0 0 310000000 200000000
|
||||
0 0 0 0 0>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
qcom,csid@ca30c00 {
|
||||
cell-index = <3>;
|
||||
compatible = "qcom,csid-v5.0", "qcom,csid";
|
||||
reg = <0xca30c00 0x400>;
|
||||
reg-names = "csid";
|
||||
interrupts = <0 299 0>;
|
||||
interrupt-names = "csid";
|
||||
qcom,csi-vdd-voltage = <1200000>;
|
||||
qcom,mipi-csi-vdd-supply = <&pm660_l1>;
|
||||
gdscr-supply = <&gdsc_camss_top>;
|
||||
vdd_sec-supply = <&pm660l_l1>;
|
||||
bimc_smmu-supply = <&gdsc_bimc_smmu>;
|
||||
qcom,cam-vreg-name = "vdd_sec", "gdscr", "bimc_smmu";
|
||||
qcom,cam-vreg-min-voltage = <925000 0 0>;
|
||||
qcom,cam-vreg-max-voltage = <925000 0 0>;
|
||||
qcom,cam-vreg-op-mode = <0 0 0>;
|
||||
clocks = <&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_TOP_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_ISPIF_AHB_CLK>,
|
||||
<&clock_mmss CSI3_CLK_SRC>,
|
||||
<&clock_mmss CSIPHY_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI3_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI3_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI3RDI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI3PIX_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CPHY_CSID3_CLK>;
|
||||
clock-names = "mmssnoc_axi", "mnoc_ahb",
|
||||
"bmic_smmu_ahb", "bmic_smmu_axi",
|
||||
"camss_ahb_clk", "camss_top_ahb_clk",
|
||||
"ispif_ahb_clk", "csi_src_clk", "csiphy_clk_src",
|
||||
"csi_clk", "csi_ahb_clk", "csi_rdi_clk",
|
||||
"csi_pix_clk", "cphy_csid_clk";
|
||||
qcom,clock-rates = <0 0 0 0 0 0 0 310000000 200000000
|
||||
0 0 0 0 0>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
qcom,cam_smmu {
|
||||
compatible = "qcom,msm-cam-smmu";
|
||||
status = "ok";
|
||||
|
||||
msm_cam_smmu_cb1 {
|
||||
compatible = "qcom,msm-cam-smmu-cb";
|
||||
iommus = <&mmss_bimc_smmu 0xc00>,
|
||||
<&mmss_bimc_smmu 0xc01>,
|
||||
<&mmss_bimc_smmu 0xc02>,
|
||||
<&mmss_bimc_smmu 0xc03>;
|
||||
label = "vfe";
|
||||
qcom,scratch-buf-support;
|
||||
};
|
||||
|
||||
msm_cam_smmu_cb2 {
|
||||
compatible = "qcom,msm-cam-smmu-cb";
|
||||
iommus = <&mmss_bimc_smmu 0xa00>;
|
||||
label = "cpp";
|
||||
};
|
||||
|
||||
msm_cam_smmu_cb4 {
|
||||
compatible = "qcom,msm-cam-smmu-cb";
|
||||
iommus = <&mmss_bimc_smmu 0x800>;
|
||||
label = "jpeg_enc0";
|
||||
};
|
||||
|
||||
msm_cam_smmu_cb5 {
|
||||
compatible = "qcom,msm-cam-smmu-cb";
|
||||
iommus = <&mmss_bimc_smmu 0x801>;
|
||||
label = "jpeg_dma";
|
||||
};
|
||||
};
|
||||
|
||||
qcom,cpp@ca04000 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,cpp";
|
||||
reg = <0xca04000 0x100>,
|
||||
<0xca80000 0x3000>,
|
||||
<0xca18000 0x3000>,
|
||||
<0xc8c36D4 0x4>;
|
||||
reg-names = "cpp", "cpp_vbif", "cpp_hw", "camss_cpp";
|
||||
interrupts = <0 294 0>;
|
||||
interrupt-names = "cpp";
|
||||
smmu-vdd-supply = <&gdsc_bimc_smmu>;
|
||||
camss-vdd-supply = <&gdsc_camss_top>;
|
||||
vdd-supply = <&gdsc_cpp>;
|
||||
qcom,vdd-names = "smmu-vdd", "camss-vdd", "vdd";
|
||||
clocks = <&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_TOP_AHB_CLK>,
|
||||
<&clock_mmss CPP_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_CPP_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CPP_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CPP_AXI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_MICRO_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CPP_VBIF_AHB_CLK>;
|
||||
clock-names = "mmssnoc_axi_clk",
|
||||
"mnoc_ahb_clk",
|
||||
"camss_ahb_clk", "camss_top_ahb_clk",
|
||||
"cpp_src_clk",
|
||||
"cpp_core_clk", "camss_cpp_ahb_clk",
|
||||
"camss_cpp_axi_clk", "micro_iface_clk",
|
||||
"mmss_smmu_axi_clk", "cpp_vbif_ahb_clk";
|
||||
qcom,clock-rates = <0 0 0 0 200000000 200000000 0 0 0 0 0>;
|
||||
qcom,min-clock-rate = <200000000>;
|
||||
qcom,bus-master = <1>;
|
||||
qcom,vbif-qos-setting = <0x550 0x55555555>,
|
||||
<0x554 0x55555555>,
|
||||
<0x558 0x55555555>,
|
||||
<0x55c 0x55555555>,
|
||||
<0x560 0x55555555>,
|
||||
<0x564 0x55555555>,
|
||||
<0x568 0x55555555>,
|
||||
<0x56c 0x55555555>,
|
||||
<0x570 0x55555555>,
|
||||
<0x574 0x55555555>,
|
||||
<0x578 0x55555555>,
|
||||
<0x57c 0x55555555>,
|
||||
<0x580 0x55555555>,
|
||||
<0x584 0x55555555>,
|
||||
<0x588 0x55555555>,
|
||||
<0x58c 0x55555555>;
|
||||
status = "ok";
|
||||
qcom,msm-bus,name = "msm_camera_cpp";
|
||||
qcom,msm-bus,num-cases = <2>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<106 512 0 0>,
|
||||
<106 512 0 0>;
|
||||
qcom,msm-bus-vector-dyn-vote;
|
||||
qcom,cpp-cx-ipeak = <&cx_ipeak_lm 2>;
|
||||
resets = <&clock_mmss CAMSS_MICRO_BCR>;
|
||||
reset-names = "micro_iface_reset";
|
||||
qcom,src-clock-rates = <120000000 256000000 384000000
|
||||
480000000 540000000 576000000>;
|
||||
qcom,micro-reset;
|
||||
qcom,cpp-fw-payload-info {
|
||||
qcom,stripe-base = <790>;
|
||||
qcom,plane-base = <715>;
|
||||
qcom,stripe-size = <63>;
|
||||
qcom,plane-size = <25>;
|
||||
qcom,fe-ptr-off = <11>;
|
||||
qcom,we-ptr-off = <23>;
|
||||
qcom,ref-fe-ptr-off = <17>;
|
||||
qcom,ref-we-ptr-off = <36>;
|
||||
qcom,we-meta-ptr-off = <42>;
|
||||
qcom,fe-mmu-pf-ptr-off = <7>;
|
||||
qcom,ref-fe-mmu-pf-ptr-off = <10>;
|
||||
qcom,we-mmu-pf-ptr-off = <13>;
|
||||
qcom,dup-we-mmu-pf-ptr-off = <18>;
|
||||
qcom,ref-we-mmu-pf-ptr-off = <23>;
|
||||
qcom,set-group-buffer-len = <135>;
|
||||
qcom,dup-frame-indicator-off = <70>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,ispif@ca31000 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,ispif-v3.0", "qcom,ispif";
|
||||
reg = <0xca31000 0xc00>,
|
||||
<0xca00020 0x4>;
|
||||
reg-names = "ispif", "csi_clk_mux";
|
||||
interrupts = <0 309 0>;
|
||||
interrupt-names = "ispif";
|
||||
qcom,num-isps = <0x2>;
|
||||
camss-vdd-supply = <&gdsc_camss_top>;
|
||||
vfe0-vdd-supply = <&gdsc_vfe0>;
|
||||
vfe1-vdd-supply = <&gdsc_vfe1>;
|
||||
qcom,vdd-names = "camss-vdd", "vfe0-vdd",
|
||||
"vfe1-vdd";
|
||||
qcom,clock-cntl-support;
|
||||
clocks = <&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_TOP_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_ISPIF_AHB_CLK>,
|
||||
<&clock_mmss CSI0_CLK_SRC>,
|
||||
<&clock_mmss CSI1_CLK_SRC>,
|
||||
<&clock_mmss CSI2_CLK_SRC>,
|
||||
<&clock_mmss CSI3_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI0RDI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI1RDI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI2RDI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI3RDI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI0PIX_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI1PIX_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI2PIX_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI3PIX_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI0_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI1_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI2_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI3_CLK>,
|
||||
<&clock_mmss VFE0_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_VFE0_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI_VFE0_CLK>,
|
||||
<&clock_mmss VFE1_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_VFE1_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI_VFE1_CLK>;
|
||||
clock-names = "mmssnoc_axi", "mnoc_ahb_clk",
|
||||
"camss_ahb_clk",
|
||||
"camss_top_ahb_clk", "ispif_ahb_clk",
|
||||
"csi0_src_clk", "csi1_src_clk",
|
||||
"csi2_src_clk", "csi3_src_clk",
|
||||
"csi0_rdi_clk", "csi1_rdi_clk",
|
||||
"csi2_rdi_clk", "csi3_rdi_clk",
|
||||
"csi0_pix_clk", "csi1_pix_clk",
|
||||
"csi2_pix_clk", "csi3_pix_clk",
|
||||
"camss_csi0_clk", "camss_csi1_clk",
|
||||
"camss_csi2_clk", "camss_csi3_clk",
|
||||
"vfe0_clk_src",
|
||||
"camss_vfe_vfe0_clk",
|
||||
"camss_csi_vfe0_clk",
|
||||
"vfe1_clk_src",
|
||||
"camss_vfe_vfe1_clk",
|
||||
"camss_csi_vfe1_clk";
|
||||
qcom,clock-rates = <0 0 0 0 0
|
||||
0 0 0 0
|
||||
0 0 0 0
|
||||
0 0 0 0
|
||||
0 0 0 0
|
||||
0 0 0
|
||||
0 0 0>;
|
||||
qcom,clock-control = "INIT_RATE", "NO_SET_RATE",
|
||||
"NO_SET_RATE", "NO_SET_RATE",
|
||||
"NO_SET_RATE",
|
||||
"INIT_RATE", "INIT_RATE",
|
||||
"INIT_RATE", "INIT_RATE",
|
||||
"NO_SET_RATE", "NO_SET_RATE",
|
||||
"NO_SET_RATE", "NO_SET_RATE",
|
||||
"NO_SET_RATE", "NO_SET_RATE",
|
||||
"NO_SET_RATE", "NO_SET_RATE",
|
||||
"NO_SET_RATE", "NO_SET_RATE",
|
||||
"NO_SET_RATE", "NO_SET_RATE",
|
||||
"INIT_RATE",
|
||||
"NO_SET_RATE", "NO_SET_RATE",
|
||||
"INIT_RATE",
|
||||
"NO_SET_RATE", "NO_SET_RATE";
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
vfe0: qcom,vfe0@ca10000 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,vfe48";
|
||||
reg = <0xca10000 0x4000>,
|
||||
<0xca40000 0x3000>;
|
||||
reg-names = "vfe", "vfe_vbif";
|
||||
interrupts = <0 314 0>;
|
||||
interrupt-names = "vfe";
|
||||
vdd-supply = <&gdsc_vfe0>;
|
||||
camss-vdd-supply = <&gdsc_camss_top>;
|
||||
smmu-vdd-supply = <&gdsc_bimc_smmu>;
|
||||
qcom,vdd-names = "vdd", "camss-vdd", "smmu-vdd";
|
||||
clocks = <&clock_mmss MMSS_THROTTLE_CAMSS_AXI_CLK>,
|
||||
<&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_TOP_AHB_CLK>,
|
||||
<&clock_mmss VFE0_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_VFE0_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_VFE0_STREAM_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_VFE0_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_VFE_VBIF_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_VFE_VBIF_AXI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI_VFE0_CLK>;
|
||||
clock-names = "mmss_throttle_camss_axi_clk", "mmssnoc_axi",
|
||||
"mnoc_ahb_clk", "bimc_smmu_ahb_clk",
|
||||
"bimc_smmu_axi_clk", "camss_ahb_clk",
|
||||
"camss_top_ahb_clk", "vfe_clk_src",
|
||||
"camss_vfe_clk", "camss_vfe_stream_clk",
|
||||
"camss_vfe_ahb_clk", "camss_vfe_vbif_ahb_clk",
|
||||
"camss_vfe_vbif_axi_clk",
|
||||
"camss_csi_vfe_clk";
|
||||
qcom,clock-rates = <0 0 0 0 0 0 0 404000000 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 480000000 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 576000000 0 0 0 0 0 0>;
|
||||
status = "ok";
|
||||
qos-entries = <8>;
|
||||
qos-regs = <0x404 0x408 0x40c 0x410 0x414 0x418
|
||||
0x41c 0x420>;
|
||||
qos-settings = <0xaaa5aaa5
|
||||
0xaaa5aaa5
|
||||
0xaaa5aaa5
|
||||
0xaa55aaa5
|
||||
0xaa55aa55
|
||||
0xaa55aa55
|
||||
0xaa55aa55
|
||||
0x0005aa55>;
|
||||
vbif-entries = <3>;
|
||||
vbif-regs = <0x124 0xac 0xd0>;
|
||||
vbif-settings = <0x3 0x40 0x1010>;
|
||||
ds-entries = <17>;
|
||||
ds-regs = <0x424 0x428 0x42c 0x430 0x434
|
||||
0x438 0x43c 0x440 0x444 0x448 0x44c
|
||||
0x450 0x454 0x458 0x45c 0x460 0x464>;
|
||||
ds-settings = <0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0x110>;
|
||||
qcom,msm-bus,name = "msm_camera_vfe";
|
||||
qcom,msm-bus,num-cases = <2>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<29 512 0 0>,
|
||||
<29 512 100000000 100000000>;
|
||||
qcom,msm-bus-vector-dyn-vote;
|
||||
qcom,vfe-cx-ipeak = <&cx_ipeak_lm 2>;
|
||||
};
|
||||
|
||||
vfe1: qcom,vfe1@ca14000 {
|
||||
cell-index = <1>;
|
||||
compatible = "qcom,vfe48";
|
||||
reg = <0xca14000 0x4000>,
|
||||
<0xca40000 0x3000>;
|
||||
reg-names = "vfe", "vfe_vbif";
|
||||
interrupts = <0 315 0>;
|
||||
interrupt-names = "vfe";
|
||||
vdd-supply = <&gdsc_vfe1>;
|
||||
camss-vdd-supply = <&gdsc_camss_top>;
|
||||
smmu-vdd-supply = <&gdsc_bimc_smmu>;
|
||||
qcom,vdd-names = "vdd", "camss-vdd", "smmu-vdd";
|
||||
clocks = <&clock_mmss MMSS_THROTTLE_CAMSS_AXI_CLK>,
|
||||
<&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_TOP_AHB_CLK>,
|
||||
<&clock_mmss VFE1_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_VFE1_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_VFE1_STREAM_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_VFE1_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_VFE_VBIF_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_VFE_VBIF_AXI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CSI_VFE1_CLK>;
|
||||
clock-names = "mmss_throttle_camss_axi_clk", "mmssnoc_axi",
|
||||
"mnoc_ahb_clk", "bimc_smmu_ahb_clk",
|
||||
"bimc_smmu_axi_clk", "camss_ahb_clk",
|
||||
"camss_top_ahb_clk", "vfe_clk_src",
|
||||
"camss_vfe_clk", "camss_vfe_stream_clk",
|
||||
"camss_vfe_ahb_clk", "camss_vfe_vbif_ahb_clk",
|
||||
"camss_vfe_vbif_axi_clk",
|
||||
"camss_csi_vfe_clk";
|
||||
qcom,clock-rates = <0 0 0 0 0 0 0 404000000 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 480000000 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 576000000 0 0 0 0 0 0>;
|
||||
status = "ok";
|
||||
qos-entries = <8>;
|
||||
qos-regs = <0x404 0x408 0x40c 0x410 0x414 0x418
|
||||
0x41c 0x420>;
|
||||
qos-settings = <0xaaa5aaa5
|
||||
0xaaa5aaa5
|
||||
0xaaa5aaa5
|
||||
0xaa55aaa5
|
||||
0xaa55aa55
|
||||
0xaa55aa55
|
||||
0xaa55aa55
|
||||
0x0005aa55>;
|
||||
vbif-entries = <3>;
|
||||
vbif-regs = <0x124 0xac 0xd0>;
|
||||
vbif-settings = <0x3 0x40 0x1010>;
|
||||
ds-entries = <17>;
|
||||
ds-regs = <0x424 0x428 0x42c 0x430 0x434
|
||||
0x438 0x43c 0x440 0x444 0x448 0x44c
|
||||
0x450 0x454 0x458 0x45c 0x460 0x464>;
|
||||
ds-settings = <0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0xcccc1111
|
||||
0x110>;
|
||||
qcom,msm-bus,name = "msm_camera_vfe";
|
||||
qcom,msm-bus,num-cases = <2>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<29 512 0 0>,
|
||||
<29 512 100000000 100000000>;
|
||||
qcom,msm-bus-vector-dyn-vote;
|
||||
qcom,vfe-cx-ipeak = <&cx_ipeak_lm 2>;
|
||||
};
|
||||
|
||||
qcom,vfe {
|
||||
compatible = "qcom,vfe";
|
||||
num_child = <2>;
|
||||
};
|
||||
|
||||
cci: qcom,cci@ca0c000 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,cci";
|
||||
reg = <0xca0c000 0x4000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg-names = "cci";
|
||||
interrupts = <0 295 0>;
|
||||
interrupt-names = "cci";
|
||||
status = "ok";
|
||||
mmagic-supply = <&gdsc_bimc_smmu>;
|
||||
gdscr-supply = <&gdsc_camss_top>;
|
||||
qcom,cam-vreg-name = "mmagic", "gdscr";
|
||||
clocks = <&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_TOP_AHB_CLK>,
|
||||
<&clock_mmss CCI_CLK_SRC>,
|
||||
<&clock_mmss MMSS_CAMSS_CCI_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_CCI_CLK>;
|
||||
clock-names = "mmssnoc_axi", "mnoc_ahb", "smmu_ahb", "smmu_axi",
|
||||
"camss_ahb_clk", "camss_top_ahb_clk",
|
||||
"cci_src_clk", "cci_ahb_clk", "camss_cci_clk";
|
||||
qcom,clock-rates = <0 0 0 0 0 0 19200000 0 0>,
|
||||
<0 0 0 0 0 0 37500000 0 0>;
|
||||
pinctrl-names = "cci_default", "cci_suspend";
|
||||
pinctrl-0 = <&cci0_active &cci1_active>;
|
||||
pinctrl-1 = <&cci0_suspend &cci1_suspend>;
|
||||
gpios = <&tlmm 36 0>,
|
||||
<&tlmm 37 0>,
|
||||
<&tlmm 38 0>,
|
||||
<&tlmm 39 0>;
|
||||
qcom,gpio-tbl-num = <0 1 2 3>;
|
||||
qcom,gpio-tbl-flags = <1 1 1 1>;
|
||||
qcom,gpio-tbl-label = "CCI_I2C_DATA0",
|
||||
"CCI_I2C_CLK0",
|
||||
"CCI_I2C_DATA1",
|
||||
"CCI_I2C_CLK1";
|
||||
i2c_freq_100Khz: qcom,i2c_standard_mode {
|
||||
status = "disabled";
|
||||
};
|
||||
i2c_freq_400Khz: qcom,i2c_fast_mode {
|
||||
status = "disabled";
|
||||
};
|
||||
i2c_freq_custom: qcom,i2c_custom_mode {
|
||||
status = "disabled";
|
||||
};
|
||||
i2c_freq_1Mhz: qcom,i2c_fast_plus_mode {
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
qcom,jpeg@ca1c000 {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,jpeg";
|
||||
reg = <0xca1c000 0x4000>,
|
||||
<0xca60000 0x3000>;
|
||||
reg-names = "jpeg_hw", "jpeg_vbif";
|
||||
interrupts = <0 316 0>;
|
||||
interrupt-names = "jpeg";
|
||||
smmu-vdd-supply = <&gdsc_bimc_smmu>;
|
||||
camss-vdd-supply = <&gdsc_camss_top>;
|
||||
qcom,vdd-names = "smmu-vdd", "camss-vdd";
|
||||
clock-names = "mmssnoc_axi",
|
||||
"mmss_mnoc_ahb_clk",
|
||||
"mmss_bimc_smmu_ahb_clk",
|
||||
"mmss_bimc_smmu_axi_clk",
|
||||
"mmss_camss_ahb_clk",
|
||||
"mmss_camss_top_ahb_clk",
|
||||
"core_clk",
|
||||
"mmss_camss_jpeg_ahb_clk",
|
||||
"mmss_camss_jpeg_axi_clk";
|
||||
clocks = <&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_TOP_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_JPEG0_VOTE_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_JPEG_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_JPEG_AXI_CLK >;
|
||||
qcom,clock-rates = <0 0 0 0 0 0 480000000 0 0>;
|
||||
qcom,vbif-reg-settings = <0x4 0x1>;
|
||||
qcom,prefetch-reg-settings = <0x30c 0x1111>,
|
||||
<0x318 0x31>,
|
||||
<0x324 0x31>,
|
||||
<0x330 0x31>,
|
||||
<0x33c 0x0>;
|
||||
qcom,msm-bus,name = "msm_camera_jpeg0";
|
||||
qcom,msm-bus,num-cases = <2>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,vectors-KBps = <62 512 0 0>,
|
||||
<62 512 1200000 1200000>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
qcom,jpeg@caa0000 {
|
||||
cell-index = <3>;
|
||||
compatible = "qcom,jpegdma";
|
||||
reg = <0xcaa0000 0x4000>,
|
||||
<0xca60000 0x3000>;
|
||||
reg-names = "jpeg_hw", "jpeg_vbif";
|
||||
interrupts = <0 304 0>;
|
||||
interrupt-names = "jpeg";
|
||||
smmu-vdd-supply = <&gdsc_bimc_smmu>;
|
||||
camss-vdd-supply = <&gdsc_camss_top>;
|
||||
qcom,vdd-names = "smmu-vdd", "camss-vdd";
|
||||
clock-names = "mmssnoc_axi",
|
||||
"mmss_mnoc_ahb_clk",
|
||||
"mmss_bimc_smmu_ahb_clk",
|
||||
"mmss_bimc_smmu_axi_clk",
|
||||
"mmss_camss_ahb_clk",
|
||||
"mmss_camss_top_ahb_clk",
|
||||
"core_clk",
|
||||
"mmss_camss_jpeg_ahb_clk",
|
||||
"mmss_camss_jpeg_axi_clk";
|
||||
clocks = <&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_TOP_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_JPEG0_DMA_VOTE_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_JPEG_AHB_CLK>,
|
||||
<&clock_mmss MMSS_CAMSS_JPEG_AXI_CLK>;
|
||||
qcom,clock-rates = <0 0 0 0 0 0 480000000 0 0>;
|
||||
qcom,vbif-reg-settings = <0x4 0x1>;
|
||||
qcom,prefetch-reg-settings = <0x18c 0x11>,
|
||||
<0x1a0 0x31>,
|
||||
<0x1b0 0x31>;
|
||||
qcom,msm-bus,name = "msm_camera_jpeg_dma";
|
||||
qcom,msm-bus,num-cases = <2>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,vectors-KBps = <62 512 0 0>,
|
||||
<62 512 1200000 1200000>;
|
||||
qcom,max-ds-factor = <128>;
|
||||
status = "ok";
|
||||
};
|
||||
};
|
||||
|
||||
&i2c_freq_100Khz {
|
||||
qcom,hw-thigh = <201>;
|
||||
qcom,hw-tlow = <174>;
|
||||
qcom,hw-tsu-sto = <204>;
|
||||
qcom,hw-tsu-sta = <231>;
|
||||
qcom,hw-thd-dat = <22>;
|
||||
qcom,hw-thd-sta = <162>;
|
||||
qcom,hw-tbuf = <227>;
|
||||
qcom,hw-scl-stretch-en = <0>;
|
||||
qcom,hw-trdhld = <6>;
|
||||
qcom,hw-tsp = <3>;
|
||||
qcom,cci-clk-src = <37500000>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&i2c_freq_400Khz {
|
||||
qcom,hw-thigh = <38>;
|
||||
qcom,hw-tlow = <56>;
|
||||
qcom,hw-tsu-sto = <40>;
|
||||
qcom,hw-tsu-sta = <40>;
|
||||
qcom,hw-thd-dat = <22>;
|
||||
qcom,hw-thd-sta = <35>;
|
||||
qcom,hw-tbuf = <62>;
|
||||
qcom,hw-scl-stretch-en = <0>;
|
||||
qcom,hw-trdhld = <6>;
|
||||
qcom,hw-tsp = <3>;
|
||||
qcom,cci-clk-src = <37500000>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&i2c_freq_custom {
|
||||
qcom,hw-thigh = <38>;
|
||||
qcom,hw-tlow = <56>;
|
||||
qcom,hw-tsu-sto = <40>;
|
||||
qcom,hw-tsu-sta = <40>;
|
||||
qcom,hw-thd-dat = <22>;
|
||||
qcom,hw-thd-sta = <35>;
|
||||
qcom,hw-tbuf = <62>;
|
||||
qcom,hw-scl-stretch-en = <1>;
|
||||
qcom,hw-trdhld = <6>;
|
||||
qcom,hw-tsp = <3>;
|
||||
qcom,cci-clk-src = <37500000>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&i2c_freq_1Mhz {
|
||||
qcom,hw-thigh = <16>;
|
||||
qcom,hw-tlow = <22>;
|
||||
qcom,hw-tsu-sto = <17>;
|
||||
qcom,hw-tsu-sta = <18>;
|
||||
qcom,hw-thd-dat = <16>;
|
||||
qcom,hw-thd-sta = <15>;
|
||||
qcom,hw-tbuf = <24>;
|
||||
qcom,hw-scl-stretch-en = <0>;
|
||||
qcom,hw-trdhld = <3>;
|
||||
qcom,hw-tsp = <3>;
|
||||
qcom,cci-clk-src = <37500000>;
|
||||
status = "ok";
|
||||
};
|
37
arch/arm64/boot/dts/qcom/sdm660-cdp.dts
Normal file
37
arch/arm64/boot/dts/qcom/sdm660-cdp.dts
Normal file
@ -0,0 +1,37 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-cdp.dtsi"
|
||||
#include "sdm660-external-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L CDP";
|
||||
compatible = "qcom,sdm660-cdp", "qcom,sdm660", "qcom,cdp";
|
||||
qcom,board-id = <1 0>;
|
||||
qcom,pmic-id = <0x0001001b 0x0101011a 0x0 0x0>,
|
||||
<0x0001001b 0x0201011a 0x0 0x0>,
|
||||
<0x0001001b 0x0102001a 0x0 0x0>;
|
||||
};
|
||||
|
||||
&tavil_snd {
|
||||
qcom,msm-mbhc-hphl-swh = <0>;
|
||||
qcom,msm-mbhc-gnd-swh = <0>;
|
||||
};
|
||||
|
||||
&tasha_snd {
|
||||
qcom,msm-mbhc-hphl-swh = <0>;
|
||||
qcom,msm-mbhc-gnd-swh = <0>;
|
||||
};
|
277
arch/arm64/boot/dts/qcom/sdm660-cdp.dtsi
Normal file
277
arch/arm64/boot/dts/qcom/sdm660-cdp.dtsi
Normal file
@ -0,0 +1,277 @@
|
||||
/* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include "sdm660-pinctrl.dtsi"
|
||||
#include "sdm660-camera-sensor-cdp.dtsi"
|
||||
/ {
|
||||
};
|
||||
|
||||
&uartblsp1dm1 {
|
||||
status = "ok";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart_console_active>;
|
||||
};
|
||||
|
||||
&ufsphy1 {
|
||||
vdda-phy-supply = <&pm660l_l1>;
|
||||
vdda-pll-supply = <&pm660_l10>;
|
||||
vdda-phy-max-microamp = <51400>;
|
||||
vdda-pll-max-microamp = <14200>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&ufs1 {
|
||||
vdd-hba-supply = <&gdsc_ufs>;
|
||||
vdd-hba-fixed-regulator;
|
||||
vcc-supply = <&pm660l_l4>;
|
||||
vccq2-supply = <&pm660_l8>;
|
||||
vcc-max-microamp = <500000>;
|
||||
vccq2-max-microamp = <600000>;
|
||||
qcom,vddp-ref-clk-supply = <&pm660_l1>;
|
||||
qcom,vddp-ref-clk-max-microamp = <100>;
|
||||
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&pm660_gpios {
|
||||
/* GPIO 4 (NFC_CLK_REQ) */
|
||||
gpio@c300 {
|
||||
qcom,mode = <0>;
|
||||
qcom,vin-sel = <1>;
|
||||
qcom,src-sel = <0>;
|
||||
qcom,master-en = <1>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&i2c_6 { /* BLSP1 QUP6 (NFC) */
|
||||
status = "okay";
|
||||
nq@28 {
|
||||
compatible = "qcom,nq-nci";
|
||||
reg = <0x28>;
|
||||
qcom,nq-irq = <&tlmm 28 0x00>;
|
||||
qcom,nq-ven = <&tlmm 29 0x00>;
|
||||
qcom,nq-firm = <&tlmm 30 0x00>;
|
||||
qcom,nq-clkreq = <&pm660_gpios 4 0x00>;
|
||||
qcom,nq-esepwr = <&tlmm 31 0x00>;
|
||||
interrupt-parent = <&tlmm>;
|
||||
qcom,clk-src = "BBCLK3";
|
||||
interrupts = <28 0>;
|
||||
interrupt-names = "nfc_irq";
|
||||
pinctrl-names = "nfc_active", "nfc_suspend";
|
||||
pinctrl-0 = <&nfc_int_active &nfc_enable_active>;
|
||||
pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>;
|
||||
clocks = <&clock_rpmcc RPM_SMD_LN_BB_CLK3_PIN>;
|
||||
clock-names = "ref_clk";
|
||||
};
|
||||
};
|
||||
|
||||
&mdss_mdp {
|
||||
qcom,mdss-pref-prim-intf = "dsi";
|
||||
};
|
||||
|
||||
&mdss_dsi {
|
||||
hw-config = "split_dsi";
|
||||
};
|
||||
|
||||
&mdss_dsi0 {
|
||||
qcom,dsi-pref-prim-pan = <&dsi_dual_nt35597_truly_video>;
|
||||
pinctrl-names = "mdss_default", "mdss_sleep";
|
||||
pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
|
||||
pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
|
||||
qcom,platform-reset-gpio = <&tlmm 53 0>;
|
||||
qcom,platform-te-gpio = <&tlmm 59 0>;
|
||||
};
|
||||
|
||||
&mdss_dsi1 {
|
||||
qcom,dsi-pref-prim-pan = <&dsi_dual_nt35597_truly_video>;
|
||||
pinctrl-names = "mdss_default", "mdss_sleep";
|
||||
pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
|
||||
pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
|
||||
qcom,platform-reset-gpio = <&tlmm 53 0>;
|
||||
qcom,platform-te-gpio = <&tlmm 59 0>;
|
||||
};
|
||||
|
||||
&pm660l_wled {
|
||||
qcom,led-strings-list = [01 02];
|
||||
};
|
||||
|
||||
&dsi_dual_nt35597_truly_video {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,mdss-dsi-mode-sel-gpio-state = "dual_port";
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&dsi_dual_nt35597_truly_cmd {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,mdss-dsi-mode-sel-gpio-state = "dual_port";
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&dsi_dual_sharp_video {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&dsi_nt35597_truly_dsc_video {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&dsi_nt35597_truly_dsc_cmd {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&dsi_dual_nt35597_video {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&dsi_dual_nt35597_cmd {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
qcom,partial-update-enabled = "single_roi";
|
||||
qcom,panel-roi-alignment = <720 128 720 128 1440 128>;
|
||||
};
|
||||
|
||||
&dsi_nt35695b_truly_fhd_video {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&dsi_nt35695b_truly_fhd_cmd {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&dsi_truly_1080_vid {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&dsi_truly_1080_cmd {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
qcom,partial-update-enabled = "single_roi";
|
||||
qcom,panel-roi-alignment = <2 2 4 2 1080 2>;
|
||||
};
|
||||
|
||||
&dsi_rm67195_amoled_fhd_cmd {
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply_labibb_amoled>;
|
||||
};
|
||||
|
||||
&dsi_lgd_incell_sw49106_fhd_video {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&dsi_hx8399c_truly_vid {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&mdss_dp_ctrl {
|
||||
pinctrl-names = "mdss_dp_active", "mdss_dp_sleep";
|
||||
pinctrl-0 = <&mdss_dp_aux_active &mdss_dp_usbplug_cc_active>;
|
||||
pinctrl-1 = <&mdss_dp_aux_suspend &mdss_dp_usbplug_cc_suspend>;
|
||||
qcom,aux-en-gpio = <&tlmm 55 0>;
|
||||
qcom,aux-sel-gpio = <&tlmm 56 0>;
|
||||
qcom,usbplug-cc-gpio = <&tlmm 58 0>;
|
||||
};
|
||||
|
||||
&sdhc_1 {
|
||||
/* device core power supply */
|
||||
vdd-supply = <&pm660l_l4>;
|
||||
qcom,vdd-voltage-level = <2950000 2950000>;
|
||||
qcom,vdd-current-level = <200 570000>;
|
||||
|
||||
/* device communication power supply */
|
||||
vdd-io-supply = <&pm660_l8>;
|
||||
qcom,vdd-io-always-on;
|
||||
qcom,vdd-io-lpm-sup;
|
||||
qcom,vdd-io-voltage-level = <1800000 1800000>;
|
||||
qcom,vdd-io-current-level = <200 325000>;
|
||||
|
||||
pinctrl-names = "active", "sleep";
|
||||
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on &sdc1_rclk_on>;
|
||||
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off &sdc1_rclk_off>;
|
||||
|
||||
qcom,clk-rates = <400000 20000000 25000000 50000000 100000000 192000000
|
||||
384000000>;
|
||||
|
||||
qcom,nonremovable;
|
||||
qcom,bus-speed-mode = "HS400_1p8v", "HS200_1p8v", "DDR_1p8v";
|
||||
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&sdhc_2 {
|
||||
/* device core power supply */
|
||||
vdd-supply = <&pm660l_l5>;
|
||||
qcom,vdd-voltage-level = <2950000 2950000>;
|
||||
qcom,vdd-current-level = <15000 800000>;
|
||||
|
||||
/* device communication power supply */
|
||||
vdd-io-supply = <&pm660l_l2>;
|
||||
qcom,vdd-io-voltage-level = <1800000 2950000>;
|
||||
qcom,vdd-io-current-level = <200 22000>;
|
||||
|
||||
pinctrl-names = "active", "sleep";
|
||||
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
|
||||
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
|
||||
|
||||
#address-cells = <0>;
|
||||
interrupt-parent = <&sdhc_2>;
|
||||
interrupts = <0 1 2>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-map-mask = <0xffffffff>;
|
||||
interrupt-map = <0 &intc 0 0 125 0
|
||||
1 &intc 0 0 221 0
|
||||
2 &tlmm 54 0>;
|
||||
interrupt-names = "hc_irq", "pwr_irq", "status_irq";
|
||||
cd-gpios = <&tlmm 54 0x1>;
|
||||
|
||||
qcom,clk-rates = <400000 20000000 25000000 50000000 100000000
|
||||
200000000>;
|
||||
qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
|
||||
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&soc {
|
||||
qcom,msm-ssc-sensors {
|
||||
compatible = "qcom,msm-ssc-sensors";
|
||||
};
|
||||
};
|
||||
|
||||
&pm660_charger {
|
||||
qcom,batteryless-platform;
|
||||
};
|
679
arch/arm64/boot/dts/qcom/sdm660-common.dtsi
Normal file
679
arch/arm64/boot/dts/qcom/sdm660-common.dtsi
Normal file
@ -0,0 +1,679 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&soc {
|
||||
ufsphy1: ufsphy@1da7000 {
|
||||
compatible = "qcom,ufs-phy-qmp-v3-660";
|
||||
reg = <0x1da7000 0xdb8>;
|
||||
reg-names = "phy_mem";
|
||||
#phy-cells = <0>;
|
||||
clock-names = "ref_clk_src",
|
||||
"ref_clk",
|
||||
"ref_aux_clk";
|
||||
clocks = <&clock_rpmcc RPM_SMD_LN_BB_CLK1>,
|
||||
<&clock_gcc GCC_UFS_CLKREF_CLK>,
|
||||
<&clock_gcc GCC_UFS_PHY_AUX_CLK>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ufs_ice: ufsice@1db0000 {
|
||||
compatible = "qcom,ice";
|
||||
reg = <0x1db0000 0x8000>;
|
||||
qcom,enable-ice-clk;
|
||||
clock-names = "ufs_core_clk", "bus_clk",
|
||||
"iface_clk", "ice_core_clk";
|
||||
clocks = <&clock_gcc GCC_UFS_AXI_CLK>,
|
||||
<&clock_gcc GCC_UFS_CLKREF_CLK>,
|
||||
<&clock_gcc GCC_UFS_AHB_CLK>,
|
||||
<&clock_gcc GCC_UFS_ICE_CORE_CLK>;
|
||||
qcom,op-freq-hz = <0>, <0>, <0>, <300000000>;
|
||||
vdd-hba-supply = <&gdsc_ufs>;
|
||||
qcom,msm-bus,name = "ufs_ice_noc";
|
||||
qcom,msm-bus,num-cases = <2>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<1 650 0 0>, /* No vote */
|
||||
<1 650 1000 0>; /* Max. bandwidth */
|
||||
qcom,bus-vector-names = "MIN",
|
||||
"MAX";
|
||||
qcom,instance-type = "ufs";
|
||||
};
|
||||
|
||||
sdcc1_ice: sdcc1ice@c0c8000 {
|
||||
compatible = "qcom,ice";
|
||||
reg = <0xc0c8000 0x8000>;
|
||||
qcom,enable-ice-clk;
|
||||
clock-names = "ice_core_clk_src", "ice_core_clk",
|
||||
"bus_clk", "iface_clk";
|
||||
clocks = <&clock_gcc SDCC1_ICE_CORE_CLK_SRC>,
|
||||
<&clock_gcc GCC_SDCC1_ICE_CORE_CLK>,
|
||||
<&clock_gcc GCC_SDCC1_APPS_CLK>,
|
||||
<&clock_gcc GCC_SDCC1_AHB_CLK>;
|
||||
qcom,op-freq-hz = <300000000>, <0>, <0>, <0>;
|
||||
qcom,msm-bus,name = "sdcc_ice_noc";
|
||||
qcom,msm-bus,num-cases = <2>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<78 512 0 0>, /* No vote */
|
||||
<78 512 1000 0>; /* Max. bandwidth */
|
||||
qcom,bus-vector-names = "MIN",
|
||||
"MAX";
|
||||
qcom,instance-type = "sdcc";
|
||||
};
|
||||
|
||||
ufs1: ufshc@1da4000 {
|
||||
compatible = "qcom,ufshc";
|
||||
reg = <0x1da4000 0x3000>;
|
||||
interrupts = <0 265 0>;
|
||||
phys = <&ufsphy1>;
|
||||
phy-names = "ufsphy";
|
||||
ufs-qcom-crypto = <&ufs_ice>;
|
||||
|
||||
clock-names =
|
||||
"core_clk",
|
||||
"bus_aggr_clk",
|
||||
"iface_clk",
|
||||
"core_clk_unipro",
|
||||
"core_clk_ice",
|
||||
"ref_clk",
|
||||
"tx_lane0_sync_clk",
|
||||
"rx_lane0_sync_clk";
|
||||
clocks =
|
||||
<&clock_gcc GCC_UFS_AXI_CLK>,
|
||||
<&clock_gcc GCC_AGGRE2_UFS_AXI_CLK>,
|
||||
<&clock_gcc GCC_UFS_AHB_CLK>,
|
||||
<&clock_gcc GCC_UFS_UNIPRO_CORE_CLK>,
|
||||
<&clock_gcc GCC_UFS_ICE_CORE_CLK>,
|
||||
<&clock_rpmcc RPM_SMD_LN_BB_CLK1>,
|
||||
<&clock_gcc GCC_UFS_TX_SYMBOL_0_CLK>,
|
||||
<&clock_gcc GCC_UFS_RX_SYMBOL_0_CLK>;
|
||||
freq-table-hz =
|
||||
<50000000 200000000>,
|
||||
<0 0>,
|
||||
<0 0>,
|
||||
<37500000 150000000>,
|
||||
<75000000 300000000>,
|
||||
<0 0>,
|
||||
<0 0>,
|
||||
<0 0>;
|
||||
|
||||
lanes-per-direction = <1>;
|
||||
|
||||
non-removable;
|
||||
qcom,msm-bus,name = "ufs1";
|
||||
qcom,msm-bus,num-cases = <12>;
|
||||
qcom,msm-bus,num-paths = <2>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<95 512 0 0>, <1 650 0 0>, /* No vote */
|
||||
<95 512 922 0>, <1 650 1000 0>, /* PWM G1 */
|
||||
<95 512 1844 0>, <1 650 1000 0>, /* PWM G2 */
|
||||
<95 512 3688 0>, <1 650 1000 0>, /* PWM G3 */
|
||||
<95 512 7376 0>, <1 650 1000 0>, /* PWM G4 */
|
||||
<95 512 127796 0>, <1 650 1000 0>, /* HS G1 RA */
|
||||
<95 512 255591 0>, <1 650 1000 0>, /* HS G2 RA */
|
||||
<95 512 2097152 0>, <1 650 102400 0>, /* HS G3 RA */
|
||||
<95 512 149422 0>, <1 650 1000 0>, /* HS G1 RB */
|
||||
<95 512 298189 0>, <1 650 1000 0>, /* HS G2 RB */
|
||||
<95 512 2097152 0>, <1 650 102400 0>, /* HS G3 RB */
|
||||
<95 512 7643136 0>, <1 650 307200 0>; /* Max. bandwidth */
|
||||
qcom,bus-vector-names = "MIN",
|
||||
"PWM_G1_L1", "PWM_G2_L1", "PWM_G3_L1", "PWM_G4_L1",
|
||||
"HS_RA_G1_L1", "HS_RA_G2_L1", "HS_RA_G3_L1",
|
||||
"HS_RB_G1_L1", "HS_RB_G2_L1", "HS_RB_G3_L1",
|
||||
"MAX";
|
||||
|
||||
qcom,pm-qos-cpu-groups = <0x0F 0xF0>;
|
||||
qcom,pm-qos-cpu-group-latency-us = <26 26>;
|
||||
qcom,pm-qos-default-cpu = <0>;
|
||||
|
||||
resets = <&clock_gcc GCC_UFS_BCR>;
|
||||
reset-names = "core_reset";
|
||||
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb3: ssusb@a800000 {
|
||||
compatible = "qcom,dwc-usb3-msm";
|
||||
reg = <0x0a800000 0xfc100>,
|
||||
<0x0c016000 0x400>;
|
||||
reg-names = "core_base",
|
||||
"ahb2phy_base";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
interrupts = <0 347 0>, <0 243 0>, <0 180 0>;
|
||||
interrupt-names = "hs_phy_irq", "ss_phy_irq", "pwr_event_irq";
|
||||
|
||||
USB3_GDSC-supply = <&gdsc_usb30>;
|
||||
dpdm-supply = <&qusb_phy0>;
|
||||
|
||||
qcom,msm-bus,name = "usb3";
|
||||
qcom,msm-bus,num-cases = <2>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<61 512 0 0>,
|
||||
<61 512 240000 800000>;
|
||||
|
||||
qcom,dwc-usb3-msm-tx-fifo-size = <21288>;
|
||||
extcon = <&pm660_pdphy>;
|
||||
qcom,pm-qos-latency = <41>; /* CPU-CLUSTER-WFI-LVL latency +1 */
|
||||
|
||||
clocks = <&clock_gcc GCC_USB30_MASTER_CLK>,
|
||||
<&clock_gcc GCC_CFG_NOC_USB3_AXI_CLK>,
|
||||
<&clock_gcc GCC_AGGRE2_USB3_AXI_CLK>,
|
||||
<&clock_rpmcc AGGR2_NOC_USB_CLK>,
|
||||
<&clock_gcc GCC_USB30_MOCK_UTMI_CLK>,
|
||||
<&clock_gcc GCC_USB30_SLEEP_CLK>,
|
||||
<&clock_gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
|
||||
<&clock_rpmcc CXO_DWC3_CLK>;
|
||||
|
||||
clock-names = "core_clk", "iface_clk", "bus_aggr_clk",
|
||||
"noc_aggr_clk", "utmi_clk", "sleep_clk",
|
||||
"cfg_ahb_clk", "xo";
|
||||
|
||||
qcom,core-clk-rate = <133330000>;
|
||||
qcom,core-clk-rate-hs = <66666667>;
|
||||
|
||||
resets = <&clock_gcc GCC_USB_30_BCR>;
|
||||
reset-names = "core_reset";
|
||||
|
||||
dwc3@a800000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0a800000 0xc8d0>;
|
||||
interrupt-parent = <&intc>;
|
||||
interrupts = <0 131 0>;
|
||||
usb-phy = <&qusb_phy0>, <&ssphy>;
|
||||
tx-fifo-resize;
|
||||
snps,usb3-u1u2-disable;
|
||||
snps,disable-clk-gating;
|
||||
snps,has-lpm-erratum;
|
||||
snps,is-utmi-l1-suspend;
|
||||
snps,hird-threshold = /bits/ 8 <0x0>;
|
||||
dr_mode = "otg";
|
||||
linux,sysdev_is_parent;
|
||||
snps,dis_u2_susphy_quirk;
|
||||
snps,dis_enblslpm_quirk;
|
||||
snps,usb3_lpm_capable;
|
||||
usb-core-id = <0>;
|
||||
maximum-speed = "super-speed";
|
||||
};
|
||||
|
||||
qcom,usbbam@a904000 {
|
||||
compatible = "qcom,usb-bam-msm";
|
||||
reg = <0x0a904000 0x17000>;
|
||||
interrupt-parent = <&intc>;
|
||||
interrupts = <0 132 0>;
|
||||
|
||||
qcom,bam-type = <0>;
|
||||
qcom,usb-bam-fifo-baseaddr = <0x146bb000>;
|
||||
qcom,usb-bam-num-pipes = <8>;
|
||||
qcom,ignore-core-reset-ack;
|
||||
qcom,disable-clk-gating;
|
||||
qcom,usb-bam-override-threshold = <0x4001>;
|
||||
qcom,usb-bam-max-mbps-highspeed = <400>;
|
||||
qcom,usb-bam-max-mbps-superspeed = <3600>;
|
||||
qcom,reset-bam-on-connect;
|
||||
|
||||
qcom,pipe0 {
|
||||
label = "ssusb-ipa-out-0";
|
||||
qcom,usb-bam-mem-type = <1>;
|
||||
qcom,dir = <0>;
|
||||
qcom,pipe-num = <0>;
|
||||
qcom,peer-bam = <1>;
|
||||
qcom,src-bam-pipe-index = <1>;
|
||||
qcom,data-fifo-size = <0x8000>;
|
||||
qcom,descriptor-fifo-size = <0x2000>;
|
||||
};
|
||||
qcom,pipe1 {
|
||||
label = "ssusb-ipa-in-0";
|
||||
qcom,usb-bam-mem-type = <1>;
|
||||
qcom,dir = <1>;
|
||||
qcom,pipe-num = <0>;
|
||||
qcom,peer-bam = <1>;
|
||||
qcom,dst-bam-pipe-index = <0>;
|
||||
qcom,data-fifo-size = <0x8000>;
|
||||
qcom,descriptor-fifo-size = <0x2000>;
|
||||
};
|
||||
qcom,pipe2 {
|
||||
label = "ssusb-qdss-in-0";
|
||||
qcom,usb-bam-mem-type = <2>;
|
||||
qcom,dir = <1>;
|
||||
qcom,pipe-num = <0>;
|
||||
qcom,peer-bam = <0>;
|
||||
qcom,peer-bam-physical-address = <0x06064000>;
|
||||
qcom,src-bam-pipe-index = <0>;
|
||||
qcom,dst-bam-pipe-index = <3>;
|
||||
qcom,data-fifo-offset = <0x0>;
|
||||
qcom,data-fifo-size = <0x1800>;
|
||||
qcom,descriptor-fifo-offset = <0x1800>;
|
||||
qcom,descriptor-fifo-size = <0x800>;
|
||||
};
|
||||
qcom,pipe3 {
|
||||
label = "ssusb-dpl-ipa-in-1";
|
||||
qcom,usb-bam-mem-type = <1>;
|
||||
qcom,dir = <1>;
|
||||
qcom,pipe-num = <1>;
|
||||
qcom,peer-bam = <1>;
|
||||
qcom,dst-bam-pipe-index = <2>;
|
||||
qcom,data-fifo-size = <0x8000>;
|
||||
qcom,descriptor-fifo-size = <0x2000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
qusb_phy0: qusb@c012000 {
|
||||
compatible = "qcom,qusb2phy";
|
||||
reg = <0x0c012000 0x180>,
|
||||
<0x01fcb24c 0x4>,
|
||||
<0x00780240 0x4>,
|
||||
<0x00188018 0x4>;
|
||||
reg-names = "qusb_phy_base",
|
||||
"tcsr_clamp_dig_n_1p8",
|
||||
"tune2_efuse_addr",
|
||||
"ref_clk_addr";
|
||||
vdd-supply = <&pm660l_l1>;
|
||||
vdda18-supply = <&pm660_l10>;
|
||||
vdda33-supply = <&pm660l_l7>;
|
||||
qcom,vdd-voltage-level = <0 925000 925000>;
|
||||
qcom,tune2-efuse-bit-pos = <25>;
|
||||
qcom,tune2-efuse-num-bits = <4>;
|
||||
qcom,qusb-phy-init-seq = <0xf8 0x80
|
||||
0xb3 0x84
|
||||
0x83 0x88
|
||||
0xc0 0x8c
|
||||
0x30 0x08
|
||||
0x79 0x0c
|
||||
0x21 0x10
|
||||
0x14 0x9c
|
||||
0x9f 0x1c
|
||||
0x00 0x18>;
|
||||
phy_type= "utmi";
|
||||
qcom,phy-clk-scheme = "cml";
|
||||
qcom,major-rev = <1>;
|
||||
|
||||
clocks = <&clock_rpmcc RPM_SMD_LN_BB_CLK1>,
|
||||
<&clock_gcc GCC_RX0_USB2_CLKREF_CLK>,
|
||||
<&clock_gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>;
|
||||
|
||||
clock-names = "ref_clk_src", "ref_clk", "cfg_ahb_clk";
|
||||
|
||||
resets = <&clock_gcc GCC_QUSB2PHY_PRIM_BCR>;
|
||||
reset-names = "phy_reset";
|
||||
};
|
||||
|
||||
ssphy: ssphy@c010000 {
|
||||
compatible = "qcom,usb-ssphy-qmp-v2";
|
||||
reg = <0xc010000 0xe18>,
|
||||
<0x01fcb244 0x4>,
|
||||
<0x01fcb248 0x4>;
|
||||
reg-names = "qmp_phy_base",
|
||||
"vls_clamp_reg",
|
||||
"tcsr_usb3_dp_phymode";
|
||||
vdd-supply = <&pm660l_l1>;
|
||||
core-supply = <&pm660_l10>;
|
||||
qcom,vdd-voltage-level = <0 925000 925000>;
|
||||
qcom,core-voltage-level = <0 1800000 1800000>;
|
||||
qcom,vbus-valid-override;
|
||||
qcom,qmp-phy-init-seq =
|
||||
/* <reg_offset, value, delay> */
|
||||
<0xac 0x14 0x00
|
||||
0x34 0x08 0x00
|
||||
0x174 0x30 0x00
|
||||
0x3c 0x06 0x00
|
||||
0xb4 0x00 0x00
|
||||
0xb8 0x08 0x00
|
||||
0x70 0x0f 0x00
|
||||
0x19c 0x01 0x00
|
||||
0x178 0x00 0x00
|
||||
0xd0 0x82 0x00
|
||||
0xdc 0x55 0x00
|
||||
0xe0 0x55 0x00
|
||||
0xe4 0x03 0x00
|
||||
0x78 0x0b 0x00
|
||||
0x84 0x16 0x00
|
||||
0x90 0x28 0x00
|
||||
0x108 0x80 0x00
|
||||
0x10c 0x00 0x00
|
||||
0x184 0x0a 0x00
|
||||
0x4c 0x15 0x00
|
||||
0x50 0x34 0x00
|
||||
0x54 0x00 0x00
|
||||
0xc8 0x00 0x00
|
||||
0x18c 0x00 0x00
|
||||
0xcc 0x00 0x00
|
||||
0x128 0x00 0x00
|
||||
0x0c 0x0a 0x00
|
||||
0x10 0x01 0x00
|
||||
0x1c 0x31 0x00
|
||||
0x20 0x01 0x00
|
||||
0x14 0x00 0x00
|
||||
0x18 0x00 0x00
|
||||
0x24 0xde 0x00
|
||||
0x28 0x07 0x00
|
||||
0x48 0x0f 0x00
|
||||
0x194 0x06 0x00
|
||||
0x100 0x80 0x00
|
||||
0xa8 0x01 0x00
|
||||
0x430 0x0b 0x00
|
||||
0x830 0x0b 0x00
|
||||
0x444 0x00 0x00
|
||||
0x844 0x00 0x00
|
||||
0x43c 0x00 0x00
|
||||
0x83c 0x00 0x00
|
||||
0x440 0x00 0x00
|
||||
0x840 0x00 0x00
|
||||
0x408 0x0a 0x00
|
||||
0x808 0x0a 0x00
|
||||
0x414 0x06 0x00
|
||||
0x814 0x06 0x00
|
||||
0x434 0x75 0x00
|
||||
0x834 0x75 0x00
|
||||
0x4d4 0x02 0x00
|
||||
0x8d4 0x02 0x00
|
||||
0x4d8 0x4e 0x00
|
||||
0x8d8 0x4e 0x00
|
||||
0x4dc 0x18 0x00
|
||||
0x8dc 0x18 0x00
|
||||
0x4f8 0x77 0x00
|
||||
0x8f8 0x77 0x00
|
||||
0x4fc 0x80 0x00
|
||||
0x8fc 0x80 0x00
|
||||
0x4c0 0x0a 0x00
|
||||
0x8c0 0x0a 0x00
|
||||
0x504 0x03 0x00
|
||||
0x904 0x03 0x00
|
||||
0x50c 0x16 0x00
|
||||
0x90c 0x16 0x00
|
||||
0x500 0x00 0x00
|
||||
0x900 0x00 0x00
|
||||
0x564 0x00 0x00
|
||||
0x964 0x00 0x00
|
||||
0x260 0x10 0x00
|
||||
0x660 0x10 0x00
|
||||
0x2a4 0x12 0x00
|
||||
0x6a4 0x12 0x00
|
||||
0x28c 0xc6 0x00
|
||||
0x68c 0xc6 0x00
|
||||
0x244 0x00 0x00
|
||||
0x644 0x00 0x00
|
||||
0x248 0x00 0x00
|
||||
0x648 0x00 0x00
|
||||
0xc0c 0x9f 0x00
|
||||
0xc24 0x17 0x00
|
||||
0xc28 0x0f 0x00
|
||||
0xcc8 0x83 0x00
|
||||
0xcc4 0x02 0x00
|
||||
0xccc 0x09 0x00
|
||||
0xcd0 0xa2 0x00
|
||||
0xcd4 0x85 0x00
|
||||
0xc80 0xd1 0x00
|
||||
0xc84 0x1f 0x00
|
||||
0xc88 0x47 0x00
|
||||
0xcb8 0x75 0x00
|
||||
0xcbc 0x13 0x00
|
||||
0xcb0 0x86 0x00
|
||||
0xca0 0x04 0x00
|
||||
0xc8c 0x44 0x00
|
||||
0xc70 0xe7 0x00
|
||||
0xc74 0x03 0x00
|
||||
0xc78 0x40 0x00
|
||||
0xc7c 0x00 0x00
|
||||
0xdd8 0x88 0x00
|
||||
0xffffffff 0xffffffff 0x00>;
|
||||
|
||||
qcom,qmp-phy-reg-offset =
|
||||
<0xd74 /* USB3_PHY_PCS_STATUS */
|
||||
0xcd8 /* USB3_PHY_AUTONOMOUS_MODE_CTRL */
|
||||
0xcdc /* USB3_PHY_LFPS_RXTERM_IRQ_CLEAR */
|
||||
0xc04 /* USB3_PHY_POWER_DOWN_CONTROL */
|
||||
0xc00 /* USB3_PHY_SW_RESET */
|
||||
0xc08 /* USB3_PHY_START */
|
||||
0xa00>; /* USB3PHY_PCS_MISC_TYPEC_CTRL */
|
||||
|
||||
clocks = <&clock_gcc GCC_USB3_PHY_AUX_CLK>,
|
||||
<&clock_gcc GCC_USB3_PHY_PIPE_CLK>,
|
||||
<&clock_gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
|
||||
<&clock_rpmcc RPM_SMD_LN_BB_CLK1>,
|
||||
<&clock_gcc GCC_USB3_CLKREF_CLK>;
|
||||
|
||||
clock-names = "aux_clk", "pipe_clk", "cfg_ahb_clk",
|
||||
"ref_clk_src", "ref_clk";
|
||||
|
||||
resets = <&clock_gcc GCC_USB3_PHY_BCR>,
|
||||
<&clock_gcc GCC_USB3PHY_PHY_BCR>;
|
||||
reset-names = "phy_reset", "phy_phy_reset";
|
||||
};
|
||||
|
||||
usb_audio_qmi_dev {
|
||||
compatible = "qcom,usb-audio-qmi-dev";
|
||||
iommus = <&lpass_q6_smmu 6>;
|
||||
qcom,usb-audio-stream-id = <6>;
|
||||
qcom,usb-audio-intr-num = <2>;
|
||||
};
|
||||
|
||||
usb2s: hsusb@c200000 {
|
||||
compatible = "qcom,dwc-usb3-msm";
|
||||
reg = <0x0c200000 0xfc000>,
|
||||
<0x0c016000 0x400>;
|
||||
reg-names = "core_base",
|
||||
"ahb2phy_base";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
interrupts = <0 348 0>, <0 144 0>;
|
||||
interrupt-names = "hs_phy_irq", "pwr_event_irq";
|
||||
|
||||
qcom,msm-bus,name = "usb-hs";
|
||||
qcom,msm-bus,num-cases = <2>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<87 512 0 0>,
|
||||
<87 512 60000 800000>;
|
||||
|
||||
qcom,pm-qos-latency = <52>; /* CPU-CLUSTER-WFI-LVL latency +1 */
|
||||
clocks = <&clock_gcc GCC_USB20_MASTER_CLK>,
|
||||
<&clock_gcc GCC_CFG_NOC_USB2_AXI_CLK>,
|
||||
<&clock_gcc GCC_USB20_MOCK_UTMI_CLK>,
|
||||
<&clock_gcc GCC_USB20_SLEEP_CLK>,
|
||||
<&clock_rpmcc CXO_DWC3_CLK>,
|
||||
<&clock_gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>;
|
||||
clock-names = "core_clk", "iface_clk", "utmi_clk", "sleep_clk",
|
||||
"xo", "cfg_ahb_clk";
|
||||
qcom,core-clk-rate = <60000000>;
|
||||
resets = <&clock_gcc GCC_USB_20_BCR>;
|
||||
reset-names = "core_reset";
|
||||
|
||||
status = "disabled";
|
||||
dwc3@c200000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0c200000 0xc8d0>;
|
||||
interrupt-parent = <&intc>;
|
||||
interrupts = <0 143 0>;
|
||||
usb-phy = <&qusb_phy1>, <&usb_nop_phy>;
|
||||
maximum-speed = "high-speed";
|
||||
snps,is-utmi-l1-suspend;
|
||||
snps,hird-threshold = /bits/ 8 <0x0>;
|
||||
dr_mode = "host";
|
||||
};
|
||||
};
|
||||
|
||||
qusb_phy1: qusb@c014000 {
|
||||
compatible = "qcom,qusb2phy";
|
||||
reg = <0x0c014000 0x180>,
|
||||
<0x00188014 0x4>;
|
||||
reg-names = "qusb_phy_base",
|
||||
"ref_clk_addr";
|
||||
vdd-supply = <&pm660l_l1>;
|
||||
vdda18-supply = <&pm660_l10>;
|
||||
vdda33-supply = <&pm660l_l7>;
|
||||
qcom,vdd-voltage-level = <0 925000 925000>;
|
||||
qcom,qusb-phy-init-seq = <0xF8 0x80
|
||||
0xB3 0x84
|
||||
0x83 0x88
|
||||
0xC0 0x8C
|
||||
0x30 0x08
|
||||
0x79 0x0C
|
||||
0x21 0x10
|
||||
0x14 0x9C
|
||||
0x9F 0x1C
|
||||
0x00 0x18>;
|
||||
phy_type = "utmi";
|
||||
qcom,phy-clk-scheme = "cml";
|
||||
qcom,major-rev = <1>;
|
||||
qcom,hold-reset;
|
||||
|
||||
clocks = <&clock_gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
|
||||
<&clock_gcc GCC_RX1_USB2_CLKREF_CLK>,
|
||||
<&clock_rpmcc RPM_SMD_LN_BB_CLK1>;
|
||||
clock-names = "cfg_ahb_clk", "ref_clk", "ref_clk_src";
|
||||
|
||||
resets = <&clock_gcc GCC_QUSB2PHY_SEC_BCR>;
|
||||
reset-names = "phy_reset";
|
||||
};
|
||||
|
||||
usb_nop_phy: usb_nop_phy {
|
||||
compatible = "usb-nop-xceiv";
|
||||
};
|
||||
|
||||
sdhc_1: sdhci@c0c4000 {
|
||||
compatible = "qcom,sdhci-msm-v5";
|
||||
reg = <0xc0c4000 0x1000>, <0xc0c5000 0x1000>;
|
||||
reg-names = "hc_mem", "cmdq_mem";
|
||||
|
||||
interrupts = <0 110 0>, <0 112 0>;
|
||||
interrupt-names = "hc_irq", "pwr_irq";
|
||||
|
||||
qcom,bus-width = <8>;
|
||||
qcom,large-address-bus;
|
||||
sdhc-msm-crypto = <&sdcc1_ice>;
|
||||
|
||||
qcom,devfreq,freq-table = <50000000 200000000>;
|
||||
|
||||
qcom,pm-qos-irq-type = "affine_irq";
|
||||
qcom,pm-qos-irq-latency = <43 518>;
|
||||
qcom,pm-qos-cpu-groups = <0x0f 0xf0>;
|
||||
qcom,pm-qos-cmdq-latency-us = <43 518>, <40 518>;
|
||||
qcom,pm-qos-legacy-latency-us = <43 518>, <40 518>;
|
||||
|
||||
qcom,msm-bus,name = "sdhc1";
|
||||
qcom,msm-bus,num-cases = <9>;
|
||||
qcom,msm-bus,num-paths = <2>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
/* No vote */
|
||||
<78 512 0 0>, <1 606 0 0>,
|
||||
/* 400 KB/s*/
|
||||
<78 512 1046 1600>,
|
||||
<1 606 1600 1600>,
|
||||
/* 20 MB/s */
|
||||
<78 512 52286 80000>,
|
||||
<1 606 80000 80000>,
|
||||
/* 25 MB/s */
|
||||
<78 512 65360 100000>,
|
||||
<1 606 100000 100000>,
|
||||
/* 50 MB/s */
|
||||
<78 512 130718 200000>,
|
||||
<1 606 133320 133320>,
|
||||
/* 100 MB/s */
|
||||
<78 512 130718 200000>,
|
||||
<1 606 150000 150000>,
|
||||
/* 200 MB/s */
|
||||
<78 512 261438 400000>,
|
||||
<1 606 300000 300000>,
|
||||
/* 400 MB/s */
|
||||
<78 512 261438 400000>,
|
||||
<1 606 300000 300000>,
|
||||
/* Max. bandwidth */
|
||||
<78 512 1338562 4096000>,
|
||||
<1 606 1338562 4096000>;
|
||||
qcom,bus-bw-vectors-bps = <0 400000 20000000 25000000 50000000
|
||||
100000000 200000000 400000000 4294967295>;
|
||||
|
||||
clocks = <&clock_gcc GCC_SDCC1_AHB_CLK>,
|
||||
<&clock_gcc GCC_SDCC1_APPS_CLK>,
|
||||
<&clock_gcc GCC_SDCC1_ICE_CORE_CLK>;
|
||||
clock-names = "iface_clk", "core_clk", "ice_core_clk";
|
||||
|
||||
qcom,clk-rates = <400000 20000000 25000000 50000000 100000000
|
||||
192000000 384000000>;
|
||||
|
||||
qcom,nonremovable;
|
||||
qcom,bus-speed-mode = "HS400_1p8v", "HS200_1p8v", "DDR_1p8v";
|
||||
|
||||
qcom,ice-clk-rates = <300000000 75000000>;
|
||||
|
||||
qcom,scaling-lower-bus-speed-mode = "DDR52";
|
||||
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdhc_2: sdhci@c084000 {
|
||||
compatible = "qcom,sdhci-msm-v5";
|
||||
reg = <0xc084000 0x1000>;
|
||||
reg-names = "hc_mem";
|
||||
|
||||
interrupts = <0 125 0>, <0 221 0>;
|
||||
interrupt-names = "hc_irq", "pwr_irq";
|
||||
|
||||
qcom,bus-width = <4>;
|
||||
qcom,large-address-bus;
|
||||
|
||||
qcom,msm-bus,name = "sdhc2";
|
||||
qcom,msm-bus,num-cases = <8>;
|
||||
qcom,msm-bus,num-paths = <2>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
/* No vote */
|
||||
<81 512 0 0>, <1 608 0 0>,
|
||||
/* 400 KB/s*/
|
||||
<81 512 1046 1600>,
|
||||
<1 608 1600 1600>,
|
||||
/* 20 MB/s */
|
||||
<81 512 52286 80000>,
|
||||
<1 608 80000 80000>,
|
||||
/* 25 MB/s */
|
||||
<81 512 65360 100000>,
|
||||
<1 608 100000 100000>,
|
||||
/* 50 MB/s */
|
||||
<81 512 130718 200000>,
|
||||
<1 608 133320 133320>,
|
||||
/* 100 MB/s */
|
||||
<81 512 261438 200000>,
|
||||
<1 608 150000 150000>,
|
||||
/* 200 MB/s */
|
||||
<81 512 261438 400000>,
|
||||
<1 608 300000 300000>,
|
||||
/* Max. bandwidth */
|
||||
<81 512 1338562 4096000>,
|
||||
<1 608 1338562 4096000>;
|
||||
qcom,bus-bw-vectors-bps = <0 400000 20000000 25000000 50000000
|
||||
100000000 200000000 4294967295>;
|
||||
|
||||
qcom,devfreq,freq-table = <50000000 200000000>;
|
||||
|
||||
qcom,pm-qos-irq-type = "affine_irq";
|
||||
qcom,pm-qos-irq-latency = <43 518>;
|
||||
qcom,pm-qos-cpu-groups = <0x0f 0xf0>;
|
||||
qcom,pm-qos-legacy-latency-us = <43 518>, <40 518>;
|
||||
|
||||
clocks = <&clock_gcc GCC_SDCC2_AHB_CLK>,
|
||||
<&clock_gcc GCC_SDCC2_APPS_CLK>;
|
||||
clock-names = "iface_clk", "core_clk";
|
||||
|
||||
qcom,clk-rates = <400000 20000000 25000000 50000000 100000000
|
||||
200000000>;
|
||||
qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50",
|
||||
"SDR104";
|
||||
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
1684
arch/arm64/boot/dts/qcom/sdm660-coresight.dtsi
Normal file
1684
arch/arm64/boot/dts/qcom/sdm660-coresight.dtsi
Normal file
File diff suppressed because it is too large
Load Diff
35
arch/arm64/boot/dts/qcom/sdm660-external-codec.dtsi
Normal file
35
arch/arm64/boot/dts/qcom/sdm660-external-codec.dtsi
Normal file
@ -0,0 +1,35 @@
|
||||
/* Copyright (c) 2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&cdc_pdm_gpios {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&cdc_comp_gpios {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&cdc_dmic_gpios {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&cdc_sdw_gpios {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&wsa_spkr_en1 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&wsa_spkr_en2 {
|
||||
status = "disabled";
|
||||
};
|
703
arch/arm64/boot/dts/qcom/sdm660-gpu.dtsi
Normal file
703
arch/arm64/boot/dts/qcom/sdm660-gpu.dtsi
Normal file
@ -0,0 +1,703 @@
|
||||
/* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&soc {
|
||||
pil_gpu: qcom,kgsl-hyp {
|
||||
compatible = "qcom,pil-tz-generic";
|
||||
qcom,pas-id = <13>;
|
||||
qcom,firmware-name = "a512_zap";
|
||||
};
|
||||
|
||||
msm_bus: qcom,kgsl-busmon{
|
||||
label = "kgsl-busmon";
|
||||
compatible = "qcom,kgsl-busmon";
|
||||
};
|
||||
|
||||
gpubw: qcom,gpubw {
|
||||
compatible = "qcom,devbw";
|
||||
governor = "bw_vbif";
|
||||
qcom,src-dst-ports = <26 512>;
|
||||
/*
|
||||
* active-only flag is used while registering the bus
|
||||
* governor. It helps release the bus vote when the CPU
|
||||
* subsystem is inactive
|
||||
*/
|
||||
qcom,active-only;
|
||||
/*
|
||||
* IB votes in MBPS, derived using below formula
|
||||
* IB = (DDR frequency * DDR bus width in Bytes * Dual rate)
|
||||
* Note: IB vote is per DDR channel vote
|
||||
*/
|
||||
qcom,bw-tbl =
|
||||
< 0 /* off */ >,
|
||||
< 381 /* 100 MHz */ >,
|
||||
< 572 /* 150 MHz */ >,
|
||||
< 762 /* 200 MHz */ >,
|
||||
< 1144 /* 300 MHz */ >,
|
||||
< 1571 /* 412 MHz */ >,
|
||||
< 2086 /* 547 MHz */ >,
|
||||
< 2597 /* 681 MHz */ >,
|
||||
< 2929 /* 768 MHz */ >,
|
||||
< 3879 /* 1017 MHz */ >,
|
||||
< 4943 /* 1296 MHz */ >,
|
||||
< 5161 /* 1353 MHz */ >,
|
||||
< 5931 /* 1555 MHz */ >,
|
||||
< 6881 /* 1804 MHz */ >;
|
||||
};
|
||||
|
||||
msm_gpu: qcom,kgsl-3d0@5000000 {
|
||||
label = "kgsl-3d0";
|
||||
compatible = "qcom,kgsl-3d0", "qcom,kgsl-3d";
|
||||
status = "ok";
|
||||
reg = <0x5000000 0x40000
|
||||
0x780000 0x6220>;
|
||||
reg-names = "kgsl_3d0_reg_memory", "qfprom_memory";
|
||||
interrupts = <0 300 0>;
|
||||
interrupt-names = "kgsl_3d0_irq";
|
||||
qcom,id = <0>;
|
||||
|
||||
qcom,chipid = <0x05010200>;
|
||||
|
||||
qcom,initial-pwrlevel = <6>;
|
||||
|
||||
/* <HZ/12> */
|
||||
qcom,idle-timeout = <80>;
|
||||
|
||||
qcom,highest-bank-bit = <14>;
|
||||
|
||||
/* size in bytes */
|
||||
qcom,snapshot-size = <1048576>;
|
||||
|
||||
clocks = <&clock_gfx GPUCC_GFX3D_CLK>,
|
||||
<&clock_gcc GCC_GPU_CFG_AHB_CLK>,
|
||||
<&clock_gfx GPUCC_RBBMTIMER_CLK>,
|
||||
<&clock_gcc GCC_GPU_BIMC_GFX_CLK>,
|
||||
<&clock_gcc GCC_BIMC_GFX_CLK>,
|
||||
<&clock_gpu GPUCC_RBCPR_CLK>;
|
||||
|
||||
clock-names = "core_clk", "iface_clk", "rbbmtimer_clk",
|
||||
"mem_clk", "alt_mem_iface_clk", "rbcpr_clk";
|
||||
|
||||
/* Bus Scale Settings */
|
||||
qcom,gpubw-dev = <&gpubw>;
|
||||
qcom,bus-control;
|
||||
/* GPU to BIMC bus width, VBIF data transfer in 1 cycle */
|
||||
qcom,bus-width = <32>;
|
||||
qcom,msm-bus,name = "grp3d";
|
||||
qcom,msm-bus,num-cases = <14>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<26 512 0 0>,
|
||||
|
||||
<26 512 0 400000>, /* 1 bus=100 */
|
||||
<26 512 0 600000>, /* 2 bus=150 */
|
||||
<26 512 0 800000>, /* 3 bus=200 */
|
||||
<26 512 0 1200000>, /* 4 bus=300 */
|
||||
<26 512 0 1648000>, /* 5 bus=412 */
|
||||
<26 512 0 2188000>, /* 6 bus=547 */
|
||||
<26 512 0 2724000>, /* 7 bus=681 */
|
||||
<26 512 0 3072000>, /* 8 bus=768 */
|
||||
<26 512 0 4068000>, /* 9 bus=1017 */
|
||||
<26 512 0 5184000>, /* 10 bus=1296 */
|
||||
<26 512 0 5412000>, /* 11 bus=1353 */
|
||||
<26 512 0 6220000>, /* 12 bus=1555 */
|
||||
<26 512 0 7216000>; /* 13 bus=1804 */
|
||||
|
||||
/* GDSC regulator names */
|
||||
regulator-names = "vddcx", "vdd";
|
||||
/* GDSC oxili regulators */
|
||||
vddcx-supply = <&gdsc_gpu_cx>;
|
||||
vdd-supply = <&gdsc_gpu_gx>;
|
||||
|
||||
/* Cx ipeak limit supprt */
|
||||
qcom,gpu-cx-ipeak = <&cx_ipeak_lm 1>;
|
||||
qcom,gpu-cx-ipeak-clk = <700000000>;
|
||||
|
||||
/* CPU latency parameter */
|
||||
qcom,pm-qos-active-latency = <518>;
|
||||
qcom,pm-qos-wakeup-latency = <518>;
|
||||
|
||||
/* Quirks */
|
||||
qcom,gpu-quirk-dp2clockgating-disable;
|
||||
qcom,gpu-quirk-lmloadkill-disable;
|
||||
|
||||
/* Enable context aware freq. scaling */
|
||||
qcom,enable-ca-jump;
|
||||
|
||||
/* Context aware jump busy penalty in us */
|
||||
qcom,ca-busy-penalty = <12000>;
|
||||
|
||||
/* Context aware jump target power level */
|
||||
qcom,ca-target-pwrlevel = <4>;
|
||||
|
||||
qcom,gpu-speed-bin = <0x41a0 0x1fe00000 21>;
|
||||
|
||||
/* GPU Mempools */
|
||||
qcom,gpu-mempools {
|
||||
#address-cells= <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,gpu-mempools";
|
||||
|
||||
qcom,mempool-max-pages = <32768>;
|
||||
|
||||
/* 4K Page Pool configuration */
|
||||
qcom,gpu-mempool@0 {
|
||||
reg = <0>;
|
||||
qcom,mempool-page-size = <4096>;
|
||||
};
|
||||
/* 64K Page Pool configuration */
|
||||
qcom,gpu-mempool@1 {
|
||||
reg = <1>;
|
||||
qcom,mempool-page-size = <65536>;
|
||||
qcom,mempool-allocate;
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* Speed-bin zero is default speed bin.
|
||||
* For rest of the speed bins, speed-bin value
|
||||
* is calulated as FMAX/4.8 MHz round up to zero
|
||||
* decimal places.
|
||||
*/
|
||||
qcom,gpu-pwrlevel-bins {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
compatible="qcom,gpu-pwrlevel-bins";
|
||||
|
||||
qcom,gpu-pwrlevels-0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,speed-bin = <0>;
|
||||
|
||||
qcom,initial-pwrlevel = <6>;
|
||||
|
||||
/* TURBO */
|
||||
qcom,gpu-pwrlevel@0 {
|
||||
reg = <0>;
|
||||
qcom,gpu-freq = <750000000>;
|
||||
qcom,bus-freq = <13>;
|
||||
qcom,bus-min = <12>;
|
||||
qcom,bus-max = <13>;
|
||||
};
|
||||
|
||||
/* TURBO */
|
||||
qcom,gpu-pwrlevel@1 {
|
||||
reg = <1>;
|
||||
qcom,gpu-freq = <700000000>;
|
||||
qcom,bus-freq = <11>;
|
||||
qcom,bus-min = <11>;
|
||||
qcom,bus-max = <13>;
|
||||
};
|
||||
|
||||
/* NOM_L1 */
|
||||
qcom,gpu-pwrlevel@2 {
|
||||
reg = <2>;
|
||||
qcom,gpu-freq = <647000000>;
|
||||
qcom,bus-freq = <11>;
|
||||
qcom,bus-min = <10>;
|
||||
qcom,bus-max = <12>;
|
||||
};
|
||||
|
||||
/* NOM */
|
||||
qcom,gpu-pwrlevel@3 {
|
||||
reg = <3>;
|
||||
qcom,gpu-freq = <588000000>;
|
||||
qcom,bus-freq = <10>;
|
||||
qcom,bus-min = <9>;
|
||||
qcom,bus-max = <12>;
|
||||
};
|
||||
|
||||
/* SVS_L1 */
|
||||
qcom,gpu-pwrlevel@4 {
|
||||
reg = <4>;
|
||||
qcom,gpu-freq = <465000000>;
|
||||
qcom,bus-freq = <9>;
|
||||
qcom,bus-min = <8>;
|
||||
qcom,bus-max = <11>;
|
||||
};
|
||||
|
||||
/* SVS */
|
||||
qcom,gpu-pwrlevel@5 {
|
||||
reg = <5>;
|
||||
qcom,gpu-freq = <370000000>;
|
||||
qcom,bus-freq = <8>;
|
||||
qcom,bus-min = <6>;
|
||||
qcom,bus-max = <9>;
|
||||
};
|
||||
|
||||
/* Low SVS */
|
||||
qcom,gpu-pwrlevel@6 {
|
||||
reg = <6>;
|
||||
qcom,gpu-freq = <266000000>;
|
||||
qcom,bus-freq = <3>;
|
||||
qcom,bus-min = <3>;
|
||||
qcom,bus-max = <6>;
|
||||
};
|
||||
|
||||
/* Min SVS */
|
||||
qcom,gpu-pwrlevel@7 {
|
||||
reg = <7>;
|
||||
qcom,gpu-freq = <160000000>;
|
||||
qcom,bus-freq = <3>;
|
||||
qcom,bus-min = <3>;
|
||||
qcom,bus-max = <5>;
|
||||
};
|
||||
|
||||
/* XO */
|
||||
qcom,gpu-pwrlevel@8 {
|
||||
reg = <8>;
|
||||
qcom,gpu-freq = <19200000>;
|
||||
qcom,bus-freq = <0>;
|
||||
qcom,bus-min = <0>;
|
||||
qcom,bus-max = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,gpu-pwrlevels-1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,speed-bin = <157>;
|
||||
|
||||
qcom,initial-pwrlevel = <6>;
|
||||
|
||||
/* TURBO */
|
||||
qcom,gpu-pwrlevel@0 {
|
||||
reg = <0>;
|
||||
qcom,gpu-freq = <750000000>;
|
||||
qcom,bus-freq = <13>;
|
||||
qcom,bus-min = <12>;
|
||||
qcom,bus-max = <13>;
|
||||
};
|
||||
|
||||
/* TURBO */
|
||||
qcom,gpu-pwrlevel@1 {
|
||||
reg = <1>;
|
||||
qcom,gpu-freq = <700000000>;
|
||||
qcom,bus-freq = <11>;
|
||||
qcom,bus-min = <11>;
|
||||
qcom,bus-max = <13>;
|
||||
};
|
||||
|
||||
/* NOM_L1 */
|
||||
qcom,gpu-pwrlevel@2 {
|
||||
reg = <2>;
|
||||
qcom,gpu-freq = <647000000>;
|
||||
qcom,bus-freq = <11>;
|
||||
qcom,bus-min = <10>;
|
||||
qcom,bus-max = <12>;
|
||||
};
|
||||
|
||||
/* NOM */
|
||||
qcom,gpu-pwrlevel@3 {
|
||||
reg = <3>;
|
||||
qcom,gpu-freq = <588000000>;
|
||||
qcom,bus-freq = <10>;
|
||||
qcom,bus-min = <9>;
|
||||
qcom,bus-max = <12>;
|
||||
};
|
||||
|
||||
/* SVS_L1 */
|
||||
qcom,gpu-pwrlevel@4 {
|
||||
reg = <4>;
|
||||
qcom,gpu-freq = <465000000>;
|
||||
qcom,bus-freq = <9>;
|
||||
qcom,bus-min = <8>;
|
||||
qcom,bus-max = <11>;
|
||||
};
|
||||
|
||||
/* SVS */
|
||||
qcom,gpu-pwrlevel@5 {
|
||||
reg = <5>;
|
||||
qcom,gpu-freq = <370000000>;
|
||||
qcom,bus-freq = <8>;
|
||||
qcom,bus-min = <6>;
|
||||
qcom,bus-max = <9>;
|
||||
};
|
||||
|
||||
/* Low SVS */
|
||||
qcom,gpu-pwrlevel@6 {
|
||||
reg = <6>;
|
||||
qcom,gpu-freq = <266000000>;
|
||||
qcom,bus-freq = <3>;
|
||||
qcom,bus-min = <3>;
|
||||
qcom,bus-max = <6>;
|
||||
};
|
||||
|
||||
/* Min SVS */
|
||||
qcom,gpu-pwrlevel@7 {
|
||||
reg = <7>;
|
||||
qcom,gpu-freq = <160000000>;
|
||||
qcom,bus-freq = <3>;
|
||||
qcom,bus-min = <3>;
|
||||
qcom,bus-max = <5>;
|
||||
};
|
||||
|
||||
/* XO */
|
||||
qcom,gpu-pwrlevel@8 {
|
||||
reg = <8>;
|
||||
qcom,gpu-freq = <19200000>;
|
||||
qcom,bus-freq = <0>;
|
||||
qcom,bus-min = <0>;
|
||||
qcom,bus-max = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,gpu-pwrlevels-2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,speed-bin = <146>;
|
||||
|
||||
qcom,initial-pwrlevel = <5>;
|
||||
|
||||
/* TURBO */
|
||||
qcom,gpu-pwrlevel@0 {
|
||||
reg = <0>;
|
||||
qcom,gpu-freq = <700000000>;
|
||||
qcom,bus-freq = <13>;
|
||||
qcom,bus-min = <12>;
|
||||
qcom,bus-max = <13>;
|
||||
};
|
||||
|
||||
/* NOM_L1 */
|
||||
qcom,gpu-pwrlevel@1 {
|
||||
reg = <1>;
|
||||
qcom,gpu-freq = <647000000>;
|
||||
qcom,bus-freq = <11>;
|
||||
qcom,bus-min = <10>;
|
||||
qcom,bus-max = <12>;
|
||||
};
|
||||
|
||||
/* NOM */
|
||||
qcom,gpu-pwrlevel@2 {
|
||||
reg = <2>;
|
||||
qcom,gpu-freq = <588000000>;
|
||||
qcom,bus-freq = <10>;
|
||||
qcom,bus-min = <9>;
|
||||
qcom,bus-max = <12>;
|
||||
};
|
||||
|
||||
/* SVS_L1 */
|
||||
qcom,gpu-pwrlevel@3 {
|
||||
reg = <3>;
|
||||
qcom,gpu-freq = <465000000>;
|
||||
qcom,bus-freq = <9>;
|
||||
qcom,bus-min = <8>;
|
||||
qcom,bus-max = <11>;
|
||||
};
|
||||
|
||||
/* SVS */
|
||||
qcom,gpu-pwrlevel@4 {
|
||||
reg = <4>;
|
||||
qcom,gpu-freq = <370000000>;
|
||||
qcom,bus-freq = <8>;
|
||||
qcom,bus-min = <6>;
|
||||
qcom,bus-max = <9>;
|
||||
};
|
||||
|
||||
/* Low SVS */
|
||||
qcom,gpu-pwrlevel@5 {
|
||||
reg = <5>;
|
||||
qcom,gpu-freq = <266000000>;
|
||||
qcom,bus-freq = <3>;
|
||||
qcom,bus-min = <3>;
|
||||
qcom,bus-max = <6>;
|
||||
};
|
||||
|
||||
/* Min SVS */
|
||||
qcom,gpu-pwrlevel@6 {
|
||||
reg = <6>;
|
||||
qcom,gpu-freq = <160000000>;
|
||||
qcom,bus-freq = <3>;
|
||||
qcom,bus-min = <3>;
|
||||
qcom,bus-max = <5>;
|
||||
};
|
||||
|
||||
/* XO */
|
||||
qcom,gpu-pwrlevel@7 {
|
||||
reg = <7>;
|
||||
qcom,gpu-freq = <19200000>;
|
||||
qcom,bus-freq = <0>;
|
||||
qcom,bus-min = <0>;
|
||||
qcom,bus-max = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,gpu-pwrlevels-3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,speed-bin = <135>;
|
||||
|
||||
qcom,initial-pwrlevel = <4>;
|
||||
|
||||
/* NOM_L1 */
|
||||
qcom,gpu-pwrlevel@0 {
|
||||
reg = <0>;
|
||||
qcom,gpu-freq = <647000000>;
|
||||
qcom,bus-freq = <13>;
|
||||
qcom,bus-min = <12>;
|
||||
qcom,bus-max = <13>;
|
||||
};
|
||||
|
||||
/* NOM */
|
||||
qcom,gpu-pwrlevel@1 {
|
||||
reg = <1>;
|
||||
qcom,gpu-freq = <588000000>;
|
||||
qcom,bus-freq = <10>;
|
||||
qcom,bus-min = <9>;
|
||||
qcom,bus-max = <12>;
|
||||
};
|
||||
|
||||
/* SVS_L1 */
|
||||
qcom,gpu-pwrlevel@2 {
|
||||
reg = <2>;
|
||||
qcom,gpu-freq = <465000000>;
|
||||
qcom,bus-freq = <9>;
|
||||
qcom,bus-min = <8>;
|
||||
qcom,bus-max = <11>;
|
||||
};
|
||||
|
||||
/* SVS */
|
||||
qcom,gpu-pwrlevel@3 {
|
||||
reg = <3>;
|
||||
qcom,gpu-freq = <370000000>;
|
||||
qcom,bus-freq = <8>;
|
||||
qcom,bus-min = <6>;
|
||||
qcom,bus-max = <9>;
|
||||
};
|
||||
|
||||
/* Low SVS */
|
||||
qcom,gpu-pwrlevel@4 {
|
||||
reg = <4>;
|
||||
qcom,gpu-freq = <266000000>;
|
||||
qcom,bus-freq = <3>;
|
||||
qcom,bus-min = <3>;
|
||||
qcom,bus-max = <6>;
|
||||
};
|
||||
|
||||
/* Min SVS */
|
||||
qcom,gpu-pwrlevel@5 {
|
||||
reg = <5>;
|
||||
qcom,gpu-freq = <160000000>;
|
||||
qcom,bus-freq = <3>;
|
||||
qcom,bus-min = <3>;
|
||||
qcom,bus-max = <5>;
|
||||
};
|
||||
|
||||
/* XO */
|
||||
qcom,gpu-pwrlevel@6 {
|
||||
reg = <6>;
|
||||
qcom,gpu-freq = <19200000>;
|
||||
qcom,bus-freq = <0>;
|
||||
qcom,bus-min = <0>;
|
||||
qcom,bus-max = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,gpu-pwrlevels-4 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,speed-bin = <78>;
|
||||
|
||||
qcom,initial-pwrlevel = <1>;
|
||||
|
||||
/* SVS */
|
||||
qcom,gpu-pwrlevel@0 {
|
||||
reg = <0>;
|
||||
qcom,gpu-freq = <370000000>;
|
||||
qcom,bus-freq = <8>;
|
||||
qcom,bus-min = <6>;
|
||||
qcom,bus-max = <11>;
|
||||
};
|
||||
|
||||
/* Low SVS */
|
||||
qcom,gpu-pwrlevel@1 {
|
||||
reg = <1>;
|
||||
qcom,gpu-freq = <266000000>;
|
||||
qcom,bus-freq = <3>;
|
||||
qcom,bus-min = <3>;
|
||||
qcom,bus-max = <6>;
|
||||
};
|
||||
|
||||
/* Min SVS */
|
||||
qcom,gpu-pwrlevel@2 {
|
||||
reg = <2>;
|
||||
qcom,gpu-freq = <160000000>;
|
||||
qcom,bus-freq = <3>;
|
||||
qcom,bus-min = <3>;
|
||||
qcom,bus-max = <5>;
|
||||
};
|
||||
|
||||
/* XO */
|
||||
qcom,gpu-pwrlevel@3 {
|
||||
reg = <3>;
|
||||
qcom,gpu-freq = <19200000>;
|
||||
qcom,bus-freq = <0>;
|
||||
qcom,bus-min = <0>;
|
||||
qcom,bus-max = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,gpu-pwrlevels-5 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,speed-bin = <90>;
|
||||
|
||||
qcom,initial-pwrlevel = <2>;
|
||||
|
||||
/* SVS_L1 */
|
||||
qcom,gpu-pwrlevel@0 {
|
||||
reg = <0>;
|
||||
qcom,gpu-freq = <430000000>;
|
||||
qcom,bus-freq = <11>;
|
||||
qcom,bus-min = <10>;
|
||||
qcom,bus-max = <11>;
|
||||
};
|
||||
|
||||
/* SVS */
|
||||
qcom,gpu-pwrlevel@1 {
|
||||
reg = <1>;
|
||||
qcom,gpu-freq = <370000000>;
|
||||
qcom,bus-freq = <8>;
|
||||
qcom,bus-min = <6>;
|
||||
qcom,bus-max = <11>;
|
||||
};
|
||||
|
||||
/* Low SVS */
|
||||
qcom,gpu-pwrlevel@2 {
|
||||
reg = <2>;
|
||||
qcom,gpu-freq = <266000000>;
|
||||
qcom,bus-freq = <3>;
|
||||
qcom,bus-min = <3>;
|
||||
qcom,bus-max = <6>;
|
||||
};
|
||||
|
||||
/* Min SVS */
|
||||
qcom,gpu-pwrlevel@3 {
|
||||
reg = <3>;
|
||||
qcom,gpu-freq = <160000000>;
|
||||
qcom,bus-freq = <3>;
|
||||
qcom,bus-min = <3>;
|
||||
qcom,bus-max = <5>;
|
||||
};
|
||||
|
||||
/* XO */
|
||||
qcom,gpu-pwrlevel@4 {
|
||||
reg = <4>;
|
||||
qcom,gpu-freq = <19200000>;
|
||||
qcom,bus-freq = <0>;
|
||||
qcom,bus-min = <0>;
|
||||
qcom,bus-max = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,gpu-pwrlevels-6 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,speed-bin = <122>;
|
||||
|
||||
qcom,initial-pwrlevel = <3>;
|
||||
|
||||
/* NOM */
|
||||
qcom,gpu-pwrlevel@0 {
|
||||
reg = <0>;
|
||||
qcom,gpu-freq = <585000000>;
|
||||
qcom,bus-freq = <12>;
|
||||
qcom,bus-min = <11>;
|
||||
qcom,bus-max = <12>;
|
||||
};
|
||||
|
||||
/* SVS_L1 */
|
||||
qcom,gpu-pwrlevel@1 {
|
||||
reg = <1>;
|
||||
qcom,gpu-freq = <465000000>;
|
||||
qcom,bus-freq = <9>;
|
||||
qcom,bus-min = <8>;
|
||||
qcom,bus-max = <11>;
|
||||
};
|
||||
|
||||
/* SVS */
|
||||
qcom,gpu-pwrlevel@2 {
|
||||
reg = <2>;
|
||||
qcom,gpu-freq = <370000000>;
|
||||
qcom,bus-freq = <8>;
|
||||
qcom,bus-min = <6>;
|
||||
qcom,bus-max = <9>;
|
||||
};
|
||||
|
||||
/* Low SVS */
|
||||
qcom,gpu-pwrlevel@3 {
|
||||
reg = <3>;
|
||||
qcom,gpu-freq = <266000000>;
|
||||
qcom,bus-freq = <3>;
|
||||
qcom,bus-min = <3>;
|
||||
qcom,bus-max = <6>;
|
||||
};
|
||||
|
||||
/* Min SVS */
|
||||
qcom,gpu-pwrlevel@4 {
|
||||
reg = <4>;
|
||||
qcom,gpu-freq = <160000000>;
|
||||
qcom,bus-freq = <3>;
|
||||
qcom,bus-min = <3>;
|
||||
qcom,bus-max = <5>;
|
||||
};
|
||||
|
||||
/* XO */
|
||||
qcom,gpu-pwrlevel@5 {
|
||||
reg = <5>;
|
||||
qcom,gpu-freq = <19200000>;
|
||||
qcom,bus-freq = <0>;
|
||||
qcom,bus-min = <0>;
|
||||
qcom,bus-max = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
kgsl_msm_iommu: qcom,kgsl-iommu {
|
||||
compatible = "qcom,kgsl-smmu-v2";
|
||||
|
||||
reg = <0x05040000 0x10000>;
|
||||
qcom,protect = <0x40000 0x10000>;
|
||||
qcom,micro-mmu-control = <0x6000>;
|
||||
|
||||
clocks =<&clock_gcc GCC_GPU_CFG_AHB_CLK>,
|
||||
<&clock_gcc GCC_GPU_BIMC_GFX_CLK>,
|
||||
<&clock_gcc GCC_BIMC_GFX_CLK>;
|
||||
|
||||
clock-names = "iface_clk", "mem_clk", "alt_mem_iface_clk";
|
||||
|
||||
qcom,secure_align_mask = <0xfff>;
|
||||
qcom,retention;
|
||||
qcom,hyp_secure_alloc;
|
||||
|
||||
gfx3d_user: gfx3d_user {
|
||||
compatible = "qcom,smmu-kgsl-cb";
|
||||
label = "gfx3d_user";
|
||||
iommus = <&kgsl_smmu 0>;
|
||||
qcom,gpu-offset = <0x48000>;
|
||||
};
|
||||
|
||||
gfx3d_secure: gfx3d_secure {
|
||||
compatible = "qcom,smmu-kgsl-cb";
|
||||
iommus = <&kgsl_smmu 2>;
|
||||
};
|
||||
};
|
||||
};
|
28
arch/arm64/boot/dts/qcom/sdm660-headset-jacktype-no-cdp.dts
Normal file
28
arch/arm64/boot/dts/qcom/sdm660-headset-jacktype-no-cdp.dts
Normal file
@ -0,0 +1,28 @@
|
||||
/* Copyright (c) 2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-cdp.dtsi"
|
||||
#include "sdm660-external-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L, Headset
|
||||
Jacktype NO, CDP";
|
||||
compatible = "qcom,sdm660-cdp", "qcom,sdm660", "qcom,cdp";
|
||||
qcom,board-id = <1 2>;
|
||||
qcom,pmic-id = <0x0001001b 0x0101011a 0x0 0x0>,
|
||||
<0x0001001b 0x0201011a 0x0 0x0>,
|
||||
<0x0001001b 0x0102001a 0x0 0x0>;
|
||||
};
|
27
arch/arm64/boot/dts/qcom/sdm660-headset-jacktype-no-rcm.dts
Normal file
27
arch/arm64/boot/dts/qcom/sdm660-headset-jacktype-no-rcm.dts
Normal file
@ -0,0 +1,27 @@
|
||||
/* Copyright (c) 2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-cdp.dtsi"
|
||||
#include "sdm660-external-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L, Headset
|
||||
Jacktype NO, RCM";
|
||||
compatible = "qcom,sdm660-cdp", "qcom,sdm660", "qcom,cdp";
|
||||
qcom,board-id = <21 2>;
|
||||
qcom,pmic-id = <0x0001001b 0x0101011a 0x0 0x0>,
|
||||
<0x0001001b 0x0201011a 0x0 0x0>;
|
||||
};
|
28
arch/arm64/boot/dts/qcom/sdm660-internal-codec-cdp.dts
Normal file
28
arch/arm64/boot/dts/qcom/sdm660-internal-codec-cdp.dts
Normal file
@ -0,0 +1,28 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-cdp.dtsi"
|
||||
#include "sdm660-internal-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L Int. Audio
|
||||
Codec CDP";
|
||||
compatible = "qcom,sdm660-cdp", "qcom,sdm660", "qcom,cdp";
|
||||
qcom,board-id = <1 1>;
|
||||
qcom,pmic-id = <0x0001001b 0x0101011a 0x0 0x0>,
|
||||
<0x0001001b 0x0201011a 0x0 0x0>,
|
||||
<0x0001001b 0x0102001a 0x0 0x0>;
|
||||
};
|
32
arch/arm64/boot/dts/qcom/sdm660-internal-codec-mtp.dts
Normal file
32
arch/arm64/boot/dts/qcom/sdm660-internal-codec-mtp.dts
Normal file
@ -0,0 +1,32 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-mtp.dtsi"
|
||||
#include "sdm660-internal-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L Int. Audio
|
||||
Codec MTP";
|
||||
compatible = "qcom,sdm660-mtp", "qcom,sdm660", "qcom,mtp";
|
||||
qcom,board-id = <8 1>;
|
||||
qcom,pmic-id = <0x0001001b 0x0101011a 0x0 0x0>,
|
||||
<0x0001001b 0x0201011a 0x0 0x0>,
|
||||
<0x0001001b 0x0102001a 0x0 0x0>;
|
||||
};
|
||||
|
||||
&int_codec {
|
||||
qcom,model = "sdm660-snd-card-mtp";
|
||||
};
|
@ -0,0 +1,29 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-cdp.dtsi"
|
||||
#include "msm-pm660a.dtsi"
|
||||
#include "sdm660-internal-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660A Int. Audio
|
||||
Codec CDP";
|
||||
compatible = "qcom,sdm660-cdp", "qcom,sdm660", "qcom,cdp";
|
||||
qcom,board-id = <1 1>;
|
||||
qcom,pmic-id = <0x0001001b 0x0001011a 0x0 0x0>,
|
||||
<0x0001001b 0x0002001a 0x0 0x0>,
|
||||
<0x0001001b 0x0202001a 0x0 0x0>;
|
||||
};
|
@ -0,0 +1,34 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-mtp.dtsi"
|
||||
#include "msm-pm660a.dtsi"
|
||||
#include "sdm660-internal-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660A Int. Audio
|
||||
Codec MTP";
|
||||
compatible = "qcom,sdm660-mtp", "qcom,sdm660", "qcom,mtp";
|
||||
qcom,board-id = <8 1>;
|
||||
qcom,pmic-id = <0x0001001b 0x0001011a 0x0 0x0>,
|
||||
<0x0001001b 0x0002001a 0x0 0x0>,
|
||||
<0x0001001b 0x0202001a 0x0 0x0>;
|
||||
};
|
||||
|
||||
&int_codec {
|
||||
qcom,model = "sdm660-snd-card-mtp";
|
||||
status = "okay";
|
||||
};
|
@ -0,0 +1,27 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-cdp.dtsi"
|
||||
#include "msm-pm660a.dtsi"
|
||||
#include "sdm660-internal-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660A Int. Audio
|
||||
Codec RCM";
|
||||
compatible = "qcom,sdm660-cdp", "qcom,sdm660", "qcom,cdp";
|
||||
qcom,board-id = <21 1>;
|
||||
qcom,pmic-id = <0x0001001b 0x0001011a 0x0 0x0>;
|
||||
};
|
27
arch/arm64/boot/dts/qcom/sdm660-internal-codec-rcm.dts
Normal file
27
arch/arm64/boot/dts/qcom/sdm660-internal-codec-rcm.dts
Normal file
@ -0,0 +1,27 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-cdp.dtsi"
|
||||
#include "sdm660-internal-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L Int. Audio
|
||||
Codec RCM";
|
||||
compatible = "qcom,sdm660-cdp", "qcom,sdm660", "qcom,cdp";
|
||||
qcom,board-id = <21 1>;
|
||||
qcom,pmic-id = <0x0001001b 0x0101011a 0x0 0x0>,
|
||||
<0x0001001b 0x0201011a 0x0 0x0>;
|
||||
};
|
75
arch/arm64/boot/dts/qcom/sdm660-internal-codec.dtsi
Normal file
75
arch/arm64/boot/dts/qcom/sdm660-internal-codec.dtsi
Normal file
@ -0,0 +1,75 @@
|
||||
/* Copyright (c) 2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&slim_aud {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&dai_slim {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&wcd9335 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&wcd934x_cdc {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&clock_audio {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&wcd_rst_gpio {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&wcd9xxx_intc {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&tasha_snd {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&tavil_snd {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&spi_7 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&wdsp_mgr {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&wdsp_glink {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&glink_spi_xprt_wdsp {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&int_codec {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pmic_analog_codec {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&msm_sdw_codec {
|
||||
status = "okay";
|
||||
};
|
47
arch/arm64/boot/dts/qcom/sdm660-ion.dtsi
Normal file
47
arch/arm64/boot/dts/qcom/sdm660-ion.dtsi
Normal file
@ -0,0 +1,47 @@
|
||||
/* Copyright (c) 2016, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&soc {
|
||||
qcom,ion {
|
||||
compatible = "qcom,msm-ion";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
system_heap: qcom,ion-heap@25 {
|
||||
reg = <25>;
|
||||
qcom,ion-heap-type = "SYSTEM";
|
||||
};
|
||||
|
||||
qcom,ion-heap@22 { /* ADSP HEAP */
|
||||
reg = <22>;
|
||||
memory-region = <&adsp_mem>;
|
||||
qcom,ion-heap-type = "DMA";
|
||||
};
|
||||
|
||||
qcom,ion-heap@27 { /* QSEECOM HEAP */
|
||||
reg = <27>;
|
||||
memory-region = <&qseecom_mem>;
|
||||
qcom,ion-heap-type = "DMA";
|
||||
};
|
||||
|
||||
qcom,ion-heap@10 { /* SECURE DISPLAY HEAP */
|
||||
reg = <10>;
|
||||
memory-region = <&secure_display_memory>;
|
||||
qcom,ion-heap-type = "HYP_CMA";
|
||||
};
|
||||
|
||||
qcom,ion-heap@9 {
|
||||
reg = <9>;
|
||||
qcom,ion-heap-type = "SYSTEM_SECURE";
|
||||
};
|
||||
};
|
||||
};
|
212
arch/arm64/boot/dts/qcom/sdm660-lpi.dtsi
Normal file
212
arch/arm64/boot/dts/qcom/sdm660-lpi.dtsi
Normal file
@ -0,0 +1,212 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&soc {
|
||||
lpi_tlmm: lpi_pinctrl@15070000 {
|
||||
compatible = "qcom,lpi-pinctrl";
|
||||
reg = <0x15070000 0x0>;
|
||||
qcom,num-gpios = <32>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
lpi_mclk0_active: lpi_mclk0_active {
|
||||
mux {
|
||||
pins = "gpio18";
|
||||
function = "func2";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio18";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
lpi_mclk0_sleep: lpi_mclk0_sleep {
|
||||
mux {
|
||||
pins = "gpio18";
|
||||
function = "func2";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio18";
|
||||
drive-strength = <2>;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
||||
cdc_pdm_gpios_active: cdc_pdm_gpios_active {
|
||||
mux {
|
||||
pins = "gpio18", "gpio19",
|
||||
"gpio21", "gpio23",
|
||||
"gpio25";
|
||||
function = "func1";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio18", "gpio19",
|
||||
"gpio21", "gpio23",
|
||||
"gpio25";
|
||||
drive-strength = <8>;
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
|
||||
cdc_pdm_gpios_sleep: cdc_pdm_gpios_sleep {
|
||||
mux {
|
||||
pins = "gpio18", "gpio19",
|
||||
"gpio21", "gpio23",
|
||||
"gpio25";
|
||||
function = "func1";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio18", "gpio19",
|
||||
"gpio21", "gpio23",
|
||||
"gpio25";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
output-low;
|
||||
};
|
||||
};
|
||||
|
||||
cdc_pdm_2_gpios_active: cdc_pdm_2_gpios_active {
|
||||
mux {
|
||||
pins = "gpio20";
|
||||
function = "func1";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio20";
|
||||
drive-strength = <8>;
|
||||
};
|
||||
};
|
||||
|
||||
cdc_pdm_2_gpios_sleep: cdc_pdm_2_gpios_sleep {
|
||||
mux {
|
||||
pins = "gpio20";
|
||||
function = "func1";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio20";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
cdc_comp_gpios_active: cdc_pdm_comp_gpios_active {
|
||||
mux {
|
||||
pins = "gpio22", "gpio24";
|
||||
function = "func1";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio22", "gpio24";
|
||||
drive-strength = <8>;
|
||||
};
|
||||
};
|
||||
|
||||
cdc_comp_gpios_sleep: cdc_pdm_comp_gpios_sleep {
|
||||
mux {
|
||||
pins = "gpio22", "gpio24";
|
||||
function = "func1";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio22", "gpio24";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
lpi_cdc_reset_active: lpi_cdc_reset_active {
|
||||
mux {
|
||||
pins = "gpio24";
|
||||
function = "gpio";
|
||||
};
|
||||
config {
|
||||
pins = "gpio24";
|
||||
drive-strength = <16>;
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
|
||||
lpi_cdc_reset_sleep: lpi_cdc_reset_sleep {
|
||||
mux {
|
||||
pins = "gpio24";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio24";
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
output-low;
|
||||
};
|
||||
};
|
||||
|
||||
cdc_dmic12_gpios_active: dmic12_gpios_active {
|
||||
mux {
|
||||
pins = "gpio26", "gpio28";
|
||||
function = "func1";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio26", "gpio28";
|
||||
drive-strength = <8>;
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
|
||||
cdc_dmic12_gpios_sleep: dmic12_gpios_sleep {
|
||||
mux {
|
||||
pins = "gpio26", "gpio28";
|
||||
function = "func1";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio26", "gpio28";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
output-low;
|
||||
};
|
||||
};
|
||||
|
||||
cdc_dmic34_gpios_active: dmic34_gpios_active {
|
||||
mux {
|
||||
pins = "gpio27", "gpio29";
|
||||
function = "func1";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio27", "gpio29";
|
||||
drive-strength = <8>;
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
cdc_dmic34_gpios_sleep: dmic34_gpios_sleep {
|
||||
mux {
|
||||
pins = "gpio27", "gpio29";
|
||||
function = "func1";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio27", "gpio29";
|
||||
drive-strength = <2>;
|
||||
pull-down;
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
364
arch/arm64/boot/dts/qcom/sdm660-mdss-panels.dtsi
Normal file
364
arch/arm64/boot/dts/qcom/sdm660-mdss-panels.dtsi
Normal file
@ -0,0 +1,364 @@
|
||||
/* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include "dsi-panel-sim-video.dtsi"
|
||||
#include "dsi-panel-sim-dualmipi-video.dtsi"
|
||||
#include "dsi-panel-nt35597-truly-dualmipi-wqxga-video.dtsi"
|
||||
#include "dsi-panel-nt35597-truly-dualmipi-wqxga-cmd.dtsi"
|
||||
#include "dsi-panel-nt36850-truly-dualmipi-wqhd-cmd.dtsi"
|
||||
#include "dsi-panel-sharp-dualmipi-wqxga-video.dtsi"
|
||||
#include "dsi-panel-nt35597-truly-dsc-wqxga-video.dtsi"
|
||||
#include "dsi-panel-nt35597-truly-dsc-wqxga-cmd.dtsi"
|
||||
#include "dsi-panel-nt35597-dualmipi-wqxga-video.dtsi"
|
||||
#include "dsi-panel-nt35597-dualmipi-wqxga-cmd.dtsi"
|
||||
#include "dsi-panel-nt35695b-truly-fhd-video.dtsi"
|
||||
#include "dsi-panel-nt35695b-truly-fhd-cmd.dtsi"
|
||||
#include "dsi-panel-truly-1080p-cmd.dtsi"
|
||||
#include "dsi-panel-truly-1080p-video.dtsi"
|
||||
#include "dsi-panel-rm67195-amoled-fhd-cmd.dtsi"
|
||||
#include "dsi-panel-lgd-incell-sw49106-fhd-video.dtsi"
|
||||
#include "dsi-panel-hx8399c-fhd-plus-video.dtsi"
|
||||
|
||||
&soc {
|
||||
dsi_panel_pwr_supply: dsi_panel_pwr_supply {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,panel-supply-entry@0 {
|
||||
reg = <0>;
|
||||
qcom,supply-name = "wqhd-vddio";
|
||||
qcom,supply-min-voltage = <1800000>;
|
||||
qcom,supply-max-voltage = <1950000>;
|
||||
qcom,supply-enable-load = <32000>;
|
||||
qcom,supply-disable-load = <80>;
|
||||
};
|
||||
|
||||
qcom,panel-supply-entry@1 {
|
||||
reg = <1>;
|
||||
qcom,supply-name = "lab";
|
||||
qcom,supply-min-voltage = <4600000>;
|
||||
qcom,supply-max-voltage = <6000000>;
|
||||
qcom,supply-enable-load = <100000>;
|
||||
qcom,supply-disable-load = <100>;
|
||||
};
|
||||
|
||||
qcom,panel-supply-entry@2 {
|
||||
reg = <2>;
|
||||
qcom,supply-name = "ibb";
|
||||
qcom,supply-min-voltage = <4600000>;
|
||||
qcom,supply-max-voltage = <6000000>;
|
||||
qcom,supply-enable-load = <100000>;
|
||||
qcom,supply-disable-load = <100>;
|
||||
qcom,supply-post-on-sleep = <10>;
|
||||
};
|
||||
};
|
||||
|
||||
dsi_panel_pwr_supply_labibb_amoled:
|
||||
dsi_panel_pwr_supply_labibb_amoled {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,panel-supply-entry@0 {
|
||||
reg = <0>;
|
||||
qcom,supply-name = "wqhd-vddio";
|
||||
qcom,supply-min-voltage = <1800000>;
|
||||
qcom,supply-max-voltage = <1950000>;
|
||||
qcom,supply-enable-load = <32000>;
|
||||
qcom,supply-disable-load = <80>;
|
||||
};
|
||||
|
||||
qcom,panel-supply-entry@1 {
|
||||
reg = <1>;
|
||||
qcom,supply-name = "vdda-3p3";
|
||||
qcom,supply-min-voltage = <3300000>;
|
||||
qcom,supply-max-voltage = <3300000>;
|
||||
qcom,supply-enable-load = <13200>;
|
||||
qcom,supply-disable-load = <80>;
|
||||
};
|
||||
|
||||
qcom,panel-supply-entry@2 {
|
||||
reg = <2>;
|
||||
qcom,supply-name = "lab";
|
||||
qcom,supply-min-voltage = <4600000>;
|
||||
qcom,supply-max-voltage = <6100000>;
|
||||
qcom,supply-enable-load = <100000>;
|
||||
qcom,supply-disable-load = <100>;
|
||||
};
|
||||
|
||||
qcom,panel-supply-entry@3 {
|
||||
reg = <3>;
|
||||
qcom,supply-name = "ibb";
|
||||
qcom,supply-min-voltage = <4000000>;
|
||||
qcom,supply-max-voltage = <6300000>;
|
||||
qcom,supply-enable-load = <100000>;
|
||||
qcom,supply-disable-load = <100>;
|
||||
};
|
||||
|
||||
qcom,panel-supply-entry@4 {
|
||||
reg = <4>;
|
||||
qcom,supply-name = "oledb";
|
||||
qcom,supply-min-voltage = <5000000>;
|
||||
qcom,supply-max-voltage = <8100000>;
|
||||
qcom,supply-enable-load = <100000>;
|
||||
qcom,supply-disable-load = <100>;
|
||||
};
|
||||
};
|
||||
|
||||
dsi_panel_pwr_supply_no_labibb: dsi_panel_pwr_supply_no_labibb {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,panel-supply-entry@0 {
|
||||
reg = <0>;
|
||||
qcom,supply-name = "wqhd-vddio";
|
||||
qcom,supply-min-voltage = <1800000>;
|
||||
qcom,supply-max-voltage = <1950000>;
|
||||
qcom,supply-enable-load = <32000>;
|
||||
qcom,supply-disable-load = <80>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&dsi_dual_nt35597_truly_video {
|
||||
qcom,mdss-dsi-panel-timings-phy-v2 = [23 1e 07 08 05 03 04 a0
|
||||
23 1e 07 08 05 03 04 a0
|
||||
23 1e 07 08 05 03 04 a0
|
||||
23 1e 07 08 05 03 04 a0
|
||||
23 18 07 08 04 03 04 a0];
|
||||
qcom,esd-check-enabled;
|
||||
qcom,mdss-dsi-panel-status-check-mode = "reg_read";
|
||||
qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a];
|
||||
qcom,mdss-dsi-panel-status-command-state = "dsi_hs_mode";
|
||||
qcom,mdss-dsi-panel-status-value = <0x9c>;
|
||||
qcom,mdss-dsi-panel-on-check-value = <0x9c>;
|
||||
qcom,mdss-dsi-panel-status-read-length = <1>;
|
||||
qcom,mdss-dsi-panel-max-error-count = <3>;
|
||||
qcom,mdss-dsi-min-refresh-rate = <53>;
|
||||
qcom,mdss-dsi-max-refresh-rate = <60>;
|
||||
qcom,mdss-dsi-pan-enable-dynamic-bitclk;
|
||||
qcom,mdss-dsi-dynamic-bitclk_freq = <798240576 801594528 804948480
|
||||
808302432 811656384>;
|
||||
qcom,mdss-dsi-pan-enable-dynamic-fps;
|
||||
qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp";
|
||||
};
|
||||
|
||||
&dsi_dual_nt35597_truly_cmd {
|
||||
qcom,mdss-dsi-panel-timings-phy-v2 = [23 1e 07 08 05 03 04 a0
|
||||
23 1e 07 08 05 03 04 a0
|
||||
23 1e 07 08 05 03 04 a0
|
||||
23 1e 07 08 05 03 04 a0
|
||||
23 18 07 08 04 03 04 a0];
|
||||
qcom,esd-check-enabled;
|
||||
qcom,mdss-dsi-panel-status-check-mode = "reg_read";
|
||||
qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a];
|
||||
qcom,mdss-dsi-panel-status-command-state = "dsi_hs_mode";
|
||||
qcom,mdss-dsi-panel-status-value = <0x9c>;
|
||||
qcom,mdss-dsi-panel-on-check-value = <0x9c>;
|
||||
qcom,mdss-dsi-panel-status-read-length = <1>;
|
||||
qcom,mdss-dsi-panel-max-error-count = <3>;
|
||||
};
|
||||
|
||||
&dsi_dual_nt36850_truly_cmd {
|
||||
qcom,mdss-dsi-panel-timings-phy-v2 = [24 1f 08 09 05 03 04 a0
|
||||
24 1f 08 09 05 03 04 a0
|
||||
24 1f 08 09 05 03 04 a0
|
||||
24 1f 08 09 05 03 04 a0
|
||||
24 1c 08 09 05 03 04 a0];
|
||||
qcom,mdss-dsi-t-clk-post = <0x0e>;
|
||||
qcom,mdss-dsi-t-clk-pre = <0x31>;
|
||||
};
|
||||
|
||||
&dsi_dual_sharp_video {
|
||||
qcom,mdss-dsi-panel-timings-phy-v2 = [23 20 06 09 05 03 04 a0
|
||||
23 20 06 09 05 03 04 a0
|
||||
23 20 06 09 05 03 04 a0
|
||||
23 20 06 09 05 03 04 a0
|
||||
23 2e 06 08 05 03 04 a0];
|
||||
qcom,mdss-dsi-min-refresh-rate = <53>;
|
||||
qcom,mdss-dsi-max-refresh-rate = <60>;
|
||||
qcom,mdss-dsi-pan-enable-dynamic-fps;
|
||||
qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp";
|
||||
};
|
||||
|
||||
&dsi_nt35597_truly_dsc_video {
|
||||
qcom,mdss-dsi-panel-timings-phy-v2 = [20 1d 05 07 03 03 04 a0
|
||||
20 1d 05 07 03 03 04 a0
|
||||
20 1d 05 07 03 03 04 a0
|
||||
20 1d 05 07 03 03 04 a0
|
||||
20 12 05 06 03 13 04 a0];
|
||||
qcom,config-select = <&dsi_nt35597_truly_dsc_video_config2>;
|
||||
qcom,mdss-dsi-min-refresh-rate = <53>;
|
||||
qcom,mdss-dsi-max-refresh-rate = <60>;
|
||||
qcom,mdss-dsi-pan-enable-dynamic-fps;
|
||||
qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp";
|
||||
qcom,esd-check-enabled;
|
||||
qcom,mdss-dsi-panel-status-check-mode = "reg_read";
|
||||
qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a];
|
||||
qcom,mdss-dsi-panel-status-command-state = "dsi_hs_mode";
|
||||
qcom,mdss-dsi-panel-status-value = <0x9c>;
|
||||
qcom,mdss-dsi-panel-on-check-value = <0x9c>;
|
||||
qcom,mdss-dsi-panel-status-read-length = <1>;
|
||||
qcom,mdss-dsi-panel-max-error-count = <3>;
|
||||
};
|
||||
|
||||
&dsi_nt35597_truly_dsc_cmd {
|
||||
qcom,mdss-dsi-panel-timings-phy-v2 = [20 1d 05 07 03 03 04 a0
|
||||
20 1d 05 07 03 03 04 a0
|
||||
20 1d 05 07 03 03 04 a0
|
||||
20 1d 05 07 03 03 04 a0
|
||||
20 12 05 06 03 13 04 a0];
|
||||
qcom,config-select = <&dsi_nt35597_truly_dsc_cmd_config2>;
|
||||
qcom,esd-check-enabled;
|
||||
qcom,mdss-dsi-panel-status-check-mode = "reg_read";
|
||||
qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a];
|
||||
qcom,mdss-dsi-panel-status-command-state = "dsi_hs_mode";
|
||||
qcom,mdss-dsi-panel-status-value = <0x9c>;
|
||||
qcom,mdss-dsi-panel-on-check-value = <0x9c>;
|
||||
qcom,mdss-dsi-panel-status-read-length = <1>;
|
||||
qcom,mdss-dsi-panel-max-error-count = <3>;
|
||||
};
|
||||
|
||||
&dsi_dual_nt35597_video {
|
||||
qcom,mdss-dsi-panel-timings-phy-v2 = [23 1e 07 08 05 03 04 a0
|
||||
23 1e 07 08 05 03 04 a0
|
||||
23 1e 07 08 05 03 04 a0
|
||||
23 1e 07 08 05 03 04 a0
|
||||
23 18 07 08 04 03 04 a0];
|
||||
qcom,mdss-dsi-min-refresh-rate = <53>;
|
||||
qcom,mdss-dsi-max-refresh-rate = <60>;
|
||||
qcom,mdss-dsi-pan-enable-dynamic-fps;
|
||||
qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp";
|
||||
};
|
||||
|
||||
&dsi_dual_nt35597_cmd {
|
||||
qcom,mdss-dsi-panel-timings-phy-v2 = [23 1e 07 08 05 03 04 a0
|
||||
23 1e 07 08 05 03 04 a0
|
||||
23 1e 07 08 05 03 04 a0
|
||||
23 1e 07 08 05 03 04 a0
|
||||
23 18 07 08 04 03 04 a0];
|
||||
};
|
||||
|
||||
&dsi_nt35695b_truly_fhd_video {
|
||||
qcom,mdss-dsi-panel-timings-phy-v2 = [24 1e 08 09 05 03 04 a0
|
||||
24 1e 08 09 05 03 04 a0
|
||||
24 1e 08 09 05 03 04 a0
|
||||
24 1e 08 09 05 03 04 a0
|
||||
24 1a 08 09 05 03 04 a0];
|
||||
qcom,mdss-dsi-min-refresh-rate = <48>;
|
||||
qcom,mdss-dsi-max-refresh-rate = <60>;
|
||||
qcom,mdss-dsi-pan-enable-dynamic-fps;
|
||||
qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp";
|
||||
qcom,esd-check-enabled;
|
||||
qcom,mdss-dsi-panel-status-check-mode = "reg_read";
|
||||
qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a];
|
||||
qcom,mdss-dsi-panel-status-command-state = "dsi_hs_mode";
|
||||
qcom,mdss-dsi-panel-status-value = <0x9c>;
|
||||
qcom,mdss-dsi-panel-on-check-value = <0x9c>;
|
||||
qcom,mdss-dsi-panel-status-read-length = <1>;
|
||||
qcom,mdss-dsi-panel-max-error-count = <3>;
|
||||
};
|
||||
|
||||
&dsi_nt35695b_truly_fhd_cmd {
|
||||
qcom,mdss-dsi-panel-timings-phy-v2 = [24 1e 08 09 05 03 04 a0
|
||||
24 1e 08 09 05 03 04 a0
|
||||
24 1e 08 09 05 03 04 a0
|
||||
24 1e 08 09 05 03 04 a0
|
||||
24 1a 08 09 05 03 04 a0];
|
||||
qcom,esd-check-enabled;
|
||||
qcom,mdss-dsi-panel-status-check-mode = "reg_read";
|
||||
qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a];
|
||||
qcom,mdss-dsi-panel-status-command-state = "dsi_hs_mode";
|
||||
qcom,mdss-dsi-panel-status-value = <0x9c>;
|
||||
qcom,mdss-dsi-panel-on-check-value = <0x9c>;
|
||||
qcom,mdss-dsi-panel-status-read-length = <1>;
|
||||
qcom,mdss-dsi-panel-max-error-count = <3>;
|
||||
};
|
||||
|
||||
&dsi_truly_1080_vid {
|
||||
qcom,mdss-dsi-panel-timings-phy-v2 = [23 1e 08 09 05 03 04 a0
|
||||
23 1e 08 09 05 03 04 a0
|
||||
23 1e 08 09 05 03 04 a0
|
||||
23 1e 08 09 05 03 04 a0
|
||||
23 1a 08 09 05 03 04 a0];
|
||||
qcom,mdss-dsi-min-refresh-rate = <48>;
|
||||
qcom,mdss-dsi-max-refresh-rate = <60>;
|
||||
qcom,mdss-dsi-pan-enable-dynamic-fps;
|
||||
qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp";
|
||||
qcom,esd-check-enabled;
|
||||
qcom,mdss-dsi-panel-status-check-mode = "reg_read";
|
||||
qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a];
|
||||
qcom,mdss-dsi-panel-status-command-state = "dsi_hs_mode";
|
||||
qcom,mdss-dsi-panel-status-value = <0x1c>;
|
||||
qcom,mdss-dsi-panel-on-check-value = <0x1c>;
|
||||
qcom,mdss-dsi-panel-status-read-length = <1>;
|
||||
qcom,mdss-dsi-panel-max-error-count = <3>;
|
||||
|
||||
};
|
||||
|
||||
&dsi_truly_1080_cmd {
|
||||
qcom,mdss-dsi-panel-timings-phy-v2 = [23 1e 08 09 05 03 04 a0
|
||||
23 1e 08 09 05 03 04 a0
|
||||
23 1e 08 09 05 03 04 a0
|
||||
23 1e 08 09 05 03 04 a0
|
||||
23 1a 08 09 05 03 04 a0];
|
||||
qcom,esd-check-enabled;
|
||||
qcom,mdss-dsi-panel-status-check-mode = "reg_read";
|
||||
qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a];
|
||||
qcom,mdss-dsi-panel-status-command-state = "dsi_hs_mode";
|
||||
qcom,mdss-dsi-panel-status-value = <0x1c>;
|
||||
qcom,mdss-dsi-panel-on-check-value = <0x1c>;
|
||||
qcom,mdss-dsi-panel-status-read-length = <1>;
|
||||
qcom,mdss-dsi-panel-max-error-count = <3>;
|
||||
|
||||
};
|
||||
|
||||
&dsi_rm67195_amoled_fhd_cmd {
|
||||
qcom,mdss-dsi-panel-timings-phy-v2 = [24 1f 08 09 05 03 04 a0
|
||||
24 1f 08 09 05 03 04 a0
|
||||
24 1f 08 09 05 03 04 a0
|
||||
24 1f 08 09 05 03 04 a0
|
||||
24 1a 08 09 05 03 04 a0];
|
||||
qcom,mdss-dsi-t-clk-post = <0x0d>;
|
||||
qcom,mdss-dsi-t-clk-pre = <0x2f>;
|
||||
};
|
||||
|
||||
|
||||
&dsi_lgd_incell_sw49106_fhd_video {
|
||||
qcom,mdss-dsi-panel-timings-phy-v2 = [24 1f 08 09 05 03 04 a0
|
||||
24 1f 08 09 05 03 04 a0
|
||||
24 1f 08 09 05 03 04 a0
|
||||
24 1f 08 09 05 03 04 a0
|
||||
24 1b 08 09 05 03 04 a0];
|
||||
qcom,mdss-dsi-t-clk-post = <0x0d>;
|
||||
qcom,mdss-dsi-t-clk-pre = <0x30>;
|
||||
};
|
||||
|
||||
&dsi_hx8399c_truly_vid {
|
||||
qcom,mdss-dsi-panel-timings-phy-v2 = [24 1f 08 09 05 03 04 a0
|
||||
24 1f 08 09 05 03 04 a0
|
||||
24 1f 08 09 05 03 04 a0
|
||||
24 1f 08 09 05 03 04 a0
|
||||
24 1c 08 09 05 03 04 a0];
|
||||
qcom,esd-check-enabled;
|
||||
qcom,mdss-dsi-panel-status-check-mode = "reg_read";
|
||||
qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a];
|
||||
qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode";
|
||||
qcom,mdss-dsi-panel-status-value = <0x9d 0x9d 0x9d 0x9d>;
|
||||
qcom,mdss-dsi-panel-on-check-value = <0x9d 0x9d 0x9d 0x9d>;
|
||||
qcom,mdss-dsi-panel-status-read-length = <4>;
|
||||
qcom,mdss-dsi-panel-max-error-count = <3>;
|
||||
qcom,mdss-dsi-min-refresh-rate = <48>;
|
||||
qcom,mdss-dsi-max-refresh-rate = <60>;
|
||||
qcom,mdss-dsi-pan-enable-dynamic-fps;
|
||||
qcom,mdss-dsi-pan-fps-update =
|
||||
"dfps_immediate_porch_mode_vfp";
|
||||
};
|
120
arch/arm64/boot/dts/qcom/sdm660-mdss-pll.dtsi
Normal file
120
arch/arm64/boot/dts/qcom/sdm660-mdss-pll.dtsi
Normal file
@ -0,0 +1,120 @@
|
||||
/* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&soc {
|
||||
mdss_dsi0_pll: qcom,mdss_dsi_pll@c994400 {
|
||||
compatible = "qcom,mdss_dsi_pll_14nm";
|
||||
status = "ok";
|
||||
label = "MDSS DSI 0 PLL";
|
||||
cell-index = <0>;
|
||||
#clock-cells = <1>;
|
||||
|
||||
reg = <0xc994400 0x588>,
|
||||
<0xc8c2300 0x8>,
|
||||
<0xc994200 0x98>;
|
||||
reg-names = "pll_base", "gdsc_base", "dynamic_pll_base";
|
||||
|
||||
gdsc-supply = <&gdsc_mdss>;
|
||||
|
||||
clocks = <&clock_mmss MMSS_MDSS_AHB_CLK>;
|
||||
clock-names = "iface_clk";
|
||||
clock-rate = <0>;
|
||||
qcom,dsi-pll-ssc-en;
|
||||
qcom,dsi-pll-ssc-mode = "down-spread";
|
||||
memory-region = <&dfps_data_mem>;
|
||||
|
||||
qcom,platform-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,platform-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>;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
mdss_dsi1_pll: qcom,mdss_dsi_pll@c996400 {
|
||||
compatible = "qcom,mdss_dsi_pll_14nm";
|
||||
status = "ok";
|
||||
label = "MDSS DSI 1 PLL";
|
||||
cell-index = <1>;
|
||||
#clock-cells = <1>;
|
||||
|
||||
reg = <0xc996400 0x588>,
|
||||
<0xc8c2300 0x8>,
|
||||
<0xc996200 0x98>;
|
||||
reg-names = "pll_base", "gdsc_base", "dynamic_pll_base";
|
||||
|
||||
gdsc-supply = <&gdsc_mdss>;
|
||||
|
||||
clocks = <&clock_mmss MMSS_MDSS_AHB_CLK>;
|
||||
clock-names = "iface_clk";
|
||||
clock-rate = <0>;
|
||||
qcom,dsi-pll-ssc-en;
|
||||
qcom,dsi-pll-ssc-mode = "down-spread";
|
||||
|
||||
qcom,platform-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,platform-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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
mdss_dp_pll: qcom,mdss_dp_pll@c011000 {
|
||||
compatible = "qcom,mdss_dp_pll_sdm660";
|
||||
status = "ok";
|
||||
label = "MDSS DP PLL";
|
||||
cell-index = <0>;
|
||||
#clock-cells = <1>;
|
||||
|
||||
reg = <0xc011c00 0x190>,
|
||||
<0xc011000 0x910>,
|
||||
<0x0c8c2300 0x8>;
|
||||
reg-names = "pll_base", "phy_base", "gdsc_base";
|
||||
|
||||
gdsc-supply = <&gdsc_mdss>;
|
||||
|
||||
clocks = <&clock_mmss MMSS_MDSS_AHB_CLK>,
|
||||
<&clock_rpmcc RPM_SMD_LN_BB_CLK1>,
|
||||
<&clock_gcc GCC_USB3_CLKREF_CLK>;
|
||||
clock-names = "iface_clk", "ref_clk_src", "ref_clk";
|
||||
clock-rate = <0>;
|
||||
|
||||
qcom,platform-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,platform-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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
641
arch/arm64/boot/dts/qcom/sdm660-mdss.dtsi
Normal file
641
arch/arm64/boot/dts/qcom/sdm660-mdss.dtsi
Normal file
@ -0,0 +1,641 @@
|
||||
/* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/mdss-14nm-pll-clk.h>
|
||||
|
||||
&soc {
|
||||
mdss_mdp: qcom,mdss_mdp@c900000 {
|
||||
compatible = "qcom,mdss_mdp";
|
||||
status = "ok";
|
||||
reg = <0x0c900000 0x90000>,
|
||||
<0x0c9b0000 0x1040>;
|
||||
reg-names = "mdp_phys", "vbif_phys";
|
||||
interrupts = <0 83 0>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
vdd-supply = <&gdsc_mdss>;
|
||||
|
||||
/* Bus Scale Settings */
|
||||
qcom,msm-bus,name = "mdss_mdp";
|
||||
qcom,msm-bus,num-cases = <3>;
|
||||
qcom,msm-bus,num-paths = <2>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<22 512 0 0>, <23 512 0 0>,
|
||||
<22 512 0 6400000>, <23 512 0 6400000>,
|
||||
<22 512 0 6400000>, <23 512 0 6400000>;
|
||||
|
||||
/* Fudge factors */
|
||||
qcom,mdss-ab-factor = <1 1>; /* 1 time */
|
||||
qcom,mdss-ib-factor = <1 1>; /* 1 time */
|
||||
qcom,mdss-clk-factor = <105 100>; /* 1.05 times */
|
||||
|
||||
qcom,max-mixer-width = <2560>;
|
||||
qcom,max-pipe-width = <2560>;
|
||||
|
||||
qcom,max-dest-scaler-input-width = <2048>;
|
||||
qcom,max-dest-scaler-output-width = <2560>;
|
||||
|
||||
/* VBIF QoS remapper settings*/
|
||||
qcom,mdss-vbif-qos-rt-setting = <1 2 2 2>;
|
||||
qcom,mdss-vbif-qos-nrt-setting = <1 1 1 1>;
|
||||
qcom,vbif-settings = <0x00ac 0x00008040>,
|
||||
<0x00d0 0x00002828>;
|
||||
|
||||
qcom,mdss-cx-ipeak = <&cx_ipeak_lm 3>;
|
||||
qcom,mdss-has-panic-ctrl;
|
||||
qcom,mdss-per-pipe-panic-luts = <0x000f>,
|
||||
<0xffff>,
|
||||
<0xfffc>,
|
||||
<0xff00>;
|
||||
|
||||
qcom,mdss-mdp-reg-offset = <0x00001000>;
|
||||
qcom,max-bandwidth-low-kbps = <6600000>;
|
||||
qcom,max-bandwidth-high-kbps = <6600000>;
|
||||
qcom,max-bandwidth-per-pipe-kbps = <3100000>;
|
||||
qcom,max-clk-rate = <412500000>;
|
||||
qcom,mdss-default-ot-rd-limit = <32>;
|
||||
qcom,mdss-default-ot-wr-limit = <32>;
|
||||
qcom,mdss-dram-channels = <2>;
|
||||
|
||||
/* Bandwidth limit settings */
|
||||
qcom,max-bw-settings = <1 6600000>, /* Default */
|
||||
<2 4500000>; /* Camera */
|
||||
|
||||
qcom,mdss-pipe-vig-off = <0x00005000 0x00007000>;
|
||||
qcom,mdss-pipe-dma-off = <0x00025000 0x00027000
|
||||
0x00029000>;
|
||||
qcom,mdss-pipe-cursor-off = <0x00035000>;
|
||||
|
||||
qcom,mdss-pipe-vig-xin-id = <0 4>;
|
||||
qcom,mdss-pipe-dma-xin-id = <1 5 9>;
|
||||
qcom,mdss-pipe-cursor-xin-id = <2>;
|
||||
|
||||
/* These Offsets are relative to */
|
||||
/* "mdp_phys + mdp-reg-offset" address */
|
||||
|
||||
qcom,mdss-pipe-vig-clk-ctrl-offsets = <0x2ac 0 0>,
|
||||
<0x2b4 0 0>;
|
||||
qcom,mdss-pipe-dma-clk-ctrl-offsets = <0x2ac 8 12>,
|
||||
<0x2b4 8 12>,
|
||||
<0x2c4 8 12>;
|
||||
qcom,mdss-pipe-cursor-clk-ctrl-offsets = <0x3a8 16 15>;
|
||||
|
||||
qcom,mdss-ctl-off = <0x00002000 0x00002200 0x00002400
|
||||
0x00002600 0x00002800>;
|
||||
qcom,mdss-mixer-intf-off = <0x00045000 0x00046000
|
||||
0x00047000 0x0004a000>;
|
||||
qcom,mdss-dspp-off = <0x00055000 0x00057000>;
|
||||
qcom,mdss-wb-off = <0x00066000>;
|
||||
qcom,mdss-intf-off = <0x0006b000 0x0006b800
|
||||
0x0006c000 0x0006c800>;
|
||||
qcom,mdss-pingpong-off = <0x00071000 0x00071800
|
||||
0x00072000 0x00072800>;
|
||||
qcom,mdss-slave-pingpong-off = <0x00073000>;
|
||||
qcom,mdss-ppb-ctl-off = <0x00000330 0x00000338 0x00000370
|
||||
0x00000374> ;
|
||||
qcom,mdss-ppb-cfg-off = <0x00000334 0x0000033C>;
|
||||
qcom,mdss-has-pingpong-split;
|
||||
qcom,mdss-has-separate-rotator;
|
||||
|
||||
qcom,mdss-ad-off = <0x0079000 0x00079800>;
|
||||
qcom,mdss-cdm-off = <0x0007a200>;
|
||||
qcom,mdss-dsc-off = <0x00081000 0x00081400>;
|
||||
qcom,mdss-wfd-mode = "intf";
|
||||
qcom,mdss-has-source-split;
|
||||
qcom,mdss-highest-bank-bit = <0x1>;
|
||||
qcom,mdss-has-decimation;
|
||||
qcom,mdss-idle-power-collapse-enabled;
|
||||
clocks = <&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_AHB_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_AXI_CLK>,
|
||||
<&clock_mmss MMSS_THROTTLE_MDSS_AXI_CLK>,
|
||||
<&clock_mmss MDP_CLK_SRC>,
|
||||
<&clock_mmss MMSS_MDSS_MDP_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_VSYNC_CLK>,
|
||||
<&clock_mmss MDP_CLK_SRC>;
|
||||
clock-names = "mnoc_clk", "iface_clk", "bus_clk",
|
||||
"throttle_bus_clk", "core_clk_src",
|
||||
"core_clk", "vsync_clk", "lut_clk";
|
||||
|
||||
qcom,mdp-settings = <0x01190 0x00000000>,
|
||||
<0x012ac 0xc0000ccc>,
|
||||
<0x012b4 0xc0000ccc>,
|
||||
<0x012bc 0x00cccccc>,
|
||||
<0x012c4 0x0000cccc>,
|
||||
<0x013a8 0x0cccc0c0>,
|
||||
<0x013b0 0xccccc0c0>,
|
||||
<0x013b8 0xcccc0000>,
|
||||
<0x013d0 0x00cc0000>,
|
||||
<0x0506c 0x00000000>,
|
||||
<0x0706c 0x00000000>,
|
||||
<0x0906c 0x00000000>,
|
||||
<0x0b06c 0x00000000>,
|
||||
<0x1506c 0x00000000>,
|
||||
<0x1706c 0x00000000>,
|
||||
<0x1906c 0x00000000>,
|
||||
<0x1b06c 0x00000000>,
|
||||
<0x2506c 0x00000000>,
|
||||
<0x2706c 0x00000000>;
|
||||
|
||||
qcom,regs-dump-mdp = <0x01000 0x01458>,
|
||||
<0x02000 0x02094>,
|
||||
<0x02200 0x02294>,
|
||||
<0x02400 0x02494>,
|
||||
<0x02600 0x02694>,
|
||||
<0x02800 0x02894>,
|
||||
<0x05000 0x05154>,
|
||||
<0x05a00 0x05b00>,
|
||||
<0x07000 0x07154>,
|
||||
<0x07a00 0x07b00>,
|
||||
<0x25000 0x25184>,
|
||||
<0x27000 0x27184>,
|
||||
<0x29000 0x29184>,
|
||||
<0x35000 0x35150>,
|
||||
<0x45000 0x452bc>,
|
||||
<0x46000 0x462bc>,
|
||||
<0x47000 0x472bc>,
|
||||
<0x4a000 0x4a2bc>,
|
||||
<0x55000 0x5522c>,
|
||||
<0x57000 0x5722c>,
|
||||
<0x66000 0x662c0>,
|
||||
<0x6b000 0x6b268>,
|
||||
<0x6b800 0x6ba68>,
|
||||
<0x6c000 0x6c268>,
|
||||
<0x71000 0x710d4>,
|
||||
<0x71800 0x718d4>,
|
||||
<0x73000 0x730d4>,
|
||||
<0x81000 0x81140>,
|
||||
<0x81400 0x81540>;
|
||||
|
||||
qcom,regs-dump-names-mdp = "MDP",
|
||||
"CTL_0", "CTL_1", "CTL_2", "CTL_3", "CTL_4",
|
||||
"VIG0_SSPP", "VIG0", "VIG1_SSPP", "VIG1",
|
||||
"DMA0_SSPP", "DMA1_SSPP","DMA2_SSPP",
|
||||
"CURSOR0_SSPP",
|
||||
"LAYER_0", "LAYER_1", "LAYER_2",
|
||||
"LAYER_5",
|
||||
"DSPP_0", "DSPP_1",
|
||||
"WB_2",
|
||||
"INTF_0", "INTF_1", "INTF_2",
|
||||
"PP_0", "PP_1", "PP_4",
|
||||
"DSC_0", "DSC_1";
|
||||
|
||||
/* buffer parameters to calculate prefill bandwidth */
|
||||
qcom,mdss-prefill-outstanding-buffer-bytes = <0>;
|
||||
qcom,mdss-prefill-y-buffer-bytes = <0>;
|
||||
qcom,mdss-prefill-scaler-buffer-lines-bilinear = <2>;
|
||||
qcom,mdss-prefill-scaler-buffer-lines-caf = <4>;
|
||||
qcom,mdss-prefill-post-scaler-buffer-pixels = <2560>;
|
||||
qcom,mdss-prefill-pingpong-buffer-pixels = <5120>;
|
||||
|
||||
qcom,mdss-reg-bus {
|
||||
/* Reg Bus Scale Settings */
|
||||
qcom,msm-bus,name = "mdss_reg";
|
||||
qcom,msm-bus,num-cases = <4>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,active-only;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<1 590 0 0>,
|
||||
<1 590 0 76800>,
|
||||
<1 590 0 160000>,
|
||||
<1 590 0 320000>;
|
||||
};
|
||||
|
||||
qcom,mdss-pp-offsets {
|
||||
qcom,mdss-sspp-mdss-igc-lut-off = <0x2000>;
|
||||
qcom,mdss-sspp-vig-pcc-off = <0x1b00>;
|
||||
qcom,mdss-sspp-rgb-pcc-off = <0x380>;
|
||||
qcom,mdss-sspp-dma-pcc-off = <0x380>;
|
||||
qcom,mdss-lm-pgc-off = <0x3c0>;
|
||||
qcom,mdss-dspp-gamut-off = <0x1600>;
|
||||
qcom,mdss-dspp-pcc-off = <0x1700>;
|
||||
qcom,mdss-dspp-pgc-off = <0x17c0>;
|
||||
};
|
||||
|
||||
qcom,mdss-scaler-offsets {
|
||||
qcom,mdss-vig-scaler-off = <0xa00>;
|
||||
qcom,mdss-vig-scaler-lut-off = <0xb00>;
|
||||
qcom,mdss-has-dest-scaler;
|
||||
qcom,mdss-dest-block-off = <0x00061000>;
|
||||
qcom,mdss-dest-scaler-off = <0x800 0x1000>;
|
||||
qcom,mdss-dest-scaler-lut-off = <0x900 0x1100>;
|
||||
};
|
||||
|
||||
smmu_mdp_unsec: qcom,smmu_mdp_unsec_cb {
|
||||
compatible = "qcom,smmu_mdp_unsec";
|
||||
iommus = <&mmss_bimc_smmu 0>;
|
||||
gdsc-mmagic-mdss-supply = <&gdsc_bimc_smmu>;
|
||||
clocks = <&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>;
|
||||
clock-names = "mmss_noc_axi_clk",
|
||||
"mmss_noc_ahb_clk",
|
||||
"mmss_smmu_ahb_clk",
|
||||
"mmss_smmu_axi_clk";
|
||||
};
|
||||
|
||||
smmu_mdp_sec: qcom,smmu_mdp_sec_cb {
|
||||
compatible = "qcom,smmu_mdp_sec";
|
||||
iommus = <&mmss_bimc_smmu 1>;
|
||||
gdsc-mmagic-mdss-supply = <&gdsc_bimc_smmu>;
|
||||
clocks = <&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>;
|
||||
clock-names = "mmss_noc_axi_clk",
|
||||
"mmss_noc_ahb_clk",
|
||||
"mmss_smmu_ahb_clk",
|
||||
"mmss_smmu_axi_clk";
|
||||
};
|
||||
|
||||
mdss_fb0: qcom,mdss_fb_primary {
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,mdss-fb";
|
||||
qcom,cont-splash-memory {
|
||||
linux,contiguous-region = <&cont_splash_mem>;
|
||||
};
|
||||
};
|
||||
|
||||
mdss_fb1: qcom,mdss_fb_wfd {
|
||||
cell-index = <1>;
|
||||
compatible = "qcom,mdss-fb";
|
||||
};
|
||||
|
||||
mdss_fb2: qcom,mdss_fb_dp {
|
||||
cell-index = <2>;
|
||||
compatible = "qcom,mdss-fb";
|
||||
qcom,mdss-intf = <&mdss_dp_ctrl>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
mdss_dsi: qcom,mdss_dsi@0 {
|
||||
compatible = "qcom,mdss-dsi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
gdsc-supply = <&gdsc_mdss>;
|
||||
vdda-1p2-supply = <&pm660_l1>;
|
||||
vdda-0p9-supply = <&pm660l_l1>;
|
||||
ranges = <0xc994000 0xc994000 0x400
|
||||
0xc994400 0xc994400 0x588
|
||||
0xc828000 0xc828000 0xac
|
||||
0xc996000 0xc996000 0x400
|
||||
0xc996400 0xc996400 0x588
|
||||
0xc828000 0xc828000 0xac>;
|
||||
|
||||
/* Bus Scale Settings */
|
||||
qcom,msm-bus,name = "mdss_dsi";
|
||||
qcom,msm-bus,num-cases = <2>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<22 512 0 0>,
|
||||
<22 512 0 1000>;
|
||||
|
||||
qcom,mmss-ulp-clamp-ctrl-offset = <0x14>;
|
||||
|
||||
clocks = <&clock_mmss MMSS_MDSS_MDP_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_AHB_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MISC_AHB_CLK>,
|
||||
<&mdss_dsi0_pll BYTE0_MUX_CLK>,
|
||||
<&mdss_dsi1_pll BYTE1_MUX_CLK>,
|
||||
<&mdss_dsi0_pll PIX0_MUX_CLK>,
|
||||
<&mdss_dsi1_pll PIX1_MUX_CLK>;
|
||||
clock-names = "mdp_core_clk",
|
||||
"mnoc_clk", "iface_clk",
|
||||
"bus_clk", "core_mmss_clk",
|
||||
"ext_byte0_clk", "ext_byte1_clk",
|
||||
"ext_pixel0_clk", "ext_pixel1_clk";
|
||||
|
||||
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,ctrl-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,ctrl-supply-entry@0 {
|
||||
reg = <0>;
|
||||
qcom,supply-name = "vdda-1p2";
|
||||
qcom,supply-min-voltage = <1200000>;
|
||||
qcom,supply-max-voltage = <1250000>;
|
||||
qcom,supply-enable-load = <12560>;
|
||||
qcom,supply-disable-load = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,phy-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,phy-supply-entry@0 {
|
||||
reg = <0>;
|
||||
qcom,supply-name = "vdda-0p9";
|
||||
qcom,supply-min-voltage = <880000>;
|
||||
qcom,supply-max-voltage = <925000>;
|
||||
qcom,supply-enable-load = <73400>;
|
||||
qcom,supply-disable-load = <32>;
|
||||
};
|
||||
};
|
||||
|
||||
mdss_dsi0: qcom,mdss_dsi_ctrl0@c994000 {
|
||||
compatible = "qcom,mdss-dsi-ctrl";
|
||||
label = "MDSS DSI CTRL->0";
|
||||
cell-index = <0>;
|
||||
reg = <0xc994000 0x400>,
|
||||
<0xc994400 0x588>,
|
||||
<0xc828000 0xac>;
|
||||
reg-names = "dsi_ctrl", "dsi_phy", "mmss_misc_phys";
|
||||
|
||||
qcom,timing-db-mode;
|
||||
wqhd-vddio-supply = <&pm660_l11>;
|
||||
vdda-3p3-supply = <&pm660l_l6>;
|
||||
lab-supply = <&lcdb_ldo_vreg>;
|
||||
ibb-supply = <&lcdb_ncp_vreg>;
|
||||
qcom,mdss-mdp = <&mdss_mdp>;
|
||||
qcom,mdss-fb-map = <&mdss_fb0>;
|
||||
|
||||
clocks = <&clock_mmss MMSS_MDSS_BYTE0_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_PCLK0_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_ESC0_CLK>,
|
||||
<&clock_mmss BYTE0_CLK_SRC>,
|
||||
<&clock_mmss PCLK0_CLK_SRC>,
|
||||
<&clock_mmss MMSS_MDSS_BYTE0_INTF_CLK>,
|
||||
<&mdss_dsi0_pll BYTE0_MUX_CLK>,
|
||||
<&mdss_dsi0_pll PIX0_MUX_CLK>,
|
||||
<&mdss_dsi0_pll BYTE0_SRC_CLK>,
|
||||
<&mdss_dsi0_pll PIX0_SRC_CLK>,
|
||||
<&mdss_dsi0_pll SHADOW_BYTE0_SRC_CLK>,
|
||||
<&mdss_dsi0_pll SHADOW_PIX0_SRC_CLK>;
|
||||
clock-names = "byte_clk", "pixel_clk", "core_clk",
|
||||
"byte_clk_rcg", "pixel_clk_rcg",
|
||||
"byte_intf_clk", "pll_byte_clk_mux",
|
||||
"pll_pixel_clk_mux", "pll_byte_clk_src",
|
||||
"pll_pixel_clk_src", "pll_shadow_byte_clk_src",
|
||||
"pll_shadow_pixel_clk_src";
|
||||
|
||||
qcom,null-insertion-enabled;
|
||||
qcom,platform-strength-ctrl = [ff 06
|
||||
ff 06
|
||||
ff 06
|
||||
ff 06
|
||||
ff 00];
|
||||
qcom,platform-regulator-settings = [1d
|
||||
1d 1d 1d 1d];
|
||||
qcom,platform-lane-config = [00 00 10 0f
|
||||
00 00 10 0f
|
||||
00 00 10 0f
|
||||
00 00 10 0f
|
||||
00 00 10 8f];
|
||||
};
|
||||
|
||||
mdss_dsi1: qcom,mdss_dsi_ctrl1@c996000 {
|
||||
compatible = "qcom,mdss-dsi-ctrl";
|
||||
label = "MDSS DSI CTRL->1";
|
||||
cell-index = <1>;
|
||||
reg = <0xc996000 0x400>,
|
||||
<0xc996400 0x588>,
|
||||
<0xc828000 0xac>;
|
||||
reg-names = "dsi_ctrl", "dsi_phy", "mmss_misc_phys";
|
||||
|
||||
qcom,timing-db-mode;
|
||||
wqhd-vddio-supply = <&pm660_l11>;
|
||||
lab-supply = <&lcdb_ldo_vreg>;
|
||||
ibb-supply = <&lcdb_ncp_vreg>;
|
||||
qcom,mdss-mdp = <&mdss_mdp>;
|
||||
qcom,mdss-fb-map = <&mdss_fb0>;
|
||||
|
||||
clocks = <&clock_mmss MMSS_MDSS_BYTE1_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_PCLK1_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_ESC1_CLK>,
|
||||
<&clock_mmss BYTE1_CLK_SRC>,
|
||||
<&clock_mmss PCLK1_CLK_SRC>,
|
||||
<&clock_mmss MMSS_MDSS_BYTE1_INTF_CLK>,
|
||||
<&mdss_dsi1_pll BYTE1_MUX_CLK>,
|
||||
<&mdss_dsi1_pll PIX1_MUX_CLK>,
|
||||
<&mdss_dsi1_pll BYTE1_SRC_CLK>,
|
||||
<&mdss_dsi1_pll PIX1_SRC_CLK>,
|
||||
<&mdss_dsi1_pll SHADOW_BYTE1_SRC_CLK>,
|
||||
<&mdss_dsi1_pll SHADOW_PIX1_SRC_CLK>;
|
||||
clock-names = "byte_clk", "pixel_clk", "core_clk",
|
||||
"byte_clk_rcg", "pixel_clk_rcg",
|
||||
"byte_intf_clk", "pll_byte_clk_mux",
|
||||
"pll_pixel_clk_mux", "pll_byte_clk_src",
|
||||
"pll_pixel_clk_src", "pll_shadow_byte_clk_src",
|
||||
"pll_shadow_pixel_clk_src";
|
||||
|
||||
qcom,null-insertion-enabled;
|
||||
qcom,platform-strength-ctrl = [ff 06
|
||||
ff 06
|
||||
ff 06
|
||||
ff 06
|
||||
ff 00];
|
||||
qcom,platform-regulator-settings = [1d
|
||||
1d 1d 1d 1d];
|
||||
qcom,platform-lane-config = [00 00 10 0f
|
||||
00 00 10 0f
|
||||
00 00 10 0f
|
||||
00 00 10 0f
|
||||
00 00 10 8f];
|
||||
};
|
||||
};
|
||||
|
||||
qcom,mdss_wb_panel {
|
||||
compatible = "qcom,mdss_wb";
|
||||
qcom,mdss_pan_res = <640 480>;
|
||||
qcom,mdss_pan_bpp = <24>;
|
||||
qcom,mdss-fb-map = <&mdss_fb1>;
|
||||
};
|
||||
|
||||
msm_ext_disp: qcom,msm_ext_disp {
|
||||
status = "ok";
|
||||
compatible = "qcom,msm-ext-disp";
|
||||
|
||||
ext_disp_audio_codec: qcom,msm-ext-disp-audio-codec-rx {
|
||||
compatible = "qcom,msm-ext-disp-audio-codec-rx";
|
||||
qcom,msm_ext_disp = <&msm_ext_disp>;
|
||||
};
|
||||
};
|
||||
|
||||
mdss_dp_ctrl: qcom,dp_ctrl@c990000 {
|
||||
status = "ok";
|
||||
cell-index = <0>;
|
||||
compatible = "qcom,mdss-dp";
|
||||
qcom,mdss-fb-map = <&mdss_fb2>;
|
||||
|
||||
gdsc-supply = <&gdsc_mdss>;
|
||||
vdda-1p8-supply = <&pm660_l10>;
|
||||
vdda-0p9-supply = <&pm660l_l1>;
|
||||
|
||||
reg = <0xc990000 0xa8c>,
|
||||
<0xc011000 0x910>,
|
||||
<0x1fcb200 0x050>,
|
||||
<0xc8c2200 0x1a0>,
|
||||
<0x780000 0x621c>,
|
||||
<0xc9e1000 0x02c>;
|
||||
reg-names = "dp_ctrl", "dp_phy", "tcsr_regs", "dp_mmss_cc",
|
||||
"qfprom_physical","hdcp_physical";
|
||||
|
||||
clocks = <&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_AHB_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_MDP_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_HDMI_DP_AHB_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_DP_AUX_CLK>,
|
||||
<&clock_rpmcc RPM_SMD_LN_BB_CLK1>,
|
||||
<&clock_gcc GCC_USB3_CLKREF_CLK>,
|
||||
<&clock_gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_DP_LINK_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_DP_LINK_INTF_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_DP_CRYPTO_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_DP_PIXEL_CLK>,
|
||||
<&clock_mmss DP_PIXEL_CLK_SRC>,
|
||||
<&mdss_dp_pll DP_PHY_PLL_VCO_DIV_CLK>;
|
||||
clock-names = "core_mnoc_clk", "core_iface_clk", "core_bus_clk",
|
||||
"core_mdp_core_clk", "core_alt_iface_clk",
|
||||
"core_aux_clk", "core_ref_clk_src", "core_ref_clk",
|
||||
"core_ahb_phy_clk", "ctrl_link_clk",
|
||||
"ctrl_link_iface_clk", "ctrl_crypto_clk",
|
||||
"ctrl_pixel_clk", "pixel_clk_rcg", "pixel_parent";
|
||||
|
||||
qcom,dp-usbpd-detection = <&pm660_pdphy>;
|
||||
|
||||
qcom,msm_ext_disp = <&msm_ext_disp>;
|
||||
|
||||
qcom,aux-cfg0-settings = [20 00];
|
||||
qcom,aux-cfg1-settings = [24 13 23 1d];
|
||||
qcom,aux-cfg2-settings = [28 00];
|
||||
qcom,aux-cfg3-settings = [2c 00];
|
||||
qcom,aux-cfg4-settings = [30 0a];
|
||||
qcom,aux-cfg5-settings = [34 28];
|
||||
qcom,aux-cfg6-settings = [38 0a];
|
||||
qcom,aux-cfg7-settings = [3c 03];
|
||||
qcom,aux-cfg8-settings = [40 b7];
|
||||
qcom,aux-cfg9-settings = [44 03];
|
||||
qcom,logical2physical-lane-map = [00 01 02 03];
|
||||
qcom,phy-register-offset = <0x4>;
|
||||
qcom,max-pclk-frequency-khz = <300000>;
|
||||
|
||||
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,ctrl-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,ctrl-supply-entry@0 {
|
||||
reg = <0>;
|
||||
qcom,supply-name = "vdda-1p8";
|
||||
qcom,supply-min-voltage = <1780000>;
|
||||
qcom,supply-max-voltage = <1950000>;
|
||||
qcom,supply-enable-load = <12560>;
|
||||
qcom,supply-disable-load = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,phy-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,phy-supply-entry@0 {
|
||||
reg = <0>;
|
||||
qcom,supply-name = "vdda-0p9";
|
||||
qcom,supply-min-voltage = <880000>;
|
||||
qcom,supply-max-voltage = <925000>;
|
||||
qcom,supply-enable-load = <73400>;
|
||||
qcom,supply-disable-load = <32>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
mdss_rotator: qcom,mdss_rotator {
|
||||
compatible = "qcom,sde_rotator";
|
||||
reg = <0x0c900000 0xab100>,
|
||||
<0x0c9b0000 0x1040>;
|
||||
reg-names = "mdp_phys",
|
||||
"rot_vbif_phys";
|
||||
|
||||
qcom,mdss-rot-mode = <1>;
|
||||
qcom,mdss-highest-bank-bit = <0x1>;
|
||||
|
||||
/* Bus Scale Settings */
|
||||
qcom,msm-bus,name = "mdss_rotator";
|
||||
qcom,msm-bus,num-cases = <3>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<22 512 0 0>,
|
||||
<22 512 0 6400000>,
|
||||
<22 512 0 6400000>;
|
||||
|
||||
rot-vdd-supply = <&gdsc_mdss>;
|
||||
qcom,supply-names = "rot-vdd";
|
||||
|
||||
clocks = <&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_AHB_CLK>,
|
||||
<&clock_mmss ROT_CLK_SRC>,
|
||||
<&clock_mmss MMSS_MDSS_ROT_CLK>,
|
||||
<&clock_mmss MMSS_MDSS_AXI_CLK>;
|
||||
clock-names = "mnoc_clk",
|
||||
"iface_clk", "rot_core_clk",
|
||||
"rot_clk", "axi_clk";
|
||||
|
||||
interrupt-parent = <&mdss_mdp>;
|
||||
interrupts = <2 0>;
|
||||
|
||||
/* VBIF QoS remapper settings*/
|
||||
qcom,mdss-rot-vbif-qos-setting = <1 1 1 1>;
|
||||
qcom,mdss-rot-xin-id = <14 15>;
|
||||
|
||||
qcom,mdss-default-ot-rd-limit = <32>;
|
||||
qcom,mdss-default-ot-wr-limit = <32>;
|
||||
|
||||
qcom,sde-reg-bus {
|
||||
/* Reg Bus Scale Settings */
|
||||
qcom,msm-bus,name = "mdss_rot_reg";
|
||||
qcom,msm-bus,num-cases = <4>;
|
||||
qcom,msm-bus,num-paths = <1>;
|
||||
qcom,msm-bus,active-only;
|
||||
qcom,msm-bus,vectors-KBps =
|
||||
<1 590 0 0>,
|
||||
<1 590 0 76800>,
|
||||
<1 590 0 160000>,
|
||||
<1 590 0 320000>;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
#include "sdm660-mdss-panels.dtsi"
|
39
arch/arm64/boot/dts/qcom/sdm660-mtp.dts
Normal file
39
arch/arm64/boot/dts/qcom/sdm660-mtp.dts
Normal file
@ -0,0 +1,39 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-mtp.dtsi"
|
||||
#include "sdm660-external-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L MTP";
|
||||
compatible = "qcom,sdm660-mtp", "qcom,sdm660", "qcom,mtp";
|
||||
qcom,board-id = <8 0>;
|
||||
qcom,pmic-id = <0x0001001b 0x0101011a 0x0 0x0>,
|
||||
<0x0001001b 0x0201011a 0x0 0x0>,
|
||||
<0x0001001b 0x0102001a 0x0 0x0>;
|
||||
};
|
||||
|
||||
&tavil_snd {
|
||||
qcom,msm-mbhc-moist-cfg = <0>, <0>, <3>;
|
||||
};
|
||||
|
||||
&slim_aud {
|
||||
/delete-node/tasha_codec;
|
||||
};
|
||||
|
||||
&soc {
|
||||
/delete-node/sound-9335;
|
||||
};
|
277
arch/arm64/boot/dts/qcom/sdm660-mtp.dtsi
Normal file
277
arch/arm64/boot/dts/qcom/sdm660-mtp.dtsi
Normal file
@ -0,0 +1,277 @@
|
||||
/* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include "sdm660-pinctrl.dtsi"
|
||||
#include "sdm660-camera-sensor-mtp.dtsi"
|
||||
/ {
|
||||
mtp_batterydata: qcom,battery-data {
|
||||
qcom,batt-id-range-pct = <15>;
|
||||
#include "fg-gen3-batterydata-itech-3000mah.dtsi"
|
||||
#include "fg-gen3-batterydata-ascent-3450mah.dtsi"
|
||||
};
|
||||
};
|
||||
|
||||
&uartblsp1dm1 {
|
||||
status = "ok";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart_console_active>;
|
||||
};
|
||||
|
||||
&ufsphy1 {
|
||||
vdda-phy-supply = <&pm660l_l1>;
|
||||
vdda-pll-supply = <&pm660_l10>;
|
||||
vdda-phy-max-microamp = <51400>;
|
||||
vdda-pll-max-microamp = <14200>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&ufs1 {
|
||||
vdd-hba-supply = <&gdsc_ufs>;
|
||||
vdd-hba-fixed-regulator;
|
||||
vcc-supply = <&pm660l_l4>;
|
||||
vccq2-supply = <&pm660_l8>;
|
||||
vcc-max-microamp = <500000>;
|
||||
vccq2-max-microamp = <600000>;
|
||||
qcom,vddp-ref-clk-supply = <&pm660_l1>;
|
||||
qcom,vddp-ref-clk-max-microamp = <100>;
|
||||
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&pm660_gpios {
|
||||
/* GPIO 4 (NFC_CLK_REQ) */
|
||||
gpio@c300 {
|
||||
qcom,mode = <0>;
|
||||
qcom,vin-sel = <1>;
|
||||
qcom,src-sel = <0>;
|
||||
qcom,master-en = <1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* GPIO 11 for Home Key */
|
||||
gpio@ca00 {
|
||||
status = "okay";
|
||||
qcom,mode = <0>;
|
||||
qcom,pull = <0>;
|
||||
qcom,vin-sel = <0>;
|
||||
qcom,src-sel = <0>;
|
||||
qcom,out-strength = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c_6 { /* BLSP1 QUP6 (NFC) */
|
||||
status = "okay";
|
||||
nq@28 {
|
||||
compatible = "qcom,nq-nci";
|
||||
reg = <0x28>;
|
||||
qcom,nq-irq = <&tlmm 28 0x00>;
|
||||
qcom,nq-ven = <&tlmm 29 0x00>;
|
||||
qcom,nq-firm = <&tlmm 30 0x00>;
|
||||
qcom,nq-clkreq = <&pm660_gpios 4 0x00>;
|
||||
qcom,nq-esepwr = <&tlmm 31 0x00>;
|
||||
interrupt-parent = <&tlmm>;
|
||||
qcom,clk-src = "BBCLK3";
|
||||
interrupts = <28 0>;
|
||||
interrupt-names = "nfc_irq";
|
||||
pinctrl-names = "nfc_active", "nfc_suspend";
|
||||
pinctrl-0 = <&nfc_int_active &nfc_enable_active>;
|
||||
pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>;
|
||||
clocks = <&clock_rpmcc RPM_SMD_LN_BB_CLK3_PIN>;
|
||||
clock-names = "ref_clk";
|
||||
};
|
||||
};
|
||||
|
||||
&mdss_mdp {
|
||||
qcom,mdss-pref-prim-intf = "dsi";
|
||||
};
|
||||
|
||||
&mdss_dsi {
|
||||
hw-config = "split_dsi";
|
||||
};
|
||||
|
||||
&mdss_dsi0 {
|
||||
qcom,dsi-pref-prim-pan = <&dsi_dual_nt35597_truly_video>;
|
||||
pinctrl-names = "mdss_default", "mdss_sleep";
|
||||
pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
|
||||
pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
|
||||
qcom,platform-reset-gpio = <&tlmm 53 0>;
|
||||
qcom,platform-te-gpio = <&tlmm 59 0>;
|
||||
};
|
||||
|
||||
&mdss_dsi1 {
|
||||
qcom,dsi-pref-prim-pan = <&dsi_dual_nt35597_truly_video>;
|
||||
pinctrl-names = "mdss_default", "mdss_sleep";
|
||||
pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
|
||||
pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
|
||||
qcom,platform-reset-gpio = <&tlmm 53 0>;
|
||||
qcom,platform-te-gpio = <&tlmm 59 0>;
|
||||
};
|
||||
|
||||
&mdss_dp_ctrl {
|
||||
pinctrl-names = "mdss_dp_active", "mdss_dp_sleep";
|
||||
pinctrl-0 = <&mdss_dp_aux_active &mdss_dp_usbplug_cc_active>;
|
||||
pinctrl-1 = <&mdss_dp_aux_suspend &mdss_dp_usbplug_cc_suspend>;
|
||||
qcom,aux-en-gpio = <&tlmm 55 0>;
|
||||
qcom,aux-sel-gpio = <&tlmm 56 0>;
|
||||
qcom,usbplug-cc-gpio = <&tlmm 58 0>;
|
||||
};
|
||||
|
||||
&pm660l_wled {
|
||||
qcom,led-strings-list = [01 02];
|
||||
};
|
||||
|
||||
&dsi_dual_nt35597_truly_video {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,mdss-dsi-mode-sel-gpio-state = "dual_port";
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&dsi_dual_nt35597_truly_cmd {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,mdss-dsi-mode-sel-gpio-state = "dual_port";
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&dsi_dual_sharp_video {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&dsi_nt35597_truly_dsc_video {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&dsi_nt35597_truly_dsc_cmd {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&dsi_nt35695b_truly_fhd_video {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&dsi_nt35695b_truly_fhd_cmd {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&dsi_rm67195_amoled_fhd_cmd {
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply_labibb_amoled>;
|
||||
};
|
||||
|
||||
&dsi_lgd_incell_sw49106_fhd_video {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&sdhc_1 {
|
||||
/* device core power supply */
|
||||
vdd-supply = <&pm660l_l4>;
|
||||
qcom,vdd-voltage-level = <2950000 2950000>;
|
||||
qcom,vdd-current-level = <200 570000>;
|
||||
|
||||
/* device communication power supply */
|
||||
vdd-io-supply = <&pm660_l8>;
|
||||
qcom,vdd-io-always-on;
|
||||
qcom,vdd-io-lpm-sup;
|
||||
qcom,vdd-io-voltage-level = <1800000 1800000>;
|
||||
qcom,vdd-io-current-level = <200 325000>;
|
||||
|
||||
pinctrl-names = "active", "sleep";
|
||||
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on &sdc1_rclk_on>;
|
||||
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off &sdc1_rclk_off>;
|
||||
|
||||
qcom,clk-rates = <400000 20000000 25000000 50000000 100000000 192000000
|
||||
384000000>;
|
||||
|
||||
qcom,nonremovable;
|
||||
qcom,bus-speed-mode = "HS400_1p8v", "HS200_1p8v", "DDR_1p8v";
|
||||
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&sdhc_2 {
|
||||
/* device core power supply */
|
||||
vdd-supply = <&pm660l_l5>;
|
||||
qcom,vdd-voltage-level = <2950000 2950000>;
|
||||
qcom,vdd-current-level = <15000 800000>;
|
||||
|
||||
/* device communication power supply */
|
||||
vdd-io-supply = <&pm660l_l2>;
|
||||
qcom,vdd-io-voltage-level = <1800000 2950000>;
|
||||
qcom,vdd-io-current-level = <200 22000>;
|
||||
|
||||
pinctrl-names = "active", "sleep";
|
||||
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
|
||||
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
|
||||
|
||||
#address-cells = <0>;
|
||||
interrupt-parent = <&sdhc_2>;
|
||||
interrupts = <0 1 2>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-map-mask = <0xffffffff>;
|
||||
interrupt-map = <0 &intc 0 0 125 0
|
||||
1 &intc 0 0 221 0
|
||||
2 &tlmm 54 0>;
|
||||
interrupt-names = "hc_irq", "pwr_irq", "status_irq";
|
||||
cd-gpios = <&tlmm 54 0x1>;
|
||||
|
||||
qcom,clk-rates = <400000 20000000 25000000 50000000 100000000
|
||||
200000000>;
|
||||
qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
|
||||
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&soc {
|
||||
qcom,msm-ssc-sensors {
|
||||
compatible = "qcom,msm-ssc-sensors";
|
||||
};
|
||||
};
|
||||
|
||||
&mem_client_3_size {
|
||||
qcom,peripheral-size = <0xf00000>;
|
||||
};
|
||||
|
||||
&pm660_fg {
|
||||
qcom,battery-data = <&mtp_batterydata>;
|
||||
};
|
||||
|
||||
&i2c_2 {
|
||||
status = "ok";
|
||||
smb1351-charger@1d {
|
||||
compatible = "qcom,smb1351-charger";
|
||||
reg = <0x1d>;
|
||||
qcom,parallel-charger;
|
||||
qcom,float-voltage-mv = <4400>;
|
||||
qcom,recharge-mv = <100>;
|
||||
qcom,parallel-en-pin-polarity = <1>;
|
||||
};
|
||||
};
|
1839
arch/arm64/boot/dts/qcom/sdm660-pinctrl.dtsi
Normal file
1839
arch/arm64/boot/dts/qcom/sdm660-pinctrl.dtsi
Normal file
File diff suppressed because it is too large
Load Diff
803
arch/arm64/boot/dts/qcom/sdm660-pm.dtsi
Normal file
803
arch/arm64/boot/dts/qcom/sdm660-pm.dtsi
Normal file
@ -0,0 +1,803 @@
|
||||
/* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
&soc {
|
||||
qcom,spm@178120000 {
|
||||
compatible = "qcom,spm-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x17812000 0x1000>;
|
||||
qcom,name = "gold-l2"; /* Gold L2 SAW */
|
||||
qcom,saw2-ver-reg = <0xfd0>;
|
||||
qcom,cpu-vctl-list = <&CPU4 &CPU5 &CPU6 &CPU7>;
|
||||
qcom,vctl-timeout-us = <500>;
|
||||
qcom,vctl-port = <0x0>;
|
||||
qcom,phase-port = <0x1>;
|
||||
qcom,saw2-avs-ctl = <0x1010031>;
|
||||
qcom,saw2-avs-limit = <0x4580458>;
|
||||
qcom,pfm-port = <0x2>;
|
||||
};
|
||||
|
||||
qcom,spm@179120000 {
|
||||
compatible = "qcom,spm-v2";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x17912000 0x1000>;
|
||||
qcom,name = "silver-l2"; /* Silver L2 SAW */
|
||||
qcom,saw2-ver-reg = <0xfd0>;
|
||||
qcom,cpu-vctl-list = <&CPU0 &CPU1 &CPU2 &CPU3>;
|
||||
qcom,vctl-timeout-us = <500>;
|
||||
qcom,vctl-port = <0x0>;
|
||||
qcom,phase-port = <0x1>;
|
||||
qcom,saw2-avs-ctl = <0x1010031>;
|
||||
qcom,saw2-avs-limit = <0x4580458>;
|
||||
qcom,pfm-port = <0x2>;
|
||||
};
|
||||
|
||||
qcom,lpm-levels {
|
||||
compatible = "qcom,lpm-levels";
|
||||
qcom,use-psci;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
qcom,pm-cluster@0 {
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
label = "system";
|
||||
qcom,spm-device-names = "cci";
|
||||
qcom,psci-mode-shift = <8>;
|
||||
qcom,psci-mode-mask = <0xf>;
|
||||
|
||||
qcom,pm-cluster-level@0{
|
||||
reg = <0>;
|
||||
label = "system-wfi";
|
||||
qcom,psci-mode = <0x0>;
|
||||
qcom,latency-us = <1654>;
|
||||
qcom,ss-power = <219>;
|
||||
qcom,energy-overhead = <98750>;
|
||||
qcom,time-overhead = <2294>;
|
||||
};
|
||||
|
||||
qcom,pm-cluster-level@1{ /* E3 */
|
||||
reg = <1>;
|
||||
label = "system-pc";
|
||||
qcom,psci-mode = <0x3>;
|
||||
qcom,latency-us = <4506>;
|
||||
qcom,ss-power = <88>;
|
||||
qcom,energy-overhead = <1228536>;
|
||||
qcom,time-overhead = <15337>;
|
||||
qcom,min-child-idx = <3>;
|
||||
qcom,is-reset;
|
||||
qcom,notify-rpm;
|
||||
};
|
||||
|
||||
qcom,pm-cluster@0{
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
label = "pwr";
|
||||
qcom,spm-device-names = "l2";
|
||||
qcom,cpu = <&CPU0 &CPU1 &CPU2 &CPU3>;
|
||||
qcom,psci-mode-shift = <4>;
|
||||
qcom,psci-mode-mask = <0xf>;
|
||||
|
||||
qcom,pm-cluster-level@0{ /* D1 */
|
||||
reg = <0>;
|
||||
label = "pwr-l2-wfi";
|
||||
qcom,psci-mode = <0x1>;
|
||||
qcom,latency-us = <51>;
|
||||
qcom,ss-power = <250>;
|
||||
qcom,energy-overhead = <83452>;
|
||||
qcom,time-overhead = <89>;
|
||||
};
|
||||
qcom,pm-cluster-level@1{ /* D2D */
|
||||
reg = <1>;
|
||||
label = "pwr-l2-dynret";
|
||||
qcom,psci-mode = <0x2>;
|
||||
qcom,latency-us = <421>;
|
||||
qcom,ss-power = <235>;
|
||||
qcom,energy-overhead = <219416>;
|
||||
qcom,time-overhead = <781>;
|
||||
qcom,min-child-idx = <1>;
|
||||
};
|
||||
|
||||
qcom,pm-cluster-level@2{ /* D2E */
|
||||
reg = <2>;
|
||||
label = "pwr-l2-ret";
|
||||
qcom,psci-mode = <0x3>;
|
||||
qcom,latency-us = <517>;
|
||||
qcom,ss-power = <226>;
|
||||
qcom,energy-overhead= <299405>;
|
||||
qcom,time-overhead = <922>;
|
||||
qcom,min-child-idx = <2>;
|
||||
};
|
||||
|
||||
qcom,pm-cluster-level@3{ /* D4 */
|
||||
reg = <3>;
|
||||
label = "pwr-l2-pc";
|
||||
qcom,psci-mode = <0x4>;
|
||||
qcom,latency-us = <2118>;
|
||||
qcom,ss-power = <210>;
|
||||
qcom,energy-overhead = <833056>;
|
||||
qcom,time-overhead = <2918>;
|
||||
qcom,min-child-idx = <2>;
|
||||
qcom,is-reset;
|
||||
};
|
||||
|
||||
qcom,pm-cpu {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
qcom,psci-mode-shift = <0>;
|
||||
qcom,psci-mode-mask = <0xf>;
|
||||
|
||||
qcom,pm-cpu-level@0 { /* C1 */
|
||||
reg = <0>;
|
||||
qcom,spm-cpu-mode = "wfi";
|
||||
qcom,psci-cpu-mode = <0x1>;
|
||||
qcom,latency-us = <42>;
|
||||
qcom,ss-power = <250>;
|
||||
qcom,energy-overhead = <30562>;
|
||||
qcom,time-overhead = <91>;
|
||||
};
|
||||
|
||||
qcom,pm-cpu-level@1 { /* C2D */
|
||||
reg = <1>;
|
||||
qcom,psci-cpu-mode = <2>;
|
||||
qcom,spm-cpu-mode = "ret";
|
||||
qcom,latency-us = <63>;
|
||||
qcom,ss-power = <245>;
|
||||
qcom,energy-overhead = <49239>;
|
||||
qcom,time-overhead = <172>;
|
||||
};
|
||||
|
||||
qcom,pm-cpu-level@2 { /* C3 */
|
||||
reg = <2>;
|
||||
qcom,spm-cpu-mode = "pc";
|
||||
qcom,psci-cpu-mode = <0x3>;
|
||||
qcom,latency-us = <376>;
|
||||
qcom,ss-power = <237>;
|
||||
qcom,energy-overhead = <181018>;
|
||||
qcom,time-overhead = <666>;
|
||||
qcom,is-reset;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
qcom,pm-cluster@1{
|
||||
reg = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
label = "perf";
|
||||
qcom,spm-device-names = "l2";
|
||||
qcom,cpu = <&CPU4 &CPU5 &CPU6 &CPU7>;
|
||||
qcom,psci-mode-shift = <4>;
|
||||
qcom,psci-mode-mask = <0xf>;
|
||||
|
||||
qcom,pm-cluster-level@0{ /* D1 */
|
||||
reg = <0>;
|
||||
label = "perf-l2-wfi";
|
||||
qcom,psci-mode = <0x1>;
|
||||
qcom,latency-us = <51>;
|
||||
qcom,ss-power = <283>;
|
||||
qcom,energy-overhead = <83083>;
|
||||
qcom,time-overhead = <89>;
|
||||
};
|
||||
|
||||
qcom,pm-cluster-level@1{ /* D2D */
|
||||
reg = <1>;
|
||||
label = "perf-l2-dynret";
|
||||
qcom,psci-mode = <2>;
|
||||
qcom,latency-us = <345>;
|
||||
qcom,ss-power = <254>;
|
||||
qcom,energy-overhead = <198349>;
|
||||
qcom,time-overhead = <659>;
|
||||
qcom,min-child-idx = <1>;
|
||||
};
|
||||
|
||||
qcom,pm-cluster-level@2{ /* D2E */
|
||||
reg = <2>;
|
||||
label = "perf-l2-ret";
|
||||
qcom,psci-mode = <3>;
|
||||
qcom,latency-us = <419>;
|
||||
qcom,ss-power = <244>;
|
||||
qcom,energy-overhead = <281921>;
|
||||
qcom,time-overhead = <737>;
|
||||
qcom,min-child-idx = <2>;
|
||||
};
|
||||
|
||||
qcom,pm-cluster-level@3{ /* D4 */
|
||||
reg = <3>;
|
||||
label = "perf-l2-pc";
|
||||
qcom,psci-mode = <0x4>;
|
||||
qcom,latency-us = <1654>;
|
||||
qcom,ss-power = <219>;
|
||||
qcom,energy-overhead = <815573>;
|
||||
qcom,time-overhead = <2294>;
|
||||
qcom,min-child-idx = <2>;
|
||||
qcom,is-reset;
|
||||
};
|
||||
|
||||
qcom,pm-cpu {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
qcom,psci-mode-shift = <0>;
|
||||
qcom,psci-mode-mask = <0xf>;
|
||||
|
||||
qcom,pm-cpu-level@0 { /* C1 */
|
||||
reg = <0>;
|
||||
qcom,spm-cpu-mode = "wfi";
|
||||
qcom,psci-cpu-mode = <0x1>;
|
||||
qcom,latency-us = <39>;
|
||||
qcom,ss-power = <292>;
|
||||
qcom,energy-overhead = <37558>;
|
||||
qcom,time-overhead = <68>;
|
||||
};
|
||||
|
||||
qcom,pm-cpu-level@1 { /* C2D */
|
||||
reg = <1>;
|
||||
qcom,psci-cpu-mode = <2>;
|
||||
qcom,spm-cpu-mode = "ret";
|
||||
qcom,latency-us = <60>;
|
||||
qcom,ss-power = <275>;
|
||||
qcom,energy-overhead = <70737>;
|
||||
qcom,time-overhead = <181>;
|
||||
};
|
||||
|
||||
qcom,pm-cpu-level@2 { /* C3 */
|
||||
reg = <2>;
|
||||
qcom,spm-cpu-mode = "pc";
|
||||
qcom,psci-cpu-mode = <0x3>;
|
||||
qcom,latency-us = <324>;
|
||||
qcom,ss-power = <263>;
|
||||
qcom,energy-overhead = <213213>;
|
||||
qcom,time-overhead = <621>;
|
||||
qcom,is-reset;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
qcom,rpm-stats@200000 {
|
||||
compatible = "qcom,rpm-stats";
|
||||
reg = <0x200000 0x1000>,
|
||||
<0x290014 0x4>,
|
||||
<0x29001c 0x4>;
|
||||
reg-names = "phys_addr_base",
|
||||
"offset_addr",
|
||||
"heap_phys_addrbase";
|
||||
qcom,sleep-stats-version = <2>;
|
||||
};
|
||||
|
||||
qcom,rpm-master-stats@778150 {
|
||||
compatible = "qcom,rpm-master-stats";
|
||||
reg = <0x778150 0x5000>;
|
||||
qcom,masters = "APSS", "MPSS", "ADSP", "CDSP", "TZ";
|
||||
qcom,master-stats-version = <2>;
|
||||
qcom,master-offset = <4096>;
|
||||
};
|
||||
|
||||
/* TODO review changed values */
|
||||
rpm_msg_ram: memory@0x778000 {
|
||||
compatible = "qcom,rpm-msg-ram";
|
||||
reg = <0x778000 0x7000>;
|
||||
};
|
||||
|
||||
rpm_code_ram: rpm-memory@0x778000 {
|
||||
compatible = "qcom,rpm-code-ram";
|
||||
reg = <0x778000 0x5000>;
|
||||
};
|
||||
|
||||
qcom,system-stats {
|
||||
compatible = "qcom,system-stats";
|
||||
qcom,rpm-msg-ram = <&rpm_msg_ram>;
|
||||
qcom,rpm-code-ram = <&rpm_code_ram>;
|
||||
qcom,masters = "APSS", "MPSS", "ADSP", "CDSP", "TZ";
|
||||
};
|
||||
|
||||
qcom,mpm@7781b8 {
|
||||
compatible = "qcom,mpm-v2";
|
||||
reg = <0x7781b8 0x1000>, /* MSM_RPM_MPM_BASE 4K */
|
||||
<0x17911008 0x4>; /* MSM_APCS_GCC_BASE 4K */
|
||||
reg-names = "vmpm", "ipc";
|
||||
interrupts = <GIC_SPI 171 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&clock_rpmcc CXO_SMD_LPM_CLK>;
|
||||
clock-names = "xo";
|
||||
qcom,num-mpm-irqs = <96>;
|
||||
|
||||
qcom,ipc-bit-offset = <1>;
|
||||
|
||||
qcom,gic-parent = <&intc>;
|
||||
qcom,gic-map =
|
||||
<0x02 216>, /* tsens1_tsens_upper_lower_int */
|
||||
<0x34 275>, /* qmp_usb3_lfps_rxterm_irq_cx */
|
||||
<0x3d 209>, /* lpi_dir_conn_irq_apps[1] */
|
||||
<0x4f 379>, /* qusb2phy_intr for Dm */
|
||||
<0x50 380>, /* qusb2phy_intr for Dm for secondary PHY */
|
||||
<0x51 379>, /* qusb2phy_intr for Dp */
|
||||
<0x52 380>, /* qusb2phy_intr for Dp for secondary PHY */
|
||||
<0x57 358>, /* ee0_apps_hlos_spmi_periph_irq */
|
||||
<0x5b 519>, /* lpass_pmu_tmr_timeout_irq_cx */
|
||||
<0xff 16>, /* APC[0-7]_qgicQTmrHypPhysIrptReq */
|
||||
<0xff 17>, /* APC[0-7]_qgicQTmrSecPhysIrptReq */
|
||||
<0xff 18>, /* APC[0-7]_qgicQTmrNonSecPhysIrptReq */
|
||||
<0xff 19>, /* APC[0-7]_qgicQTmrVirtIrptReq */
|
||||
<0xff 20>, /* APC[0-7]_dbgCommRxFull */
|
||||
<0xff 21>, /* APC[0-7]_dbgCommTxEmpty */
|
||||
<0xff 22>, /* APC[0-7]_qgicPerfMonIrptReq */
|
||||
<0xff 23>, /* corespm_vote_int[0-7] */
|
||||
<0xff 24>, /* APC[0-3]_qgicExtFaultIrptReq */
|
||||
<0xff 28>, /* qgicWakeupSync[0-7] */
|
||||
<0xff 29>, /* APCC_cti_SPI_intx[0-7] */
|
||||
<0xff 30>, /* APCC_cti_SPI_inty[0-7] */
|
||||
<0xff 32>, /* l2spm_vote_int[0] */
|
||||
<0xff 33>, /* l2spm_vote_int[1] */
|
||||
<0xff 34>, /* APCC_qgicL2ErrorIrptReq */
|
||||
<0xff 35>, /* WDT_barkInt */
|
||||
<0xff 36>, /* WDT_biteExpired */
|
||||
<0xff 39>, /* QTMR_qgicFrm0VirtIrq */
|
||||
<0xff 40>, /* QTMR_qgicFrm0PhyIrq */
|
||||
<0xff 41>, /* QTMR_qgicFrm1PhyIrq */
|
||||
<0xff 42>, /* QTMR_qgicFrm2PhyIrq */
|
||||
<0xff 43>, /* QTMR_qgicFrm3PhyIrq */
|
||||
<0xff 44>, /* QTMR_qgicFrm4PhyIrq */
|
||||
<0xff 45>, /* QTMR_qgicFrm5PhyIrq */
|
||||
<0xff 46>, /* QTMR_qgicFrm6PhyIrq */
|
||||
<0xff 47>, /* rbif_Irq[0] */
|
||||
<0xff 48>, /* rbif_Irq[1] */
|
||||
<0xff 49>, /* rbif_Irq[2] */
|
||||
<0xff 50>, /* rbif_Irq[3] */
|
||||
<0xff 51>, /* rbif_Irq[4] */
|
||||
<0xff 52>, /* cci_spm_vote_summary_int */
|
||||
<0xff 54>, /* nERRORIRQ */
|
||||
<0xff 55>, /* nEVNTCNTOVERFLOW_cci */
|
||||
<0xff 56>, /* QTMR_qgicFrm0VirtIrq */
|
||||
<0xff 57>, /* QTMR_qgicFrm0PhyIrq */
|
||||
<0xff 58>, /* QTMR_qgicFrm1PhyIrq */
|
||||
<0xff 59>, /* QTMR_qgicFrm2PhyIrq */
|
||||
<0xff 60>, /* QTMR_qgicFrm3PhyIrq */
|
||||
<0xff 61>, /* QTMR_qgicFrm4PhyIrq */
|
||||
<0xff 62>, /* QTMR_qgicFrm5PhyIrq */
|
||||
<0xff 63>, /* QTMR_qgicFrm6PhyIrq */
|
||||
<0xff 64>, /* wakeup_counter_irq_OR */
|
||||
<0xff 65>, /* APC[0-3]_vs_alarm */
|
||||
<0xff 66>, /* apc1_vs_alarm */
|
||||
<0xff 67>, /* o_pwr_osm_irq */
|
||||
<0xff 68>, /* o_perf_osm_irq */
|
||||
<0xff 69>, /* o_pwr_dcvsh_interrupt */
|
||||
<0xff 70>, /* o_perf_dcvsh_interrupt */
|
||||
<0xff 73>, /* L2_EXTERRIRQ_C0 */
|
||||
<0xff 74>, /* L2_EXTERRIRQ_C1 */
|
||||
<0xff 75>, /* L2_INTERRIRQ_C0 */
|
||||
<0xff 76>, /* L2_INTERRIRQ_C1 */
|
||||
<0xff 77>, /* L2SPM_svicInt[0] */
|
||||
<0xff 78>, /* L2SPM_svicInt[1] */
|
||||
<0xff 79>, /* L2SPM_svicIntSwDone[0] */
|
||||
<0xff 80>, /* L2SPM_svicIntSwDone[1] */
|
||||
<0xff 81>, /* l2_avs_err[0] */
|
||||
<0xff 82>, /* l2_avs_err[1] */
|
||||
<0xff 83>, /* l2_avs_ack[0] */
|
||||
<0xff 84>, /* l2_avs_ack[1] */
|
||||
<0xff 98>, /* o_qm_interrupt */
|
||||
<0xff 100>, /* camss_vbif_1_irpt */
|
||||
<0xff 101>, /* processor_1_user_int */
|
||||
<0xff 102>, /* processor_1_kernel_int */
|
||||
<0xff 106>, /* dir_conn_irq_lpa_dsp[2] */
|
||||
<0xff 107>, /* dir_conn_irq_lpa_dsp[1] */
|
||||
<0xff 109>, /* camss_vbif_0_irpt */
|
||||
<0xff 110>, /* csiphy_0_irq */
|
||||
<0xff 111>, /* csiphy_1_irq */
|
||||
<0xff 112>, /* csiphy_2_irq */
|
||||
<0xff 115>, /* mdss_irq */
|
||||
<0xff 116>, /* mdss_vbif_irpt */
|
||||
<0xff 117>, /* dir_conn_irq_lpa_dsp[0] */
|
||||
<0xff 119>, /* lpass_irq_out_apcs[11] */
|
||||
<0xff 122>, /* o_pimem_tpdm_bc_irq_ofsat */
|
||||
<0xff 123>, /* o_pimem_tpdm_tc_irq_ofsat */
|
||||
<0xff 124>, /* dir_conn_irq_sensors[1] */
|
||||
<0xff 125>, /* dir_conn_irq_sensors[0] */
|
||||
<0xff 127>, /* peripheral_irq[2] */
|
||||
<0xff 128>, /* peripheral_irq[3] */
|
||||
<0xff 129>, /* peripheral_irq[4] */
|
||||
<0xff 130>, /* peripheral_irq[5] */
|
||||
<0xff 133>, /* peripheral_irq[2] */
|
||||
<0xff 134>, /* peripheral_irq[3] */
|
||||
<0xff 135>, /* peripheral_irq[4] */
|
||||
<0xff 136>, /* peripheral_irq[5] */
|
||||
<0xff 139>, /* peripheral_irq[0] */
|
||||
<0xff 140>, /* peripheral_irq[1] */
|
||||
<0xff 142>, /* sdcc_irq[0] */
|
||||
<0xff 143>, /* sdcc_irq[1] */
|
||||
<0xff 144>, /* sdcc_pwr_cmd_irq */
|
||||
<0xff 145>, /* peripheral_irq[0] */
|
||||
<0xff 146>, /* peripheral_irq[1] */
|
||||
<0xff 148>, /* osmmu_CIrpt[4] */
|
||||
<0xff 149>, /* osmmu_CIrpt[5] */
|
||||
<0xff 150>, /* sdio_wakeup_irq */
|
||||
<0xff 151>, /* acvremoval_int */
|
||||
<0xff 152>, /* trs_int */
|
||||
<0xff 155>, /* dir_conn_irq_lpa_dsp[5] */
|
||||
<0xff 156>, /* dir_conn_irq_lpa_dsp[4] */
|
||||
<0xff 157>, /* sdcc_irq[0] */
|
||||
<0xff 158>, /* sdcc_irq[1] */
|
||||
<0xff 159>, /* lpass_irq_out_apcs[39] */
|
||||
<0xff 160>, /* lpass_irq_out_apcs[38] */
|
||||
<0xff 163>, /* usb30_ctrl_irq[0] */
|
||||
<0xff 164>, /* usb30_bam_irq[0] */
|
||||
<0xff 165>, /* usb30_hs_phy_irq */
|
||||
<0xff 166>, /* o_lm_int_2qgic */
|
||||
<0xff 169>, /* lpass_irq_out_apcs[33] */
|
||||
<0xff 171>, /* usb20s_hs_phy_irq */
|
||||
<0xff 172>, /* dcvs_int[6] */
|
||||
<0xff 173>, /* dcvs_int[7] */
|
||||
<0xff 175>, /* usb20s_ee1_irq */
|
||||
<0xff 176>, /* usb20s_power_event_irq */
|
||||
<0xff 184>, /* dir_conn_irq_lpa_dsp[3] */
|
||||
<0xff 185>, /* camss_vbif_2_irpt */
|
||||
<0xff 186>, /* mnoc_obs_mainfault */
|
||||
<0xff 188>, /* lpass_irq_out_apcs[00] */
|
||||
<0xff 189>, /* lpass_irq_out_apcs[01] */
|
||||
<0xff 190>, /* lpass_irq_out_apcs[02] */
|
||||
<0xff 191>, /* lpass_irq_out_apcs[03] */
|
||||
<0xff 192>, /* lpass_irq_out_apcs[04] */
|
||||
<0xff 193>, /* lpass_irq_out_apcs[05] */
|
||||
<0xff 194>, /* lpass_irq_out_apcs[06] */
|
||||
<0xff 195>, /* lpass_irq_out_apcs[07] */
|
||||
<0xff 196>, /* lpass_irq_out_apcs[08] */
|
||||
<0xff 197>, /* lpass_irq_out_apcs[09] */
|
||||
<0xff 199>, /* qdss_usb_trace_bam_irq[0] */
|
||||
<0xff 200>, /* rpm_ipc[4] */
|
||||
<0xff 201>, /* rpm_ipc[5] */
|
||||
<0xff 202>, /* rpm_ipc[6] */
|
||||
<0xff 203>, /* rpm_ipc[7] */
|
||||
<0xff 204>, /* rpm_ipc[20] */
|
||||
<0xff 205>, /* rpm_ipc[21] */
|
||||
<0xff 206>, /* rpm_ipc[22] */
|
||||
<0xff 207>, /* rpm_ipc[23] */
|
||||
<0xff 208>, /* lpi_dir_conn_irq_apps[0] */
|
||||
<0xff 210>, /* lpi_dir_conn_irq_apps[2] */
|
||||
<0xff 212>, /* usb30s_power_event_irq */
|
||||
<0xff 213>, /* secure_wdog_bark_irq */
|
||||
<0xff 214>, /* tsens1_tsens_max_min_int */
|
||||
<0xff 215>, /* o_bimc_intr[0] */
|
||||
<0xff 217>, /* o_ocimem_nonsec_irq */
|
||||
<0xff 218>, /* cpr_irq[1] */
|
||||
<0xff 219>, /* lpass_irq_out_vmm[00] */
|
||||
<0xff 220>, /* spmi_protocol_irq */
|
||||
<0xff 221>, /* lpass_irq_out_vmm[01] */
|
||||
<0xff 222>, /* lpass_irq_out_vmm[02] */
|
||||
<0xff 223>, /* spdm_offline_irq */
|
||||
<0xff 224>, /* spdm_realtime_irq[1] */
|
||||
<0xff 225>, /* snoc_obs_mainFault */
|
||||
<0xff 226>, /* cnoc_obs_mainFault */
|
||||
<0xff 227>, /* o_tcsr_xpu3_sec_summary_intr */
|
||||
<0xff 228>, /* o_tcsr_xpu3_non_sec_summary_intr */
|
||||
<0xff 229>, /* o_timeout_slave_hmss_summary_intr */
|
||||
<0xff 230>, /* o_tcsr_vmidmt_client_sec_summary_intr */
|
||||
<0xff 231>, /* o_tcsr_vmidmt_client_nsec_summary_intr */
|
||||
<0xff 232>, /* o_tcsr_vmidmt_cfg_sec_summary_intr */
|
||||
<0xff 233>, /* o_tcsr_vmidmt_cfg_non_sec_summary_intr */
|
||||
<0xff 234>, /* lpass_irq_out_vmm[03] */
|
||||
<0xff 235>, /* cpr_irq[0] */
|
||||
<0xff 236>, /* crypto_core_irq[0] */
|
||||
<0xff 237>, /* crypto_core_irq[1] */
|
||||
<0xff 238>, /* crypto_bam_irq[0] */
|
||||
<0xff 239>, /* crypto_bam_irq[1] */
|
||||
<0xff 240>, /* summary_irq_hmss */
|
||||
<0xff 241>, /* dir_conn_irq_hmss[7] */
|
||||
<0xff 242>, /* dir_conn_irq_hmss[6] */
|
||||
<0xff 243>, /* dir_conn_irq_hmss[5] */
|
||||
<0xff 244>, /* dir_conn_irq_hmss[4] */
|
||||
<0xff 245>, /* dir_conn_irq_hmss[3] */
|
||||
<0xff 246>, /* dir_conn_irq_hmss[2] */
|
||||
<0xff 247>, /* dir_conn_irq_hmss[1] */
|
||||
<0xff 248>, /* dir_conn_irq_hmss[0] */
|
||||
<0xff 249>, /* summary_irq_hmss_tz */
|
||||
<0xff 250>, /* cpr_irq[3] */
|
||||
<0xff 251>, /* cpr_irq[2] */
|
||||
<0xff 252>, /* cpr_irq[1] */
|
||||
<0xff 253>, /* sdcc_pwr_cmd_irq */
|
||||
<0xff 254>, /* sdio_wakeup_irq */
|
||||
<0xff 255>, /* cpr_irq[0] */
|
||||
<0xff 256>, /* lpass_irq_out_apcs[34] */
|
||||
<0xff 257>, /* lpass_irq_out_apcs[35] */
|
||||
<0xff 258>, /* lpass_irq_out_apcs[21] */
|
||||
<0xff 261>, /* o_tcsr_mmu_nsgcfglrpt_summary_intr */
|
||||
<0xff 262>, /* o_tcsr_mmu_gcfglrpt_summary_intr */
|
||||
<0xff 263>, /* o_tcsr_mmu_nsglrpt_summary_intr */
|
||||
<0xff 264>, /* o_tcsr_mmu_glrpt_summary_intr */
|
||||
<0xff 265>, /* vbif_irpt */
|
||||
<0xff 266>, /* lpass_irq_out_apcs[20] */
|
||||
<0xff 267>, /* lpass_irq_out_apcs[19] */
|
||||
<0xff 269>, /* rpm_wdog_expired_irq */
|
||||
<0xff 270>, /* bam_irq[0] */
|
||||
<0xff 271>, /* bam_irq[0] */
|
||||
<0xff 276>, /* mmss_bimc_smmu_cirpt[4] */
|
||||
<0xff 277>, /* mmss_bimc_smmu_cirpt[5] */
|
||||
<0xff 278>, /* usb30_ctrl_irq[1] */
|
||||
<0xff 279>, /* mmss_bimc_smmu_cirpt[6] */
|
||||
<0xff 280>, /* mmss_bimc_smmu_cirpt[7] */
|
||||
<0xff 281>, /* mmss_bimc_smmu_cirpt[8] */
|
||||
<0xff 282>, /* mmss_bimc_smmu_cirpt[9] */
|
||||
<0xff 283>, /* mmss_bimc_smmu_cirpt[10] */
|
||||
<0xff 284>, /* mmss_bimc_smmu_cirpt[11] */
|
||||
<0xff 285>, /* mmss_bimc_smmu_cirpt[12] */
|
||||
<0xff 286>, /* mmss_bimc_smmu_cirpt[13] */
|
||||
<0xff 287>, /* mmss_bimc_smmu_cirpt[14] */
|
||||
<0xff 288>, /* mmss_bimc_smmu_cirpt[15] */
|
||||
<0xff 289>, /* ufs_ice_sec_level_irq */
|
||||
<0xff 291>, /* lpass_irq_out_apcs[18] */
|
||||
<0xff 292>, /* mmss_bimc_smmu_cirpt[16] */
|
||||
<0xff 293>, /* mmss_bimc_smmu_cirpt[17] */
|
||||
<0xff 294>, /* mmss_bimc_smmu_cirpt[18] */
|
||||
<0xff 295>, /* mmss_bimc_smmu_cirpt[0] */
|
||||
<0xff 296>, /* mmss_bimc_smmu_pmirpt */
|
||||
<0xff 297>, /* ufs_intrq */
|
||||
<0xff 298>, /* mmss_bimc_smmu_cirpt[1] */
|
||||
<0xff 299>, /* mmss_bimc_smmu_cirpt[2] */
|
||||
<0xff 300>, /* mmss_bimc_smmu_cirpt[3] */
|
||||
<0xff 301>, /* lpass_irq_out_apcs[17] */
|
||||
<0xff 302>, /* qdss_etrbytecnt_irq */
|
||||
<0xff 303>, /* lpass_irq_out_apcs[16] */
|
||||
<0xff 304>, /* mmss_bimc_smmu_cirpt[19] */
|
||||
<0xff 305>, /* mmss_bimc_smmu_cirpt[20] */
|
||||
<0xff 306>, /* mmss_bimc_smmu_cirpt[21] */
|
||||
<0xff 307>, /* mmss_bimc_smmu_cirpt[22] */
|
||||
<0xff 308>, /* mmss_bimc_smmu_cirpt[23] */
|
||||
<0xff 316>, /* lpass_irq_out_apcs[13] */
|
||||
<0xff 317>, /* rbif_irq */
|
||||
<0xff 318>, /* gpu_cc_gpu_cx_gds_hw_ctrl_irq_out */
|
||||
<0xff 319>, /* venus0_irq */
|
||||
<0xff 323>, /* lpass_irq_out_apcs[14] */
|
||||
<0xff 324>, /* lpass_irq_out_apcs[15] */
|
||||
<0xff 325>, /* camss_irq18 */
|
||||
<0xff 326>, /* camss_irq0 */
|
||||
<0xff 327>, /* camss_irq1 */
|
||||
<0xff 328>, /* camss_irq2 */
|
||||
<0xff 329>, /* camss_irq3 */
|
||||
<0xff 330>, /* camss_irq4 */
|
||||
<0xff 331>, /* camss_irq5 */
|
||||
<0xff 332>, /* GC_SYS_irq[0] */
|
||||
<0xff 333>, /* GC_SYS_irq[1] */
|
||||
<0xff 334>, /* GC_SYS_irq[2] */
|
||||
<0xff 335>, /* GC_SYS_irq[3] */
|
||||
<0xff 336>, /* camss_irq13 */
|
||||
<0xff 337>, /* camss_irq14 */
|
||||
<0xff 338>, /* camss_irq15 */
|
||||
<0xff 339>, /* camss_irq16 */
|
||||
<0xff 340>, /* camss_irq17 */
|
||||
<0xff 341>, /* camss_irq6 */
|
||||
<0xff 342>, /* lpass_irq_out_apcs[36] */
|
||||
<0xff 345>, /* camss_irq7 */
|
||||
<0xff 346>, /* camss_irq8 */
|
||||
<0xff 347>, /* camss_irq9 */
|
||||
<0xff 348>, /* camss_irq10 */
|
||||
<0xff 350>, /* camss_irq12 */
|
||||
<0xff 351>, /* lpass_irq_out_apcs[12] */
|
||||
<0xff 357>, /* o_pimem_nonfatal_irq */
|
||||
<0xff 359>, /* ee1_apps_trustzone_spmi_periph_irq */
|
||||
<0xff 360>, /* o_pimem_fatal_irq */
|
||||
<0xff 361>, /* osmmu_CIrpt[0] */
|
||||
<0xff 362>, /* osmmu_CIrpt[1] */
|
||||
<0xff 363>, /* osmmu_CIrpt[2] */
|
||||
<0xff 364>, /* osmmu_CIrpt[3] */
|
||||
<0xff 365>, /* ipa_irq[0] */
|
||||
<0xff 366>, /* osmmu_PMIrpt */
|
||||
<0xff 381>, /* osmmu_CIrpt[6] */
|
||||
<0xff 382>, /* osmmu_CIrpt[7] */
|
||||
<0xff 385>, /* osmmu_CIrpt[12] */
|
||||
<0xff 386>, /* osmmu_CIrpt[13] */
|
||||
<0xff 387>, /* osmmu_CIrpt[14] */
|
||||
<0xff 388>, /* osmmu_CIrpt[15] */
|
||||
<0xff 389>, /* osmmu_CIrpt[16] */
|
||||
<0xff 390>, /* osmmu_CIrpt[17] */
|
||||
<0xff 391>, /* osmmu_CIrpt[18] */
|
||||
<0xff 392>, /* osmmu_CIrpt[19] */
|
||||
<0xff 393>, /* o_dcc_crc_fail_int */
|
||||
<0xff 404>, /* aggre2noc_obs_mainFault */
|
||||
<0xff 405>, /* osmmu_CIrpt[0] */
|
||||
<0xff 406>, /* osmmu_CIrpt[1] */
|
||||
<0xff 407>, /* osmmu_CIrpt[2] */
|
||||
<0xff 408>, /* osmmu_CIrpt[3] */
|
||||
<0xff 409>, /* osmmu_CIrpt[4] */
|
||||
<0xff 410>, /* osmmu_CIrpt[5] */
|
||||
<0xff 411>, /* o_dcc_task_done_int */
|
||||
<0xff 412>, /* vsense_apps_alarm_irq */
|
||||
<0xff 413>, /* osmmu_PMIrpt */
|
||||
<0xff 414>, /* channel0_apps_hlos_trans_done_irq */
|
||||
<0xff 415>, /* channel1_apps_trustzone_trans_done_irq */
|
||||
<0xff 416>, /* rpm_ipc[28] */
|
||||
<0xff 417>, /* rpm_ipc[29] */
|
||||
<0xff 418>, /* rpm_ipc[30] */
|
||||
<0xff 419>, /* rpm_ipc[31] */
|
||||
<0xff 423>, /* lpass_irq_out_apcs[40] */
|
||||
<0xff 424>, /* ipa_irq[2] */
|
||||
<0xff 425>, /* lpass_irq_out_apcs[22] */
|
||||
<0xff 426>, /* lpass_irq_out_apcs[23] */
|
||||
<0xff 427>, /* lpass_irq_out_apcs[24] */
|
||||
<0xff 428>, /* lpass_irq_out_apcs[25] */
|
||||
<0xff 429>, /* lpass_irq_out_apcs[26] */
|
||||
<0xff 430>, /* lpass_irq_out_apcs[27] */
|
||||
<0xff 431>, /* lpass_irq_out_apcs[28] */
|
||||
<0xff 432>, /* lpass_irq_out_apcs[29] */
|
||||
<0xff 433>, /* lpass_irq_out_apcs[30] */
|
||||
<0xff 434>, /* lpass_irq_out_apcs[31] */
|
||||
<0xff 435>, /* lpass_irq_out_apcs[32] */
|
||||
<0xff 436>, /* lpass_irq_out_apcs[37] */
|
||||
<0xff 445>, /* wcss_apss_ce_intr[0] */
|
||||
<0xff 446>, /* wcss_apss_ce_intr[1] */
|
||||
<0xff 447>, /* wcss_apss_ce_intr[2] */
|
||||
<0xff 448>, /* wcss_apss_ce_intr[3] */
|
||||
<0xff 449>, /* wcss_apss_ce_intr[4] */
|
||||
<0xff 450>, /* wcss_apss_ce_intr[5] */
|
||||
<0xff 452>, /* wcss_apss_ce_intr[6] */
|
||||
<0xff 453>, /* wcss_apss_ce_intr[7] */
|
||||
<0xff 454>, /* wcss_apss_ce_intr[8] */
|
||||
<0xff 455>, /* wcss_apss_ce_intr[9] */
|
||||
<0xff 456>, /* wcss_apss_ce_intr[10] */
|
||||
<0xff 457>, /* wcss_apss_ce_intr[11] */
|
||||
<0xff 458>, /* wcss_apss_status_intr */
|
||||
<0xff 462>, /* tsens1_tsens_critical_int */
|
||||
<0xff 464>, /* ipa_bam_irq[0] */
|
||||
<0xff 465>, /* ipa_bam_irq[2] */
|
||||
<0xff 466>, /* ssc_uart_int */
|
||||
<0xff 468>, /* cri_cm_irq_tz */
|
||||
<0xff 469>, /* cri_cm_irq_hyp */
|
||||
<0xff 471>, /* mmss_bimc_smmu_gds_hw_ctrl_irq_out */
|
||||
<0xff 472>, /* gcc_gds_hw_ctrl_irq_out */
|
||||
<0xff 474>, /* osmmu_CIrpt[20] */
|
||||
<0xff 475>, /* osmmu_CIrpt[21] */
|
||||
<0xff 476>, /* osmmu_CIrpt[22] */
|
||||
<0xff 477>, /* tsens0_tsens_critical_int */
|
||||
<0xff 478>, /* tsens0_tsens_max_min_int */
|
||||
<0xff 479>, /* osmmu_CIrpt[23] */
|
||||
<0xff 480>, /* q6_wdog_expired_irq */
|
||||
<0xff 481>, /* mss_ipc_out_irq[4] */
|
||||
<0xff 482>, /* mss_ipc_out_irq[5] */
|
||||
<0xff 483>, /* mss_ipc_out_irq[6] */
|
||||
<0xff 484>, /* mss_ipc_out_irq[7] */
|
||||
<0xff 485>, /* mss_ipc_out_irq[28] */
|
||||
<0xff 486>, /* mss_ipc_out_irq[29] */
|
||||
<0xff 487>, /* mss_ipc_out_irq[30] */
|
||||
<0xff 488>, /* mss_ipc_out_irq[31] */
|
||||
<0xff 490>, /* tsens0_tsens_upper_lower_int */
|
||||
<0xff 491>, /* qspi_irq0 */
|
||||
<0xff 492>, /* sdcc_ice_sec_level_irq */
|
||||
<0xff 494>, /* osmmu_CIrpt[6] */
|
||||
<0xff 495>, /* osmmu_CIrpt[7] */
|
||||
<0xff 496>, /* osmmu_CIrpt[8] */
|
||||
<0xff 497>, /* osmmu_CIrpt[9] */
|
||||
<0xff 498>, /* osmmu_CIrpt[10] */
|
||||
<0xff 499>, /* osmmu_CIrpt[11] */
|
||||
<0xff 500>, /* osmmu_CIrpt[24] */
|
||||
<0xff 501>, /* osmmu_CIrpt[25] */
|
||||
<0xff 503>, /* o_bimc_intr[1] */
|
||||
<0xff 504>, /* osmmu_CIrpt[26] */
|
||||
<0xff 505>, /* osmmu_CIrpt[27] */
|
||||
<0xff 506>, /* osmmu_CIrpt[28] */
|
||||
<0xff 512>, /* turing_irq_out_vmm[0] */
|
||||
<0xff 513>, /* turing_irq_out_vmm[1] */
|
||||
<0xff 514>, /* turing_irq_out_vmm[2] */
|
||||
<0xff 515>, /* turing_irq_out_vmm[3] */
|
||||
<0xff 516>, /* lpass_irq_out_apcs[41] */
|
||||
<0xff 517>, /* lpass_irq_out_apcs[42] */
|
||||
<0xff 520>, /* lpass_irq_out_apcs[45] */
|
||||
<0xff 544>, /* turing_irq_out_apcs[00] */
|
||||
<0xff 545>, /* turing_irq_out_apcs[01] */
|
||||
<0xff 546>, /* turing_irq_out_apcs[02] */
|
||||
<0xff 547>, /* turing_irq_out_apcs[03] */
|
||||
<0xff 548>, /* turing_irq_out_apcs[04] */
|
||||
<0xff 549>, /* turing_irq_out_apcs[05] */
|
||||
<0xff 550>, /* turing_irq_out_apcs[06] */
|
||||
<0xff 551>, /* turing_irq_out_apcs[07] */
|
||||
<0xff 552>, /* turing_irq_out_apcs[08] */
|
||||
<0xff 553>, /* turing_irq_out_apcs[09] */
|
||||
<0xff 554>, /* turing_irq_out_apcs[10] */
|
||||
<0xff 556>, /* turing_irq_out_apcs[12] */
|
||||
<0xff 557>, /* turing_irq_out_apcs[13] */
|
||||
<0xff 558>, /* turing_irq_out_apcs[14] */
|
||||
<0xff 559>, /* turing_irq_out_apcs[15] */
|
||||
<0xff 560>, /* turing_irq_out_apcs[16] */
|
||||
<0xff 561>, /* turing_irq_out_apcs[17] */
|
||||
<0xff 562>, /* turing_irq_out_apcs[18] */
|
||||
<0xff 563>, /* turing_irq_out_apcs[19] */
|
||||
<0xff 564>, /* turing_irq_out_apcs[20] */
|
||||
<0xff 565>, /* turing_irq_out_apcs[21] */
|
||||
<0xff 566>, /* turing_irq_out_apcs[22] */
|
||||
<0xff 567>, /* turing_irq_out_apcs[23] */
|
||||
<0xff 568>, /* turing_irq_out_apcs[24] */
|
||||
<0xff 569>, /* turing_irq_out_apcs[25] */
|
||||
<0xff 570>, /* turing_irq_out_apcs[26] */
|
||||
<0xff 571>, /* turing_irq_out_apcs[27] */
|
||||
<0xff 572>, /* turing_irq_out_apcs[28] */
|
||||
<0xff 573>, /* turing_irq_out_apcs[29] */
|
||||
<0xff 574>, /* turing_irq_out_apcs[30] */
|
||||
<0xff 575>, /* turing_irq_out_apcs[31] */
|
||||
<0xff 576>, /* turing_irq_out_apcs[32] */
|
||||
<0xff 577>, /* turing_irq_out_apcs[33] */
|
||||
<0xff 578>, /* turing_irq_out_apcs[34] */
|
||||
<0xff 579>, /* turing_irq_out_apcs[35] */
|
||||
<0xff 580>, /* turing_irq_out_apcs[36] */
|
||||
<0xff 581>, /* turing_irq_out_apcs[37] */
|
||||
<0xff 582>, /* turing_irq_out_apcs[38] */
|
||||
<0xff 583>, /* turing_irq_out_apcs[39] */
|
||||
<0xff 584>; /* turing_irq_out_apcs[40] */
|
||||
|
||||
qcom,gpio-parent = <&tlmm>;
|
||||
qcom,gpio-map =
|
||||
<3 1>,
|
||||
<4 5>,
|
||||
<5 9>,
|
||||
<6 10>,
|
||||
<7 66>,
|
||||
<8 22>,
|
||||
<9 25>,
|
||||
<10 28>,
|
||||
<11 58>,
|
||||
<13 41>,
|
||||
<14 43>,
|
||||
<15 40>,
|
||||
<16 42>,
|
||||
<17 46>,
|
||||
<18 50>,
|
||||
<19 44>,
|
||||
<21 56>,
|
||||
<22 45>,
|
||||
<23 68>,
|
||||
<24 69>,
|
||||
<25 70>,
|
||||
<26 71>,
|
||||
<27 72>,
|
||||
<28 73>,
|
||||
<29 64>,
|
||||
<30 2>,
|
||||
<31 13>,
|
||||
<32 111>,
|
||||
<33 74>,
|
||||
<34 75>,
|
||||
<35 76>,
|
||||
<36 82>,
|
||||
<37 17>,
|
||||
<38 77>,
|
||||
<39 47>,
|
||||
<40 54>,
|
||||
<41 48>,
|
||||
<42 101>,
|
||||
<43 49>,
|
||||
<44 51>,
|
||||
<45 86>,
|
||||
<46 90>,
|
||||
<47 91>,
|
||||
<48 52>,
|
||||
<50 55>,
|
||||
<51 6>,
|
||||
<53 65>,
|
||||
<55 67>,
|
||||
<56 83>,
|
||||
<57 84>,
|
||||
<58 85>,
|
||||
<59 87>,
|
||||
<63 21>,
|
||||
<64 78>,
|
||||
<65 113>,
|
||||
<66 60>,
|
||||
<67 98>,
|
||||
<68 30>,
|
||||
<70 31>,
|
||||
<71 29>,
|
||||
<76 107>,
|
||||
<83 109>,
|
||||
<84 103>,
|
||||
<85 105>;
|
||||
};
|
||||
};
|
56
arch/arm64/boot/dts/qcom/sdm660-pm660a-cdp.dts
Normal file
56
arch/arm64/boot/dts/qcom/sdm660-pm660a-cdp.dts
Normal file
@ -0,0 +1,56 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-cdp.dtsi"
|
||||
#include "msm-pm660a.dtsi"
|
||||
#include "sdm660-external-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660A CDP";
|
||||
compatible = "qcom,sdm660-cdp", "qcom,sdm660", "qcom,cdp";
|
||||
qcom,board-id = <1 0>;
|
||||
qcom,pmic-id = <0x0001001b 0x0001011a 0x0 0x0>,
|
||||
<0x0001001b 0x0002001a 0x0 0x0>,
|
||||
<0x0001001b 0x0202001a 0x0 0x0>;
|
||||
};
|
||||
|
||||
&mdss_dsi {
|
||||
hw-config = "single_dsi";
|
||||
};
|
||||
|
||||
&mdss_dsi0 {
|
||||
qcom,dsi-pref-prim-pan = <&dsi_rm67195_amoled_fhd_cmd>;
|
||||
oledb-supply = <&pm660a_oledb>;
|
||||
lab-supply = <&lab_regulator>;
|
||||
ibb-supply = <&ibb_regulator>;
|
||||
};
|
||||
|
||||
&mdss_dsi1 {
|
||||
status = "disabled";
|
||||
oledb-supply = <&pm660a_oledb>;
|
||||
lab-supply = <&lab_regulator>;
|
||||
ibb-supply = <&ibb_regulator>;
|
||||
};
|
||||
|
||||
&tavil_snd {
|
||||
qcom,msm-mbhc-hphl-swh = <0>;
|
||||
qcom,msm-mbhc-gnd-swh = <0>;
|
||||
};
|
||||
|
||||
&tasha_snd {
|
||||
qcom,msm-mbhc-hphl-swh = <0>;
|
||||
qcom,msm-mbhc-gnd-swh = <0>;
|
||||
};
|
@ -0,0 +1,41 @@
|
||||
/* Copyright (c) 2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-cdp.dtsi"
|
||||
#include "msm-pm660a.dtsi"
|
||||
#include "sdm660-external-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660A, Headset
|
||||
Jacktype NO, CDP";
|
||||
compatible = "qcom,sdm660-cdp", "qcom,sdm660", "qcom,cdp";
|
||||
qcom,board-id = <1 2>;
|
||||
qcom,pmic-id = <0x0001001b 0x0001011a 0x0 0x0>,
|
||||
<0x0001001b 0x0002001a 0x0 0x0>,
|
||||
<0x0001001b 0x0202001a 0x0 0x0>;
|
||||
};
|
||||
|
||||
&mdss_dsi0 {
|
||||
oledb-supply = <&pm660a_oledb>;
|
||||
lab-supply = <&lab_regulator>;
|
||||
ibb-supply = <&ibb_regulator>;
|
||||
};
|
||||
|
||||
&mdss_dsi1 {
|
||||
oledb-supply = <&pm660a_oledb>;
|
||||
lab-supply = <&lab_regulator>;
|
||||
ibb-supply = <&ibb_regulator>;
|
||||
};
|
@ -0,0 +1,27 @@
|
||||
/* Copyright (c) 2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-cdp.dtsi"
|
||||
#include "msm-pm660a.dtsi"
|
||||
#include "sdm660-external-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660A, Headset
|
||||
Jacktype NO, RCM";
|
||||
compatible = "qcom,sdm660-cdp", "qcom,sdm660", "qcom,cdp";
|
||||
qcom,board-id = <21 2>;
|
||||
qcom,pmic-id = <0x0001001b 0x0001011a 0x0 0x0>;
|
||||
};
|
50
arch/arm64/boot/dts/qcom/sdm660-pm660a-mtp.dts
Normal file
50
arch/arm64/boot/dts/qcom/sdm660-pm660a-mtp.dts
Normal file
@ -0,0 +1,50 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-mtp.dtsi"
|
||||
#include "msm-pm660a.dtsi"
|
||||
#include "sdm660-external-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660A MTP";
|
||||
compatible = "qcom,sdm660-mtp", "qcom,sdm660", "qcom,mtp";
|
||||
qcom,board-id = <8 0>;
|
||||
qcom,pmic-id = <0x0001001b 0x0001011a 0x0 0x0>,
|
||||
<0x0001001b 0x0002001a 0x0 0x0>,
|
||||
<0x0001001b 0x0202001a 0x0 0x0>;
|
||||
};
|
||||
|
||||
&mdss_dsi {
|
||||
hw-config = "single_dsi";
|
||||
};
|
||||
|
||||
&mdss_dsi0 {
|
||||
qcom,dsi-pref-prim-pan = <&dsi_rm67195_amoled_fhd_cmd>;
|
||||
oledb-supply = <&pm660a_oledb>;
|
||||
lab-supply = <&lab_regulator>;
|
||||
ibb-supply = <&ibb_regulator>;
|
||||
};
|
||||
|
||||
&mdss_dsi1 {
|
||||
status = "disabled";
|
||||
oledb-supply = <&pm660a_oledb>;
|
||||
lab-supply = <&lab_regulator>;
|
||||
ibb-supply = <&ibb_regulator>;
|
||||
};
|
||||
|
||||
&tavil_snd {
|
||||
qcom,msm-mbhc-moist-cfg = <0>, <0>, <3>;
|
||||
};
|
58
arch/arm64/boot/dts/qcom/sdm660-pm660a-qrd.dts
Normal file
58
arch/arm64/boot/dts/qcom/sdm660-pm660a-qrd.dts
Normal file
@ -0,0 +1,58 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-qrd.dtsi"
|
||||
#include "msm-pm660a.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660A QRD";
|
||||
compatible = "qcom,sdm660-qrd", "qcom,sdm660", "qcom,qrd";
|
||||
qcom,board-id = <0x0012000b 0>;
|
||||
qcom,pmic-id = <0x0001001b 0x0001011a 0x0 0x0>,
|
||||
<0x0001001b 0x0002001a 0x0 0x0>,
|
||||
<0x0001001b 0x0202001a 0x0 0x0>;
|
||||
};
|
||||
|
||||
&pm660a_oledb {
|
||||
status = "okay";
|
||||
qcom,oledb-default-voltage-mv = <6400>;
|
||||
};
|
||||
|
||||
&mdss_mdp {
|
||||
qcom,mdss-pref-prim-intf = "dsi";
|
||||
};
|
||||
|
||||
&mdss_dsi {
|
||||
hw-config = "single_dsi";
|
||||
};
|
||||
|
||||
&mdss_dsi0 {
|
||||
qcom,dsi-pref-prim-pan = <&dsi_rm67195_amoled_fhd_cmd>;
|
||||
pinctrl-names = "mdss_default", "mdss_sleep";
|
||||
pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
|
||||
pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
|
||||
lab-supply = <&lab_regulator>;
|
||||
ibb-supply = <&ibb_regulator>;
|
||||
qcom,platform-reset-gpio = <&tlmm 53 0>;
|
||||
qcom,platform-te-gpio = <&tlmm 59 0>;
|
||||
};
|
||||
|
||||
&dsi_rm67195_amoled_fhd_cmd {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <255>;
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply_labibb_amoled>;
|
||||
};
|
36
arch/arm64/boot/dts/qcom/sdm660-pm660a-rcm.dts
Normal file
36
arch/arm64/boot/dts/qcom/sdm660-pm660a-rcm.dts
Normal file
@ -0,0 +1,36 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-cdp.dtsi"
|
||||
#include "msm-pm660a.dtsi"
|
||||
#include "sdm660-external-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660A RCM";
|
||||
compatible = "qcom,sdm660-cdp", "qcom,sdm660", "qcom,cdp";
|
||||
qcom,board-id = <21 0>;
|
||||
qcom,pmic-id = <0x0001001b 0x0001011a 0x0 0x0>;
|
||||
};
|
||||
|
||||
&tavil_snd {
|
||||
qcom,msm-mbhc-hphl-swh = <0>;
|
||||
qcom,msm-mbhc-gnd-swh = <0>;
|
||||
};
|
||||
|
||||
&tasha_snd {
|
||||
qcom,msm-mbhc-hphl-swh = <0>;
|
||||
qcom,msm-mbhc-gnd-swh = <0>;
|
||||
};
|
111
arch/arm64/boot/dts/qcom/sdm660-pm660a-sim.dts
Normal file
111
arch/arm64/boot/dts/qcom/sdm660-pm660a-sim.dts
Normal file
@ -0,0 +1,111 @@
|
||||
/* Copyright (c) 2016, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-pinctrl.dtsi"
|
||||
#include "msm-pm660a.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660A SIM";
|
||||
compatible = "qcom,sdm660-sim", "qcom,sdm660", "qcom,sim";
|
||||
qcom,board-id = <16 0>;
|
||||
qcom,pmic-id = <0x0001001b 0x0001011a 0x0 0x0>;
|
||||
|
||||
chosen {
|
||||
bootargs = "lpm_levels.sleep_disabled=1";
|
||||
};
|
||||
};
|
||||
|
||||
&usb3 {
|
||||
reg = <0xa800000 0xfc000>;
|
||||
reg-names = "core_base";
|
||||
/delete-property/ extcon;
|
||||
dwc3@a800000 {
|
||||
maximum-speed = "high-speed";
|
||||
};
|
||||
};
|
||||
|
||||
&ssphy {
|
||||
compatible = "usb-nop-xceiv";
|
||||
};
|
||||
|
||||
&qusb_phy0 {
|
||||
compatible = "usb-nop-xceiv";
|
||||
};
|
||||
|
||||
&uartblsp1dm1 {
|
||||
status = "ok";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart_console_active>;
|
||||
};
|
||||
|
||||
&sdhc_1 {
|
||||
/* device core power supply */
|
||||
vdd-supply = <&pm660l_l4>;
|
||||
qcom,vdd-voltage-level = <2950000 2950000>;
|
||||
qcom,vdd-current-level = <200 570000>;
|
||||
|
||||
/* device communication power supply */
|
||||
vdd-io-supply = <&pm660_l8>;
|
||||
qcom,vdd-io-always-on;
|
||||
qcom,vdd-io-lpm-sup;
|
||||
qcom,vdd-io-voltage-level = <1800000 1800000>;
|
||||
qcom,vdd-io-current-level = <200 325000>;
|
||||
|
||||
pinctrl-names = "active", "sleep";
|
||||
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on &sdc1_rclk_on>;
|
||||
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off &sdc1_rclk_off>;
|
||||
|
||||
qcom,clk-rates = <400000 20000000 25000000 50000000 192000000
|
||||
384000000>;
|
||||
|
||||
qcom,nonremovable;
|
||||
qcom,bus-speed-mode = "HS400_1p8v", "HS200_1p8v", "DDR_1p8v";
|
||||
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&pm660_charger {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&pm660_fg {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&pm660_pdphy {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&ufsphy1 {
|
||||
vdda-phy-supply = <&pm660l_l1>;
|
||||
vdda-pll-supply = <&pm660_l10>;
|
||||
vddp-ref-clk-supply = <&pm660_l1>;
|
||||
vdda-phy-max-microamp = <51400>;
|
||||
vdda-pll-max-microamp = <14200>;
|
||||
vddp-ref-clk-max-microamp = <100>;
|
||||
vddp-ref-clk-always-on;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&ufs1 {
|
||||
vdd-hba-supply = <&gdsc_ufs>;
|
||||
vdd-hba-fixed-regulator;
|
||||
vcc-supply = <&pm660l_l4>;
|
||||
vccq2-supply = <&pm660_l8>;
|
||||
vcc-max-microamp = <500000>;
|
||||
vccq2-max-microamp = <600000>;
|
||||
status = "ok";
|
||||
};
|
97
arch/arm64/boot/dts/qcom/sdm660-qrd.dts
Normal file
97
arch/arm64/boot/dts/qcom/sdm660-qrd.dts
Normal file
@ -0,0 +1,97 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-qrd.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L QRD";
|
||||
compatible = "qcom,sdm660-qrd", "qcom,sdm660", "qcom,qrd";
|
||||
qcom,board-id = <0x1000b 0>;
|
||||
qcom,pmic-id = <0x0001001b 0x0101011a 0x0 0x0>,
|
||||
<0x0001001b 0x0201011a 0x0 0x0>,
|
||||
<0x0001001b 0x0102001a 0x0 0x0>;
|
||||
};
|
||||
|
||||
&mdss_mdp {
|
||||
qcom,mdss-pref-prim-intf = "dsi";
|
||||
};
|
||||
|
||||
&mdss_fb0 {
|
||||
qcom,mdss-mixer-swap;
|
||||
};
|
||||
|
||||
&mdss_dsi {
|
||||
hw-config = "split_dsi";
|
||||
};
|
||||
|
||||
&mdss_dsi0 {
|
||||
qcom,dsi-pref-prim-pan = <&dsi_dual_nt36850_truly_cmd>;
|
||||
pinctrl-names = "mdss_default", "mdss_sleep";
|
||||
pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
|
||||
pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
|
||||
qcom,platform-reset-gpio = <&tlmm 53 0>;
|
||||
qcom,platform-te-gpio = <&tlmm 59 0>;
|
||||
};
|
||||
|
||||
&mdss_dsi1 {
|
||||
qcom,dsi-pref-prim-pan = <&dsi_dual_nt36850_truly_cmd>;
|
||||
pinctrl-names = "mdss_default", "mdss_sleep";
|
||||
pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
|
||||
pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
|
||||
qcom,platform-reset-gpio = <&tlmm 53 0>;
|
||||
qcom,platform-te-gpio = <&tlmm 59 0>;
|
||||
};
|
||||
|
||||
&dsi_dual_nt36850_truly_cmd {
|
||||
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
|
||||
qcom,mdss-dsi-bl-min-level = <1>;
|
||||
qcom,mdss-dsi-bl-max-level = <4095>;
|
||||
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
|
||||
};
|
||||
|
||||
&pm660l_wled {
|
||||
qcom,led-strings-list = [00 01];
|
||||
};
|
||||
|
||||
&soc {
|
||||
hbtp {
|
||||
compatible = "qcom,hbtp-input";
|
||||
pinctrl-names = "pmx_ts_active", "pmx_ts_suspend";
|
||||
pinctrl-0 = <&ts_rst_active>;
|
||||
pinctrl-1 = <&ts_rst_suspend>;
|
||||
vcc_ana-supply = <&pm660l_l3>;
|
||||
vcc_dig-supply = <&pm660_l13>;
|
||||
qcom,afe-load = <20000>;
|
||||
qcom,afe-vtg-min = <3008000>;
|
||||
qcom,afe-vtg-max = <3008000>;
|
||||
qcom,dig-load = <40000>;
|
||||
qcom,dig-vtg-min = <1808000>;
|
||||
qcom,dig-vtg-max = <1808000>;
|
||||
qcom,fb-resume-delay-us = <10000>;
|
||||
qcom,afe-force-power-on;
|
||||
qcom,afe-power-on-delay-us = <1000>;
|
||||
qcom,afe-power-off-delay-us = <6>;
|
||||
};
|
||||
};
|
||||
|
||||
&slim_aud {
|
||||
/delete-node/wcd934x_cdc;
|
||||
};
|
||||
|
||||
&soc {
|
||||
/delete-node/sound-tavil;
|
||||
};
|
||||
|
292
arch/arm64/boot/dts/qcom/sdm660-qrd.dtsi
Normal file
292
arch/arm64/boot/dts/qcom/sdm660-qrd.dtsi
Normal file
@ -0,0 +1,292 @@
|
||||
/* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include "sdm660-pinctrl.dtsi"
|
||||
#include "sdm660-camera-sensor-qrd.dtsi"
|
||||
#include "sdm660-external-codec.dtsi"
|
||||
/ {
|
||||
};
|
||||
|
||||
&blsp2_uart1_hs {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&uartblsp1dm1 {
|
||||
status = "ok";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart_console_active>;
|
||||
};
|
||||
|
||||
&sdhc_1 {
|
||||
/* device core power supply */
|
||||
vdd-supply = <&pm660l_l4>;
|
||||
qcom,vdd-voltage-level = <2950000 2950000>;
|
||||
qcom,vdd-current-level = <200 570000>;
|
||||
|
||||
/* device communication power supply */
|
||||
vdd-io-supply = <&pm660_l8>;
|
||||
qcom,vdd-io-always-on;
|
||||
qcom,vdd-io-lpm-sup;
|
||||
qcom,vdd-io-voltage-level = <1800000 1800000>;
|
||||
qcom,vdd-io-current-level = <200 325000>;
|
||||
|
||||
pinctrl-names = "active", "sleep";
|
||||
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on &sdc1_rclk_on>;
|
||||
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off &sdc1_rclk_off>;
|
||||
|
||||
qcom,clk-rates = <400000 20000000 25000000 50000000 100000000 192000000
|
||||
384000000>;
|
||||
|
||||
qcom,nonremovable;
|
||||
qcom,bus-speed-mode = "HS400_1p8v", "HS200_1p8v", "DDR_1p8v";
|
||||
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&sdc2_cd_on {
|
||||
config {
|
||||
/delete-property/ bias-pull-up;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
&sdhc_2 {
|
||||
/* device core power supply */
|
||||
vdd-supply = <&pm660l_l5>;
|
||||
qcom,vdd-voltage-level = <2950000 2950000>;
|
||||
qcom,vdd-current-level = <15000 800000>;
|
||||
|
||||
/* device communication power supply */
|
||||
vdd-io-supply = <&pm660l_l2>;
|
||||
qcom,vdd-io-voltage-level = <1800000 2950000>;
|
||||
qcom,vdd-io-current-level = <200 22000>;
|
||||
|
||||
pinctrl-names = "active", "sleep";
|
||||
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
|
||||
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
|
||||
|
||||
#address-cells = <0>;
|
||||
interrupt-parent = <&sdhc_2>;
|
||||
interrupts = <0 1 2>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-map-mask = <0xffffffff>;
|
||||
interrupt-map = <0 &intc 0 0 125 0
|
||||
1 &intc 0 0 221 0
|
||||
2 &tlmm 54 0>;
|
||||
interrupt-names = "hc_irq", "pwr_irq", "status_irq";
|
||||
cd-gpios = <&tlmm 54 0x0>;
|
||||
|
||||
qcom,clk-rates = <400000 20000000 25000000 50000000 100000000
|
||||
200000000>;
|
||||
qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
|
||||
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&ufsphy1 {
|
||||
vdda-phy-supply = <&pm660l_l1>;
|
||||
vdda-pll-supply = <&pm660_l10>;
|
||||
vddp-ref-clk-supply = <&pm660_l1>;
|
||||
vdda-phy-max-microamp = <51400>;
|
||||
vdda-pll-max-microamp = <14200>;
|
||||
vddp-ref-clk-max-microamp = <100>;
|
||||
vddp-ref-clk-always-on;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&ufs1 {
|
||||
vdd-hba-supply = <&gdsc_ufs>;
|
||||
vdd-hba-fixed-regulator;
|
||||
vcc-supply = <&pm660l_l4>;
|
||||
vccq2-supply = <&pm660_l8>;
|
||||
vcc-max-microamp = <500000>;
|
||||
vccq2-max-microamp = <600000>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&soc {
|
||||
qcom,msm-ssc-sensors {
|
||||
compatible = "qcom,msm-ssc-sensors";
|
||||
};
|
||||
};
|
||||
|
||||
&qusb_phy0 {
|
||||
qcom,qusb-phy-init-seq = <0xf8 0x80
|
||||
0x83 0x84
|
||||
0x83 0x88
|
||||
0xc3 0x8c
|
||||
0x30 0x08
|
||||
0x79 0x0c
|
||||
0x21 0x10
|
||||
0x14 0x9c
|
||||
0x9f 0x1c
|
||||
0x00 0x18>;
|
||||
};
|
||||
|
||||
&pm660_gpios {
|
||||
/* GPIO 4 (NFC_CLK_REQ) */
|
||||
gpio@c300 {
|
||||
qcom,mode = <0>;
|
||||
qcom,vin-sel = <1>;
|
||||
qcom,src-sel = <0>;
|
||||
qcom,master-en = <1>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&i2c_6 { /* BLSP1 QUP6 (NFC) */
|
||||
status = "okay";
|
||||
nq@28 {
|
||||
compatible = "qcom,nq-nci";
|
||||
reg = <0x28>;
|
||||
qcom,nq-irq = <&tlmm 28 0x00>;
|
||||
qcom,nq-ven = <&tlmm 29 0x00>;
|
||||
qcom,nq-firm = <&tlmm 30 0x00>;
|
||||
qcom,nq-clkreq = <&pm660_gpios 4 0x00>;
|
||||
qcom,nq-esepwr = <&tlmm 31 0x00>;
|
||||
interrupt-parent = <&tlmm>;
|
||||
qcom,clk-src = "BBCLK3";
|
||||
interrupts = <28 0>;
|
||||
interrupt-names = "nfc_irq";
|
||||
pinctrl-names = "nfc_active", "nfc_suspend";
|
||||
pinctrl-0 = <&nfc_int_active &nfc_enable_active>;
|
||||
pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>;
|
||||
clocks = <&clock_rpmcc RPM_SMD_LN_BB_CLK3_PIN>;
|
||||
clock-names = "ref_clk";
|
||||
};
|
||||
};
|
||||
|
||||
&pm660l_gpios {
|
||||
/* GPIO 7 for VOL_UP */
|
||||
gpio@c600 {
|
||||
status = "ok";
|
||||
qcom,mode = <0>;
|
||||
qcom,pull = <0>;
|
||||
qcom,vin-sel = <0>;
|
||||
qcom,src-sel = <0>;
|
||||
qcom,out-strength = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
pmx_ts_rst_active {
|
||||
ts_rst_active: ts_rst_active {
|
||||
mux {
|
||||
pins = "gpio66";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio66";
|
||||
drive-strength = <16>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pmx_ts_rst_suspend {
|
||||
ts_rst_suspend: ts_rst_suspend {
|
||||
mux {
|
||||
pins = "gpio66";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio66";
|
||||
drive-strength = <2>;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ssphy {
|
||||
fpc-redrive-supply = <&pm660_l11>;
|
||||
qcom,redrive-voltage-level = <0 1800000 1950000>;
|
||||
qcom,redrive-load = <105000>;
|
||||
};
|
||||
|
||||
&soc {
|
||||
gpio_keys {
|
||||
compatible = "gpio-keys";
|
||||
input-name = "gpio-keys";
|
||||
status = "ok";
|
||||
|
||||
vol_up {
|
||||
label = "volume_up";
|
||||
gpios = <&pm660l_gpios 7 0x1>;
|
||||
linux,input-type = <1>;
|
||||
linux,code = <115>;
|
||||
gpio-key,wakeup;
|
||||
debounce-interval = <15>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
qrd_batterydata: qcom,battery-data {
|
||||
qcom,batt-id-range-pct = <15>;
|
||||
|
||||
#include "fg-gen3-batterydata-qrd-skuk-4v4-3000mah.dtsi"
|
||||
};
|
||||
};
|
||||
|
||||
&pm660_fg {
|
||||
qcom,battery-data = <&qrd_batterydata>;
|
||||
qcom,fg-jeita-thresholds = <0 5 55 55>;
|
||||
qcom,battery-thermal-coefficients = [9d 50 ff];
|
||||
};
|
||||
|
||||
&pm660_haptics {
|
||||
qcom,wave-play-rate-us = <4255>;
|
||||
qcom,vmax-mv = <1800>;
|
||||
};
|
||||
|
||||
&i2c_2 {
|
||||
status = "ok";
|
||||
smb1351_charger: smb1351-charger@1d {
|
||||
compatible = "qcom,smb1351-charger";
|
||||
reg = <0x1d>;
|
||||
qcom,parallel-charger;
|
||||
qcom,float-voltage-mv = <4400>;
|
||||
qcom,recharge-mv = <100>;
|
||||
qcom,parallel-en-pin-polarity = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
/delete-node/ &tasha_hph_en0;
|
||||
/delete-node/ &tasha_hph_en1;
|
||||
|
||||
&tasha_snd {
|
||||
qcom,model = "sdm660-tasha-skus-snd-card";
|
||||
qcom,audio-routing =
|
||||
"AIF4 VI", "MCLK",
|
||||
"RX_BIAS", "MCLK",
|
||||
"MADINPUT", "MCLK",
|
||||
"AMIC2", "MIC BIAS2",
|
||||
"MIC BIAS2", "Headset Mic",
|
||||
"DMIC0", "MIC BIAS1",
|
||||
"MIC BIAS1", "Digital Mic0",
|
||||
"DMIC3", "MIC BIAS3",
|
||||
"MIC BIAS3", "Digital Mic3",
|
||||
"DMIC5", "MIC BIAS3",
|
||||
"MIC BIAS3", "Digital Mic5",
|
||||
"SpkrLeft IN", "SPK1 OUT";
|
||||
qcom,msm-mbhc-hphl-swh = <1>;
|
||||
/delete-property/ qcom,us-euro-gpios;
|
||||
/delete-property/ qcom,hph-en0-gpio;
|
||||
/delete-property/ qcom,hph-en1-gpio;
|
||||
qcom,wsa-max-devs = <1>;
|
||||
qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_213>;
|
||||
qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrLeft";
|
||||
};
|
||||
|
36
arch/arm64/boot/dts/qcom/sdm660-rcm.dts
Normal file
36
arch/arm64/boot/dts/qcom/sdm660-rcm.dts
Normal file
@ -0,0 +1,36 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-cdp.dtsi"
|
||||
#include "sdm660-external-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L RCM";
|
||||
compatible = "qcom,sdm660-cdp", "qcom,sdm660", "qcom,cdp";
|
||||
qcom,board-id = <21 0>;
|
||||
qcom,pmic-id = <0x0001001b 0x0101011a 0x0 0x0>,
|
||||
<0x0001001b 0x0201011a 0x0 0x0>;
|
||||
};
|
||||
|
||||
&tavil_snd {
|
||||
qcom,msm-mbhc-hphl-swh = <0>;
|
||||
qcom,msm-mbhc-gnd-swh = <0>;
|
||||
};
|
||||
|
||||
&tasha_snd {
|
||||
qcom,msm-mbhc-hphl-swh = <0>;
|
||||
qcom,msm-mbhc-gnd-swh = <0>;
|
||||
};
|
952
arch/arm64/boot/dts/qcom/sdm660-regulator.dtsi
Normal file
952
arch/arm64/boot/dts/qcom/sdm660-regulator.dtsi
Normal file
@ -0,0 +1,952 @@
|
||||
/* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/qcom,gcc-sdm660.h>
|
||||
#include <dt-bindings/clock/qcom,gpu-sdm660.h>
|
||||
#include <dt-bindings/clock/qcom,rpmcc.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
&rpm_bus {
|
||||
rpm-regulator-smpa4 {
|
||||
status = "okay";
|
||||
pm660_s4: regulator-s4 {
|
||||
regulator-min-microvolt = <1805000>;
|
||||
regulator-max-microvolt = <2040000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-smpa5 {
|
||||
status = "okay";
|
||||
pm660_s5: regulator-s5 {
|
||||
regulator-min-microvolt = <1224000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-smpa6 {
|
||||
status = "okay";
|
||||
pm660_s6: regulator-s6 {
|
||||
regulator-min-microvolt = <504000>;
|
||||
regulator-max-microvolt = <992000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-smpb1 {
|
||||
status = "okay";
|
||||
pm660l_s1: regulator-s1 {
|
||||
regulator-min-microvolt = <1125000>;
|
||||
regulator-max-microvolt = <1125000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-smpb2 {
|
||||
status = "okay";
|
||||
pm660l_s2: regulator-s2 {
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
/* PM660L S3 + S4 - VDD_CX supply */
|
||||
rpm-regulator-smpb3 {
|
||||
status = "okay";
|
||||
pm660l_s3_level: regulator-s3-level {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_s3_level";
|
||||
qcom,set = <3>;
|
||||
regulator-min-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
|
||||
regulator-max-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_TURBO>;
|
||||
qcom,use-voltage-level;
|
||||
};
|
||||
|
||||
pm660l_s3_floor_level: regulator-s3-floor-level {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_s3_floor_level";
|
||||
qcom,set = <3>;
|
||||
regulator-min-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
|
||||
regulator-max-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_TURBO>;
|
||||
qcom,use-voltage-floor-level;
|
||||
qcom,always-send-voltage;
|
||||
};
|
||||
|
||||
pm660l_s3_level_ao: regulator-s3-level-ao {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_s3_level_ao";
|
||||
qcom,set = <1>;
|
||||
regulator-min-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
|
||||
regulator-max-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_TURBO>;
|
||||
qcom,use-voltage-level;
|
||||
};
|
||||
};
|
||||
|
||||
/* PM660L S5 - VDD_MX supply */
|
||||
rpm-regulator-smpb5 {
|
||||
status = "okay";
|
||||
pm660l_s5_level: regulator-s5-level {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_s5_level";
|
||||
qcom,set = <3>;
|
||||
regulator-min-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
|
||||
regulator-max-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_TURBO>;
|
||||
qcom,use-voltage-level;
|
||||
};
|
||||
|
||||
pm660l_s5_floor_level: regulator-s5-floor-level {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_s5_floor_level";
|
||||
qcom,set = <3>;
|
||||
regulator-min-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
|
||||
regulator-max-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_TURBO>;
|
||||
qcom,use-voltage-floor-level;
|
||||
qcom,always-send-voltage;
|
||||
};
|
||||
|
||||
pm660l_s5_level_ao: regulator-s5-level-ao {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_s5_level_ao";
|
||||
qcom,set = <1>;
|
||||
regulator-min-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
|
||||
regulator-max-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_TURBO>;
|
||||
qcom,use-voltage-level;
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa1 {
|
||||
status = "okay";
|
||||
pm660_l1: regulator-l1 {
|
||||
regulator-min-microvolt = <1150000>;
|
||||
regulator-max-microvolt = <1250000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa2 {
|
||||
status = "okay";
|
||||
pm660_l2: regulator-l2 {
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1010000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa3 {
|
||||
status = "okay";
|
||||
pm660_l3: regulator-l3 {
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1010000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
/* TODO: remove if ADRASTEA CX/MX not voted from APPS */
|
||||
rpm-regulator-ldoa5 {
|
||||
status = "okay";
|
||||
pm660_l5: regulator-l5 {
|
||||
regulator-min-microvolt = <525000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa6 {
|
||||
status = "okay";
|
||||
pm660_l6: regulator-l6 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1370000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pm660_l6_pin_ctrl: regulator-l6-pin-ctrl {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l6_pin_ctrl";
|
||||
qcom,set = <3>;
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1370000>;
|
||||
/* Force NPM follows HW_EN1 */
|
||||
qcom,init-pin-ctrl-mode = <2>;
|
||||
/* Enable follows HW_EN1 */
|
||||
qcom,enable-with-pin-ctrl = <0 2>;
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa7 {
|
||||
status = "okay";
|
||||
pm660_l7: regulator-l7 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa8 {
|
||||
status = "okay";
|
||||
pm660_l8: regulator-l8 {
|
||||
regulator-min-microvolt = <1750000>;
|
||||
regulator-max-microvolt = <1900000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa9 {
|
||||
status = "okay";
|
||||
pm660_l9: regulator-l9 {
|
||||
regulator-min-microvolt = <1750000>;
|
||||
regulator-max-microvolt = <1900000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pm660_l9_pin_ctrl: regulator-l9-pin-ctrl {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l9_pin_ctrl";
|
||||
qcom,set = <3>;
|
||||
regulator-min-microvolt = <1750000>;
|
||||
regulator-max-microvolt = <1900000>;
|
||||
/* Force NPM follows HW_EN1 */
|
||||
qcom,init-pin-ctrl-mode = <2>;
|
||||
/* Enable follows HW_EN1 */
|
||||
qcom,enable-with-pin-ctrl = <0 2>;
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa10 {
|
||||
status = "okay";
|
||||
pm660_l10: regulator-l10 {
|
||||
proxy-supply = <&pm660_l10>;
|
||||
qcom,proxy-consumer-enable;
|
||||
qcom,proxy-consumer-current = <14000>;
|
||||
regulator-min-microvolt = <1780000>;
|
||||
regulator-max-microvolt = <1950000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa11 {
|
||||
status = "okay";
|
||||
pm660_l11: regulator-l11 {
|
||||
regulator-min-microvolt = <1780000>;
|
||||
regulator-max-microvolt = <1950000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa12 {
|
||||
status = "okay";
|
||||
pm660_l12: regulator-l12 {
|
||||
regulator-min-microvolt = <1780000>;
|
||||
regulator-max-microvolt = <1950000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa13 {
|
||||
status = "okay";
|
||||
pm660_l13: regulator-l13 {
|
||||
regulator-min-microvolt = <1780000>;
|
||||
regulator-max-microvolt = <1950000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa14 {
|
||||
status = "okay";
|
||||
pm660_l14: regulator-l14 {
|
||||
regulator-min-microvolt = <1710000>;
|
||||
regulator-max-microvolt = <1900000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa15 {
|
||||
status = "okay";
|
||||
pm660_l15: regulator-l15 {
|
||||
regulator-min-microvolt = <1650000>;
|
||||
regulator-max-microvolt = <2950000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa17 {
|
||||
status = "okay";
|
||||
pm660_l17: regulator-l17 {
|
||||
regulator-min-microvolt = <1650000>;
|
||||
regulator-max-microvolt = <2950000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldoa19 {
|
||||
status = "okay";
|
||||
pm660_l19: regulator-l19 {
|
||||
regulator-min-microvolt = <3200000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pm660_l19_pin_ctrl: regulator-l19-pin-ctrl {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660_l19_pin_ctrl";
|
||||
qcom,set = <3>;
|
||||
regulator-min-microvolt = <3200000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
/* Force NPM follows HW_EN1 */
|
||||
qcom,init-pin-ctrl-mode = <2>;
|
||||
/* Enable follows HW_EN1 */
|
||||
qcom,enable-with-pin-ctrl = <0 2>;
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob1 {
|
||||
status = "okay";
|
||||
pm660l_l1: regulator-l1 {
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <925000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob2 {
|
||||
status = "okay";
|
||||
pm660l_l2: regulator-l2 {
|
||||
regulator-min-microvolt = <350000>;
|
||||
regulator-max-microvolt = <3100000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob3 {
|
||||
status = "okay";
|
||||
pm660l_l3: regulator-l3 {
|
||||
regulator-min-microvolt = <1710000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob4 {
|
||||
status = "okay";
|
||||
pm660l_l4: regulator-l4 {
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <2950000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob5 {
|
||||
status = "okay";
|
||||
pm660l_l5: regulator-l5 {
|
||||
regulator-min-microvolt = <1721000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob6 {
|
||||
status = "okay";
|
||||
pm660l_l6: regulator-l6 {
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob7 {
|
||||
status = "okay";
|
||||
pm660l_l7: regulator-l7 {
|
||||
regulator-min-microvolt = <2700000>;
|
||||
regulator-max-microvolt = <3125000>;
|
||||
parent-supply = <&pm660_l10>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-ldob8 {
|
||||
status = "okay";
|
||||
pm660l_l8: regulator-l8 {
|
||||
regulator-min-microvolt = <3200000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
/* PM660L L9 = VDD_SSC_CX supply */
|
||||
rpm-regulator-ldob9 {
|
||||
status = "okay";
|
||||
pm660l_l9_level: regulator-l9-level {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_l9_level";
|
||||
qcom,set = <3>;
|
||||
regulator-min-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
|
||||
regulator-max-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_TURBO>;
|
||||
qcom,use-voltage-level;
|
||||
};
|
||||
|
||||
pm660l_l9_floor_level: regulator-l9-floor-level {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_l9_floor_level";
|
||||
qcom,set = <3>;
|
||||
regulator-min-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
|
||||
regulator-max-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_TURBO>;
|
||||
qcom,use-voltage-floor-level;
|
||||
qcom,always-send-voltage;
|
||||
};
|
||||
};
|
||||
|
||||
/* PM660L L10 = VDD_SSC_MX supply */
|
||||
rpm-regulator-ldob10 {
|
||||
status = "okay";
|
||||
pm660l_l10_level: regulator-l10-level {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_l10_level";
|
||||
qcom,set = <3>;
|
||||
regulator-min-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
|
||||
regulator-max-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_TURBO>;
|
||||
qcom,use-voltage-level;
|
||||
};
|
||||
|
||||
pm660l_l10_floor_level: regulator-l10-floor-level {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_l10_floor_level";
|
||||
qcom,set = <3>;
|
||||
regulator-min-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_RETENTION>;
|
||||
regulator-max-microvolt =
|
||||
<RPM_SMD_REGULATOR_LEVEL_TURBO>;
|
||||
qcom,use-voltage-floor-level;
|
||||
qcom,always-send-voltage;
|
||||
};
|
||||
};
|
||||
|
||||
rpm-regulator-bobb {
|
||||
status = "okay";
|
||||
pm660l_bob: regulator-bob {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
qcom,pwm-threshold-current = <2000000>;
|
||||
qcom,init-bob-mode = <2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pm660l_bob_pin1: regulator-bob-pin1 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_bob_pin1";
|
||||
qcom,set = <3>;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
qcom,pwm-threshold-current = <2000000>;
|
||||
qcom,init-bob-mode = <2>;
|
||||
qcom,use-pin-ctrl-voltage1;
|
||||
};
|
||||
|
||||
pm660l_bob_pin2: regulator-bob-pin2 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_bob_pin2";
|
||||
qcom,set = <3>;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
qcom,pwm-threshold-current = <2000000>;
|
||||
qcom,init-bob-mode = <2>;
|
||||
qcom,use-pin-ctrl-voltage2;
|
||||
};
|
||||
|
||||
pm660l_bob_pin3: regulator-bob-pin3 {
|
||||
compatible = "qcom,rpm-smd-regulator";
|
||||
regulator-name = "pm660l_bob_pin3";
|
||||
qcom,set = <3>;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
qcom,pwm-threshold-current = <2000000>;
|
||||
qcom,init-bob-mode = <2>;
|
||||
qcom,use-pin-ctrl-voltage3;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pm660_charger {
|
||||
smb2_vbus: qcom,smb2-vbus {
|
||||
regulator-name = "smb2-vbus";
|
||||
};
|
||||
|
||||
smb2_vconn: qcom,smb2-vconn {
|
||||
regulator-name = "smb2-vconn";
|
||||
};
|
||||
};
|
||||
|
||||
/* Stub regulators */
|
||||
/ {
|
||||
/* GFX Supply */
|
||||
gfx_stub_vreg: regulator-gfx-stub {
|
||||
compatible = "qcom,stub-regulator";
|
||||
regulator-name = "gfx_stub_corner";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1070000>;
|
||||
};
|
||||
};
|
||||
|
||||
&soc {
|
||||
/* MEM ACC regulators */
|
||||
gfx_mem_acc_vreg: regulator@01fcf004 {
|
||||
compatible = "qcom,mem-acc-regulator";
|
||||
reg = <0x01fcf004 0x4>;
|
||||
reg-names = "acc-sel-l1";
|
||||
regulator-name = "gfx_mem_acc_corner";
|
||||
regulator-min-microvolt = <1>;
|
||||
regulator-max-microvolt = <2>;
|
||||
|
||||
qcom,corner-acc-map = <0x1 0x0>;
|
||||
qcom,acc-sel-l1-bit-pos = <0>;
|
||||
qcom,acc-sel-l1-bit-size = <1>;
|
||||
};
|
||||
|
||||
gfx_ldo_vreg: ldo@0506e000 {
|
||||
compatible = "qcom,sdm660-gfx-ldo";
|
||||
reg = <0x0506e000 0x34>;
|
||||
reg-names = "ldo_addr";
|
||||
regulator-name = "msm_gfx_ldo";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <925000>;
|
||||
};
|
||||
|
||||
/* CPR controller regulators */
|
||||
/* MMSS CPR Controller node */
|
||||
gfx_cpr: cpr4-ctrl@05061000 {
|
||||
compatible = "qcom,cpr4-sdm660-mmss-ldo-regulator";
|
||||
reg = <0x05061000 0x4000>, <0x00784000 0x1000>;
|
||||
reg-names = "cpr_ctrl", "fuse_base";
|
||||
clocks = <&clock_gpu GPUCC_RBCPR_CLK>,
|
||||
<&clock_rpmcc RPM_SMD_CNOC_CLK>;
|
||||
clock-names = "core_clk", "bus_clk";
|
||||
interrupts = <GIC_SPI 285 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "cpr";
|
||||
qcom,cpr-ctrl-name = "gfx";
|
||||
|
||||
|
||||
qcom,cpr-sensor-time = <1000>;
|
||||
qcom,cpr-loop-time = <5000000>;
|
||||
qcom,cpr-idle-cycles = <15>;
|
||||
qcom,cpr-step-quot-init-min = <12>;
|
||||
qcom,cpr-step-quot-init-max = <14>;
|
||||
qcom,cpr-count-mode = <0>; /* All at once */
|
||||
qcom,cpr-count-repeat = <14>;
|
||||
qcom,cpr-reset-step-quot-loop-en;
|
||||
|
||||
vdd-supply = <&gfx_stub_vreg>;
|
||||
mem-acc-supply = <&gfx_mem_acc_vreg>;
|
||||
system-supply = <&pm660l_s3_level>; /* vdd_cx */
|
||||
qcom,voltage-step = <5000>;
|
||||
vdd-thread0-ldo-supply = <&gfx_ldo_vreg>;
|
||||
|
||||
thread@0 {
|
||||
qcom,cpr-thread-id = <0>;
|
||||
qcom,cpr-consecutive-up = <0>;
|
||||
qcom,cpr-consecutive-down = <2>;
|
||||
qcom,cpr-up-threshold = <2>;
|
||||
qcom,cpr-down-threshold = <2>;
|
||||
|
||||
gfx_vreg_corner: regulator {
|
||||
regulator-name = "gfx_corner";
|
||||
regulator-min-microvolt = <1>;
|
||||
regulator-max-microvolt = <7>;
|
||||
|
||||
qcom,cpr-fuse-corners = <6>;
|
||||
qcom,cpr-fuse-combos = <8>;
|
||||
qcom,cpr-corners = <7>;
|
||||
|
||||
qcom,cpr-corner-fmax-map = <1 2 3 4 5 6>;
|
||||
|
||||
qcom,cpr-voltage-ceiling =
|
||||
<585000 645000 725000 790000
|
||||
870000 925000 1070000>;
|
||||
qcom,cpr-voltage-floor =
|
||||
<504000 504000 596000 652000
|
||||
712000 744000 1070000>;
|
||||
|
||||
qcom,mem-acc-voltage = <1 1 1 2 2 2 2>;
|
||||
qcom,system-voltage =
|
||||
<RPM_SMD_REGULATOR_LEVEL_LOW_SVS>,
|
||||
<RPM_SMD_REGULATOR_LEVEL_LOW_SVS>,
|
||||
<RPM_SMD_REGULATOR_LEVEL_SVS>,
|
||||
<RPM_SMD_REGULATOR_LEVEL_SVS_PLUS>,
|
||||
<RPM_SMD_REGULATOR_LEVEL_NOM>,
|
||||
<RPM_SMD_REGULATOR_LEVEL_NOM_PLUS>,
|
||||
<RPM_SMD_REGULATOR_LEVEL_TURBO>;
|
||||
|
||||
qcom,corner-frequencies =
|
||||
<160000000 266000000 370000000
|
||||
465000000 588000000 647000000
|
||||
750000000>;
|
||||
|
||||
qcom,cpr-target-quotients =
|
||||
<0 0 0 0 0 0 174 167
|
||||
294 292 303 313 0 0 0 0>,
|
||||
<0 0 0 0 0 0 263 247
|
||||
413 397 415 412 0 0 0 0>,
|
||||
<0 0 0 0 0 0 375 354
|
||||
554 519 573 554 0 0 0 0>,
|
||||
<0 0 0 0 0 0 412 380
|
||||
597 562 612 591 0 0 0 0>,
|
||||
<0 0 0 0 0 0 513 476
|
||||
722 680 738 718 0 0 0 0>,
|
||||
<0 0 0 0 0 0 595 553
|
||||
811 768 837 811 0 0 0 0>,
|
||||
<0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0>;
|
||||
|
||||
qcom,cpr-ro-scaling-factor =
|
||||
< 0 0 0 0 0 0 1790 1760
|
||||
1990 1900 2140 2020 0 0 0 0>,
|
||||
< 0 0 0 0 0 0 1790 1760
|
||||
1990 1900 2140 2020 0 0 0 0>,
|
||||
< 0 0 0 0 0 0 1790 1760
|
||||
1990 1900 2140 2020 0 0 0 0>,
|
||||
< 0 0 0 0 0 0 1790 1760
|
||||
1990 1900 2140 2020 0 0 0 0>,
|
||||
< 0 0 0 0 0 0 1790 1760
|
||||
1990 1900 2140 2020 0 0 0 0>,
|
||||
< 0 0 0 0 0 0 1790 1760
|
||||
1990 1900 2140 2020 0 0 0 0>,
|
||||
< 0 0 0 0 0 0 1790 1760
|
||||
1990 1900 2140 2020 0 0 0 0>;
|
||||
|
||||
qcom,cpr-scaled-open-loop-voltage-as-ceiling;
|
||||
qcom,cpr-corner-allow-ldo-mode =
|
||||
<0 0 0 0 0 0 0>;
|
||||
qcom,cpr-corner-allow-closed-loop =
|
||||
<0 0 0 0 0 0 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* APC0 CPR Controller node for Silver cluster */
|
||||
apc0_cpr: cprh-ctrl@179c8000 {
|
||||
compatible = "qcom,cprh-sdm660-kbss-regulator";
|
||||
reg = <0x179c8000 0x4000>, <0x00784000 0x1000>;
|
||||
reg-names = "cpr_ctrl", "fuse_base";
|
||||
clocks = <&clock_gcc GCC_HMSS_RBCPR_CLK>;
|
||||
clock-names = "core_clk";
|
||||
qcom,cpr-ctrl-name = "apc0";
|
||||
qcom,cpr-controller-id = <0>;
|
||||
|
||||
qcom,cpr-sensor-time = <1000>;
|
||||
qcom,cpr-loop-time = <5000000>;
|
||||
qcom,cpr-idle-cycles = <15>;
|
||||
qcom,cpr-up-down-delay-time = <3000>;
|
||||
qcom,cpr-step-quot-init-min = <12>;
|
||||
qcom,cpr-step-quot-init-max = <14>;
|
||||
qcom,cpr-count-mode = <0>; /* All at once */
|
||||
qcom,cpr-count-repeat = <14>;
|
||||
qcom,cpr-down-error-step-limit = <1>;
|
||||
qcom,cpr-up-error-step-limit = <1>;
|
||||
qcom,cpr-corner-switch-delay-time = <1042>;
|
||||
qcom,cpr-voltage-settling-time = <1760>;
|
||||
|
||||
qcom,apm-threshold-voltage = <872000>;
|
||||
qcom,apm-crossover-voltage = <872000>;
|
||||
qcom,apm-hysteresis-voltage = <20000>;
|
||||
qcom,voltage-step = <4000>;
|
||||
qcom,voltage-base = <400000>;
|
||||
qcom,cpr-saw-use-unit-mV;
|
||||
qcom,cpr-reset-step-quot-loop-en;
|
||||
|
||||
qcom,cpr-panic-reg-addr-list =
|
||||
<0x179cbaa4 0x17912c18>;
|
||||
qcom,cpr-panic-reg-name-list =
|
||||
"PWR_CPRH_STATUS", "APCLUS0_L2_SAW4_PMIC_STS";
|
||||
|
||||
qcom,cpr-enable;
|
||||
qcom,cpr-hw-closed-loop;
|
||||
|
||||
thread@0 {
|
||||
qcom,cpr-thread-id = <0>;
|
||||
qcom,cpr-consecutive-up = <0>;
|
||||
qcom,cpr-consecutive-down = <2>;
|
||||
qcom,cpr-up-threshold = <2>;
|
||||
qcom,cpr-down-threshold = <2>;
|
||||
|
||||
apc0_pwrcl_vreg: regulator {
|
||||
regulator-name = "apc0_pwrcl_corner";
|
||||
regulator-min-microvolt = <1>;
|
||||
regulator-max-microvolt = <8>;
|
||||
|
||||
qcom,cpr-fuse-corners = <5>;
|
||||
qcom,cpr-fuse-combos = <40>;
|
||||
qcom,cpr-speed-bins = <5>;
|
||||
qcom,cpr-speed-bin-corners = <8 8 0 8 8>;
|
||||
qcom,cpr-corners =
|
||||
/* Speed bin 0 */
|
||||
<8 8 8 8 8 8 8 8>,
|
||||
|
||||
/* Speed bin 1 */
|
||||
<8 8 8 8 8 8 8 8>,
|
||||
|
||||
/* Speed bin 2 */
|
||||
<0 0 0 0 0 0 0 0>,
|
||||
|
||||
/* Speed bin 3 */
|
||||
<8 8 8 8 8 8 8 8>,
|
||||
|
||||
/* Speed bin 4 */
|
||||
<8 8 8 8 8 8 8 8>;
|
||||
|
||||
qcom,cpr-corner-fmax-map =
|
||||
/* Speed bin 0 */
|
||||
<2 3 4 5 8>,
|
||||
|
||||
/* Speed bin 1 */
|
||||
<2 3 4 5 8>,
|
||||
|
||||
/* Speed bin 2 */
|
||||
<0 0 0 0 0>,
|
||||
|
||||
/* Speed bin 3 */
|
||||
<2 3 4 5 8>,
|
||||
|
||||
/* Speed bin 4 */
|
||||
<2 3 4 5 8>;
|
||||
|
||||
qcom,cpr-voltage-ceiling =
|
||||
< 724000 724000 724000 788000 868000
|
||||
1068000 1068000 1068000>;
|
||||
|
||||
qcom,cpr-voltage-floor =
|
||||
<588000 588000 596000 652000 712000
|
||||
744000 784000 844000>;
|
||||
|
||||
qcom,corner-frequencies =
|
||||
/* Speed bin 0 */
|
||||
<300000000 633600000 902400000
|
||||
1113600000 1401600000 1536000000
|
||||
1747200000 1843200000>,
|
||||
|
||||
/* Speed bin 1 */
|
||||
<300000000 633600000 902400000
|
||||
1113600000 1401600000 1536000000
|
||||
1747200000 1843200000>,
|
||||
|
||||
/* Speed bin 3 */
|
||||
<300000000 633600000 902400000
|
||||
1113600000 1401600000 1536000000
|
||||
1612800000 1843200000>,
|
||||
|
||||
/* Speed bin 4 */
|
||||
<300000000 633600000 902400000
|
||||
1113600000 1401600000 1536000000
|
||||
1747200000 1843200000>;
|
||||
|
||||
qcom,allow-voltage-interpolation;
|
||||
qcom,allow-quotient-interpolation;
|
||||
qcom,cpr-scaled-open-loop-voltage-as-ceiling;
|
||||
|
||||
qcom,cpr-ro-scaling-factor =
|
||||
<3600 3600 3830 2430 2520 2700 1790
|
||||
1760 1970 1880 2110 2010 2510 4900
|
||||
4370 4780>,
|
||||
<3600 3600 3830 2430 2520 2700 1790
|
||||
1760 1970 1880 2110 2010 2510 4900
|
||||
4370 4780>,
|
||||
<3600 3600 3830 2430 2520 2700 1790
|
||||
1760 1970 1880 2110 2010 2510 4900
|
||||
4370 4780>,
|
||||
<3600 3600 3830 2430 2520 2700 1790
|
||||
1760 1970 1880 2110 2010 2510 4900
|
||||
4370 4780>,
|
||||
<3600 3600 3830 2430 2520 2700 1790
|
||||
1760 1970 1880 2110 2010 2510 4900
|
||||
4370 4780>;
|
||||
|
||||
qcom,cpr-open-loop-voltage-fuse-adjustment =
|
||||
< (-4000) 4000 7000 19000 (-8000)>;
|
||||
|
||||
qcom,cpr-closed-loop-voltage-fuse-adjustment =
|
||||
<(-32000) (-30000) (-29000) (-23000)
|
||||
(-21000)>;
|
||||
|
||||
qcom,cpr-floor-to-ceiling-max-range =
|
||||
<32000 32000 32000 40000 44000
|
||||
40000 40000 40000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* APC1 CPR Controller node for Gold cluster */
|
||||
apc1_cpr: cprh-ctrl@179c4000 {
|
||||
compatible = "qcom,cprh-sdm660-kbss-regulator";
|
||||
reg = <0x179c4000 0x4000>, <0x00784000 0x1000>;
|
||||
reg-names = "cpr_ctrl", "fuse_base";
|
||||
clocks = <&clock_gcc GCC_HMSS_RBCPR_CLK>;
|
||||
clock-names = "core_clk";
|
||||
qcom,cpr-ctrl-name = "apc1";
|
||||
qcom,cpr-controller-id = <1>;
|
||||
|
||||
qcom,cpr-sensor-time = <1000>;
|
||||
qcom,cpr-loop-time = <5000000>;
|
||||
qcom,cpr-idle-cycles = <15>;
|
||||
qcom,cpr-up-down-delay-time = <3000>;
|
||||
qcom,cpr-step-quot-init-min = <12>;
|
||||
qcom,cpr-step-quot-init-max = <14>;
|
||||
qcom,cpr-count-mode = <0>; /* All at once */
|
||||
qcom,cpr-count-repeat = <14>;
|
||||
qcom,cpr-down-error-step-limit = <1>;
|
||||
qcom,cpr-up-error-step-limit = <1>;
|
||||
qcom,cpr-corner-switch-delay-time = <1042>;
|
||||
qcom,cpr-voltage-settling-time = <1760>;
|
||||
|
||||
qcom,apm-threshold-voltage = <872000>;
|
||||
qcom,apm-crossover-voltage = <872000>;
|
||||
qcom,apm-hysteresis-voltage = <20000>;
|
||||
qcom,voltage-step = <4000>;
|
||||
qcom,voltage-base = <400000>;
|
||||
qcom,cpr-saw-use-unit-mV;
|
||||
qcom,cpr-reset-step-quot-loop-en;
|
||||
|
||||
qcom,cpr-panic-reg-addr-list =
|
||||
<0x179c7aa4 0x17812c18>;
|
||||
qcom,cpr-panic-reg-name-list =
|
||||
"PERF_CPRH_STATUS", "APCLUS1_L2_SAW4_PMIC_STS";
|
||||
|
||||
qcom,cpr-enable;
|
||||
qcom,cpr-hw-closed-loop;
|
||||
|
||||
thread@0 {
|
||||
qcom,cpr-thread-id = <0>;
|
||||
qcom,cpr-consecutive-up = <0>;
|
||||
qcom,cpr-consecutive-down = <2>;
|
||||
qcom,cpr-up-threshold = <2>;
|
||||
qcom,cpr-down-threshold = <2>;
|
||||
|
||||
apc1_perfcl_vreg: regulator {
|
||||
regulator-name = "apc1_perfcl_corner";
|
||||
regulator-min-microvolt = <1>;
|
||||
regulator-max-microvolt = <7>;
|
||||
|
||||
qcom,cpr-fuse-corners = <5>;
|
||||
qcom,cpr-fuse-combos = <40>;
|
||||
qcom,cpr-speed-bins = <5>;
|
||||
qcom,cpr-speed-bin-corners = <7 7 0 7 7>;
|
||||
qcom,cpr-corners =
|
||||
/* Speed-bin 0 */
|
||||
<7 7 7 7 7 7 7 7>,
|
||||
|
||||
/* Speed-bin 1 */
|
||||
<7 7 7 7 7 7 7 7>,
|
||||
|
||||
/* Speed-bin 1 */
|
||||
<0 0 0 0 0 0 0 0>,
|
||||
|
||||
/* Speed-bin 3 */
|
||||
<7 7 7 7 7 7 7 7>,
|
||||
|
||||
/* Speed-bin 4 */
|
||||
<7 7 7 7 7 7 7 7>;
|
||||
|
||||
qcom,cpr-corner-fmax-map =
|
||||
/* Speed-bin 0 */
|
||||
<2 3 4 6 7>,
|
||||
|
||||
/* Speed-bin 1 */
|
||||
<2 3 4 6 7>,
|
||||
|
||||
/* Speed-bin 2 */
|
||||
<0 0 0 0 0>,
|
||||
|
||||
/* Speed-bin 3 */
|
||||
<2 3 4 6 7>,
|
||||
|
||||
/* Speed-bin 4 */
|
||||
<2 3 4 6 7>;
|
||||
|
||||
qcom,cpr-voltage-ceiling =
|
||||
<724000 724000 788000 868000
|
||||
988000 988000 1068000>;
|
||||
|
||||
qcom,cpr-voltage-floor =
|
||||
<588000 596000 652000 712000
|
||||
744000 784000 844000>;
|
||||
|
||||
qcom,corner-frequencies =
|
||||
/* Speed bin 0 */
|
||||
<300000000 1113600000 1401600000
|
||||
1747200000 1958400000 2150400000
|
||||
2457600000>,
|
||||
|
||||
/* Speed bin 1 */
|
||||
<300000000 1113600000 1401600000
|
||||
1747200000 1958400000 2150400000
|
||||
2208000000>,
|
||||
|
||||
/* Speed bin 3 */
|
||||
<300000000 1113600000 1401600000
|
||||
1747200000 1804800000 2150400000
|
||||
2208000000>,
|
||||
|
||||
/* Speed bin 4 */
|
||||
<300000000 1113600000 1401600000
|
||||
1747200000 1958400000 2150400000
|
||||
2208000000>;
|
||||
|
||||
qcom,allow-voltage-interpolation;
|
||||
qcom,allow-quotient-interpolation;
|
||||
qcom,cpr-scaled-open-loop-voltage-as-ceiling;
|
||||
|
||||
qcom,cpr-ro-scaling-factor =
|
||||
<4040 4230 0000 2210 2560 2450 2230
|
||||
2220 2410 2300 2560 2470 1600 3120
|
||||
2620 2280>,
|
||||
<4040 4230 0000 2210 2560 2450 2230
|
||||
2220 2410 2300 2560 2470 1600 3120
|
||||
2620 2280>,
|
||||
<4040 4230 0000 2210 2560 2450 2230
|
||||
2220 2410 2300 2560 2470 1600 3120
|
||||
2620 2280>,
|
||||
<4040 4230 0000 2210 2560 2450 2230
|
||||
2220 2410 2300 2560 2470 1600 3120
|
||||
2620 2280>,
|
||||
<4040 4230 0000 2210 2560 2450 2230
|
||||
2220 2410 2300 2560 2470 1600 3120
|
||||
2620 2280>;
|
||||
|
||||
qcom,cpr-open-loop-voltage-fuse-adjustment =
|
||||
<16000 27000 39000 39000 20000>;
|
||||
|
||||
qcom,cpr-closed-loop-voltage-fuse-adjustment =
|
||||
<(-22000) (-9000) (-7000) (-2000)
|
||||
11000>;
|
||||
|
||||
qcom,cpr-floor-to-ceiling-max-range =
|
||||
<40000 40000 40000 40000
|
||||
66000 66000 40000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
144
arch/arm64/boot/dts/qcom/sdm660-sim.dts
Normal file
144
arch/arm64/boot/dts/qcom/sdm660-sim.dts
Normal file
@ -0,0 +1,144 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-pinctrl.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L SIM";
|
||||
compatible = "qcom,sdm660-sim", "qcom,sdm660", "qcom,sim";
|
||||
qcom,board-id = <16 0>;
|
||||
qcom,pmic-id = <0x0001001b 0x0101011a 0x0 0x0>,
|
||||
<0x0001001b 0x0201011a 0x0 0x0>;
|
||||
|
||||
chosen {
|
||||
bootargs = "lpm_levels.sleep_disabled=1";
|
||||
};
|
||||
};
|
||||
|
||||
&usb3 {
|
||||
reg = <0xa800000 0xfc000>;
|
||||
reg-names = "core_base";
|
||||
/delete-property/ extcon;
|
||||
dwc3@a800000 {
|
||||
maximum-speed = "high-speed";
|
||||
};
|
||||
};
|
||||
|
||||
&ssphy {
|
||||
compatible = "usb-nop-xceiv";
|
||||
};
|
||||
|
||||
&qusb_phy0 {
|
||||
compatible = "usb-nop-xceiv";
|
||||
};
|
||||
|
||||
&uartblsp1dm1 {
|
||||
status = "ok";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart_console_active>;
|
||||
};
|
||||
|
||||
&sdhc_1 {
|
||||
/* device core power supply */
|
||||
vdd-supply = <&pm660l_l4>;
|
||||
qcom,vdd-voltage-level = <2950000 2950000>;
|
||||
qcom,vdd-current-level = <200 570000>;
|
||||
|
||||
/* device communication power supply */
|
||||
vdd-io-supply = <&pm660_l8>;
|
||||
qcom,vdd-io-always-on;
|
||||
qcom,vdd-io-lpm-sup;
|
||||
qcom,vdd-io-voltage-level = <1800000 1800000>;
|
||||
qcom,vdd-io-current-level = <200 325000>;
|
||||
|
||||
pinctrl-names = "active", "sleep";
|
||||
pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on &sdc1_rclk_on>;
|
||||
pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off &sdc1_rclk_off>;
|
||||
|
||||
qcom,clk-rates = <400000 20000000 25000000 50000000 100000000 192000000
|
||||
384000000>;
|
||||
|
||||
qcom,nonremovable;
|
||||
qcom,bus-speed-mode = "HS400_1p8v", "HS200_1p8v", "DDR_1p8v";
|
||||
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&sdhc_2 {
|
||||
/* device core power supply */
|
||||
vdd-supply = <&pm660l_l5>;
|
||||
qcom,vdd-voltage-level = <2950000 2950000>;
|
||||
qcom,vdd-current-level = <15000 800000>;
|
||||
|
||||
/* device communication power supply */
|
||||
vdd-io-supply = <&pm660l_l2>;
|
||||
qcom,vdd-io-voltage-level = <1800000 2950000>;
|
||||
qcom,vdd-io-current-level = <200 22000>;
|
||||
|
||||
pinctrl-names = "active", "sleep";
|
||||
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
|
||||
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
|
||||
|
||||
#address-cells = <0>;
|
||||
interrupt-parent = <&sdhc_2>;
|
||||
interrupts = <0 1 2>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-map-mask = <0xffffffff>;
|
||||
interrupt-map = <0 &intc 0 0 125 0
|
||||
1 &intc 0 0 221 0
|
||||
2 &tlmm 54 0>;
|
||||
interrupt-names = "hc_irq", "pwr_irq", "status_irq";
|
||||
cd-gpios = <&tlmm 54 0x1>;
|
||||
|
||||
qcom,clk-rates = <400000 20000000 25000000 50000000 100000000
|
||||
200000000>;
|
||||
qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
|
||||
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&pm660_charger {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&pm660_fg {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&pm660_pdphy {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&ufsphy1 {
|
||||
vdda-phy-supply = <&pm660l_l1>;
|
||||
vdda-pll-supply = <&pm660_l10>;
|
||||
vddp-ref-clk-supply = <&pm660_l1>;
|
||||
vdda-phy-max-microamp = <51400>;
|
||||
vdda-pll-max-microamp = <14200>;
|
||||
vddp-ref-clk-max-microamp = <100>;
|
||||
vddp-ref-clk-always-on;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&ufs1 {
|
||||
vdd-hba-supply = <&gdsc_ufs>;
|
||||
vdd-hba-fixed-regulator;
|
||||
vcc-supply = <&pm660l_l4>;
|
||||
vccq2-supply = <&pm660_l8>;
|
||||
vcc-max-microamp = <500000>;
|
||||
vccq2-max-microamp = <600000>;
|
||||
status = "ok";
|
||||
};
|
33
arch/arm64/boot/dts/qcom/sdm660-usbc-audio-mtp.dts
Normal file
33
arch/arm64/boot/dts/qcom/sdm660-usbc-audio-mtp.dts
Normal file
@ -0,0 +1,33 @@
|
||||
/* Copyright (c) 2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-mtp.dtsi"
|
||||
#include "sdm660-external-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L, USBC
|
||||
Audio MTP";
|
||||
compatible = "qcom,sdm660-mtp", "qcom,sdm660", "qcom,mtp";
|
||||
qcom,board-id = <8 2>;
|
||||
qcom,pmic-id = <0x0001001b 0x0101011a 0x0 0x0>,
|
||||
<0x0001001b 0x0201011a 0x0 0x0>,
|
||||
<0x0001001b 0x0102001a 0x0 0x0>;
|
||||
};
|
||||
|
||||
&tavil_snd {
|
||||
qcom,msm-mbhc-moist-cfg = <0>, <0>, <3>;
|
||||
qcom,msm-mbhc-usbc-audio-supported = <1>;
|
||||
};
|
31
arch/arm64/boot/dts/qcom/sdm660-usbc-audio-rcm.dts
Normal file
31
arch/arm64/boot/dts/qcom/sdm660-usbc-audio-rcm.dts
Normal file
@ -0,0 +1,31 @@
|
||||
/* Copyright (c) 2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "sdm660.dtsi"
|
||||
#include "sdm660-cdp.dtsi"
|
||||
#include "sdm660-external-codec.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. SDM 660 PM660 + PM660L, USBC
|
||||
Audio, RCM";
|
||||
compatible = "qcom,sdm660-cdp", "qcom,sdm660", "qcom,cdp";
|
||||
qcom,board-id = <21 3>;
|
||||
qcom,pmic-id = <0x0001001b 0x0101011a 0x0 0x0>,
|
||||
<0x0001001b 0x0201011a 0x0 0x0>;
|
||||
};
|
||||
|
||||
&tavil_snd {
|
||||
qcom,msm-mbhc-usbc-audio-supported = <1>;
|
||||
};
|
267
arch/arm64/boot/dts/qcom/sdm660-vidc.dtsi
Normal file
267
arch/arm64/boot/dts/qcom/sdm660-vidc.dtsi
Normal file
@ -0,0 +1,267 @@
|
||||
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/msm/msm-bus-ids.h>
|
||||
#include <dt-bindings/clock/qcom,gcc-sdm660.h>
|
||||
#include <dt-bindings/clock/qcom,mmcc-sdm660.h>
|
||||
#include <dt-bindings/clock/qcom,rpmcc.h>
|
||||
|
||||
|
||||
&soc {
|
||||
msm_vidc: qcom,vidc@cc00000 {
|
||||
compatible = "qcom,msm-vidc";
|
||||
status = "ok";
|
||||
reg = <0xcc00000 0x100000>;
|
||||
interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
|
||||
qcom,hfi = "venus";
|
||||
qcom,hfi-version = "3xx";
|
||||
qcom,firmware-name = "venus";
|
||||
qcom,never-unload-fw;
|
||||
qcom,sw-power-collapse;
|
||||
qcom,max-secure-instances = <5>;
|
||||
qcom,reg-presets =
|
||||
<0x80010 0x001f001f>,
|
||||
<0x80018 0x00000156>,
|
||||
<0x8001c 0x00000156>;
|
||||
|
||||
qcom,max-hw-load = <1036800>; /* Full 4k @ 30 */
|
||||
qcom,allowed-clock-rates =
|
||||
/* TURBO NOM+ NOM
|
||||
* SVS+ SVS SVS-
|
||||
*/
|
||||
<518400000 441600000 404000000
|
||||
320000000 269330000 133330000>;
|
||||
|
||||
qcom,dcvs-tbl =
|
||||
/* Dec UHD@30 All decoder - NOM to SVS+ */
|
||||
<897600 783360 979200 0x3f00000c>,
|
||||
|
||||
/* Dec DCI@24 HEVC - NOM to SVS+ */
|
||||
<816000 734400 829440 0x0c000000>,
|
||||
|
||||
/* Enc UHD@30 H264/HEVC - TURBO to NOM+ */
|
||||
<897600 897600 979200 0x4000004>;
|
||||
qcom,dcvs-limit =
|
||||
<32400 30>, /* Encoder UHD */
|
||||
<32400 24>; /* Decoder UHD */
|
||||
|
||||
/* Regulators */
|
||||
smmu-vdd-supply = <&gdsc_bimc_smmu>;
|
||||
venus-supply = <&gdsc_venus>;
|
||||
venus-core0-supply = <&gdsc_venus_core0>;
|
||||
|
||||
/* Clocks */
|
||||
clock-names = "gcc_mmss_sys_noc_axi_clk",
|
||||
"mmssnoc_axi_clk", "mmss_throttle_video_axi_clk",
|
||||
"mmss_mnoc_ahb_clk", "mmss_bimc_smmu_ahb_clk",
|
||||
"mmss_bimc_smmu_axi_clk", "mmss_video_core_clk",
|
||||
"mmss_video_ahb_clk", "mmss_video_axi_clk",
|
||||
"mmss_video_core0_clk";
|
||||
clocks = <&clock_gcc GCC_MMSS_SYS_NOC_AXI_CLK>,
|
||||
<&clock_rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
|
||||
<&clock_mmss MMSS_THROTTLE_VIDEO_AXI_CLK>,
|
||||
<&clock_mmss MMSS_MNOC_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AHB_CLK>,
|
||||
<&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>,
|
||||
<&clock_mmss MMSS_VIDEO_CORE_CLK>,
|
||||
<&clock_mmss MMSS_VIDEO_AHB_CLK>,
|
||||
<&clock_mmss MMSS_VIDEO_AXI_CLK>,
|
||||
<&clock_mmss MMSS_VIDEO_SUBCORE0_CLK>;
|
||||
qcom,clock-configs = <0x0 0x0 0x0 0x0 0x0 0x0
|
||||
0x3 0x0 0x2 0x3>;
|
||||
|
||||
/* Buses */
|
||||
bus_cnoc {
|
||||
compatible = "qcom,msm-vidc,bus";
|
||||
label = "cnoc";
|
||||
qcom,bus-master = <MSM_BUS_MASTER_AMPSS_M0>;
|
||||
qcom,bus-slave = <MSM_BUS_SLAVE_VENUS_CFG>;
|
||||
qcom,bus-governor = "performance";
|
||||
qcom,bus-range-kbps = <1 1>;
|
||||
};
|
||||
|
||||
venus_bus_ddr {
|
||||
compatible = "qcom,msm-vidc,bus";
|
||||
label = "venus-ddr";
|
||||
qcom,bus-master = <MSM_BUS_MASTER_VIDEO_P0>;
|
||||
qcom,bus-slave = <MSM_BUS_SLAVE_EBI_CH0>;
|
||||
qcom,bus-governor = "venus-ddr-gov";
|
||||
qcom,bus-range-kbps = <1000 2365000>;
|
||||
};
|
||||
|
||||
arm9_bus_ddr {
|
||||
compatible = "qcom,msm-vidc,bus";
|
||||
label = "venus-arm9-ddr";
|
||||
qcom,bus-master = <MSM_BUS_MASTER_VIDEO_P0>;
|
||||
qcom,bus-slave = <MSM_BUS_SLAVE_EBI_CH0>;
|
||||
qcom,bus-governor = "performance";
|
||||
qcom,bus-range-kbps = <1 1>;
|
||||
};
|
||||
|
||||
qcom,clock-freq-tbl {
|
||||
qcom,profile-enc {
|
||||
qcom,codec-mask = <0x55555555>;
|
||||
qcom,cycles-per-mb = <931>;
|
||||
qcom,low-power-mode-factor = <33286>;
|
||||
};
|
||||
qcom,profile-dec {
|
||||
qcom,codec-mask = <0xf3ffffff>;
|
||||
qcom,cycles-per-mb = <355>;
|
||||
};
|
||||
qcom,profile-hevcdec {
|
||||
qcom,codec-mask = <0x0c000000>;
|
||||
qcom,cycles-per-mb = <400>;
|
||||
};
|
||||
};
|
||||
|
||||
venus-ddr-gov {
|
||||
compatible = "qcom,msm-vidc,governor,table";
|
||||
name = "venus-ddr-gov";
|
||||
status = "ok";
|
||||
qcom,bus-freq-table {
|
||||
qcom,profile-enc {
|
||||
qcom,codec-mask = <0x55555555>;
|
||||
qcom,load-busfreq-tbl =
|
||||
<979200 1044000>, /* UHD30E */
|
||||
<864000 887000>, /* 720p240LPE */
|
||||
<489600 666000>, /* 1080p60E */
|
||||
<432000 578000>, /* 720p120E */
|
||||
<244800 346000>, /* 1080p30E */
|
||||
<216000 293000>, /* 720p60E */
|
||||
<108000 151000>, /* 720p30E */
|
||||
<0 0>;
|
||||
};
|
||||
qcom,profile-dec {
|
||||
qcom,codec-mask = <0xffffffff>;
|
||||
qcom,load-busfreq-tbl =
|
||||
<979200 2365000>, /* UHD30D */
|
||||
<864000 1978000>, /* 720p240D */
|
||||
<489600 1133000>, /* 1080p60D */
|
||||
<432000 994000>, /* 720p120D */
|
||||
<244800 580000>, /* 1080p30D */
|
||||
<216000 501000>, /* 720p60E */
|
||||
<108000 255000>, /* 720p30D */
|
||||
<0 0>;
|
||||
};
|
||||
qcom,profile-dec-ubwc {
|
||||
qcom,codec-mask = <0xffffffff>;
|
||||
qcom,ubwc-mode;
|
||||
qcom,load-busfreq-tbl =
|
||||
<979200 1892000>, /* UHD30D */
|
||||
<864000 1554000>, /* 720p240D */
|
||||
<489600 895000>, /* 1080p60D */
|
||||
<432000 781000>, /* 720p120D */
|
||||
<244800 460000>, /* 1080p30D */
|
||||
<216000 301000>, /* 720p60E */
|
||||
<108000 202000>, /* 720p30D */
|
||||
<0 0>;
|
||||
};
|
||||
qcom,profile-dec-ubwc-10bit {
|
||||
qcom,codec-mask = <0xffffffff>;
|
||||
qcom,ubwc-10bit;
|
||||
qcom,load-busfreq-tbl =
|
||||
<979200 2446336>, /* UHD30D */
|
||||
<864000 2108416>, /* 720p240D */
|
||||
<489600 1207296>, /* 1080p60D */
|
||||
<432000 1058816>, /* 720p120D */
|
||||
<244800 616448>, /* 1080p30D */
|
||||
<216000 534528>, /* 720p60D */
|
||||
<108000 271360>, /* 720p30D */
|
||||
<0 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
/* MMUs */
|
||||
non_secure_cb {
|
||||
compatible = "qcom,msm-vidc,context-bank";
|
||||
label = "venus_ns";
|
||||
iommus =
|
||||
<&mmss_bimc_smmu 0x400>,
|
||||
<&mmss_bimc_smmu 0x401>,
|
||||
<&mmss_bimc_smmu 0x40a>,
|
||||
<&mmss_bimc_smmu 0x407>,
|
||||
<&mmss_bimc_smmu 0x40e>,
|
||||
<&mmss_bimc_smmu 0x40f>,
|
||||
<&mmss_bimc_smmu 0x408>,
|
||||
<&mmss_bimc_smmu 0x409>,
|
||||
<&mmss_bimc_smmu 0x40b>,
|
||||
<&mmss_bimc_smmu 0x40c>,
|
||||
<&mmss_bimc_smmu 0x40d>,
|
||||
<&mmss_bimc_smmu 0x410>,
|
||||
<&mmss_bimc_smmu 0x421>,
|
||||
<&mmss_bimc_smmu 0x428>,
|
||||
<&mmss_bimc_smmu 0x429>,
|
||||
<&mmss_bimc_smmu 0x42b>,
|
||||
<&mmss_bimc_smmu 0x42c>,
|
||||
<&mmss_bimc_smmu 0x42d>,
|
||||
<&mmss_bimc_smmu 0x411>,
|
||||
<&mmss_bimc_smmu 0x431>;
|
||||
buffer-types = <0xfff>;
|
||||
virtual-addr-pool = <0x79000000 0x60000000>;
|
||||
};
|
||||
|
||||
firmware_cb {
|
||||
compatible = "qcom,msm-vidc,context-bank";
|
||||
qcom,fw-context-bank;
|
||||
iommus = <&mmss_bimc_smmu 0x580>,
|
||||
<&mmss_bimc_smmu 0x586>;
|
||||
};
|
||||
secure_bitstream_cb {
|
||||
compatible = "qcom,msm-vidc,context-bank";
|
||||
label = "venus_sec_bitstream";
|
||||
iommus = <&mmss_bimc_smmu 0x500>,
|
||||
<&mmss_bimc_smmu 0x502>,
|
||||
<&mmss_bimc_smmu 0x509>,
|
||||
<&mmss_bimc_smmu 0x50a>,
|
||||
<&mmss_bimc_smmu 0x50b>,
|
||||
<&mmss_bimc_smmu 0x50e>,
|
||||
<&mmss_bimc_smmu 0x526>,
|
||||
<&mmss_bimc_smmu 0x529>,
|
||||
<&mmss_bimc_smmu 0x52b>;
|
||||
buffer-types = <0x241>;
|
||||
virtual-addr-pool = <0x51000000 0x28000000>;
|
||||
qcom,secure-context-bank;
|
||||
};
|
||||
|
||||
venus_secure_pixel_cb: secure_pixel_cb {
|
||||
compatible = "qcom,msm-vidc,context-bank";
|
||||
label = "venus_sec_pixel";
|
||||
iommus = <&mmss_bimc_smmu 0x504>,
|
||||
<&mmss_bimc_smmu 0x50c>,
|
||||
<&mmss_bimc_smmu 0x510>,
|
||||
<&mmss_bimc_smmu 0x52c>;
|
||||
buffer-types = <0x106>;
|
||||
virtual-addr-pool = <0x29000000 0x28000000>;
|
||||
qcom,secure-context-bank;
|
||||
};
|
||||
|
||||
venus_secure_non_pixel_cb: secure_non_pixel_cb {
|
||||
compatible = "qcom,msm-vidc,context-bank";
|
||||
label = "venus_sec_non_pixel";
|
||||
iommus = <&mmss_bimc_smmu 0x505>,
|
||||
<&mmss_bimc_smmu 0x507>,
|
||||
<&mmss_bimc_smmu 0x508>,
|
||||
<&mmss_bimc_smmu 0x50d>,
|
||||
<&mmss_bimc_smmu 0x50f>,
|
||||
<&mmss_bimc_smmu 0x525>,
|
||||
<&mmss_bimc_smmu 0x528>,
|
||||
<&mmss_bimc_smmu 0x52d>,
|
||||
<&mmss_bimc_smmu 0x540>;
|
||||
buffer-types = <0x480>;
|
||||
virtual-addr-pool = <0x1000000 0x28000000>;
|
||||
qcom,secure-context-bank;
|
||||
};
|
||||
};
|
||||
};
|
197
arch/arm64/boot/dts/qcom/sdm660-wcd.dtsi
Normal file
197
arch/arm64/boot/dts/qcom/sdm660-wcd.dtsi
Normal file
@ -0,0 +1,197 @@
|
||||
/* Copyright (c) 2016, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
&slim_aud {
|
||||
tasha_codec {
|
||||
wsa_spkr_sd1: msm_cdc_pinctrll {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&spkr_1_sd_n_active>;
|
||||
pinctrl-1 = <&spkr_1_sd_n_sleep>;
|
||||
};
|
||||
|
||||
wsa_spkr_sd2: msm_cdc_pinctrlr {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&spkr_2_sd_n_active>;
|
||||
pinctrl-1 = <&spkr_2_sd_n_sleep>;
|
||||
};
|
||||
|
||||
tasha_hph_en0: msm_cdc_pinctrl_hph_en0 {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&hph_en0_active>;
|
||||
pinctrl-1 = <&hph_en0_sleep>;
|
||||
};
|
||||
|
||||
tasha_hph_en1: msm_cdc_pinctrl_hph_en1 {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&hph_en1_active>;
|
||||
pinctrl-1 = <&hph_en1_sleep>;
|
||||
};
|
||||
};
|
||||
|
||||
tavil_codec {
|
||||
wcd: wcd_pinctrl@5 {
|
||||
compatible = "qcom,wcd-pinctrl";
|
||||
qcom,num-gpios = <5>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
us_euro_sw_wcd_active: us_euro_sw_wcd_active {
|
||||
mux {
|
||||
pins = "gpio1";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio1";
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
|
||||
us_euro_sw_wcd_sleep: us_euro_sw_wcd_sleep {
|
||||
mux {
|
||||
pins = "gpio1";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio1";
|
||||
output-low;
|
||||
};
|
||||
};
|
||||
|
||||
spkr_1_wcd_en_active: spkr_1_wcd_en_active {
|
||||
mux {
|
||||
pins = "gpio2";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio2";
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
|
||||
spkr_1_wcd_en_sleep: spkr_1_wcd_en_sleep {
|
||||
mux {
|
||||
pins = "gpio2";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio2";
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
spkr_2_wcd_en_active: spkr_2_sd_n_active {
|
||||
mux {
|
||||
pins = "gpio3";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio3";
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
|
||||
spkr_2_wcd_en_sleep: spkr_2_sd_n_sleep {
|
||||
mux {
|
||||
pins = "gpio3";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio3";
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
hph_en0_wcd_active: hph_en0_wcd_active {
|
||||
mux {
|
||||
pins = "gpio4";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio4";
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
|
||||
hph_en0_wcd_sleep: hph_en0_wcd_sleep {
|
||||
mux {
|
||||
pins = "gpio4";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio4";
|
||||
output-low;
|
||||
};
|
||||
};
|
||||
|
||||
hph_en1_wcd_active: hph_en1_wcd_active {
|
||||
mux {
|
||||
pins = "gpio5";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio5";
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
|
||||
hph_en1_wcd_sleep: hph_en1_wcd_sleep {
|
||||
mux {
|
||||
pins = "gpio5";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio5";
|
||||
output-low;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
wsa_spkr_wcd_sd1: msm_cdc_pinctrll {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&spkr_1_wcd_en_active>;
|
||||
pinctrl-1 = <&spkr_1_wcd_en_sleep>;
|
||||
};
|
||||
|
||||
wsa_spkr_wcd_sd2: msm_cdc_pinctrlr {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&spkr_2_wcd_en_active>;
|
||||
pinctrl-1 = <&spkr_2_wcd_en_sleep>;
|
||||
};
|
||||
|
||||
tavil_us_euro_sw: msm_cdc_pinctrl_us_euro_sw {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&us_euro_sw_wcd_active>;
|
||||
pinctrl-1 = <&us_euro_sw_wcd_sleep>;
|
||||
};
|
||||
|
||||
tavil_hph_en0: msm_cdc_pinctrl_hph_en0 {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&hph_en0_wcd_active>;
|
||||
pinctrl-1 = <&hph_en0_wcd_sleep>;
|
||||
};
|
||||
|
||||
tavil_hph_en1: msm_cdc_pinctrl_hph_en1 {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&hph_en1_wcd_active>;
|
||||
pinctrl-1 = <&hph_en1_wcd_sleep>;
|
||||
};
|
||||
};
|
||||
};
|
79
arch/arm64/boot/dts/qcom/sdm660-wsa881x.dtsi
Normal file
79
arch/arm64/boot/dts/qcom/sdm660-wsa881x.dtsi
Normal file
@ -0,0 +1,79 @@
|
||||
/* Copyright (c) 2016, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include "sdm660-wcd.dtsi"
|
||||
|
||||
&slim_aud {
|
||||
tasha_codec {
|
||||
swr_master {
|
||||
compatible = "qcom,swr-wcd";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
wsa881x_211: wsa881x@20170211 {
|
||||
compatible = "qcom,wsa881x";
|
||||
reg = <0x0 0x20170211>;
|
||||
qcom,spkr-sd-n-node = <&wsa_spkr_sd1>;
|
||||
};
|
||||
|
||||
wsa881x_212: wsa881x@20170212 {
|
||||
compatible = "qcom,wsa881x";
|
||||
reg = <0x0 0x20170212>;
|
||||
qcom,spkr-sd-n-node = <&wsa_spkr_sd2>;
|
||||
};
|
||||
|
||||
wsa881x_213: wsa881x@21170213 {
|
||||
compatible = "qcom,wsa881x";
|
||||
reg = <0x0 0x21170213>;
|
||||
qcom,spkr-sd-n-node = <&wsa_spkr_sd1>;
|
||||
};
|
||||
|
||||
wsa881x_214: wsa881x@21170214 {
|
||||
compatible = "qcom,wsa881x";
|
||||
reg = <0x0 0x21170214>;
|
||||
qcom,spkr-sd-n-node = <&wsa_spkr_sd2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
tavil_codec {
|
||||
swr_master {
|
||||
compatible = "qcom,swr-wcd";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
wsa881x_0211: wsa881x@20170211 {
|
||||
compatible = "qcom,wsa881x";
|
||||
reg = <0x0 0x20170211>;
|
||||
qcom,spkr-sd-n-node = <&wsa_spkr_wcd_sd1>;
|
||||
};
|
||||
|
||||
wsa881x_0212: wsa881x@20170212 {
|
||||
compatible = "qcom,wsa881x";
|
||||
reg = <0x0 0x20170212>;
|
||||
qcom,spkr-sd-n-node = <&wsa_spkr_wcd_sd2>;
|
||||
};
|
||||
|
||||
wsa881x_0213: wsa881x@21170213 {
|
||||
compatible = "qcom,wsa881x";
|
||||
reg = <0x0 0x21170213>;
|
||||
qcom,spkr-sd-n-node = <&wsa_spkr_wcd_sd1>;
|
||||
};
|
||||
|
||||
wsa881x_0214: wsa881x@21170214 {
|
||||
compatible = "qcom,wsa881x";
|
||||
reg = <0x0 0x21170214>;
|
||||
qcom,spkr-sd-n-node = <&wsa_spkr_wcd_sd2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
2928
arch/arm64/boot/dts/qcom/sdm660.dtsi
Normal file
2928
arch/arm64/boot/dts/qcom/sdm660.dtsi
Normal file
File diff suppressed because it is too large
Load Diff
@ -627,6 +627,15 @@
|
||||
#define MSM_BUS_SLAVE_TLMM_NORTH 731
|
||||
#define MSM_BUS_SLAVE_TLMM_WEST 732
|
||||
#define MSM_BUS_SLAVE_SKL 733
|
||||
#define MSM_BUS_SLAVE_LPASS_TCM 734
|
||||
#define MSM_BUS_SLAVE_TLMM_CENTER 736
|
||||
#define MSM_BUS_MSS_NAV_CE_MPU_CFG 737
|
||||
#define MSM_BUS_SLAVE_A2NOC_THROTTLE_CFG 738
|
||||
#define MSM_BUS_SLAVE_CDSP 739
|
||||
#define MSM_BUS_SLAVE_CDSP_SMMU_CFG 740
|
||||
#define MSM_BUS_SLAVE_LPASS_MPU_CFG 741
|
||||
#define MSM_BUS_SLAVE_CSI_PHY_CFG 742
|
||||
#define MSM_BUS_SLAVE_LAST 743
|
||||
#define MSM_BUS_SLAVE_SERVICE_A1NOC 744
|
||||
#define MSM_BUS_SLAVE_ANOC_PCIE_SNOC 745
|
||||
#define MSM_BUS_SLAVE_SERVICE_A2NOC 746
|
||||
|
24
include/dt-bindings/msm/power-on.h
Normal file
24
include/dt-bindings/msm/power-on.h
Normal file
@ -0,0 +1,24 @@
|
||||
/* Copyright (c) 2015, 2017, 2019, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef __MSM_POWER_ON_H__
|
||||
#define __MSM_POWER_ON_H__
|
||||
|
||||
#define PON_POWER_OFF_RESERVED 0x00
|
||||
#define PON_POWER_OFF_WARM_RESET 0x01
|
||||
#define PON_POWER_OFF_SHUTDOWN 0x04
|
||||
#define PON_POWER_OFF_DVDD_SHUTDOWN 0x05
|
||||
#define PON_POWER_OFF_HARD_RESET 0x07
|
||||
#define PON_POWER_OFF_DVDD_HARD_RESET 0x08
|
||||
#define PON_POWER_OFF_MAX_TYPE 0x10
|
||||
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user