Commit graph

506,942 commits

Author SHA1 Message Date
Olof Johansson
1809136044 Allwinner DT patches for 3.15, take 1:
- Add SPI controllers for all the SoCs
   - Add various missing aliases
   - Add USB clocks nodes
   - Addition of the GMAC support
   - Introduction of the pcDuino board
   - A few DT cleanup patches: change of compatibles,
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.14 (GNU/Linux)
 
 iQIcBAABAgAGBQJTFFhJAAoJEBx+YmzsjxAgFfsQALAcX5Vyw6Qi7vOQEipsY/Cv
 spaokviWKhanViYNDxMt0Q03rHUNIYbGD9bQA6V+dw5k4LFX1ww3BPQhlQm4kAw/
 MjGTdD+Mgg2cwdGw3YvT3hot2iYgy3HOxEdA9UPX1SKPAVmyoKk5SasZr7Lb+6zk
 N2Ezpz8+erE8WVrg/2SoP91LoU13vJX0Z9hsiBUCjRtYS75Zs7qF6hf03oqYg+EK
 j0vp3f1NdVIMItS/4UlBz4lqwNWJRQb2Q1JX0BKI9ITBGv7RlNcJoe3A/qKpqtAf
 jb1cvld2orj9a677PDvQbYfarUcWpJEckp5ypTl33i4amzQbCYhZRY+kmltKQmsY
 iaJa+OYHCRgZgzE7kBll3WG/69BoV+9g56bqRD0+kudXZoD2JIEb6sDYjBiGqNh/
 vwSvdDR1Pblw9Af9fGe8OK5E0/RJQWzT0PQLZnPDfPDLk5LxuQsytYhujrHZExte
 eYIUm9M8g9f5UAA70bSO2HjNmVUdS2kmFp09GaObOfqLZBp5vHCxQpAeY20tyQ1z
 0bcrqK+RTN8EvyjWuGyr8sMReZclKsOi/KrO6kgvVtTUMH1tt7v4OxxrZv99sdQv
 tA4wk9R4gs+owKh/DTkSMj91vLgzk/e+DoNhLp1oAHlU/qX2/AOSfzKTnhUh4cML
 zFsZzST0/kSXs3lU2UPN
 =mXsD
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-3.15' of https://github.com/mripard/linux into next/dt

Allwinner DT patches for 3.15, take 1 from Maxime Ripard:
  - Add SPI controllers for all the SoCs
  - Add various missing aliases
  - Add USB clocks nodes
  - Addition of the GMAC support
  - Introduction of the pcDuino board
  - A few DT cleanup patches: change of compatibles,

* tag 'sunxi-dt-for-3.15' of https://github.com/mripard/linux: (33 commits)
  ARM: sun6i: dt: Fix mod0 compatible
  ARM: dts: sun7i: Enable the SPI controllers of the A20-olinuxino-micro
  ARM: dt: sun7i: Add SPI muxing options
  ARM: dt: sun5i: Add A13 SPI controller nodes
  ARM: dt: sun5i: Add A10s SPI controller nodes
  ARM: dt: sun4i: Add A10 SPI controller nodes
  ARM: dt: sun7i: Add A20 SPI controller nodes
  ARM: sun4i: dt: Remove grouping + simple-bus compatible for regulators
  ARM: sunxi: dt: Convert to the new clock compatibles
  ARM: sun7i: add arch timer node
  ARM: sun7i: dt: Add bindings for USB clocks
  ARM: sun5i: dt: Add bindings for USB clocks
  ARM: sun4i: dt: Add bindings for USB clocks
  ARM: dts: sun7i: Add ethernet alias for GMAC
  ARM: dts: sun7i: a20-olinuxino-micro: Enable GMAC instead of EMAC
  ARM: dts: sun7i: cubieboard2: Enable GMAC instead of EMAC
  ARM: dts: sun7i: cubietruck: Enable the GMAC
  ARM: dts: sun7i: Add pin muxing options for the GMAC
  ARM: dts: sun7i: Add GMAC controller node to sun7i DTSI
  ARM: dts: sun7i: Add GMAC clock node to sun7i DTSI
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-03-09 11:40:26 -07:00
Olof Johansson
b989e36aaa Samsung exynos clock related DT updates for v3.15
- use macros instead of hard coded numbers for clock bindings
 
 NOTE: this is based on v3.15-next/dt-samsung
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJTE9QWAAoJEA0Cl+kVi2xqDBAQAJORPoEBQOs+Y2vHughs16jg
 48uG6ttIFcjo9HRe0DVpEBE4gyQzIUGOgU/8ebU29kA2Ce0calTQZDZZ4YQZ1LXL
 zc1MACqS2LBKoeFFCpyq61ghtNWjTyoQCgkQi6C/GNUv36uEuIAUPD5Cj+j5eUfS
 M6bHImxE0sHFxYzZPQ3BGO0gN7IoPEGYrXJmgD5LbswBgYP3qbFckr/spGzKb0Yt
 LyLTiZzb03l9C8lpaRkzA6AzAUJSqH2ialD7cEIVgxG1/Zmx0p2fW0ORpXWoU4Tp
 vM7akP4ZkdDdW5fUZOVklzjxnBG3pKOXivOeZ28K66vS3u5RRJYHd7gq4/d77JUe
 Jzz6s3jmr5Rk5UVtqrPNqu7SRz8RR9j5MBJ2gKDJK4GVelGqk8KgWdfAF/BGzGdj
 FbZMh3TzPMJxrcLTNDDaBrawg/mxQifV2ixV3hHFUtjw6Bbocxo5NDmG2sol8zQU
 XI7IlFzTQzqkb5KLYfPS3OGfBAvLUXfe9XT/XJkrSVYHXj7DJEonbZlTrxp35HYA
 0bFacDXMMqwqqaGjMsAbIslq0QUNBU97ztmmwInYfrBwah1nO3QxDhfATRF3VrHa
 264vnh1l97uWjN/iwTXMeZC6+ng2KqmQvrIbXc4d02buVRcnDIY+v5M11CY1AUFt
 Sz112ddWErQHi2MQoEJ0
 =4qfh
 -----END PGP SIGNATURE-----

Merge tag 'exynos-clk' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt

Samsung exynos clock related DT updates for v3.15 from Kukjim Kim:

- use macros instead of hard coded numbers for clock bindings

NOTE: this is based on v3.15-next/dt-samsung

* tag 'exynos-clk' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: dts: use macros in clock bindings for exynos5440
  ARM: dts: use macros in clock bindings for exynos5420
  ARM: dts: use macros in clock bindings for exynos5250
  ARM: dts: use macros in clock bindings for exynos4
2014-03-09 11:33:01 -07:00
Olof Johansson
516561a5ea Samsung DT updates for v3.15
For exynos4412
 - update vdd_arm voltage range for odroidx board
 
 For exynos5250
 - add PMU sysreg node and update watchdog node
 - re-organize RTC status
 - add max77686 pmic node for smdk5250
 
 For exynos5420
 - add PMU sysreg, i2s, adma and watchdog nodes
 - re-organize RTC status
 - add fixed voltage regulators and regulator nodes
   for smdk5420
 - add PMIC, GPIO based wake up key and vmmc-supply
   support for arndale-octa board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJTE9IiAAoJEA0Cl+kVi2xqOooQAIzTTXaGBpwM65jyEHL2/lgL
 AL9F/Q1FN8oeBTwomnfDOqbiNQh4bufXm7suCbp/whugnL2BzXghDT9wij0vcpH4
 DjXtbQRa7/dKcnncFHWUAaKnMGQZCJi0Wk1TRNbeJPDmOt12hghp73uAvUtrCxlF
 K5s3fCRc7ZapmHztgbu2vPvPzXGjLT68l4ccS1whqZIgsFZHQZDcUVRnugbc43yf
 JzrANbONbFROiuUFVWNx6nJ/n0AscMxpisQg66ngdlmi0q1CWqNK78kKwc56sw2L
 XN7m92im6D2HOhIsGULZQqy82EWtpsdW1z7zuuau9YMiG5qMVfZtPaHeMGwEg1W6
 /Zxd0NdcIopS73hC+zf75girzGmR7gIorlAOEVNM6DZcXtrCNkiEYx3/E+XgIP7r
 Vmebgm9KvQaYEqmfFvK1PKN/T1ySeCBkNiqrvjWaMEOtF9pL6WqE1aEBD78dPg/C
 Gjt9tYpiDtvxNzqwg7YQyYYmaGbKwMRR3ARd5qd3oFubu8pJLLNZvbQUCJzy0buD
 bgfofA/4c/p2QNLluPdM51XuiXMXG/4ienKbPjKEE5XWmXeZY8OdtWvNXw+rAVXX
 2Xa7KPclIOvKxsa/DPb2n0FJg8izx/Ns5l3ANqzrXv2q+ckldy7wZ4Sxu1L+qYWM
 l+XIdU4I8c/K3QDDPsND
 =eUF9
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt

Samsung DT updates for v3.15 from Kukjin Kim:

For exynos4412
- update vdd_arm voltage range for odroidx board

For exynos5250
- add PMU sysreg node and update watchdog node
- re-organize RTC status
- add max77686 pmic node for smdk5250

For exynos5420
- add PMU sysreg, i2s, adma and watchdog nodes
- re-organize RTC status
- add fixed voltage regulators and regulator nodes
  for smdk5420
- add PMIC, GPIO based wake up key and vmmc-supply
  support for arndale-octa board

* tag 'samsung-dt' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: dts: Add vmmc-supply to MMC on arndale-octa board
  ARM: dts: Add wake up key to arndale-octa board
  ARM: dts: Add PMIC support to arndale-octa board
  ARM: dts: Add fixed voltage regulators to smdk5420
  ARM: dts: Add I2S nodes to exynos5420
  ARM: dts: Add ADMA node to exynos5420
  ARM: dts: Re-organize RTC status for exynos5250
  ARM: dts: Re-organize RTC status for exynos5420
  ARM: dts: Add regulator entries to smdk5420
  ARM: dts: add max77686 pmic node for smdk5250
  ARM: dts: update vdd_arm voltage range for exynos4412 based boards
  ARM: dts: update watchdog device nodes for exynos5250 and exynos5420
  ARM: dts: Add pmu sysreg node to exynos5250 and exynos5420

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-03-09 11:31:00 -07:00
Olof Johansson
6ddc1d3413 Samsung cleanup for v3.15
- Use generic uncompress.h for exynos and
   remove exynos <mach/uncompress.h> accordingly
   (other uncompress.h files will be removed)
 - move <plat/rtc-core.h> into s3c24xx <mach/rtc-core.h>
 - remove unused header files
 - cleanup exynos related non-DT stuffs
 - use inclusion <linux/serial_s3c.h> instead of
   <plat/regs-serial.h>
 - remove unneeded Kconfig entries:
   S3C24XX_GPIO_EXTRA64 and S3C24XX_GPIO_EXTRA128
 - remove unneeded function s3c24xx_init_cpu()
 - remove obsolete s3c24xx <mach/tick.h>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJTE8n2AAoJEA0Cl+kVi2xqBj4QAKJwvOLxhuKz6HaxFEBSP08f
 e5BNwbM7Ofh6tUyCZr3JKHMEonGviGqtDeNXBvoqKvevArrpX7isAFT6I0y5Xh5d
 kjz0y8y9o1WaDUBhha65ilAj4NSUXQc+O5XA0wQAq/CwmiuFDZsxJVcdFG4nEbAm
 RwQAlQC8KQGrhE/7yY1K17hO2G2L/fBYsWZX93ubjryRMoRwe3JBtzGrMHqHSAJp
 /XZeComW6xFmFGUZVTsf8ErJAwL+GwqpbNe/86G4MxSGU7pkToPtFrQ5C3hKMfv2
 R5SAajRzlb4SL22AhPFFY1fREhLqt5OzVkEzCKvvAO1e7RtH3cPczlWGG6PVMrY5
 uDQFzLekA0NTLmdeSjklhrX+qmAAhwGGM2wLeUEMw66WkcFbtfOJ6OsqIZnnmKtW
 m+aJMC2rP05cydMrsIfsolMyzLCUfJ1B5A9tI4tNJHQlEVWJ4r4lrS2CQco8zBys
 UZ5DmYXrdAoAQ0JFQGgXr+5Wp1SZX2YO5J56kUk11pp8/x3FLQQwDWZh1WiVQEz1
 IZP/JY87PExhFAnwjp/iRB/HbDhOY3QiPArQ6spNoNy6HNY8VrWd7a+iboNYHpSa
 QG4NnGguarWxj+wRRmGKWm4uSYqewov6baT5j1BgB5qAwyujWLopF8A4fnYGo1PO
 Dju98DDd7LmeQ1HPB9lg
 =mVSN
 -----END PGP SIGNATURE-----

Merge tag 'samsung-cleanup' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup

Samsung cleanup for v3.15 from Kukjin Kim:
- Use generic uncompress.h for exynos and
  remove exynos <mach/uncompress.h> accordingly
  (other uncompress.h files will be removed)
- move <plat/rtc-core.h> into s3c24xx <mach/rtc-core.h>
- remove unused header files
- cleanup exynos related non-DT stuffs
- use inclusion <linux/serial_s3c.h> instead of
  <plat/regs-serial.h>
- remove unneeded Kconfig entries:
  S3C24XX_GPIO_EXTRA64 and S3C24XX_GPIO_EXTRA128
- remove unneeded function s3c24xx_init_cpu()
- remove obsolete s3c24xx <mach/tick.h>

* tag 'samsung-cleanup' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: EXYNOS: Remove uncompress.h
  ARM: debug: Use generic uncompress.h for exynos
  ARM: S3C24XX: Move rtc-core.h from plat to mach
  ARM: EXYNOS: Remove unused header file from pm_domains.c
  ARM: SAMSUNG: Remove Exynos specific code from devs, s5p-pm-irq and pm-gpio.c
  ARM: SAMSUNG: Delete unused plat/regs-serial.h header file
  ARM: SAMSUNG: Replace inclusion of plat/regs-serial.h header file
  ARM: SAMSUNG: Remove platform dependency from samsung.S
  ARM: S3C24XX: get rid of unneeded selects
  ARM: SAMSUNG: remove unneeded s3c24xx_init_cpu()
  ARM: SAMSUNG: remove obsolete tick.h

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-03-09 11:26:51 -07:00
Olof Johansson
687fb3c8a0 Samsung drivers update for v3.15
- remove inclusion <asm/mach/time.h> from exynos_mct.c
 - remove inclusion <asm/mach/irq.h> from exynos-combiner.c
   and use calling handle_bad_irq() instead of do_bad_IRQ()
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJTE86zAAoJEA0Cl+kVi2xqL6cP/1X7FyP6LTMTvQg6wAQNANu2
 rfoatvS4+vZnQxqQ58ISqiiW2Nh+CaZL3/nZd6m+yZu57lWsJjuyWj/rk/ejjEN1
 k2VL0ZL/okvsIOf99t7HJBjleNT1Agxg6XaeycFUAR+JBUCOko9U63zhO/CER1e6
 t74zY9WsputMdQSFCMgZqz61BBetkODdZsxtt+pH+YKRKiqK0PITjOmX3ZAlnohY
 5GA/jbIb9LJKE7xGLpAGau0FIaLMX48WekcZe32bxHdAi4DQwzvcKgfh3wNlbs8L
 50zTyono+AKQcbKXTFqu2lEx38S3mucJmyw4N5cz2aV1hjFZsv5Sg+U+zw93TJMp
 v6JXFML51lv6iooUMCPqpF0ErbUpWp+nG51CeNzfhwEWquYxe2j3FP3DxRpQsigV
 lT6Oxxun834Ug+RhD41mYs441P7JrZRksMkylgz+r/HmrHi1G6fdMVqj8JqjwFMO
 DKCuXRg3/nDl9O6IGwckEMuaWdCi8ZWmreAvy62GebPya8mSjlPlF61MFHhxsYCL
 cgBrN5oD4ouRALuovMqHzia1qcg+rLXLzEbEOa1dsclJGJm4tNuR/MWkeB7dWpez
 fNFIW+KintWkJVLEm+gg4Sc57Cm7BBwiKDl7IevzM+J8OjXClYbOAIUSwojQI8nn
 xWzF+s1LN9B66uVDP/yK
 =xBtv
 -----END PGP SIGNATURE-----

Merge tag 'samsung-drivers' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup

Samsung drivers update for v3.15 from Kukjin Kim:
- remove inclusion <asm/mach/time.h> from exynos_mct.c
- remove inclusion <asm/mach/irq.h> from exynos-combiner.c
  and use calling handle_bad_irq() instead of do_bad_IRQ()

* tag 'samsung-drivers' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  irqchip: exynos-combiner: call handle_bad_irq directly
  clocksource: exynos_mct: remove unwanted header file inclusion

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-03-09 11:26:31 -07:00
Greg Kroah-Hartman
ea1990c379 Add new PHY drivers for SATA and USB in exynos, for USB in sunxi,
and a multi-purpose PHY in APM, all adapted to generic PHY framework.
 Adapted USB3 PHY driver in OMAP to generic PHY driver and also used
 the same driver for SATA in OMAP. It also includes miscellaneous cleanups
 and fixes.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJTHBXfAAoJEA5ceFyATYLZiq8P/jp8hqVxRXaJy6UUniggN2vX
 JSdVgj6NPQijp9HAi5llb032coU4WYt7UFAAzOnIkzlQf+oIqu7e75DjGKCnV8sN
 DlxsBTxptD949AGM3UVa1PnTHsJoIxq7HSV7rvpu2V2oH9vO4a2m7dGSHaGUpNei
 ZH73oZtYrD+40eqv3TlUxw7aZpqTIvFvKD2HTJQab0jO06PT/mi7KC0TYXMnT+iK
 GaZTiLkpocQGElz9CI5YzizjZY3zjK7yo9XOdiABx+NjNZ1sjLjc3eLRcqnL3NA0
 0+oK/Gb/ZUuWrPDbUyB71VCi3OseOmNL3oAFIm+i1eV+8m56EKudyTn3jKyIpewG
 Cv1si5t6dkyZELCUp2zi0tJqSiP+cTieO3UELXe2Hs6x0+ilHF6ElHEvgV9JcQHT
 4ETtaN7ppkq35/D5SPxyW6Muqh+Pfxn4Duylp2HQXuqFFblFqIgSUtp1ZmSZIDzI
 qYlVUgRVVZV7Qh+cgSR6YcU1j44os2RK+phlpTTInhun3UJDw/UeNluZhqPX3RRm
 /luBWDuYRdn0h/4IPCS97ImeGBRkYJq5qMzm/JsYvBZBqq4deSOF9rgtwsHx4C5w
 HFBqex3utumv/zNJtuNZ+dQce8olqrUkbPbp9eL8oNJbo5r7PQ1IhCWHTTQiuuiN
 786aeMFxfMsfXVKztT4M
 =mpZ3
 -----END PGP SIGNATURE-----

Merge tag 'for_3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy into usb-next

Kishon writes:

Add new PHY drivers for SATA and USB in exynos, for USB in sunxi,
and a multi-purpose PHY in APM, all adapted to generic PHY framework.
Adapted USB3 PHY driver in OMAP to generic PHY driver and also used
the same driver for SATA in OMAP. It also includes miscellaneous cleanups
and fixes.
2014-03-09 11:16:38 -07:00
Johannes Thumshirn
07792c7e10 drivers: mcb: Fix build error discovered by 0-day bot
Make mcb depend on HAS_IOMEM and mcb-pci depend on PCI. This fixes build errors
discovered by the 0-day kernel build testing system.

Signed-off-by: Johannes Thumshirn <johannes.thumshirn@men.de>
Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-09 10:22:46 -07:00
Arik Nemtsov
91b80256b6 iwlwifi: mvm: abort scan on sched_scan request
A scheduled scan is a more persistent setting and should take priority
over temporary regular scans. Abort the regular when a sched_scan
request arrives and then request the sched_scan.

The kernel API allows sending a sched_scan without canceling a regular
scan in progress, so this is our way to abstract the FW's limitations.

Make the scan-cancel Rx handler async and flush after invocation to
ensure new scans can't creep in before it.

Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-03-09 19:16:48 +02:00
Arik Nemtsov
33ea27f66a iwlwifi: mvm: wait for stop sched-scan completion
cfg80211 assumes a scheduled scan is stopped synchronously. Wait for the
FW before returning to caller.

Don't do anything in the async handler in the stop-from-above flow.
There's no need to call the mac80211 sched-scan completion as the
cleanup will be automatic. Make sure the async handler is called before
the next incoming scan changes the scan_status by flushing the async
handlers after all invocations.

Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-03-09 19:16:48 +02:00
Eliad Peller
7bb426ea36 iwlwifi: mvm: check for d0i3 fw capability
Check for both cfg->d0i3 and fw d0i3 support in order
to enable d0i3 support.

Signed-off-by: Eliad Peller <eliadx.peller@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-03-09 19:16:47 +02:00
Emmanuel Grumbach
660925371b iwlwifi: mvm: fix scan offload for BGN SKU
BGN SKU won't scan on 5.2GHz obviously, but the firmware
still expects the driver to reserve space for the the probe
request for the 5.2GHz band.
Fix this by allocating space and leave it empty.

This fixes https://bugzilla.kernel.org/show_bug.cgi?id=69541

Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-03-09 19:16:46 +02:00
Johannes Berg
14cfca7152 iwlwifi: return whether to stop from rfkill method
When indicating RF-kill toggle to the higher layer, that
may in turn call back to the transport (for MVM at least)
to turn off the device quickly. Instead of that, allow it
to return whether or not the device should be turned off,
this gets rid of the call indirection and will help make
the API more consistent when we go back to non-threaded
interrupts again for PCIe.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-03-09 19:16:46 +02:00
Alexander Bondar
a812cba9bb iwlwifi: pcie: enable LP XTAL to reduce power consumption
1. Enable LP XTAL to avoid HW bug where device may consume much
power if FW is not loaded after device reset. LP XTAL is
disabled by default after device HW reset. Configure device's
"persistence" mode to avoid resetting XTAL again when SHRD_HW_RST
occurs in S3.

2. Add methods to access SHR (shared block memory space) directly from PCI
bus w/o need to power up MAC HW.

Shared internal registers (e.g. SHR_APMG_GP1, SHR_APMG_XTAL_CFG)can be
accessed directly from PCI bus through SHR arbiter even when MAC HW is
powered down. This is possible due to indirect read/write via
HEEP_CTRL_WRD_PCIEX_CTRL (0xEC) and HEEP_CTRL_WRD_PCIEX_DATA (0xF4)
registers.

Use iwl_write32()/iwl_read32() family to access these registers. The MAC HW
need not be powered up so no "grab inc access" is required.

For example, to read from SHR_APMG_GP1 register (0x1DC),
first, write to the control register:
HEEP_CTRL_WRD_PCIEX_CTRL[15:0] = 0x1DC (offset of the SHR_APMG_GP1 register)
HEEP_CTRL_WRD_PCIEX_CTRL[29:28] = 2 (read access)
second, read from the data register HEEP_CTRL_WRD_PCIEX_DATA[31:0].

To write the register, first, write to the data register
HEEP_CTRL_WRD_PCIEX_DATA[31:0] and then:
HEEP_CTRL_WRD_PCIEX_CTRL[15:0] = 0x1DC (offset of the SHR_APMG_GP1 register)
HEEP_CTRL_WRD_PCIEX_CTRL[29:28] = 3 (write access)

Signed-off-by: Alexander Bondar <alexander.bondar@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-03-09 19:16:39 +02:00
Avri Altman
8ea0c68fe5 iwlwifi: mvm: disable power on P2P client when BSS is added
When power update is initiated on BSS STA while P2P client
exists, the power command will be sent only on BSS STA vif
ignoring P2P client.

Since the firmware has symmetric constraints on the power
save enablement we can simplify the code a bit.

The current firmware doesn't know how to enable power
management on P2P client. Even BSS power management must
be disabled when a P2P client is added.

Future firmware will support power save on BSS and P2P client
as long as they are on different channels.
This was buggy since we didn't disable power management on
P2P client interface if BSS added on the same channel.

Signed-off-by: Avri Altman <avri.altman@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-03-09 16:39:08 +02:00
Johannes Berg
6ca89f1fd8 iwlwifi: nvm: fix VHT capability antenna-dependent fields
As the antenna dependent fields depend on the firmware file and not
the NVM, use those fields in the VHT capability creation.

Additionally, fix the STBC and antenna pattern consistency fields.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-03-09 16:39:08 +02:00
Emmanuel Grumbach
9a3daf8201 iwlwifi: mvm: fix quota for D3 image
New firmware enforce valid values for the quota in D3.
The values given to the firmware when suspending and using
WoWLAN where dummy - change them to realistics values.

Tested-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-03-09 16:39:08 +02:00
Eyal Shapira
f754b5ca0a iwlwifi: mvm: cleanups in iwl_dbgfs_frame_stats_read
Switch pos to char * which makes the code a bit shorter
as well as other minor cleanups suggested by Joe Perches.

Signed-off-by: Eyal Shapira <eyalx.shapira@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-03-09 16:39:07 +02:00
Johannes Berg
c42e810910 iwlwifi: pcie: suppress ACPI related error message
This message triggers on systems that don't support the API,
so suppress them when not debugging as it's not useful to
see it there.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-03-09 16:39:07 +02:00
Johannes Berg
d07913aa52 iwlwifi: mvm: init drv_stats_lock
Otherwise lockdep complains about the lock, I'm not sure
why we didn't see this before.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
2014-03-09 16:39:07 +02:00
Jyri Sarha
b46f2c5c00 ASoC: tlv320aic32x4: Sort Makefile in alphabetic order
The tlv320aic32x4 related lines were wrongly placed after tlv320aic3x lines.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-09 08:44:39 +00:00
Mika Westerberg
089c729ae4 i2c: designware-pci: Add Baytrail PCI IDs
Intel Baytrail I2C controllers can be enumerated from PCI as well as from
ACPI. In order to support this add the Baytrail PCI IDs to the driver.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-03-09 09:35:22 +01:00
Peter Ujfalusi
64ebdec36a ASoC: davinci-mcasp: Rename the pointer to davinci dma_params as dma_params
It is quite confusing to name the pointer to davinci_pcm_dma_params as
dma_data. Rename the pointer to avoid confusion.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-09 08:33:53 +00:00
Mika Westerberg
be58eda775 i2c: designware-pci: Cleanup driver power management
The PCI part of the DesignWare I2C driver does a lot of things that are not
required anymore. For example drivers aren't supposed to handle PCI state
transitions themselves. This is all provided by the PCI bus core already.

In addition to that there is no point scheduling RPM suspend on driver's
idle hook but instead we can use RPM autosuspend for this (which is enabled
in the driver already).

As a bonus, this patch also fixes following compile warning which is
emitted when the driver was compiled without CONFIG_PM_RUNTIME set:

drivers/i2c/busses/i2c-designware-pcidrv.c:245:12: warning: ‘i2c_dw_pci_runtime_idle’ defined but not used [-Wunused-function]

Reported-by: xinhui.pan <xinhuix.pan@intel.com>
Reported-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-03-09 09:29:21 +01:00
Romain Baeriswyl
6468276b22 i2c: designware: make SCL and SDA falling time configurable
This patch allows to set independantly SCL and SDA falling times.
The tLOW period is computed by taking into account the SCL falling time.
The tHIGH period is computed by taking into account the SDA falling time.

For instance in case the margin on tLOW is considered too small, it can
be increased by increasing the SCL falling time which is by default set
at 300ns.

The same applies for tHIGH period with the help of SDA falling time.

Signed-off-by: Romain Baeriswyl <romainba@abilis.com>
Reviewed-by: Christian Ruppert <christian.ruppert@abilis.com>
Acked-by: Shinya Kuribayashi <skuribay@pobox.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-03-09 09:29:08 +01:00
Charles Keepax
d0800342bb ASoC: arizona: Support new fratio encoding on the wm5110 rev D
The reference clock path on newer IP FLLs requires a different
configuration, and should avoid integer mode operation. This patch adds
support for both the new encoding and updates the calculation.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-09 08:28:07 +00:00
Charles Keepax
9dd02e89cb mfd: arizona: Add support for new fratio encoding
Newer IP has an expanded encoding for the fratio bits. As the additional
used bits are unused on older IP simply expand the field to the new
size.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-09 08:28:07 +00:00
Charles Keepax
5a3935c764 ASoC: arizona: Calculate FLL gain last
No part of the FLL calculation depends on the value determined for the
gain but the gain does depend on other values. In preparation for future
updates this patch moves the gain to be the last thing calculated.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-09 08:28:07 +00:00
Charles Keepax
f641aec62c ASoC: arizona: Calculate OUTDIV first
OUTDIV will remain unchanged whilst the rest of the FLL configuration is
calculated so do this first.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-09 08:28:06 +00:00
Charles Keepax
8ccefcd265 ASoC: arizona: Don't pass Fout into arizona_calc_fll
As we now calculate the FLL configuration at a later stage in the
process the fout member of the FLL structure will contain the desired
Fout frequency so no need to pass this in seperately.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-09 08:28:06 +00:00
Charles Keepax
23f785a8bc ASoC: arizona: Move calculation of FLL configuration
Currently the FLL configuration is calculated before it is known which
FLL path the configuration will be applied to. Newer versions of the IP
have differences in the configuration required for each FLL path, which
makes it complicated to calculate the FLL configuration in advance.

This patch simply checks the validity of a requested input and output
frequency before we know which FLL path they will be applied to and
saves the actual calculation of the configuration until we know where
the settings will be applied.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-09 08:28:06 +00:00
Charles Keepax
61719db814 ASoC: arizona: Move set of OUTDIV in to arizona_apply_fll
Since we know in arizona_apply_fll if we are setting the sync or ref
path there is no need to set the outdiv seperately anymore. This patch
moves this from arizona_enable_fll to arizona_apply_fll.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-09 08:28:06 +00:00
Charles Keepax
87383ac5a7 ASoC: arizona: Add defines for FLL configuration constants
Improve readability by adding defines for some of the constants
associated with FLL configuration.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-09 08:28:06 +00:00
Charles Keepax
da28ed585b ASoC: arizona: An OUTDIV of 1 is not valid, avoid this
One is not a valid value for the OUTDIV start searching at 2 instead.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-09 08:28:06 +00:00
Max Filippov
40423285a1 ASoC: tlv320aic23: add missing EXPORT_SYMBOLs
This fixes the following build errors when aic23 is configured as
module:

>> ERROR: "tlv320aic23_probe"
>> [sound/soc/codecs/snd-soc-tlv320aic23-i2c.ko] undefined!
>> ERROR: "tlv320aic23_regmap"
>> [sound/soc/codecs/snd-soc-tlv320aic23-i2c.ko] undefined!

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-09 08:04:57 +00:00
Sonic Zhang
5029a22a45 i2c: bfin-twi: remove unnecessary Blackfin SSYNC from the driver
Put necessary SSYNC code into blackfin twi arch header. The generic TWI
driver should not contain any architecture specific code.

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-03-09 08:41:18 +01:00
Sonic Zhang
45126da224 i2c: bfin-twi: move bits macros and structs in header from arch include to generic include
The ADI TWI peripheral is not binding to the Blackfin processor only.
The bits macros and structs should be put in the generic include header.
And update head file path in drivers accordingly.

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-03-09 08:40:41 +01:00
Mark Brown
e97db9abf9 ASoC: pcm512x: Fix duplicate const warning
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-09 07:38:23 +00:00
Mark Brown
22066226b5 ASoC: pcm512x: Split out bus drivers
Move to the new style of defining the bus interfaces in separate modules
in order to simplify dependencies.

Signed-off-by: Mark Brown <broonie@linaro.org>
2014-03-09 07:38:22 +00:00
Olof Johansson
63261d76c8 Add support for GIC crossbar that routes interrupts on newer omaps.
Looks like people wanted these merged via the omap tree as it's
 the only user for the GIC crossbar.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.15 (GNU/Linux)
 
 iQIcBAABAgAGBQJTE7tJAAoJEBvUPslcq6VzdnQP/i+SLcdTcG6osw8mSoiodK3n
 BC2/ByQBzI5Q2u3CrISqayPX7lpCP4XWABJ9eEYOC9S5CVda7SjW3nobH764HBre
 7y5fRg2OV5kRZZbvS66akcuMys2iwS3ExTZfn6W1ZKgIckqd0t2Q/7ds3mrgVFwv
 NzI5qEgHjHyNW2dNaVqW+7RblXbyRi8A1VGZofVduBbS2bxq7GPUWNM6CaFYW7aK
 8ioYo6sMATUztvqCI/JbNnIWUZV/pfgZXeBYuO5nWgxY/EVd+m2CBMaBKD2bP+Z7
 gdzRGEpVqKMZzeo8E10vJML0cLVq53PfBnobEjXFFXgR2Lt63KOsgZov4iHmIIrH
 FAccTryFfcsD30yunygPLjyYYsOcQEgMGK4aSRiGfmKJS5fxKgIaeBcr8wL9x3ac
 k3oThe9c19O2jt+sLN0ZVrG7y59th3t4a+mZ9AMFIEjrFm7ExDZ+NOhyLfx7LKsM
 dKO+FD0sXsRgCdFZXgC/nmSgE9t3pqKotTrPthZY3rivZan0mspdIJzkaU7TEqSw
 EqThl55cqpexlUfB7YwxsfmJ7y1O2Bxk3ShGhxZ+Wwfhgm8QDeH8VEaACfmkSukq
 NaNAYdi2yEV8HydXgsd5XhBazGN2ju3fT+/gqFjOKqT8zJrJI7QkDiNH1QcOTTAb
 XbKBumhC3ClwyFNlfhvx
 =MLEE
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v3.15/crossbar-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers

Merge OMAP crossbar support from Tony Lindgren:

Add support for GIC crossbar that routes interrupts on newer omaps.

Looks like people wanted these merged via the omap tree as it's
the only user for the GIC crossbar.

* tag 'omap-for-v3.15/crossbar-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: DRA: Enable Crossbar IP support for DRA7XX
  ARM: OMAP4+: Correct Wakeup-gen code to use physical irq number
  DRIVERS: IRQCHIP: CROSSBAR: Add support for Crossbar IP
  DRIVERS: IRQCHIP: IRQ-GIC: Add support for routable irqs

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-03-08 23:32:26 -08:00
Olof Johansson
c37abe5ad2 Merge tag 'mvebu-watchdog-3.15-2' of git://git.infradead.org/linux-mvebu into next/drivers
mvebu watchdog driver changes for v3.15 (incremental #2)
- remove warnings by using %pa for phys_addr_t

* tag 'mvebu-watchdog-3.15-2' of git://git.infradead.org/linux-mvebu:
  watchdog: orion_wdt: Use %pa to print 'phys_addr_t'

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-03-08 23:22:03 -08:00
Olof Johansson
20bb468598 Device tree related changes for omaps with minor code
changes also to platform data quirks that are still needed
 for some features.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.15 (GNU/Linux)
 
 iQIcBAABAgAGBQJTE7rMAAoJEBvUPslcq6Vz1yEP/ifsxXX+bjeQH2AUHXXsxkpO
 sXZsdnW0+vAP75ZaOcH/51gOV9a69vMeq/cKrnnj7v651s1a6JCc08M4UtScsUsu
 v6vD7rq8TnlaTYU0HKPfzzFcnq2wdCNGRRWXzfqJwdObteg6bzVJZkYFH6HLdsdH
 oCzGFzoKAT8m3ZbT6x0xbyBASp5liz0MF9r97ReX1ttq3bPRbCC48N2AwqEmT0sA
 gHKij5+V6B6hw9bs8HXT2ZkXNPni77u1+IvPGQHYJTfTEQnJjP6KNf+zkbtrBTrD
 f2BvLCtxcnLLSGEQcEpmPGzR5L2NukUOrreeNJg3j0ePguL4VI7QF5Skoxha5E6j
 tvnWT1NjZH4hMwLP1E7ACJVlr73iSdJ4dmT7GRmrNFlgYpV2cXqL7lEjgZOkXmJK
 81SlQ0d/px1LQ0Cbp9A321NS7mp8tCZPKSDuRzWwnwhRX9y48tKOMDhhjKyNxIvI
 xs9iMKAHYdh1NVsvqhlCoTTDXctwDQPl8FZrAa7LdDcNSUoMASEbO/xaQBOzAnvx
 eIjBrQFbICj0FJtlpeV9AzGpSBCSRGR91g2+tPF69lpJRD0/0jU6LG92Lmid2Ybr
 lZPkvUq1ZXuUWD5DUiPzhTJP3jYJmThpbpj9pGZkHHUqGQDa7aQxNeE4YdvU2Wli
 B9LnMic89jNW9q2tSL+9
 =a/5V
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v3.15/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt

OMAP device tree changes from Tony Lindgren:

Device tree related changes for omaps with minor code
changes also to platform data quirks that are still needed
for some features.

* tag 'omap-for-v3.15/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (60 commits)
  ARM: dts: omap4+: Add DMM bindings
  ARM: dts: am43x-gp-evm: Add matrix gpio keys.
  ARM: dts: am43xx: add support for parallel NAND flash
  ARM: dts: AM33xx: updated default ECC scheme in nand-ecc-opt
  ARM: dts: am335x-evm: NAND: update MTD partition table
  ARM: OMAP2+: gpmc: update gpmc_hwecc_bch_capable() for new platforms and ECC schemes
  ARM: dts: omap3-gta04: Add bma180 accelerometer
  ARM: dts: omap3-gta04: Enable mmc2 for wifi
  ARM: dts: omap3-gta04: Add basic sound support
  ARM: dts: omap3-gta04: Add twl4030 charger
  ARM: dts: omap3-gta04: Add touchscreen properties
  ARM: dts: omap3-gta04: Add support for magnetometer
  ARM: dts: am437x-gp-evm: Enable gpio.
  ARM: dts: am437x-gp-evm: Add pwm backlight support.
  ARM: dts: am437x-gp-evm: Add gp dts.
  ARM: dts: am43x-epos-evm: Add SPI data.
  ARM: dts: am43x-epos-evm: Add I2C2 data.
  pinctrl: am43xx: dt-bindings: add MUX_MODE8
  ARM: dts: am43x-epos-evm: Add pwm backlight support.
  ARM: dts: am4372: Add pwm-cells property for ecap device.
  ...
2014-03-08 23:19:21 -08:00
Olof Johansson
1e871089f6 Power, reset and clock related changes via Paul Walmsley <paul@pwsan.com>:
Some low-level optimizations and fixes that don't belong in an -rc
 series for various OMAP-family chips, targeted for v3.15.
 
 Basic build, boot, and PM test logs are available here:
 
 http://www.pwsan.com/omap/testlogs/prcm-a-for-v3.15/20140228124518/
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.15 (GNU/Linux)
 
 iQIcBAABAgAGBQJTE7pTAAoJEBvUPslcq6VzJqkP/2spS9ijHH9zwCjhydS1FNpc
 V7ZV2cN12/6nVyzijSFXnVRgXNJ6TAkWiuPoUThnWpTI4cTy0SQEJPB9dkSBLdqj
 mjmSisQFXJLpasiR5paV1P8rtNffKHq53fvuRx9gGsucxPMOBmH8ZQ6Mn3XXgcGX
 N7ax31bE8/ZIWmheIfSXrVZ5LM/v1iSDYB3DbY3vIu3OJ8iRLinB6+e45qvRSxhM
 dSzCf7inFXRjAfpUQzeiHKay4oTBAesFv4tzSgDP5Xsew7p+Qu3C9+5ey9cHRWDB
 XhkjmlsoRjb46ElLRzLMAHBA3IwgFpMrhF03FvRqWf4T7N16CsjXeeC18c3CsRBG
 X4E175dq0P1fn5CPJ+B5ayhZSFx2RehADlE2ZCsE0N7o/Jp3mYB+vKXtOeyUXTy2
 klQRGyLBg5yEtVY+yDBsIsNFfBvDkD5ar3CnI2DVTglQ5I4Iwh7YP00nGstYPWka
 T6dRPiKCLJlRmtmldgr2QdYt6+o80tb17J0fpxcjhBNmGNoqDBoNk4XaJVY6unjC
 ZWfN81dikQj0HNl1Z1Aa/fxHSp6nfi36gWFXyk1FeNU5y/LCI0eXuVXuNwjPn/u5
 V0Z7nqllZkELkB7jv1p9/HkTMBg5mZDRGahBxG/LY051O2m7qKk0BZiE5nfNH2g7
 3sBdbu6mzHoL/X+Benoq
 =+YmH
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v3.15/prcm-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

Power, reset and clock related changes via Paul Walmsley <paul@pwsan.com>, via
Tony Lindgren:

Some low-level optimizations and fixes that don't belong in an -rc
series for various OMAP-family chips, targeted for v3.15.

Basic build, boot, and PM test logs are available here:

http://www.pwsan.com/omap/testlogs/prcm-a-for-v3.15/20140228124518/

* tag 'omap-for-v3.15/prcm-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP3+: DPLL: stop reparenting to same parent if already done
  ARM: OMAP2+: clock: fix rate prints
  ARM: AM43x: hwmod data: register spinlock OCP interface
  ARM: OMAP2+: clockdomain: Reintroduce SW_SLEEP Support
  ARM: OMAP2+: AM43xx: implement support for machine restart

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-03-08 23:18:04 -08:00
Loc Ho
88e670fe9d PHY: add APM X-Gene SoC 15Gbps Multi-purpose PHY driver
This patch adds support for the APM X-Gene SoC 15Gbps Multi-purpose PHY.
This is the physical layer interface for the corresponding host
controller. Currently, only external clock and Gen3 SATA mode
are supported.

Signed-off-by: Loc Ho <lho@apm.com>
Signed-off-by: Tuan Phan <tphan@apm.com>
Signed-off-by: Suman Tripathi <stripathi@apm.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2014-03-09 12:45:13 +05:30
Loc Ho
1068320b51 Documentation: Add APM X-Gene SoC 15Gbps Multi-purpose PHY driver binding documentation
This patch adds the APM X-Gene SoC 15Gbps Multi-purpose PHY driver binding
documentation.

Signed-off-by: Loc Ho <lho@apm.com>
Signed-off-by: Tuan Phan <tphan@apm.com>
Signed-off-by: Suman Tripathi <stripathi@apm.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2014-03-09 12:45:12 +05:30
Roger Quadros
02133b9e54 phy: omap: Depend on OMAP_OCP2SCP bus driver
The OMAP_USB2 and OMAP_PIPE3 PHY devices will not be
detected if the OMAP_OCP2SCP bus driver is not present.
Make them depend on it.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2014-03-09 12:45:12 +05:30
Roger Quadros
56042e4e97 phy: ti-pipe3: Fix suspend/resume and module reload
Due to Errata i783, SATA breaks if its DPLL is idled. The recommeded
workaround to issue a softreset to the SATA controller doesn't seem to
work. Here we just prevent SATA DPLL from Idling and hence avoid
the issue altogether.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2014-03-09 12:45:11 +05:30
Roger Quadros
629138dbae phy: ti-pipe3: streamline PHY operations
Limit .power_on() and .power_off() to just control the
PHY power and not the DPLL. The DPLL will be enabled
in .init() and idled in .exit().

Don't reprogram the DPLL if it has been already locked
by the bootloader. This fixes a problem with SATA, where
it fails if SATA was used by the bootloader.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2014-03-09 12:45:11 +05:30
Roger Quadros
9c7f044360 phy: ti-pipe3: Don't get 'wkupclk' and 'refclk' for SATA PHY
SATA PHY doesn't need 'wkupclk; and 'refclk' so don't
try to get them for SATA PHY.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2014-03-09 12:45:10 +05:30
Roger Quadros
61f5467477 phy: ti-pipe3: Add SATA DPLL support
USB and SATA DPLLs need different settings. Provide
the SATA DPLL settings and use the proper DPLL settings
based on device tree node's compatible_id.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2014-03-09 12:45:10 +05:30
Roger Quadros
1562864f0f phy: ti-pipe3: cleanup clock handling
As this driver is no longer USB specific, use generic clock names.
- Fix PLL_SD_SHIFT from 9 to 10
- Don't separate prepare/unprepare clock from enable/disable. This
  ensures optimal power savings.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2014-03-09 12:45:09 +05:30