Skip to content
This repository has been archived by the owner on Oct 5, 2018. It is now read-only.

Commit

Permalink
Merge branch 'in/bsp/dragonboard' into 96b/releases/2016.03-2
Browse files Browse the repository at this point in the history
Add support for DB410c

* in/bsp/dragonboard: (415 commits)
  usb: phy: msm: Fix state machine worker logic for OTG mode.
  arm64: dts: qcom: fix typo in usb id pins
  arm64: dts: qcom: add audio capture support
  ASoC: add audio routing support
  ASoC: qcom: apq8016-sbc: add mic support
  ASoC: qcom: add mic support
  ASoC: qcom: apq8016: set the correct max register for regmap
  ASoC: qcom: add generic bit masks for RDMA and WRDMA
  ASoC: qcom: add wrdma register definations
  ASoC: qcom: apq8016: add wrdma support
  ASoC: qcom: rename rdma_ch_bit_map to dma_ch_bit_map
  ASoC: qcom: add wrdma dma channel start
  ASoC: qcom: add mic related i2s control register defines
  ASoC: qcom: ipq806x: add wrdma related register offsets
  ASoC: qcom: ipq806x: add error in dma allocation.
  ASoC: qcom: pass direction to dma allocation
  ASoC: qcom: rename rdmactl_audif_start to dmactrl_audif_start
  ASoC: qcom: add wrdma register details to lpass_variant
  ASoC: qcom: use snd_dma_alloc/free* apis
  Add capture support to msm8x16-wcd codec
  ...
  • Loading branch information
idlethread committed Feb 8, 2016
2 parents b71cf23 + 15fddd0 commit 2b18bd0
Show file tree
Hide file tree
Showing 393 changed files with 96,632 additions and 1,982 deletions.
9 changes: 9 additions & 0 deletions Documentation/DMA-attributes.txt
Expand Up @@ -100,3 +100,12 @@ allocated by dma_alloc_attrs() function from individual pages if it can
be mapped as contiguous chunk into device dma address space. By
specifying this attribute the allocated buffer is forced to be contiguous
also in physical memory.

DMA_ATTR_STRONGLY_ORDERED
-------------------------

DMA_ATTR_STRONGLY_ORDERED allocates memory with a very restrictive type
of mapping (no unaligned accesses, no re-ordering, no write merging, no
buffering, no pre-fetching). This has severe performance penalties and
should not be used for general purpose DMA allocations. It should only
be used if one of the restrictions on strongly ordered memory is required.
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/arm/cpus.txt
Expand Up @@ -185,6 +185,8 @@ nodes to be present and contain the properties described below.
be one of:
"psci"
"spin-table"
"qcom,arm-cortex-acc"

# On ARM 32-bit systems this property is optional and
can be one of:
"allwinner,sun6i-a31"
Expand Down
19 changes: 19 additions & 0 deletions Documentation/devicetree/bindings/arm/msm/acc.txt
@@ -0,0 +1,19 @@
Application Processor Sub-system (APSS) Application Clock Controller (ACC)

The ACC provides clock, power domain, and reset control to a CPU. There is one ACC
register region per CPU within the APSS remapped region as well as an alias register
region that remaps accesses to the ACC associated with the CPU accessing the region.

Required properties:
- compatible: Must be "qcom,arm-cortex-acc"
- reg: The first element specifies the base address and size of
the register region. An optional second element specifies
the base address and size of the alias register region.

Example:

clock-controller@b088000 {
compatible = "qcom,arm-cortex-acc";
reg = <0x0b088000 0x1000>,
<0x0b008000 0x1000>;
}
65 changes: 65 additions & 0 deletions Documentation/devicetree/bindings/arm/msm/ids.txt
@@ -0,0 +1,65 @@
* MSM-ID

The qcom,msm-id entry specifies the MSM chipset and hardware revision. It can
optionally be an array of these to indicate multiple hardware that use the same
device tree. It is expected that the bootloader will use this information at
boot-up to decide which device tree to use when given multiple device trees,
some of which may not be compatible with the actual hardware. It is the
bootloader's responsibility to pass the correct device tree to the kernel.

PROPERTIES

- qcom,msm-id:
Usage: required
Value type: <prop-encoded-array> (<chipset_id, rev_id> [, <c2, r2> ..])
Definition:
The "chipset_id" consists of three fields as below:

bits 0-15 = The unique MSM chipset id.
bits 16-31 = Reserved. Should be 0

chipset_id is an exact match value

The "rev_id" is a chipset specific 32-bit id that represents
the version of the chipset.

The rev_id is a best match id. The bootloader will look for
the closest possible patch.

* BOARD-ID

The qcom,board-id entry specifies the board type and revision information. It
can optionally be an array of these to indicate multiple boards that use the
same device tree. It is expected that the bootloader will use this information
at boot-up to decide which device tree to use when given multiple device trees,
some of which may not be compatible with the actual hardware. It is the
bootloader's responsibility to pass the correct device tree to the kernel.

PROPERTIES

- qcom,board-id:
Usage: required
Value type: <prop-encoded-array> (<board_id, subtype_id> [, <b2, s2> ..])
Definition:
The "board_id" consists of three fields as below:

bits 31-24 = Unusued.
bits 23-16 = Platform Version Major
bits 15-8 = Platfrom Version Minor
bits 7-0 = Platform Type

Platform Type field is an exact match value. The Platform
Major/Minor field is a best match. The bootloader will look
for the closest possible match.

The "subtype_id" is unique to a Platform Type/Chipset ID. For
a given Platform Type, there will typically only be a single
board and the subtype_id will be 0. However in some cases board
variants may need to be distinquished by different subtype_id
values.

subtype_id is an exact match value.

EXAMPLE:
qcom,board-id = <15 2>;
qcom,msm-id = <0x1007e 0>;
7 changes: 7 additions & 0 deletions Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt
Expand Up @@ -21,10 +21,17 @@ PROPERTIES
the register region. An optional second element specifies
the base address and size of the alias register region.

- clock-output-names:
Usage: optional
Value type: <string>
Definition: Name of the output clock. Typically acpuX_aux where X is a
CPU number starting at 0.

Example:

clock-controller@2088000 {
compatible = "qcom,kpss-acc-v2";
reg = <0x02088000 0x1000>,
<0x02008000 0x1000>;
clock-output-names = "acpu0_aux";
};
28 changes: 28 additions & 0 deletions Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt
@@ -0,0 +1,28 @@
Krait Processor Sub-system (KPSS) Global Clock Controller (GCC)

PROPERTIES

- compatible:
Usage: required
Value type: <string>
Definition: should be one of:
"qcom,kpss-gcc"

- reg:
Usage: required
Value type: <prop-encoded-array>
Definition: base address and size of the register region

- clock-output-names:
Usage: required
Value type: <string>
Definition: Name of the output clock. Typically acpu_l2_aux indicating
an L2 cache auxiliary clock.

Example:

l2cc: clock-controller@2011000 {
compatible = "qcom,kpss-gcc";
reg = <0x2011000 0x1000>;
clock-output-names = "acpu_l2_aux";
};
38 changes: 38 additions & 0 deletions Documentation/devicetree/bindings/arm/msm/qcom,pvs.txt
@@ -0,0 +1,38 @@
Qualcomm Process Voltage Scaling Tables

The node name is required to be "qcom,pvs". There shall only be one
such node present in the root of the tree.

PROPERTIES

- qcom,pvs-format-a or qcom,pvs-format-b:
Usage: required
Value type: <empty>
Definition: Indicates the format of qcom,speedX-pvsY-bin-vZ properties.
If qcom,pvs-format-a is used the table is two columns
(frequency and voltage in that order). If qcom,pvs-format-b is used the table is three columns (frequency, voltage,
and current in that order).

- qcom,speedX-pvsY-bin-vZ:
Usage: required
Value type: <prop-encoded-array>
Definition: The PVS table corresponding to the speed bin X, pvs bin Y,
and version Z.
Example:

qcom,pvs {
qcom,pvs-format-a;
qcom,speed0-pvs0-bin-v0 =
< 384000000 950000 >,
< 486000000 975000 >,
< 594000000 1000000 >,
< 702000000 1025000 >,
< 810000000 1075000 >,
< 918000000 1100000 >,
< 1026000000 1125000 >,
< 1134000000 1175000 >,
< 1242000000 1200000 >,
< 1350000000 1225000 >,
< 1458000000 1237500 >,
< 1512000000 1250000 >;
};
25 changes: 25 additions & 0 deletions Documentation/devicetree/bindings/clock/qcom,a53cc
@@ -0,0 +1,25 @@
Qualcomm A53 Clock Controller Binding
------------------------------------------------
The A53 Clock Controller provides higher frequency clocks
and allows CPU frequency scaling on msm8916 based platforms.

Required properties :
- compatible : shall contain:
"qcom,a53cc"
- reg : shall contain base register location and length
of the A53 PLL
- #clock-cells : shall contain 1
- qcom,apcs : phandle of apcs syscon node

Example:
apcs: syscon@b011000 {
compatible = "syscon";
reg = <0x0b011000 0x1000>;
};

a53cc: clock-controller@0b016000 {
compatible = "qcom,clock-a53-msm8916";
reg = <0x0b016000 0x40>;
#clock-cells = <1>;
qcom,apcs = <&apcs>;
};
18 changes: 18 additions & 0 deletions Documentation/devicetree/bindings/clock/qcom,gcc.txt
Expand Up @@ -19,6 +19,11 @@ Required properties :
- #reset-cells : shall contain 1

Optional properties :
- Qualcomm TSENS (thermal sensor device) on some devices can
be part of GCC and hence the TSENS properties can also be
part of the GCC/clock-controller node.
For more details on the TSENS properties please refer
Documentation/devicetree/bindings/thermal/qcom-tsens.txt
- #power-domain-cells : shall contain 1

Example:
Expand All @@ -29,3 +34,16 @@ Example:
#reset-cells = <1>;
#power-domain-cells = <1>;
};

Example of GCC with TSENS properties:
clock-controller@900000 {
compatible = "qcom,gcc-apq8064";
reg = <0x00900000 0x4000>;
nvmem-cells = <&tsens_calib>, <&tsens_backup>;
nvmem-cell-names = "calib", "calib_backup";
qcom,tsens-slopes = <1176 1176 1154 1176 1111
1132 1132 1199 1132 1199 1132>;
#clock-cells = <1>;
#reset-cells = <1>;
#thermal-sensor-cells = <1>;
};
40 changes: 40 additions & 0 deletions Documentation/devicetree/bindings/clock/qcom,hfpll.txt
@@ -0,0 +1,40 @@
High-Frequency PLL (HFPLL)

PROPERTIES

- compatible:
Usage: required
Value type: <string>
Definition: must be "qcom,hfpll"

- reg:
Usage: required
Value type: <prop-encoded-array>
Definition: address and size of HPLL registers. An optional second
element specifies the address and size of the alias
register region.

- clock-output-names:
Usage: required
Value type: <string>
Definition: Name of the PLL. Typically hfpllX where X is a CPU number
starting at 0. Otherwise hfpll_Y where Y is more specific
such as "l2".

Example:

1) An HFPLL for the L2 cache.

clock-controller@f9016000 {
compatible = "qcom,hfpll";
reg = <0xf9016000 0x30>;
clock-output-names = "hfpll_l2";
};

2) An HFPLL for CPU0. This HFPLL has the alias register region.

clock-controller@f908a000 {
compatible = "qcom,hfpll";
reg = <0xf908a000 0x30>, <0xf900a000 0x30>;
clock-output-names = "hfpll0";
};
22 changes: 22 additions & 0 deletions Documentation/devicetree/bindings/clock/qcom,krait-cc.txt
@@ -0,0 +1,22 @@
Krait Clock Controller

PROPERTIES

- compatible:
Usage: required
Value type: <string>
Definition: must be one of:
"qcom,krait-cc-v1"
"qcom,krait-cc-v2"

- #clock-cells:
Usage: required
Value type: <u32>
Definition: must be 1

Example:

kraitcc: clock-controller {
compatible = "qcom,krait-cc-v1";
#clock-cells = <1>;
};
39 changes: 39 additions & 0 deletions Documentation/devicetree/bindings/clock/qcom,rpmcc.txt
@@ -0,0 +1,39 @@
Qualcomm RPM Clock Controller Binding
------------------------------------------------
The RPM is a dedicated hardware engine for managing the shared
SoC resources in order to keep the lowest power profile. It
communicates with other hardware subsystems via shared memory
and accepts clock requests, aggregates the requests and turns
the clocks on/off or scales them on demand.

Required properties :
- compatible : shall contain only one of the following. The generic
compatible "qcom,rpmcc" should be also included.

"qcom,rpmcc-msm8916", "qcom,rpmcc"
"qcom,rpmcc-msm8974", "qcom,rpmcc"
"qcom,rpmcc-apq8064", "qcom,rpmcc"
"qcom,rpmcc-apq8084", "qcom,rpmcc"

- #clock-cells : shall contain 1

Example:
smd {
compatible = "qcom,smd";

rpm {
interrupts = <0 168 1>;
qcom,ipc = <&apcs 8 0>;
qcom,smd-edge = <15>;

rpm_requests {
compatible = "qcom,rpm-msm8916";
qcom,smd-channels = "rpm_requests";

rpmcc: qcom,rpmcc {
compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
#clock-cells = <1>;
};
};
};
};
13 changes: 13 additions & 0 deletions Documentation/devicetree/bindings/display/msm/dsi.txt
Expand Up @@ -44,6 +44,17 @@ Optional properties:
- port: DSI controller output port. This contains one endpoint subnode, with its
remote-endpoint set to the phandle of the connected panel's endpoint.
See Documentation/devicetree/bindings/graph.txt for device graph info.
- qcom,dsi-logical-lane-swap: Character string to swap logical lane to physical
lane mapping. Supported lane mappings:
"0123": Logic 0->Phys 0; Logic 1->Phys 1; Logic 2->Phys 2; Logic 3->Phys 3;
"3012": Logic 3->Phys 0; Logic 0->Phys 1; Logic 1->Phys 2; Logic 2->Phys 3;
"2301": Logic 2->Phys 0; Logic 3->Phys 1; Logic 0->Phys 2; Logic 1->Phys 3;
"1230": Logic 1->Phys 0; Logic 2->Phys 1; Logic 3->Phys 2; Logic 0->Phys 3;
"0321": Logic 0->Phys 0; Logic 3->Phys 1; Logic 2->Phys 2; Logic 1->Phys 3;
"1032": Logic 1->Phys 0; Logic 0->Phys 1; Logic 3->Phys 2; Logic 2->Phys 3;
"2103": Logic 2->Phys 0; Logic 1->Phys 1; Logic 0->Phys 2; Logic 3->Phys 3;
"3210": Logic 3->Phys 0; Logic 2->Phys 1; Logic 1->Phys 2; Logic 0->Phys 3;
Default value is "0123", which means no lane swap.

DSI PHY:
Required properties:
Expand Down Expand Up @@ -129,6 +140,8 @@ Example:
remote-endpoint = <&panel_in>;
};
};

qcom,dsi-logical-lane-swap = "0123";
};

mdss_dsi_phy0: qcom,mdss_dsi_phy@fd922a00 {
Expand Down

0 comments on commit 2b18bd0

Please sign in to comment.