Commit graph

116788 commits

Author SHA1 Message Date
Skylar Chang
df52a97515 ARM: dts: msm: fix ipa clock name for msmcobalt.dtsi
Update IPA node to map the correct IPA clock.
This is done to avoid IPA clock gating on AP suspend.

Change-Id: Ic10949cd9e1eefffac6d744157e9f2a7df63ba5d
CRs-Fixed: 985868
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-03-25 16:03:06 -07:00
David Collins
e511ef1144 ARM: dts: msm: increase VDD_APCC MinSVS CPR voltage margin for msm8996pro
Characterization has shown that the initial VDD_APCC CPR revision
0 voltage margin adjustment for MinSVS is too aggressive.  Raise
this adjustment by 40 mV to ensure stability on all parts.

Change-Id: I084e43f4805359c0381c730b26eb85764bd225b1
CRs-Fixed: 985850
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-03-25 16:03:06 -07:00
Yuanyuan Liu
0b1cf97355 ARM: dts: msm: Add msa memory for WLAN
Allocate 1MB msa memory for WLAN

CRs-Fixed: 978217
Change-Id: I428099b02d4efe7478735d025cecf7ca050e2ff1
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
2016-03-25 16:03:03 -07:00
Stephen Boyd
78c34e6ea3 ARM: smp: Fix hrtimer_interrupt race with sys_reboot
There are high chances for hrtimer_interrupt() interrupt on
one of the core and other core executing sys_reboot simultaneously.
In such a situation we could see ipi_cpu_stop() marking a cpu
as 'offline' but hrtimer_wakeup() can schedule a task on
offline core, resulting BUG_ON in smp_send_reschedule().
In fact that the CPU is not really offline but ipi_cpu_stop()
is marking it as offline.
CPU0                      CPU1				CPU2
sys_reboot()
 kernel_restart()
  machine_restart()
   machine_shutdown()
    smp_send_stop()					...
    ...                   ipi_cpu_stop()		hrtimer_interrupt()
                           set_cpu_online(1, false)	 __run_hrtimer()
                            local_irq_disable()		  hrtimer_wakeup()
                             while(1)			   try_to_wake_up()
							    ttwu_do_wakeup()
							     check_preempt_curr()
							      smp_send_reschedule()
							       BUG_ON(cpu_is_offline(1));

This is easily reproducible in device continuous reboot testing.
Since the CPU is not really offline and hasn't gone through the
proper steps to be marked as such, let's mark the CPU as inactive.

Change-Id: Ia1daea407220578d4212ef6c65c4be837ca370fd
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2016-03-25 16:02:57 -07:00
Krishnankutty Kolathappilly
850b0ec74f ARM: dts: msm: Add camera post processing node for msmcobalt
Add CPP dtsi entries for msmcobalt.

CRs-Fixed: 980150
Change-Id: Ib9d80cf3a4f5851030fef2baeeb85ce9aabd9e90
Signed-off-by: Krishnankutty Kolathappilly <kkolatha@codeaurora.org>
2016-03-25 16:02:55 -07:00
Deepak Katragadda
7f82315e56 ARM: dts: msm: Add the reset-aon-logic flag to GPU GDSC node on MSMCOBALT
On MSMCOBALT, while enabling the gpu_gx_gdsc, the DEMET cells
need to be explicitly reset by using the domain_addr register.

CRs-Fixed: 922984
Change-Id: I794005ac976eff01e5ffff93e4a60970b15f5f05
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
2016-03-25 16:02:53 -07:00
Deepak Katragadda
5dda28c7bd clk: msm: clock-gpu-cobalt: Use the xo_ao source for GPUCC
The root clock for all GPUCC clocks, gpucc_cxo_clk is currently
being sourced off the cxo_clk_src clock. This will not allow XO
shutdown to happen. Use the cxo_clk_src_ao instead.

CRs-Fixed: 983874
Change-Id: I7f8dd9ea28114d3d06fec3397064356b4deb6e7e
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
2016-03-25 16:02:50 -07:00
Phani Kumar Uppalapati
aea583fcef ARM: dts: msm: Add codec reset gpio device node for msm8996
Add codec reset gpio device tree node for msm8996 target
specifying active and sleep pinctrl states.

CRs-Fixed: 968161
Change-Id: I040e8f54c6c86ab66d7fc824d5aab006f8d5f08f
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
2016-03-25 16:02:48 -07:00
Jack Pham
228f6d6f8b ARM: dts: msm: Add USB VBUS configuration for MSM8996 CDP_AU
USB 5V VBUS can be switched independently for the two USB
instances on the CDP_AU board. Add the PM8994 GPIO/MPP
configurations and expose them as usb_vbus_vreg,
usb_otg_switch and usb2_otg_switch regulators that can be
controlled by the USB controller device instances.

Also fix up the &usb3 node. Due to commit c51ea2bbbce87
("ARM: dts: msm: Add GIC ITS extensions for 8996") changing
the size of address-cells for the &intc node, the interrupt-map
property needs to be updated to the new format. Also update
the correct IRQ numbers and add the missing ss_phy_irq to
sync up with the msm8996 SOC DT definition. Finally, remove
the unused vdda supply entries as well.

CRs-fixed: 971957
Change-Id: Id53f0a54e16b194bc12e57fac3e52efc43ebdc6c
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2016-03-25 16:02:41 -07:00
Runmin Wang
be330463b1 ARM: dts: msm: Disable watchdog on MSMCOBALT Virtio
Turn off watchdog on Virtio on MSMCOBALT.

CRs-Fixed: 983131
Change-Id: I2684d52b95cb446013d2620de252b6abe3e1e5bd
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2016-03-25 16:02:40 -07:00
Shashank Mittal
e39b9e71e0 ARM: dts: msm: add CTI devices for msmcobalt
Add CTI devices for msmcobalt target. These devices can be used to
send cross triggers between different components

Change-Id: Ia5902c62b699c5f373f567dd18cbe38f10a275a3
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
2016-03-25 16:02:38 -07:00
David Collins
73c7ed27c7 ARM: dts: msm: raise APCC CPR floor to 625 mV for CPR Rev < 6 on msm8996v3
A small fraction of MSM8996v3 parts with CPR revision 0 to 5 may
not operate properly at very low VDD_APCC voltages.  Therefore
increase the VDD_APCC CPR floor voltage for these parts to 625 mV
in order to guarantee stable operation.

Also change the maximum CPR floor to ceiling voltage range from
80 mV to 50 mV for all MinSVS and LowSVS corners in order to
ensure stable operation.

Change-Id: I71c32aac8ef7d54dfcf48098aaf5d5909762df15
CRs-Fixed: 981898
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-03-25 16:02:31 -07:00
Nikhilesh Reddy
29a9db20f4 ARM: dts: msm: Add rmts shared memory node for msmcobalt
Add rmts shared memory node for msmcobalt to support EFS
on the modem.

CRs-Fixed: 980874

Change-Id: Ic869dd739f7efd880d574bcc1f730d9d04d9c456
Signed-off-by: Nikhilesh Reddy <reddyn@codeaurora.org>
2016-03-25 16:02:27 -07:00
Derek Chen
087239d3de ARM: dts: msm: add sec_mi2s node and gpio for msm8996
Add sec_mi2s device node and gpio information for msm8996.
Configure sec_mi2s gpio through sec_mi2s device probing for
automotive Agave platform.

CRs-fixed: 973481
Change-Id: I4793ba8bdd922fa712652c89f7ac7d88e996fef3
Signed-off-by: Derek Chen <chenche@codeaurora.org>
2016-03-25 16:02:26 -07:00
Patrick Daly
9dfa33b76b ARM: dts: msm: Fix register size for lpass-smmu for msmcolbalt
Correct the size of the register block.

CRs-Fixed: 980025
Change-Id: I6a672bf4f46f6ba453e4382c41cefd1630c0ac1e
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2016-03-25 16:02:24 -07:00
Nicholas Troast
189a11723e ARM: dts: msm: add pin control regulators for WLAN and BT on msmcobalt
Initialize PMCOBALT regulators SMPS 7 and LDO 5 to use HW_EN0 pin
control to force high power mode. Whenever HW_EN0 is driven high these
regulators will be forced into high power mode.

HW_EN0 is driven high whenever WLAN is transmitting or receiving, thereby
reducing power when it is not active.

Initialize PMCOBALT regulators SMPS 3 and SMPS 5 to use HW_EN2 pin
control to force high power mode. Whenever HW_EN2 is driven high these
regulators will be forced into high power mode.

Add pin control regulator devices for PMCOBALT regulators LDO 7, LDO
17, and LDO 25. When any of these pin control regulators are enabled by
software their output will be physically enabled whenever HW_EN2 is driven
high. When disabled HW_EN2 is ignored.

HW_EN2 is driven high whenever BT is transmitting or receiving, thereby
reducing power when it is not active.

CRs-Fixed: 971169
Change-Id: I819299fefde72400a18fb8503aedd1a1f32bfe7b
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-03-25 16:02:22 -07:00
Mayank Rana
e7469cc641 defconfig: Enable SPS BAM and USB BAM driver on msmcobalt
This change enables SPS BAM and USB BAM driver required
for USB QDSS BAM2BAM communication.

Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-03-23 21:30:45 -07:00
Mayank Rana
4a35e493fe defconfig: Enable USB related driver on msmcobalt
This change enables USB controller, PHY and required USB
function drivers.

Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-03-23 21:30:44 -07:00
Mayank Rana
20735a44c8 ARM: dts: msm: Add required USB related resources on msmcobalt
This change fixes USB and related different PHYs base address,
and interrupt. It also adds USB DBM and USB BAM related device
node and required resources for USB QDSS BAM functionality.

Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-03-23 21:30:44 -07:00
Subash Abhinov Kasiviswanathan
7a649da278 defconfig: arm64: msmcortex: Enable data features
Enable configurations needed for the operation of data specific
features such as IPv4 and IPv6 tethering and packet filtering
using QoS. Enable ESP match target in iptables to provide the ability
to match packets based on the SPI (Security Parameters Index) value
in the ESP (Encapsulating Security Payload) header. Enable the
rmnet_data driver for MAP functionality.

Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2016-03-23 21:30:42 -07:00
Sungjun Park
223b592d91 defconfig: arm64: msm: enable bluetooth driver
The driver is required for bluetooth functionality.

Signed-off-by: Sungjun Park <sjpark@codeaurora.org>
2016-03-23 21:26:10 -07:00
Satya Durga Srinivasu Prabhala
2e4ef2d3dc defconfig: arm64: enable IPC_LOGGING & EXTCON for msmcortex
IPC_LOGGING allows the debug logging for IPC Drivers and
QPNP_SMBCHARGER depends on EXTCON.

Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2016-03-23 21:26:09 -07:00
Trilok Soni
09b5ecaf8c defconfig: msmcortex: Keep NR_CPUS to 16
Keep NR_CPUSs restricted to 16 compared to 64, since
some of the schedular tracer code has compile time
checks for NR_CPUS > 32.

Other options update in this defconfig is based on the
auto-update.

Change-Id: I91e28714e3ee79a06eb5994ad8fc14f0b58a1e43
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
2016-03-23 21:26:08 -07:00
Mayank Rana
6f339ff0ab ARM: dts: msm: Add QMP PHY related initialization sequence for MSM8996
This change adds required QMP PHY related initialization from devicetree
instead of using getting revision based sequence from QMP PHY driver.

Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-03-23 21:26:05 -07:00
Mayank Rana
3e59573183 ARM: dts: msm: Update USB QMP PHY related registers' offset
This change updates USB QMP PHY related registers' offset from
devicetree for MSM8996 and cobalt platforms.

Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-03-23 21:26:03 -07:00
Mayank Rana
6b21633ac5 ARM: dts: msm: Add terminate entry with QMP PHY init sequence on cobalt
This change adds missing terminate entry with QMP PHY init sequence
which is required to know end of programming sequence.

Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-03-23 21:26:02 -07:00
Pavankumar Kondeti
6c98c21f9e arm64: topology: Allow specifying the CPU efficiency from device tree
The efficiency of a CPU can vary across SoCs depending on the cache size,
bus interconnect frequencies etc. Allow specifying this from the device
tree. This value overrides the default values hardcoded in the efficiency
table.

Change-Id: Ie9ba69e11317e6eb6462630226355747d1def646
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
2016-03-23 21:25:59 -07:00
Srivatsa Vaddagiri
5796af4921 arm64: topology: Define arch_get_cpu_efficiency() API for scheduler
On a HMP system, scheduler needs to know efficiency factor
(instructions-per-cycle) for various cpus. This is so that scheduler
can estimate bandwidth consumption of tasks on each cpu, based on
their efficiency factor.

This patch defines arch_get_cpu_efficiency() API in ARM64
architecture.  It depends on hard-coded "efficiency" factor for
various cpu types (available in 'table_efficiency' data structure) and
device-tree providing information on cpu-type for every cpu.

Change-Id: Ied43ead650ab85b63c232bec14dde500cbcc0f7a
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
[joonwoop@codeaurora.org: s/SCHED_POWER/SCHED_CAPACITY/.]
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
2016-03-23 21:25:58 -07:00
Mark Brown
1ada644087 arm64: topology: Tell the scheduler about the relative power of cores
In heterogeneous systems like big.LITTLE systems the scheduler will be
able to make better use of the available cores if we provide power numbers
to it indicating their relative performance. Do this by parsing the CPU
nodes in the DT.

This code currently has no effect as no information on the relative
performance of the cores is provided.

Change-Id: If025e959b523afa37e75d4c58578a7c5fea7e0b0
Signed-off-by: Mark Brown <broonie@linaro.org>
Patch-mainline: linux-arm-kernel 5/2/2014, 20:38
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
[joonwoop@codeaurora.org: s/SCHED_POWER/SCHED_CAPACITY/.
 fixed a trival conflict in init_cpu_topology().]
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
2016-03-23 21:25:58 -07:00
Venkat Gopalakrishnan
2f53a15b3e ARM: dts: msm: Drop ufs_variant for ufs controller on msmcobalt
This property is no longer used in 4.4 kernel, hence remove it.

Change-Id: I82dae3d9c230c9e6d71e4b286d5eba684d1511f8
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
2016-03-23 21:25:56 -07:00
Jack Pham
95a8cca7d2 defconfig: arm64: msm: Set USB_GADGET_VBUS_DRAW=500
Set the default amount of current to draw over USB VBUS to 500mA.

Signed-off-by: Jack Pham <jackp@codeaurora.org>
2016-03-23 21:25:55 -07:00
Jack Pham
7f5ffc4abd ARM: dts: msm: Add dpdm_supply reference to pmi8998_charger
On MSM8996 the PMI8998 charger requires the USB D+/D- to
be in floating state prior to performing charger detection.
Control of this is exposed by the QUSB PHY node and is
referenced by the charger as the dpdm-supply regulator.

Signed-off-by: Jack Pham <jackp@codeaurora.org>
2016-03-23 21:25:53 -07:00
Jack Pham
7dd9b0b575 ARM: dts: msm: Add extcon to usb3 node on msm8996
The primary USB device now requires an extcon reference
for cable connection notification. On MTP & CDP targets
this is provided by the PMI8994 charger device.

Signed-off-by: Jack Pham <jackp@codeaurora.org>
2016-03-23 21:25:52 -07:00
Jack Pham
c8b93defae defconfig: arm64: msm: Enable EXTCON
Enable the EXTCON framework driver. This is used to allow
drivers to notify other drivers about various cable connection
state. For example the charger driver can notifiy USB driver
when a cable is connected or removed.

Change-Id: I07d12466bfe0b951769ec7d86a15af2811dbc390
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2016-03-23 21:25:47 -07:00
Gilad Broner
05df40ec56 ARM: dts: msm: disable UFS LPM modes for MSMCOBALT RUMI
As RUMI platform uses QRBTC-V2 UFS PHY, we need to disable
various LPM modes so that UFS initialization is successful
due to hw limitations.

Change-Id: I7b7efc2fd6f01136a7f737d213e02e3aa078cbda
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
2016-03-23 21:25:45 -07:00
Patrick Daly
fb86dfdbb0 defconfig: Add iommu tests for msmcolbalt
Create the iommu debugfs files.

Change-Id: I6787adc24f6b155fa1cb71a97d8e191cc22a3061
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2016-03-23 21:25:41 -07:00
Patrick Daly
d4d4f015fd defconfig: Add REMOTEQDSS
Enable the remoteqdss driver.

Change-Id: I1885bbe9aecd71dc4fee41fe74ba4a195bb36bbf
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2016-03-23 21:25:33 -07:00
Srivatsa Vaddagiri
cb1bb6a8f4 sched: Introduce the concept CPU clusters in the scheduler
A cluster is set of CPUs sharing some power controls and an L2 cache.
This patch buids a list of clusters at bootup which are sorted by
their max_power_cost. Many cluster-shared attributes like cur_freq,
max_freq etc are needlessly maintained in per-cpu 'struct rq' currently.
Consolidate them in a cluster structure.

Change-Id: I0567672ad5fb67d211d9336181ceb53b9f6023af
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
[joonwoop@codeaurora.org: fixed minor conflict in
 arch/arm64/kernel/topology.c. fixed conflict due to ommited changes for
 CONFIG_SCHED_QHMP.]
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
2016-03-23 21:25:10 -07:00
Mayank Rana
724731fc40 ARM: dts: msm: Add QUSB and QMP PHYs related tunning params for cobalt
Both QUSB PHY and QMP PHY are required set of registers to configure
as part of initialization sequence. This change provides those registers'
offset and value to program with it.

Also remove android_usb device node as it usage is deprecated now.
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-03-23 21:25:07 -07:00
Mayank Rana
b174de9558 ARM: dts: msm: Add phy_clk_scheme property with QUSB PHY
This change adds phy_clk_scheme property related configuration with
QUSB PHY device node for 8996 and cobalt.

Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2016-03-23 21:25:05 -07:00
Liam Mark
57e845ecce arm64: mm: dma: panic on dummy dma alloc
On the 4.4 kernel non platform devices now have to call
arch_setup_dma_ops to setup their dma ops otherwise the
dummy dma opts will be used.
This because of change the following change:
1dccb59 arm64: simplify dma_get_ops

Introduce a panic if a the dummy dma alloc is used to
help clients more easily identify why their dma allocations
are failing.

This patch can later be reverted once all non platform devices
have fixed their code.

Change-Id: I2dd7eb0694c8c403da21133601eb7e831ead2dfd
Signed-off-by: Liam Mark <lmark@codeaurora.org>
2016-03-23 21:24:58 -07:00
Tony Truong
a5de38c2c5 defconfig: msm8996: Enable MHI driver
Enable MHI driver for MSM8996.

Change-Id: I2161f6cedc4152bb7c48fec9868cfc7070a5d494
Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
Signed-off-by: Tony Truong <truong@codeaurora.org>
2016-03-23 21:24:58 -07:00
Tony Truong
39e32e5185 mhi: core: Enable parsing of dev window from dt
Enable parsing of device window size from device tree
and calculating the appropriate addressing limitations.

Change-Id: I252a593a74f0cc00e6295a45d4d13db6c79cdfca
Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
Signed-off-by: Tony Truong <truong@codeaurora.org>
2016-03-23 21:24:42 -07:00
Mahesh Sivasubramanian
8257cc8ac8 defconfig: msm: Enable energy-awareness driver
Enable energy awareness driver for msm chipsets.

Change-Id: I81efe34339238eba6fa724e1c9bcd6f7eddeee6f
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
2016-03-23 21:24:37 -07:00
Nicholas Troast
2109054e5e ARM: dts: msm: add PMCOBALT and PMICOBALT devices for MSMCOBALT
Configure the PMCOABLT and PMICOABLT devices for MSMCOBALT.

Change-Id: Ic896d7faea6405f260117fdd7ec84a88b3c74aac
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-03-23 21:24:32 -07:00
Nicholas Troast
7273d3ab9d ARM: dts: msm: add SPMI PMIC arbiter device for MSMCOBALT
Configure the SPMI PMIC arbiter device for MSMCOBALT.

Change-Id: I6ce0e9724acff8309e0f518a243b3e2b25c80bcf
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-03-23 21:24:31 -07:00
David Keitel
1ad793626b defconfig: remove manually added CRYPTO defconfig options
These are selected by other options already.

Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-23 21:24:29 -07:00
David Keitel
7da84b3c55 defconfig: enable FW_LOADER_USER_HELPER_FALLBACK for msm and msmcortex
To allow fallback to user helper firmware loading when direct firmware
loading fails.

Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-23 21:24:28 -07:00
Venkat Gopalakrishnan
4ef8ad6e6c ARM: dts: qcom: update ufs driver compatible for msmcobalt
Use the upstream naming convention and update the ufs driver
compatible string.

Change-Id: Iee4d316c99d0d47537514a93ad91e14630970712
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
2016-03-23 21:24:27 -07:00
David Keitel
39d07c3f5e defconfig: enable PIL, SYSMON and SSR for msmcortex
This enables the sysmon, subsystem restart and PIL drivers for
msmcortex.

Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-23 21:24:25 -07:00