Commit Graph

50078 Commits

Author SHA1 Message Date
Bai Ping f4c76d52da MLK-20602 imx8mq: Change clock source of GIC
Change the the GIC clock source to sys_pll2_200m.
Improve the IRQ response latency.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
2018-12-19 14:51:13 +08:00
faqiang.zhu d152aa00a6 MA-13788 add defconfig for aiy_imx8mq uboot used by uuu
To align aiy_imx8mq uboot used by uuu with other platforms, a defconfig
used to configure and build uboot used by uuu is added.

This "imx8mq_aiy_android_uuu_defconfig" for now is a copy of below file:
imx8mq_aiy_android_defconfig

Change-Id: I7c96297fa13fa7bb02117ceee8675e95f86e7b60
Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
2018-12-19 09:12:08 +08:00
faqiang.zhu e2ae3209e2 MA-13787 disable FS_FAT write feature for Android Auto uboot
Since FS_FAT has been removed from uboot for Android Auto to minimize
image size, disable FS_FAT write feature for Android Auto uboot.

Change-Id: I8740735b68759bfd62d53cf7f08287a098b481c4
Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
2018-12-18 21:01:32 +08:00
Li Jun 7d7097a07f MLK-20493-10 usb: gaget: ci: set ep's desc when enable ep
As we need standard usb_ep's desc, so set it when enable ep.

Reviewed-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
2018-12-18 16:01:08 +08:00
Li Jun 0d7928ce97 MLK-20493-9 usb: gadget: fastboot: use correct max packet size
Change to use wMaxPacketSize of current speed EP desc for request
length wrap up.

Reviewed-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
2018-12-18 14:38:49 +08:00
Li Jun d2eda0a183 MLK-20493-8 usb: udc: ci: update speed handling
Remove the gadget driver speed check, and set its max_speed to
be USB_SPEED_HIGH.

Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peter Chen <peter.chen@nxp.com>
Tested-by: faqiang.zhu <faqiang.zhu@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
2018-12-18 14:38:49 +08:00
Li Jun 86247b0c88 MLK-20493-7 usb: composite: force gadget to be USB2 for HS only function
If one of functions is not super speed capable, we need force the udc
to be high speed, this is an equivalent implementation of
usb_gadget_udc_set_speed() in kernel but simple, which set the gadget
max_speed to be high speed, so afterwards when start gadget duc can
set the HW to be USB 2.0 mode.

Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peter Chen <peter.chen@nxp.com>
Tested-by: faqiang.zhu <faqiang.zhu@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
2018-12-18 14:38:49 +08:00
Li Jun 1ea5ab027e MLK-20493-6 imx8mq_evk/arm2: Set usb to be super speed
Keep high speed for SPL, but for normal uboot, enable super speed.

Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peter Chen <peter.chen@nxp.com>
Tested-by: faqiang.zhu <faqiang.zhu@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
2018-12-18 14:38:49 +08:00
Li Jun a9dac41fea MLK-20493-5 usb: dwc3: change the dwc3 to be USB3 capable
Change the dwc3 device mode to be super speed capable.

Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peter Chen <peter.chen@nxp.com>
Tested-by: faqiang.zhu <faqiang.zhu@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
2018-12-18 14:38:49 +08:00
Li Jun fd1146e796 MLK-20493-4 usb: cdns3: change device mode to be USB3 by default
Remove high speed force and set it to super speed by default.

Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peter Chen <peter.chen@nxp.com>
Tested-by: faqiang.zhu <faqiang.zhu@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
2018-12-18 14:38:49 +08:00
Li Jun dfe8582b06 MLK-20493-3 usb: gadget: dnl: set dnl to be super speed
Set its max_speed to be super speed.

Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peter Chen <peter.chen@nxp.com>
Tested-by: faqiang.zhu <faqiang.zhu@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
2018-12-18 14:38:49 +08:00
Li Jun a7b7085dec MLK-20493-2 usb: fastboot: add super speed support
Add super speed EP config.

Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peter Chen <peter.chen@nxp.com>
Tested-by: faqiang.zhu <faqiang.zhu@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
2018-12-18 14:38:49 +08:00
Li Jun b0bc5f6d12 MLK-20493-1 usb: gadget: add super speed support
This patch is to add usb gadget super speed support in common
driver, including BOS descriptor and select the super speed
descriptor from function driver.

Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peter Chen <peter.chen@nxp.com>
Tested-by: faqiang.zhu <faqiang.zhu@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
2018-12-18 14:38:49 +08:00
Frank Li fcd4ce89df MLK-20594-2 enable fat write for all configuration
Signed-off-by: Frank Li <Frank.Li@nxp.com>
2018-12-14 13:36:14 -06:00
Frank Li 6392ca2f34 MLK-20594-1 fix fat write create file failure when fat12/16
Error: Invalid FAT entry: 0x3ffffffa
create file

when Long file name cross root dir cluster boundry, this issue
happen.

get_long_file_name have not consider fat12/16 case, which rootdir
locate before data area. and try to get next clust directly. Only
FAT32's root dir is located in data area

Signed-off-by: Frank Li <Frank.Li@nxp.com>
2018-12-14 13:36:14 -06:00
Breno Lima 4568f4a4c8 MLK-20553-4 doc: imx: hab: Remove extra hab directory for a cleaner documentation structure
There is no need to have an extra hab directory under doc/imx/:

- doc/imx/hab/ahab/
- doc/imx/hab/habv4/

Remove extra hab directory for a cleaner documentation structure.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
2018-12-13 17:46:12 -08:00
Breno Lima 04505024d3 MLK-20553-3 doc: imx: ahab: Add Secure Boot documentation for i.MX8 and i.MX8x SPL targets
The current U-Boot implementation includes SPL targets for i.MX8QM and
i.MXQXP MEK boards:

- imx8qxp_mek_spl_defconfig
- imx8qxp_mek_spl_fspi_defconfig
- imx8qm_mek_spl_defconfig
- imx8qm_mek_spl_fspi_defconfig

The U-Boot proper and ATF are included in an additional container being
necessary a different procedure for signing the flash.bin image.

Add a step-by-step guide covering the signing procedure.
Add a CSF example for the 3rd container.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Frank Zhang <frank.zhang@nxp.com>
Reviewed-by: Marius Grigoras <marius.grigoras@nxp.com>
Reviewed-by: Utkarsh Gupta <utkarsh.gupta@nxp.com>
2018-12-13 17:45:14 -08:00
Clement Le Marquis 7c46caba3b MLK-20553-2 doc: imx: ahab: Add AHAB secure boot documentation for i.MX 8 and 8X families
Add AHAB secure boot step-by-step guide for i.MX8 and i.MX8x families
devices.

Add 3 CSF example files:
- Example to sign flash.bin only using SRK keys.
- Example to sign flash.bin using a subordinate SGK key.
- Example to sign Linux image only using SRK keys.

Signed-off-by: Clement Le Marquis <clement.lemarquis@nxp.com>
Reviewed-by: Frank Zhang <frank.zhang@nxp.com>
Reviewed-by: Marius Grigoras <marius.grigoras@nxp.com>
Reviewed-by: Utkarsh Gupta <utkarsh.gupta@nxp.com>
2018-12-13 17:45:04 -08:00
Breno Lima 6e9ceb2526 MLK-20553-1 doc: imx: ahab: Add AHAB introduction
The AHAB is currently supported in i.MX8QXP and i.MX8QM devices.

Add an introductory document containing the following topics:

- AHAB Secure Boot Architecture
- System Control Unit (SCU) introduction
- Security Controller (SECO) introduction
- i.MX8/8x secure boot flow
- AHAB PKI tree generation
- SRK Table and SRK Hash generation

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Frank Zhang <frank.zhang@nxp.com>
Reviewed-by: Marius Grigoras <marius.grigoras@nxp.com>
Reviewed-by: Utkarsh Gupta <utkarsh.gupta@nxp.com>
2018-12-13 17:44:53 -08:00
Ye Li 10f8f616d5 MLK-20577 imx8qxp: Fix wrong LPCG register address for MIPI i2c
The previous LPCG register addresses seem wrong. By checking the LPCG with
JTAG, the ipg_clk, ipg_s_clk, and perclk uses one register as the standard
implementation method, not use 3 registers.

Signed-off-by: Ye Li <ye.li@nxp.com>
2018-12-12 18:28:53 -08:00
Ye Li d747d5e2d0 MLK-20574 imx8mm: Support 3bits SPEED_GRADE fuse
The imx8mm new fuse map uses 3bits SPEED_GRADE and add 2Ghz speed.

SPEED SPEED_GRADE
2000 ’100’
1800 ’011’
1600 ’010’
1200 ’001’
800  ’000’

Signed-off-by: Ye Li <ye.li@nxp.com>
2018-12-12 18:28:53 -08:00
Ye Li b238046e0c MLK-20552 imx8mq: Disable sound-hdmi-arc FDT node for 8MQlite
Due to dcss is disabled on iMX8MQLite, the hdmi won't work, we have
to disable all hdmi relavent nodes. The sound-hdmi-arc is missed in
previous patch.

Signed-off-by: Ye Li <ye.li@nxp.com>
2018-12-12 18:28:53 -08:00
Ji Luo fc734f07d7 MA-13759-1 imx8mm: Enable trusty support
Open configs to enable trusty for imx8mm_evk and also
add new config imx8mm_evk_android_trusty_defconfig based
on imx8mm_evk_android_defconfig.

Test: Trusty starts ok.

Change-Id: Iaea90de21f886ed23082a5e8e8d2fa7fb139a9cb
Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-12-12 21:02:10 +08:00
Peng Fan 8132f6b584 MLK-20542 imx8qm: xen: mek: add magic number
Write magic number in board early init, and clear magic when booting
Linux.

This is to let XEN know the current EL1 code is U-Boot or Linux
when reset/reboot. This is just a workaround because CM41 could not
communicate with XEN now, even XEN knows that EL1 is reseting/rebooting.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Flynn xu <flynn.xu@nxp.com>
2018-12-12 15:00:05 +08:00
Ye Li 484104758d MLK-20528-2 imx8: Enable clocks LPCG
To support partition reboot, the u-boot has to enable clocks by LPCG.
The LPCG will reset to default value only when the subsystem is totally
power off and reset. However, the resources in one subsystem may belong
to different partitions, so the partition reboot may not reboot the entire
subsystem.
Powers, clocks/lpcg, GPR, IP may not reset depends on various cases and
HW design. Thus, AP software has to ensure everything is reset by SW
itself to support such above cases.

Signed-off-by: Ye Li <ye.li@nxp.com>
2018-12-11 21:49:23 -08:00
Ye Li 19f234266e MLK-20528-1 imx8: Add lpcg driver for iMX8QM/QXP
Each module may have one or more lpcg registers for SW/HW enabling its
clocks. Add lpcg register address and its driver for accessing lpcg.

Signed-off-by: Ye Li <ye.li@nxp.com>
2018-12-11 21:49:23 -08:00
Peng Fan 999ae3e37b MLK-20569 usb: ehci-mx6: configure usb out of suspend state
When moving to support partition reboot or android auto on XEN,
linux kernel will runs into runtime suspend state, and the usb
will be configured to low power suspend state by Linux.

Then we reboot and runs into U-Boot, however the usb already in
suspended state and uboot not able to lock the phy pll,
after clearing PHCD to out of suspended state, the phy pll could be
locked and fastboot works.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Suggested-by: Li Jun <jun.li@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
2018-12-12 13:34:58 +08:00
yang.tian 6e57497c14 MA-13748 Pass BDADDR from uboot cmdline
Pass bt mac address from uboot cmdline to write
ro.boot.btmacaddr property for bluetooth hal to parse
BDADDR which is composed from ro.boot.serialno,
or it will fall back to persist property seted in init.rc.

Change-Id: If6886596c79c699b8530d3249b1cc98f19aad51f
Signed-off-by: yang.tian <yang.tian@nxp.com>
2018-12-11 17:56:06 +08:00
Ji Luo ee85812d93 MA-13738 [Trusty] Fix null pointer error
Print the func name instead of null buffer.

Test: boot on imx8qm_mek.

Change-Id: I883a9cebb2981b7e2451c00ed27000baf40097bf
Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-12-10 17:58:24 +08:00
Ji Luo 33f9c1d4e7 MA-13722 Fix typo in imx8m licence
It's "Copyright" instead of "opyright".

Change-Id: I4e66ea402e06ee03b5268d1d70c95e066ad35fd0
Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-12-07 10:38:13 +08:00
faqiang.zhu d5a7477df9 MA-13715 Alway return UNLOCK state for uboot boot from USB
Now "is_boot_from_usb()" can work for imx6, imx7 and imx8, use this
function to judge whether boot from USB, and then return
FASTBOOT_UNLOCK.

This can save some time for imx8 to flash images if the board is
locked.

Change-Id: Iaa63f326f33400f2fdf13bf2e175cd9ac7d60317
Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
2018-12-06 20:06:56 +08:00
faqiang.zhu d8243596bc MA-13696 Android-auto: erase misc when change lock status
When change lock status, misc partition, which stores data generated
by users, is erased.

Before, we take different actions on misc partition for Android and
Android Things. The situation of Android Auto is not handled.

Change-Id: Ia290b8e351b7a688d7a3a562cd30fca858e5a30c
Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
2018-12-06 12:09:36 +08:00
Ye Li 643cb9468b MLK-20510-3 mx7ulp: Change is_boot_from_usb to use get_boot_device
The get_boot_device will return USB type from ROM info if booting from
serial download, so change the is_boot_from_usb to use this function.

Signed-off-by: Ye Li <ye.li@nxp.com>
2018-12-05 19:23:31 -08:00
Ye Li 006b18a5c5 MLK-20510-2 mx7d: Align implementation of is_boot_from_usb with mx6
Because the ROM info on iMX7D does not set device type to USB when booting
from serial download mode, we have to use the mechanism on mx6 to implement
the is_boot_from_usb. The original implementation is checking USB controller
register, it can't work correctly after any USB functionality is run in u-boot.

Signed-off-by: Ye Li <ye.li@nxp.com>
2018-12-05 19:23:31 -08:00
Ye Li 4112fa4620 MLK-20510-1 mx6: Rename GD_FLG_ARCH_MX6_USB_BOOT flag
Rename the gd flag GD_FLG_ARCH_MX6_USB_BOOT to GD_FLG_ARCH_IMX_USB_BOOT,
and move it to mach-imx/sys_proto.h since we will also use it on mx7.

Signed-off-by: Ye Li <ye.li@nxp.com>
2018-12-05 19:23:31 -08:00
Ji Luo 57f07af56b MA-13682 Don't include hard-code public key for Auto
This will reduce some image size for Android Auto.

Test: build and boot on imx8qm_mek.

Change-Id: I023801a542f83398126d5af23c0a1eb2080c5063
Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-12-05 10:24:10 +08:00
Ji Luo 532ff012e4 MA-13637 [Auto] Enable memory operation commands
Enable the memory operation commands because we need them
sometimes, this won't increase much boot time.

Test: build and boot on imx8qm_mek.

Change-Id: Idad8de845203c3d958dd58c58b17b7d8a5d65b4f
Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-12-04 09:53:12 +08:00
Ji Luo 2d831d95f7 MA-13629 [Trusty] Add commands to set vbmeta public key
Add commands to write/read vbmeta public key to/from secure
storage. The vbmeta public key can only be set once.
Comands to set the public key:
  fastboot stage <path-to-your-public-key>
  fastboot oem set-public-key

Test: build and boot on imx8qxp_mek.

Change-Id: Id3ad4aa5aacef4fc8443f6a2d6ccb931310970ca
Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-12-04 09:53:12 +08:00
Ji Luo d7c768a690 MA-13628 [Auto] Read/Write rollback index from rpmb
Secure storage is ready in trusty so we should read/write the rollback
index from rpmb.
But for borads without rpmb key, read/write the rpmb will fail and will
block the following avb verify process. In this case, check if the rpmb
key has been set and always return AVB_IO_RESULT_OK for the boards without
rpmb key.

Test: build and boot pass on imx8qm_mek.

Change-Id: I10c438e56d049ae97ebedfc446c8202642630d8b
Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-12-04 09:53:12 +08:00
Teo Hall 69142ab1d9 MLK-19187: imx8qm/imx8qxp Add warning before programming ECC protected fuses
Add a warning message before programming any fuses which are ECC
protected on imx8qm/imx8qxp. Also protect any gaps in fuse indexes

Signed-off-by: Teo Hall <teo.hall@nxp.com>
2018-12-03 12:00:32 -06:00
faqiang.zhu 0f6a15d8ad MA-13537-4 remove the feature that imx6 and imx7 can always unlock
now the uboot used by uuu is compiled indepently from the one flashed to
the board, and for imx6 and imx7, defconfig from BSP team is used to
configure the uboot for uuu, so there is no need to unlock the device
when flash the board.

Change-Id: Ieefbd67e095dd51eab87e9a32b586cdf88f05d81
Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
2018-11-29 14:42:40 +08:00
faqiang.zhu 4b452996dd MA-13603 change unlock logic to firstly judge unlocked or not
to handle situations that it is not allowed to unlock but the board is
already unlocked, unlock logic is modified in this patch

Change-Id: I90b22c2dfbc1c64ed9514032986e98b27526c7b9
Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
2018-11-28 21:35:37 +08:00
Peng Fan 781f2d8feb MLK-20479 imx8mq: clear ocotp error bit
In case ocotp error bit is set, clear it.
This is a workaround to ocotp error bit.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2018-11-28 13:39:58 +08:00
faqiang.zhu c258131f49 MA-13588 Fix build warning caused by previous android SPL+CONTAINER patch
compile waring info is as below:
	arch/arm/mach-imx/imx8/parser.c: In function ‘mmc_load_image_parse_container’:
	arch/arm/mach-imx/imx8/parser.c:244:1: warning: control reaches end of non-void function [-Wreturn-type]
	}
	^

previouse patch change ID:
I40a791d5b5b1eba6a0170d6853626fb546be4b2c

Change-Id: Ia605df11beab42e720fff6442a11b1e4b25ac209
Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
2018-11-28 12:00:41 +08:00
faqiang.zhu 6dffe1931e MA-13537-3 disable SPL feature for uuu uboot
uuu doesn't parse SPL+FIT format for mek_8q platforms. this patch
delete SPL and FIT related configurations in defconfig file for uuu
uboot.

Change-Id: If7c352a60a1534b1a5af9f0b661953c9c60191dc
Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
2018-11-27 21:12:33 +08:00
faqiang.zhu ff5c0434de MA-13537-2 add defconfig files for uuu uboot image
defconfig files for uuu uboot and uboot flashed to board need to be
different.
because ab slot feature need to be used, defconfig of BSP team won't
be used.

this patch add for defconfig files for uuu uboot used on imx8. these
two files are directly copied from the files below:
1. imx8qm_mek_android_defconfig
2. imx8qxp_mek_android_defconfig
3. imx8mm_evk_android_defconfig
4. imx8mq_evk_android_defconfig

they are respectively be pasted as:
1. imx8qm_mek_android_uuu_defconfig
2. imx8qxp_mek_android_uuu_defconfig
3. imx8mm_evk_android_uuu_defconfig
4. imx8mq_evk_android_uuu_defconfig

Change-Id: I483593beb99477f1821c529254856d372d274661
Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
2018-11-27 21:12:33 +08:00
Ye Li 710efd3ccb MLK-20467 imx8m: Fix issue for booting signed image through uuu
The SPL loads the FIT image FDT part to an address related with the device
block length. This length is 512 for SD/MMC and is 1 for other devices
like SDP, NOR, NAND, SPI, etc.
When signing FIT image, we use fixed address caculated by SD/MMC block length
to sign FDT part. Thus, when booting through uuu, this causes mismatch and
gets authentication failed.

Fix the issue by providing a override function for this FIT buffer address.
When secure boot is enabled, adjust the addresses of other devices to be same
with SD/MMC.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2018-11-27 02:55:50 -08:00
Ye Li 5a438e8daa MLK-20464 mx7ulp_evk: Fix build warning
Get build warning below because the CONFIG_SERIAL_TAG is not defined.

drivers/usb/gadget/f_fastboot.c: In function ‘fastboot_setup’:
drivers/usb/gadget/f_fastboot.c:1768:2: warning: ‘serialnr.high’ is used
uninitialized in this function [-Wuninitialized]
   sprintf(serial, "%08x%08x", serialnr.high, serialnr.low);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 drivers/usb/gadget/f_fastboot.c:1768:2: warning: ‘serialnr.low’ is used
uninitialized in this function [-Wuninitialized]

Signed-off-by: Ye Li <ye.li@nxp.com>
2018-11-26 01:19:43 -08:00
Ji Luo 1143268cc5 MA-13459 Enable uuu for imx8mq_aiy board
Open configs to enable uuu for imx8mq_aiy.

Test: uuu flash ok on imx8mq_aiy.

Change-Id: I2c4a1010bf9b32f7cf706e9fa2f75133cf173b35
Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-11-26 14:02:33 +08:00
Ji Luo 686470235b MA-13453-1 Add new board target imx8mq_aiy
Add support for new target imx8mq_aiy.

Test: build and boot ok on imx8mq_aiy.

Change-Id: I7bb8b66e5235a7122073dcfb4cdc7f165036b9a6
Signed-off-by: Ji Luo <ji.luo@nxp.com>
2018-11-26 14:02:33 +08:00