[banjo] Turn fuchsia.hardware.clock into a FIDL library.

Bug: 72629
Change-Id: I272ef3ed89a5b081d97a8476641017ba304a9b0e
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/512625
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
Fuchsia-Auto-Submit: Suraj Malhotra <surajmalhotra@google.com>
Reviewed-by: Jocelyn Dang <jocelyndang@google.com>
API-Review: Jocelyn Dang <jocelyndang@google.com>
diff --git a/docs/concepts/graphics/magma/porting.md b/docs/concepts/graphics/magma/porting.md
index af44512..a0231d9 100644
--- a/docs/concepts/graphics/magma/porting.md
+++ b/docs/concepts/graphics/magma/porting.md
@@ -317,7 +317,7 @@
 [icd_load]: /src/graphics/tests/icd_load
 [libmagma]: /src/graphics/lib/magma/src/libmagma
 [intelgn]: /src/graphics/lib/magma/gnbuild/magma-intel-gen/BUILD.gn
-[fuchsia.hardware.clock.Clock]: /sdk/banjo/fuchsia.hardware.clock/clock.banjo
+[fuchsia.hardware.clock.Clock]: /sdk/banjo/fuchsia.hardware.clock/clock.fidl
 [fuchsia.hardware.power.Power]: /sdk/banjo/fuchsia.hardware.power/power.banjo
 [dgsd]: /docs/concepts/drivers/getting_started.md
 [libc]: /docs/concepts/system/libc.md
diff --git a/sdk/banjo/BUILD.gn b/sdk/banjo/BUILD.gn
index 3e5ab67..ac82c82 100644
--- a/sdk/banjo/BUILD.gn
+++ b/sdk/banjo/BUILD.gn
@@ -34,7 +34,6 @@
   "fuchsia.hardware.camera",
   "fuchsia.hardware.camera.sensor",
   "fuchsia.hardware.camerahwaccel",
-  "fuchsia.hardware.clock",
   "fuchsia.hardware.clockimpl",
   "fuchsia.hardware.display.capture",
   "fuchsia.hardware.display.clamprgb",
@@ -164,7 +163,6 @@
 # identical to the ones generated by banjo.
 _cpp_mock_translated_deps = [
   "fuchsia.hardware.camera.sensor",
-  "fuchsia.hardware.clock",
   "fuchsia.hardware.gpio",
   "fuchsia.hardware.gpioimpl",
   "fuchsia.hardware.mipicsi",
diff --git a/sdk/banjo/fuchsia.hardware.clock/BUILD.gn b/sdk/banjo/fuchsia.hardware.clock/BUILD.gn
index ecf7fa0..5e2093b 100644
--- a/sdk/banjo/fuchsia.hardware.clock/BUILD.gn
+++ b/sdk/banjo/fuchsia.hardware.clock/BUILD.gn
@@ -2,18 +2,9 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-import("//build/banjo/banjo.gni")
+import("//build/fidl/fidl.gni")
 
-banjo("fuchsia.hardware.clock") {
-  sources = [ "clock.banjo" ]
-  deps = [ "//sdk/banjo/zx" ]
-}
-
-group("fuchsia.hardware.clock_banjo_cpp") {
-  public_deps = [ ":fuchsia.hardware.clock" ]
-}
-
-group("fuchsia.hardware.clock_banjo_cpp_mock") {
-  testonly = true
-  public_deps = [ ":fuchsia.hardware.clock_mock" ]
+fidl("fuchsia.hardware.clock") {
+  sources = [ "clock.fidl" ]
+  public_deps = [ "//zircon/vdso/zx" ]
 }
diff --git a/sdk/banjo/fuchsia.hardware.clock/clock.banjo b/sdk/banjo/fuchsia.hardware.clock/clock.fidl
similarity index 100%
rename from sdk/banjo/fuchsia.hardware.clock/clock.banjo
rename to sdk/banjo/fuchsia.hardware.clock/clock.fidl
diff --git a/src/camera/drivers/hw_accel/gdc/BUILD.gn b/src/camera/drivers/hw_accel/gdc/BUILD.gn
index 2bfcc44..21d510b 100644
--- a/src/camera/drivers/hw_accel/gdc/BUILD.gn
+++ b/src/camera/drivers/hw_accel/gdc/BUILD.gn
@@ -33,7 +33,7 @@
 
   public_deps = [
     ":gdc_bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gdc",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/camera/drivers/sensors/imx227/BUILD.gn b/src/camera/drivers/sensors/imx227/BUILD.gn
index 77f32b5..fd7ca90 100644
--- a/src/camera/drivers/sensors/imx227/BUILD.gn
+++ b/src/camera/drivers/sensors/imx227/BUILD.gn
@@ -32,7 +32,6 @@
     ":imx227_bind",
     "//sdk/banjo/fuchsia.hardware.camera",
     "//sdk/banjo/fuchsia.hardware.camera.sensor",
-    "//sdk/banjo/fuchsia.hardware.clock",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.mipicsi",
     "//sdk/banjo/fuchsia.hardware.platform.device",
@@ -44,6 +43,7 @@
   ]
 
   public_deps = [
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/lib/fit-promise",
     "//src/devices/bus/lib/device-protocol-pdev",
     "//src/devices/i2c/lib/device-protocol-i2c-channel",
@@ -76,7 +76,7 @@
   sources = [ "imx227_unittest.cc" ]
   deps = [
     ":lib",
-    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_mock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_mock",
     "//sdk/banjo/fuchsia.hardware.mipicsi:fuchsia.hardware.mipicsi_mock",
     "//src/devices/i2c/testing/mock-i2c",
diff --git a/src/connectivity/ethernet/drivers/aml-ethernet-s912/BUILD.gn b/src/connectivity/ethernet/drivers/aml-ethernet-s912/BUILD.gn
index ef09cf6..114cfcc 100644
--- a/src/connectivity/ethernet/drivers/aml-ethernet-s912/BUILD.gn
+++ b/src/connectivity/ethernet/drivers/aml-ethernet-s912/BUILD.gn
@@ -21,7 +21,7 @@
   sources = [ "aml-ethernet.cc" ]
   deps = [
     ":aml_eth_bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.ethernet",
     "//sdk/banjo/fuchsia.hardware.ethernet.board",
     "//sdk/banjo/fuchsia.hardware.gpio",
diff --git a/src/connectivity/ethernet/drivers/dwmac/BUILD.gn b/src/connectivity/ethernet/drivers/dwmac/BUILD.gn
index e1c9ae6..74a6ac2 100644
--- a/src/connectivity/ethernet/drivers/dwmac/BUILD.gn
+++ b/src/connectivity/ethernet/drivers/dwmac/BUILD.gn
@@ -25,7 +25,7 @@
   ]
   deps = [
     ":dwmac_bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.ethernet",
     "//sdk/banjo/fuchsia.hardware.ethernet.board",
     "//sdk/banjo/fuchsia.hardware.ethernet.mac",
diff --git a/src/devices/block/drivers/as370-sdhci/BUILD.gn b/src/devices/block/drivers/as370-sdhci/BUILD.gn
index ee7f5cc..a1acebb 100644
--- a/src/devices/block/drivers/as370-sdhci/BUILD.gn
+++ b/src/devices/block/drivers/as370-sdhci/BUILD.gn
@@ -24,7 +24,7 @@
   sources = [ "as370-sdhci.cc" ]
   deps = [
     ":as370-sdhci-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/devices/block/drivers/mtk-sdmmc/BUILD.gn b/src/devices/block/drivers/mtk-sdmmc/BUILD.gn
index 4caa6be..25bc256 100644
--- a/src/devices/block/drivers/mtk-sdmmc/BUILD.gn
+++ b/src/devices/block/drivers/mtk-sdmmc/BUILD.gn
@@ -24,7 +24,7 @@
   deps = [
     ":mtk-sdmmc-bind",
     "//sdk/banjo/fuchsia.hardware.block",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.sdmmc",
@@ -56,7 +56,7 @@
   deps = [
     ":mtk-sdmmc-bind",
     "//sdk/banjo/fuchsia.hardware.block",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.sdmmc",
diff --git a/src/devices/board/drivers/sherlock/BUILD.gn b/src/devices/board/drivers/sherlock/BUILD.gn
index 2eac404..7553892 100644
--- a/src/devices/board/drivers/sherlock/BUILD.gn
+++ b/src/devices/board/drivers/sherlock/BUILD.gn
@@ -91,7 +91,7 @@
     deps = [
       ":luis-bind",
       ":sherlock-bind",
-      "//sdk/banjo/fuchsia.hardware.clock",
+      "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
       "//sdk/banjo/fuchsia.hardware.clockimpl",
       "//sdk/banjo/fuchsia.hardware.gpio",
       "//sdk/banjo/fuchsia.hardware.gpioimpl",
diff --git a/src/devices/board/drivers/vim3/BUILD.gn b/src/devices/board/drivers/vim3/BUILD.gn
index 7f7109f..f0ef990 100644
--- a/src/devices/board/drivers/vim3/BUILD.gn
+++ b/src/devices/board/drivers/vim3/BUILD.gn
@@ -42,7 +42,7 @@
   ]
   deps = [
     ":vim3-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
     "//sdk/banjo/fuchsia.hardware.ethernet",
     "//sdk/banjo/fuchsia.hardware.gpio",
diff --git a/src/devices/bus/drivers/platform/test/BUILD.gn b/src/devices/bus/drivers/platform/test/BUILD.gn
index 4170c92..ce60862 100644
--- a/src/devices/bus/drivers/platform/test/BUILD.gn
+++ b/src/devices/bus/drivers/platform/test/BUILD.gn
@@ -212,7 +212,7 @@
   sources = [ "test/clock.cc" ]
   deps = [
     ":test-clock-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
     "//sdk/banjo/fuchsia.hardware.platform.bus",
     "//sdk/banjo/fuchsia.hardware.platform.device",
@@ -363,7 +363,7 @@
   sources = [ "test/composite.c" ]
   deps = [
     ":test-composite-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.goldfish.addressspace",
     "//sdk/banjo/fuchsia.hardware.goldfish.pipe",
     "//sdk/banjo/fuchsia.hardware.goldfish.sync",
diff --git a/src/devices/clock/drivers/as370-clk/BUILD.gn b/src/devices/clock/drivers/as370-clk/BUILD.gn
index c593b09..e6cd571 100644
--- a/src/devices/clock/drivers/as370-clk/BUILD.gn
+++ b/src/devices/clock/drivers/as370-clk/BUILD.gn
@@ -26,7 +26,7 @@
   sources = [ "as370-clk.cc" ]
   deps = [
     ":syn_clk_bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.i2c",
@@ -54,7 +54,7 @@
   ]
   deps = [
     ":syn_clk_bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.i2c",
diff --git a/src/devices/clock/drivers/clock/BUILD.gn b/src/devices/clock/drivers/clock/BUILD.gn
index 2d8e544..189339a 100644
--- a/src/devices/clock/drivers/clock/BUILD.gn
+++ b/src/devices/clock/drivers/clock/BUILD.gn
@@ -21,7 +21,7 @@
   sources = [ "clock.cc" ]
   deps = [
     ":clock-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
     "//src/devices/lib/driver",
     "//src/lib/ddk",
diff --git a/src/devices/clock/drivers/msm8x53-clk/BUILD.gn b/src/devices/clock/drivers/msm8x53-clk/BUILD.gn
index 18d49bb..1817b75 100644
--- a/src/devices/clock/drivers/msm8x53-clk/BUILD.gn
+++ b/src/devices/clock/drivers/msm8x53-clk/BUILD.gn
@@ -31,7 +31,7 @@
   sources = [ "msm8x53-clk.cc" ]
   deps = [
     ":msm8x53-clk-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.i2c",
@@ -62,7 +62,7 @@
   ]
   deps = [
     ":msm8x53-clk-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.clockimpl",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.i2c",
diff --git a/src/devices/cpu/drivers/aml-cpu/BUILD.gn b/src/devices/cpu/drivers/aml-cpu/BUILD.gn
index 6df1ca3..2ddbaa4e 100644
--- a/src/devices/cpu/drivers/aml-cpu/BUILD.gn
+++ b/src/devices/cpu/drivers/aml-cpu/BUILD.gn
@@ -25,7 +25,7 @@
   sources = [ "aml-cpu.cc" ]
   deps = [
     ":aml-cpu-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.thermal",
     "//sdk/fidl/fuchsia.device:fuchsia.device_llcpp",
@@ -54,7 +54,8 @@
   output_name = "aml-cpu-test"
   deps = [
     ":aml-cpu-bind",
-    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_mock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.power:fuchsia.hardware.power_mock",
     "//sdk/banjo/fuchsia.hardware.thermal",
diff --git a/src/devices/fw/drivers/qcom-pil/BUILD.gn b/src/devices/fw/drivers/qcom-pil/BUILD.gn
index 9bac5cb..65bb195 100644
--- a/src/devices/fw/drivers/qcom-pil/BUILD.gn
+++ b/src/devices/fw/drivers/qcom-pil/BUILD.gn
@@ -26,7 +26,7 @@
   sources = [ "qcom-pil.cc" ]
   deps = [
     ":qcom_pil_bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//src/devices/bus/lib/device-protocol-pdev",
     "//src/devices/bus/lib/device-protocol-platform-device",
diff --git a/src/devices/internal/drivers/fragment/BUILD.gn b/src/devices/internal/drivers/fragment/BUILD.gn
index 0b8bfa5..e4dbefa 100644
--- a/src/devices/internal/drivers/fragment/BUILD.gn
+++ b/src/devices/internal/drivers/fragment/BUILD.gn
@@ -23,7 +23,7 @@
     "//sdk/banjo/fuchsia.hardware.audio",
     "//sdk/banjo/fuchsia.hardware.buttons",
     "//sdk/banjo/fuchsia.hardware.camera.sensor",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.dsi",
     "//sdk/banjo/fuchsia.hardware.dsiimpl",
     "//sdk/banjo/fuchsia.hardware.ethernet.board",
@@ -81,7 +81,7 @@
     "//sdk/banjo/fuchsia.hardware.amlogiccanvas",
     "//sdk/banjo/fuchsia.hardware.audio",
     "//sdk/banjo/fuchsia.hardware.buttons",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.dsi",
     "//sdk/banjo/fuchsia.hardware.ethernet.board",
     "//sdk/banjo/fuchsia.hardware.goldfish.addressspace",
diff --git a/src/devices/power/drivers/aml-meson-power/BUILD.gn b/src/devices/power/drivers/aml-meson-power/BUILD.gn
index d2bfb02..32a5bee 100644
--- a/src/devices/power/drivers/aml-meson-power/BUILD.gn
+++ b/src/devices/power/drivers/aml-meson-power/BUILD.gn
@@ -54,7 +54,7 @@
   ]
   deps = [
     ":aml-meson-power-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/devices/scpi/drivers/aml-scpi-s912/BUILD.gn b/src/devices/scpi/drivers/aml-scpi-s912/BUILD.gn
index 666380e..6143583 100644
--- a/src/devices/scpi/drivers/aml-scpi-s912/BUILD.gn
+++ b/src/devices/scpi/drivers/aml-scpi-s912/BUILD.gn
@@ -40,7 +40,7 @@
   sources = [ "aml-mailbox.cc" ]
   deps = [
     ":aml-mailbox-s912-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.mailbox",
diff --git a/src/devices/thermal/drivers/aml-thermal-s905d2g-legacy/BUILD.gn b/src/devices/thermal/drivers/aml-thermal-s905d2g-legacy/BUILD.gn
index 82f289c9..8ec286f 100644
--- a/src/devices/thermal/drivers/aml-thermal-s905d2g-legacy/BUILD.gn
+++ b/src/devices/thermal/drivers/aml-thermal-s905d2g-legacy/BUILD.gn
@@ -29,7 +29,7 @@
   ]
   deps = [
     ":aml-thermal-s905d2g-legacy-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
@@ -69,7 +69,7 @@
   ]
   deps = [
     ":aml-thermal-s905d2g-legacy-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/devices/thermal/drivers/aml-thermal-s905d2g/BUILD.gn b/src/devices/thermal/drivers/aml-thermal-s905d2g/BUILD.gn
index b69b4d3..1c76780 100644
--- a/src/devices/thermal/drivers/aml-thermal-s905d2g/BUILD.gn
+++ b/src/devices/thermal/drivers/aml-thermal-s905d2g/BUILD.gn
@@ -29,7 +29,7 @@
   ]
   deps = [
     ":aml-thermal-s905d2g-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
@@ -64,7 +64,7 @@
   ]
   deps = [
     ":aml-thermal-s905d2g-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/devices/thermal/drivers/as370-thermal/BUILD.gn b/src/devices/thermal/drivers/as370-thermal/BUILD.gn
index fdbfe14..965affb 100644
--- a/src/devices/thermal/drivers/as370-thermal/BUILD.gn
+++ b/src/devices/thermal/drivers/as370-thermal/BUILD.gn
@@ -23,7 +23,7 @@
   sources = [ "as370-thermal.cc" ]
   deps = [
     ":as370-thermal-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.power",
     "//sdk/fidl/fuchsia.hardware.thermal:fuchsia.hardware.thermal_llcpp",
@@ -50,8 +50,8 @@
   ]
   deps = [
     ":as370-thermal-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
-    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_mock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.power",
     "//sdk/banjo/fuchsia.hardware.power:fuchsia.hardware.power_mock",
diff --git a/src/devices/thermal/drivers/mtk-thermal/BUILD.gn b/src/devices/thermal/drivers/mtk-thermal/BUILD.gn
index 7ff6820..42790a2 100644
--- a/src/devices/thermal/drivers/mtk-thermal/BUILD.gn
+++ b/src/devices/thermal/drivers/mtk-thermal/BUILD.gn
@@ -24,7 +24,7 @@
   sources = [ "mtk-thermal.cc" ]
   deps = [
     ":mtk-thermal-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
@@ -55,7 +55,7 @@
   ]
   deps = [
     ":mtk-thermal-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/devices/thermal/drivers/vs680-thermal/BUILD.gn b/src/devices/thermal/drivers/vs680-thermal/BUILD.gn
index f6f9d68..b2e12b2 100644
--- a/src/devices/thermal/drivers/vs680-thermal/BUILD.gn
+++ b/src/devices/thermal/drivers/vs680-thermal/BUILD.gn
@@ -23,7 +23,7 @@
   sources = [ "vs680-thermal.cc" ]
   deps = [
     ":vs680-thermal-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.power",
     "//sdk/fidl/fuchsia.hardware.thermal:fuchsia.hardware.thermal_llcpp",
@@ -50,8 +50,8 @@
   ]
   deps = [
     ":vs680-thermal-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
-    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_mock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp_mock",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.power",
     "//sdk/banjo/fuchsia.hardware.power:fuchsia.hardware.power_mock",
diff --git a/src/devices/usb/drivers/mt-musb-peripheral/BUILD.gn b/src/devices/usb/drivers/mt-musb-peripheral/BUILD.gn
index b54062d..dc71d25 100644
--- a/src/devices/usb/drivers/mt-musb-peripheral/BUILD.gn
+++ b/src/devices/usb/drivers/mt-musb-peripheral/BUILD.gn
@@ -29,7 +29,7 @@
   sources = [ "mt-usb.cc" ]
   deps = [
     ":mt_usb_bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/graphics/drivers/msd-img-rgx/mtk/BUILD.gn b/src/graphics/drivers/msd-img-rgx/mtk/BUILD.gn
index a33c3c2..aa17f466 100644
--- a/src/graphics/drivers/msd-img-rgx/mtk/BUILD.gn
+++ b/src/graphics/drivers/msd-img-rgx/mtk/BUILD.gn
@@ -37,7 +37,7 @@
     public_deps = [
       ":msg_img_rgx_mt8167_bind",
       "../include",
-      "//sdk/banjo/fuchsia.hardware.clock",
+      "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
       "//sdk/banjo/fuchsia.hardware.platform.device",
       "//sdk/fidl/fuchsia.gpu.magma:fuchsia.gpu.magma_llcpp",
       "//src/devices/bus/lib/device-protocol-pdev",
diff --git a/src/media/audio/drivers/aml-g12-pdm/BUILD.gn b/src/media/audio/drivers/aml-g12-pdm/BUILD.gn
index bc487eb..7aadd44 100644
--- a/src/media/audio/drivers/aml-g12-pdm/BUILD.gn
+++ b/src/media/audio/drivers/aml-g12-pdm/BUILD.gn
@@ -22,7 +22,7 @@
 
   deps = [
     ":aml_g12_pdm_bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.i2c",
     "//sdk/banjo/fuchsia.hardware.platform.device",
diff --git a/src/media/audio/drivers/as370-pdm-input/BUILD.gn b/src/media/audio/drivers/as370-pdm-input/BUILD.gn
index 5bec775..3258c00 100644
--- a/src/media/audio/drivers/as370-pdm-input/BUILD.gn
+++ b/src/media/audio/drivers/as370-pdm-input/BUILD.gn
@@ -22,7 +22,7 @@
 
   deps = [
     ":as370_audio_in_bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.shareddma",
     "//src/devices/bus/lib/device-protocol-pdev",
diff --git a/src/media/audio/drivers/as370-tdm-output/BUILD.gn b/src/media/audio/drivers/as370-tdm-output/BUILD.gn
index 2fbc226..d4173a9 100644
--- a/src/media/audio/drivers/as370-tdm-output/BUILD.gn
+++ b/src/media/audio/drivers/as370-tdm-output/BUILD.gn
@@ -21,7 +21,7 @@
   sources = [ "audio-stream-out.cc" ]
   deps = [
     ":as370_audio_out_bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.platform.device",
     "//sdk/banjo/fuchsia.hardware.shareddma",
     "//src/devices/bus/lib/device-protocol-pdev",
diff --git a/src/media/drivers/amlogic_decoder/BUILD.gn b/src/media/drivers/amlogic_decoder/BUILD.gn
index e5a49fe..32a4d10 100644
--- a/src/media/drivers/amlogic_decoder/BUILD.gn
+++ b/src/media/drivers/amlogic_decoder/BUILD.gn
@@ -161,6 +161,7 @@
       ":amlogic_video_test_bind",
       "h264:h264_parser",
       "//sdk/banjo/fuchsia.hardware.amlogiccanvas",
+      "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
       "//sdk/banjo/fuchsia.hardware.platform.device",
       "//sdk/banjo/fuchsia.hardware.sysmem",
       "//sdk/banjo/fuchsia.hardware.tee",
@@ -191,7 +192,6 @@
     deps = [
       ":test_support",
       "third_party/libvpx",
-      "//sdk/banjo/fuchsia.hardware.clock",
       "//sdk/fidl/fuchsia.mediacodec",
       "//sdk/lib/fdio",
       "//sdk/lib/fidl/cpp",
diff --git a/src/ui/input/drivers/bma253/BUILD.gn b/src/ui/input/drivers/bma253/BUILD.gn
index b2c3ab9..711bded 100644
--- a/src/ui/input/drivers/bma253/BUILD.gn
+++ b/src/ui/input/drivers/bma253/BUILD.gn
@@ -26,7 +26,7 @@
   sources = [ "bma253.cc" ]
   deps = [
     ":bma253-bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.hidbus",
     "//sdk/banjo/fuchsia.hardware.i2c",
diff --git a/src/ui/input/drivers/goodix/BUILD.gn b/src/ui/input/drivers/goodix/BUILD.gn
index 5763db66..2ce2a49 100644
--- a/src/ui/input/drivers/goodix/BUILD.gn
+++ b/src/ui/input/drivers/goodix/BUILD.gn
@@ -28,7 +28,7 @@
   defines = [ "GT9293_ASTRO_FIRMWARE_PATH=\"$astro_firmware_path\"" ]
   deps = [
     ":gt92xx_bind",
-    "//sdk/banjo/fuchsia.hardware.clock",
+    "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp",
     "//sdk/banjo/fuchsia.hardware.gpio",
     "//sdk/banjo/fuchsia.hardware.hidbus",
     "//sdk/banjo/fuchsia.hardware.i2c",