karo-tx-linux.git
2 years agoarm64: configs: add Ka-Ro txsd_defconfig qcom-4.4-lt
Lothar Waßmann [Thu, 5 Jan 2017 14:25:02 +0000 (15:25 +0100)]
arm64: configs: add Ka-Ro txsd_defconfig

2 years agoarm64: dts: add support for Ka-Ro electronics TXSD-410E module
Lothar Waßmann [Thu, 5 Jan 2017 13:57:39 +0000 (14:57 +0100)]
arm64: dts: add support for Ka-Ro electronics TXSD-410E module

The TXSD-410E is a SoM largely compatible to a Qualcomm APQ8016-SBC
board in a different form factor.
It features an LVDS output instead of HDMI and has no onboard USB hub.

2 years agodrm: i2c: add support for SN65DSI83
Lothar Waßmann [Thu, 5 Jan 2017 13:54:25 +0000 (14:54 +0100)]
drm: i2c: add support for SN65DSI83

The SN65DSI83 is a MIPI-DSI to LVDS converter.

2 years agoregulator: qcom_smd: fix overlooooong supply names
Lothar Waßmann [Thu, 5 Jan 2017 13:43:49 +0000 (14:43 +0100)]
regulator: qcom_smd: fix overlooooong supply names

The regulator framwork limits the name of a regulator supply to 32
characters:
|static struct device_node *of_get_regulator(struct device *dev, const char *supply)
|{
| struct device_node *regnode = NULL;
| char prop_name[32]; /* 32 is max size of property name */
|
| dev_dbg(dev, "Looking up %s-supply from device tree\n", supply);
|
| snprintf(prop_name, 32, "%s-supply", supply);
| regnode = of_parse_phandle(dev->of_node, prop_name, 0);

Thus, names like 'vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_l17_l18'
cannot be successfully looked up in DT. Use an abbreviated name.

2 years agoarm64: qcom: fix parameters of msm_cpu_init()
Lothar Waßmann [Thu, 5 Jan 2017 13:43:14 +0000 (14:43 +0100)]
arm64: qcom: fix parameters of msm_cpu_init()

2 years agommc: pwrseq_simple: remove unused variables (no functional change)
Lothar Waßmann [Thu, 5 Jan 2017 13:25:07 +0000 (14:25 +0100)]
mmc: pwrseq_simple: remove unused variables (no functional change)

The variable 'i' in mmc_pwrseq_simple_alloc() is unused and 'ret' is
used only once in a way that makes it unnecessary, so remove both
variables.

2 years agoremoteproc: qcom-tz: Fix uninitialzed variable bug
Lothar Waßmann [Thu, 5 Jan 2017 13:20:36 +0000 (14:20 +0100)]
remoteproc: qcom-tz: Fix uninitialzed variable bug

commit 691849c2ffa1 ("Move to new qcom_smem_get() api") left over a
check of a now uninitialized variable.
Remove the variable and do the check in the hopefully intended
manner.

2 years agodrm: msm: dsi: keep a reference on msm_host->device_node until driver removal
Lothar Waßmann [Thu, 5 Jan 2017 09:31:15 +0000 (10:31 +0100)]
drm: msm: dsi: keep a reference on msm_host->device_node until driver removal

Since the device_node pointer is stored for later usage, its refcount
must not be decreased to prevent deletion of the object while it may
still be referenced.

2 years agodmaengine: remove duplicate entry for QCOM_BAM_DMA
Lothar Waßmann [Thu, 5 Jan 2017 09:29:47 +0000 (10:29 +0100)]
dmaengine: remove duplicate entry for QCOM_BAM_DMA

2 years agoregulator: qcom: smd: remove duplicate Makefile and Kconfig entries for REGULATOR_QCO...
Lothar Waßmann [Wed, 4 Jan 2017 10:22:34 +0000 (11:22 +0100)]
regulator: qcom: smd: remove duplicate Makefile and Kconfig entries for REGULATOR_QCOM_SMD_RPM

2 years agopower: avs: cpr: add missing () around macro parameters
Lothar Waßmann [Wed, 4 Jan 2017 10:16:46 +0000 (11:16 +0100)]
power: avs: cpr: add missing () around macro parameters

2 years agousb: host: ehci-msm: backport from mainline kernel to make USB host functional
Lothar Waßmann [Wed, 4 Jan 2017 09:59:11 +0000 (10:59 +0100)]
usb: host: ehci-msm: backport from mainline kernel to make USB host functional

2 years agousb: phy: msm: use devm_ioremap_resource()
Lothar Waßmann [Wed, 4 Jan 2017 09:56:38 +0000 (10:56 +0100)]
usb: phy: msm: use devm_ioremap_resource()

2 years agosoc: qcom: add missing declaration for 'struct device_node'
Lothar Waßmann [Wed, 4 Jan 2017 09:54:54 +0000 (10:54 +0100)]
soc: qcom: add missing declaration for 'struct device_node'

3 years agowcn36xx: Implement print_reg indication
Bjorn Andersson [Thu, 30 Jun 2016 17:46:29 +0000 (10:46 -0700)]
wcn36xx: Implement print_reg indication

Some firmware versions sends a "print register indication", handle this
by printing out the content.

Cc: Nicolas Dechesne <ndec@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
3 years agocamss: Add format field handling in CSIPHY and CSID
Todor Tomov [Wed, 29 Jun 2016 08:17:42 +0000 (11:17 +0300)]
camss: Add format field handling in CSIPHY and CSID

If userspace does not request a specific field (request 'any' field)
set field 'none'.

Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
3 years agoarm64: configs: enable drivers for CSI camera
Nicolas Dechesne [Thu, 9 Jun 2016 09:48:10 +0000 (11:48 +0200)]
arm64: configs: enable drivers for CSI camera

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
3 years agoMerge remote-tracking branch 'todor/release/qcomlt-4.4-camss-demo2' into release...
Nicolas Dechesne [Thu, 23 Jun 2016 20:35:25 +0000 (22:35 +0200)]
Merge remote-tracking branch 'todor/release/qcomlt-4.4-camss-demo2' into release/qcomlt-4.4

3 years agodrm: msm: Add ASoC generic hdmi audio codec support.
Srinivas Kandagatla [Fri, 3 Jun 2016 13:14:54 +0000 (14:14 +0100)]
drm: msm: Add ASoC generic hdmi audio codec support.

This patch adds support to generic audio codec via
ASoC hdmi-codec infrastucture which is merged recently.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
3 years agoRevert "WIP: drm: msm: add proper hdmi codec driver."
Srinivas Kandagatla [Thu, 9 Jun 2016 15:37:26 +0000 (16:37 +0100)]
Revert "WIP: drm: msm: add proper hdmi codec driver."

This reverts commit 41a0cf65aab96d0d57c2ce84bf522ffde8cfa15d.

3 years agodefconfig: include mainline audio codec in defconfig
Srinivas Kandagatla [Thu, 9 Jun 2016 15:32:37 +0000 (16:32 +0100)]
defconfig: include mainline audio codec in defconfig

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
3 years agoarm64: dts: sync up with new wcd codec bindings.
Srinivas Kandagatla [Thu, 9 Jun 2016 15:21:06 +0000 (16:21 +0100)]
arm64: dts: sync up with new wcd codec bindings.

This patch sync's up audio dt entries with latest wcd codec bindings.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
3 years agoASoC: msm8916: Add msm8916-wcd codec driver
Srinivas Kandagatla [Wed, 25 May 2016 22:17:04 +0000 (23:17 +0100)]
ASoC: msm8916: Add msm8916-wcd codec driver

This patch adds support to msm8916-wcd codec.

msm8916-wcd codec is found in Qualcomm msm8916 and apq8016 processors.
This codec IP is split in to two parts(Digital & Analog), Analog part
is integrated in to PMIC PM8916 and the digital part is integrated into
Application processor. Register access to the analog part is done via
SPMI interface to PMIC, and registers on the Application processor are
memory mapped. Data transfer between Analog and Digital Die is done via
a internal bus called PDM.

This codec support includes:
 - 3 Microphones: Primary Mic(Handset mic), Headset Mic and Secondary Mic.
 - 2 Digital Microphones.
 - 2 Mic Bias Circuits.
 - Earpiece
 - Headset
 - Loud Speaker.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
3 years agoASoC: Introduce SOC_SINGLE_S8_TLV() macro
Srinivas Kandagatla [Wed, 25 May 2016 21:57:54 +0000 (22:57 +0100)]
ASoC: Introduce SOC_SINGLE_S8_TLV() macro

This patch introduces SOC_SINGLE_S8_TLV() macro for volume control
on chips which supports both negative and positive gains with sign
bit on a 8 bit register, Gain ranges from -128 to +127 with a
predefined step size.
Currently we only have support to DOUBLE_S8_TLV() which does not fit
for cases where we just have separate gain control register for each
channel.

One of the Qualcomm SOC msm8916 has such gain control register whose gain
range is from -38.4dB to +38.4dB with step size of 0.3dB.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
3 years agoASoC: msm8916: Add codec Device Tree bindings.
Srinivas Kandagatla [Tue, 16 Feb 2016 17:32:30 +0000 (17:32 +0000)]
ASoC: msm8916: Add codec Device Tree bindings.

This patch adds DT bindings required for msm8916 codec which is
integrated in msm8916 and apq8016 SOCs.

Codec IP is divided into two parts, first analog which is integrated
in pmic pm8916 and secondly digital part which is integrated into
application processor. Codec register controls are also split across
pmic an lpass. Analog part is controlled via spmi bus to pmic, registers
on the Application processor are memory mapped.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
3 years agoRevert "sound: codec: Add support to msm8x16_wcd codec."
Srinivas Kandagatla [Wed, 8 Jun 2016 16:52:14 +0000 (17:52 +0100)]
Revert "sound: codec: Add support to msm8x16_wcd codec."

This reverts commit d2a8ba448f618be05cd7a05927322df38fed4faa.

3 years agoRevert "Add capture support to msm8x16-wcd codec"
Srinivas Kandagatla [Wed, 8 Jun 2016 16:52:08 +0000 (17:52 +0100)]
Revert "Add capture support to msm8x16-wcd codec"

This reverts commit 822b0d84b73e1913a63ceeeefdede4f661815fef.

3 years agoRevert "ASoC: codec: msm8x16: check return value of msm8x16_wcd_codec_parse_dt"
Srinivas Kandagatla [Wed, 8 Jun 2016 16:52:02 +0000 (17:52 +0100)]
Revert "ASoC: codec: msm8x16: check return value of msm8x16_wcd_codec_parse_dt"

This reverts commit 79ef143c925e5151433fd6dbba7c8d7300e6a511.

3 years agoRevert "ASoC: codec: msm8x16: enable regulators before accessing registers"
Srinivas Kandagatla [Wed, 8 Jun 2016 16:51:52 +0000 (17:51 +0100)]
Revert "ASoC: codec: msm8x16: enable regulators before accessing registers"

This reverts commit 7088059db53c99f5ca57469eb347c78f9f7e8b62.

3 years ago.gitignore: ignore artifacts from make deb-pkg
Nicolas Dechesne [Thu, 23 Jun 2016 15:25:02 +0000 (17:25 +0200)]
.gitignore: ignore artifacts from make deb-pkg

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
3 years agoMerge branch 'srini/qcomlt-4.4-wcnss-q6v5-sync' into release/qcomlt-4.4
Nicolas Dechesne [Thu, 23 Jun 2016 13:39:23 +0000 (15:39 +0200)]
Merge branch 'srini/qcomlt-4.4-wcnss-q6v5-sync' into release/qcomlt-4.4

3 years agoarm64: dts: fixup SMD RPM CLK names
Nicolas Dechesne [Thu, 23 Jun 2016 13:23:37 +0000 (15:23 +0200)]
arm64: dts: fixup SMD RPM CLK names

SMD RPM CLK names were changed in 564b5c9fdcf3e7752d66a2aba0f813b9ca013262,
compared to the previous version of the patch that we had.

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
3 years agoRevert "tty: serial: msm: Don't reconfigure same baud rate"
Nicolas Dechesne [Thu, 23 Jun 2016 10:30:20 +0000 (12:30 +0200)]
Revert "tty: serial: msm: Don't reconfigure same baud rate"

This reverts commit 3acdf16463fed848d4f87fb827043b27adc79c25.

As it breaks serial console on SD 600 eval and IFC6410.

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
3 years agoARM: dts: sd-600eval: Add regulators for q6 pil
Srinivas Kandagatla [Wed, 22 Jun 2016 13:56:33 +0000 (14:56 +0100)]
ARM: dts: sd-600eval: Add regulators for q6 pil

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
3 years agoarm64: dts: qcom: msm8916: Use fixed factor xo clock
Georgi Djakov [Thu, 14 Apr 2016 14:34:49 +0000 (17:34 +0300)]
arm64: dts: qcom: msm8916: Use fixed factor xo clock

The rpmcc driver is providing the XO clock, which is the parent of almost
all clocks. But during boot, this driver may probe later and leave most of
the clocks without parent. The common clock framework currently reports
invalid rate for orphan clocks and this may confuse drivers.

To resolve this, use fixed clocks registration until we have some support
to deal with the this issue. Removing the generic rpmcc compatible is
enough to switch back to fixed factor XO clock.

Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
3 years agoclk: qcom: Add support for RPM Clocks
Georgi Djakov [Thu, 14 Apr 2016 14:34:48 +0000 (17:34 +0300)]
clk: qcom: Add support for RPM Clocks

This adds initial support for clocks controlled by the Resource
Power Manager (RPM) processor on some Qualcomm SoCs, which use
the qcom_rpm driver to communicate with RPM.
Such platforms are apq8064 and msm8960.

Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
3 years agoclk: qcom: Add support for SMD-RPM Clocks
Georgi Djakov [Thu, 14 Apr 2016 14:34:47 +0000 (17:34 +0300)]
clk: qcom: Add support for SMD-RPM Clocks

This adds initial support for clocks controlled by the Resource
Power Manager (RPM) processor on some Qualcomm SoCs, which use
the qcom_smd_rpm driver to communicate with RPM.
Such platforms are msm8916, apq8084 and msm8974.

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.

This driver is based on the codeaurora.org driver:
https://www.codeaurora.org/cgit/quic/la/kernel/msm-3.10/tree/drivers/clk/qcom/clock-rpm.c

Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
3 years agoRevert "clk: qcom: Add support for SMD-RPM Clocks"
Srinivas Kandagatla [Wed, 22 Jun 2016 13:46:30 +0000 (14:46 +0100)]
Revert "clk: qcom: Add support for SMD-RPM Clocks"

This reverts commit 8f369b2a856d1d26b9bc59c907c992d36f29e0ae.

3 years agoRevert "clk: qcom: Add support for RPM Clocks"
Srinivas Kandagatla [Wed, 22 Jun 2016 13:46:21 +0000 (14:46 +0100)]
Revert "clk: qcom: Add support for RPM Clocks"

This reverts commit 8fd9b240a66f2489d2cbb4e4d9e2a6a13a3726d9.

3 years agoRevert "clk: qcom: Add support for msm8974 RPM-SMD clocks"
Srinivas Kandagatla [Wed, 22 Jun 2016 13:44:39 +0000 (14:44 +0100)]
Revert "clk: qcom: Add support for msm8974 RPM-SMD clocks"

This reverts commit 7d74cab904d0bd65eccbfd4871b4c3b08c91e2c7.

3 years agoRevert "clk: qcom: Add support for apq8084 RPM-SMD clocks"
Srinivas Kandagatla [Wed, 22 Jun 2016 13:44:33 +0000 (14:44 +0100)]
Revert "clk: qcom: Add support for apq8084 RPM-SMD clocks"

This reverts commit 7d8517906b7667e54708b40d1a6483b5bd12313c.

3 years agodrivers: bluetooth: fix btqcomsmd driver compatible name
Nicolas Dechesne [Wed, 22 Jun 2016 16:12:44 +0000 (18:12 +0200)]
drivers: bluetooth: fix btqcomsmd driver compatible name

The binding merged upstream specifies that the compatible should be
qcom,wcnss-bt, so update wherever it's needed.

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
3 years agoARM: dts: sd-600eval: enable mdp
Srinivas Kandagatla [Wed, 22 Jun 2016 11:29:52 +0000 (12:29 +0100)]
ARM: dts: sd-600eval: enable mdp

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
3 years agoARM: dts: ifc6410: enable q6 dsp node
Srinivas Kandagatla [Wed, 22 Jun 2016 11:29:51 +0000 (12:29 +0100)]
ARM: dts: ifc6410: enable q6 dsp node

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
3 years agoARM: dts: qcom: rename wcn remoteproc node
Nicolas Dechesne [Wed, 22 Jun 2016 07:47:06 +0000 (09:47 +0200)]
ARM: dts: qcom: rename wcn remoteproc node

Use wcnss@ instead, since this is the name name we use on other boards using WCN
, such as DragonBoard 410c.

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
3 years agoarm: configs: enable BT QCOM SMD
Nicolas Dechesne [Wed, 22 Jun 2016 07:06:40 +0000 (09:06 +0200)]
arm: configs: enable BT QCOM SMD

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
3 years agoarm: configs: enable WCN36xx driver in qcom_defconfig
Nicolas Dechesne [Tue, 21 Jun 2016 09:36:08 +0000 (11:36 +0200)]
arm: configs: enable WCN36xx driver in qcom_defconfig

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
3 years agoarm: configs: enable QCOM drivers in qcom_defconfig
Nicolas Dechesne [Tue, 21 Jun 2016 08:50:58 +0000 (11:50 +0300)]
arm: configs: enable QCOM drivers in qcom_defconfig

* all remoteproc drivers
* mainline implementation for SMS and SMP2P

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
3 years agoremoteproc: set MBA_FIRMWARE_NAME to mba.mbn
Nicolas Dechesne [Thu, 9 Jun 2016 08:57:09 +0000 (10:57 +0200)]
remoteproc: set MBA_FIRMWARE_NAME to mba.mbn

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
3 years agoremoteproc: qcom: Merge cleanup and fixup from the future
Bjorn Andersson [Fri, 17 Jun 2016 04:08:17 +0000 (21:08 -0700)]
remoteproc: qcom: Merge cleanup and fixup from the future

This incorporates cleanups done in preparation for mainline submission;
halt regs comes from the tcsr syscon, the mdt loader uses
rproc_da_to_va() to simplify the api, supplies are handled, requesting
stop is implemented and a few minor cleanups of the DT binding.

Also included is a fix for an issue triggered by the latest DB410c
firmware, where using the mpss_region for verification of the mdt header
results in a timeout on verifying the rest of the modem firmware.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agogpio: Drop smp2p and smsm implementations
Bjorn Andersson [Thu, 9 Jun 2016 05:51:04 +0000 (22:51 -0700)]
gpio: Drop smp2p and smsm implementations

The smem state implementations where rejected by the GPIO maintainer and
has been superseeded. Remove these old and rejected implementations.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoRevert "soc: qcom: Stub IPCRTR client driver"
Bjorn Andersson [Tue, 7 Jun 2016 00:01:02 +0000 (17:01 -0700)]
Revert "soc: qcom: Stub IPCRTR client driver"

This reverts commit 38f515b2f0ee21b27bed1fd36f6710c1ef907765.

QRTR has been backported, so we don't need to keep this stub driver.

3 years agoARM64: dts: qcom: msm8916: Drop depricated smem state nodes
Bjorn Andersson [Thu, 9 Jun 2016 05:48:39 +0000 (22:48 -0700)]
ARM64: dts: qcom: msm8916: Drop depricated smem state nodes

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoARM64: dts: qcom: msm8916: Update wcnss nodes
Bjorn Andersson [Thu, 9 Jun 2016 05:47:52 +0000 (22:47 -0700)]
ARM64: dts: qcom: msm8916: Update wcnss nodes

The WCNSS remoteproc and hw blocks have updated bindings, so update the
dts.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoARM64: dts: qcom: msm8916: Clean up Hexagon PIL node
Bjorn Andersson [Thu, 9 Jun 2016 05:47:12 +0000 (22:47 -0700)]
ARM64: dts: qcom: msm8916: Clean up Hexagon PIL node

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoARM64: dts: msm8916: Add smsm and smp2p nodes
Bjorn Andersson [Wed, 24 Feb 2016 23:12:06 +0000 (15:12 -0800)]
ARM64: dts: msm8916: Add smsm and smp2p nodes

This patch adds the smsm and smp2p nodes for the hexagon and wcnss
cores.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoARM: dts: qcom: apq8064: Update to match latest bindings
Bjorn Andersson [Tue, 7 Jun 2016 16:29:29 +0000 (09:29 -0700)]
ARM: dts: qcom: apq8064: Update to match latest bindings

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoARM: dts: qcom: db600c: Enable wcnss
Bjorn Andersson [Tue, 7 Jun 2016 16:29:03 +0000 (09:29 -0700)]
ARM: dts: qcom: db600c: Enable wcnss

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoARM: dts: qcom: db600c: Enable wcnss
Bjorn Andersson [Tue, 7 Jun 2016 04:56:48 +0000 (21:56 -0700)]
ARM: dts: qcom: db600c: Enable wcnss

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoARM: dts: apq8064: Add wcnss wifi and bt nodes
Bjorn Andersson [Mon, 29 Feb 2016 19:40:52 +0000 (11:40 -0800)]
ARM: dts: apq8064: Add wcnss wifi and bt nodes

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoARM: dts: apq8064: Add wcnss memory and remoteproc nodes
Bjorn Andersson [Mon, 29 Feb 2016 19:38:49 +0000 (11:38 -0800)]
ARM: dts: apq8064: Add wcnss memory and remoteproc nodes

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoARM: dts: qcom: apq8064: Add smd node and all edges
Bjorn Andersson [Tue, 29 Mar 2016 03:37:04 +0000 (20:37 -0700)]
ARM: dts: qcom: apq8064: Add smd node and all edges

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
(cherry picked from commit 2afc5287c50e013c46e07413c066920dc7f55a91)

3 years agoARM: dts: qcom: apq8064: Add complete smsm node
Bjorn Andersson [Tue, 29 Mar 2016 03:37:03 +0000 (20:37 -0700)]
ARM: dts: qcom: apq8064: Add complete smsm node

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
(cherry picked from commit b4d4582fa6959ee494b2146522f1edd72ba6218d)

3 years agoARM: dts: qcom: apq8064: Add syscon for sic-non-secure
Bjorn Andersson [Tue, 29 Mar 2016 03:37:02 +0000 (20:37 -0700)]
ARM: dts: qcom: apq8064: Add syscon for sic-non-secure

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
(cherry picked from commit b9e4c5e6ee26a906fa8514467b5abb9655c3ffdc)

3 years agoremoteproc: qcom: Driver for the self-authenticating Hexagon v5
Bjorn Andersson [Mon, 5 Jan 2015 18:10:08 +0000 (10:10 -0800)]
remoteproc: qcom: Driver for the self-authenticating Hexagon v5

This initial hack powers the q6v5, boots and authenticate the mba and
use that to load the mdt and subsequent bXX files.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agofirmware: qcom-scm: Expose mss_restart through a reset-controller
Bjorn Andersson [Thu, 9 Jun 2016 05:24:16 +0000 (22:24 -0700)]
firmware: qcom-scm: Expose mss_restart through a reset-controller

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agomac80211: Make addr const in SET_IEEE80211_PERM_ADDR()
Bjorn Andersson [Thu, 24 Dec 2015 08:33:26 +0000 (00:33 -0800)]
mac80211: Make addr const in SET_IEEE80211_PERM_ADDR()

Make the addr parameter const in SET_IEEE80211_PERM_ADDR() to save
clients from having to cast away a const qualifier.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
3 years agowcn36xx: Disable power save
Bjorn Andersson [Mon, 11 Jan 2016 18:33:27 +0000 (10:33 -0800)]
wcn36xx: Disable power save

Enabling power save results in extremely long ping times and stalling
transfers. So disable it for not until we can figure out how to work
around this.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agowcn36xx: Replace with latest development version
Bjorn Andersson [Tue, 7 Jun 2016 04:59:29 +0000 (21:59 -0700)]
wcn36xx: Replace with latest development version

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agosoc: qcom: wcnss_ctrl: Make wcnss_ctrl parent the other components
Bjorn Andersson [Thu, 25 Feb 2016 16:09:15 +0000 (08:09 -0800)]
soc: qcom: wcnss_ctrl: Make wcnss_ctrl parent the other components

We need the signal from wcnss_ctrl indicating that the firmware is up
and running before we can communicate with the other components of the
chip. So make these other components children of the wcnss_ctrl device,
so they can be probed in order.

The process seems to take between 1/2-5 seconds, so this is done in a
worker, instead of holding up the probe.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoqrtr: smd: Return to new SMD api
Bjorn Andersson [Tue, 7 Jun 2016 04:52:46 +0000 (21:52 -0700)]
qrtr: smd: Return to new SMD api

Fixes: d9552842afd7 ("net: Add Qualcomm IPC router")
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agosound: qcom: qdsp6: apr: Clean up SMD integration
Bjorn Andersson [Tue, 7 Jun 2016 04:50:54 +0000 (21:50 -0700)]
sound: qcom: qdsp6: apr: Clean up SMD integration

When the SMD driver probes the channel is up, so we don't need to query
the internals of the qcom_smd_channel for this information.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoBluetooth: Introduce Qualcomm WCNSS SMD based HCI driver
Bjorn Andersson [Wed, 30 Sep 2015 22:31:13 +0000 (15:31 -0700)]
Bluetooth: Introduce Qualcomm WCNSS SMD based HCI driver

The Qualcomm WCNSS chip provides two SMD channels to the BT core; one
for command and one for event packets. This driver exposes the two
channels as a hci device.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agosoc: qcom: smd: Squash away the last differences from v4.7-rc1
Bjorn Andersson [Tue, 7 Jun 2016 03:52:09 +0000 (20:52 -0700)]
soc: qcom: smd: Squash away the last differences from v4.7-rc1

This merges awy the last differences between the 4.4 release branch and
v4.7-rc1.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agosoc: qcom: smd: Make callback pass channel reference
Bjorn Andersson [Tue, 29 Mar 2016 04:35:22 +0000 (21:35 -0700)]
soc: qcom: smd: Make callback pass channel reference

By passing the smd channel reference to the callback, rather than the
smd device, we can open additional smd channels from sub-devices of smd
devices.

Also updates the two smd clients today found in mainline.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
(cherry picked from commit b853cb9628bfbcc4017da46d5f5b46e3eba9d8c6)

3 years agoarm64: configs: switch to mainline implementation of QCOM SMSM and SMP2P
Nicolas Dechesne [Fri, 22 Apr 2016 08:34:20 +0000 (10:34 +0200)]
arm64: configs: switch to mainline implementation of QCOM SMSM and SMP2P

The current release branch include both the old and the upstream implementation
of these drivers, let's switch to mainline.

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
3 years agoarm64: configs: enable QCOM_WCNSS PIL and CRTL
Nicolas Dechesne [Fri, 22 Apr 2016 07:51:51 +0000 (09:51 +0200)]
arm64: configs: enable QCOM_WCNSS PIL and CRTL

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
3 years agowcn36xx: Clean up platform integration
Bjorn Andersson [Wed, 20 Apr 2016 03:54:42 +0000 (20:54 -0700)]
wcn36xx: Clean up platform integration

With the introduction of the upstream wcnss remoteproc driver we do iris
xo calibration before we boot the wcnss - as it should have been done
from the beginning.

This patch cleans out the iris xo calibration code and simplifies the
platform integration implementation.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agosoc: qcom: wcnss_ctrl: Expose the cbc status to others
Bjorn Andersson [Wed, 20 Apr 2016 04:04:15 +0000 (21:04 -0700)]
soc: qcom: wcnss_ctrl: Expose the cbc status to others

The prima driver needs a way to wait for the wcnss firmware to become
available, it does this by repeatedly querying the wcnss control driver
if we've reached cbc (cold boot completed).

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoARM64: dts: qcom: Update wcnss nodes
Bjorn Andersson [Wed, 20 Apr 2016 03:51:52 +0000 (20:51 -0700)]
ARM64: dts: qcom: Update wcnss nodes

Update the wcnss nodes to match the new bindings.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoremoteproc: qcom-tz: Use new PAS api
Bjorn Andersson [Wed, 20 Apr 2016 01:44:11 +0000 (18:44 -0700)]
remoteproc: qcom-tz: Use new PAS api

The PAS api should not carry the clients device handle, as the metadata
allocated should be tied to the scm platform_device.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoqcom-scm: Align PAS api with "upstream" implementation
Bjorn Andersson [Wed, 20 Apr 2016 01:42:10 +0000 (18:42 -0700)]
qcom-scm: Align PAS api with "upstream" implementation

This aligns the PAS implementation with the patches heading upstream,
in particular tying the dma allocation in pas_init_image to the scm
platform_device rather then the caller.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agosoc: qcom: wcnss_ctrl: Make wcnss_ctrl parent the other components
Bjorn Andersson [Thu, 25 Feb 2016 16:09:15 +0000 (08:09 -0800)]
soc: qcom: wcnss_ctrl: Make wcnss_ctrl parent the other components

This is a hacked up version of the patch sent to LKML, as I don't want
to change the smd API in the release branch.

We need the signal from wcnss_ctrl indicating that the firmware is up
and running before we can communicate with the other components of the
chip. So make these other components children of the wcnss_ctrl device,
so they can be probed in order.

The process seems to take between 1/2-5 seconds, so this is done in a
worker, instead of holding up the probe.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agosoc: qcom: smem: Use write-combine remap for SMEM
Bjorn Andersson [Wed, 9 Mar 2016 11:23:23 +0000 (18:23 +0700)]
soc: qcom: smem: Use write-combine remap for SMEM

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoremoteproc: qcom: Introduce WCNSS peripheral image loader
Bjorn Andersson [Sun, 13 Sep 2015 00:31:17 +0000 (17:31 -0700)]
remoteproc: qcom: Introduce WCNSS peripheral image loader

This introduces the peripheral image loader, for loading WCNSS firmware
and boot the core on e.g. MSM8974. The firmware is verified and booted
with the help of the Peripheral Authentication System (PAS) in
TrustZone.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
3 years agoremoteproc: debugfs: Add ability to boot remote processor using debugfs
Lee Jones [Tue, 12 Jan 2016 12:46:17 +0000 (12:46 +0000)]
remoteproc: debugfs: Add ability to boot remote processor using debugfs

This functionality is especially useful during the testing phase.  When
used in conjunction with Mailbox's Test Framework we can trivially conduct
end-to-end testing i.e. boot co-processor, send and receive messages to
the co-processor, then shut it down again (repeat as required).

Signed-off-by: Ludovic Barre <ludovic.barre@st.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoMerge branch 'sdcard-4.4' into release/qcomlt-4.4
Nicolas Dechesne [Fri, 17 Jun 2016 10:11:44 +0000 (13:11 +0300)]
Merge branch 'sdcard-4.4' into release/qcomlt-4.4

3 years agotty: serial: msm: Don't reconfigure same baud rate
Bjorn Andersson [Thu, 16 Jun 2016 18:24:35 +0000 (11:24 -0700)]
tty: serial: msm: Don't reconfigure same baud rate

msm_set_termios() is called whenever the tty is opened. Setting the baud
rate requires a full reset of the msm serial block, even when the rate
is unchanged. In the case when the same uart is used as console this
reset will discard any console output data still being clocked out of
the TX fifo.

By skipping the rate-change in the case where the baud rate is unchanged
since last request we can avoid the reset and the discarding of the
data.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoregulator: qcom_smd: add regulator ops for pm8941 lnldo
Srinivas Kandagatla [Fri, 3 Jun 2016 11:23:09 +0000 (12:23 +0100)]
regulator: qcom_smd: add regulator ops for pm8941 lnldo

After "regulator: qcom_smd: add list_voltage callback" patch adding
pm8941 lnldo regulators would bug on list_voltages as it is a fixed
regulator without any linear range.
This patch fixes that issue by adding dedicated ops for pm8941 lnldo
without list_voltages callback.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
3 years agoregulator: qcom_smd: add list_voltage callback
Srinivas Kandagatla [Thu, 2 Jun 2016 10:23:15 +0000 (11:23 +0100)]
regulator: qcom_smd: add list_voltage callback

This patch adds support to list_voltage callback, so that consumers
like mmc core, can get information of supported voltage range.

Without this patch there is no way for mmc core to know this voltage range.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
3 years agommc: sdhci-msm: Add support for UHS cards
Georgi Djakov [Fri, 10 Jun 2016 12:00:50 +0000 (15:00 +0300)]
mmc: sdhci-msm: Add support for UHS cards

Enabling support for ultra high speed mode cards requires some
voltage switching and interaction with the PMIC via a special
power IRQ. Add support for this.

Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
3 years agommc: sdhci-msm: use sdhci_pltfm_init for private allocation
Jisheng Zhang [Tue, 16 Feb 2016 13:08:22 +0000 (21:08 +0800)]
mmc: sdhci-msm: use sdhci_pltfm_init for private allocation

Commit 0e748234293f ("mmc: sdhci: Add size for caller in init+register")
allows users of sdhci_pltfm to allocate private space in calls to
sdhci_pltfm_init+sdhci_pltfm_register. This patch migrates sdhci-msm
to this allocation.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: sdhci-msm: factorise sdhci_msm_pdata outisde of sdhci_msm_host
Jisheng Zhang [Tue, 16 Feb 2016 13:08:21 +0000 (21:08 +0800)]
mmc: sdhci-msm: factorise sdhci_msm_pdata outisde of sdhci_msm_host

There's no need to allocate one sdhci_msm_pdata for each sdhci_msm_host.
This patch removes the sdhci_msm_pdata member from sdhci_msm_host and
uses one static global sdhci_msm_pdata for all sdhci msm hosts. It also
marks sdhci_msm_ops as const.

Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agoARM: dts: sd_600eval: Fix eMMC lockup issue
Parth Pancholi [Fri, 10 Jun 2016 18:19:55 +0000 (19:19 +0100)]
ARM: dts: sd_600eval: Fix eMMC lockup issue

This board locks up if we stress test the eMMC, as the regulator s4 is
unable to supply enough current for all the peripherials attached to it.
As this supply is wired up to most of the peripherials including DDR,
it resulted in such lockup.

This patch fixes this issue by setting s4 regulator correctly with
Auto power mode.

Reported-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
[Srinivas Kandagatla: rewrote the change log]
Tested-by: Girish Sharma <girish.sharma@einfochips.com>
Signed-off-by: Parth Pancholi <parth.pancholi@einfochips.com>
3 years agoARM: dts: apq8064: rename db600c to SD_600eval
Srinivas Kandagatla [Fri, 10 Jun 2016 18:19:54 +0000 (19:19 +0100)]
ARM: dts: apq8064: rename db600c to SD_600eval

This board has been renamed recently and announced at
https://eragon.einfochips.com/products/sd-600eval.html

So rename this board files so that it reflects actual product in market.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
3 years agoarm64: configs: enable QCOM GPS PROXY
Nicolas Dechesne [Fri, 3 Jun 2016 09:46:57 +0000 (11:46 +0200)]
arm64: configs: enable QCOM GPS PROXY

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
3 years agoARM64: dts: qcom: Introduce rmtfs memory region
Bjorn Andersson [Wed, 20 Apr 2016 03:58:26 +0000 (20:58 -0700)]
ARM64: dts: qcom: Introduce rmtfs memory region

The rmtfs memory region is used as shared memory for exchanging blocks
of data read and written to persistent flash storage by the modem.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
3 years agoAdd GPS Proxy Driver
Anna Hanna Sedlak Grinbaum [Sun, 10 Apr 2016 06:28:15 +0000 (09:28 +0300)]
Add GPS Proxy Driver

The GPS Proxy Driver is a layer connecting between user space application and
GPSD service.

Change-Id: I8e4dd855839a1d9bc0b8f7431063fc200f8c2ebb
Signed-off-by: Anna Hanna Sedlak Grinbaum <asedla@codeaurora.org>
3 years agoarm64: configs: enable QCOM QRTR
Nicolas Dechesne [Wed, 1 Jun 2016 16:52:56 +0000 (18:52 +0200)]
arm64: configs: enable QCOM QRTR

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
3 years agonet: qrtr: fix build problems
Arnd Bergmann [Fri, 13 May 2016 13:09:58 +0000 (15:09 +0200)]
net: qrtr: fix build problems

Having multiple loadable modules with the same name cannot work
with modprobe, and having both net/qrtr/smd.ko and drivers/soc/qcom/smd.ko
results in a (somewhat cryptic) build error:

ERROR: "qcom_smd_driver_unregister" [net/qrtr/smd.ko] undefined!
ERROR: "qcom_smd_driver_register" [net/qrtr/smd.ko] undefined!
ERROR: "qcom_smd_set_drvdata" [net/qrtr/smd.ko] undefined!
ERROR: "qcom_smd_send" [net/qrtr/smd.ko] undefined!
ERROR: "qcom_smd_get_drvdata" [net/qrtr/smd.ko] undefined!
ERROR: "qcom_smd_driver_unregister" [drivers/soc/qcom/wcnss_ctrl.ko] undefined!
ERROR: "qcom_smd_driver_register" [drivers/soc/qcom/wcnss_ctrl.ko] undefined!
ERROR: "qcom_smd_set_drvdata" [drivers/soc/qcom/wcnss_ctrl.ko] undefined!
ERROR: "qcom_smd_send" [drivers/soc/qcom/wcnss_ctrl.ko] undefined!
ERROR: "qcom_smd_get_drvdata" [drivers/soc/qcom/wcnss_ctrl.ko] undefined!

Also, the qrtr driver uses the SMD interface and has a Kconfig dependency,
but also allows for compile-testing when SMD is disabled. However, if
with QCOM_SMD=m and COMPILE_TEST=y we can end up with QRTR_SMD=y and
that fails with a related link error.

The changes the dependency so we can still compile-test the driver but
not have it built-in if SMD is a module, to avoid running in the broken
configuration, and changes the Makefile to provide the driver under
a different module name.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: bdabad3e363d ("net: Add Qualcomm IPC router")
Signed-off-by: David S. Miller <davem@davemloft.net>