Merge remote-tracking branch 'remotes/quic/msm-4.4' into dev/msm-4.4-8996au

Conflicts:
	arch/arm64/configs/msm-auto-perf_defconfig

Change-Id: Ibc59804762c3e14031c22b03a52d49ff2acc36d4
Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
This commit is contained in:
Zhiqiang Tu 2017-06-12 15:39:30 +08:00
commit d992f38d6d
1714 changed files with 132543 additions and 24542 deletions

View file

@ -6,6 +6,13 @@ ifeq ($(KERNEL_TARGET),)
INSTALLED_KERNEL_TARGET := $(PRODUCT_OUT)/kernel
endif
TARGET_KERNEL_MAKE_ENV := $(strip $(TARGET_KERNEL_MAKE_ENV))
ifeq ($(TARGET_KERNEL_MAKE_ENV),)
KERNEL_MAKE_ENV :=
else
KERNEL_MAKE_ENV := $(TARGET_KERNEL_MAKE_ENV)
endif
TARGET_KERNEL_ARCH := $(strip $(TARGET_KERNEL_ARCH))
ifeq ($(TARGET_KERNEL_ARCH),)
KERNEL_ARCH := arm
@ -91,8 +98,8 @@ TARGET_PREBUILT_INT_KERNEL := $(TARGET_PREBUILT_INT_KERNEL)-dtb
endif
KERNEL_HEADERS_INSTALL := $(KERNEL_OUT)/usr
KERNEL_MODULES_INSTALL := system
KERNEL_MODULES_OUT := $(TARGET_OUT)/lib/modules
KERNEL_MODULES_INSTALL ?= system
KERNEL_MODULES_OUT ?= $(PRODUCT_OUT)/$(KERNEL_MODULES_INSTALL)/lib/modules
TARGET_PREBUILT_KERNEL := $(TARGET_PREBUILT_INT_KERNEL)
@ -124,43 +131,43 @@ $(KERNEL_OUT):
mkdir -p $(KERNEL_OUT)
$(KERNEL_CONFIG): $(KERNEL_OUT)
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(KERNEL_DEFCONFIG)
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(KERNEL_DEFCONFIG)
$(hide) if [ ! -z "$(KERNEL_CONFIG_OVERRIDE)" ]; then \
echo "Overriding kernel config with '$(KERNEL_CONFIG_OVERRIDE)'"; \
echo $(KERNEL_CONFIG_OVERRIDE) >> $(KERNEL_OUT)/.config; \
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) oldconfig; fi
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) oldconfig; fi
$(TARGET_PREBUILT_INT_KERNEL): $(KERNEL_OUT) $(KERNEL_HEADERS_INSTALL)
$(hide) echo "Building kernel..."
$(hide) rm -rf $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/dts
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(KERNEL_CFLAGS)
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(KERNEL_CFLAGS) modules
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) INSTALL_MOD_PATH=$(BUILD_ROOT_LOC)../$(KERNEL_MODULES_INSTALL) INSTALL_MOD_STRIP=1 ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) modules_install
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(KERNEL_CFLAGS)
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(KERNEL_CFLAGS) modules
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) INSTALL_MOD_PATH=$(BUILD_ROOT_LOC)../$(KERNEL_MODULES_INSTALL) INSTALL_MOD_STRIP=1 $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) modules_install
$(mv-modules)
$(clean-module-folder)
$(KERNEL_HEADERS_INSTALL): $(KERNEL_OUT)
$(hide) if [ ! -z "$(KERNEL_HEADER_DEFCONFIG)" ]; then \
rm -f $(BUILD_ROOT_LOC)$(KERNEL_CONFIG); \
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) ARCH=$(KERNEL_HEADER_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(KERNEL_HEADER_DEFCONFIG); \
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) ARCH=$(KERNEL_HEADER_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) headers_install; fi
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_HEADER_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(KERNEL_HEADER_DEFCONFIG); \
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_HEADER_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) headers_install; fi
$(hide) if [ "$(KERNEL_HEADER_DEFCONFIG)" != "$(KERNEL_DEFCONFIG)" ]; then \
echo "Used a different defconfig for header generation"; \
rm -f $(BUILD_ROOT_LOC)$(KERNEL_CONFIG); \
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(KERNEL_DEFCONFIG); fi
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(KERNEL_DEFCONFIG); fi
$(hide) if [ ! -z "$(KERNEL_CONFIG_OVERRIDE)" ]; then \
echo "Overriding kernel config with '$(KERNEL_CONFIG_OVERRIDE)'"; \
echo $(KERNEL_CONFIG_OVERRIDE) >> $(KERNEL_OUT)/.config; \
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) oldconfig; fi
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) oldconfig; fi
kerneltags: $(KERNEL_OUT) $(KERNEL_CONFIG)
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) tags
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) tags
kernelconfig: $(KERNEL_OUT) $(KERNEL_CONFIG)
env KCONFIG_NOTIMESTAMP=true \
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) menuconfig
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) menuconfig
env KCONFIG_NOTIMESTAMP=true \
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) savedefconfig
$(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) savedefconfig
cp $(KERNEL_OUT)/defconfig $(TARGET_KERNEL_SOURCE)/arch/$(KERNEL_ARCH)/configs/$(KERNEL_DEFCONFIG)
endif

View file

@ -11,24 +11,56 @@ in AArch64 Linux.
The kernel configures the translation tables so that translations made
via TTBR0 (i.e. userspace mappings) have the top byte (bits 63:56) of
the virtual address ignored by the translation hardware. This frees up
this byte for application use, with the following caveats:
this byte for application use.
(1) The kernel requires that all user addresses passed to EL1
are tagged with tag 0x00. This means that any syscall
parameters containing user virtual addresses *must* have
their top byte cleared before trapping to the kernel.
(2) Non-zero tags are not preserved when delivering signals.
This means that signal handlers in applications making use
of tags cannot rely on the tag information for user virtual
addresses being maintained for fields inside siginfo_t.
One exception to this rule is for signals raised in response
to watchpoint debug exceptions, where the tag information
will be preserved.
Passing tagged addresses to the kernel
--------------------------------------
(3) Special care should be taken when using tagged pointers,
since it is likely that C compilers will not hazard two
virtual addresses differing only in the upper byte.
All interpretation of userspace memory addresses by the kernel assumes
an address tag of 0x00.
This includes, but is not limited to, addresses found in:
- pointer arguments to system calls, including pointers in structures
passed to system calls,
- the stack pointer (sp), e.g. when interpreting it to deliver a
signal,
- the frame pointer (x29) and frame records, e.g. when interpreting
them to generate a backtrace or call graph.
Using non-zero address tags in any of these locations may result in an
error code being returned, a (fatal) signal being raised, or other modes
of failure.
For these reasons, passing non-zero address tags to the kernel via
system calls is forbidden, and using a non-zero address tag for sp is
strongly discouraged.
Programs maintaining a frame pointer and frame records that use non-zero
address tags may suffer impaired or inaccurate debug and profiling
visibility.
Preserving tags
---------------
Non-zero tags are not preserved when delivering signals. This means that
signal handlers in applications making use of tags cannot rely on the
tag information for user virtual addresses being maintained for fields
inside siginfo_t. One exception to this rule is for signals raised in
response to watchpoint debug exceptions, where the tag information will
be preserved.
The architecture prevents the use of a tagged PC, so the upper byte will
be set to a sign-extension of bit 55 on exception return.
Other considerations
--------------------
Special care should be taken when using tagged pointers, since it is
likely that C compilers will not hazard two virtual addresses differing
only in the upper byte.

View file

@ -190,6 +190,7 @@ nodes to be present and contain the properties described below.
"allwinner,sun6i-a31"
"allwinner,sun8i-a23"
"arm,psci"
"psci"
"brcm,brahma-b15"
"marvell,armada-375-smp"
"marvell,armada-380-smp"

View file

@ -0,0 +1,54 @@
ADV7481 chip driver (VIDEO_ADV7481)
VIDEO_ADV7481 is a kernel platform driver that is used for video decoder
and dual mode HDMI/MHL receiver.
The devicetree representation of the VIDEO_ADV7481 block should be:
Required properties
- compatible: "qcom,adv7481"
- reg: The i2c slave address of adv7481 device.
- qcom,cci-master: The i2c master id to be used for adv7481 driver.
- gpios: The GPIOs required to be configured for the driver. It should
be in the order I2C data line, i2c clock line, reset line,
interrupt 1, interrupt 2 and interrupt 3.
- cam_vdig-supply: Should contain regulator to be used for the digital
vdd.
- cam_vio-supply: Should contain regulator to be used for the IO vdd.
- cam_vana-supply: Should contain regulator from which analog voltage
is supplied.
- qcom,cam-vreg-name: Should specify array of regulator names required
for the device.
- qcom,cam-vreg-min-voltage: Should specify array of minimum voltage
level in uV for the regulators specified in the property
"qcom,cam-vreg-name".
- qcom,cam-vreg-max-voltage: Should specify array of maximum voltage
level in uV for the regulators specified in the property
"qcom,cam-vreg-name".
- qcom,cam-vreg-op-mode: Should specify array of current level in uA
for the regulators specified in the property "qcom,cam-vreg-name".
Example:
qcom,adv7481@70 {
compatible = "qcom,adv7481";
reg = <0x70 0xff>;
cam_vdig-supply = <&vph_pwr_vreg>;
/* Cameras powered by PMIC: */
cam_vio-supply = <&pm8994_lvs1>;
cam_vana-supply = <&pm8994_l17>;
/* Self-powered cameras: */
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
qcom,cam-vreg-min-voltage = <1300000 0 2500000>;
qcom,cam-vreg-max-voltage = <1300000 0 2500000>;
qcom,cam-vreg-op-mode = <105000 0 80000>;
qcom,cci-master = <0>;
qcom,slave-addr = <0x70>;
gpios = <&tlmm 17 0>, /* I2C SDA */
<&tlmm 18 0>, /* I2C SCL */
<&pm8994_gpios 4 0>, /* RST */
<&pm8994_gpios 5 0>, /* INT1 */
<&pm8994_gpios 6 0>, /* INT2 */
<&pm8994_gpios 7 0>; /* INT3 */
};

View file

@ -0,0 +1,54 @@
Android firmware
Node to specify early mount of vendor partition.
Required properties
-compatible: "android,firmware"
Child nodes:
------------
fstab:
------------------------------
fstab entry to specify mount attributes of vendor partition.
Required properties:
-compatible: "android,fstab"
Child nodes:
------------
vendor:
-----------------
vendor partition specification.
Required properties:
-compatible: "android, vendor"
-dev: block device corresponding to vendor partition
-type: file system type of vendor partition
-mnt_flags: mount flags
-fsmgr_flags: fsmgr flags
Example:
firmware: firmware {
android {
compatible = "android,firmware";
fstab {
compatible = "android,fstab";
vendor {
compatible = "android,vendor";
dev = "/dev/block/platform/soc/1da4000.ufshc/by-name/vendor";
type = "ext4";
mnt_flags = "ro,barrier=1,discard";
fsmgr_flags = "wait,slotselect";
status = "ok";
};
};
};
};

View file

@ -6,8 +6,8 @@ to be reset.
Required Properties:
- compatible: The bus devices need to be compatible with
"qcom,mdm2-modem", "qcom,ext-mdm9x25", "qcom,ext-mdm9x35", "qcom, ext-mdm9x45",
"qcom,ext-mdm9x55".
"qcom,mdm2-modem", "qcom,ext-mdm9x25", "qcom,ext-mdm9x35", "qcom,ext-mdm9x45",
"qcom,ext-mdm9x55", "qcom,ext-apq8096".
Required named gpio properties:
- qcom,mdm2ap-errfatal-gpio: gpio for the external modem to indicate to the apps processor
@ -110,6 +110,10 @@ Optional driver parameters:
on behalf of the subsystem driver.
- qcom,mdm-link-info: a string indicating additional info about the physical link.
For example: "devID_domain.bus.slot" in case of PCIe.
- qcom,mdm-auto-boot: Boolean. To indicate this instance of esoc boots independently.
- qcom,mdm-statusline-not-a-powersource: Boolean. If set, status line to esoc device is not a
power source.
- qcom,mdm-userspace-handle-shutdown: Boolean. If set, userspace handles shutdown requests.
Example:
mdm0: qcom,mdm0 {

View file

@ -48,7 +48,7 @@ SoCs:
compatible = "qcom,apqtitanium"
- APQ8998
compatible = "qcom,apq8998"
compatible = "qcom,apq8098"
- MDM9630
compatible = "qcom,mdm9630"
@ -196,9 +196,9 @@ compatible = "qcom,apq8037-cdp"
compatible = "qcom,apq8037-mtp"
compatible = "qcom,apqtitanium-cdp"
compatible = "qcom,apqtitanium-mtp"
compatible = "qcom,apq8998-cdp"
compatible = "qcom,apq8998-mtp"
compatible = "qcom,apq8998-qrd"
compatible = "qcom,apq8098-cdp"
compatible = "qcom,apq8098-mtp"
compatible = "qcom,apq8098-qrd"
compatible = "qcom,mdm9630-cdp"
compatible = "qcom,mdm9630-mtp"
compatible = "qcom,mdm9630-sim"
@ -281,6 +281,7 @@ compatible = "qcom,sdm660-rumi"
compatible = "qcom,sdm660-cdp"
compatible = "qcom,sdm660-mtp"
compatible = "qcom,sdm660-qrd"
compatible = "qcom,sda660-qrd"
compatible = "qcom,sda658-mtp"
compatible = "qcom,sda658-cdp"
compatible = "qcom,sda660-mtp"
@ -291,6 +292,7 @@ compatible = "qcom,sdm630-cdp"
compatible = "qcom,sda630-mtp"
compatible = "qcom,sda630-cdp"
compatible = "qcom,sdm630-qrd"
compatible = "qcom,sda630-qrd"
compatible = "qcom,msm8952-rumi"
compatible = "qcom,msm8952-sim"
compatible = "qcom,msm8952-qrd"

View file

@ -17,6 +17,8 @@ Optional properties:
by pil. Absence of this property indicates that
subsystem loading through pil voting is disabled for
that subsystem.
-qcom,dynamic-wakeup-source: Boolean property to indicate that G-Link
transport supports dynamic wakeup source
Example:
qcom,ipc_router_modem_xprt {

View file

@ -32,6 +32,8 @@ Optional properties:
- clocks : List of phandle and clock specifier pairs
- clock-names : List of clock input name strings sorted in the same
order as the clocks property.
- qcom,keep-radio-on-during-sleep: Boolean flag to indicate if to suspend to d3hot
instead of turning off the device
Example:
wil6210: qcom,wil6210 {
@ -56,5 +58,6 @@ Example:
clocks = <&clock_gcc clk_rf_clk3>,
<&clock_gcc clk_rf_clk3_pin>;
clock-names = "rf_clk3_clk", "rf_clk3_pin_clk";
qcom,keep-radio-on-during-sleep;
};

View file

@ -18,6 +18,7 @@ Required properties:
"allwinner,sun4i-a10-cpu-clk" - for the CPU multiplexer clock
"allwinner,sun4i-a10-axi-clk" - for the AXI clock
"allwinner,sun8i-a23-axi-clk" - for the AXI clock on A23
"allwinner,sun4i-a10-gates-clk" - for generic gates on all compatible SoCs
"allwinner,sun4i-a10-axi-gates-clk" - for the AXI gates
"allwinner,sun4i-a10-ahb-clk" - for the AHB clock
"allwinner,sun5i-a13-ahb-clk" - for the AHB clock on A13
@ -43,6 +44,7 @@ Required properties:
"allwinner,sun6i-a31-apb0-gates-clk" - for the APB0 gates on A31
"allwinner,sun7i-a20-apb0-gates-clk" - for the APB0 gates on A20
"allwinner,sun8i-a23-apb0-gates-clk" - for the APB0 gates on A23
"allwinner,sun8i-h3-apb0-gates-clk" - for the APB0 gates on H3
"allwinner,sun9i-a80-apb0-gates-clk" - for the APB0 gates on A80
"allwinner,sun4i-a10-apb1-clk" - for the APB1 clock
"allwinner,sun9i-a80-apb1-clk" - for the APB1 bus clock on A80

View file

@ -0,0 +1,75 @@
Qualcomm Technologies, Inc. CEC device
CEC is a protocol that provides high-level control functions between all of the
various audiovisual products in a user environment.
Required properties:
- compatible: Must be "qcom,hdmi-cec".
- qcom,hdmi-dev: Phandle for the hdmi device node.
- interrupt-parent: Must be the hdmi interrupt controller.
- interrupts: Interrupt associated with cec.
- reg: Physical base address and length of the controller's registers.
- reg-names: "hdmi_cec".
- clocks: List of Phandles for clock device nodes needed by the device.
- clock-names: List of clock names needed by the device.
- pinctrl-names: Should contain only two values: "cec_active" and "cec_sleep" which stands for the
active and sleep state of pinctrl used in this CEC driver.
- pinctrl-0: The active pinctrl state which is a list of phandles pointing to a pin configuration node.
- pinctrl-1: The sleep pinctrl state which is a list of phandles pointing to a pin configuration node.
- cec-gdsc-supply: Phandle for cec gdsc supply regulator device node.
- qcom,platform-supply-entries: A sub node that lists the elements of the supply. There can be more
than one instance of this binding, in which case the entry would be
appended with the supply entry index. e.g. qcom,platform-supply-entry@0.
-- reg: offset and length of the register set for the device.
-- qcom,supply-name: name of the supply (vdd/vdda/vddio).
-- qcom,supply-min-voltage: minimum voltage level (uV).
-- qcom,supply-max-voltage: maximum voltage level (uV).
-- qcom,supply-enable-load: load drawn (uA) from enabled supply.
-- qcom,supply-disable-load: load drawn (uA) from disabled supply.
Optional properties:
- qcom,platform-supply-entries: A sub node that lists the elements of the supply. There can be more
than one instance of this binding, in which case the entry would be
appended with the supply entry index. e.g. qcom,platform-supply-entry@0.
-- qcom,supply-pre-on-sleep: time to sleep (ms) before turning on.
-- qcom,supply-post-on-sleep: time to sleep (ms) after turning on.
-- qcom,supply-pre-off-sleep: time to sleep (ms) before turning off.
-- qcom,supply-post-off-sleep: time to sleep (ms) after turning off.
Example:
sde_hdmi_cec: qcom,hdmi-cec@c9a0000 {
compatible = "qcom,hdmi-cec";
label = "sde_hdmi_cec";
qcom,hdmi-dev = <&sde_hdmi>;
interrupt-parent = <&sde_hdmi_tx>;
interrupts = <1 0>;
reg = <0xc9a0000 0x50c>;
reg-names = "hdmi_cec";
clocks = <&clock_mmss clk_mmss_mnoc_ahb_clk>,
<&clock_mmss clk_mmss_mdss_ahb_clk>,
<&clock_mmss clk_mmss_mdss_hdmi_clk>;
clock-names = "cec_mnoc_clk", "cec_iface_clk", "cec_core_clk";
pinctrl-names = "cec_active", "cec_sleep";
pinctrl-0 = <&mdss_hdmi_cec_active>;
pinctrl-1 = <&mdss_hdmi_cec_suspend>;
cec-gdsc-supply = <&gdsc_mdss>;
qcom,platform-supply-entries {
#address-cells = <1>;
#size-cells = <0>;
qcom,platform-supply-entry@0 {
reg = <0>;
qcom,supply-name = "cec-gdsc";
qcom,supply-min-voltage = <0>;
qcom,supply-max-voltage = <0>;
qcom,supply-enable-load = <0>;
qcom,supply-disable-load = <0>;
};
};
};

View file

@ -264,6 +264,22 @@ Bus Scaling Data:
* Current values of src & dst are defined at
include/linux/msm-bus-board.h
SMMU Subnodes:
- smmu_sde_****: Child nodes representing sde smmu virtual
devices
Subnode properties:
- compatible: Compatible names used for smmu devices.
names should be:
"qcom,smmu_sde_unsec": smmu context bank device
for unsecure sde real time domain.
"qcom,smmu_sde_sec": smmu context bank device
for secure sde real time domain.
"qcom,smmu_sde_nrt_unsec": smmu context bank device
for unsecure sde non-real time domain.
"qcom,smmu_sde_nrt_sec": smmu context bank device
for secure sde non-real time domain.
Please refer to ../../interrupt-controller/interrupts.txt for a general
description of interrupt bindings.
@ -469,4 +485,14 @@ Example:
<1 590 0 160000>,
<1 590 0 320000>;
};
smmu_kms_unsec: qcom,smmu_kms_unsec_cb {
compatible = "qcom,smmu_sde_unsec";
iommus = <&mmss_smmu 0>;
};
smmu_kms_sec: qcom,smmu_kms_sec_cb {
compatible = "qcom,smmu_sde_sec";
iommus = <&mmss_smmu 1>;
};
};

View file

@ -0,0 +1,42 @@
Qualcomm Technologies,Inc. Adreno/Snapdragon display controller
Required properties:
Optional properties:
- qcom,sde-plane-id-map: plane id mapping for virtual plane.
- qcom,sde-plane-id: each virtual plane mapping node.
- reg: reg property.
- qcom,display-type: display type this plane is mapped to. It could be
"primary", "secondary" and "tertiary".
- qcom,plane-name: plane name array for this virtual plane. It could be
"rgb0", "rgb1", "rgb2", "rgb3", "vig0", "vig1", "vig2", "vig3", "dma0", "dma1",
"dma2", "dma3", "cursor0", "cursor1".
- qcom,plane-type: virtual plane type. It could be "primary", "overlay",
"cursor".
Example:
&mdss_mdp {
qcom,sde-plane-id-map {
qcom,sde-plane-id@0 {
reg = <0x0>;
qcom,display-type = "primary";
qcom,plane-name = "rgb0", "rgb1";
qcom,plane-type = "primary";
};
qcom,sde-plane-id@1 {
reg = <0x1>;
qcom,display-type = "primary";
qcom,plane-name = "vig0", "vig1";
qcom,plane-type = "overlay";
};
qcom,sde-plane-id@2 {
reg = <0x2>;
qcom,display-type = "primary";
qcom,plane-name = "cursor0", "cursor1";
qcom,plane-type = "cursor";
};
};
};

View file

@ -23,6 +23,8 @@ Optional properties:
- qcom,max-voltage-level Maximum voltage level to be supplied to bridge chip
- qcom,enable-load Load current to bridge chip when enabled
- qcom,disable-load Load current to bridge chip when disabled
- qcom,post-on-sleep Sleep time (ms) to indicate the sleep
time after the vreg is enabled
Example:
&soc {
@ -46,6 +48,7 @@ Example:
qcom,max-voltage-level = <0>;
qcom,enable-load = <0>;
qcom,disable-load = <0>;
qcom,post-on-sleep = <10>;
};
};
};

View file

@ -27,7 +27,46 @@ Required properties
- qcom,aux-en-gpio: Specifies the aux-channel enable gpio.
- qcom,aux-sel-gpio: Specifies the aux-channel select gpio.
- qcom,usbplug-cc-gpio: Specifies the usbplug orientation gpio.
- qcom,aux-cfg-settings: An array that specifies the DP AUX configuration settings.
- qcom,aux-cfg0-settings: Specifies the DP AUX configuration 0 settings. The first
entry in this array corresponds to the register offset
within DP AUX, while the remaining entries indicate the
programmable values.
- qcom,aux-cfg1-settings: Specifies the DP AUX configuration 1 settings. The first
entry in this array corresponds to the register offset
within DP AUX, while the remaining entries indicate the
programmable values.
- qcom,aux-cfg2-settings: Specifies the DP AUX configuration 2 settings. The first
entry in this array corresponds to the register offset
within DP AUX, while the remaining entries indicate the
programmable values.
- qcom,aux-cfg3-settings: Specifies the DP AUX configuration 3 settings. The first
entry in this array corresponds to the register offset
within DP AUX, while the remaining entries indicate the
programmable values.
- qcom,aux-cfg4-settings: Specifies the DP AUX configuration 4 settings. The first
entry in this array corresponds to the register offset
within DP AUX, while the remaining entries indicate the
programmable values.
- qcom,aux-cfg5-settings: Specifies the DP AUX configuration 5 settings. The first
entry in this array corresponds to the register offset
within DP AUX, while the remaining entries indicate the
programmable values.
- qcom,aux-cfg6-settings: Specifies the DP AUX configuration 6 settings. The first
entry in this array corresponds to the register offset
within DP AUX, while the remaining entries indicate the
programmable values.
- qcom,aux-cfg7-settings: Specifies the DP AUX configuration 7 settings. The first
entry in this array corresponds to the register offset
within DP AUX, while the remaining entries indicate the
programmable values.
- qcom,aux-cfg8-settings: Specifies the DP AUX configuration 8 settings. The first
entry in this array corresponds to the register offset
within DP AUX, while the remaining entries indicate the
programmable values.
- qcom,aux-cfg9-settings: Specifies the DP AUX configuration 9 settings. The first
entry in this array corresponds to the register offset
within DP AUX, while the remaining entries indicate the
programmable values.
Optional properties:
- qcom,<type>-supply-entries: A node that lists the elements of the supply used by the
@ -87,7 +126,16 @@ Example:
"core_aux_clk", "core_cfg_ahb_clk", "ctrl_link_clk",
"ctrl_link_iface_clk", "ctrl_crypto_clk", "ctrl_pixel_clk";
qcom,aux-cfg-settings = [00 13 00 10 0a 26 0a 03 8b 03];
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>;

View file

@ -582,6 +582,15 @@ Additional properties added to the second level nodes that represent timings pro
commands.
"dsi_lp_mode" = DSI low power mode (default)
"dsi_hs_mode" = DSI high speed mode
- qcom,sublinks-count: An integer value indicates the number of sublinks in the panel.
Default value is 1. This property is used only if qcom,split-link-enabled
is defined.
- qcom,lanes-per-sublink: An integer value indicates the number of data lanes per sublink in the panel.
Default value is 1. This property is used only if qcom,split-link-enabled
is defined.
- qcom,split-link-enabled: A boolean value to enable/disable the split link feature. If qcom,sublinks-count
or qcom,lanes-per-sublink are not defined, default values are used.
Note, if a given optional qcom,* binding is not present, then the driver will configure
the default values specified.
@ -809,6 +818,10 @@ Example:
qcom,mdss-dsc-version = <0x11>;
qcom,mdss-dsc-scr-version = <0x1>;
qcom,split-link-enabled;
qcom,sublinks-count = <2>;
qcom,lanes-per-sublink = <2>;
dsi_sim_vid_config0: config0 {
qcom,lm-split = <360 360>;
qcom,mdss-dsc-encoders = <2>;

View file

@ -50,6 +50,8 @@ Optional properties:
-- qcom,supply-post-on-sleep: time to sleep (ms) after turning on
-- qcom,supply-pre-off-sleep: time to sleep (ms) before turning off
-- qcom,supply-post-off-sleep: time to sleep (ms) after turning off
-- qcom,supply-lp-mode-disable-allowed: supply can be turned off in
low power state.
- pll-src-config Specified the source PLL for the DSI
link clocks:
"PLL0" - Clocks sourced out of DSI PLL0
@ -103,7 +105,9 @@ Optional properties:
- qcom,platform-reset-gpio: Specifies the panel reset gpio.
- qcom,platform-te-gpio: Specifies the gpio used for TE.
- qcom,platform-bklight-en-gpio: Specifies the gpio used to enable display back-light
- qcom,platform-bklight-en-gpio-invert: Invert the gpio used to enable display back-light
- qcom,platform-bklight-en-gpio-invert: Boolean to invert the gpio used to enable display back-light
- qcom,platform-avdd-en-gpio: Specifies the gpio used to enable AMOLED AVDD
- qcom,platform-avdd-en-gpio-invert: Boolean to invert the gpio used to enable AMOLED AVDD
- qcom,panel-mode-gpio: Specifies the GPIO to select video/command/single-port/dual-port
mode of panel through gpio when it supports these modes.
- pinctrl-names: List of names to assign mdss pin states defined in pinctrl device node

View file

@ -15,9 +15,10 @@ Required properties:
"qcom,mdss_hdmi_pll_8996_v2", "qcom,mdss_dsi_pll_8996_v2",
"qcom,mdss_hdmi_pll_8996_v3", "qcom,mdss_hdmi_pll_8996_v3_1p8",
"qcom,mdss_dsi_pll_8998", "qcom,mdss_dp_pll_8998",
"qcom,mdss_hdmi_pll_8998", "qcom,mdss_dsi_pll_sdm660",
"qcom,mdss_dp_pll_sdm660", "qcom,mdss_dsi_pll_sdm630",
"qcom,mdss_dp_pll_sdm630"
"qcom,mdss_hdmi_pll_8998", "qcom,mdss_hdmi_pll_8998_1p8",
"qcom,mdss_dsi_pll_sdm660", "qcom,mdss_dp_pll_sdm660",
"qcom,mdss_dsi_pll_sdm630", "qcom,mdss_dp_pll_sdm630"
- 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

View file

@ -82,6 +82,8 @@ Optional properties:
- qcom,shutdown-poweroff-type Same description as qcom,warm-reset-poweroff-
type but this applies for the system shutdown
case.
- qcom,kpdpwr-sw-debounce Boolean property to enable the debounce logic
on the KPDPWR_N rising edge.
All the below properties are in the sub-node section (properties of the child

View file

@ -121,6 +121,12 @@ conditions.
supported as we are directly comparing client SID with ID bits
of SMR registers.
- qcom,deferred-regulator-disable-delay : The time delay for deferred regulator
disable in ms. In case of unmap call, regulator is
enabled/disabled. This may introduce additional delay. For
clients who do not detach, it's not possible to keep regulator
vote while smmu is attached. Type is <u32>.
- clocks : List of clocks to be used during SMMU register access. See
Documentation/devicetree/bindings/clock/clock-bindings.txt
for information about the format. For each clock specified

View file

@ -169,8 +169,15 @@ Optional properties:
sleep configuration defined for each pin or pin group.
- qcom,hw-strobe-gpio : phandle to specify GPIO for hardware strobing. This is used when there is no
pinctrl support or PMIC GPIOs are used.
- qcom,hw-strobe-sel : Boolean property to enable hardware strobe. If not defined, software strobe
will be used.
- qcom,strobe-sel : Property to select strobe type. If not defined,
software strobe will be used. Allowed options are:
0 - SW strobe
1 - HW strobe
2 - LPG strobe
LPG strobe is supported only for LED3.
If LPG strobe is specified, then strobe control is
configured for active high and level triggered. Also
qcom,hw-strobe-option should be set to 1 or 2.
- qcom,hw-strobe-edge-trigger : Boolean property to select trigger type. If defined, hw-strobe is set to
be edge triggered. Otherwise, it is level triggered.
- qcom,hw-strobe-active-low : Boolean property to select strobe signal polarity. If defined, hw-strobe

View file

@ -14,8 +14,8 @@ Required properties:
[Second level nodes]
Required properties:
- compatible : one of:
- "qcom,msm-cam-smmu-cb"
- "qcom,qsmmu-cam-cb"
- "qcom,msm-cam-smmu-cb" : For arm smmu iommu type.
- "qcom,qsmmu-cam-cb" : For qsmmu iommu type.
- iommus : Handle parsed by smmu driver. Number of entries will vary
across targets.
- label - string describing iommu domain usage.
@ -23,6 +23,7 @@ Required properties:
Optional properties:
- qcom,scratch-buf-support : Enables iommu scratch buffer support in
that context bank.
- qcom,secure-context : boolean type, to set the context domain type as secure.
Example:
qcom,cam_smmu@0 {

View file

@ -17,7 +17,7 @@ Main node properties:
Definition: "qcom,mhi"
- qcom,pci-dev_id
Usage: required
Usage: optional
Value type: <u32>
Definition: Device id reported by modem

View file

@ -2,6 +2,11 @@
This driver implements Ethernet driver for Neutrino ethernet controller
Required properties:
- compatible: Should be "qcom,ntn_avb"
- ntn-rst-delay-msec: delay (msec) required after PCIe reset for stabilization
- ntn-rc-num: PCIe root complex number on which Neutrino is connected
Optional properties:
- ntn-bus-num: PCIe bus number on which Neutrino is connected
- ntn-rst-gpio: Neutrino reset GPIO
- vdd-ntn-hsic-supply: neutrino HSIC power supply
- vdd-ntn-pci-supply: PCIe core power supply
@ -25,4 +30,5 @@ Example:
pinctrl-0 = <&ntn_default>;
qcom,ntn-rst-delay-msec = <100>;
qcom,ntn-rc-num = <1>;
qcom,ntn-bus-num = <1>;
};

View file

@ -79,8 +79,12 @@ Optional Properties:
PCIe port PHY.
Should be specified in groups (offset, value, delay).
- qcom,use-19p2mhz-aux-clk: The frequency of PCIe AUX clock is 19.2MHz.
- qcom,ep-wakeirq: The endpoint will issue wake signal when it is up, and the
root complex has the capability to enumerate the endpoint for this case.
- qcom,boot-option: Bits that alter PCIe bus driver boot sequence.
Below details what happens when each bit is set
BIT(0): PCIe bus driver will not start enumeration during its probe.
Clients will control when PCIe bus driver should do enumeration.
BIT(1): PCIe bus driver will not start enumeration if it receives a WAKE
interrupt.
- qcom,msi-gicm-addr: MSI address for GICv2m.
- qcom,msi-gicm-base: MSI IRQ base for GICv2m.
- qcom,ext-ref-clk: The reference clock is external.
@ -263,7 +267,7 @@ Example:
qcom,aux-clk-sync;
qcom,n-fts = <0x50>;
qcom,pcie-phy-ver = <1>;
qcom,ep-wakeirq;
qcom,boot-option = <0x1>;
qcom,msi-gicm-addr = <0xf9040040>;
qcom,msi-gicm-base = <0x160>;
qcom,ext-ref-clk;

View file

@ -67,6 +67,7 @@ Optional properties:
- qcom,complete-ramdump: Boolean. If set, complete ramdump i.e. region between start address of
first segment to end address of last segment will be collected without
leaving any hole in between.
- qcom,ignore-ssr-failure: Boolean. If set, SSR failures are not considered fatal.
Example:
qcom,venus@fdce0000 {

View file

@ -96,6 +96,14 @@ First Level Node - FG Gen3 device
This value has to be specified in negative values for
the charging current.
- qcom,fg-chg-term-base-current
Usage: optional
Value type: <u32>
Definition: Battery current (in mA) upper boundary at which the fuel
gauge will issue an end of charge during discharging. If
this property is not specified, then the default value used
will be 75mA.
- qcom,fg-delta-soc-thr
Usage: optional
Value type: <u32>
@ -137,22 +145,44 @@ First Level Node - FG Gen3 device
- qcom,fg-esr-timer-charging
Usage: optional
Value type: <u32>
Value type: <prop-encoded-array>
Definition: Number of cycles between ESR pulses while the battery is
charging.
charging. Array of 2 elements if specified.
Element 0 - Retry value for timer
Element 1 - Maximum value for timer
- qcom,fg-esr-timer-awake
Usage: optional
Value type: <u32>
Value type: <prop-encoded-array>
Definition: Number of cycles between ESR pulses while the system is
awake and the battery is discharging.
awake and the battery is discharging. Array of 2 elements
if specified.
Element 0 - Retry value for timer
Element 1 - Maximum value for timer
- qcom,fg-esr-timer-asleep
Usage: optional
Value type: <u32>
Value type: <prop-encoded-array>
Definition: Number of cycles between ESR pulses while the system is
asleep and the battery is discharging. This option requires
qcom,fg-esr-timer-awake to be defined.
qcom,fg-esr-timer-awake to be defined. Array of 2 elements
if specified.
Element 0 - Retry value for timer
Element 1 - Maximum value for timer
- qcom,fg-esr-pulse-thresh-ma
Usage: optional
Value type: <u32>
Definition: ESR pulse qualification threshold in mA. If this is not
specified, a default value of 110 mA will be configured.
Allowed values are from 1 to 997.
- qcom,fg-esr-meas-curr-ma
Usage: optional
Value type: <u32>
Definition: ESR measurement current in mA. If this is not specified,
a default value of 120 mA will be configured. Allowed
values are 60, 120, 180 and 240.
- qcom,cycle-counter-en
Usage: optional

View file

@ -35,11 +35,6 @@ Charger specific properties:
addition battery properties will be faked such that the device
assumes normal operation.
- qcom,external-vconn
Usage: optional
Value type: <empty>
Definition: Boolean flag which indicates VCONN is sourced externally.
- qcom,fcc-max-ua
Usage: optional
Value type: <u32>
@ -169,6 +164,24 @@ Charger specific properties:
Definition: Boolean flag which when present enables intput suspend for
debug battery.
- qcom,min-freq-khz
Usage: optional
Value type: <u32>
Definition: Specifies the minimum charger buck/boost switching frequency
in KHz. It overrides the min frequency defined for the charger.
- qcom,max-freq-khz
Usage: optional
Value type: <u32>
Definition: Specifies the maximum charger buck/boost switching frequency in
KHz. It overrides the max frequency defined for the charger.
- qcom,otg-deglitch-time-ms
Usage: optional
Value type: <u32>
Definition: Specifies the deglitch interval for OTG detection.
If the value is not present, 50 msec is used as default.
=============================================
Second Level Nodes - SMB2 Charger Peripherals
=============================================

View file

@ -0,0 +1,72 @@
ON Semiconductor NCP6335d regulator
NCP6335d is able to deliver up to 5.0 A, with programmable output voltage from
0.6 V to 1.87 V in 10mV steps, with synchronous rectification and automatic PWM/
PFM transitions, enable pins and power good/fail signaling.
The NCP6335d interface is via I2C bus.
Required Properties:
- compatible: Must be "onnn,ncp6335d-regulator".
- reg: The device 8-bit I2C address.
- regulator-min-microvolt: Minimum voltage in microvolts supported by this
regulator.
- regulator-max-microvolt: Maximum voltage in microvolts supported by this
regulator.
- onnn,min-setpoint: Minimum setpoint voltage in microvolts supported
by this regulator.
- onnn,step-size: The step size of the regulator, in uV.
- onnn,min-slew-ns: Minimum time in ns needed to change voltage by
one step size. This value corresponds to DVS
mode bit of 00b in command register.
- onnn,max-slew-ns: Maximum time in ns needed to change voltage by
one step size. This value corresponds to DVS
mode bit of 11b in command register.
- onnn,vsel: Working vsel register. Supported value are 0
or 1.
- onnn,slew-ns: Time in ns needed to change voltage by one step
size. Supported value are 333, 666, 1333, 2666.
Optional Properties:
- onnn,discharge-enable: Present: discharge enabled.
Not Present: discharge disabled.
- onnn,restore-reg: Present: Restore vsel register from backup register.
Not Present: No restore.
- onnn,vsel-gpio: Present: GPIO connects to the VSEL pin and set the
VSEL pin according to device tree flag.
Not Present: No GPIO is connected to vsel pin.
- pinctrl-names: The state name of the VSEL pin configuration.
Only support: "default"
- pinctrl-0: The phandles of the pin configuration node in
pinctrl for VSEL pin.
For details of pinctrl properties, please refer to:
"Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt"
- onnn,sleep-enable: Present: Forced in sleep mode when EN and VSEL
pins are low.
Not Present: Low quiescent current mode when EN and VSEL
pins are low.
- onnn,mode: A string which specifies the initial mode to use for the regulator.
Supported values are "pwm" and "auto". PWM mode is more
robust, but draws more current than auto mode. If this propery
is not specified, then the regulator will be in the hardware default mode.
Example:
i2c_0 {
ncp6335d-regulator@1c {
compatible = "onnn,ncp6335d-regulator";
reg = <0x1c>;
onnn,vsel = <0>;
onnn,slew-rate-ns = <2666>;
onnn,discharge-enable;
onnn,step-size = <10000>;
onnn,min-slew-ns = <333>;
onnn,max-slew-ns = <2666>;
pintrl-names = "default";
pinctrl-0 = <&ext_buck_vsel_default>;
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1350000>;
onnn,min-setpoint = <600000>;
onnn,vsel-gpio = <&msmgpio 2 1>;
};
};

View file

@ -86,11 +86,11 @@ LAB subnode required properties:
40 and 50.
- interrupts: Specify the interrupts as per the interrupt
encoding.
Currently "lab-vreg-ok" is required for
LCD mode in pmi8998. For AMOLED mode,
"lab-vreg-ok" is required only when SWIRE
control is enabled and skipping 2nd SWIRE
pulse is required in pmi8952/8996.
Currently "lab-vreg-ok" is required and "lab-sc_err"
is optional for LCD mode in pmi8998.
For AMOLED mode, "lab-vreg-ok" is required
only when SWIRE control is enabled and skipping
2nd SWIRE pulse is required in pmi8952/8996.
- interrupt-names: Interrupt names to match up 1-to-1 with
the interrupts specified in 'interrupts'
property.
@ -151,6 +151,10 @@ LAB subnode optional properties:
any value in the allowed limit.
- qcom,notify-lab-vreg-ok-sts: A boolean property which upon set will
poll and notify the lab_vreg_ok status.
- qcom,qpnp-lab-sc-wait-time-ms: This property is used to specify the time
(in ms) to poll for the short circuit
detection. If not specified the default time
is 5 sec.
Following properties are available only for PM660A:
@ -207,6 +211,14 @@ IBB subnode required properties:
IBB subnode optional properties:
- interrupts: Specify the interrupts as per the interrupt
encoding.
Currently "ibb-sc-err" could be used for LCD mode
in pmi8998 to detect the short circuit fault.
- interrupt-names: Interrupt names to match up 1-to-1 with
the interrupts specified in 'interrupts'
property.
- qcom,qpnp-ibb-discharge-resistor: The discharge resistor in Kilo Ohms which
controls the soft start time. Supported values
are 300, 64, 32 and 16.

View file

@ -14,6 +14,11 @@ Required Node Structure
Value type: <string>
Definition: should be "qcom,qpnp-oledb-regulator".
- qcom,pmic-revid
Usage: required
Value type: <phandle>
Definition: Used to identify the PMIC subtype.
- reg
Usage: required
Value type: <prop-encoded-array>
@ -57,13 +62,6 @@ Required Node Structure
rail. This property is applicable only if qcom,ext-pin-ctl
property is specified and it is specific to PM660A.
- qcom,force-pd-control
Usage: optional
Value type: <bool>
Definition: Used to enable the pull down control forcibly via SPMI by
disabling the pull down configuration done by hardware
automatically through SWIRE pulses.
- qcom,pbs-client
Usage: optional
Value type: <phandle>
@ -224,6 +222,7 @@ pm660a_oledb: qpnp-oledb@e000 {
compatible = "qcom,qpnp-oledb-regulator";
#address-cells = <1>;
#size-cells = <1>;
qcom,pmic-revid = <&pm660l_revid>;
reg = <0xe000 0x100>;
label = "oledb";

View file

@ -104,6 +104,12 @@ Optional properties:
parameter. Only one pin may be specified per
regulator. This property only applies to BoB
type regulators.
- qcom,pwm-threshold-current: Minimum current in mA which requires regulator
to be in PWM mode. Load currents below this
threshold use AUTO mode. This property only
applies to BoB and SMPS type regulators.
If this property is not specified, then the
hardware default mode will be used all the time.
- qcom,always-send-voltage: Flag which indicates that updates to the
voltage, voltage corner or voltage level set
point should always be sent immediately to the

View file

@ -76,6 +76,10 @@ Optional properties when qcom,actuator-type is "lra"
at End of Pattern
- qcom,lra-res-cal-period : Auto resonance calibration period. The values range from
4 to 32(default)
- qcom,lra-auto-mode : If this property is specified, haptics mode for LRA
actuators will be automatically configured along with
other required settings runtime based on the duration
of the pattern.
- qcom,perform-lra-auto-resonance-search : boolean, define this property if:
a) the underlying PMI chip does not have a register in the MISC block to
read the error percentage in RC clock

View file

@ -182,6 +182,12 @@ Optional properties:
- qcom,msm-pcm-loopback-low-latency : Flag indicating whether
the device node is of type low latency.
* msm-transcode-loopback
Required properties:
- compatible : "qcom,msm-transcode-loopback"
* msm-dai-q6
[First Level Nodes]
@ -1245,12 +1251,9 @@ Required properties:
When clock rate is set to zero,
then external clock is assumed.
[Second Level Nodes]
Required properties:
- compatible : "qcom,msm-dai-q6-tdm"
- qcom,msm-dai-q6-mi2s-dev-id: TDM port ID.
- qcom,msm-cpudai-tdm-clk-internal: Clock Source.
0 - EBIT clock from clk tree
1 - IBIT clock from clk tree
- qcom,msm-cpudai-tdm-sync-mode: Synchronization setting.
0 - Short sync bit mode
@ -1275,6 +1278,13 @@ Required properties:
1 - 1 bit clock cycle
2 - 2 bit clock cycle
[Second Level Nodes]
Required properties:
- compatible : "qcom,msm-dai-q6-tdm"
- qcom,msm-dai-q6-mi2s-dev-id: TDM port ID.
- qcom,msm-cpudai-tdm-data-align: Indicate how data is packed
within the slot. For example, 32 slot width in case of
sample bit width is 24.
@ -1309,17 +1319,18 @@ Example:
qcom,msm-cpudai-tdm-group-num-ports = <1>;
qcom,msm-cpudai-tdm-group-port-id = <36912>;
qcom,msm-cpudai-tdm-clk-rate = <12288000>;
qcom,msm-cpudai-tdm-clk-internal = <1>;
qcom,msm-cpudai-tdm-sync-mode = <0>;
qcom,msm-cpudai-tdm-sync-src = <1>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&quat_tdm_active &quat_tdm_dout_active>;
pinctrl-1 = <&quat_tdm_sleep &quat_tdm_dout_sleep>;
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-sync-mode = <0>;
qcom,msm-cpudai-tdm-sync-src = <1>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
qcom,msm-cpudai-tdm-header-start-offset = <0>;
qcom,msm-cpudai-tdm-header-width = <2>;
@ -2396,14 +2407,15 @@ Example:
qcom,tasha-mclk-clk-freq = <9600000>;
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>;
<&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>,
<&trans_loopback>;
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-compr-dsp","msm-transcode-loopback";
asoc-cpu = <&dai_hdmi>,
<&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
<&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>,

View file

@ -42,6 +42,9 @@ Required properties:
cell 4: interrupt flags indicating level-sense information, as defined in
dt-bindings/interrupt-controller/irq.h
Optional properties:
- qcom,reserved-chan : Reserved channel for debug purpose
Example V1 PMIC-Arbiter:
spmi {
@ -56,6 +59,7 @@ Example V1 PMIC-Arbiter:
qcom,ee = <0>;
qcom,channel = <0>;
qcom,reserved-chan = <511>;
#address-cells = <2>;
#size-cells = <0>;

View file

@ -212,6 +212,8 @@ Optional properties:
- qcom,hold-reset: Indicates that hold QUSB PHY into reset state.
- qcom,phy-clk-scheme: Should be one of "cml" or "cmos" if ref_clk_addr is provided.
- qcom,major-rev: provide major revision number to differentiate power up sequence. default is 2.0
- qcom,vdda33-voltage-level: A list of three integer values (min, op, max) representing
specific voltages (in microvolts) used for the vdda33 supply.
Example:
qusb_phy: qusb@f9b39000 {

View file

@ -2692,6 +2692,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
we can turn it on.
on: enable the feature
page_poison= [KNL] Boot-time parameter changing the state of
poisoning on the buddy allocator.
off: turn off poisoning
on: turn on poisoning
panic= [KNL] Kernel behaviour on panic: delay <timeout>
timeout > 0: seconds before rebooting
timeout = 0: wait forever

View file

@ -1418,11 +1418,20 @@ accept_ra_pinfo - BOOLEAN
Functional default: enabled if accept_ra is enabled.
disabled if accept_ra is disabled.
accept_ra_rt_info_min_plen - INTEGER
Minimum prefix length of Route Information in RA.
Route Information w/ prefix smaller than this variable shall
be ignored.
Functional default: 0 if accept_ra_rtr_pref is enabled.
-1 if accept_ra_rtr_pref is disabled.
accept_ra_rt_info_max_plen - INTEGER
Maximum prefix length of Route Information in RA.
Route Information w/ prefix larger than or equal to this
variable shall be ignored.
Route Information w/ prefix larger than this variable shall
be ignored.
Functional default: 0 if accept_ra_rtr_pref is enabled.
-1 if accept_ra_rtr_pref is disabled.

View file

@ -1,332 +0,0 @@
This file documents how to use memory mapped I/O with netlink.
Author: Patrick McHardy <kaber@trash.net>
Overview
--------
Memory mapped netlink I/O can be used to increase throughput and decrease
overhead of unicast receive and transmit operations. Some netlink subsystems
require high throughput, these are mainly the netfilter subsystems
nfnetlink_queue and nfnetlink_log, but it can also help speed up large
dump operations of f.i. the routing database.
Memory mapped netlink I/O used two circular ring buffers for RX and TX which
are mapped into the processes address space.
The RX ring is used by the kernel to directly construct netlink messages into
user-space memory without copying them as done with regular socket I/O,
additionally as long as the ring contains messages no recvmsg() or poll()
syscalls have to be issued by user-space to get more message.
The TX ring is used to process messages directly from user-space memory, the
kernel processes all messages contained in the ring using a single sendmsg()
call.
Usage overview
--------------
In order to use memory mapped netlink I/O, user-space needs three main changes:
- ring setup
- conversion of the RX path to get messages from the ring instead of recvmsg()
- conversion of the TX path to construct messages into the ring
Ring setup is done using setsockopt() to provide the ring parameters to the
kernel, then a call to mmap() to map the ring into the processes address space:
- setsockopt(fd, SOL_NETLINK, NETLINK_RX_RING, &params, sizeof(params));
- setsockopt(fd, SOL_NETLINK, NETLINK_TX_RING, &params, sizeof(params));
- ring = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0)
Usage of either ring is optional, but even if only the RX ring is used the
mapping still needs to be writable in order to update the frame status after
processing.
Conversion of the reception path involves calling poll() on the file
descriptor, once the socket is readable the frames from the ring are
processed in order until no more messages are available, as indicated by
a status word in the frame header.
On kernel side, in order to make use of memory mapped I/O on receive, the
originating netlink subsystem needs to support memory mapped I/O, otherwise
it will use an allocated socket buffer as usual and the contents will be
copied to the ring on transmission, nullifying most of the performance gains.
Dumps of kernel databases automatically support memory mapped I/O.
Conversion of the transmit path involves changing message construction to
use memory from the TX ring instead of (usually) a buffer declared on the
stack and setting up the frame header appropriately. Optionally poll() can
be used to wait for free frames in the TX ring.
Structured and definitions for using memory mapped I/O are contained in
<linux/netlink.h>.
RX and TX rings
----------------
Each ring contains a number of continuous memory blocks, containing frames of
fixed size dependent on the parameters used for ring setup.
Ring: [ block 0 ]
[ frame 0 ]
[ frame 1 ]
[ block 1 ]
[ frame 2 ]
[ frame 3 ]
...
[ block n ]
[ frame 2 * n ]
[ frame 2 * n + 1 ]
The blocks are only visible to the kernel, from the point of view of user-space
the ring just contains the frames in a continuous memory zone.
The ring parameters used for setting up the ring are defined as follows:
struct nl_mmap_req {
unsigned int nm_block_size;
unsigned int nm_block_nr;
unsigned int nm_frame_size;
unsigned int nm_frame_nr;
};
Frames are grouped into blocks, where each block is a continuous region of memory
and holds nm_block_size / nm_frame_size frames. The total number of frames in
the ring is nm_frame_nr. The following invariants hold:
- frames_per_block = nm_block_size / nm_frame_size
- nm_frame_nr = frames_per_block * nm_block_nr
Some parameters are constrained, specifically:
- nm_block_size must be a multiple of the architectures memory page size.
The getpagesize() function can be used to get the page size.
- nm_frame_size must be equal or larger to NL_MMAP_HDRLEN, IOW a frame must be
able to hold at least the frame header
- nm_frame_size must be smaller or equal to nm_block_size
- nm_frame_size must be a multiple of NL_MMAP_MSG_ALIGNMENT
- nm_frame_nr must equal the actual number of frames as specified above.
When the kernel can't allocate physically continuous memory for a ring block,
it will fall back to use physically discontinuous memory. This might affect
performance negatively, in order to avoid this the nm_frame_size parameter
should be chosen to be as small as possible for the required frame size and
the number of blocks should be increased instead.
Ring frames
------------
Each frames contain a frame header, consisting of a synchronization word and some
meta-data, and the message itself.
Frame: [ header message ]
The frame header is defined as follows:
struct nl_mmap_hdr {
unsigned int nm_status;
unsigned int nm_len;
__u32 nm_group;
/* credentials */
__u32 nm_pid;
__u32 nm_uid;
__u32 nm_gid;
};
- nm_status is used for synchronizing processing between the kernel and user-
space and specifies ownership of the frame as well as the operation to perform
- nm_len contains the length of the message contained in the data area
- nm_group specified the destination multicast group of message
- nm_pid, nm_uid and nm_gid contain the netlink pid, UID and GID of the sending
process. These values correspond to the data available using SOCK_PASSCRED in
the SCM_CREDENTIALS cmsg.
The possible values in the status word are:
- NL_MMAP_STATUS_UNUSED:
RX ring: frame belongs to the kernel and contains no message
for user-space. Approriate action is to invoke poll()
to wait for new messages.
TX ring: frame belongs to user-space and can be used for
message construction.
- NL_MMAP_STATUS_RESERVED:
RX ring only: frame is currently used by the kernel for message
construction and contains no valid message yet.
Appropriate action is to invoke poll() to wait for
new messages.
- NL_MMAP_STATUS_VALID:
RX ring: frame contains a valid message. Approriate action is
to process the message and release the frame back to
the kernel by setting the status to
NL_MMAP_STATUS_UNUSED or queue the frame by setting the
status to NL_MMAP_STATUS_SKIP.
TX ring: the frame contains a valid message from user-space to
be processed by the kernel. After completing processing
the kernel will release the frame back to user-space by
setting the status to NL_MMAP_STATUS_UNUSED.
- NL_MMAP_STATUS_COPY:
RX ring only: a message is ready to be processed but could not be
stored in the ring, either because it exceeded the
frame size or because the originating subsystem does
not support memory mapped I/O. Appropriate action is
to invoke recvmsg() to receive the message and release
the frame back to the kernel by setting the status to
NL_MMAP_STATUS_UNUSED.
- NL_MMAP_STATUS_SKIP:
RX ring only: user-space queued the message for later processing, but
processed some messages following it in the ring. The
kernel should skip this frame when looking for unused
frames.
The data area of a frame begins at a offset of NL_MMAP_HDRLEN relative to the
frame header.
TX limitations
--------------
As of Jan 2015 the message is always copied from the ring frame to an
allocated buffer due to unresolved security concerns.
See commit 4682a0358639b29cf ("netlink: Always copy on mmap TX.").
Example
-------
Ring setup:
unsigned int block_size = 16 * getpagesize();
struct nl_mmap_req req = {
.nm_block_size = block_size,
.nm_block_nr = 64,
.nm_frame_size = 16384,
.nm_frame_nr = 64 * block_size / 16384,
};
unsigned int ring_size;
void *rx_ring, *tx_ring;
/* Configure ring parameters */
if (setsockopt(fd, SOL_NETLINK, NETLINK_RX_RING, &req, sizeof(req)) < 0)
exit(1);
if (setsockopt(fd, SOL_NETLINK, NETLINK_TX_RING, &req, sizeof(req)) < 0)
exit(1)
/* Calculate size of each individual ring */
ring_size = req.nm_block_nr * req.nm_block_size;
/* Map RX/TX rings. The TX ring is located after the RX ring */
rx_ring = mmap(NULL, 2 * ring_size, PROT_READ | PROT_WRITE,
MAP_SHARED, fd, 0);
if ((long)rx_ring == -1L)
exit(1);
tx_ring = rx_ring + ring_size:
Message reception:
This example assumes some ring parameters of the ring setup are available.
unsigned int frame_offset = 0;
struct nl_mmap_hdr *hdr;
struct nlmsghdr *nlh;
unsigned char buf[16384];
ssize_t len;
while (1) {
struct pollfd pfds[1];
pfds[0].fd = fd;
pfds[0].events = POLLIN | POLLERR;
pfds[0].revents = 0;
if (poll(pfds, 1, -1) < 0 && errno != -EINTR)
exit(1);
/* Check for errors. Error handling omitted */
if (pfds[0].revents & POLLERR)
<handle error>
/* If no new messages, poll again */
if (!(pfds[0].revents & POLLIN))
continue;
/* Process all frames */
while (1) {
/* Get next frame header */
hdr = rx_ring + frame_offset;
if (hdr->nm_status == NL_MMAP_STATUS_VALID) {
/* Regular memory mapped frame */
nlh = (void *)hdr + NL_MMAP_HDRLEN;
len = hdr->nm_len;
/* Release empty message immediately. May happen
* on error during message construction.
*/
if (len == 0)
goto release;
} else if (hdr->nm_status == NL_MMAP_STATUS_COPY) {
/* Frame queued to socket receive queue */
len = recv(fd, buf, sizeof(buf), MSG_DONTWAIT);
if (len <= 0)
break;
nlh = buf;
} else
/* No more messages to process, continue polling */
break;
process_msg(nlh);
release:
/* Release frame back to the kernel */
hdr->nm_status = NL_MMAP_STATUS_UNUSED;
/* Advance frame offset to next frame */
frame_offset = (frame_offset + frame_size) % ring_size;
}
}
Message transmission:
This example assumes some ring parameters of the ring setup are available.
A single message is constructed and transmitted, to send multiple messages
at once they would be constructed in consecutive frames before a final call
to sendto().
unsigned int frame_offset = 0;
struct nl_mmap_hdr *hdr;
struct nlmsghdr *nlh;
struct sockaddr_nl addr = {
.nl_family = AF_NETLINK,
};
hdr = tx_ring + frame_offset;
if (hdr->nm_status != NL_MMAP_STATUS_UNUSED)
/* No frame available. Use poll() to avoid. */
exit(1);
nlh = (void *)hdr + NL_MMAP_HDRLEN;
/* Build message */
build_message(nlh);
/* Fill frame header: length and status need to be set */
hdr->nm_len = nlh->nlmsg_len;
hdr->nm_status = NL_MMAP_STATUS_VALID;
if (sendto(fd, NULL, 0, 0, &addr, sizeof(addr)) < 0)
exit(1);
/* Advance frame offset to next frame */
frame_offset = (frame_offset + frame_size) % ring_size;

View file

@ -265,6 +265,13 @@ aio-nr can grow to.
==============================================================
mount-max:
This denotes the maximum number of mounts that may exist
in a mount namespace.
==============================================================
2. /proc/sys/fs/binfmt_misc
----------------------------------------------------------

View file

@ -1,73 +0,0 @@
timer_stats - timer usage statistics
------------------------------------
timer_stats is a debugging facility to make the timer (ab)usage in a Linux
system visible to kernel and userspace developers. If enabled in the config
but not used it has almost zero runtime overhead, and a relatively small
data structure overhead. Even if collection is enabled runtime all the
locking is per-CPU and lookup is hashed.
timer_stats should be used by kernel and userspace developers to verify that
their code does not make unduly use of timers. This helps to avoid unnecessary
wakeups, which should be avoided to optimize power consumption.
It can be enabled by CONFIG_TIMER_STATS in the "Kernel hacking" configuration
section.
timer_stats collects information about the timer events which are fired in a
Linux system over a sample period:
- the pid of the task(process) which initialized the timer
- the name of the process which initialized the timer
- the function where the timer was initialized
- the callback function which is associated to the timer
- the number of events (callbacks)
timer_stats adds an entry to /proc: /proc/timer_stats
This entry is used to control the statistics functionality and to read out the
sampled information.
The timer_stats functionality is inactive on bootup.
To activate a sample period issue:
# echo 1 >/proc/timer_stats
To stop a sample period issue:
# echo 0 >/proc/timer_stats
The statistics can be retrieved by:
# cat /proc/timer_stats
While sampling is enabled, each readout from /proc/timer_stats will see
newly updated statistics. Once sampling is disabled, the sampled information
is kept until a new sample period is started. This allows multiple readouts.
Sample output of /proc/timer_stats:
Timerstats sample period: 3.888770 s
12, 0 swapper hrtimer_stop_sched_tick (hrtimer_sched_tick)
15, 1 swapper hcd_submit_urb (rh_timer_func)
4, 959 kedac schedule_timeout (process_timeout)
1, 0 swapper page_writeback_init (wb_timer_fn)
28, 0 swapper hrtimer_stop_sched_tick (hrtimer_sched_tick)
22, 2948 IRQ 4 tty_flip_buffer_push (delayed_work_timer_fn)
3, 3100 bash schedule_timeout (process_timeout)
1, 1 swapper queue_delayed_work_on (delayed_work_timer_fn)
1, 1 swapper queue_delayed_work_on (delayed_work_timer_fn)
1, 1 swapper neigh_table_init_no_netlink (neigh_periodic_timer)
1, 2292 ip __netdev_watchdog_up (dev_watchdog)
1, 23 events/1 do_cache_clean (delayed_work_timer_fn)
90 total events, 30.0 events/sec
The first column is the number of events, the second column the pid, the third
column is the name of the process. The forth column shows the function which
initialized the timer and in parenthesis the callback function which was
executed on expiry.
Thomas, Ingo
Added flag to indicate 'deferrable timer' in /proc/timer_stats. A deferrable
timer will appear as follows
10D, 1 swapper queue_delayed_work_on (delayed_work_timer_fn)

View file

@ -2657,6 +2657,22 @@ F: drivers/net/ieee802154/cc2520.c
F: include/linux/spi/cc2520.h
F: Documentation/devicetree/bindings/net/ieee802154/cc2520.txt
CEC DRIVER
M: Hans Verkuil <hans.verkuil@cisco.com>
L: linux-media@vger.kernel.org
T: git git://linuxtv.org/media_tree.git
W: http://linuxtv.org
S: Supported
F: Documentation/cec.txt
F: Documentation/DocBook/media/v4l/cec*
F: drivers/staging/media/cec/
F: drivers/media/cec-edid.c
F: drivers/media/rc/keymaps/rc-cec.c
F: include/media/cec.h
F: include/media/cec-edid.h
F: include/linux/cec.h
F: include/linux/cec-funcs.h
CELL BROADBAND ENGINE ARCHITECTURE
M: Arnd Bergmann <arnd@arndb.de>
L: linuxppc-dev@lists.ozlabs.org

View file

@ -1,6 +1,6 @@
VERSION = 4
PATCHLEVEL = 4
SUBLEVEL = 55
SUBLEVEL = 70
EXTRAVERSION =
NAME = Blurry Fish Butt
@ -146,7 +146,7 @@ PHONY += $(MAKECMDGOALS) sub-make
$(filter-out _all sub-make $(CURDIR)/Makefile, $(MAKECMDGOALS)) _all: sub-make
@:
sub-make: FORCE
sub-make:
$(Q)$(MAKE) -C $(KBUILD_OUTPUT) KBUILD_SRC=$(CURDIR) \
-f $(CURDIR)/Makefile $(filter-out _all sub-make,$(MAKECMDGOALS))
@ -1005,7 +1005,7 @@ prepare1: prepare2 $(version_h) include/generated/utsrelease.h \
archprepare: archheaders archscripts prepare1 scripts_basic
prepare0: archprepare FORCE
prepare0: archprepare
$(Q)$(MAKE) $(build)=.
# All the preparing..
@ -1050,7 +1050,7 @@ INSTALL_FW_PATH=$(INSTALL_MOD_PATH)/lib/firmware
export INSTALL_FW_PATH
PHONY += firmware_install
firmware_install: FORCE
firmware_install:
@mkdir -p $(objtree)/firmware
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_install
@ -1070,7 +1070,7 @@ PHONY += archscripts
archscripts:
PHONY += __headers
__headers: $(version_h) scripts_basic asm-generic archheaders archscripts FORCE
__headers: $(version_h) scripts_basic asm-generic archheaders archscripts
$(Q)$(MAKE) $(build)=scripts build_unifdef
PHONY += headers_install_all

View file

@ -1,17 +1,18 @@
# KEEP ALPHABETICALLY SORTED
# CONFIG_DEVKMEM is not set
# CONFIG_DEVMEM is not set
# CONFIG_FHANDLE is not set
# CONFIG_INET_LRO is not set
# CONFIG_MODULES is not set
# CONFIG_OABI_COMPAT is not set
# CONFIG_SYSVIPC is not set
# CONFIG_USELIB is not set
CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDER_DEVICES=binder,hwbinder,vndbinder
CONFIG_ANDROID_LOW_MEMORY_KILLER=y
CONFIG_ARMV8_DEPRECATED=y
CONFIG_ASHMEM=y
CONFIG_AUDIT=y
CONFIG_BLK_DEV_DM=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_CPUACCT=y
@ -19,13 +20,13 @@ CONFIG_CGROUP_DEBUG=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_SCHED=y
CONFIG_CP15_BARRIER_EMULATION=y
CONFIG_DM_CRYPT=y
CONFIG_DM_VERITY=y
CONFIG_DM_VERITY_FEC=y
CONFIG_DEFAULT_SECURITY_SELINUX=y
CONFIG_EMBEDDED=y
CONFIG_FB=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
CONFIG_INET6_IPCOMP=y
@ -42,7 +43,6 @@ CONFIG_IPV6=y
CONFIG_IPV6_MIP6=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IP_ADVANCED_ROUTER=y
@ -64,10 +64,12 @@ CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_NET=y
CONFIG_NETDEVICES=y
CONFIG_NETFILTER=y
CONFIG_NETFILTER_TPROXY=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
@ -83,7 +85,6 @@ CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_QTAGUID=y
CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
@ -157,16 +158,15 @@ CONFIG_STAGING=y
CONFIG_SWP_EMULATION=y
CONFIG_SYNC=y
CONFIG_TUN=y
CONFIG_UID_CPUTIME=y
CONFIG_UID_SYS_STATS=y
CONFIG_UNIX=y
CONFIG_USB_GADGET=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_MTP=y
CONFIG_USB_CONFIGFS_F_PTP=y
CONFIG_USB_CONFIGFS_F_ACC=y
CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
CONFIG_USB_CONFIGFS_UEVENT=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_MIDI=y
CONFIG_USB_OTG_WAKELOCK=y
CONFIG_USB_CONFIGFS_F_MTP=y
CONFIG_USB_CONFIGFS_F_PTP=y
CONFIG_USB_CONFIGFS_UEVENT=y
CONFIG_USB_GADGET=y
CONFIG_XFRM_USER=y

View file

@ -7,16 +7,22 @@
# CONFIG_PM_WAKELOCKS_GC is not set
# CONFIG_VT is not set
CONFIG_ANDROID_TIMED_GPIO=y
CONFIG_ARM64_SW_TTBR0_PAN=y
CONFIG_ARM_KERNMEM_PERMS=y
CONFIG_ARM64_SW_TTBR0_PAN=y
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_BLK_DEV_DM=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_CC_STACKPROTECTOR_STRONG=y
CONFIG_COMPACTION=y
CONFIG_CPU_SW_DOMAIN_PAN=y
CONFIG_DEBUG_RODATA=y
CONFIG_DM_CRYPT=y
CONFIG_DM_UEVENT=y
CONFIG_DM_VERITY=y
CONFIG_DM_VERITY_FEC=y
CONFIG_DRAGONRISE_FF=y
CONFIG_ENABLE_DEFAULT_TRACERS=y
CONFIG_EXT4_FS=y
@ -92,6 +98,7 @@ CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGITECH_FF=y
CONFIG_MD=y
CONFIG_MEDIA_SUPPORT=y
CONFIG_MEMORY_STATE_TIME=y
CONFIG_MSDOS_FS=y
CONFIG_PANIC_TIMEOUT=5
CONFIG_PANTHERLORD_FF=y
@ -121,7 +128,6 @@ CONFIG_TIMER_STATS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_UHID=y
CONFIG_MEMORY_STATE_TIME=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_HIDDEV=y

View file

@ -1188,8 +1188,10 @@ SYSCALL_DEFINE4(osf_wait4, pid_t, pid, int __user *, ustatus, int, options,
if (!access_ok(VERIFY_WRITE, ur, sizeof(*ur)))
return -EFAULT;
err = 0;
err |= put_user(status, ustatus);
err = put_user(status, ustatus);
if (ret < 0)
return err ? err : ret;
err |= __put_user(r.ru_utime.tv_sec, &ur->ru_utime.tv_sec);
err |= __put_user(r.ru_utime.tv_usec, &ur->ru_utime.tv_usec);
err |= __put_user(r.ru_stime.tv_sec, &ur->ru_stime.tv_sec);

View file

@ -16,6 +16,7 @@
;
; Now manually save: r12, sp, fp, gp, r25
PUSH r30
PUSH r12
; Saving pt_regs->sp correctly requires some extra work due to the way
@ -72,6 +73,7 @@
POPAX AUX_USER_SP
1:
POP r12
POP r30
.endm

View file

@ -84,7 +84,7 @@ struct pt_regs {
unsigned long fp;
unsigned long sp; /* user/kernel sp depending on where we came from */
unsigned long r12;
unsigned long r12, r30;
/*------- Below list auto saved by h/w -----------*/
unsigned long r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11;

View file

@ -113,7 +113,7 @@ if ARM_DMA_USE_IOMMU
config ARM_DMA_IOMMU_ALIGNMENT
int "Maximum PAGE_SIZE order of alignment for DMA IOMMU buffers"
range 4 9
default 8
default 9
help
DMA mapping framework by default aligns all buffers to the smallest
PAGE_SIZE order which is greater than or equal to the requested buffer

View file

@ -69,7 +69,7 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE
$(obj)/zImage-dtb: $(obj)/zImage $(DTB_OBJS) FORCE
$(call if_changed,cat)
@echo ' Kernel: $@ is ready'
@$(kecho) ' Kernel: $@ is ready'
endif

View file

@ -162,9 +162,10 @@
};
adc0: adc@f8018000 {
atmel,adc-vref = <3300>;
atmel,adc-channels-used = <0xfe>;
pinctrl-0 = <
&pinctrl_adc0_adtrg
&pinctrl_adc0_ad0
&pinctrl_adc0_ad1
&pinctrl_adc0_ad2
&pinctrl_adc0_ad3
@ -172,8 +173,6 @@
&pinctrl_adc0_ad5
&pinctrl_adc0_ad6
&pinctrl_adc0_ad7
&pinctrl_adc0_ad8
&pinctrl_adc0_ad9
>;
status = "okay";
};

View file

@ -114,6 +114,30 @@ dtb-$(CONFIG_ARCH_MSM8996) += msm8996-v2-pmi8994-cdp.dtb \
apq8096-v3-pmi8996-mdm9x55-slimbus-mtp.dtb \
apq8096-v3-pmi8996-dragonboard.dtb
dtb-$(CONFIG_MSM_GVM_QUIN) += vplatform-lfv-msm8996.dtb
ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y)
dtbo-$(CONFIG_ARCH_MSM8998) += \
msm8998-cdp-overlay.dtbo \
msm8998-mtp-overlay.dtbo \
msm8998-v2-cdp-overlay.dtbo \
msm8998-v2-mtp-overlay.dtbo \
msm8998-v2.1-cdp-overlay.dtbo \
msm8998-v2.1-mtp-overlay.dtbo \
msm8998-qrd-overlay.dtbo \
msm8998-qrd-vr1-overlay.dtbo \
msm8998-qrd-skuk-overlay.dtbo
msm8998-cdp-overlay.dtbo-base := msm8998.dtb
msm8998-mtp-overlay.dtbo-base := msm8998.dtb
msm8998-v2-cdp-overlay.dtbo-base := msm8998-v2.dtb
msm8998-v2-mtp-overlay.dtbo-base := msm8998-v2.dtb
msm8998-v2.1-cdp-overlay.dtbo-base := msm8998-v2.1.dtb
msm8998-v2.1-mtp-overlay.dtbo-base := msm8998-v2.1.dtb
msm8998-qrd-overlay.dtbo-base := msm8998-qrd.dtb
msm8998-qrd-vr1-overlay.dtbo-base := msm8998-qrd-vr1.dtb
msm8998-qrd-skuk-overlay.dtbo-base := msm8998-qrd-skuk.dtb
else
dtb-$(CONFIG_ARCH_MSM8998) += msm8998-sim.dtb \
msm8998-rumi.dtb \
msm8998-cdp.dtb \
@ -130,22 +154,24 @@ dtb-$(CONFIG_ARCH_MSM8998) += msm8998-sim.dtb \
msm8998-v2-qrd-vr1.dtb \
msm8998-v2-qrd-skuk-evt3.dtb \
msm8998-v2-qrd-skuk-hdk.dtb \
apq8998-mtp.dtb \
apq8998-cdp.dtb \
apq8998-v2-mtp.dtb \
apq8998-v2-cdp.dtb \
apq8998-v2-qrd.dtb \
apq8998-v2-qrd-skuk-hdk.dtb \
apq8098-mtp.dtb \
apq8098-cdp.dtb \
apq8098-v2-mtp.dtb \
apq8098-v2-cdp.dtb \
apq8098-v2-qrd.dtb \
apq8098-v2-qrd-skuk-hdk.dtb \
msm8998-v2.1-mtp.dtb \
msm8998-v2.1-mtp-4k-display.dtb \
msm8998-v2.1-cdp.dtb \
msm8998-v2.1-qrd.dtb \
apq8998-v2.1-mtp.dtb \
apq8998-v2.1-cdp.dtb \
apq8998-v2.1-qrd.dtb \
apq8998-v2.1-mediabox.dtb \
apq8098-v2.1-mtp.dtb \
apq8098-v2.1-cdp.dtb \
apq8098-v2.1-qrd.dtb \
apq8098-v2.1-mediabox.dtb \
msm8998-v2.1-interposer-sdm660-cdp.dtb \
msm8998-v2.1-interposer-sdm660-mtp.dtb \
msm8998-v2.1-interposer-sdm660-qrd.dtb
endif
dtb-$(CONFIG_ARCH_MSMHAMSTER) += msmhamster-rumi.dtb
@ -173,6 +199,7 @@ dtb-$(CONFIG_ARCH_SDM660) += sdm660-sim.dtb \
sda660-pm660a-cdp.dtb \
sda660-pm660a-mtp.dtb \
sda660-pm660a-rcm.dtb \
sda660-pm660a-qrd-hdk.dtb \
sdm660-headset-jacktype-no-cdp.dtb \
sdm660-headset-jacktype-no-rcm.dtb \
sdm660-pm660a-headset-jacktype-no-cdp.dtb \
@ -223,6 +250,7 @@ dtb-$(CONFIG_ARCH_SDM630) += sdm630-rumi.dtb \
sda630-pm660a-mtp.dtb \
sda630-pm660a-cdp.dtb \
sda630-pm660a-rcm.dtb \
sda630-pm660a-qrd-hdk.dtb \
sdm630-headset-jacktype-no-cdp.dtb \
sdm630-headset-jacktype-no-rcm.dtb \
sdm630-pm660a-headset-jacktype-no-cdp.dtb \
@ -230,6 +258,7 @@ dtb-$(CONFIG_ARCH_SDM630) += sdm630-rumi.dtb \
ifeq ($(CONFIG_ARM64),y)
always := $(dtb-y)
always += $(dtbo-y)
subdir-y := $(dts-dirs)
else
targets += dtbs
@ -240,4 +269,4 @@ $(obj)/../%.dtb: $(src)/%.dts FORCE
dtbs: $(addprefix $(obj)/../,$(dtb-y))
endif
clean-files := *.dtb
clean-files := *.dtbo *.dtb

View file

@ -339,6 +339,77 @@
&mdss_mdp {
qcom,mdss-pref-prim-intf = "dsi";
qcom,sde-plane-id-map {
qcom,sde-plane-id@0 {
reg = <0x0>;
qcom,display-type = "primary";
qcom,plane-name = "rgb0", "rgb1";
qcom,plane-type = "primary";
};
qcom,sde-plane-id@1 {
reg = <0x1>;
qcom,display-type = "primary";
qcom,plane-name = "vig0", "vig1";
qcom,plane-type = "overlay";
};
qcom,sde-plane-id@2 {
reg = <0x2>;
qcom,display-type = "primary";
qcom,plane-name = "cursor0";
qcom,plane-type = "cursor";
};
qcom,sde-plane-id@3 {
reg = <0x3>;
qcom,display-type = "secondary";
qcom,plane-name = "rgb2";
qcom,plane-type = "primary";
};
qcom,sde-plane-id@4 {
reg = <0x4>;
qcom,display-type = "secondary";
qcom,plane-name = "vig2";
qcom,plane-type = "overlay";
};
qcom,sde-plane-id@5 {
reg = <0x5>;
qcom,display-type = "secondary";
qcom,plane-name = "dma0";
qcom,plane-type = "overlay";
};
qcom,sde-plane-id@6 {
reg = <0x6>;
qcom,display-type = "secondary";
qcom,plane-name = "cursor1";
qcom,plane-type = "cursor";
};
qcom,sde-plane-id@7 {
reg = <0x7>;
qcom,display-type = "tertiary";
qcom,plane-name = "rgb3";
qcom,plane-type = "primary";
};
qcom,sde-plane-id@8 {
reg = <0x8>;
qcom,display-type = "tertiary";
qcom,plane-name = "vig3";
qcom,plane-type = "overlay";
};
qcom,sde-plane-id@9 {
reg = <0x9>;
qcom,display-type = "tertiary";
qcom,plane-name = "dma1";
qcom,plane-type = "overlay";
};
};
};
&mdss_dsi {
@ -627,14 +698,14 @@
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&compr>,
<&afe>, <&lsm>, <&routing>, <&pcmnoirq>,
<&loopback1>;
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-routing", "msm-pcm-dsp-noirq",
"msm-pcm-loopback.1";
asoc-cpu = <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_hdmi>,
<&dai_mi2s_sec>, <&dai_mi2s>, <&dai_mi2s_quat>,
@ -705,22 +776,9 @@
};
qcom,msm-dai-tdm-tert-rx {
qcom,msm-cpudai-tdm-group-num-ports = <5>;
qcom,msm-cpudai-tdm-group-port-id = <36896 36898 36900
36902 36904>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&tert_tdm_dout_active>;
pinctrl-1 = <&tert_tdm_dout_sleep>;
dai_tert_tdm_rx_4: qcom,msm-dai-q6-tdm-tert-rx-4 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36904>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
qcom,msm-dai-tdm-quat-rx {
@ -809,7 +867,7 @@
qcom,vin-sel = <2>; /* 1.8 */
qcom,out-strength = <1>;
qcom,src-sel = <0>; /* GPIO */
qcom,master-en = <1>; /* Enable GPIO */
qcom,master-en = <0>; /* Disable GPIO */
status = "okay";
};

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2015-2017, 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
@ -22,7 +22,7 @@
model = "Qualcomm Technologies, Inc. MSM 8996pro AUTO ADP";
compatible = "qcom,apq8096-adp", "qcom,msm8996", "qcom,adp";
qcom,msm-id = <316 0x10001>;
qcom,board-id = <0x02010019 0>;
qcom,board-id = <0x02010019 0>, <0x00010001 0>;
};
&spi_9 {

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2015-2017, 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
@ -21,7 +21,7 @@
model = "Qualcomm Technologies, Inc. APQ 8096 pro v1.1 AUTO CDP";
compatible = "qcom,msm8996-cdp", "qcom,msm8996", "qcom,cdp";
qcom,msm-id = <316 0x10001>;
qcom,board-id = <0x03010001 0>;
qcom,board-id = <0x03010001 0>, <0x00010001 0>;
};
&spi_9 {

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2016-2017, 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
@ -12,11 +12,12 @@
/dts-v1/;
#include "apq8998-v2.dtsi"
#include "apq8098.dtsi"
#include "msm8998-mdss-panels.dtsi"
#include "msm8998-cdp.dtsi"
/ {
model = "Qualcomm Technologies, Inc. APQ 8998 V2 CDP";
compatible = "qcom,apq8998-cdp", "qcom,apq8998", "qcom,cdp";
model = "Qualcomm Technologies, Inc. APQ 8098 CDP";
compatible = "qcom,apq8098-cdp", "qcom,apq8098", "qcom,cdp";
qcom,board-id = <1 0>;
};

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2016-2017, 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
@ -12,11 +12,12 @@
/dts-v1/;
#include "apq8998-v2.1.dtsi"
#include "apq8098.dtsi"
#include "msm8998-mdss-panels.dtsi"
#include "msm8998-mtp.dtsi"
/ {
model = "Qualcomm Technologies, Inc. APQ 8998 V2.1 MTP";
compatible = "qcom,apq8998-mtp", "qcom,apq8998", "qcom,mtp";
model = "Qualcomm Technologies, Inc. APQ 8098 MTP";
compatible = "qcom,apq8098-mtp", "qcom,apq8098", "qcom,mtp";
qcom,board-id = <8 0>;
};

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2016-2017, 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
@ -12,11 +12,12 @@
/dts-v1/;
#include "apq8998-v2.1.dtsi"
#include "apq8098-v2.dtsi"
#include "msm8998-mdss-panels.dtsi"
#include "msm8998-cdp.dtsi"
/ {
model = "Qualcomm Technologies, Inc. APQ 8998 V2.1 CDP";
compatible = "qcom,apq8998-cdp", "qcom,apq8998", "qcom,cdp";
model = "Qualcomm Technologies, Inc. APQ 8098 V2 CDP";
compatible = "qcom,apq8098-cdp", "qcom,apq8098", "qcom,cdp";
qcom,board-id = <1 0>;
};

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2016-2017, 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
@ -12,11 +12,12 @@
/dts-v1/;
#include "apq8998-v2.dtsi"
#include "apq8098-v2.dtsi"
#include "msm8998-mdss-panels.dtsi"
#include "msm8998-mtp.dtsi"
/ {
model = "Qualcomm Technologies, Inc. APQ 8998 V2 MTP";
compatible = "qcom,apq8998-mtp", "qcom,apq8998", "qcom,mtp";
model = "Qualcomm Technologies, Inc. APQ 8098 V2 MTP";
compatible = "qcom,apq8098-mtp", "qcom,apq8098", "qcom,mtp";
qcom,board-id = <8 0>;
};

View file

@ -13,11 +13,12 @@
/dts-v1/;
#include "apq8998-v2.dtsi"
#include "apq8098-v2.dtsi"
#include "msm8998-mdss-panels.dtsi"
#include "msm8998-qrd-skuk-hdk.dtsi"
/ {
model = "Qualcomm Technologies, Inc. APQ 8998 SKUK HDK";
model = "Qualcomm Technologies, Inc. APQ 8098 SKUK HDK";
compatible = "qcom,msm8998-qrd", "qcom,msm8998", "qcom,qrd";
qcom,board-id = <0x06000b 0x10>;
};

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2016-2017, 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
@ -12,11 +12,12 @@
/dts-v1/;
#include "apq8998-v2.dtsi"
#include "apq8098-v2.dtsi"
#include "msm8998-mdss-panels.dtsi"
#include "msm8998-qrd.dtsi"
/ {
model = "Qualcomm Technologies, Inc. APQ 8998 V2 QRD";
compatible = "qcom,apq8998-qrd", "qcom,apq8998", "qcom,qrd";
model = "Qualcomm Technologies, Inc. APQ 8098 V2 QRD";
compatible = "qcom,apq8098-qrd", "qcom,apq8098", "qcom,qrd";
qcom,board-id = <11 0>;
};

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2016-2017, 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
@ -12,11 +12,12 @@
/dts-v1/;
#include "apq8998.dtsi"
#include "apq8098-v2.1.dtsi"
#include "msm8998-mdss-panels.dtsi"
#include "msm8998-cdp.dtsi"
/ {
model = "Qualcomm Technologies, Inc. APQ 8998 CDP";
compatible = "qcom,apq8998-cdp", "qcom,apq8998", "qcom,cdp";
model = "Qualcomm Technologies, Inc. APQ 8098 V2.1 CDP";
compatible = "qcom,apq8098-cdp", "qcom,apq8098", "qcom,cdp";
qcom,board-id = <1 0>;
};

View file

@ -12,12 +12,13 @@
/dts-v1/;
#include "apq8998-v2.1.dtsi"
#include "apq8098-v2.1.dtsi"
#include "msm8998-mdss-panels.dtsi"
#include "msm8998-cdp.dtsi"
/ {
model = "Qualcomm Technologies, Inc. APQ 8998 V2.1 mediabox";
compatible = "qcom,apq8998-cdp", "qcom,apq8998", "qcom,cdp";
model = "Qualcomm Technologies, Inc. APQ 8098 V2.1 mediabox";
compatible = "qcom,apq8098-cdp", "qcom,apq8098", "qcom,cdp";
qcom,board-id = <8 1>;
};
@ -30,14 +31,9 @@
};
&mdss_mdp {
status = "disabled";
qcom,mdss-pref-prim-intf = "hdmi";
};
&msm_gpu {
dma-coherent;
};
&sde_hdmi {
qcom,display-type = "primary";
};
@ -91,3 +87,34 @@
&tspp {
qcom,lpass-timer-tts = <1>;
};
&snd_9335 {
qcom,msm-mi2s-master = <1>, <1>, <1>, <0>;
};
&wcd_usbc_analog_en1_gpio {
status = "disabled";
};
&wcd_usbc_analog_en2n_gpio {
status = "disabled";
};
&soc {
qcom,msm-dai-mi2s {
dai_mi2s3: qcom,msm-dai-q6-mi2s-quat {
/* SD0 (1 << 0) | SD1 (1 << 1) | SD2 (1 << 2) */
qcom,msm-mi2s-rx-lines = <0>;
qcom,msm-mi2s-tx-lines = <15>; /* SD3 (1 << 3) */
pinctrl-names = "default", "sleep";
pinctrl-0 = <&quat_mi2s_active &quat_mi2s_sd0_active
&quat_mi2s_sd1_active
&quat_mi2s_sd2_active
&quat_mi2s_sd3_active>;
pinctrl-1 = <&quat_mi2s_sleep &quat_mi2s_sd0_sleep
&quat_mi2s_sd1_sleep
&quat_mi2s_sd2_sleep
&quat_mi2s_sd3_sleep>;
};
};
};

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2016-2017, 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
@ -12,11 +12,12 @@
/dts-v1/;
#include "apq8998.dtsi"
#include "apq8098-v2.1.dtsi"
#include "msm8998-mdss-panels.dtsi"
#include "msm8998-mtp.dtsi"
/ {
model = "Qualcomm Technologies, Inc. APQ 8998 MTP";
compatible = "qcom,apq8998-mtp", "qcom,apq8998", "qcom,mtp";
model = "Qualcomm Technologies, Inc. APQ 8098 V2.1 MTP";
compatible = "qcom,apq8098-mtp", "qcom,apq8098", "qcom,mtp";
qcom,board-id = <8 0>;
};

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2016-2017, 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
@ -12,11 +12,12 @@
/dts-v1/;
#include "apq8998-v2.1.dtsi"
#include "apq8098-v2.1.dtsi"
#include "msm8998-mdss-panels.dtsi"
#include "msm8998-qrd.dtsi"
/ {
model = "Qualcomm Technologies, Inc. APQ 8998 V2.1 QRD";
compatible = "qcom,apq8998-qrd", "qcom,apq8998", "qcom,qrd";
model = "Qualcomm Technologies, Inc. APQ 8098 V2.1 QRD";
compatible = "qcom,apq8098-qrd", "qcom,apq8098", "qcom,qrd";
qcom,board-id = <11 0>;
};

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2016-2017, 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
@ -13,6 +13,6 @@
#include "msm8998-v2.1.dtsi"
/ {
model = "Qualcomm Technologies, Inc. APQ 8998 V2.1";
model = "Qualcomm Technologies, Inc. APQ 8098 V2.1";
qcom,msm-id = <319 0x20001>;
};

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2016-2017, 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
@ -13,6 +13,6 @@
#include "msm8998-v2.dtsi"
/ {
model = "Qualcomm Technologies, Inc. APQ 8998 V2";
model = "Qualcomm Technologies, Inc. APQ 8098 V2";
qcom,msm-id = <319 0x20000>;
};

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2016-2017, 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
@ -13,7 +13,7 @@
#include "msm8998.dtsi"
/ {
model = "Qualcomm Technologies, Inc. APQ 8998";
model = "Qualcomm Technologies, Inc. APQ 8098";
qcom,msm-id = <319 0x10000>;
};

View file

@ -15,6 +15,7 @@
qcom,mdss-dsi-panel-name = "JDI a407 wqhd cmd mode dsi panel";
qcom,mdss-dsi-panel-type = "dsi_cmd_mode";
qcom,mdss-dsi-panel-framerate = <60>;
qcom,mdss-dsi-panel-clockrate = <838600000>;
qcom,mdss-dsi-virtual-channel-id = <0>;
qcom,mdss-dsi-stream = <0>;
qcom,mdss-dsi-panel-width = <720>;
@ -79,6 +80,8 @@
qcom,adjust-timer-wakeup-ms = <1>;
qcom,mdss-dsi-reset-sequence = <1 20>, <0 10>, <1 20>;
qcom,dcs-cmd-by-left;
qcom,config-select = <&dsi_dual_jdi_a407_cmd_config0>;
dsi_dual_jdi_a407_cmd_config0: config0 {

View file

@ -192,8 +192,8 @@
15 01 00 00 00 00 02 0b 55
15 01 00 00 00 00 02 0c 14
15 01 00 00 00 00 02 0d 28
15 01 00 00 00 00 02 0e 00
15 01 00 00 00 00 02 0f 00
15 01 00 00 00 00 02 0e 40
15 01 00 00 00 00 02 0f 80
15 01 00 00 00 00 02 10 00
15 01 00 00 00 00 02 11 22
15 01 00 00 00 00 02 12 0a
@ -208,17 +208,17 @@
15 01 00 00 00 00 02 1d 00
15 01 00 00 00 00 02 1e 80
15 01 00 00 00 00 02 1f 00
15 01 00 00 00 00 02 20 00
15 01 00 00 00 00 02 20 03
15 01 00 00 00 00 02 21 03
15 01 00 00 00 00 02 22 22
15 01 00 00 00 00 02 22 25
15 01 00 00 00 00 02 23 25
15 01 00 00 00 00 02 24 00
15 01 00 00 00 00 02 25 a7
15 01 00 00 00 00 02 26 00
15 01 00 00 00 00 02 26 80
15 01 00 00 00 00 02 27 a5
15 01 00 00 00 00 02 28 06
15 01 00 00 00 00 02 29 85
15 01 00 00 00 00 02 2a 3f
15 01 00 00 00 00 02 2a 30
15 01 00 00 00 00 02 2b 97
15 01 00 00 00 00 02 2f 25
15 01 00 00 00 00 02 30 26
@ -240,7 +240,7 @@
15 01 00 00 00 00 02 45 00
15 01 00 00 00 00 02 46 00
15 01 00 00 00 00 02 47 00
15 01 00 00 00 00 02 48 00
15 01 00 00 00 00 02 48 03
15 01 00 00 00 00 02 49 03
15 01 00 00 00 00 02 4a 00
15 01 00 00 00 00 02 4b 00
@ -250,7 +250,7 @@
15 01 00 00 00 00 02 4f 4c
15 01 00 00 00 00 02 50 0d
15 01 00 00 00 00 02 51 0e
15 01 00 00 00 00 02 52 23
15 01 00 00 00 00 02 52 20
15 01 00 00 00 00 02 53 97
15 01 00 00 00 00 02 54 4b
15 01 00 00 00 00 02 55 4c

View file

@ -20,11 +20,11 @@
qcom,mdss-dsi-stream = <0>;
qcom,mdss-dsi-panel-width = <1080>;
qcom,mdss-dsi-panel-height = <1920>;
qcom,mdss-dsi-h-front-porch = <32>;
qcom,mdss-dsi-h-back-porch = <40>;
qcom,mdss-dsi-h-pulse-width = <8>;
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 = <16>;
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>;
@ -37,6 +37,7 @@
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
@ -52,8 +53,12 @@
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 02 00 02 50 2f
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
@ -104,6 +109,8 @@
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>;

View file

@ -0,0 +1,68 @@
/* Copyright (c) 2017, 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_sharp_split_link_wuxga_video:
qcom,mdss_dsi_sharp_split_link_wuxga_video {
qcom,mdss-dsi-panel-name =
"SHARP split DSI 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 = <600>;
qcom,mdss-dsi-panel-height = <1920>;
qcom,mdss-dsi-h-front-porch = <54>;
qcom,mdss-dsi-h-back-porch = <4>;
qcom,mdss-dsi-h-pulse-width = <6>;
qcom,mdss-dsi-h-sync-skew = <0>;
qcom,mdss-dsi-v-back-porch = <6>;
qcom,mdss-dsi-v-front-porch = <12>;
qcom,mdss-dsi-v-pulse-width = <2>;
qcom,mdss-dsi-bpp = <24>;
qcom,mdss-dsi-underflow-color = <0x654321>;
qcom,mdss-dsi-border-color = <0>;
qcom,mdss-dsi-on-command = [05 01 00 00 a0 00 02 11 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-post-panel-on-command =
[05 01 00 00 a0 00 02 29 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 =
[00 24 07 08 0e 14 07 09 07 03 04 00];
qcom,mdss-dsi-t-clk-post = <0x0e>;
qcom,mdss-dsi-t-clk-pre = <0x35>;
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-tx-eot-append;
qcom,split-link-enabled = <1>;
qcom,sublinks-count = <2>;
qcom,lanes-per-sublink = <2>;
};
};

View file

@ -0,0 +1,52 @@
/* Copyright (c) 2017, 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 {
mdm0: qcom,mdm0 {
compatible = "qcom,ext-mdm9x45";
cell-index = <0>;
#address-cells = <0>;
interrupt-parent = <&mdm0>;
#interrupt-cells = <1>;
interrupt-map-mask = <0xffffffff>;
interrupt-names =
"err_fatal_irq",
"status_irq";
status = "disabled";
};
mdm1: qcom,mdm1 {
compatible = "qcom,ext-mdm9x45";
cell-index = <0>;
#address-cells = <0>;
interrupt-parent = <&mdm1>;
#interrupt-cells = <1>;
interrupt-map-mask = <0xffffffff>;
interrupt-names =
"err_fatal_irq",
"status_irq";
status = "disabled";
};
mdm2: qcom,mdm2 {
compatible = "qcom,ext-mdm9x45";
cell-index = <0>;
#address-cells = <0>;
interrupt-parent = <&mdm2>;
#interrupt-cells = <1>;
interrupt-map-mask = <0xffffffff>;
interrupt-names =
"err_fatal_irq",
"status_irq";
status = "disabled";
};
};

View file

@ -157,6 +157,7 @@
<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>,

View file

@ -176,4 +176,16 @@
*/
iommus = <&mmss_smmu 42>;
};
iommu_coherent_test_device {
compatible = "iommu-debug-test";
/*
* 43 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_smmu 43>;
dma-coherent;
};
};

View file

@ -85,6 +85,10 @@
compatible = "qcom,msm-pcm-loopback";
};
trans_loopback: qcom,msm-transcode-loopback {
compatible = "qcom,msm-transcode-loopback";
};
qcom,msm-dai-mi2s {
compatible = "qcom,msm-dai-mi2s";
dai_mi2s0: qcom,msm-dai-q6-mi2s-prim {
@ -377,14 +381,15 @@
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-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>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -395,14 +400,15 @@
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-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>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -413,14 +419,15 @@
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-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>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -431,14 +438,15 @@
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-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>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -449,14 +457,15 @@
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-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>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -467,14 +476,15 @@
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-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>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -485,14 +495,15 @@
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-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>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -503,14 +514,15 @@
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-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>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};

View file

@ -445,14 +445,15 @@
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-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>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -463,14 +464,15 @@
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-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>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -481,14 +483,15 @@
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-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>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -499,14 +502,15 @@
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-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>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -517,14 +521,15 @@
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-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>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -535,14 +540,15 @@
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-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>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -553,14 +559,15 @@
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-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>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -571,14 +578,15 @@
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-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>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};

View file

@ -41,6 +41,7 @@
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;
@ -287,6 +288,18 @@
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>;
@ -325,11 +338,12 @@
qcom,chgr@1000 {
reg = <0x1000 0x100>;
interrupts = <0x0 0x10 0x0 IRQ_TYPE_NONE>,
<0x0 0x10 0x1 IRQ_TYPE_NONE>,
<0x0 0x10 0x2 IRQ_TYPE_NONE>,
<0x0 0x10 0x3 IRQ_TYPE_NONE>,
<0x0 0x10 0x4 IRQ_TYPE_NONE>;
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",
@ -340,10 +354,10 @@
qcom,otg@1100 {
reg = <0x1100 0x100>;
interrupts = <0x0 0x11 0x0 IRQ_TYPE_NONE>,
<0x0 0x11 0x1 IRQ_TYPE_NONE>,
<0x0 0x11 0x2 IRQ_TYPE_NONE>,
<0x0 0x11 0x3 IRQ_TYPE_NONE>;
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",
@ -353,12 +367,13 @@
qcom,bat-if@1200 {
reg = <0x1200 0x100>;
interrupts = <0x0 0x12 0x0 IRQ_TYPE_NONE>,
<0x0 0x12 0x1 IRQ_TYPE_NONE>,
<0x0 0x12 0x2 IRQ_TYPE_NONE>,
<0x0 0x12 0x3 IRQ_TYPE_NONE>,
<0x0 0x12 0x4 IRQ_TYPE_NONE>,
<0x0 0x12 0x5 IRQ_TYPE_NONE>;
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",
@ -370,14 +385,15 @@
qcom,usb-chgpth@1300 {
reg = <0x1300 0x100>;
interrupts = <0x0 0x13 0x0 IRQ_TYPE_NONE>,
<0x0 0x13 0x1 IRQ_TYPE_NONE>,
<0x0 0x13 0x2 IRQ_TYPE_NONE>,
<0x0 0x13 0x3 IRQ_TYPE_NONE>,
<0x0 0x13 0x4 IRQ_TYPE_NONE>,
<0x0 0x13 0x5 IRQ_TYPE_NONE>,
<0x0 0x13 0x6 IRQ_TYPE_NONE>,
<0x0 0x13 0x7 IRQ_TYPE_NONE>;
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",
@ -391,13 +407,14 @@
qcom,dc-chgpth@1400 {
reg = <0x1400 0x100>;
interrupts = <0x0 0x14 0x0 IRQ_TYPE_NONE>,
<0x0 0x14 0x1 IRQ_TYPE_NONE>,
<0x0 0x14 0x2 IRQ_TYPE_NONE>,
<0x0 0x14 0x3 IRQ_TYPE_NONE>,
<0x0 0x14 0x4 IRQ_TYPE_NONE>,
<0x0 0x14 0x5 IRQ_TYPE_NONE>,
<0x0 0x14 0x6 IRQ_TYPE_NONE>;
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",
@ -410,14 +427,15 @@
qcom,chgr-misc@1600 {
reg = <0x1600 0x100>;
interrupts = <0x0 0x16 0x0 IRQ_TYPE_NONE>,
<0x0 0x16 0x1 IRQ_TYPE_NONE>,
<0x0 0x16 0x2 IRQ_TYPE_NONE>,
<0x0 0x16 0x3 IRQ_TYPE_NONE>,
<0x0 0x16 0x4 IRQ_TYPE_NONE>,
<0x0 0x16 0x5 IRQ_TYPE_NONE>,
<0x0 0x16 0x6 IRQ_TYPE_NONE>,
<0x0 0x16 0x7 IRQ_TYPE_NONE>;
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",
@ -527,11 +545,14 @@
#address-cells = <1>;
#size-cells = <1>;
qcom,pmic-revid = <&pm660_revid>;
io-channels = <&pm660_rradc 0>;
io-channel-names = "rradc_batt_id";
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>;
qcom,fg-esr-timer-asleep = <256>;
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";

View file

@ -330,9 +330,6 @@
qcom,ires-ua = <12500>;
qcom,hdrm-voltage-mv = <325>;
qcom,hdrm-vol-hi-lo-win-mv = <100>;
pinctrl-names = "led_enable","led_disable";
pinctrl-0 = <&led_enable>;
pinctrl-1 = <&led_disable>;
};
pm660l_torch0: qcom,torch_0 {
@ -369,9 +366,6 @@
qcom,ires-ua = <12500>;
qcom,hdrm-voltage-mv = <325>;
qcom,hdrm-vol-hi-lo-win-mv = <100>;
pinctrl-names = "led_enable","led_disable";
pinctrl-0 = <&led_enable>;
pinctrl-1 = <&led_disable>;
};
pm660l_switch0: qcom,led_switch_0 {
@ -418,7 +412,9 @@
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";
@ -466,6 +462,8 @@
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;
};
};
};

View file

@ -337,8 +337,9 @@
io-channels = <&pmi8998_rradc 0>;
io-channel-names = "rradc_batt_id";
qcom,rradc-base = <0x4500>;
qcom,fg-esr-timer-awake = <96>;
qcom,fg-esr-timer-asleep = <256>;
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";
@ -540,6 +541,10 @@
regulator-min-microvolt = <4600000>;
regulator-max-microvolt = <6000000>;
interrupts = <0x3 0xdc 0x2
IRQ_TYPE_EDGE_RISING>;
interrupt-names = "ibb-sc-err";
qcom,qpnp-ibb-min-voltage = <1400000>;
qcom,qpnp-ibb-step-size = <100000>;
qcom,qpnp-ibb-slew-rate = <2000000>;
@ -573,8 +578,11 @@
regulator-max-microvolt = <6000000>;
interrupts = <0x3 0xde 0x0
IRQ_TYPE_EDGE_RISING>,
<0x3 0xde 0x1
IRQ_TYPE_EDGE_RISING>;
interrupt-names = "lab-vreg-ok";
interrupt-names = "lab-vreg-ok", "lab-sc-err";
qcom,qpnp-lab-min-voltage = <4600000>;
qcom,qpnp-lab-step-size = <100000>;
qcom,qpnp-lab-slew-rate = <5000>;
@ -712,9 +720,6 @@
qcom,ires-ua = <12500>;
qcom,hdrm-voltage-mv = <325>;
qcom,hdrm-vol-hi-lo-win-mv = <100>;
pinctrl-names = "led_enable","led_disable";
pinctrl-0 = <&led_enable>;
pinctrl-1 = <&led_disable>;
};
pmi8998_torch0: qcom,torch_0 {
@ -751,9 +756,6 @@
qcom,ires-ua = <12500>;
qcom,hdrm-voltage-mv = <325>;
qcom,hdrm-vol-hi-lo-win-mv = <100>;
pinctrl-names = "led_enable","led_disable";
pinctrl-0 = <&led_enable>;
pinctrl-1 = <&led_disable>;
};
pmi8998_switch0: qcom,led_switch_0 {

View file

@ -548,6 +548,77 @@
&mdss_mdp {
qcom,mdss-pref-prim-intf = "dsi";
qcom,sde-plane-id-map {
qcom,sde-plane-id@0 {
reg = <0x0>;
qcom,display-type = "primary";
qcom,plane-name = "rgb0", "rgb1";
qcom,plane-type = "primary";
};
qcom,sde-plane-id@1 {
reg = <0x1>;
qcom,display-type = "primary";
qcom,plane-name = "vig0", "vig1";
qcom,plane-type = "overlay";
};
qcom,sde-plane-id@2 {
reg = <0x2>;
qcom,display-type = "primary";
qcom,plane-name = "cursor0";
qcom,plane-type = "cursor";
};
qcom,sde-plane-id@3 {
reg = <0x3>;
qcom,display-type = "secondary";
qcom,plane-name = "rgb2";
qcom,plane-type = "primary";
};
qcom,sde-plane-id@4 {
reg = <0x4>;
qcom,display-type = "secondary";
qcom,plane-name = "vig2";
qcom,plane-type = "overlay";
};
qcom,sde-plane-id@5 {
reg = <0x5>;
qcom,display-type = "secondary";
qcom,plane-name = "dma0";
qcom,plane-type = "overlay";
};
qcom,sde-plane-id@6 {
reg = <0x6>;
qcom,display-type = "secondary";
qcom,plane-name = "cursor1";
qcom,plane-type = "cursor";
};
qcom,sde-plane-id@7 {
reg = <0x7>;
qcom,display-type = "tertiary";
qcom,plane-name = "rgb3";
qcom,plane-type = "primary";
};
qcom,sde-plane-id@8 {
reg = <0x8>;
qcom,display-type = "tertiary";
qcom,plane-name = "vig3";
qcom,plane-type = "overlay";
};
qcom,sde-plane-id@9 {
reg = <0x9>;
qcom,display-type = "tertiary";
qcom,plane-name = "dma1";
qcom,plane-type = "overlay";
};
};
};
&dsi_adv_7533_1 {
@ -797,6 +868,13 @@
qcom,ntn-rst-delay-msec = <100>;
qcom,ntn-rc-num = <1>;
qcom,msm-bus,name = "ntn";
qcom,msm-bus,num-cases = <2>;
qcom,msm-bus,num-paths = <1>;
qcom,msm-bus,vectors-KBps =
<100 512 0 0>,
<100 512 207108 14432000>;
};
i2c@75ba000 {
@ -919,14 +997,14 @@
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&compr>,
<&afe>, <&lsm>, <&routing>, <&pcmnoirq>,
<&loopback1>;
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-routing", "msm-pcm-dsp-noirq",
"msm-pcm-loopback.1";
asoc-cpu = <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_hdmi>,
<&dai_mi2s_sec>, <&dai_mi2s>, <&dai_mi2s_quat>,
@ -1010,22 +1088,9 @@
};
qcom,msm-dai-tdm-tert-rx {
qcom,msm-cpudai-tdm-group-num-ports = <5>;
qcom,msm-cpudai-tdm-group-port-id = <36896 36898 36900
36902 36904>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&tert_tdm_dout_active>;
pinctrl-1 = <&tert_tdm_dout_sleep>;
dai_tert_tdm_rx_4: qcom,msm-dai-q6-tdm-tert-rx-4 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36904>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
qcom,msm-dai-tdm-quat-rx {
@ -1125,7 +1190,7 @@
qcom,vin-sel = <2>; /* 1.8 */
qcom,out-strength = <1>;
qcom,src-sel = <0>; /* GPIO */
qcom,master-en = <1>; /* Enable GPIO */
qcom,master-en = <0>; /* Disable GPIO */
status = "okay";
};
@ -1173,9 +1238,6 @@
&usb2s {
status = "ok";
dwc3@7600000 {
dr_mode = "host";
};
};
&usb3 {

View file

@ -302,7 +302,7 @@
&mdss_hdmi_cec_suspend>;
};
#include "msm8996-mdss-panels.dtsi"
#include "msm8996-sde-display.dtsi"
&pmx_mdss {
mdss_dsi_active: mdss_dsi_active {
@ -335,32 +335,201 @@
&mdss_mdp {
qcom,mdss-pref-prim-intf = "dsi";
qcom,sde-plane-id-map {
qcom,sde-plane-id@0 {
reg = <0x0>;
qcom,display-type = "primary";
qcom,plane-name = "rgb0", "rgb1";
qcom,plane-type = "primary";
};
qcom,sde-plane-id@1 {
reg = <0x1>;
qcom,display-type = "primary";
qcom,plane-name = "vig0", "vig1";
qcom,plane-type = "overlay";
};
qcom,sde-plane-id@2 {
reg = <0x2>;
qcom,display-type = "primary";
qcom,plane-name = "cursor0";
qcom,plane-type = "cursor";
};
qcom,sde-plane-id@3 {
reg = <0x3>;
qcom,display-type = "secondary";
qcom,plane-name = "rgb2";
qcom,plane-type = "primary";
};
qcom,sde-plane-id@4 {
reg = <0x4>;
qcom,display-type = "secondary";
qcom,plane-name = "vig2";
qcom,plane-type = "overlay";
};
qcom,sde-plane-id@5 {
reg = <0x5>;
qcom,display-type = "secondary";
qcom,plane-name = "dma0";
qcom,plane-type = "overlay";
};
qcom,sde-plane-id@6 {
reg = <0x6>;
qcom,display-type = "secondary";
qcom,plane-name = "cursor1";
qcom,plane-type = "cursor";
};
qcom,sde-plane-id@7 {
reg = <0x7>;
qcom,display-type = "tertiary";
qcom,plane-name = "rgb3";
qcom,plane-type = "primary";
};
qcom,sde-plane-id@8 {
reg = <0x8>;
qcom,display-type = "tertiary";
qcom,plane-name = "vig3";
qcom,plane-type = "overlay";
};
qcom,sde-plane-id@9 {
reg = <0x9>;
qcom,display-type = "tertiary";
qcom,plane-name = "dma1";
qcom,plane-type = "overlay";
};
};
};
&dsi_adv_7533_1 {
qcom,dsi-display-active;
qcom,dsi-panel = <&dsi_adv7533_1080p>;
qcom,panel-supply-entries {
#address-cells = <1>;
#size-cells = <0>;
qcom,panel-supply-entry@0 {
reg = <0>;
qcom,supply-name = "vdd";
qcom,supply-min-voltage = <3300000>;
qcom,supply-max-voltage = <3300000>;
qcom,supply-enable-load = <100000>;
qcom,supply-disable-load = <100>;
};
qcom,panel-supply-entry@1 {
reg = <1>;
qcom,supply-name = "vddio";
qcom,supply-min-voltage = <1800000>;
qcom,supply-max-voltage = <1800000>;
qcom,supply-enable-load = <100000>;
qcom,supply-disable-load = <100>;
};
};
};
&dsi_adv_7533_2 {
qcom,dsi-display-active;
qcom,dsi-panel = <&dsi_adv7533_1080p>;
qcom,panel-supply-entries {
#address-cells = <1>;
#size-cells = <0>;
qcom,panel-supply-entry@0 {
reg = <0>;
qcom,supply-name = "vdd";
qcom,supply-min-voltage = <3300000>;
qcom,supply-max-voltage = <3300000>;
qcom,supply-enable-load = <100000>;
qcom,supply-disable-load = <100>;
};
qcom,panel-supply-entry@1 {
reg = <1>;
qcom,supply-name = "vddio";
qcom,supply-min-voltage = <1800000>;
qcom,supply-max-voltage = <1800000>;
qcom,supply-enable-load = <100000>;
qcom,supply-disable-load = <100>;
};
};
};
&mdss_dsi {
hw-config = "split_dsi";
hw-config = "dual_dsi";
};
&mdss_dsi0 {
qcom,dsi-pref-prim-pan = <&dsi_dual_nt35597_video>;
qcom,dsi-pref-prim-pan = <&dsi_adv7533_1080p>;
pinctrl-names = "mdss_default", "mdss_sleep";
pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
qcom,platform-enable-gpio = <&tlmm 70 0>;
qcom,platform-te-gpio = <&tlmm 10 0>;
qcom,platform-reset-gpio = <&tlmm 8 0>;
qcom,platform-bklight-en-gpio = <&pm8994_gpios 10 0>;
qcom,display-id = "primary";
qcom,bridge-index = <0>;
qcom,panel-supply-entries {
#address-cells = <1>;
#size-cells = <0>;
qcom,panel-supply-entry@0 {
reg = <0>;
qcom,supply-name = "vdd";
qcom,supply-min-voltage = <3300000>;
qcom,supply-max-voltage = <3300000>;
qcom,supply-enable-load = <100000>;
qcom,supply-disable-load = <100>;
};
qcom,panel-supply-entry@1 {
reg = <1>;
qcom,supply-name = "vddio";
qcom,supply-min-voltage = <1800000>;
qcom,supply-max-voltage = <1800000>;
qcom,supply-enable-load = <100000>;
qcom,supply-disable-load = <100>;
};
};
};
&mdss_dsi1 {
qcom,dsi-pref-prim-pan = <&dsi_dual_nt35597_video>;
qcom,dsi-pref-prim-pan = <&dsi_adv7533_1080p>;
pinctrl-names = "mdss_default", "mdss_sleep";
pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
qcom,platform-enable-gpio = <&tlmm 70 0>;
qcom,platform-te-gpio = <&tlmm 10 0>;
qcom,platform-reset-gpio = <&tlmm 8 0>;
qcom,platform-bklight-en-gpio = <&pm8994_gpios 10 0>;
qcom,display-id = "tertiary";
qcom,bridge-index = <1>;
qcom,panel-supply-entries {
#address-cells = <1>;
#size-cells = <0>;
qcom,panel-supply-entry@0 {
reg = <0>;
qcom,supply-name = "vdd";
qcom,supply-min-voltage = <3300000>;
qcom,supply-max-voltage = <3300000>;
qcom,supply-enable-load = <100000>;
qcom,supply-disable-load = <100>;
};
qcom,panel-supply-entry@1 {
reg = <1>;
qcom,supply-name = "vddio";
qcom,supply-min-voltage = <1800000>;
qcom,supply-max-voltage = <1800000>;
qcom,supply-enable-load = <100000>;
qcom,supply-disable-load = <100>;
};
};
};
&dsi_dual_sharp_video {
@ -454,7 +623,7 @@
};
&soc {
qcom,ntn_avb {
ntn1: ntn_avb@1 { /* Neutrno device on RC1*/
compatible = "qcom,ntn_avb";
ntn-rst-gpio = <&pm8994_gpios 13 0>;
@ -465,6 +634,28 @@
qcom,ntn-rst-delay-msec = <100>;
qcom,ntn-rc-num = <1>;
qcom,ntn-bus-num = <1>;
qcom,msm-bus,name = "ntn";
qcom,msm-bus,num-cases = <2>;
qcom,msm-bus,num-paths = <1>;
qcom,msm-bus,vectors-KBps =
<100 512 0 0>,
<100 512 207108 14432000>;
};
ntn2: ntn_avb@2 { /*Neutrino device on RC2*/
compatible = "qcom,ntn_avb";
qcom,ntn-rst-delay-msec = <100>;
qcom,ntn-rc-num = <2>;
qcom,ntn-bus-num = <1>;
qcom,msm-bus,name = "ntn";
qcom,msm-bus,num-cases = <2>;
qcom,msm-bus,num-paths = <1>;
qcom,msm-bus,vectors-KBps =
<108 512 0 0>,
<108 512 207108 14432000>;
};
i2c@75ba000 {
@ -509,9 +700,8 @@
pinctrl-1 = <&adv7533_0_int_suspend
&adv7533_0_hpd_int_suspend
&adv7533_0_switch_suspend>;
adi,irq-gpio = <&tlmm 106 0x2002>;
adi,hpd-irq-gpio = <&tlmm 106 0x2003>;
adi,switch-gpio = <&tlmm 105 0x1>;
adi,irq-gpio = <&tlmm 71 0x2002>;
adi,switch-gpio = <&tlmm 72 0x1>;
};
adv7533@39 {
@ -530,9 +720,8 @@
pinctrl-1 = <&adv7533_1_int_suspend
&adv7533_1_hpd_int_suspend
&adv7533_1_switch_suspend>;
adi,irq-gpio = <&tlmm 108 0x2002>;
adi,hpd-irq-gpio = <&tlmm 106 0x2003>;
adi,switch-gpio = <&tlmm 107 0x0>;
adi,irq-gpio = <&tlmm 73 0x2002>;
adi,switch-gpio = <&tlmm 74 0x0>;
};
};
@ -631,14 +820,14 @@
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&compr>,
<&afe>, <&lsm>, <&routing>, <&pcmnoirq>,
<&loopback1>;
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-routing", "msm-pcm-dsp-noirq",
"msm-pcm-loopback.1";
asoc-cpu = <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_hdmi>,
<&dai_mi2s_sec>, <&dai_mi2s>, <&dai_mi2s_quat>,
@ -725,22 +914,9 @@
};
qcom,msm-dai-tdm-tert-rx {
qcom,msm-cpudai-tdm-group-num-ports = <5>;
qcom,msm-cpudai-tdm-group-port-id = <36896 36898 36900
36902 36904>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&tert_tdm_dout_active>;
pinctrl-1 = <&tert_tdm_dout_sleep>;
dai_tert_tdm_rx_4: qcom,msm-dai-q6-tdm-tert-rx-4 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36904>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
qcom,msm-dai-tdm-quat-rx {
@ -840,7 +1016,7 @@
qcom,vin-sel = <2>; /* 1.8 */
qcom,out-strength = <1>;
qcom,src-sel = <0>; /* GPIO */
qcom,master-en = <1>; /* Enable GPIO */
qcom,master-en = <0>; /* Disable GPIO */
status = "okay";
};
@ -1017,6 +1193,7 @@
qcom,msi-gicm-addr = <0x09BD0040>;
qcom,msi-gicm-base = <0x240>;
/delete-property/ qcom,boot-option;
/delete-property/ qcom,l1-supported;
/delete-property/ qcom,l1ss-supported;
/delete-property/ qcom,aux-clk-sync;
@ -1027,6 +1204,7 @@
perst-gpio = <&tlmm 90 0>;
wake-gpio = <&tlmm 54 0>;
/delete-property/ qcom,boot-option;
/delete-property/ qcom,l1-supported;
/delete-property/ qcom,l1ss-supported;
/delete-property/ qcom,aux-clk-sync;

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
* Copyright (c) 2015-2017, 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
@ -128,9 +128,9 @@
cam_vio-supply = <&pm8994_lvs1>;
cam_vana-supply = <&pm8994_l17>;
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
qcom,cam-vreg-min-voltage = <1300000 0 2500000>;
qcom,cam-vreg-max-voltage = <1300000 0 2500000>;
qcom,cam-vreg-op-mode = <105000 0 80000>;
qcom,cam-vreg-min-voltage = <1300000 0 1800000>;
qcom,cam-vreg-max-voltage = <1300000 0 1800000>;
qcom,cam-vreg-op-mode = <1300000 0 1800000>;
qcom,gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active &cam_sensor_rear_active>;
@ -167,9 +167,9 @@
cam_vio-supply = <&pm8994_lvs1>;
cam_vana-supply = <&pmi8994_boostbypass>;
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
qcom,cam-vreg-min-voltage = <1000000 0 3150000>;
qcom,cam-vreg-max-voltage = <1000000 0 3600000>;
qcom,cam-vreg-op-mode = <105000 0 80000>;
qcom,cam-vreg-min-voltage = <800000 0 3150000>;
qcom,cam-vreg-max-voltage = <800000 0 3600000>;
qcom,cam-vreg-op-mode = <800000 0 80000>;
qcom,gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active &cam_sensor_rear2_active>;
@ -208,9 +208,9 @@
cam_vio-supply = <&pm8994_lvs1>;
cam_vana-supply = <&pm8994_l29>;
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
qcom,cam-vreg-min-voltage = <1000000 0 2800000>;
qcom,cam-vreg-max-voltage = <1000000 0 2800000>;
qcom,cam-vreg-op-mode = <105000 0 80000>;
qcom,cam-vreg-min-voltage = <800000 0 2500000>;
qcom,cam-vreg-max-voltage = <800000 0 2500000>;
qcom,cam-vreg-op-mode = <800000 0 2500000>;
qcom,gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active &cam_sensor_front_active>;

View file

@ -280,6 +280,7 @@
0 0 0 0
0 0 0
0 0 0>;
qcom,clock-cntl-support;
qcom,clock-control = "NO_SET_RATE", "NO_SET_RATE",
"NO_SET_RATE", "NO_SET_RATE",
"INIT_RATE",

File diff suppressed because it is too large Load diff

View file

@ -523,14 +523,14 @@
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&compr>,
<&afe>, <&lsm>, <&routing>, <&pcmnoirq>,
<&loopback1>;
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-routing", "msm-pcm-dsp-noirq",
"msm-pcm-loopback.1";
asoc-cpu = <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_hdmi>,
<&dai_mi2s_sec>, <&dai_mi2s>, <&dai_mi2s_quat>,
@ -595,22 +595,9 @@
};
qcom,msm-dai-tdm-tert-rx {
qcom,msm-cpudai-tdm-group-num-ports = <5>;
qcom,msm-cpudai-tdm-group-port-id = <36896 36898 36900
36902 36904>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&tert_tdm_dout_active>;
pinctrl-1 = <&tert_tdm_dout_sleep>;
dai_tert_tdm_rx_4: qcom,msm-dai-q6-tdm-tert-rx-4 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36904>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
qcom,msm-dai-tdm-quat-rx {

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2014-2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2014-2016, 2017 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
@ -1950,4 +1950,21 @@
regulator-ramp-delay = <500>;
status = "disabled";
};
ncp6335d_vreg: ncp6335d-regulator@68 {
compatible = "onnn,ncp6335d-regulator";
reg = <0x68>;
vin-supply = <&hl7509_en_vreg>;
onnn,vsel = <0>;
onnn,slew-ns = <2666>;
onnn,step-size = <6250>;
onnn,min-slew-ns = <333>;
onnn,max-slew-ns = <2666>;
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1143750>;
onnn,min-setpoint = <600000>;
onnn,discharge-enable;
onnn,restore-reg;
status = "disabled";
};
};

View file

@ -1385,7 +1385,7 @@
iommus = <&anoc0_smmu>;
qcom,ep-wakeirq;
qcom,boot-option = <0x1>;
linux,pci-domain = <0>;
@ -1538,7 +1538,7 @@
iommus = <&anoc0_smmu>;
qcom,ep-wakeirq;
qcom,boot-option = <0x1>;
qcom,ep-latency = <10>;
@ -1691,7 +1691,7 @@
iommus = <&anoc0_smmu>;
qcom,ep-wakeirq;
qcom,boot-option = <0x1>;
qcom,ep-latency = <10>;
@ -1737,6 +1737,7 @@
mhi: qcom,mhi {
compatible = "qcom,mhi";
status = "disabled";
};
qcom,ipc-spinlock@740000 {
@ -3356,48 +3357,34 @@
qcom,msm-cpudai-tdm-group-id = <37137>;
qcom,msm-cpudai-tdm-group-num-ports = <4>;
qcom,msm-cpudai-tdm-group-port-id = <36881 36883 36885 36887>;
qcom,msm-cpudai-tdm-clk-rate = <0>;
qcom,msm-cpudai-tdm-clk-rate = <12288000>;
qcom,msm-cpudai-tdm-clk-internal = <0>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
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-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
dai_sec_tdm_tx_1: qcom,msm-dai-q6-tdm-sec-tx-1 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36883>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
dai_sec_tdm_tx_2: qcom,msm-dai-q6-tdm-sec-tx-2 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36885>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
dai_sec_tdm_tx_3: qcom,msm-dai-q6-tdm-sec-tx-3 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36887>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -3405,50 +3392,43 @@
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 = <4>;
qcom,msm-cpudai-tdm-group-port-id = <36896 36898 36900 36902>;
qcom,msm-cpudai-tdm-clk-rate = <0>;
qcom,msm-cpudai-tdm-group-num-ports = <5>;
qcom,msm-cpudai-tdm-group-port-id = <36896 36898 36900
36902 36904>;
qcom,msm-cpudai-tdm-clk-rate = <12288000>;
qcom,msm-cpudai-tdm-clk-internal = <0>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
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-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
dai_tert_tdm_rx_1: qcom,msm-dai-q6-tdm-tert-rx-1 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36898>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
dai_tert_tdm_rx_2: qcom,msm-dai-q6-tdm-tert-rx-2 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36900>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
dai_tert_tdm_rx_3: qcom,msm-dai-q6-tdm-tert-rx-3 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36902>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
dai_tert_tdm_rx_4: qcom,msm-dai-q6-tdm-tert-rx-4 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36904>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -3458,48 +3438,34 @@
qcom,msm-cpudai-tdm-group-id = <37153>;
qcom,msm-cpudai-tdm-group-num-ports = <4>;
qcom,msm-cpudai-tdm-group-port-id = <36897 36899 36901 36903>;
qcom,msm-cpudai-tdm-clk-rate = <0>;
qcom,msm-cpudai-tdm-clk-rate = <12288000>;
qcom,msm-cpudai-tdm-clk-internal = <0>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
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-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
dai_tert_tdm_tx_1: qcom,msm-dai-q6-tdm-tert-tx-1 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36899>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
dai_tert_tdm_tx_2: qcom,msm-dai-q6-tdm-tert-tx-2 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36901>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
dai_tert_tdm_tx_3: qcom,msm-dai-q6-tdm-tert-tx-3 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36903>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -3509,48 +3475,34 @@
qcom,msm-cpudai-tdm-group-id = <37168>;
qcom,msm-cpudai-tdm-group-num-ports = <4>;
qcom,msm-cpudai-tdm-group-port-id = <36912 36914 36916 36918>;
qcom,msm-cpudai-tdm-clk-rate = <0>;
qcom,msm-cpudai-tdm-clk-rate = <12288000>;
qcom,msm-cpudai-tdm-clk-internal = <0>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
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-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
dai_quat_tdm_rx_1: qcom,msm-dai-q6-tdm-quat-rx-1 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36914>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
dai_quat_tdm_rx_2: qcom,msm-dai-q6-tdm-quat-rx-2 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36916>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
dai_quat_tdm_rx_3: qcom,msm-dai-q6-tdm-quat-rx-3 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36918>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};
@ -3560,48 +3512,34 @@
qcom,msm-cpudai-tdm-group-id = <37169>;
qcom,msm-cpudai-tdm-group-num-ports = <4>;
qcom,msm-cpudai-tdm-group-port-id = <36913 36915 36917 36919>;
qcom,msm-cpudai-tdm-clk-rate = <0>;
qcom,msm-cpudai-tdm-clk-rate = <12288000>;
qcom,msm-cpudai-tdm-clk-internal = <0>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
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-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
dai_quat_tdm_tx_1: qcom,msm-dai-q6-tdm-quat-tx-1 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36915>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
dai_quat_tdm_tx_2: qcom,msm-dai-q6-tdm-quat-tx-2 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36917>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
dai_quat_tdm_tx_3: qcom,msm-dai-q6-tdm-quat-tx-3 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36919>;
qcom,msm-cpudai-tdm-sync-mode = <1>;
qcom,msm-cpudai-tdm-sync-src = <0>;
qcom,msm-cpudai-tdm-data-out = <0>;
qcom,msm-cpudai-tdm-invert-sync = <0>;
qcom,msm-cpudai-tdm-data-delay = <0>;
qcom,msm-cpudai-tdm-data-align = <0>;
};
};

View file

@ -1505,5 +1505,62 @@
qcom,bus-max = <0>;
};
};
qcom,gpu-pwrlevels-2 {
#address-cells = <1>;
#size-cells = <0>;
qcom,speed-bin = <2>;
qcom,initial-pwrlevel = <3>;
qcom,gpu-pwrlevel@0 {
reg = <0>;
qcom,gpu-freq = <510000000>;
qcom,bus-freq = <11>;
qcom,bus-min = <11>;
qcom,bus-max = <11>;
};
qcom,gpu-pwrlevel@1 {
reg = <1>;
qcom,gpu-freq = <401800000>;
qcom,bus-freq = <8>;
qcom,bus-min = <7>;
qcom,bus-max = <9>;
};
qcom,gpu-pwrlevel@2 {
reg = <2>;
qcom,gpu-freq = <315000000>;
qcom,bus-freq = <6>;
qcom,bus-min = <5>;
qcom,bus-max = <7>;
};
qcom,gpu-pwrlevel@3 {
reg = <3>;
qcom,gpu-freq = <214000000>;
qcom,bus-freq = <4>;
qcom,bus-min = <3>;
qcom,bus-max = <5>;
};
qcom,gpu-pwrlevel@4 {
reg = <4>;
qcom,gpu-freq = <133000000>;
qcom,bus-freq = <3>;
qcom,bus-min = <2>;
qcom,bus-max = <4>;
};
qcom,gpu-pwrlevel@5 {
reg = <5>;
qcom,gpu-freq = <27000000>;
qcom,bus-freq = <0>;
qcom,bus-min = <0>;
qcom,bus-max = <0>;
};
};
};
};

View file

@ -89,7 +89,7 @@
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>,
<&pcm_noirq>, <&cpe3>;
<&pcm_noirq>, <&cpe3>, <&trans_loopback>;
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
"msm-pcm-dsp.2", "msm-voip-dsp",
"msm-pcm-voice", "msm-pcm-loopback",
@ -97,7 +97,7 @@
"msm-pcm-afe", "msm-lsm-client",
"msm-pcm-routing", "msm-cpe-lsm",
"msm-compr-dsp", "msm-pcm-dsp-noirq",
"msm-cpe-lsm.3";
"msm-cpe-lsm.3", "msm-transcode-loopback";
asoc-cpu = <&dai_hdmi>, <&dai_dp>,
<&dai_mi2s0>, <&dai_mi2s1>,
<&dai_mi2s2>, <&dai_mi2s3>,
@ -222,14 +222,15 @@
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>,
<&pcm_noirq>;
<&pcm_noirq>, <&trans_loopback>;
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-compr-dsp", "msm-pcm-dsp-noirq",
"msm-transcode-loopback";
asoc-cpu = <&dai_hdmi>, <&dai_dp>,
<&dai_mi2s0>, <&dai_mi2s1>,
<&dai_mi2s2>, <&dai_mi2s3>,

View file

@ -334,19 +334,22 @@
qcom,gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_front_active>;
&cam_sensor_front_active &led_enable>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_front_suspend>;
&cam_sensor_front_suspend &led_disable>;
gpios = <&tlmm 14 0>,
<&tlmm 28 0>,
<&pm8998_gpios 9 0>;
<&pm8998_gpios 9 0>,
<&tlmm 21 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-flash-en = <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_VDIG",
"FLASH_EN";
qcom,sensor-position = <1>;
qcom,sensor-mode = <0>;
qcom,cci-master = <1>;
@ -356,6 +359,45 @@
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 = <270>;
qcom,led-flash-src = <&led_flash1>;
cam_vio-supply = <&pm8998_lvs1>;
cam_vana-supply = <&pm8998_l22>;
cam_vdig-supply = <&pm8998_s3>;
qcom,cam-vreg-name = "cam_vio", "cam_vana", "cam_vdig";
qcom,cam-vreg-min-voltage =
<0 2864000 1352000>;
qcom,cam-vreg-max-voltage =
<0 2864000 1352000>;
qcom,cam-vreg-op-mode = <0 80000 105000>;
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 16 0>,
<&tlmm 23 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 clk_mclk3_clk_src>,
<&clock_mmss clk_mmss_camss_mclk3_clk>;
clock-names = "cam_src_clk", "cam_clk";
qcom,clock-rates = <24000000 0>;
};
};
&pm8998_gpios {
gpio@c800 { /* GPIO 9 - CAMERA SENSOR 2 VDIG */

View file

@ -0,0 +1,29 @@
/* Copyright (c) 2017, 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/;
/plugin/;
#include <dt-bindings/clock/msm-clocks-8998.h>
#include <dt-bindings/regulator/qcom,rpm-smd-regulator.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include "msm8998-mdss-panels.dtsi"
#include "msm8998-cdp.dtsi"
/ {
model = "Qualcomm Technologies, Inc. MSM 8998 v1 CDP";
compatible = "qcom,msm8998-cdp", "qcom,msm8998", "qcom,cdp";
qcom,msm-id = <292 0x0>;
qcom,board-id = <1 0>;
};

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2016-2017, 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
@ -14,6 +14,7 @@
/dts-v1/;
#include "msm8998.dtsi"
#include "msm8998-mdss-panels.dtsi"
#include "msm8998-cdp.dtsi"
/ {

View file

@ -10,9 +10,8 @@
* GNU General Public License for more details.
*/
#include "msm8998-pinctrl.dtsi"
#include "msm8998-camera-sensor-cdp.dtsi"
/ {
&vendor {
bluetooth: bt_wcn3990 {
compatible = "qca,wcn3990";
qca,bt-vdd-io-supply = <&pm8998_s3>;
@ -258,6 +257,8 @@
qcom,mdss-dsi-bl-max-level = <4095>;
qcom,mdss-dsi-mode-sel-gpio-state = "dual_port";
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
qcom,partial-update-enabled = "single_roi";
qcom,panel-roi-alignment = <720 256 720 256 1440 256>;
};
&dsi_dual_nt35597_truly_video {

View file

@ -11,6 +11,12 @@
* GNU General Public License for more details.
*/
&soc {
/delete-node/qcom,camera-flash@0;
/delete-node/qcom,camera-flash@1;
/delete-node/gpio-regulator@0;
};
&soc {
tlmm: pinctrl@03400000 {
cam_sensor_rear_active: cam_sensor_rear_active {
@ -132,19 +138,17 @@
};
};
&soc {
/delete-node/gpio-regulator@0;
};
&cci {
/delete-node/qcom,camera@0;
/delete-node/qcom,camera@1;
/delete-node/qcom,camera@2;
/delete-node/qcom,camera@3;
/delete-node/qcom,eeprom@0;
/delete-node/qcom,eeprom@1;
/delete-node/qcom,eeprom@2;
/delete-node/qcom,actuator@0;
/delete-node/qcom,actuator@1;
/delete-node/qcom,tof@0;
/delete-node/qcom,ois@0;
};

View file

@ -11,6 +11,12 @@
* GNU General Public License for more details.
*/
&soc {
/delete-node/qcom,camera-flash@0;
/delete-node/qcom,camera-flash@1;
/delete-node/gpio-regulator@0;
};
&soc {
tlmm: pinctrl@03400000 {
cam_sensor_rear_active: cam_sensor_rear_active {
@ -170,19 +176,17 @@
};
};
&soc {
/delete-node/gpio-regulator@0;
};
&cci {
/delete-node/qcom,camera@0;
/delete-node/qcom,camera@1;
/delete-node/qcom,camera@2;
/delete-node/qcom,camera@3;
/delete-node/qcom,eeprom@0;
/delete-node/qcom,eeprom@1;
/delete-node/qcom,eeprom@2;
/delete-node/qcom,actuator@0;
/delete-node/qcom,actuator@1;
/delete-node/qcom,tof@0;
/delete-node/qcom,ois@0;
};

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
/* Copyright (c) 2015-2017, 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
@ -1590,7 +1590,7 @@
qcom,ep-latency = <10>;
qcom,ep-wakeirq;
qcom,boot-option = <0x1>;
linux,pci-domain = <0>;

View file

@ -10,8 +10,6 @@
* GNU General Public License for more details.
*/
#include "dsi-panel-sim-video.dtsi"
#include "dsi-panel-sim-dualmipi-video.dtsi"
#include "dsi-panel-nt35597-dualmipi-wqxga-video.dtsi"
#include "dsi-panel-nt35597-dualmipi-wqxga-cmd.dtsi"
#include "dsi-panel-nt35597-truly-dualmipi-wqxga-video.dtsi"
@ -85,21 +83,39 @@
};
&dsi_dual_nt35597_video {
qcom,mdss-dsi-panel-timings = [00 1c 08 07 23 22 07 07 05 03 04 00];
qcom,mdss-dsi-t-clk-post = <0x0d>;
qcom,mdss-dsi-t-clk-pre = <0x2d>;
qcom,mdss-dsi-panel-timings = [00 1a 04 06 0a 0a 05 06 05 03 04 00];
qcom,mdss-dsi-t-clk-post = <0x07>;
qcom,mdss-dsi-t-clk-pre = <0x25>;
qcom,mdss-dsi-tx-eot-append;
qcom,cmd-sync-wait-broadcast;
qcom,esd-check-enabled;
qcom,mdss-dsi-panel-status-check-mode = "bta_check";
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,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_cmd {
qcom,mdss-dsi-panel-timings = [00 1c 08 07 23 22 07 07 05 03 04 00];
qcom,mdss-dsi-t-clk-post = <0x0d>;
qcom,mdss-dsi-t-clk-pre = <0x2d>;
qcom,mdss-dsi-tx-eot-append;
qcom,cmd-sync-wait-broadcast;
qcom,esd-check-enabled;
qcom,mdss-dsi-panel-status-check-mode = "bta_check";
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_truly_video {
@ -118,6 +134,7 @@
qcom,mdss-dsi-panel-timings = [00 11 04 04 07 0c 04 04 03 03 04 00];
qcom,mdss-dsi-t-clk-post = <0x05>;
qcom,mdss-dsi-t-clk-pre = <0x1b>;
qcom,mdss-dsi-tx-eot-append;
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];
@ -126,12 +143,17 @@
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 = <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";
};
&dsi_nt35597_dsc_cmd {
qcom,mdss-dsi-panel-timings = [00 11 04 04 07 0c 04 04 03 03 04 00];
qcom,mdss-dsi-t-clk-post = <0x05>;
qcom,mdss-dsi-t-clk-pre = <0x1b>;
qcom,mdss-dsi-tx-eot-append;
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];
@ -146,6 +168,10 @@
qcom,mdss-dsi-panel-timings = [00 35 0a 0c 15 1b 09 0d 0a 03 04 00];
qcom,mdss-dsi-t-clk-post = <0x0d>;
qcom,mdss-dsi-t-clk-pre = <0x26>;
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";
};
&dsi_sharp_4k_dsc_cmd {

View file

@ -212,7 +212,7 @@
qcom,mdss-pp-offsets {
qcom,mdss-sspp-mdss-igc-lut-off = <0x2000>;
qcom,mdss-sspp-vig-pcc-off = <0x1780>;
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>;
@ -335,6 +335,7 @@
qcom,supply-max-voltage = <0>;
qcom,supply-enable-load = <0>;
qcom,supply-disable-load = <0>;
qcom,supply-lp-mode-disable-allowed;
};
};
@ -363,6 +364,7 @@
qcom,supply-max-voltage = <880000>;
qcom,supply-enable-load = <73400>;
qcom,supply-disable-load = <32>;
qcom,supply-lp-mode-disable-allowed;
};
};
@ -385,6 +387,8 @@
qcom,mdss-mdp = <&mdss_mdp>;
qcom,mdss-fb-map = <&mdss_fb0>;
qcom,null-insertion-enabled;
clocks = <&clock_mmss clk_mmss_mdss_byte0_clk>,
<&clock_mmss clk_mmss_mdss_pclk0_clk>,
<&clock_mmss clk_mmss_mdss_esc0_clk>,
@ -423,6 +427,8 @@
qcom,mdss-mdp = <&mdss_mdp>;
qcom,mdss-fb-map = <&mdss_fb0>;
qcom,null-insertion-enabled;
clocks = <&clock_mmss clk_mmss_mdss_byte1_clk>,
<&clock_mmss clk_mmss_mdss_pclk1_clk>,
<&clock_mmss clk_mmss_mdss_esc1_clk>,
@ -502,7 +508,16 @@
qcom,msm_ext_disp = <&msm_ext_disp>;
qcom,aux-cfg-settings = [00 13 00 10 0a 26 0a 03 8b 03];
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,core-supply-entries {
@ -651,5 +666,3 @@
qcom,pluggable;
};
};
#include "msm8998-mdss-panels.dtsi"

View file

@ -0,0 +1,29 @@
/* Copyright (c) 2017, 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/;
/plugin/;
#include <dt-bindings/clock/msm-clocks-8998.h>
#include <dt-bindings/regulator/qcom,rpm-smd-regulator.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include "msm8998-mdss-panels.dtsi"
#include "msm8998-mtp.dtsi"
/ {
model = "Qualcomm Technologies, Inc. MSM 8998 v1 MTP";
compatible = "qcom,msm8998-mtp", "qcom,msm8998", "qcom,mtp";
qcom,msm-id = <292 0x0>;
qcom,board-id = <8 0>;
};

Some files were not shown because too many files have changed in this diff Show more