1
0
Fork 0
alistair23-linux/arch/arm/mach-imx
Linus Torvalds ff050ad12c ARM: SoC specific changes
Lots of changes specific to one of the SoC families. Some that
 stick out are:
 
 * mach-qcom gains new features, most importantly SMP support for
   the newer chips (Stephen Boyd, Rohit Vaswani)
 * mvebu gains support for three new SoCs: Armada 375, 380 and 385
   (Thomas Petazzoni and Free-electrons team)
 * SMP support for Rockchips (Heiko Stübner)
 * Lots of i.MX changes (Shawn Guo)
 * Added support for BCM5301x SoC (Hauke Mehrtens)
 * Multiplatform support for Marvell Kirkwood and Dove
   (Andrew Lunn and Sebastian Hesselbarth doing the final part
   of a long journey)
 * Unify davinci platforms and remove obsolete ones (Sekhar Nori,
   Arnd Bergmann)
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIVAwUAUz/yT2CrR//JCVInAQJN8A/9Ft1rfp4LEe8Lpr9yAZydG4UaJKy8Hh7Z
 fmohMAuy88J+8jzdwQKKCeEiId+nIf+WmFIQDn9YRDev1/T2v32Ax49XuGtY47JX
 4loIC2wR0+j1aSwhEVOmlM03lX7Hbu6iNDkxaLkDKTRrt3DhDNA6cPZYwNOT273W
 Yx7hIDpvsoOVN3zbPwqhwLrXgywsaNB9E7ly1GixRd1thdg46kMRcM0LJSXPH3we
 pyx7sZbILTVMeUx79XUTvBDJYsbjJWFZknVDYXGkrS5YxAASVsVW2KW9fP9E+UXE
 wTmOxg6spsHGgCezwy8NL5UmfaAOXL3mm6ginFwWpyz7Iu+P5IvfR1W+8UA/O8tp
 K9y8wLA64chPQJkAGaPQBqUPq9QkNHodZWgaPKxKuuv3qF481DCnQKkFRz+sl7mu
 oQVGnoMCnTY6L6yYcIq/GpgiJ731vwefirAwPR8FEBN/gw/gC01b+DDchx/5inPJ
 6V6dCEtPZxXMOsIaYBWFauk3pMFU3E8coklmteyYDQg7eb+55Zq3vsNEpu/vb6ll
 M660AQzzbkZ7lgsSBdNODEvkNH15kC35G2UCfwy99uCE4k/0Vi7reJ1BzXkc+dtJ
 +maBtA6NMALXQ/EI+B+fZLccI4Hv7avwFy1rQJaf+TLiFvTd9yp0qUX8JjXWDPgu
 pPWQOC4a9mU=
 =AGpV
 -----END PGP SIGNATURE-----

Merge tag 'soc-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM SoC specific changes from Arnd Bergmann:
 "Lots of changes specific to one of the SoC families.  Some that stick
  out are:

   - mach-qcom gains new features, most importantly SMP support for the
     newer chips (Stephen Boyd, Rohit Vaswani)
   - mvebu gains support for three new SoCs: Armada 375, 380 and 385
     (Thomas Petazzoni and Free-electrons team)
   - SMP support for Rockchips (Heiko Stübner)
   - Lots of i.MX changes (Shawn Guo)
   - Added support for BCM5301x SoC (Hauke Mehrtens)
   - Multiplatform support for Marvell Kirkwood and Dove (Andrew Lunn
     and Sebastian Hesselbarth doing the final part of a long journey)
   - Unify davinci platforms and remove obsolete ones (Sekhar Nori, Arnd
     Bergmann)"

* tag 'soc-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (126 commits)
  ARM: sunxi: Select HAVE_ARM_ARCH_TIMER
  ARM: cache-tauros2: remove ARMv6 code
  ARM: mvebu: don't select CONFIG_NEON
  ARM: davinci: fix DT booting with default defconfig
  ARM: configs: bcm_defconfig: enable bcm590xx regulator support
  ARM: davinci: remove tnetv107x support
  MAINTAINERS: Update ARM STi maintainers
  ARM: restrict BCM_KONA_UART to ARCH_BCM_MOBILE
  ARM: bcm21664: Add board support.
  ARM: sunxi: Add the new watchog compatibles to the reboot code
  ARM: enable ARM_HAS_SG_CHAIN for multiplatform
  ARM: davinci: remove da8xx_omapl_defconfig
  ARM: davinci: da8xx: fix multiple watchdog device registration
  ARM: davinci: add da8xx specific configs to davinci_all_defconfig
  ARM: davinci: enable da8xx build concurrently with older devices
  ARM: BCM5301X: workaround suppress fault
  ARM: BCM5301X: add early debugging support
  ARM: BCM5301X: initial support for the BCM5301X/BCM470X SoCs with ARM CPU
  ARM: mach-bcm: Remove GENERIC_TIME
  ARM: shmobile: APMU: Fix warnings due to improper printk formats
  ...
2014-04-05 14:19:54 -07:00
..
devices ARM i.MX: remove PWM platform support 2014-03-05 10:35:09 +08:00
3ds_debugboard.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
3ds_debugboard.h ARM: imx: include board headers in the same folder 2012-10-15 09:18:14 +08:00
Kconfig ARM: imx6: introduce CONFIG_SOC_IMX6 for i.MX6 common stuff 2014-03-05 10:47:51 +08:00
Makefile ARM: imx6: build suspend-imx6.o with CONFIG_SOC_IMX6 2014-03-05 10:48:25 +08:00
anatop.c ARM: imx: use imx_init_revision_from_anatop() on imx6sl 2013-10-21 09:13:13 +08:00
avic.c ARM: imx: drop support for irq priorisation 2013-12-09 13:18:25 +08:00
board-mx31lilly.h ARM: imx: include board headers in the same folder 2012-10-15 09:18:14 +08:00
board-mx31lite.h ARM: imx: include board headers in the same folder 2012-10-15 09:18:14 +08:00
board-mx31moboard.h ARM: imx: include board headers in the same folder 2012-10-15 09:18:14 +08:00
board-pcm038.h ARM: imx: include board headers in the same folder 2012-10-15 09:18:14 +08:00
clk-busy.c ARM: arm-soc non-critical fixes for 3.10 2013-05-02 08:56:55 -07:00
clk-fixup-div.c ARM: imx: add common clock support for fixup div 2013-08-16 13:11:24 +08:00
clk-fixup-mux.c ARM: imx: initialize clk_init_data.flags for clk-fixup-mux 2013-09-17 10:04:23 +08:00
clk-gate2.c ARM: imx: improve status check of clock gate 2013-12-31 09:36:46 +08:00
clk-imx1.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
clk-imx6q.c ARM: imx6q: support ptp and rmii clock from pad 2014-03-05 10:35:20 +08:00
clk-imx6sl.c ARM: imx: avoid calling clk APIs in idle thread which may cause schedule 2014-03-05 10:35:21 +08:00
clk-imx21.c ARM i.MX: remove PWM platform support 2014-03-05 10:35:09 +08:00
clk-imx25.c ARM i.MX: remove PWM platform support 2014-03-05 10:35:09 +08:00
clk-imx27.c ARM i.MX: remove PWM platform support 2014-03-05 10:35:09 +08:00
clk-imx31.c Linux 3.8-rc6 2013-02-04 22:56:41 -08:00
clk-imx35.c ARM i.MX35: Add devicetree support. 2013-12-31 09:36:40 +08:00
clk-imx51-imx53.c ARM i.MX: remove PWM platform support 2014-03-05 10:35:09 +08:00
clk-pfd.c ARM: imx: add necessary interface for pfd 2013-12-31 09:36:45 +08:00
clk-pllv1.c ARM: imx: pllv1: Fix PLL calculation for i.MX27 2013-12-31 09:36:29 +08:00
clk-pllv2.c ARM: mach-imx: clk-pllv2: Staticize clk_pllv2_ops 2013-04-01 16:17:50 +08:00
clk-pllv3.c ARM: imx: set up pllv3 POWER and BYPASS sequentially 2013-11-11 22:58:45 +08:00
clk-vf610.c ARM: imx: clk-vf610: Suppress duplicate const sparse warning 2014-03-05 10:35:08 +08:00
clk.c ARM: imx6: change some clocks to fixup clocks 2013-08-16 13:11:25 +08:00
clk.h The common clk framework changes for 3.12 are dominated by clock driver 2013-09-09 15:49:04 -07:00
common.h ARM: imx6: move v7_cpu_resume() into suspend-imx6.S 2014-03-05 10:40:49 +08:00
cpu-imx5.c ARM: mach-imx: cpu-imx5: Include "common.h" 2013-04-01 16:17:49 +08:00
cpu-imx25.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
cpu-imx27.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
cpu-imx31.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
cpu-imx35.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
cpu.c ARM: imx: Include linux/err.h 2013-10-21 09:15:12 +08:00
cpuidle-imx5.c ARM: imx: cpuidle: use init/exit common routine 2013-04-23 13:45:23 +02:00
cpuidle-imx6q.c ARM: imx: Use INT_MEM_CLK_LPM as the bit name 2014-03-05 10:34:59 +08:00
cpuidle-imx6sl.c ARM: imx: add cpuidle support for i.mx6sl 2014-03-05 10:35:01 +08:00
cpuidle.h ARM: imx: add cpuidle support for i.mx6sl 2014-03-05 10:35:01 +08:00
crm-regs-imx5.h ARM i.MX53: Fix PLL4 base address 2012-06-04 15:23:57 +02:00
crmregs-imx3.h ARM i.MX3: Make ccm base address a variable 2012-04-25 17:03:45 +02:00
devices-imx1.h ARM: imx: move platform device code into mach-imx 2012-10-15 09:18:15 +08:00
devices-imx21.h ARM: imx: move platform device code into mach-imx 2012-10-15 09:18:15 +08:00
devices-imx25.h ARM i.MX: remove PWM platform support 2014-03-05 10:35:09 +08:00
devices-imx27.h ARM : i.MX27 : split code for allocation of ressources of camera and eMMA 2012-11-16 16:21:48 +01:00
devices-imx31.h ARM: imx: move platform device code into mach-imx 2012-10-15 09:18:15 +08:00
devices-imx35.h ARM: imx: prepare for removal of flexcan_platform_data 2013-06-27 15:15:08 +02:00
devices-imx51.h ARM i.MX: remove PWM platform support 2014-03-05 10:35:09 +08:00
ehci-imx5.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
ehci-imx25.c Merge branch 'next/cam-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/soc 2012-11-30 09:27:57 -08:00
ehci-imx27.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
ehci-imx31.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
ehci-imx35.c Merge branch 'next/cam-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/soc 2012-11-30 09:27:57 -08:00
epit.c ARM: imx: remove IRQF_DISABLED 2013-10-21 09:11:05 +08:00
eukrea-baseboards.h ARM: imx: include board headers in the same folder 2012-10-15 09:18:14 +08:00
eukrea_mbimx27-baseboard.c ARM: cpuimx27 and mbimx27: prepend CONFIG_ to Kconfig macro 2013-04-03 16:50:54 +08:00
eukrea_mbimxsd25-baseboard.c ARM: imx: prepare for removal of flexcan_platform_data 2013-06-27 15:15:08 +02:00
eukrea_mbimxsd35-baseboard.c ARM: imx: prepare for removal of flexcan_platform_data 2013-06-27 15:15:08 +02:00
eukrea_mbimxsd51-baseboard.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
gpc.c ARM: imx: ensure dsm_request signal is not asserted when setting LPM 2013-10-21 09:39:26 +08:00
hardware.h ARM: imx: add suspend in ocram support for i.mx6q 2014-03-05 10:35:10 +08:00
headsmp.S ARM: imx6: drop .text.head section annotation from headsmp.S 2014-03-05 10:48:26 +08:00
hotplug.c ARM: imx: do not return from imx_cpu_die() call 2013-10-21 09:37:31 +08:00
iim.h ARM: imx: include iim.h rather than mach/iim.h 2012-10-15 10:03:10 +08:00
imx25-dt.c ARM: imx: create mxc_arch_reset_init_dt() for DT boot 2013-06-17 15:45:10 +08:00
imx27-dt.c ARM: imx: create mxc_arch_reset_init_dt() for DT boot 2013-06-17 15:45:10 +08:00
imx31-dt.c ARM: imx: use __initconst for const init definition 2013-12-31 09:36:33 +08:00
imx35-dt.c ARM i.MX35: Add devicetree support. 2013-12-31 09:36:40 +08:00
imx51-dt.c ARM: imx: use __initconst for const init definition 2013-12-31 09:36:33 +08:00
iomux-imx31.c ARM: mach-imx: iomux-imx31: Staticize mxc_pin_alloc_map 2013-04-01 16:17:48 +08:00
iomux-mx1.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-mx2x.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-mx3.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-mx21.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-mx25.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-mx27.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-mx35.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-mx51.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-v1.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
iomux-v1.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
iomux-v3.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
iomux-v3.h ARM: imx: move iomux drivers and headers into mach-imx 2012-10-15 09:18:14 +08:00
irq-common.c ARM: imx: irq-common: Include header to avoid sparse warning 2013-06-17 15:45:14 +08:00
irq-common.h ARM: imx: drop support for irq priorisation 2013-12-09 13:18:25 +08:00
mach-apf9328.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-armadillo5x0.c ARM: imx: remove IRQF_DISABLED 2013-10-21 09:11:05 +08:00
mach-bug.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-cpuimx27.c ARM: cpuimx27 and mbimx27: prepend CONFIG_ to Kconfig macro 2013-04-03 16:50:54 +08:00
mach-cpuimx35.c Input: tsc2007 - add device tree support. 2013-11-25 18:27:53 -08:00
mach-cpuimx51sd.c Input: tsc2007 - add device tree support. 2013-11-25 18:27:53 -08:00
mach-eukrea_cpuimx25.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-imx6q.c ARM i.MX6q: Mark VPU and IPU AXI transfers as cacheable, increase IPU priority 2014-03-05 10:40:48 +08:00
mach-imx6sl.c ARM: imx: add suspend in ocram support for i.mx6q 2014-03-05 10:35:10 +08:00
mach-imx27_visstrim_m10.c gpio: (gpio-pca953x) move header to linux/platform_data/ 2013-08-29 12:33:52 -07:00
mach-imx27ipcam.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-imx27lite.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-imx50.c ARM: imx: use __initconst for const init definition 2013-12-31 09:36:33 +08:00
mach-imx53.c ARM: imx: use __initconst for const init definition 2013-12-31 09:36:33 +08:00
mach-kzm_arm11_01.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-mx1ads.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-mx21ads.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-mx25_3ds.c ARM: imx: prepare for removal of flexcan_platform_data 2013-06-27 15:15:08 +02:00
mach-mx27_3ds.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-mx27ads.c video: imxfb: Use regulator API with LCD class for powering 2014-02-11 15:10:17 +02:00
mach-mx31_3ds.c ARM: imx: remove IRQF_DISABLED 2013-10-21 09:11:05 +08:00
mach-mx31ads.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-mx31lilly.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-mx31lite.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-mx31moboard.c serial: imx: Remove init() and exit() platform callbacks 2014-02-28 16:36:45 -08:00
mach-mx35_3ds.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-mx51_babbage.c ARM: imx: Remove cpufreq driver 2013-04-01 16:17:34 +08:00
mach-mxt_td60.c gpio: (gpio-pca953x) move header to linux/platform_data/ 2013-08-29 12:33:52 -07:00
mach-pca100.c treewide: Fix typos in printk 2013-12-19 15:10:49 +01:00
mach-pcm037.c Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-11-18 15:50:07 -08:00
mach-pcm037_eet.c ARM: imx: include common.h rather than mach/common.h 2012-10-15 10:03:10 +08:00
mach-pcm038.c misc: (at24) move header to linux/platform_data/ 2013-09-30 06:02:34 +02:00
mach-pcm043.c misc: (at24) move header to linux/platform_data/ 2013-09-30 06:02:34 +02:00
mach-qong.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-scb9328.c ARM: delete struct sys_timer 2012-12-24 09:36:38 -07:00
mach-vf610.c ARM: imx: use __initconst for const init definition 2013-12-31 09:36:33 +08:00
mach-vpr200.c misc: (at24) move header to linux/platform_data/ 2013-09-30 06:02:34 +02:00
mm-imx1.c ARM: imx: move clk_prepare() out from mxc_restart() 2013-06-17 15:45:10 +08:00
mm-imx3.c Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2013-07-03 09:46:29 -07:00
mm-imx5.c ARM: imx: remove mxc_iomux_v3_init() call from imx53_init_early() 2013-12-09 13:18:24 +08:00
mm-imx21.c ARM: imx: move clk_prepare() out from mxc_restart() 2013-06-17 15:45:10 +08:00
mm-imx25.c ARM: i.MX: remove sdma script address arrays from platform data 2013-08-26 20:47:16 +05:30
mm-imx27.c ARM: imx: move clk_prepare() out from mxc_restart() 2013-06-17 15:45:10 +08:00
mmdc.c ARM: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
mx1-camera-fiq-ksym.c ARM: imx: move platform_data definitions 2012-09-14 11:17:21 +02:00
mx1-camera-fiq.S ARM: imx: move mx1 support to mach-imx 2010-06-30 08:59:44 +02:00
mx1.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx2x.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx3x.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx21.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx25.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx27.h ARM: i.MX27: Typo fix 2013-07-15 08:28:07 +08:00
mx31.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx31lilly-db.c ARM: imx: remove IRQF_DISABLED 2013-10-21 09:11:05 +08:00
mx31lite-db.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx31moboard-devboard.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx31moboard-marxbot.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx31moboard-smartbot.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx35.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx51.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mx53.h ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
mxc.h ARM: imx: enable suspend for imx6sl 2013-10-21 09:39:27 +08:00
pcm037.h ARM: imx: use machine specific hook for late init 2012-05-08 20:36:16 +08:00
pcm970-baseboard.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
platsmp.c ARM: clean up cache handling in platform code 2013-12-11 16:24:34 -08:00
pm-imx3.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
pm-imx5.c ARM: mx53: Allow suspend/resume 2013-08-22 23:20:45 +08:00
pm-imx6.c ARM: SoC specific changes 2014-04-05 14:19:54 -07:00
pm-imx27.c ARM: imx: include hardware.h rather than mach/hardware.h 2012-10-15 10:05:43 +08:00
src.c ARM: imx: remove imx_src_prepare_restart() call 2013-11-11 22:58:43 +08:00
ssi-fiq-ksym.c ARM: imx: merge plat-mxc into mach-imx 2012-10-15 10:02:19 +08:00
ssi-fiq.S ARM: imx: merge plat-mxc into mach-imx 2012-10-15 10:02:19 +08:00
suspend-imx6.S ARM: imx6: move v7_cpu_resume() into suspend-imx6.S 2014-03-05 10:40:49 +08:00
system.c ARM: imx: improve mxc_restart() on the SRC bit writes 2013-11-11 22:58:43 +08:00
time.c ARM: imx: enable delaytimer on the imx timer 2014-03-05 10:35:15 +08:00
tzic.c ARM: mach-imx: tzic: Staticize *tzic_base 2013-04-01 16:17:51 +08:00
ulpi.h ARM: imx: Remove mxc specific ulpi access ops 2013-06-17 15:45:16 +08:00