Commit Graph

55 Commits

Author SHA1 Message Date
Igor Grinberg
d04b620e6e omap3: Introduce CompuLab CM-T3517 module
Add basic suppot, enable uart and led.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-09-27 15:14:26 -07:00
Santosh Shilimkar
455d4d2dc7 omap: Update and rename common defconfig for omap2plus devices
This patch addresses below things

- Renaming existing omap3_defconfig which has OMAP2, OMAP3 and OMAP4 builds
  enabled to more appropriate name 'omap2plus_defconfig'
- L1 cache shift is suppose to be 5 on OMAP4 where as it is 6 on previous
  OMAPs. Keeping it to 5 is safer option for OMAP4 and previous OMAPs. For
  OMAP3 only build the shift would be still 6
- Enable needed Errata's for OMAP4 to work with DMA based device drivers
	CONFIG_PL310_ERRATA_588369=y
	CONFIG_ARM_ERRATA_720789=y
- Enable the Micrel ethernet controller
	CONFIG_KS8851=y
	CONFIG_KS8851_MLL=y

With above three changes, OMAP4 ethernet, mmc etc works reliably.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-09-20 14:58:09 -07:00
David Anders
b075f58b2c omap4: Add OMAP4 Panda Support
Add initial support for the OMAP4 based Panda Board.

Signed-off-by: David Anders <x0132446@ti.com>
[tony@atomide.com: selected board by default in Kconfig]
Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-08-02 13:18:05 +03:00
Tony Lindgren
8d9166b519 omap2/3/4: Add Kconfig option to compile in typical omap features
This produces a sane config that's suitable for using as the
base for most omap2/3/4 boards.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-07-05 16:31:48 +03:00
Tony Lindgren
ffb63e3402 omap2/3/4: Select all omaps and boards by default
Select all omaps and boards by default

Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-07-05 16:31:47 +03:00
Tony Lindgren
68ac8f7dda omap2/3/4: Move Kconfig options to mach-omap2/Kconfig
Move omap2/3/4 specific Kconfig options to mach-omap2/Kconfig

Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-07-05 16:31:47 +03:00
Tony Lindgren
4a54db6124 omap: Make omap specific features appear under Kconfig menu
This will make Kconfig look nicer for selecting omap processor type

Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-07-05 16:31:47 +03:00
Tony Lindgren
369ed78fc9 omap: mux: Select POP package for 2430SDP
Select POP package for 2430SDP

Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-07-05 16:31:38 +03:00
Tony Lindgren
bd8f0fc979 omap: mux: Select POP package for N8X0
Select POP package for N8X0

Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-07-05 16:31:38 +03:00
Tony Lindgren
b52b14ef0d omap: mux: Select POP package for Apollon
Select POP package for Apollon

Cc: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-07-05 16:31:37 +03:00
Tony Lindgren
23275d459e omap: mux: Select SIP package for H4
Select SIP package for H4

Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-07-05 16:31:37 +03:00
Tony Lindgren
fc44046167 omap: mux: Add data for 2420
Add data for 2420. Big thanks to Paul Walmsley <paul@pwsan.com>
for generating usable mux data out of TRMs.

Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-07-05 16:31:36 +03:00
Jason
9cbc34939c omap3: Add support for OMAP3Stalker boards
Add support for OMAP3Stalker boards

Signed-off-by: Jason Lam <lzg@ema-tech.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-05-20 11:21:22 -07:00
Viral Mehta
4ab866d11a omap2: select ARCH_OMAP_OTG for OMAP2430 SDP
Configuration for OMAP2430 should select ARCH_OMAP_OTG just like
it is done for OMAP2420

Signed-off-by: Viral Mehta <viral.mehta@lntinfotech.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-05-20 10:48:57 -07:00
Thomas Weber
51824c5f5e omap: Devkit8000: Add missing package selection
Devkit8000 uses the CUS package for OMAP3530.

This patch adds missing package selection for CUS and enables
CONFIG_MUX.

Replace whitespace with tab in Kconfig.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-04-23 15:37:24 -07:00
Thomas Weber
476544cad1 Add minimal support for DevKit8000
These patches add board support for the Timll DevKit8000.

The DevKit8000 is a beagle board clone from Timll, sold by
armkits.com. The DevKit8000 has RS232 serial port, LCD, DVI-D,
S-Video, Ethernet, SD/MMC, keyboard, camera, SPI, I2C, USB and
JTAG interface.

Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-02-19 15:22:17 -08:00
Enric Balletbo i Serra
28e0f13cd1 omap3: Fix typo on IGEP v2 board
Fix typo on IGEP v2 board

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-02-17 17:23:20 -08:00
Tony Lindgren
140455fa00 omap2/3/4: Replace orred CONFIG_ARCH_OMAP2/3/4 with CONFIG_ARCH_OMAP2PLUS
omap: Replace orred CONFIG_ARCH_OMAP2/3/4 with CONFIG_ARCH_OMAP2PLUS

Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-02-15 09:27:04 -08:00
Tony Lindgren
a8eb7ca0cb omap3: Replace ARCH_OMAP34XX with ARCH_OMAP3
Replace ARCH_OMAP34XX with ARCH_OMAP3

Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-02-15 09:27:02 -08:00
Tony Lindgren
088ef950dc omap2: Convert ARCH_OMAP24XX to ARCH_OMAP2
Convert ARCH_OMAP24XX to ARCH_OMAP2

Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-02-15 09:27:01 -08:00
Vaibhav Hiremath
342aa2c172 omap3: EVM: Choose OMAP_PACKAGE_CBB
Without this the kernel doesn't boot, it craches in
omap_mux_package_fixup(), since the package_subset becomes NULL.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2010-01-08 10:29:08 -08:00
Olof Johansson
35358281bb omap3: Allow EHCI to be built on OMAP3
OMAP34XX has EHCI, so select USB_ARCH_HAS_EHCI.

Signed-off-by: Olof Johansson <olof@lixom.net>
Acked-by: Anand Gadiyar <gadiyar@ti.com>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-12-15 10:34:12 -08:00
Mike Rapoport
edc961a2fa omap3: cm-t35: add mux initialization
CM-T35 can be assembled with different set of peripherals thus making
certain interfaces available to user as GPIOs or dedicated pins. Because
of it CM-T35 bootloader sets up mux configuration only for pins
necessary to boot the system and the rest of the mux configuration is
done by the kernel. Besides, having mux configuration in the kernel
allows to minimize dependancy on bootloader.

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-12-11 16:16:35 -08:00
Gregoire Gentil
7a079cab46 omap3: Board file of Always Innovating OMAP3-based Touch Book
Board file of Always Innovating OMAP3-based Touch Book

Signed-off-by: Gregoire Gentil <gregoire@gentil.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-12-11 16:16:34 -08:00
Tony Lindgren
662c8b55d2 omap: mux: Add 36xx CBP package support
Add 36xx CBP package support

Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-12-11 16:16:33 -08:00
Tony Lindgren
ca5742bdb5 omap: mux: Add new style init functions to omap3 board-*.c files
Add new style mux init functions to omap3 board-*.c files

So far Beagle has been confirmed to be a CBB package,
and CM-T35 a CUS package.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-12-11 16:16:32 -08:00
Tony Lindgren
ddaa912a21 omap: mux: Add new style pin multiplexing data for 34xx
Add new style mux data for 34xx. This should also
work with 3630 easily by adding the processor subset
and ball data.

Note that this data is __initdata, and gets optimized
out except for the GPIO pins if CONFIG_OMAP_MUX
is not set.

Also note that this data uses omap3630 naming for
the SDMMC registers instead of 34xx naming with just
MMC.

Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-12-11 16:16:32 -08:00
Paul Walmsley
18862cbe47 OMAP3: SDRC: Place SDRC AC timing and MR changes in CORE DVFS SRAM code behind Kconfig
The code that reprograms the SDRC memory controller during CORE DVFS,
mach-omap2/sram34xx.S:omap3_sram_configure_core_dpll(), does not
ensure that all L3 initiators are prevented from accessing the SDRAM
before modifying the SDRC AC timing and MR registers.  This can cause
memory to be corrupted or cause the SDRC to enter an unpredictable
state.  This patch places that code behind a Kconfig option,
CONFIG_OMAP3_SDRC_AC_TIMING for now, and adds a note explaining what
is going on.  Ideally the code can be added back in once supporting
code is present to ensure that other initiators aren't touching the
SDRAM.  At the very least, these registers should be reprogrammable
during kernel init to deal with buggy bootloaders.  Users who know
that all other system initiators will not be touching the SDRAM can
also re-enable this Kconfig option.

This is a modification of a patch originally written by Rajendra Nayak
<rnayak@ti.com> (the original is at http://patchwork.kernel.org/patch/51927/).
Rather than removing the code completely, this patch just comments it out.

Thanks to Benoît Cousson <b-cousson@ti.com> and Christophe Sucur
<c-sucur@ti.com> for explaining the technical basis for this and for
explaining what can be done to make this path work in future code.
Thanks to Richard Woodruff <r-woodruff2@ti.com>, Nishanth Menon
<nm@ti.com>, and Olof Johansson <olof@lixom.net> for their comments.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Christophe Sucur <c-sucur@ti.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Richard Woodruff <r-woodruff2@ti.com>
Cc: Nishanth Menon <nm@ti.com>
Cc: Olof Johansson <olof@lixom.net>
2009-12-11 17:00:42 -07:00
Linus Torvalds
1c496784a0 Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
* 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (149 commits)
  arm: omap: Add omap3_defconfig
  AM35xx: Defconfig for AM3517 EVM board
  AM35xx: Add support for AM3517 EVM board
  omap: 3630sdp: defconfig creation
  omap: 3630sdp: introduce 3630 sdp board support
  omap3: Add defconfig for IGEP v2 board
  omap3: Add minimal IGEP v2 support
  omap3: Add CompuLab CM-T35 defconfig
  omap3: Add CompuLab CM-T35 board support
  omap3: rx51: Add wl1251 wlan driver support
  omap3: rx51: Add SDRAM init
  omap1: Add default kernel configuration for Herald
  omap1: Add board support and LCD for HTC Herald
  omap: zoom2: update defconfig for LL_DEBUG_NONE
  omap: zoom3: defconfig creation
  omap3: zoom: Introduce zoom3 board support
  omap3: zoom: Drop i2c-1 speed to 2400
  omap3: zoom: rename zoom2 name to generic zoom
  omap3: zoom: split board file for software reuse
  omap3evm: MIgrate to smsc911x ethernet driver
  ...

Fix trivial conflict (two unrelated config options added next to each
other) in arch/arm/mach-omap2/Makefile
2009-12-08 08:15:29 -08:00
Alexander Shishkin
183bd50f4f ARM: 5843/1: OMAP3: add AMBA devices for ETM and ETB
This enables on-chip tracing components found in omap3xxx.

Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-02 10:25:23 +00:00
Ranjith Lohithakshan
c625327e2f AM35xx: Add support for AM3517 EVM board
This patch creates a minimal AM3517 EVM board support.

Signed-off-by: Ranjith Lohithakshan <ranjithl@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-11-25 14:21:01 -08:00
vikram pandita
34c9ac2376 omap: 3630sdp: introduce 3630 sdp board support
Add 3630SDP board support

The board shares the same peripherals as a zoom2 main.
So reuse the peripheral file of zoom platform.

Peripheral    zoom2    zoom3  sdp3630
---------------------------------------
Ethernet	smsc	smsc	smc
NOR		n/a     n/a	B
Onenand	  	n/a     n/a	B
HDMI		A	A	B (persent on different i2c)
NAND		A	A	A (same nand)
SDRAM		A	A	A (same sdram)
Keypad		A	A	A (same twl)
Camera		A	A	A (same sensor can be mounted)
LCD Display	A	A	A (same wvga display)
OPPs		A	A	A (same chip feature)
Audio		A	A	A (same audio via twl5030)

OMAP3630 details can be found here:
http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12836&contentId=52606

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-11-25 14:21:01 -08:00
Enric Balletbo i Serra
58e111621d omap3: Add minimal IGEP v2 support
The IGEP v2 board is a low-cost, fan-less and industrial temperature
range single board computer that unleashes laptop-like performance and
expandability without the bulk, expense, or noise of typical desktop
machines. Its architecture shares much in common with other OMAP3 boards.

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-11-25 14:21:00 -08:00
Mike Rapoport
2886d128d8 omap3: Add CompuLab CM-T35 board support
This patch adds basic support for CompuLab CM-T35 module.

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-11-25 14:21:00 -08:00
vikram pandita
5f35fbe8b8 omap3: zoom: Introduce zoom3 board support
Zoom3 is the next version of Zoom2 board.
There has been a silicon update from zoom2 to zoom3.
        Zoom2 has OMAP34xx
        Zoom3 has OMAP3630 [1]
Zoom3 = OMAP3630 SOM board [2] + same zoom2 main board [3] + same debugboard

Zoom3 has a SDRAM part from Hynix
Zoom2 had SDRAM part from micron

Hynix memory timings are contributed by:
Chalhoub, Nicole and Bour, Vincent

Reuse the zoom2 files as much for zoom3, as at board level,
there is no change at all.

References: (courtesy Nishant Menon)
[1] OMAP3630
http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12836&contentId=52606

[2] SOM boards
http://logicpd.com/products/system-modules/texas-instruments-omap35x-som-lv

[3] Zoom2 boards
http://logicpd.com/products/development-kits/texas-instruments-zoom%E2%84%A2-omap34x-ii-mdp
OMAP3630:

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Cc: Nicole Chalhoub <n-chalhoub@ti.com>
Cc: Vincent Bour <v-bour@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-11-22 10:24:33 -08:00
Tony Lindgren
d2fbf3451d omap2: Fix detection of n8x0
Otherwise the machine_is_nokia_n8*() does not work.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-10-22 14:48:13 -07:00
Kalle Valo
6313881292 OMAP2: add board file for Nokia N800 and N810
Add board file for Nokia N800 and N810 devices. Currently only serial ports,
onenand and spi are configured, more to come later.

Tested on Nokia N800.

Signed-off-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-08-28 10:51:38 -07:00
Kalle Valo
1b52d5df64 OMAP2: compile usb-tusb6010.c
For some reason usb-tusb6010.c was't compiled, add it to Makefile and
Kconfig. This is prepraration for upcoming n8x0 support.

Signed-off-by: Kalle Valo <kalle.valo@iki.fi>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-08-28 10:51:37 -07:00
Santosh Shilimkar
46ba0abfe1 ARM: OMAP4: Add support for 4430 SDP
This patch updates the Makefile and Kconfig entries for OMAP4. The OMAP4430 SDP
board file supports only minimal set of drivers.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-05-28 14:16:05 -07:00
Syed Mohammed Khasim
53c5ec31e7 ARM: OMAP3: Add omap3 EVM support
Add omap3 EVM support

Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-05-28 14:13:28 -07:00
Vikram Pandita
577145f454 ARM: OMAP3: Add support for OMAP3 Zoom2 board
This patch creates the minimal OMAP3 Zoom2 board support.

Signed-off-by: Mikkel Christensen <mlc@ti.com>
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-05-28 14:04:04 -07:00
Lauri Leukkunen
ffe7f95bb1 ARM OMAP3: Initial support for Nokia RX-51, v3
Adds board files and related headers for Nokia RX-51
Internet Tablet.

This patch has been updated with some clean-up patches
posted earlier to linux-omap list.

Signed-off-by: Lauri Leukkunen <lauri.leukkunen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-03-23 20:52:48 -07:00
Syed Mohammed Khasim
6fdc29e262 ARM: OMAP3: Add support for 3430 SDP, v4
Add support for 3430 SDP.

Various updates have been merged into this patch from
the linux-omap list.

Patch updated to initialize regulators by David Brownell
<dbrownell@users.sourceforge.net>.

Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-03-23 20:52:47 -07:00
Grazvydas Ignotas
da177247e8 ARM: OMAP3: Add basic support for Pandora handheld console
This patch adds support for basic features: uarts, i2c,
and rtc. Also includes defconfig.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2008-12-10 17:36:54 -08:00
Nishant Kamat
492656511b ARM: OMAP3: Add basic board support for OMAP LDP
This adds minimal board support for the OMAP3430 LDP development platform.

Signed-off-by: Nishant Kamat <nskamat@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2008-10-10 12:06:43 +03:00
Steve Sakoman
eba2645aeb ARM: OMAP3: Add support for the Gumstix Overo board (rev 3)
This patch adds minimal overo support.

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2008-10-09 17:51:43 +03:00
Syed Mohammed, Khasim
2885f00049 ARM: OMAP3: Add minimal Beagle board support
Add minimal Beagle board support. Based on earlier patches
by Syed Mohammed Khasim with some fixes from linux-omap tree.

Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2008-10-09 17:51:42 +03:00
Syed Mohammed, Khasim
cc26b3b01b ARM: OMAP3: Add minimal omap3430 support
Add minimal omap3430 support based on earlier patches from
Syed Mohammed Khasim. Also merge in omap34xx SRAM support
from Karthik Dasu and use consistent naming for sram init
functions.

Also do following changes that make 34xx support usable:

- Remove unused sram.c functions for 34xx

- Rename IRQ_SIR_IRQ to INTCPS_SIR_IRQ and define it locally
  in entry-macro.S

- Update mach-omap2/io.c to support 2420, 2430, and 34xx

- Also merge in 34xx GPMC changes to add fields wr_access and
  wr_data_mux_bus from Adrian Hunter

- Remove memory initialization call omap2_init_memory() until
  until more generic memory initialization patches are posted.
  It's OK to rely on bootloader initialization until then.

Signed-off-by: Syed Mohammed, Khasim <khasim@ti.com>
Signed-off-by: Karthik Dasu<karthik-dp@ti.com>
Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2008-10-09 17:51:41 +03:00
Syed Mohammed Khasim
72d0f1c3cd ARM: OMAP: Add minimal OMAP2430 support
This patch adds minimal OMAP2430 support to get the kernel booting on 2430SDP.

Signed-off-by: Syed Mohammed Khasim <x0khasim@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2007-09-20 09:59:20 -07:00
David Brownell
f604931238 ARM: OMAP: abstract debug card setup (smc, leds)
Additional cleanup for debug boards on H2/P2/H3/H4:  move the init
code that's not board-specific into a new file where it can be easily
shared between all the different boards (avoiding code duplication,
and making it easier to support more devices).  Make H4 use that.

This should be easy to drop in to the OMAP1 boards using these debug
cards; the only difference seems to be that the p2 does an extra reset
of the smc using the fpga (probably all boards could do that, if it's
necessary) and doesn't use the gpio mux or request APIs.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2007-09-20 09:59:20 -07:00