wcnss: new SMD control channel with WCNSS

A new SMD control channel is opened with WCNSS, currently only the
version information is exchanged thru this channel. WCNSS version is
exposed thru /sys interface.

Change-Id: I45638bdd992846fa6087b6131180684d30805002
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
adapted for Mako kernel from CAF reference

Signed-off-by: faux123 <reioux@gmail.com>
wcnss: Add wcnss support for 8974

- Install 5wire interface for wcnss device.
- Add the powerup sequence for wcnss device.
- Apply regulator settings by dynamically detecting the hardware.
- Add device tree documentation for WCNSS platform driver.

Change-Id: I533b56001313a480231f1e30d16ce12730f15f37
Acked-by: Bharath Pandravada <bharathp@qca.qualcomm.com>
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
adapted for Mako from CAF reference

Signed-off-by: faux123 <reioux@gmail.com>
wcnss: Pre-alloc memory for WLAN driver

WLAN driver will use this pre-allocated memory (when available) for
large memory allocations; this will prevent WLAN driver load
failures because of the un-availability of the large size slabs
during module load.

Change-Id: I8a8139bdf343ddc871036f6d5c6ab90993816de0
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
adapted for Mako kernel from CAF reference

Signed-off-by: faux123 <reioux@gmail.com>
wcnss: Fix the copyright year for wcnss_vreg.c

The copyright year for the original file was 2011-2012; but that was
incorrectly recorded as 2012 while the file was renamed from
wcnss_riva.c to wcnss_vreg.c to support Pronto.

Change-Id: Ice5c84cc13390c6aa47d07731dfa2f3cafe99d54
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
wcnss: Add interface to Reset wcnss

Add wcnss reset interface, this interface generates an FIQ to Riva.
Upon receiving this interrupt, Riva will execute the ERR_FATAL
routine and invoke SSR.

Change-Id: I74c293121cb69b312ed980902a12019adb700792
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
wcnss: Log CCPU registers in reset interrupt API

Reset interrupt is sent to Riva when host drivers fail to communicate
with Riva over SMD. So logging these CCPU registers helps to know the
failure reason at Riva.

Change-Id: Icccf6a5b0644fd75137602cc96b25dc8d392260a
CRs-Fixed: 418813
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
wcnss: Use preferred devm_kzalloc

Replace kzmalloc with preferred devm_kzalloc to avoid explicit memory
free calls.

Change-Id: I5457bad7e9ecab36e9d9fe9d429b121669d2f9d3
CRs-Fixed: 421013
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>