2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-27 06:34:11 +08:00
Commit Graph

72418 Commits

Author SHA1 Message Date
Olof Johansson
f4936639bc From Paul Walmsley <paul@pwsan.com>:
AM33xx hwmod data and miscellaneous clock and hwmod fixes.  AM33xx
 should now boot on mainline after this is applied, according to
 Vaibhav.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQUWFsAAoJEBvUPslcq6VzI70P/2ECL6bunE1s53JInm7u3HFB
 SM5RkOXsF8Sl+2zW0V2R8ZO9OQZC1co8e+6SmlPftv1pVXYP4wtNiFHy1MMQ5Nr7
 O2ajKzAcGM1TAiJQ4A1yyfRZucOQQx7pPifACWkjagWy06JaYSUWGaea3z/g/n/U
 2CGySqfyzwisiMnyZvIyxHD+cSDtERoweEEbFBKeLRlfecuBs91tIyHNbMqy7cc2
 Bf+2G8m0AnrzMqhtzNAKCGJSzFEFDlr0umpLFxC+QLVFHKMJWJ7o2RwuAqf/Z9lw
 AS8q2sqzypOPz7eW7z9WLqCW1YlJWhBJmLCJ1alvkebRvWRM0idlVVS3wKjHaP6q
 NXF91mn21Xd9xzjXTtgigiDav0MpMuH6+FVWENanx1Rhn23GUIyRdKGMFQOeze2l
 lS/vitiTDsCbXQ/EJNlDNHI2skv6AgbBbSpCsg+YivjF16DfZWhlZrFKSvQbWKfW
 Mv5PnOnrpcIFNzcH8tGv9XUa61wM/HvRFbcICePAKOKy+vn2VkR/Q1XMmwHANhVf
 +AMDtRNCfuspmed1pIdy4vOAcWFdXhL2jZFOBeX6rENJ2+rwJuziEuwsc1xQ8BZ5
 KV9RZcg9NwvhEBiLK+K4nViRwTeeSC1OZGIEpIsJ6YOTOfWClYSnTW7In5gY1jNL
 HetIvmP55Mm21G4L02D/
 =UyqO
 -----END PGP SIGNATURE-----

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

From Tony Lindgren:
From Paul Walmsley <paul@pwsan.com>:

AM33xx hwmod data and miscellaneous clock and hwmod fixes.  AM33xx
should now boot on mainline after this is applied, according to
Vaibhav.

(The shortlog makes no sense here since it contains mostly the dependent
cleanups that are part of the preceding branches).

Signed-off-by: Olof Johansson <olof@lixom.net>
2012-09-16 20:13:04 -07:00
Olof Johansson
d1226e8f98 Kevin Hilman <khilman@ti.com>:
Updates for omap_device layer for v3.7.
 
 Allows omap_device layer to keep track of driver bound status in order
 to make more intelligent decisions about idling unused devices.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQUV9+AAoJEBvUPslcq6VzowIQAKB/qmgPDjNkHk7YsVRaIKJa
 Jh4owrr1i141Tdz0X5tyXZLXob356fXEphi20mBDnxBhx0RA+BIhVvUa4DM2AGZx
 qKENVws4my2uRWnsrIPY2GmrBY61wEYaSeqp6KeVQ1NJENKe9e1mcD/WakNZdhQt
 Nk16ObPjtcSXhL+3cWprp7qaIRfFXgWg0KDAC26RTd4S1YvGhnT442ZlPXKf6klG
 yTkfljNgGiwKeFHF8w1KSmFmuhTsEu8R7e4xUt9nwnqWj3RHjioZV70LyhUYMJis
 ttQT5+OywtLQu7hCDKMDtgDAkH7zPtww00PiMKZSATEUOX3cKVG4wFyAYrKz3HBe
 Hx1qj7g0vNqiTty7rGC1rJrIOVVCjwx2iR4JVgmZ1Q3iLIuL53COu+o20/IHcS+l
 E7PbXw0BF9dghcL12HtCx26TrW26iewA14kEo0KKie7aWor/R07G+Bh/ittbnfu1
 PlR+VVJflPr8fJMSaW6+Pt8Od2xNQ1bh37V4MVY9KKBxkAfFS4uPowg44RiHz2nP
 wmC764DAZH+Qd7+jpz+hH3HLYiIjWqdhKof2BDejVnLUSymaYUJX/7cU9PoNn2h3
 4nx76ecW1CoRR/rl9FaXhP1BcO9/AdOFQjRE+9UhoqBlHKjwIrFvRef8ZnQc7o2Q
 8dj9vcRnI52jQQ4IHtUq
 =oGJ/
 -----END PGP SIGNATURE-----

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

Kevin Hilman <khilman@ti.com>:

Updates for omap_device layer for v3.7.

Allows omap_device layer to keep track of driver bound status in order
to make more intelligent decisions about idling unused devices.

* tag 'devel-omap-device-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP: omap_device: idle devices with no driver bound
  ARM: OMAP: omap_device: don't attempt late suspend if no driver bound
  ARM: OMAP: omap_device: keep track of driver bound status
  + sync to 3.6-rc5
2012-09-16 19:24:53 -07:00
Olof Johansson
cccc277ba8 ARM: tegra: implement CPU hotplug
This branch implements CPU hot-plugging support for both Tegra20 and
 Tegra30. Portions of the implementation are contained in the clock
 driver, hence this branch is based on the common clock conversion in
 order to avoid duplicating work.
 
 This branch is based on previous pull request tegra-for-3.7-common-clk.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iQIcBAABAgAGBQJQU4DzAAoJEMzrak5tbycxwvIP/1nINaoG27CRz/SwsbhDw4N2
 1ESEbEAynnAsdmZCpmIpvK3Xr/aE8hBfKc0EUgi7intThjFcLwzFnH7yEKzdxdJM
 ZgY7JawMML7J0yXrLuJaISyHn9Kbp1A0B8bJo8cld56h8rd99vC6OZxPGvVuaY8y
 I28nXhvkiiHS1h7ilT/bf4aa7Z3u4xiS46hsiCUu1fWCM//JtpMDChCUKIshaGxU
 G5j/o/oivGShjamQRcbBCnwo5LdMUiaAXotszVNnJC/17p1FMWViMGjH6fmSN1KJ
 G8+jX70mJ3PCRH4ivE+KZBpddG/anNviXc6cVYZrW+/nkJwvD61OEKs3p7siLyuF
 igJeXGwXHZwTBDm5rYqbguR0c8VD1TriAibk72lz/jTHWLy0gvqnZXPerp2cbC37
 4BHfKFczeB2gJiHIKnmlawYIk2ckAd+gahI19X/JGcbhiXDQSJWUIK9SCKQBtxZk
 eD1nOpH/nvPkh414xkLz44UheYk8u+6blYZ5St4wiJM+35ngbU1Fh1oOziH7PZG6
 EslqoAKxJ79igUGNc9mcvKFlNZSU7ItlXMDWTlW0GWI8jubsxIrfeNr5bjBLGL3t
 1LHSO1FDnr87ha8jGXlZtSyNvcY8cLVILjMcZNUha0wE9hllm5naBDnaDrFlC0CQ
 vFvNodvbqZns96ZK05yw
 =kTup
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-3.7-cpu-hotplug' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/soc

From Stephen Warren:

ARM: tegra: implement CPU hotplug

This branch implements CPU hot-plugging support for both Tegra20 and
Tegra30. Portions of the implementation are contained in the clock
driver, hence this branch is based on the common clock conversion in
order to avoid duplicating work.

By Joseph Lo
via Stephen Warren
* tag 'tegra-for-3.7-cpu-hotplug' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:
  ARM: tegra20: add CPU hotplug support
  ARM: tegra30: add CPU hotplug support
  ARM: tegra: clean up the common assembly macros into sleep.h
  ARM: tegra: replace the CPU CAR access code by tegra_cpu_car_ops
  ARM: tegra: introduce tegra_cpu_car_ops structures
2012-09-16 18:33:23 -07:00
Olof Johansson
ea2abb670b ARM: tegra: switch to the common clock framework
This branch contains a few bug-fixes, followed by a conversion of Tegra's
 clock driver to the common clock framework, followed by various bug fixes
 found after the conversion.
 
 This branch depends on v3.6-rc4.
 
 This branch is a dependency for a few later pull requests.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iQIcBAABAgAGBQJQU3/GAAoJEMzrak5tbycxpmgP/3FVs1lzOkPoO0kEU1p4OpwS
 FqyytxJiO0vo40MDeqB0SKQX3Ss9eonwq9J1bj/N14GeZipBCtPEezl84JdKgI21
 8Lktfcxd72rjmWDJQWDzlSJfBZVvdH3B4QUWBAEumGTZ6sqkeAkw2oyG2xY2OBJO
 2tUA56IThlviYdQBcZPnW8BypKdD6xncxgvHT2Kp1BE8FWy+JrJZQPpUKtlI0p0w
 MHrsgB2FYuKcILoqVeYRI2EiX/NyDtnhY0sadqwL7zyFzkiV2cF54MIrYjTPgZ5w
 jpCsnt/EFMUWk1Obav5ldX1HJojyQOGASNNqO+M24GWNUOkG6D8km60rzzykgcb5
 4G2NQFfLcHrnXV/u2nOGzMOfpq3PDMyLJ45CjW4Vu9vpLOZuS93IwuVxBNedY2oa
 rM0OWXaKOH2RVCj2siO+QqclwbjF0ASunvMwo2tpVcfwFN0/1eco68yoHGhBzA8O
 SlPHAIZ0oHBOTwmcTXUs2fqIotO1NvA7j0Q7ig4kFEQHmsfsBOd0a1kE7f9vcbiU
 pGE2R+R+U3yhEmqUJFhkBm+E36N14urpmHE1YDfONb2gKdt8e750weRRlS0Wb1cF
 KJ4roB1fkXlnf86DXZbn0fNPXeOlM4S0myk5Vaz/r7E3m7yvPk4G3DIGMUDu+i5V
 zLXQEnrf+Q3M8bczdtXE
 =hSRq
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-3.7-common-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/soc

From Stephen Warren:

ARM: tegra: switch to the common clock framework

This branch contains a few bug-fixes, followed by a conversion of Tegra's
clock driver to the common clock framework, followed by various bug fixes
found after the conversion.

* tag 'tegra-for-3.7-common-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:
  ARM: Tegra: Add smp_twd clock for Tegra20
  ARM: tegra: cpu-tegra: explicitly manage re-parenting
  ARM: tegra: fix overflow in tegra20_pll_clk_round_rate()
  ARM: tegra: Fix data type for io address
  ARM: tegra: remove tegra_timer from tegra_list_clks
  ARM: tegra30: clocks: fix the wrong tegra_audio_sync_clk_ops name
  ARM: tegra: clocks: separate tegra_clk_32k_ops from Tegra20 and Tegra30
  ARM: tegra: Remove duplicate code
  ARM: tegra: Port tegra to generic clock framework
  ARM: tegra: Add clk_tegra structure and helper functions
  ARM: tegra: Rename tegra20 clock file
  ARM: tegra20: Separate out clk ops and clk data
  ARM: tegra30: Separate out clk ops and clk data
  ARM: tegra: fix U16 divider range check
  ARM: tegra: turn on UART A clock at boot
2012-09-16 18:25:15 -07:00
Olof Johansson
26a806c064 ARM i.MX SoC updates
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABCAAGBQJQUG1pAAoJEPFlmONMx+ezxIUP/RGfylH27+JGg+88dj8y1RfF
 jaKYDmhD4owGhHSES2XRyfeEcZQ7i4+NH/fsNqsfzsHcQiPx380ptwwzkwzM8Z1R
 FgFtqrJ1TzPPsXtl93pVi3M6nHgGod/9gZh+sEZ8k6TmTeTGbS5AjhRZ9xD699uP
 mp/3xTQuKjusV6/4MNkmxy/56DSqoXAMGitR4PXf9NeS9EyJYq6GOkbQ0Zugxs66
 eZxHw93rPqifZQcV17aWOY75TdGsQ1OiYoVwGWLFEc8a2zhi3TB68s36cNdhCb1V
 KIXkHurdDwg8kY6v9ueNRBEckjp7oXUTQmpYpGi2QJzJtblVfqqg9ACTvyeFKrlm
 va5H/UVJmehkwxVADj/Wm08Uknfph0EtAE7Dt6IceZjmwNB+haoc3M8rm+FJkmK7
 2cB0N7HHrN1jK7GAYHkmyFc8H5392Nk4/b161AR/vVupTEq7040eoTRmc7cg2oVE
 3L2cD5i7VnGJ0McdRJO6l7JOCX+U/SKH9mpNu32AIakcU2QkMrJP2O0Oh7VwaSiP
 OU322R276jOD0zRR0nwa5jM8gOOZPsi0vYOjyTpoOw/+xDQ1le42HkfMRUr0Wusi
 yrkhtFJN1WQUY2OzS89CWTri0uS2isZfiLCq/pJZQdjB+JgFrfYmddgicoAPts64
 NX/60y79DFzNAixHItUt
 =YY27
 -----END PGP SIGNATURE-----

Merge tag 'imx-soc' of git://git.pengutronix.de/git/imx/linux-2.6 into next/soc

ARM i.MX SoC updates

* tag 'imx-soc' of git://git.pengutronix.de/git/imx/linux-2.6:
  ARM: i.MX35: Implement camera and keypad clocks
  ARM: mxc: ssi-fiq: Make ssi-fiq.S Thumb-2 compatible
  ARM i.MX53: register CAN clocks
  arm imx31: add a few pinmux settings the tt01 needs
2012-09-16 17:15:29 -07:00
Joseph Lo
453689e407 ARM: tegra20: add CPU hotplug support
Hotplug function put CPU in offline or online mode at runtime.
When the CPU been put into offline, it was been clock gated. The
offline CPU can be power gated, when the remaining CPU goes into
LP2.

Based on the worked by:
Colin Cross <ccross@android.com>
Gary King <gking@nvidia.com>

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-09-13 11:41:06 -06:00
Joseph Lo
59b0f6825c ARM: tegra30: add CPU hotplug support
Hotplug function put CPUs in offline or online state at runtime.
When the CPU been put in the offline state, it was been clock and
power gated. Except primary CPU other CPUs can be hotplugged.

Based on the work by:
Scott Williams <scwilliams@nvidia.com>
Colin Cross <ccross@android.com>
Gary King <gking@nvidia.com>

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-09-13 11:41:06 -06:00
Joseph Lo
c2be5bfcc9 ARM: tegra: clean up the common assembly macros into sleep.h
There are some common macros for Tegra low-level assembly code. Clean
up them into one header file and move the definitions that will be
re-used into it as well.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-09-13 11:41:06 -06:00
Joseph Lo
bb6032776d ARM: tegra: replace the CPU CAR access code by tegra_cpu_car_ops
Replacing the code that directly access to CAR registers with
tegra_cpu_car_ops. This ops hides CPU CAR access inside and
provides control interface for it.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-09-13 11:41:05 -06:00
Joseph Lo
dab403ef23 ARM: tegra: introduce tegra_cpu_car_ops structures
The tegra_cpu_car_ops provide the interface for CPU to control
it's clock gating and reset status. The other drivers should use
this for CPU control. And should not directly access CAR registers
to control CPU.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-09-13 11:41:05 -06:00
Prashant Gaikwad
b4350f40f7 ARM: Tegra: Add smp_twd clock for Tegra20
Clockevent's frequency is changed upon cpufreq change
notification. It fetches local timer's rate to update the
clockevent frequency. This patch adds local timer clock
for Tegra20.

Signed-off-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-09-13 11:34:29 -06:00
Tony Lindgren
11964f53eb AM33xx hwmod data and miscellaneous clock and hwmod fixes. AM33xx
should now boot on mainline after this is applied, according to
 Vaibhav.
 
 This second version includes trailing commas at the end of structure
 records at Tony's request.  It also adds a OMAP_INTC_START macro
 expansion to each IRQ number to make the sparseirq conversion easier.
 
 Basic build, boot, and PM test transcripts are here:
 
 http://www.pwsan.com/omap/testlogs/am33xx_hwmod_clock_devel_3.7/20120912165952/
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQURsaAAoJEMePsQ0LvSpLl24QAIMeCOw7z+SEjOetmWPRekS6
 uPj9mz7EkWjBITMAPToQ7v9oESn+M0jcaD7wkOKaVBhPj6shXUwaMy6KmcZ5BuKf
 1zrjL57ljhVLYumX8sKO3vPfKt1JvRCvcgu7xtgDKc9ywmuJLqolbi9BNxh/xo94
 7IQHJk6Snrz6DxRTcvX2jUOwHG5o8WCGjPST5ZTQCKQKdpxKyeUILrhddbJMQdaq
 U7DTxZVdk75KM0dbt8wVRP7AWczh8TLBEKR/bsWF47g/iL0neMDuLXyfrOd0A5ct
 +JyGycl5a6lF/TiTQ7Is36s0uquidKozIx+2PwCdJGX/ntvme1wOZUGq1NSET/sw
 /Uos1NjJqhM1wLPL0AbuJ8hQlZkvZThYL6c0a+GSxKGKE2dtk5ZH8vC/JMv17u21
 RUzxjq1rDZVGYnm3CtO305kzQYxdUu/7aBMCE29gWKrlPr8Pz2O6wvkFePja9Qxe
 YmlxakogwpFkmMaQ3eeN14VEuXCd7c2i1o8XiF/9ph250qzzKd6wTSra6Xggd32L
 17GXtAfGWySqgFhb3Mfupbbr/lWGSFLeW2NhT7ZGsORvTC8J4KCql0r7f9V0/1WH
 DjUcljoYF15CdOxh71vIsUOKDqN0RtyRIgeBXaIam8RDNhaF5WJjjtiIbFIS4EAm
 Xw9zTjalQzJnbivxz/cy
 =yRjp
 -----END PGP SIGNATURE-----

Merge tag 'omap-devel-a2-for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into devel-am33xx

AM33xx hwmod data and miscellaneous clock and hwmod fixes.  AM33xx
should now boot on mainline after this is applied, according to
Vaibhav.

This second version includes trailing commas at the end of structure
records at Tony's request.  It also adds a OMAP_INTC_START macro
expansion to each IRQ number to make the sparseirq conversion easier.

Basic build, boot, and PM test transcripts are here:

http://www.pwsan.com/omap/testlogs/am33xx_hwmod_clock_devel_3.7/20120912165952/
2012-09-12 21:29:07 -07:00
Tony Lindgren
47d85ec2a2 Updates for omap_device layer for v3.7.
Allows omap_device layer to keep track of driver bound status in order
 to make more intelligent decisions about idling unused devices.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJQUOmNAAoJEFk3GJrT+8Zlkm4P/3RUc2w4UJAsbz5/UcF4n4Nf
 +lkHjxNMSVGuWYqzcKSMnj3sKqcX1VhTNtak87VfdNeANzdryNXqWNKJow5W/Fqc
 A+PE6NeZplZBRAyW5BkMVWca1W8XB8cHU5ajwl4rJFQsMVxoR6U+Sv4hhs42BwQJ
 RC+cSvqiYwRQT7WSnGbkOQWbylyeJGXZpVWgv4ki/ggVvqrs07MNmBh5dLdxWRPg
 DYMukfuyNkhCISUZxenEB3/ph8TxzBrlj0biMQQHk/K9VxlFWmhZ5h+Ye3YSRLYy
 xzinkzdzaoKEA+HQAVucdHz9OSwQjP9fG8wortLRvSV74gv9pgz+Q9j51zBKHdH4
 tTeakEy8PJPodq1GPShxuNeulSMdG8xrfWv23uZ5Kwf1lgL1ywhX91zDs3Vd+i+u
 +5Jx2FEgPfWE306kGOrnZpWfh9GZFJWdWje5BvBtk/E8o+pZQJXBmYBs0L/V6TGw
 aNzeShejL9JDF7A5Yzyd01+BZbu3fFjqx1SOUUTGglAfrQHHLRLUwctdCVud1ZEN
 3Gw1EGWelgj8eee0E8fKF0yqYGK69dJwmusEqAXLbswB+Wnjd6rHcaB5z5lfqsVC
 qNWtxFmQEq8H988qbhlxjRxYQewxQ8KJfNGJimG6xX75sLCGXC4/vBnL81NNviRA
 FQLi+TAEk4cUZosx9zah
 =JHjf
 -----END PGP SIGNATURE-----

Merge tag 'for_3.7-omap_device' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into devel-omap-device

Updates for omap_device layer for v3.7.

Allows omap_device layer to keep track of driver bound status in order
to make more intelligent decisions about idling unused devices.
2012-09-12 21:17:56 -07:00
Tony Lindgren
68cb700c59 ARM: OMAP1: Move SoC specific headers from plat to mach for omap1
There's no need to have these in plat-omap any longer. Note that these
could eventually be made local to mach-omap1 instead of being in mach.

But to do that, at least various driver access using omap7xxx.h registers
needs to be fixed first.

Cc: spi-devel-general@lists.sourceforge.net
Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:31 -07:00
Tony Lindgren
c49f34bc25 ARM: OMAP2+ Move SoC specific headers to be local to mach-omap2
These can now be moved to be local headers in mach-omap2.

Note that this patch removes arch/arm/plat-omap/devices.c as it
will get removed anyways with Paul Walmsley's patch
"ARM: OMAP: split OMAP1, OMAP2+ RNG device registration".

Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:31 -07:00
Tony Lindgren
dbc0416104 ARM: OMAP: Split plat/hardware.h, use local soc.h for omap2+
As the plat and mach includes need to disappear for single zImage work,
we need to remove plat/hardware.h.

Do this by splitting plat/hardware.h into omap1 and omap2+ specific files.

The old plat/hardware.h already has omap1 only defines, so it gets moved
to mach/hardware.h for omap1. For omap2+, we use the local soc.h
that for now just includes the related SoC headers to keep this patch more
readable.

Note that the local soc.h still includes plat/cpu.h that can be dealt
with in later patches. Let's also include plat/serial.h from common.h for
all the board-*.c files. This allows making the include files local later
on without patching these files again.

Note that only minimal changes are done in this patch for the
drivers/watchdog/omap_wdt.c driver to keep things compiling. Further
patches are needed to eventually remove cpu_is_omap usage in the drivers.

Also only minimal changes are done to sound/soc/omap/* to remove the
unneeded includes and to define OMAP44XX_MCPDM_L3_BASE locally so there's
no need to include omap44xx.h.

While at it, also sort some of the includes in the standard way.

Cc: linux-watchdog@vger.kernel.org
Cc: alsa-devel@alsa-project.org
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: Jarkko Nikula <jarkko.nikula@bitmer.com>
Cc: Liam Girdwood <lrg@ti.com>
Acked-by: Wim Van Sebroeck <wim@iguana.be>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:31 -07:00
Tony Lindgren
cc4f0f33c7 ARM: OMAP: Remove unused old gpio-switch.h
This is no longer used anywhere.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:31 -07:00
Tony Lindgren
8afc5e088e ARM: OMAP1: Move plat/irqs.h to mach/irqs.h
This is now omap1 specific files.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:31 -07:00
Tony Lindgren
ec2c0825ca ARM: OMAP2+: Remove hardcoded IRQs and enable SPARSE_IRQ
Remove hardcoded IRQs in irqs.h and related files as these
are no longer needed.

Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:30 -07:00
Tony Lindgren
7d7e1eba7e ARM: OMAP2+: Prepare for irqs.h removal
As the interrupts should only be defined in the platform_data, and
eventually coming from device tree, there's no need to define them
in header files.

Let's remove the hardcoded references to irqs.h and fix up the includes
so we don't rely on headers included in irqs.h. Note that we're
defining OMAP_INTC_START as 0 to the interrupts. This will be needed
when we enable SPARSE_IRQ. For some drivers we need to add
#include <plat/cpu.h> for now until these drivers are fixed to
remove cpu_is_omapxxxx() usage.

While at it, sort som of the includes the standard way, and add
the trailing commas where they are missing in the related data
structures.

Note that for drivers/staging/tidspbridge we just define things
locally.

Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:30 -07:00
Tony Lindgren
4b25408f1f ARM: OMAP: Move gpio.h to include/linux/platform_data
This way we can remove includes of plat/gpio.h which won't work
with the single zImage support.

Note that we also remove the cpu_class_is_omap2() check
in gpio-omap.c as the drivers should not call it as we need to
make it local to arch/arm/mach-omap2 for single zImage support.

While at it, arrange the related includes in the standard way.

Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: linux-mtd@lists.infradead.org
Cc: alsa-devel@alsa-project.org
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:30 -07:00
Tony Lindgren
a940d9a1cb ARM: OMAP2+: Remove hardcoded twl4030 gpio_base, irq_base and irq_end
We can't use hardcoded interrupts for SPARSE_IRQ, and can replace
the hardcoded gpio_base with twl_gpiochip.base after it's been
allocated.

Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:30 -07:00
Tony Lindgren
714df7b8ab ARM: OMAP2+: Remove unused nand_irq for GPMC
This is no longer needed and assumes a fixed IRQ number
that won't work with SPARSE_IRQ.

Acked-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:30 -07:00
Tony Lindgren
3003ce3ecd ARM: OMAP2+: Make INTCPS_NR_IRQS local for mach-omap2/irq.c
Make INTCPS_NR_IRQS local for mach-omap2/irq.c

Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:30 -07:00
Tony Lindgren
936e0f2fd6 ARM: OMAP1: Define OMAP1_INT_I2C locally
This is needed to start removing hardcoded IRQs for omap2+.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:29 -07:00
Tony Lindgren
9ee0731768 ARM: OMAP1: Move define of OMAP_LCD_DMA to dma.h
This is needed to start removing hardcoded IRQs on omap2+.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-12 18:06:29 -07:00
Tony Lindgren
a1e01703ba Changes for GPMC (General Purpose Memory Controller) that take it
closer for being just a regular device driver.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQUQu9AAoJEBvUPslcq6Vz8AQQALVhM5PoomGlr4OkTFEc7+xy
 9r1W9NMbD0EX91o5SrdOCSvEaGSV3eKpe2nNGWXNhDwrpDz/Zeci2Ga/ADJdIx+h
 OxbMtx4o9hakSKJAgQAtnc8Ay9Ao5zYcDfMv2kVi8/iQ+CpVnzhZT9HN4rFv0eQF
 +7xhWlni10iqGyAEKVO1FajNZMO7qYdwXNq1XeuDNV3dFV/vOoaCVQbcH/+dyaRQ
 Wqq8BtYuZ3ELu2GiM7rJJMVu/c7AimHjmsXvO4nJ3fkD+izPaqHroNZFyNtHIv0k
 Hc6iWuxN9KnbKXv0Yioc78jDUxumUBToMfniBB9f7S69uKFBFB7FZQjxxje2KTZ8
 HWgUOHWPW3jKM24xfaZhtWtn+swSkSJcZB2DC4shK/nHF2WHH1zaWNVF6NOE/uk0
 nC3cGNOnsSw+jTbl0/CtxBOnpA8RCV3yeW+Fg+iH8v310yrZChtBh6e3ptlHoYl9
 2vZ4xEO2LRBa9MIq5RyLoei+omJFkiugkp75Ln3UrwjbfQyiH0HTWoI9nzkI8HF3
 CiyA7k6aDQ+Qp82L5WEvAh04Z8af2BZSDp6TlC4yEgBXV9Y4ssF8rhHvqBIzv1hC
 d6ohUGdwYQcVfL8xbVUwcbUaTvJcqmxNy20vkhEdqdYMrLWnjy09Nxbl8EJxe6Hh
 zvILFXH7sTIjXBGN3RlN
 =A43b
 -----END PGP SIGNATURE-----
mergetag object cf3a6ec2c0
 type commit
 tag cleanup-omap-tags-for-v3.7
 tagger Tony Lindgren <tony@atomide.com> 1347323254 -0700
 
 Remove the ancient omap specific atags that are no longer needed.
 
 At some point we were planning to pass the bootloader information
 with custom atags that did not work out too well.
 
 There's no need for these any longer as the kernel has been booting
 fine without them for quite some time. And Now we have device tree
 support that can be used instead.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJQToX6AAoJEBvUPslcq6VznGYP/141pkbT7BL112e8zMQrAWRb
 eKCJKw58J+XJZ4BTOCCqDwcGvKn0ZjRaCx7rtBmQVi1Pc7r4hmbPUwn6GSIMUTKY
 BKaCsfQFs1mS/uXXJcWV2JkXuKxooEsEP8KD7ctO5GgjBgTjPIIa45OG7qZMBqKL
 CYrjGRuaXJqtP9OR7Ad3gcbAkfCaYAIxvi+bb7jHHfYYQKJCLPPWno0aSEMRqvAm
 qZmRzc4CIzfBTxTixOvBsxa2MluViUTwtu+p6hpvhKvVO80QjJCL4kgdWk4hiSSe
 hWxHRsnA+aLX9vyuBwEWzDJ3ty0C3gur+F1bJpwtkQR/YUEmgak+pOQbe5WlA6rr
 9oonRue886c3QjyubY5k9uLWWC/wTnnPmztoGdDiWyDA89dJFjHGvK7tngKL/xz+
 cLhT5pHJnWSPiFlEWQbwU3znaA+rzbVbxwyDdIzl6KWyvq+m4rlCLHfv+StoC/4V
 JakoQTANNv3CIXwDpZiO0Ci4UwPzbr6SnUHCpuBauF4LpTIKUWp3wS/Vbl1rk2nr
 5huY48Dq5+itzFT8AoWMe+efjOI+pkKVOiuvdfMcd7qYKaFjqOCeEDOcFSKm7cq8
 gDDFG4BleDSVE69N+VR83+wZqCNtVEEeJiRWdNXmOE3laYbxfy3lJceZ0nejakLI
 hz+gFKrWiULXmQXkZh/J
 =utuw
 -----END PGP SIGNATURE-----

Merge tags 'omap-devel-gpmc-fixed-for-v3.7' and 'cleanup-omap-tags-for-v3.7' into cleanup-sparseirq

Changes for GPMC (General Purpose Memory Controller) that take it
closer for being just a regular device driver.

Remove the ancient omap specific atags that are no longer needed.

At some point we were planning to pass the bootloader information
with custom atags that did not work out too well.

There's no need for these any longer as the kernel has been booting
fine without them for quite some time. And Now we have device tree
support that can be used instead.
2012-09-12 18:05:19 -07:00
Vaibhav Hiremath
83c1154268 ARM: AM33XX: clock: Add dcan clock aliases for device-tree
Currently, the device names for the dcan module follows the
format "dcan.X", where 'X' is the dcan instance number.
On other side, driver may request for clock with/without con_id
and dev_id, and it is expected that platform should respect this
request and return the requested clock handle.

Now, when using device tree, the format of the device name created
by OF layer is different, "<reg-address>.<device-name>",
assuming that the device-tree "reg" property is specified.
This causes the look-up failure for clock node in dcan driver

To fix this add new dcan clock alias for using device-tree.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Rob Herring <robherring2@gmail.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2012-09-12 16:28:35 -06:00
Vaibhav Hiremath
78da264019 ARM: OMAP2+: dpll: Add missing soc_is_am33xx() check for common functions
Add missing soc_is_am33xx() check for DPLL common control & clock
related functions, without this dpll programmability would be broken
for am33xx family of devices.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2012-09-12 16:28:34 -06:00
Kevin Hilman
9634c8dd6a ARM: OMAP: omap_device: idle devices with no driver bound
Under some circumstances, drivers may leave an omap_device enabled due
to driver programming errors, or due to a failure in the drivers
probe method.

Using the recently added omap_device driver_status field, we can
detect conditions where an omap_device is enabled but has no driver
bound and then ensure that the device is properly idled until it can
be probed again.

The goal of this feature is not only to detect and warn on these error
conditions, but also to ensure that devices are properly put in
low-power states so they do not prevent SoC-wide low-power states.

Reviewed-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
2012-09-12 10:52:03 -07:00
Kevin Hilman
72bb6f9b51 ARM: OMAP: omap_device: don't attempt late suspend if no driver bound
Currently, the omap_device PM domain layer uses the late suspend and
early resume callbacks to ensure devices are in their low power
states.

However, this is attempted even in cases where a driver probe has
failed.  If a driver's ->probe() method fails, the driver is likely in
a state where it is not expecting its runtime PM callbacks to be
called, yet currently the omap_device PM domain code attempts to call
the drivers callbacks.

To fix, use the omap_device driver_status field to check whether a
driver is bound to the omap_device before attempting to trigger driver
callbacks.

Reviewed-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
2012-09-12 10:51:56 -07:00
Kevin Hilman
e753345bec ARM: OMAP: omap_device: keep track of driver bound status
Use the bus notifier to keep track of driver bound status by adding a
new internal field to struct omap_device: _driver_status.

This will be useful for follow-up patches which need to know whether
or not a driver is bound in order to make intelligent omap_device
enable/idle decisions.

Reviewed-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
2012-09-12 10:51:49 -07:00
Olof Johansson
e5567598c6 Merge branch 'renesas/pmu' into next/soc
* renesas/pmu:
  ARM: shmobile: emev2: enable PMU(Performance Monitoring Unit)
  ARM: shmobile: sh73a0: enable PMU(Performance Monitoring Unit)
2012-09-11 23:04:30 -07:00
Olof Johansson
8b60d520c3 Merge branch 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
* 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  r8a7779: add SDHI clock support
2012-09-11 22:56:33 -07:00
Vaibhav Hiremath
a2cfc509bc ARM: OMAP3+: hwmod: Add AM33XX HWMOD data
This patch adds HWMOD data for all the peripherals of
AM335X device and also hooks up to the existing OMAP framework.

hwmod data has been already been cleaned up for the recent
changes in clocktree, where all leaf nodes have been removed,
since with modulemode based control, both clock and hwmod
interface does same thing. This reduces the code size to large
extent and also avoids duplication of same control.
So instead of specifying module's leaf node as a main_clk,
now we are relying on parent clock of module's functional clock.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
[paul@pwsan.com: removed period in hwmod device names; changed mmc2 main_clk
 to mmc_clk at Vaibhav's request; added trailing commas to structure
 records at Tony's request to deal with some rmk parsing issues; added
 OMAP_INTC_START to facilitate sparse-IRQ conversion]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2012-09-11 17:18:58 -06:00
Vaibhav Hiremath
1688bf19b8 ARM: OMAP2+: hwmod: Hook-up am33xx support in omap_hwmod framework
AM33XX PRCM architecture is different that any OMAP family
of devices, so it is required to have separate implementation
to handle AM33XX module enable/disable, reset assert/deassert
functionality.
This patch adds wrapper api's in omap_hwmod framework to
access prm/cm for AM33XX family of devices.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
[paul@pwsan.com: fixed checkpatch messages]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2012-09-11 17:18:53 -06:00
Stephen Warren
ce32ddaa70 ARM: tegra: cpu-tegra: explicitly manage re-parenting
When changing a PLL's rate, it must have no active children. The CPU
clock cannot be stopped, and CPU clock's divider is not used. The old
clock driver used to handle this by internally reparenting the CPU clock
onto a different PLL when changing the CPU clock rate. However, the new
common-clock based clock driver does not do this, and probably cannot do
this due to the locking issues it would cause.

To solve this, have the Tegra cpufreq driver explicitly perform the
reparenting operations itself. This is probably reasonable anyway,
since such reparenting is somewhat a matter of policy (e.g. which
alternate clock source to use, whether to leave the CPU clock a child
of the alternate clock source if it's running at the desired rate),
and hence is something more appropriate for the cpufreq driver than
the core clock driver anyway.

Cc: Prashant Gaikwad <pgaikwad@nvidia.com>
Cc: Peter De Schrijver <pdeschrijver@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-09-11 10:06:14 -06:00
Stephen Warren
7a74a4436b ARM: tegra: fix overflow in tegra20_pll_clk_round_rate()
32-bit math isn't enough when e.g. *prate=12000000, and sel->n=1000.
Use 64-bit math to prevent this.

Cc: Prashant Gaikwad <pgaikwad@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-09-11 10:05:55 -06:00
Tetsuyuki Kobayashi
e433d4440b ARM: shmobile: emev2: enable PMU(Performance Monitoring Unit)
This patch enables PMU(Performance Monitoring Unit) for emev2.

Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
Signed-off-by: Simon Horman <horms@verge.net.au>
2012-09-11 16:27:41 +09:00
Tetsuyuki Kobayashi
f23f5be0ed ARM: shmobile: sh73a0: enable PMU(Performance Monitoring Unit)
This patch enables PMU(Performance Monitoring Unit) for sh73a0.

Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
Signed-off-by: Simon Horman <horms@verge.net.au>
2012-09-11 16:27:25 +09:00
Igor Grinberg
cf3a6ec2c0 ARM: OMAP: remove plat/board.h file
plat/board.h file is now empty - remove it.

Cc: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Cc: Chris Ball <cjb@laptop.org>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: linux-mmc@vger.kernel.org
Cc: linux-mtd@lists.infradead.org
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-10 16:39:21 -07:00
Igor Grinberg
801475ccb2 ARM: OMAP: move debug_card_init() function
debug_card_init() function resides in the plat/board.h file.
Move it to a separate header file under plat/ so the board.h file can be
removed.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-10 16:39:20 -07:00
Igor Grinberg
ad6c9101c7 ARM: OMAP1: move lcd pdata out of arch/arm/*
omap1 lcd platform data resides inside plat/board.h while it
should be inside include/linux/...
Move the omap1 lcd platform data to include/linux/omapfb.h.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-10 16:34:00 -07:00
Igor Grinberg
cc01272986 ARM: OMAP1: move omap1_bl pdata out of arch/arm/*
omap1 backlight platform data resides inside plat/board.h while it
should be inside include/linux/...
Move the omap1 backlight platform data to
include/linux/platform_data/.

Cc: Richard Purdie <rpurdie@rpsys.net>
Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: linux-fbdev@vger.kernel.org
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-10 16:34:00 -07:00
Igor Grinberg
3927b3f78c ARM: OMAP: remove the omap custom tags
The omap custom initialization tags are not used anymore (if ever)
by the mainline kernel.
Thus remove the omap custom initialization tags.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-10 16:33:59 -07:00
Igor Grinberg
8aa8a9037a ARM: OMAP1: remove the crystal type tag parsing
The omap1 crystal setting uses the OMAP custom tags.
Those tags are not used in upstream kernel and therefore the crystal
type is never set by the tag parsing code on upstream kernels.
Remove the crystal tag parsing code.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-10 16:33:59 -07:00
Igor Grinberg
b61968e5cf ARM: OMAP: remove the sti console workaround
The sti console workaround uses the OMAP custom tags.
Those tags are not used in upstream kernel and therefore the workaround
never fires on upstream kernels.
Remove the sti console workaround tags part.
This leaves the workaround functional part intact so can be reused if
needed.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-10 16:33:59 -07:00
Igor Grinberg
e54adb1e79 ARM: OMAP: omap3evm: cleanup revision bits
The omap3evm has its revision information bits inside the plat/board.h
file. Those bits are not used anywhere in the upstream tree besides the
board-omap3evm.c file.
Move the OMAP3EVM_BOARD_GEN_* bits to the board file and remove the
get_omap3_evm_rev() function declaration.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-10 16:33:59 -07:00
Linus Walleij
43b5f0d692 serial: pl011: delete reset callback
Since commit 4fd0690bb0
"serial: pl011: implement workaround for CTS clear event issue"
the PL011 UART is no longer at risk to hang up, so get rid
of the callback altogether.

Cc: Rajanikanth H.V <rajanikanth.hv@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-10 16:33:02 -07:00
Igor Grinberg
761d4c9d5c ARM: OMAP: cleanup struct omap_board_config_kernel
struct omap_board_config_kernel defined in the board files
is always empty and does not bring any added value.
Remove the struct omap_board_config_kernel instances from the board
files.
Also remove the omap_get_nr_config() macro and the omap_get_var_config()
function as both are not used for quite a long time (if ever).

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-09-10 16:25:00 -07:00