linux/drivers/clk/qcom
Linus Torvalds 9512433987 There's one large change in the core clk framework here. We change how
clk_set_rate_range() works so that the frequency is re-evaulated each time the
 rate is changed. Previously we wouldn't let clk providers see a rate that was
 different if it was still within the range, which could be bad for power if the
 clk could run slower when a range expands. Now the clk provider can decide to
 do something differently when the constraints change. This broke Nvidia's clk
 driver so we had to wait for the fix for that to bake a little more in -next.
 
 The rate range patch series also introduced a kunit suite for the clk framework
 that we're going to extend in the next release. It already made it easy to find
 corner cases in the rate range patches so I'm excited to see it cover more clk
 code and increase our confidence in core framework patches in the future. I
 also added a kunit test for the basic clk gate code and that work will continue
 to cover more basic clk types: muxes, dividers, etc.
 
 Beyond the core code we have the usual set of clk driver updates and additions.
 Qualcomm again dominates the diffstat here with lots more SoCs being supported
 and i.MX follows afer that with a similar number of SoCs gaining clk drivers.
 Beyond those large additions there's drivers being modernized to use
 clk_parent_data so we can move away from global string names for all the clks
 in an SoC. Finally there's lots of little fixes all over the clk drivers for
 typos, warnings, and missing clks that aren't critical and get batched up
 waiting for the next merge window to open. Nothing super big stands out in the
 driver pile. Full details are below.
 
 Core:
  - Make clk_set_rate_range() re-evaluate the limits each time
  - Introduce various clk_set_rate_range() tests
  - Add clk_drop_range() to drop a previously set range
 
 New Drivers:
  - i.MXRT1050 clock driver and bindings
  - i.MX8DXL clock driver and bindings
  - i.MX93 clock driver and bindings
  - NCO blocks on Apple SoCs
  - Audio clks on StarFive JH7100 RISC-V SoC
  - Add support for the new Renesas RZ/V2L SoC
  - Qualcomm SDX65 A7 PLL
  - Qualcomm SM6350 GPU clks
  - Qualcomm SM6125, SM6350, QCS2290 display clks
  - Qualcomm MSM8226 multimedia clks
 
 Updates:
  - Kunit tests for clk-gate implementation
  - Terminate arrays with sentinels and make that clearer
  - Cleanup SPDX tags
  - Fix typos in comments
  - Mark mux table as const in clk-mux
  - Make the all_lists array const
  - Convert Cirrus Logic CS2000P driver to regmap, yamlify DT binding and add
    support for dynamic mode
  - Clock configuration on Microchip PolarFire SoCs
  - Free allocations on probe error in Mediatek clk driver
  - Modernize Mediatek clk driver by consolidating code
  - Add watchdog (WDT), I2C, and pin function controller (PFC) clocks on
    Renesas R-Car S4-8
  - Improve the clocks for the Rockchip rk3568 display outputs (parenting, pll-rates)
  - Use of_device_get_match_data() instead of open-coding on Rockchip rk3568
  - Reintroduce the expected fractional-divider behaviour that disappeared
    with the addition of CLK_FRAC_DIVIDER_POWER_OF_TWO_PS
  - Remove SYS PLL 1/2 clock gates for i.MX8M*
  - Remove AUDIO MCLK ROOT from i.MX7D
  - Add fracn gppll clock type used by i.MX93
  - Add new composite clock for i.MX93
  - Add missing media mipi phy ref clock for i.MX8MP
  - Fix off by one in imx_lpcg_parse_clks_from_dt()
  - Rework for the imx pll14xx
  - sama7g5: One low priority fix for GCLK of PDMC
  - Add DMA engine (SYS-DMAC) clocks on Renesas R-Car S4-8
  - Add MOST (MediaLB I/F) clocks on Renesas R-Car E3 and D3
  - Add CAN-FD clocks on Renesas R-Car V3U
  - Qualcomm SC8280XP RPMCC
  - Add some missing clks on Qualcomm MSM8992/MSM8994/MSM8998 SoCs
  - Rework Qualcomm GCC bindings and convert SDM845 camera bindig to YAML
  - Convert various Qualcomm drivers to use clk_parent_data
  - Remove test clocks from various Qualcomm drivers
  - Crypto engine clks on Qualcomm IPQ806x + more freqs for SDCC/NSS
  - Qualcomm SM8150 EMAC, PCIe, UFS GDSCs
  - Better pixel clk frequency support on Qualcomm RCG2 clks
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmJDd+gRHHNib3lkQGtl
 cm5lbC5vcmcACgkQrQKIl8bklSVB4A//QWPv7tssTuHvVDOPz2q9rJFbjG6/fsuY
 d8i30y4uTSCWO2eErVUNKxRmrR5/DFJZ20cqv5aTXbiUk5BrmCiD0hyb8RZIU4jD
 Kw+1pEvnbBWR6s5TK0spMS9Nz9Uq8DBwoeczHAVQrRZu0I8AkOvWlVH7GncejYOP
 KJJSiuByXHRLxudrLWTwwkz3xoDTZBeBcqNbBnatgXnPgSzBh0Uz+0q8r9V9Hugw
 +TwXoTVt+XDrX2ihPzZlfm9xoOTOP6GoP+FYCo8gCfW4N0VjUDr3+D95rJoI2gp/
 O9UyAx1+tMLlkVxuHcX1npHDPX6Nrqan68DBV4LQRdhSO3dfVD95AE16GzMrD+2t
 nuIzT+rst42UUzipCK/8pHLd/YCcPmIsH4C25ZnaF/I59kI/seF3zbekMTY7hS8D
 q9sTZYj1X32aHGTtN6QK6QJIscGHYfnSG3M8VLOnhmWDKmW+6AWJ2MVZdcCqDgnS
 AXnx1p7gwd/lHV8P+e1YoiUyh5a3tJ2CFFdQCu0tPwL0xLehHyfjKqtjYZjL2+hl
 6pF8KxEy6BiMEZWqXmIUJK6xWFO9VpQ2uPxtV8pCTIAXmOOPenWhH7lkeTtIDRc0
 hzJURj9HEcpEDakC4/16yfr+YnEn/vjhhZ8a4Vymsnl2IsI71C17vDmRer875Bp/
 KPMBn6I1naQ=
 =fP8L
 -----END PGP SIGNATURE-----

Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux

Pull clk updates from Stephen Boyd:
 "There's one large change in the core clk framework here. We change how
  clk_set_rate_range() works so that the frequency is re-evaulated each
  time the rate is changed. Previously we wouldn't let clk providers see
  a rate that was different if it was still within the range, which
  could be bad for power if the clk could run slower when a range
  expands. Now the clk provider can decide to do something differently
  when the constraints change. This broke Nvidia's clk driver so we had
  to wait for the fix for that to bake a little more in -next.

  The rate range patch series also introduced a kunit suite for the clk
  framework that we're going to extend in the next release. It already
  made it easy to find corner cases in the rate range patches so I'm
  excited to see it cover more clk code and increase our confidence in
  core framework patches in the future. I also added a kunit test for
  the basic clk gate code and that work will continue to cover more
  basic clk types: muxes, dividers, etc.

  Beyond the core code we have the usual set of clk driver updates and
  additions. Qualcomm again dominates the diffstat here with lots more
  SoCs being supported and i.MX follows afer that with a similar number
  of SoCs gaining clk drivers. Beyond those large additions there's
  drivers being modernized to use clk_parent_data so we can move away
  from global string names for all the clks in an SoC. Finally there's
  lots of little fixes all over the clk drivers for typos, warnings, and
  missing clks that aren't critical and get batched up waiting for the
  next merge window to open. Nothing super big stands out in the driver
  pile. Full details are below.

  Core:
   - Make clk_set_rate_range() re-evaluate the limits each time
   - Introduce various clk_set_rate_range() tests
   - Add clk_drop_range() to drop a previously set range

  New Drivers:
   - i.MXRT1050 clock driver and bindings
   - i.MX8DXL clock driver and bindings
   - i.MX93 clock driver and bindings
   - NCO blocks on Apple SoCs
   - Audio clks on StarFive JH7100 RISC-V SoC
   - Add support for the new Renesas RZ/V2L SoC
   - Qualcomm SDX65 A7 PLL
   - Qualcomm SM6350 GPU clks
   - Qualcomm SM6125, SM6350, QCS2290 display clks
   - Qualcomm MSM8226 multimedia clks

  Updates:
   - Kunit tests for clk-gate implementation
   - Terminate arrays with sentinels and make that clearer
   - Cleanup SPDX tags
   - Fix typos in comments
   - Mark mux table as const in clk-mux
   - Make the all_lists array const
   - Convert Cirrus Logic CS2000P driver to regmap, yamlify DT binding
     and add support for dynamic mode
   - Clock configuration on Microchip PolarFire SoCs
   - Free allocations on probe error in Mediatek clk driver
   - Modernize Mediatek clk driver by consolidating code
   - Add watchdog (WDT), I2C, and pin function controller (PFC) clocks
     on Renesas R-Car S4-8
   - Improve the clocks for the Rockchip rk3568 display outputs
     (parenting, pll-rates)
   - Use of_device_get_match_data() instead of open-coding on Rockchip
     rk3568
   - Reintroduce the expected fractional-divider behaviour that
     disappeared with the addition of CLK_FRAC_DIVIDER_POWER_OF_TWO_PS
   - Remove SYS PLL 1/2 clock gates for i.MX8M*
   - Remove AUDIO MCLK ROOT from i.MX7D
   - Add fracn gppll clock type used by i.MX93
   - Add new composite clock for i.MX93
   - Add missing media mipi phy ref clock for i.MX8MP
   - Fix off by one in imx_lpcg_parse_clks_from_dt()
   - Rework for the imx pll14xx
   - sama7g5: One low priority fix for GCLK of PDMC
   - Add DMA engine (SYS-DMAC) clocks on Renesas R-Car S4-8
   - Add MOST (MediaLB I/F) clocks on Renesas R-Car E3 and D3
   - Add CAN-FD clocks on Renesas R-Car V3U
   - Qualcomm SC8280XP RPMCC
   - Add some missing clks on Qualcomm MSM8992/MSM8994/MSM8998 SoCs
   - Rework Qualcomm GCC bindings and convert SDM845 camera bindig to
     YAML
   - Convert various Qualcomm drivers to use clk_parent_data
   - Remove test clocks from various Qualcomm drivers
   - Crypto engine clks on Qualcomm IPQ806x + more freqs for SDCC/NSS
   - Qualcomm SM8150 EMAC, PCIe, UFS GDSCs
   - Better pixel clk frequency support on Qualcomm RCG2 clks"

* tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (227 commits)
  clk: zynq: Update the parameters to zynq_clk_register_periph_clk
  clk: zynq: trivial warning fix
  clk: Drop the rate range on clk_put()
  clk: test: Test clk_set_rate_range on orphan mux
  clk: Initialize orphan req_rate
  dt-bindings: clock: drop useless consumer example
  dt-bindings: clock: renesas: Make example 'clocks' parsable
  clk: qcom: gcc-msm8994: Fix gpll4 width
  dt-bindings: clock: fix dt_binding_check error for qcom,gcc-other.yaml
  clk: rs9: Add Renesas 9-series PCIe clock generator driver
  clk: fixed-factor: Introduce devm_clk_hw_register_fixed_factor_index()
  clk: visconti: prevent array overflow in visconti_clk_register_gates()
  dt-bindings: clk: rs9: Add Renesas 9-series I2C PCIe clock generator
  clk: sifive: Move all stuff into SoCs header files from C files
  clk: sifive: Add SoCs prefix in each SoCs-dependent data
  riscv: dts: Change the macro name of prci in each device node
  dt-bindings: change the macro name of prci in header files and example
  clk: sifive: duplicate the macro definitions for the time being
  clk: qcom: sm6125-gcc: fix typos in comments
  clk: ti: clkctrl: fix typos in comments
  ...
2022-03-30 10:11:04 -07:00
..
a7-pll.c clk: qcom: a7-pll: Add missing MODULE_DEVICE_TABLE 2021-04-09 11:20:52 -07:00
a53-pll.c clk: qcom: a53-pll: Make use of the helper function devm_platform_ioremap_resource() 2021-09-14 14:39:14 -07:00
apcs-msm8916.c clk: qcom: a53pll/mux: Use unique clock name 2021-08-05 18:52:11 -07:00
apcs-sdx55.c clk: qcom: cleanup some dev_err_probe() calls 2021-06-01 16:34:02 -07:00
apss-ipq6018.c clk: qcom: Fix return value check in apss_ipq6018_probe() 2020-06-29 14:15:34 -07:00
apss-ipq-pll.c clk: qcom: apss-ipq-pll: Add missing MODULE_DEVICE_TABLE 2021-04-09 11:20:53 -07:00
camcc-sc7180.c clk: qcom: camcc-sc7180: use parent_hws instead of parent_data 2022-02-10 18:33:30 -06:00
camcc-sc7280.c clk: qcom: camcc: Add camera clock controller driver for SC7280 2021-10-13 15:32:29 -07:00
camcc-sdm845.c clk: qcom: camcc-sdm845: convert to parent_hws/_data 2022-02-10 18:33:31 -06:00
camcc-sm8250.c clk: qcom: Add camera clock controller driver for SM8250 2021-06-27 17:19:22 -07:00
clk-alpha-pll.c We have a couple patches in the framework core this time around but 2022-01-12 17:02:27 -08:00
clk-alpha-pll.h clk: qcom: Add LUCID_EVO PLL type for SDX65 2021-12-16 13:17:22 -06:00
clk-branch.c
clk-branch.h
clk-cpu-8996.c clk: qcom: msm8996: Make symbol 'cpu_msm8996_clks' static 2020-07-20 17:40:18 -07:00
clk-hfpll.c
clk-hfpll.h
clk-krait.c
clk-krait.h
clk-pll.c
clk-pll.h
clk-rcg2.c clk: qcom: clk-rcg2: Update the frac table for pixel clock 2022-03-09 08:53:29 -06:00
clk-rcg.c clk: qcom: clk-rcg: add clk_rcg_floor_ops ops 2022-03-08 16:19:31 -06:00
clk-rcg.h clk: qcom: clk-rcg: add clk_rcg_floor_ops ops 2022-03-08 16:19:31 -06:00
clk-regmap-divider.c
clk-regmap-divider.h
clk-regmap-mux-div.c
clk-regmap-mux-div.h
clk-regmap-mux.c clk: qcom: regmap-mux: fix parent clock lookup 2021-12-02 15:07:34 -08:00
clk-regmap-mux.h
clk-regmap.c clk: qcom: clk-regmap: Provide missing description for 'devm_clk_register_regmap()'s dev param 2021-02-10 19:42:51 -08:00
clk-regmap.h clk: define to_clk_regmap() as inline function 2020-10-28 16:34:44 -07:00
clk-rpm.c clk: qcom: clk-rpm: Remove a bunch of superfluous code 2021-02-11 11:56:06 -08:00
clk-rpmh.c clk: qcom: rpmhcc: add sc8280xp support to the RPMh clock controller 2022-02-24 21:43:21 -06:00
clk-smd-rpm.c clk: qcom: smd: Add missing MSM8998 RPM clocks 2022-03-09 08:53:29 -06:00
clk-spmi-pmic-div.c
common.c clk: qcom: regmap-mux: fix parent clock lookup 2021-12-02 15:07:34 -08:00
common.h clk: qcom: regmap-mux: fix parent clock lookup 2021-12-02 15:07:34 -08:00
dispcc-qcm2290.c clk: qcom: Add display clock controller driver for QCM2290 2022-02-10 17:56:10 -06:00
dispcc-sc7180.c clk: qcom: dispcc: Update the transition delay for MDSS GDSC 2022-02-24 16:22:11 -08:00
dispcc-sc7280.c clk: qcom: dispcc: Update the transition delay for MDSS GDSC 2022-02-24 16:22:11 -08:00
dispcc-sdm845.c clk: qcom: dispcc-sdm845: get rid of the test clock 2021-04-07 17:22:53 -07:00
dispcc-sm6125.c clk: qcom: Add display clock controller driver for SM6125 2022-03-09 08:53:30 -06:00
dispcc-sm6350.c clk: qcom: Add display clock controller driver for SM6350 2022-03-08 16:16:47 -06:00
dispcc-sm8250.c clk: qcom: dispcc: Update the transition delay for MDSS GDSC 2022-02-24 16:22:11 -08:00
gcc-apq8084.c
gcc-ipq806x.c clk: qcom: gcc-ipq806x: add CryptoEngine resets 2022-03-08 16:19:31 -06:00
gcc-ipq4019.c clk: qcom: gcc-ipq4019: Remove unused variable 'ret' 2021-02-11 11:56:05 -08:00
gcc-ipq6018.c
gcc-ipq8074.c clk: qcom: ipq8074: Use floor ops for SDCC1 clock 2022-02-24 13:54:17 -06:00
gcc-mdm9607.c clk/qcom: Remove unused variables 2021-06-27 17:04:48 -07:00
gcc-mdm9615.c
gcc-msm8660.c
gcc-msm8916.c
gcc-msm8939.c clk: qcom: gcc-msm8939: remove defined but not used variables 2020-09-22 11:50:23 -07:00
gcc-msm8953.c clk: qcom: Remove redundant .owner 2021-10-07 18:24:40 -07:00
gcc-msm8960.c
gcc-msm8974.c clk: qcom: gcc: Add support for Global Clock controller found on MSM8226 2021-06-27 17:00:50 -07:00
gcc-msm8976.c clk: qcom: Add MSM8976/56 Global Clock Controller (GCC) driver 2021-12-16 13:17:23 -06:00
gcc-msm8994.c There's one large change in the core clk framework here. We change how 2022-03-30 10:11:04 -07:00
gcc-msm8996.c clk: qcom: gcc-msm8996: start getting rid of xo clk 2022-02-10 18:33:31 -06:00
gcc-msm8998.c clk: qcom: gcc-msm8998: Remove transient global "xo" clock 2021-09-14 14:40:32 -07:00
gcc-qcm2290.c clk: qcom: Add Global Clock Controller driver for QCM2290 2021-10-13 12:43:02 -07:00
gcc-qcs404.c
gcc-sc7180.c clk: qcom: gcc-sc7180: use ARRAY_SIZE instead of specifying num_parents 2021-04-07 17:25:50 -07:00
gcc-sc7280.c clk: qcom: gcc-sc7280: Mark gcc_cfg_noc_lpass_clk always enabled 2022-01-05 16:04:07 -08:00
gcc-sc8180x.c clk: qcom: gcc-sc8180x: use ARRAY_SIZE instead of specifying num_parents 2021-04-07 17:25:52 -07:00
gcc-sdm660.c clk: qcom: gcc-sdm660: Use ARRAY_SIZE for num_parents 2021-09-14 14:09:47 -07:00
gcc-sdm845.c clk: qcom: gcc-sdm845: get rid of the test clock 2021-04-09 12:01:22 -07:00
gcc-sdx55.c clk: qcom: gcc-sdx55: use parent_hws where possible 2021-04-07 17:22:54 -07:00
gcc-sdx65.c clk: qcom: Add SDX65 GCC support 2021-12-16 13:17:22 -06:00
gcc-sm6115.c clk: qcom: gcc-sm6115: Fix offset for hlos1_vote_turing_mmu_tbu0_gdsc 2021-10-13 10:43:39 -07:00
gcc-sm6125.c clk: qcom: sm6125-gcc: fix typos in comments 2022-03-15 15:48:38 -07:00
gcc-sm6350.c clk: qcom: gcc-sm6350: explicitly include clk-provider.h 2021-12-20 23:14:50 -06:00
gcc-sm8150.c clk: qcom: gcc: Add emac GDSC support for SM8150 2022-03-09 08:53:29 -06:00
gcc-sm8250.c clk: qcom: gcc-sm8250: use ARRAY_SIZE instead of specifying num_parents 2021-04-07 17:25:52 -07:00
gcc-sm8350.c clk: qcom: gcc-sm8350: explicitly include clk-provider.h 2021-12-20 23:14:50 -06:00
gcc-sm8450.c clk: qcom: Add clock driver for SM8450 2021-12-16 13:17:22 -06:00
gdsc.c clk: qcom: gdsc: Add support to update GDSC transition delay 2022-02-24 16:11:42 -08:00
gdsc.h clk: qcom: gdsc: Add support to update GDSC transition delay 2022-02-24 16:11:42 -08:00
gpucc-msm8998.c clk: qcom: gpucc-msm8998: Remove unnecessary fallbacks to global clocks 2021-09-14 14:40:33 -07:00
gpucc-sc7180.c clk: qcom: gpucc-sc7180: drop unused enum entries 2021-04-07 17:22:51 -07:00
gpucc-sc7280.c clk: qcom: Add graphics clock controller driver for SC7280 2021-07-20 13:46:32 -07:00
gpucc-sdm660.c clk: qcom: gpucc-sdm660: use parent_hws instead of parent_data 2022-02-10 18:33:30 -06:00
gpucc-sdm845.c clk: qcom: gpucc-sdm845: get rid of the test clock 2021-04-07 17:22:53 -07:00
gpucc-sm6350.c clk: qcom: Add GPU clock controller driver for SM6350 2022-03-08 16:16:47 -06:00
gpucc-sm8150.c clk: qcom: gpucc-sm8150: Add SC8180x support 2021-08-05 18:50:43 -07:00
gpucc-sm8250.c clk: qcom: gpucc-sm8250: use parent_hws where possible 2021-04-07 17:22:54 -07:00
hfpll.c
Kconfig clk: qcom: Add display clock controller driver for SM6125 2022-03-09 08:53:30 -06:00
kpss-xcc.c clk: qcom: Declare mux table as const u32[] 2022-02-25 16:41:39 -08:00
krait-cc.c
lcc-ipq806x.c
lcc-mdm9615.c
lcc-msm8960.c
lpass-gfm-sm8250.c clk: qcom: use devm_pm_runtime_enable and devm_pm_clk_create 2021-08-26 11:28:11 -07:00
lpasscc-sc7280.c clk: qcom: lpasscc-sc7280: explicitly include clk-provider.h 2021-12-20 23:14:50 -06:00
lpasscc-sdm845.c clk: qcom: lpasscc-sdm845: explicitly include clk-provider.h 2021-12-20 23:14:50 -06:00
lpasscorecc-sc7180.c clk: qcom: use devm_pm_runtime_enable and devm_pm_clk_create 2021-08-26 11:28:11 -07:00
Makefile clk: qcom: Add display clock controller driver for SM6125 2022-03-09 08:53:30 -06:00
mmcc-apq8084.c clk: qcom: mmcc-apq8084: explicitly include clk-provider.h 2021-12-20 23:14:50 -06:00
mmcc-msm8960.c
mmcc-msm8974.c clk: qcom: Add MSM8226 Multimedia Clock Controller support 2022-02-10 18:36:08 -06:00
mmcc-msm8994.c clk: qcom: mmcc-msm8994: Add MSM8992 support 2021-08-26 11:58:17 -07:00
mmcc-msm8996.c clk: qcom: mmcc-msm8996: Migrate gfx3d clock to clk_rcg2_gfx3d 2021-02-14 12:56:54 -08:00
mmcc-msm8998.c clk: qcom: mmcc-msm8998: Remove unnecessary fallbacks to global clocks 2021-09-14 14:40:33 -07:00
mmcc-sdm660.c clk: qcom: mmcc-sdm660: Add hw_ctrl flag to venus_core0_gdsc 2021-10-13 15:20:24 -07:00
mss-sc7180.c clk: qcom: use devm_pm_runtime_enable and devm_pm_clk_create 2021-08-26 11:28:11 -07:00
q6sstop-qcs404.c clk: qcom: q6sstop-qcs404: explicitly include clk-provider.h 2021-12-20 23:14:50 -06:00
reset.c
reset.h
turingcc-qcs404.c clk: qcom: turingcc-qcs404: explicitly include clk-provider.h 2021-12-20 23:14:50 -06:00
videocc-sc7180.c clk: qcom: videocc-sc7180: use parent_hws instead of parent_data 2022-02-10 18:33:31 -06:00
videocc-sc7280.c clk: qcom: Add video clock controller driver for SC7280 2021-07-20 13:46:32 -07:00
videocc-sdm845.c clk: qcom: videocc-sdm845: get rid of the test clock 2021-04-07 17:22:53 -07:00
videocc-sm8150.c clk: qcom: videocc-sm8150: use parent_hws where possible 2021-04-07 17:22:54 -07:00
videocc-sm8250.c clk: qcom: videocc-sm8250: use runtime PM for the clock controller 2021-10-14 17:50:52 -07:00