Commit graph

100353 commits

Author SHA1 Message Date
Arnd Bergmann
e36087998a arm: Xilinx Zynq cleanup patches for v3.18
- PM support
 - Fix L2 useless setting
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iEYEABECAAYFAlQYGFwACgkQykllyylKDCFI/ACeMQecelDM7sN3pOXVDA8unho5
 eqEAnjwQL/kw2p8jru1+t13V1SxThxKa
 =xfgX
 -----END PGP SIGNATURE-----

Merge tag 'zynq-cleanup-for-3.18' of git://git.xilinx.com/linux-xlnx into next/soc

Pull "arm: Xilinx Zynq cleanup patches for v3.18" from Michal Simek:

- PM support
- Fix L2 useless setting

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'zynq-cleanup-for-3.18' of git://git.xilinx.com/linux-xlnx:
  ARM: zynq: Remove useless L2C AUX setting
  ARM: zynq: Rename 'zynq_platform_cpu_die'
  ARM: zynq: Remove hotplug.c
  ARM: zynq: Synchronise zynq_cpu_die/kill
  ARM: zynq: cpuidle: Remove pointless code
  ARM: zynq: Remove invalidate cache for cpu die
  ARM: zynq: PM: Enable DDR clock stop
  ARM: zynq: DT: Add DDRC node
  Documentation: devicetree: Add binding for Synopsys DDR controller
  ARM: zynq: PM: Enable A9 internal clock gating feature
2014-09-25 17:42:57 +02:00
Carlo Caione
3b8f5030dd ARM: meson: add basic support for MesonX SoCs
This patch adds the basic machine file for the MesonX SoCs. Only Meson6
is populated.

Signed-off-by: Carlo Caione <carlo@caione.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-25 17:34:42 +02:00
Carlo Caione
d8a00916b3 ARM: meson: debug: add debug UART for earlyprintk support
Add the UART definitions needed to support earlyprintk for MesonX SoCs
on UARTAO.

Signed-off-by: Carlo Caione <carlo@caione.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-09-25 17:31:53 +02:00
Olof Johansson
14bbd322f4 The i.MX SoC updates for 3.18:
- Add initial devicetree support for i.MX1
  - Support GPT per clock source from OSC for i.MX6
  - A couple of parent selection corrections for i.MX6SL clock driver
  - Support more chip revision for i.MX6
  - Convert pr_warning to pr_warn
  - Add exclusive gate clock support
  - Add BYPASS support for i.MX6 PLL clocks
  - Update i.MX6 clock tree for audio use case
  - A couple of VF610 clock driver updates
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJUF672AAoJEFBXWFqHsHzOTXQIAJ0ZTXtzQsJ3gLFU+CwRMm2F
 hIzFDNOsRkEYpJaa6AkweBmLyUUdePn9rUVRzCi4P9Ux5uCSU6sd3CPHOykOCrV4
 xGXk+hL47IpPNGP1tZ4NU7bVBz4BvrIkLRXBxlO+YZ2ZKf+k8Ma166c3iwYFqpDD
 8Fd7SQrKleZiXXDgz6y8SRCsOre3HmmjeJBBHhKuegSRscyh2cYfduBsmr6xTojR
 Jzcega1pprb1ojxflMVLHcGRquyYVHaoH65mD4leDhSWa93MZFCOAFCl27qsZNs5
 gTlaayqq8ws8aFOXi9OmONSjL+ZBMkf0Jk/QGOo5cLCUKYYv10KK2LXFeBOpg8A=
 =yLWI
 -----END PGP SIGNATURE-----

Merge tag 'imx-soc-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc

Merge "ARM: imx: SoC updates for 3.18" from Shawn Guo:

The i.MX SoC updates for 3.18:
 - Add initial devicetree support for i.MX1
 - Support GPT per clock source from OSC for i.MX6
 - A couple of parent selection corrections for i.MX6SL clock driver
 - Support more chip revision for i.MX6
 - Convert pr_warning to pr_warn
 - Add exclusive gate clock support
 - Add BYPASS support for i.MX6 PLL clocks
 - Update i.MX6 clock tree for audio use case
 - A couple of VF610 clock driver updates

* tag 'imx-soc-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (30 commits)
  ARM: imx_v6_v7_defconfig updates
  ARM: imx_v4_v5_defconfig: Select CONFIG_IMX_WEIM
  arm: mach-imx: Convert pr_warning to pr_warn
  ARM: imx: source gpt per clk from OSC for system timer
  ARM: imx: add gpt_3m clk for i.mx6qdl
  ARM: imx: fix register offset of pll7_usb_host gate clock
  ARM: clk-imx6sl: refine clock tree for SSI
  ARM: imx: remove ENABLE and BYPASS bits from clk-pllv3 driver
  ARM: imx6sx: add BYPASS support for PLL clocks
  ARM: imx6sl: add BYPASS support for PLL clocks
  ARM: imx6q: add BYPASS support for PLL clocks
  ARM: imx: add an exclusive gate clock type
  ARM: clk-imx6q: refine clock tree for SSI
  ARM: clk-imx6q: refine clock tree for ASRC
  ARM: clk-imx6sl: correct the pxp and epdc axi clock selections
  ARM: clk-imx6q: refine clock tree for ESAI
  ARM: clk-imx6sl: Select appropriate parents for LCDIF clocks
  ARM: clk-imx6sl: Remove csi_lcdif_sels[]
  ARM: imx: clk-vf610: Add USBPHY clocks
  ARM: imx: add cpufreq support for i.mx6sx
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-09-24 11:27:35 -07:00
Olof Johansson
739d8d8bc3 Fourth Round of Renesas ARM Based SoC Soc Updates for v3.18
* r8a7794: Remove unnecessary #ifdef CONFIG_USE_OF
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUF5jCAAoJENfPZGlqN0++rF8P/0jS6qC7dkCRi4lYq87RXE52
 aCgOFoJXSK91Xu3n97sOw1mpmXoOtTXaBaevLN03ecLYhge0Fw7SwaD92tl3tlOc
 7u/YsPH/OYb2XT9z/sbp4q0Jc8X1IAi3+2KAQBWzSJObvxNoVSpxvVLDWmCejeqD
 P4wH1J5ZQR/3JDVI/vcDN82yZU/4kdC6YAq/GIpSfjIa4HuJ4Iu5VecJk3bqYm1R
 xVsJPJ+Wv4abMpNESgHHi+zDKoIuVGDBFJWkVlekRx52eX34XZdn0i23zt5FX1nG
 ISWAXkRs1kTFXe+aUCiB42bfaPvwV2Z0hmXgEVFUGv5CmEYzmhj1ugSSRg+5M8kq
 1TJuc5Jgj01/vlwKH8nr8JqcQbh3V4vdqFgXwVOCPwAwdcvnyc1Ff4JbvYT8oKZU
 9Coi1pnGmTk61ujke1PtSWCPy+6uXDWnTxk0zmcy+4AHTRyg+snjjmHO6XImPb6v
 WswrlITLyfR2atSzMEklK6aopJDJVE8qB0sufS80UQYZiLdtss30EGGT4XcxGsqS
 wpxUkm4oqw+xYF2NmCs4SJwe38i+JwbBwQcCUYUZ6R+Uh2+ADaryhcPEAz7c/aS1
 UCSaSCLux6d8TcPFjeL5ybpJx1IiXsbIVZRDK1rE7oeuWiISx7tnSmGOK7ffpYsf
 RdO17NWmzBG9vKkDmxaw
 =P2vj
 -----END PGP SIGNATURE-----

Merge tag 'renesas-soc4-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Merge "Fourth Round of Renesas ARM Based SoC Soc Updates for v3.18" from Simon Horman:

Fourth Round of Renesas ARM Based SoC Soc Updates for v3.18

* r8a7794: Remove unnecessary #ifdef CONFIG_USE_OF

* tag 'renesas-soc4-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: r8a7794: Remove unnecessary #ifdef CONFIG_USE_OF

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-09-24 11:17:43 -07:00
Matthias Brugger
d668208532 ARM: mediatek: Add earlyprintk support for mt6589
Enable low-level debug for Mediatek mt6589 SoC on UART0.

Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2014-09-24 11:13:55 -07:00
Wei Xu
1aafa57340 ARM: hisi: Fix platmcpm compilation when ARMv6 is selected
When compiling with "ARCH=arm" and "allmodconfig",
with commit: 9cdc99919a [2/7] ARM: hisi: enable MCPM implementation
we will get:

   /tmp/cc6DjYjT.s: Assembler messages:
   /tmp/cc6DjYjT.s:63: Error: selected processor does not support ARM mode `ubfx r1,r0,#8,#8'
   /tmp/cc6DjYjT.s:761: Error: selected processor does not support ARM mode `isb '
   /tmp/cc6DjYjT.s:762: Error: selected processor does not support ARM mode `dsb '
   /tmp/cc6DjYjT.s:769: Error: selected processor does not support ARM mode `isb '
   /tmp/cc6DjYjT.s:775: Error: selected processor does not support ARM mode `isb '
   /tmp/cc6DjYjT.s:776: Error: selected processor does not support ARM mode `dsb '
   /tmp/cc6DjYjT.s:795: Error: selected processor does not support ARM mode `isb '
   /tmp/cc6DjYjT.s:801: Error: selected processor does not support ARM mode `isb '
   /tmp/cc6DjYjT.s:802: Error: selected processor does not support ARM mode `dsb '

Fix platmcpm compilation when ARMv6 is selected.

Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2014-09-24 10:30:39 -07:00
Olof Johansson
37bdaf8291 ARM: debug: fix alphanumerical order on debug uarts
HIP04 was added out of order, but so was the previous HISI debug uart
support as well. Minor reshuffling of order.

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-09-23 22:21:54 -07:00
Olof Johansson
c8bc4dceb7 ARM: mach-hisi: Hisilicon hip04 soc and D01 board updates for 3.18
- Add the CONFIG_MCPM_QUAD_CLUSTER configuration to enlarge cluster number from 2 to 4
 - Enable MCPM on HiP04 SoC
 - Enable 16 cores on HiP04 SoC
 - Add platform & Fabric controller devicetree binding document for HiP04 SoC
 - Add hip04.dtsi & hip04-d01.dts for hip04 SoC platform and D01 board
 - Enable HiP04 SoC in both hi3xxx_defconfig & multi_v7_defconfig
 - Add the support of Hisilicon HiP04 debug uart
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJUEp9QAAoJEGROujcbgXtLyxAQAIns/8tZw6XpomoeAk31l/Fv
 K02HNScUlrR/ZY9A8AWg65vMhM0L4W1dQeLplHYAZ9jKclWCfBhtUvb3aWPe9R7R
 A8Vb4DN5cenJwOs9nfSMrhlpVdIgCK8RtbmVfW7zd2GB8S2K1o4O13fDygxPwZR9
 7CpsGLttaPYmAe5T/B1IOEEDixIQ/F5++xaPOIurnRFwdl5CR/pAoY0xwA05Qtoc
 7vvPWqs1FCcccc8s6fYBiOdIIRKj08FVsvLfjul53YL0tmwxNjGWdfNuDPr45dPw
 6ExbcSJCS2t31DPKW1WCKdw6sYkdMmH2KIQXfn2AntFmcFPTEY4J/v4/mAVDwdVq
 1cqf9zjEPQOm9n9ss/FV6AkVop3dEubjzWhfX2E9DPVYmYnzGXnCEZgHpMC6Pytk
 wI+gbKNRjhWE8rZMg0dwkODNyjfrOm38C4OPrE4ISP2kdh7uI8G4Foq9eHYD0Hp8
 XQ5krGqCb9S52+DH12Am8b3RJLk9C4RngZS9f3W+Tf15REQuEjl1xHa7q5vm+K/f
 C5gk6GFeWay06A/fSNBc3J4Nru6UmiRjZ8VkzB45VuvXnDmyyiAE3HxFdS/6pcZY
 8G9O+C/QuAKB6/e5Y4wgU0NNQxkfRE1wSiPgdoIi5Qd3zJ9JllpHjUwt9mV+X0EG
 BQeDWFtFIuQzVwZt6SO7
 =YL0t
 -----END PGP SIGNATURE-----

Merge tag 'D01-for-3.18' of git://github.com/hisilicon/linux-hisi into next/soc

Merge "pull request for hisilicon hip04 soc and D01 board updates" from Wei Xu:

ARM: mach-hisi: Hisilicon hip04 soc and D01 board updates for 3.18

- Add the CONFIG_MCPM_QUAD_CLUSTER configuration to enlarge cluster number from 2 to 4
- Enable MCPM on HiP04 SoC
- Enable 16 cores on HiP04 SoC
- Add platform & Fabric controller devicetree binding document for HiP04 SoC
- Add hip04.dtsi & hip04-d01.dts for hip04 SoC platform and D01 board
- Enable HiP04 SoC in both hi3xxx_defconfig & multi_v7_defconfig
- Add the support of Hisilicon HiP04 debug uart

* tag 'D01-for-3.18' of git://github.com/hisilicon/linux-hisi:
  ARM: debug: add HiP04 debug uart
  ARM: config: enable hisilicon hip04
  ARM: dts: add hip04 dts
  document: dt: add the binding on HiP04
  ARM: hisi: enable HiP04
  ARM: hisi: enable MCPM implementation
  ARM: mcpm: support 4 clusters

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-09-23 22:21:04 -07:00
Olof Johansson
eec317319d SoC related changes for omaps for v3.18 merge window:
- PM changes to make the code easier to use on newer SoCs
 - PM changes for newer SoCs suspend and resume and wake-up events
 - Minor clean-up to remove dead Kconfig options
 
 Note that these have a dependency to the fixes-v3.18-not-urgent
 tag and is based on a commit in that series.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUEhKGAAoJEBvUPslcq6VzURoP/3tM1iOFzQ83xe0ijEnHuUEz
 To5DF1AgJ/l8a6H9FV9xDTn7SXjV8Fts0MrPwveGnKRUMmZfrUBedvWGM9NyyWm5
 L7IJKHvSc7FAj7ee5crNobCYTrQ9THUlr8X1mLILFl5mTh2pDnm4ZRscHy+OxN0+
 w97d/T5MrFhoCa8LXo8nGm7jROvayp+E0VTxjFdU07VKJK8xjd++M0B5U3pXsqCC
 8VabNDt8VBK/SVCOKYn3tnNop1/9t9nSWfN18OAEaIS6rn5ZaQxXETKxyRWgjTvn
 OVEgsazFiPVm87H3O6cj0BizOSXG2gMfBTECZwVPtavyQR2lb/YljHUQ5Z9/T4v9
 x+nOWFxqVAr8OM1kKcatSMrZymY4AG5NdOmOgrAqKoQzWGGKhT3LcNz3Ecja25vX
 ZWGYsJl6hbF4PPaCgKe8KGRISLuv1g1N4TI8ztsxELRzhClxhuaERt7TkdQRLGrH
 emKSFP8Kkn6yrQy/RirOaXnwPWJRzuMrgpLuwDTKY6vY07MGk+nHkzF+2itKkvLB
 CG/Tw29jUi9gnOU9QwjkpBiJxsHlgcO/XzSTGN89p6EjVylyqdCqkpO3MCfjPV7Q
 kPap33Zx5SvxMMMSXRDKrrez533RfxBeTXkgT1O0fnR0r4fWYoc5+zL8Y02g10Wt
 tZ4gZRYP68IuxzfPUAgJ
 =LW8C
 -----END PGP SIGNATURE-----

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

SoC related changes for omaps for v3.18 merge window:

- PM changes to make the code easier to use on newer SoCs
- PM changes for newer SoCs suspend and resume and wake-up events
- Minor clean-up to remove dead Kconfig options

Note that these have a dependency to the fixes-v3.18-not-urgent
tag and is based on a commit in that series.

* tag 'soc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (514 commits)
  ARM: OMAP5+: Reuse OMAP4 PM code for OMAP5 and DRA7
  ARM: dts: OMAP3+: Add PRM interrupt
  ARM: omap: Remove stray ARCH_HAS_OPP references
  ARM: DRA7: Add hook in SoC initcalls to enable pm initialization
  ARM: OMAP5: Add hook in SoC initcalls to enable pm initialization
  ARM: OMAP5 / DRA7: Enable CPU RET on suspend
  ARM: OMAP5 / DRA7: PM: Provide a dummy startup function for CPU hotplug
  ARM: OMAP5 / DRA7: PM: Avoid all SAR saves
  ARM: OMAP5 / DRA7: PM: Enable Mercury retention mode on CPUx powerdomains
  ARM: OMAP5 / DRA7: PM / wakeupgen: Enables ES2 PM mode by default
  ARM: OMAP5 / DRA7: PM: Set MPUSS-EMIF clock-domain static dependency
  ARM: OMAP5 / DRA7: PM: Update CPU context register offset
  ARM: AM437x: use pdata quirks for pinctrl information
  ARM: DRA7: use pdata quirks for pinctrl information
  ARM: OMAP5: use pdata quirks for pinctrl information
  ARM: OMAP4+: PM: Use only valid low power state for CPU hotplug
  ARM: OMAP4+: PM: use only valid low power state for suspend
  ARM: OMAP4+: PM: Make logic state programmable
  ARM: OMAP2+: powerdomain: introduce logic for finding valid power domain
  ARM: OMAP2+: powerdomain: pwrdm_for_each_clkdm iterate only valid clkdms
  ...
2014-09-23 22:04:19 -07:00
Michal Simek
8097171e19 ARM: zynq: Remove useless L2C AUX setting
AUX setting has no effect that's why remove it.

Warning log:
L2C: platform provided aux values match the hardware, so
have no effect.  Please remove them.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2014-09-16 12:55:12 +02:00
Soren Brinkmann
ed62e33094 ARM: zynq: Rename 'zynq_platform_cpu_die'
Match the naming pattern of all other SMP ops and rename
zynq_platform_cpu_die --> zynq_cpu_die.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2014-09-16 12:55:11 +02:00
Soren Brinkmann
caf86a73ea ARM: zynq: Remove hotplug.c
The hotplug code contains only a single function, which is an SMP
function. Move that to platsmp.c where all other SMP runctions reside.
That allows removing hotplug.c and declaring the cpu_die function
static.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2014-09-16 12:55:10 +02:00
Soren Brinkmann
50c7960a45 ARM: zynq: Synchronise zynq_cpu_die/kill
Avoid races and add synchronisation between the arch specific
kill and die routines.

The same synchronisation issue was fixed on IMX platform
by this commit:
"ARM: imx: fix sync issue between imx_cpu_die and imx_cpu_kill"
(sha1: 2f3edfd7e2)

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2014-09-16 12:55:09 +02:00
Daniel Lezcano
61ce3ed57b ARM: zynq: Remove invalidate cache for cpu die
As there is no Power management unit on this board, it is not possible to power
down a core, just WFI is allowed. There is no point to invalidate the cache and
exit coherency.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-and-tested-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2014-09-16 12:55:08 +02:00
Soren Brinkmann
0beb2bd36f ARM: zynq: PM: Enable DDR clock stop
The DDR controller can detect idle periods and leverage low power
features clock stop. When new requests occur, the DDRC resumes
normal operation.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2014-09-16 12:55:07 +02:00
Soren Brinkmann
36ad5ae6de ARM: zynq: DT: Add DDRC node
Add the DDR controller to the Zynq devicetree.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2014-09-16 12:55:06 +02:00
Soren Brinkmann
ae88b85e80 ARM: zynq: PM: Enable A9 internal clock gating feature
Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2014-09-16 12:55:05 +02:00
Fabio Estevam
64546e9fe3 ARM: imx_v6_v7_defconfig updates
The rtc isl1208 driver is used by mx6 nitrogen board, so let's enable it by
default.

The fsl sai driver is used by the vf610-twr board, so let's enable it by
default.

simple-audio-card driver is used by the vf610-twr board, so let's enable it by
default.

Generated this patch by doing:

- make imx_v6_v7_defconfig
- make menuconfig and manually select options
- make savedefconfig
- cp defconfig arch/arm/configs/imx_v6_v7_defconfig

,which results in some additional cleanups.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:09:43 +08:00
Fabio Estevam
0650f855d2 ARM: imx_v4_v5_defconfig: Select CONFIG_IMX_WEIM
The imx weim driver is used by some mx27/mx1 boards, so let's enable it by
default.

Generated this patch by doing:

- make imx_v4_v5_defconfig
- make menuconfig and manually select CONFIG_IMX_WEIM
- make savedefconfig
- cp defconfig arch/arm/configs/imx_v4_v5_defconfig

,which results in some additional cleanups.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:09:41 +08:00
Joe Perches
75fd32b8ef arm: mach-imx: Convert pr_warning to pr_warn
Use the more common pr_warn.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:09:41 +08:00
Anson Huang
bad3db104f ARM: imx: source gpt per clk from OSC for system timer
On i.MX6Q TO > 1.0, i.MX6DL and i.MX6SX, gpt per clock
can be from OSC instead of ipg_per, as ipg_per's rate
may be scaled when system enter low bus mode, to keep
system timer NOT drift, better to make gpt per clock
at fixed rate, here add support for gpt per clock to
be from OSC which is at fixed rate always.

There are some difference on this implementation of
gpt per clock source, see below for details:

i.MX6Q TO > 1.0: GPT_CR_CLKSRC, b'101 selects fix clock
    of OSC / 8 for gpt per clk;
i.MX6DL and i.MX6SX: GPT_CR_CLKSRC, b'101 selects OSC
    for gpt per clk, and we must enable GPT_CR_24MEM to
    enable OSC clk source for gpt per, GPT_PR_PRESCALER24M
    is for pre-scaling of this OSC clk, here set it to 8
    to make gpt per clk is 3MHz;
i.MX6SL: ipg_per can be from OSC directly, so no need to
    implement this new clk source for gpt per.

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:09:41 +08:00
Anson Huang
6f11c69d35 ARM: imx: add gpt_3m clk for i.mx6qdl
Add gpt_3m clock for i.mx6qdl, as gpt can source clock
from OSC, some i.MX6 series SOCs has fixed divider of
8 for gpt clock, so here add a fix clk of gpt_3m.

i.MX6Q TO1.0 has no gpt_3m option, so force it to be
from ipg_per.

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:09:40 +08:00
Shawn Guo
69d9a3fe06 ARM: imx: fix register offset of pll7_usb_host gate clock
There is a copy&paste error on register offset of pll7_usb_host gate
clock introduced by i.MX6 PLL bypass support patches.  The error breaks
the ENET function, because it overwrites the pll6_enet gate bit.

Correct the offset for all i.MX6 clock drivers.

Thanks to Fugang Duan <B38611@freescale.com> for spotting the error.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:09:40 +08:00
Shengjiu Wang
dbaf381ffb ARM: clk-imx6sl: refine clock tree for SSI
Each SSI has "ssi", "ssi_ipg" clocks, and they share same gate bits.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:09:39 +08:00
Shawn Guo
dc4805c2e7 ARM: imx: remove ENABLE and BYPASS bits from clk-pllv3 driver
Since ENABLE and BYPASS bits of PLLs are now implemented as separate
gate and mux clocks by clock drivers, the code handling these two bits
can be removed from clk-pllv3 driver.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:06:49 +08:00
Shawn Guo
db7c065945 ARM: imx6sx: add BYPASS support for PLL clocks
This is the same change for imx6sx clock driver as "ARM: imx6q: add BYPASS
support for PLL clocks" for imx6q.  The difference is that only anaclk1
is available on imx6sx.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:06:49 +08:00
Shawn Guo
e90f41990d ARM: imx6sl: add BYPASS support for PLL clocks
This is the same change for imx6sl clock driver as "ARM: imx6q: add BYPASS
support for PLL clocks" for imx6q.  The difference is that only anaclk1
is available on imx6sl.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:06:48 +08:00
Shawn Guo
b1f156db47 ARM: imx6q: add BYPASS support for PLL clocks
The imx6q clock driver currently hard-codes all PLL clocks to source
from OSC24M without BYPASS support.  The patch adds the missing lvds_in
clock which is mutually exclusive with lvds_gate, and implements BYPASS
and BYPASS_CLK_SRC selection for PLL clocks as per Figure 10-3. Primary
Clock Generation in IMX6DQRM, i.e. both BYPASS_CLK_SRC and BYPASS bits
are implemented as mux clocks, and ENABLE bit of PLL clocks is
implemented as a gate clock after BYPASS mux.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:06:48 +08:00
Shawn Guo
19d863446a ARM: imx: add an exclusive gate clock type
There are a couple of gate clocks are mutually exclusive on i.MX6, i.e.
LVDSCLK1_IBEN and LVDSCLK1_OBEN.  They cannot be enabled simultaneously.
This patches adds an exclusive gate clock type specifically for such
case.  The clock driver will need to call imx_clk_gate_exclusive() to
register a gate clock with parameter exclusive_mask indicating the mask
of gate bits which are mutually exclusive to this gate clock.

Right now, it only handles the exclusive gate clocks which are defined
in a single hardware register, which is the case we're running into
today.  But it can be extended to handle exclusive gate clocks defined
in different registers later if needed.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:06:48 +08:00
Shengjiu Wang
bd404b1d33 ARM: clk-imx6q: refine clock tree for SSI
Each SSI has "ssi", "ssi_ipg" clocks, and they share same gate bits.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:06:47 +08:00
Shengjiu Wang
aec247d4ac ARM: clk-imx6q: refine clock tree for ASRC
ASRC has "asrc", "asrc_ipg", "asrc_mem" clocks, and they share
the same gate bits.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:06:47 +08:00
Fancy Fang
e37c1ad032 ARM: clk-imx6sl: correct the pxp and epdc axi clock selections
The parent clocks of IMX6SL_CLK_PXP_AXI_SEL and IMX6SL_CLK_EPDC_AXI_SEL
clocks are not the same. So split the epdc_pxp_sels into two different
clock selections 'pxp_axi_sels' and 'epdc_axi_sels'.

Signed-off-by: Fancy Fang <chen.fang@freescale.com>
Signed-off-by: Robby Cai <R63905@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:06:46 +08:00
Shengjiu Wang
7bce3d23ec ARM: clk-imx6q: refine clock tree for ESAI
There are three clock for ESAI, esai_extal, esai_ipg, esai_mem. Rename
'esai' to 'esai_extal', 'esai_ahb' to 'esai_mem', and add 'esai_ipg'.
Make the clock for ESAI more clear and align them with imx6sx.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:06:46 +08:00
Fabio Estevam
0783a56087 ARM: clk-imx6sl: Select appropriate parents for LCDIF clocks
PLL5 is well suited for being the parent of IMX6SL_CLK_LCDIF_PIX_SEL and
PLL2_PFD for IMX6SL_CLK_LCDIF_AXI_SEL.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:06:46 +08:00
Fabio Estevam
bad66c3ebd ARM: clk-imx6sl: Remove csi_lcdif_sels[]
Currently csi_lcdif_sels[] is a shared array for the providing the possible
clock parents for csi and lcdif blocks.

This is not correct, as csi and lcdif do not share the same clock parents.

Introduce csi_sels[] for the csi and lcdif_axi_sels[] for the lcdif clocks in
order to describe the parents correctly.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:06:45 +08:00
Stefan Agner
21231f81f1 ARM: imx: clk-vf610: Add USBPHY clocks
This commit adds PLL7 which is required for USBPHY1. It also adds
the USB PHY and USB Controller clocks and the gates to enable them.

Acked-by: Jingchang Lu <jingchang.lu@freescale.com>
Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:06:45 +08:00
Anson Huang
47526e410d ARM: imx: add cpufreq support for i.mx6sx
Add cpufreq support for i.MX6SX, using common
i.MX6Q cpufreq driver.

Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:06:45 +08:00
Stefan Agner
3b18dd7a86 ARM: imx: clk-vf610: introduce clks_init_on
At the end of the boot process, the clock framework might disable
required main PLL's. So far, this was no issue since drivers
requested clocks, which are descended of the main PLL's (e.g.
pll1_pfd1, which provides the system clock).

To archive the full 500MHz system clock, DDR clock need to be a
descendant of PLL2 rather than PLL1 (DDRC_CLK_SEL set to 0). The
bootloader sets up the clocks accordingly before making use of
DDR at all. However, in Linux, there is no driver using PLL2,
which lead to PLL2 being disabled by the clock framework.

With this patch, we make sure that the main system clock and the
DDR clock are initially enabled and are kept enabled.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:06:44 +08:00
Alexander Shiyan
24980dc810 ARM: i.MX1: Add devicetree support
This patch adds basic devicetree support for i.MX1 based SoCs.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-16 10:06:44 +08:00
Jason Liu
c896e93850 ARM: i.MX6: add more chip revision support
Add more revision support for the new i.MX6DQ tape-out (TO1.5).  This
TO1.5 is the Rev 1.3 as documented in i.MX6DQ data sheet, because TO1.3
and TO1.4 are never revealed.

Signed-off-by: Jason Liu <r64343@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-09-16 10:06:44 +08:00
Arnd Bergmann
60f91268ee Second Round of Renesas ARM Based SoC DT Timers Updates for v3.18
* kzm9g-reference: Enable CMT1 in device tree
 * Use SoC-specific timer compat strings
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUEPAEAAoJENfPZGlqN0++GX0P/in7JxaEeSH1f1PRV6mWSJAH
 C9hEx7nlD0DfWttuZ+viurKL7GNdLiASXXb3188KmxY4SDUnG77o1qChhzyFXP6Z
 2FyCwSafunI+6pVB+zuPzRQRtn52qZOvU0sANPvwh6Cz3GUtUqw2ojxXo/gPo393
 020938zFzaghhDYN2OpV2I+IC6yAgUycwEZCHFNMLoTJh95FQhbwbJBs7zIbYovE
 8RpTdj2Y3uQe1ATf/WDWGfVuwfRiHgIQJmqkaQmCfIAZiQ0xH6qUCGUza+Pz4l8z
 9t9zBpPuaaIppg73+fga9UuI6BTCxzwz2Wv3NnAnbIsVPrQCx1hVnz6DPYjXwphK
 fENryV8I16xkniceQYLvalpeRK/btGeUEhuB+pvsuhE/+IECfOmYKgm4lXG8wB4h
 P0v1zMVy2OSNMI6uSDVoKLEH2U6i9J9ow4jarXkBvbG8Duk6CbUXKGNud9RnEswK
 Z6e7fRTh80puhh8TCo5f+9CbtVS47fCA62gy/L3bMQxddlt3XR5KJ5IIDASwaCcM
 mjFvOrXF4kMcegyYhVGcqYwG8CdSm+4Ymeevfk4F2KaxIZ4Wh69/J2dCTsiLYJvJ
 VRIGfEpjO8aqN1lY1A4j+y89byn0O03I7XuMUSmESyz+19HvC/EvGZpR3hggBLrD
 +TFSXHvGA7RbNik+ilLY
 =SogR
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dt-timers2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Pull "Second Round of Renesas ARM Based SoC DT Timers Updates for v3.18" from Simon Horman:

* kzm9g-reference: Enable CMT1 in device tree
* Use SoC-specific timer compat strings

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'renesas-dt-timers2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: kzm9g-reference: Enable CMT1 in device tree
  ARM: shmobile: sh73a0: Add CMT1 device to DT
  ARM: shmobile: r8a7740: Use SoC-specific 48-bit CMT compat string
  ARM: shmobile: r8a7779: Use SoC-specific TMU compat string
  ARM: shmobile: r8a7791: Use SoC-specific 48-bit CMT compat string
  ARM: shmobile: r7s72100: Use SoC-specific MTU2 compat string
  ARM: shmobile: r8a7790: Use SoC-specific 48-bit CMT compat string
2014-09-11 09:45:18 +02:00
Simon Horman
1370078db3 ARM: shmobile: r8a7794: Remove unnecessary #ifdef CONFIG_USE_OF
The r8a7794 support is always compiled using ARCH_MULTIPLATFORM which
selects USE_OF. So #ifdef CONFIG_USE_OF is unnecessary.

Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-09-11 09:51:16 +09:00
Fabio Estevam
64d14a31d5 ARM: imx: Remove mach-mxt_td60 board file
All the current support of mach-mxt_td60 board can be converted to devicetree.

Remove the board file.

Cc: Alan Carvalho de Assis <acassis@gmail.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-09-10 11:17:44 +08:00
Nishanth Menon
377fb3f5d9 ARM: OMAP5+: Reuse OMAP4 PM code for OMAP5 and DRA7
OMAP4, OMAP5 and DRA7 share a lot of common logic and data structures.
These have been enabled in the previous patches, however, this also
means that OMAP5 or DRA7 only builds also need to build OMAP4 logic.
Update to reuse OMAP4 logic.

This fixes the 'undefined reference to 'omap4_pm_init_early'' in
OMAP5 or DRA7 only builds.

Fixes: 6af16a1dac ("ARM: DRA7: Add hook in SoC initcalls to enable pm initialization")
Fixes: 628ed47170 ("ARM: OMAP5: Add hook in SoC initcalls to enable pm initialization")
Reported-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2014-09-09 19:13:41 -07:00
Arnd Bergmann
138310e18b Third Round of Renesas ARM Based SoC Soc Updates for v3.18
* Initial r8a7794 SoC support
 * Support Cortex-A7 in shmobile_init_delay()
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUDnyTAAoJENfPZGlqN0++xcUP/RO2TIFpvKKQ69B8v7OJpPKJ
 yaqZFsg5A0lTHos7as3/4osHQfUtp6dz0Ko9DZIs7EYQ7Xue0OoIJ48O/c9EaPJD
 zLVvNYuh/LavXHeXnvKyp9ixYzY5f3A26+mx3PZAFJrmlaqAypt5STPNdqmf61ot
 U/uEwhtXU2hDY0AW865RgvOESDWpRY+YjrVihMgW/EQE+Glq2U6mnmrjANglZyRv
 /FnifymlhTByH81KauYqLTYbtdoAJFCvOa+ZHqLIZHqu7/K5G29b6TgnlbqanVBp
 GFIxLVHFqppgyIbJqpmBqHRB5BLL1ISoAV5z5p7K6ujjz73yIMReBoCVP4rZ7ZXh
 j+t4E7HyzaI5JoGJJyUEmtv4+gqQq486mDYEsJl3r/3ByLT52DglerAFnOhd1fmU
 VBpFydYfOtpA9LtGJXlxTBDJOecP857Kv81agROLY+NID24dcq1lRImffq88poHQ
 ck3DRSyagdZWWc7uGxhZqTltJufgazP7odya31roIC2C5q6j5kDON04inxzH0FBU
 eqNhYEYYgBUYWUBje1cL50WuPboRdvV5kJjAspKNbLt8jAQ+mky9pZqoJbndRdNT
 kg30WH2WXaMD+naQPh6g07kQPrmuwz0tOtIdcZ598T6k+tXGufwE6OPIR/LsxMIq
 TSw0JlT6DO8XPSMMGMDs
 =iaYv
 -----END PGP SIGNATURE-----

Merge tag 'renesas-soc3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Pull "Third Round of Renesas ARM Based SoC Soc Updates for v3.18" from Simon Horman:

* Initial r8a7794 SoC support
* Support Cortex-A7 in shmobile_init_delay()

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'renesas-soc3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Initial r8a7794 SoC support
  ARM: shmobile: support Cortex-A7 in shmobile_init_delay()
2014-09-09 17:09:35 +02:00
Arnd Bergmann
eb492df961 Renesas ARM Based SoC r8a7740 Multiplatform Updates for v3.18
* Enable multiplatform support for r8a7740 SoC and remove
   its DT-reference C board DTS files.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUDn0tAAoJENfPZGlqN0++ZtUP/0Defv+eu9UXHUQxpkMZ6nMj
 HZb/q/0Hkf001UFXMcK5jzn06zKDJm4jpYp88K3SPtIPE95Uc8JbbLeQf1/n6rWc
 Vw7VP/bxex3F1hcxChaBNtX6iv9ytMYQtR5Ud+cBeqxzehQp0Q9pHqIP20B5N2IS
 VWdi6gvIALSXsclo2HZNjZ/rWZQ2wJ/u3CWAw7Lm6ufv9ge1fE6OfXz/eBcaPDly
 QwMr7iYc35bKtTDgow9ltD8vmSI/Gf1A4egC1Yuh1V14hOE9c0hwfdSzDG9wrLPq
 lKfj+sVnR6CayBTAKKwNKZhBxQGRGjCibpGuFuMMkKJreyHAhzh14elNhLSAbHff
 3DBKoPkfYaiYz3Qsm0bisp73cJ5JejnRK+wyirbcCApcMlHySsJhAeAAdA44RALD
 XK4CvDesXS8EI0xyIJxzS6VpeqOZQtz3u0osh6AsKtBdKmnBANvYe7oUkOT/X2ZO
 W9jN8vjZDzsmIfGsgR+2+kE3suscUTOmm0+m2R0fWYaZ2Nk6ezK/RpjCDAgL5N11
 9GwuRdS3qN4Dm7vfbUJwxmmzugrCDZnVM+LHbSbcG6EGerCu8G4PLcbxqhjXlNM2
 bn1Rhg9cDplc37eFVuowMlDwQCz32s2tiOAeXWS9qp1O5MlgsI8r1CEmIujliwx7
 nemLMnHHh949oKg+JKWE
 =QiXp
 -----END PGP SIGNATURE-----

Merge tag 'renesas-r8a7740-multiplatform-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Pull "Renesas ARM Based SoC r8a7740 Multiplatform Updates for v3.18" from Simon Horman:

* Enable multiplatform support for r8a7740 SoC and remove
  its DT-reference C board DTS files.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'renesas-r8a7740-multiplatform-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: armadillo800eva reference: Remove DTS
  ARM: shmobile: armadillo800eva reference: Remove C board code
  ARM: shmobile: r8a7740: Add restart callback
  ARM: shmobile: armadillo800eva: Build DTS for multiplatform
  ARM: shmobile: armadillo800eva: Sync DTS
  ARM: shmobile: r8a7740: Multiplatform support
2014-09-09 17:07:30 +02:00
Ulrich Hecht
48a0d1e07d ARM: shmobile: kzm9g-reference: Enable CMT1 in device tree
Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
Acked-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-09-09 11:53:14 +09:00
Ulrich Hecht
6a5336a77c ARM: shmobile: sh73a0: Add CMT1 device to DT
Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
Acked-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-09-09 11:53:08 +09:00
Simon Horman
a2ffcf87f5 ARM: shmobile: r8a7740: Use SoC-specific 48-bit CMT compat string
In general Renesas hardware is not documented to the extent
where the relationship between IP blocks on different SoCs can be assumed
although they may appear to operate the same way. Furthermore the
documentation typically does not specify a version for individual
IP blocks. For these reasons a convention of using the SoC name in place
of a version and providing SoC-specific compat strings has been adopted.

Although not universally liked this convention is used in the bindings for
a number of drivers for Renesas hardware. The purpose of this patch is to
make use of the SoC-specific CMT compat string for the r8a7740 48-bit CMT
clock source.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-09-09 11:50:05 +09:00