Update kernel to ab/13436313

Change-Id: Ib19a3ecc2b6a5b3c557b45a63ed7288954bc8088
diff --git a/BUILD.bazel b/BUILD.bazel
new file mode 100644
index 0000000..696f012
--- /dev/null
+++ b/BUILD.bazel
@@ -0,0 +1,272 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir")
+load(
+    "//build/kernel/kleaf:kernel.bzl",
+    "kernel_abi",
+    "kernel_build",
+    "kernel_build_config",
+    "kernel_dtstree",
+    "kernel_images",
+    "kernel_module_group",
+    "kernel_modules_install",
+    "kernel_unstripped_modules_archive",
+    "merged_kernel_uapi_headers",
+)
+load("//private/devices/google/common/kleaf:create_file.bzl", "create_file")
+load("//private/devices/google/zuma:constants.bzl", "ZUMA_DPM_DTBOS", "ZUMA_DTBS")
+load("//private/devices/google/zumapro:constants.bzl", "ZUMAPRO_DPM_DTBOS", "ZUMAPRO_DTBS", "ZUMAPRO_MODULE_OUTS")
+load(":constants.bzl", "CAIMITO_DTBOS")
+
+kernel_build_config(
+    name = "build_config",
+    srcs = [
+        # do not sort
+        "//private/devices/google/zumapro:build_config",
+        "build.config.caimito",
+    ],
+)
+
+kernel_dtstree(
+    name = "dtstree",
+    srcs = glob(["dts/**"]) + [
+        "//private/google-modules/soc/gs:gs.dt-bindings",
+    ],
+    makefile = "dts/Makefile",
+)
+
+create_file(
+    name = "kconfig_ext",
+    srcs = [
+        # do not sort
+        "//private/devices/google/zumapro:kconfig_ext",
+        "Kconfig.ext.caimito",
+    ],
+    out = "Kconfig.ext",
+)
+
+filegroup(
+    name = "defconfig_fragments",
+    srcs = [
+        # do not sort
+        "//private/devices/google/zumapro:defconfig_fragments",
+        "caimito_defconfig",
+    ],
+)
+
+filegroup(
+    name = "kernel_sources",
+    srcs = [
+        # keep sorted
+        "//private/devices/google/zumapro:kernel_sources",
+        "//private/google-modules/display/common:common.kconfig",
+        "//private/google-modules/fingerprint/qcom/qfs4008:qbt_handler.kconfig",
+        "//private/google-modules/radio/samsung/s5400:cpif.kconfig",
+        "//private/google-modules/touch/common:touch.common.kconfig",
+        "//private/google-modules/touch/sec:sec.kconfig",
+    ],
+)
+
+kernel_build(
+    name = "kernel",
+    srcs = [":kernel_sources"],
+    outs = [
+        ".config",
+    ] + [
+        "zuma/{}".format(dtb)
+        for dtb in ZUMA_DTBS + ZUMA_DPM_DTBOS
+    ] + [
+        "zumapro/{}".format(dtb)
+        for dtb in ZUMAPRO_DTBS + ZUMAPRO_DPM_DTBOS
+    ] + CAIMITO_DTBOS,
+    base_kernel = "//common:kernel_aarch64",
+    build_config = ":build_config",
+    collect_unstripped_modules = True,
+    defconfig_fragments = [":defconfig_fragments"],
+    dtstree = ":dtstree",
+    kconfig_ext = ":kconfig_ext",
+    kmi_symbol_list = "//common:android/abi_gki_aarch64_pixel",
+    make_goals = [
+        "modules",
+        "dtbs",
+    ],
+    module_outs = ZUMAPRO_MODULE_OUTS,
+    strip_modules = True,
+)
+
+kernel_module_group(
+    name = "kernel_ext_modules",
+    srcs = [
+        # FIXME: SoC modules need to be loaded first or the device will crash.
+        #        Module dependencies should not rely on the order. This needs be fixed.
+        "//private/devices/google/zumapro:kernel_ext_modules",
+    ] + [
+        # keep sorted
+        "//private/google-modules/amplifiers/cs35l41",
+        "//private/google-modules/amplifiers/cs40l26",
+        "//private/google-modules/amplifiers/snd_soc_wm_adsp:snd-soc-wm-adsp",
+        "//private/google-modules/bluetooth/broadcom:bluetooth.broadcom",
+        "//private/google-modules/display/common/panel_tests",
+        "//private/google-modules/display/common/panels",
+        "//private/google-modules/display/panels/caimito:panel-gs-cm4",
+        "//private/google-modules/display/panels/caimito:panel-gs-km4",
+        "//private/google-modules/display/panels/caimito:panel-gs-tk4a",
+        "//private/google-modules/display/panels/caimito:panel-gs-tk4b",
+        "//private/google-modules/display/panels/caimito:panel-gs-tk4c",
+        "//private/google-modules/display/panels/caimito:panel-gs-tk4c-test",
+        "//private/google-modules/fingerprint/qcom/qfs4008:qbt_handler",
+        "//private/google-modules/gps/broadcom/bcm47765",
+        "//private/google-modules/nfc",
+        "//private/google-modules/radio/samsung/s5400:cpif",
+        "//private/google-modules/touch/common:touch.common",
+        "//private/google-modules/touch/sec",
+        "//private/google-modules/touch/synaptics/syna_gtd:syna_touch",
+        "//private/google-modules/uwb/qorvo/qm35/qm35s:uwb.qm35",
+        "//private/google-modules/wlan/bcm4390:bcmdhd4390",
+        "//private/google-modules/wlan/wlan_ptracker",
+    ],
+)
+
+kernel_modules_install(
+    name = "kernel_modules_install",
+    kernel_build = ":kernel",
+    kernel_modules = [":kernel_ext_modules"],
+)
+
+kernel_unstripped_modules_archive(
+    name = "kernel_unstripped_modules_archive",
+    kernel_build = ":kernel",
+    kernel_modules = [":kernel_ext_modules"],
+)
+
+merged_kernel_uapi_headers(
+    name = "merged_kernel_uapi_headers",
+    kernel_build = ":kernel",
+    kernel_modules = [":kernel_ext_modules"],
+)
+
+create_file(
+    name = "vendor_ramdisk_modules_list",
+    srcs = [
+        # do not sort
+        "//private/devices/google/zumapro:vendor_ramdisk_modules_list",
+        "vendor_ramdisk.modules.caimito",
+    ],
+    out = "vendor_ramdisk.modules",
+)
+
+create_file(
+    name = "system_dlkm_modules_list",
+    srcs = ["//private/devices/google/zumapro:system_dlkm_modules_list"],
+    out = "system_dlkm.modules",
+)
+
+create_file(
+    name = "system_dlkm_props",
+    srcs = ["//private/devices/google/zumapro:system_dlkm_props"],
+    out = "system_dlkm.props",
+)
+
+create_file(
+    name = "vendor_dlkm_modules_list",
+    srcs = ["//private/devices/google/zumapro:vendor_dlkm_modules_list"],
+    out = "vendor_dlkm.modules",
+)
+
+create_file(
+    name = "vendor_dlkm_modules_blocklist",
+    srcs = [
+        # do not sort
+        "//private/devices/google/zumapro:vendor_dlkm_modules_blocklist",
+        "vendor_dlkm.blocklist.caimito",
+    ],
+    out = "vendor_dlkm.blocklist",
+)
+
+create_file(
+    name = "vendor_dlkm_props",
+    srcs = ["//private/devices/google/zumapro:vendor_dlkm_props"],
+    out = "vendor_dlkm.props",
+)
+
+filegroup(
+    name = "insmod_cfgs",
+    srcs = glob(["insmod_cfg/*.cfg"]),
+)
+
+kernel_images(
+    name = "kernel_images",
+    base_kernel_images = "//common:kernel_aarch64_images",
+    # TODO: b/362627953 - Remove dtb.img
+    boot_image_outs = [
+        "dtb.img",
+        "vendor_kernel_boot.img",
+    ],
+    build_dtbo = True,
+    build_initramfs = True,
+    build_system_dlkm = True,
+    build_vendor_dlkm = True,
+    build_vendor_kernel_boot = True,
+    dtbo_srcs = [":kernel/" + dtbo for dtbo in CAIMITO_DTBOS],
+    kernel_build = ":kernel",
+    kernel_modules_install = ":kernel_modules_install",
+    modules_list = ":vendor_ramdisk_modules_list",
+    ramdisk_compression = "lz4",
+    system_dlkm_modules_list = ":system_dlkm_modules_list",
+    system_dlkm_props = ":system_dlkm_props",
+    vendor_dlkm_archive = True,
+    vendor_dlkm_etc_files = [":insmod_cfgs"],
+    vendor_dlkm_modules_blocklist = ":vendor_dlkm_modules_blocklist",
+    vendor_dlkm_modules_list = ":vendor_dlkm_modules_list",
+    vendor_dlkm_props = ":vendor_dlkm_props",
+    deps = ["//private/devices/google/common:sepolicy"],
+)
+
+copy_to_dist_dir(
+    name = "dist",
+    data = [
+        # keep sorted
+        ":insmod_cfgs",
+        ":kernel",
+        ":kernel_images",
+        ":kernel_modules_install",
+        ":kernel_unstripped_modules_archive",
+        ":merged_kernel_uapi_headers",
+        "//common:android/abi_gki_aarch64_pixel",
+        "//common:kernel_aarch64",
+        "//common:kernel_aarch64_gki_boot_image",
+        "//common:kernel_aarch64_headers",
+        "//private/devices/google/common:kernel_gki_modules",
+    ] + select({
+        "//private/devices/google/common:enable_download_fips140": ["@gki_prebuilt_fips140//fips140.ko"],
+        "//private/devices/google/common:disable_download_fips140": [],
+    }),
+    dist_dir = "out/caimito/dist",
+    flat = True,
+    log = "info",
+)
+
+# For ABI monitoring
+kernel_abi(
+    name = "kernel_abi",
+    kernel_build = ":kernel",
+    kernel_modules = [":kernel_ext_modules"],
+    kmi_symbol_list_add_only = True,
+    module_grouping = False,
+)
+
+# For compatibility
+alias(
+    name = "zumapro_soc.caimito",
+    actual = "//private/devices/google/zumapro:zumapro_soc",
+)
+
+alias(
+    name = "zumapro_caimito_dist",
+    actual = ":dist",
+)
+
+alias(
+    name = "zumapro_caimito_abi_update_symbol_list",
+    actual = ":kernel_abi_update_symbol_list",
+)
diff --git a/Kconfig.ext.caimito b/Kconfig.ext.caimito
new file mode 100644
index 0000000..0d62c36
--- /dev/null
+++ b/Kconfig.ext.caimito
@@ -0,0 +1,11 @@
+# SPDX-License-Identifier: GPL-2.0
+
+source "$(KCONFIG_EXT_MODULES_PREFIX)private/google-modules/display/common/Kconfig"
+
+source "$(KCONFIG_EXT_MODULES_PREFIX)private/google-modules/fingerprint/qcom/qfs4008/Kconfig"
+
+source "$(KCONFIG_EXT_MODULES_PREFIX)private/google-modules/radio/samsung/s5400/Kconfig"
+
+source "$(KCONFIG_EXT_MODULES_PREFIX)private/google-modules/touch/common/Kconfig"
+
+source "$(KCONFIG_EXT_MODULES_PREFIX)private/google-modules/touch/sec/Kconfig"
diff --git a/build.config.caimito b/build.config.caimito
new file mode 100644
index 0000000..cab8fe0
--- /dev/null
+++ b/build.config.caimito
@@ -0,0 +1 @@
+BCMDHD=4390
diff --git a/build_caimito.sh b/build_caimito.sh
new file mode 100755
index 0000000..4778801
--- /dev/null
+++ b/build_caimito.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+
+parameters=
+if [ "${BUILD_AOSP_KERNEL}" = "1" ]; then
+  echo "WARNING: BUILD_AOSP_KERNEL is deprecated." \
+    "Use --kernel_package=@//aosp instead." >&2
+  parameters="--kernel_package=@//aosp"
+fi
+
+if [ "${BUILD_STAGING_KERNEL}" = "1" ]; then
+  echo "WARNING: BUILD_STAGING_KERNEL is deprecated." \
+    "Use --kernel_package=@//aosp-staging instead." >&2
+  parameters="--kernel_package=@//aosp-staging"
+fi
+
+exec tools/bazel run \
+    ${parameters} \
+    --config=stamp \
+    --config=caimito \
+    //private/devices/google/caimito:zumapro_caimito_dist "$@"
diff --git a/caimito_defconfig b/caimito_defconfig
new file mode 100644
index 0000000..c4bacea
--- /dev/null
+++ b/caimito_defconfig
@@ -0,0 +1,31 @@
+# private/google-modules/display/common/Kconfig
+CONFIG_GS_PANEL_SIMPLE=m
+CONFIG_COMMON_PANEL_TEST=m
+
+# private/google-modules/fingerprint/qcom/qfs4008/Kconfig
+CONFIG_QCOM_QBT_HANDLER=m
+
+# private/google-modules/radio/samsung/s5400/Kconfig
+CONFIG_EXYNOS_MODEM_IF=m
+CONFIG_SEC_MODEM_S5100=m
+CONFIG_SHM_IPC=m
+CONFIG_CP_PKTPROC=m
+CONFIG_CP_PKTPROC_UL=m
+CONFIG_MODEM_IF_QOS=m
+CONFIG_CPIF_AP_SUSPEND_DURING_VOICE_CALL=y
+CONFIG_CPIF_TP_MONITOR=m
+CONFIG_LINK_DEVICE_PCIE_SOC_EXYNOS=y
+CONFIG_LINK_DEVICE_PCIE_IOCC=y
+CONFIG_LINK_DEVICE_PCIE_IOMMU=y
+CONFIG_CH_EXTENSION=m
+CONFIG_CP_THERMAL=m
+CONFIG_CP_PMIC=m
+
+# private/google-modules/touch/common/Kconfig
+CONFIG_TOUCHSCREEN_TBN=m
+CONFIG_TOUCHSCREEN_TBN_AOC_CHANNEL_MODE=y
+CONFIG_TOUCHSCREEN_OFFLOAD=m
+CONFIG_GOOG_TOUCH_INTERFACE=m
+
+# private/google-modules/touch/sec/Kconfig
+CONFIG_TOUCHSCREEN_SEC_TS=m
diff --git a/constants.bzl b/constants.bzl
new file mode 100644
index 0000000..5561e95
--- /dev/null
+++ b/constants.bzl
@@ -0,0 +1,68 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+"""
+Caimito constants.
+"""
+
+CAIMITO_DTBOS = [
+    "zuma-ripcurrent24.dtbo",
+    "zuma-ripcurrent24-sapwood-komodo-caiman.dtbo",
+    "zuma-ripcurrent24-sapwood-tokay.dtbo",
+    "zuma-komodo-proto1-samsung-gnss.dtbo",
+    "zuma-komodo-proto1-broadcom-gnss.dtbo",
+    "zuma-komodo-proto1-broadcom-gnss-mag3.dtbo",
+    "zuma-komodo-proto1_1-samsung-gnss.dtbo",
+    "zuma-komodo-proto1_1-broadcom-gnss.dtbo",
+    "zuma-komodo-proto1_1-samsung-gnss-mag3.dtbo",
+    "zuma-caiman-proto1-samsung-gnss.dtbo",
+    "zuma-caiman-proto1-samsung-gnss-i2cm.dtbo",
+    "zuma-caiman-proto1-broadcom-gnss.dtbo",
+    "zuma-caiman-proto1-broadcom-gnss-mag3.dtbo",
+    "zuma-caiman-proto1-broadcom-gnss-i2cm.dtbo",
+    "zuma-caiman-proto1_1-samsung-gnss.dtbo",
+    "zuma-caiman-proto1_1-broadcom-gnss.dtbo",
+    "zuma-caiman-proto1_1-samsung-gnss-mag3.dtbo",
+    "zuma-tokay-proto1-samsung-gnss.dtbo",
+    "zuma-tokay-proto1-broadcom-gnss.dtbo",
+    "zuma-tokay-proto1_1-samsung-gnss.dtbo",
+    "zuma-tokay-proto1_1-broadcom-gnss.dtbo",
+    "zumapro-ripcurrentpro.dtbo",
+    "zumapro-ripcurrentpro-sapwood-komodo-caiman.dtbo",
+    "zumapro-komodo-evt1-broadcom-gnss.dtbo",
+    "zumapro-komodo-evt1-samsung-gnss.dtbo",
+    "zumapro-komodo-evt1-broadcom-gnss-mag3.dtbo",
+    "zumapro-komodo-evt1-samsung-gnss-mag3.dtbo",
+    "zumapro-komodo-evt1-wingboard.dtbo",
+    "zumapro-komodo-evt1_1-broadcom-gnss.dtbo",
+    "zumapro-komodo-evt1_1-samsung-gnss.dtbo",
+    "zumapro-komodo-evt1_1-wingboard.dtbo",
+    "zumapro-komodo-dvt1.dtbo",
+    "zumapro-komodo-dvt1-wingboard.dtbo",
+    "zumapro-komodo-pvt1.dtbo",
+    "zumapro-komodo-mp.dtbo",
+    "zumapro-caiman-evt1-broadcom-gnss.dtbo",
+    "zumapro-caiman-evt1-samsung-gnss.dtbo",
+    "zumapro-caiman-evt1-broadcom-gnss-mag3.dtbo",
+    "zumapro-caiman-evt1-samsung-gnss-mag3.dtbo",
+    "zumapro-caiman-evt1-wingboard.dtbo",
+    "zumapro-caiman-evt1-broadcom-gnss-i2cm.dtbo",
+    "zumapro-caiman-evt1-samsung-gnss-i2cm.dtbo",
+    "zumapro-caiman-evt1_1-broadcom-gnss.dtbo",
+    "zumapro-caiman-evt1_1-samsung-gnss.dtbo",
+    "zumapro-caiman-evt1_1-wingboard.dtbo",
+    "zumapro-caiman-dvt1.dtbo",
+    "zumapro-caiman-dvt1-i2cm.dtbo",
+    "zumapro-caiman-dvt1-wingboard.dtbo",
+    "zumapro-caiman-pvt1.dtbo",
+    "zumapro-caiman-mp.dtbo",
+    "zumapro-tokay-evt1-broadcom-gnss.dtbo",
+    "zumapro-tokay-evt1-samsung-gnss.dtbo",
+    "zumapro-tokay-evt1-wingboard.dtbo",
+    "zumapro-tokay-evt1_1-broadcom-gnss.dtbo",
+    "zumapro-tokay-evt1_1-samsung-gnss.dtbo",
+    "zumapro-tokay-evt1_1-wingboard.dtbo",
+    "zumapro-tokay-dvt1.dtbo",
+    "zumapro-tokay-dvt1-wingboard.dtbo",
+    "zumapro-tokay-pvt1.dtbo",
+    "zumapro-tokay-mp.dtbo",
+]
diff --git a/device.bazelrc b/device.bazelrc
new file mode 100644
index 0000000..46ab13c
--- /dev/null
+++ b/device.bazelrc
@@ -0,0 +1,7 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+# Copyright (C) 2023 Google LLC
+
+build:caimito --//private/devices/google/common:kernel=//private/devices/google/caimito:kernel
+build:caimito --//private/google-modules/soc/gs:gs_soc_module=//private/devices/google/caimito:zumapro_soc.caimito
+build:caimito --//private/google-modules/touch/common:touch_udfps_notification=enabled
diff --git a/dts/Makefile b/dts/Makefile
new file mode 100644
index 0000000..b27e777
--- /dev/null
+++ b/dts/Makefile
@@ -0,0 +1,141 @@
+# SPDX-License-Identifier: GPL-2.0
+
+# zuma dtbo
+zuma_caimito_overlays := \
+	zuma-ripcurrent24.dtbo \
+	zuma-ripcurrent24-sapwood-komodo-caiman.dtbo \
+	zuma-ripcurrent24-sapwood-tokay.dtbo \
+	zuma-komodo-proto1-samsung-gnss.dtbo \
+	zuma-komodo-proto1-broadcom-gnss.dtbo \
+	zuma-komodo-proto1-broadcom-gnss-mag3.dtbo \
+	zuma-komodo-proto1_1-samsung-gnss.dtbo \
+	zuma-komodo-proto1_1-broadcom-gnss.dtbo \
+	zuma-komodo-proto1_1-samsung-gnss-mag3.dtbo \
+	zuma-caiman-proto1-samsung-gnss.dtbo \
+	zuma-caiman-proto1-samsung-gnss-i2cm.dtbo \
+	zuma-caiman-proto1-broadcom-gnss.dtbo \
+	zuma-caiman-proto1-broadcom-gnss-mag3.dtbo \
+	zuma-caiman-proto1-broadcom-gnss-i2cm.dtbo \
+	zuma-caiman-proto1_1-samsung-gnss.dtbo \
+	zuma-caiman-proto1_1-broadcom-gnss.dtbo \
+	zuma-caiman-proto1_1-samsung-gnss-mag3.dtbo \
+	zuma-tokay-proto1-samsung-gnss.dtbo \
+	zuma-tokay-proto1-broadcom-gnss.dtbo \
+	zuma-tokay-proto1_1-samsung-gnss.dtbo \
+	zuma-tokay-proto1_1-broadcom-gnss.dtbo
+
+# zuma dtb
+zuma_caimito_dtbs := \
+	zuma/zuma-a0-foplp.dtb \
+	zuma/zuma-a0-ipop.dtb \
+	zuma/zuma-b0-foplp.dtb \
+	zuma/zuma-b0-ipop.dtb
+
+# DPM overlays
+zuma_caimito_overlays += \
+	zuma/zuma-dpm-eng.dtbo \
+	zuma/zuma-dpm-userdebug.dtbo \
+	zuma/zuma-dpm-user.dtbo
+
+DTC_FLAGS_zuma-dpm-eng += -a 4096
+DTC_FLAGS_zuma-dpm-user += -a 4096
+DTC_FLAGS_zuma-dpm-userdebug += -a 4096
+
+# zumapro dtbo
+zumapro_caimito_overlays := \
+	zumapro-ripcurrentpro.dtbo \
+	zumapro-ripcurrentpro-sapwood-komodo-caiman.dtbo \
+	zumapro-komodo-evt1-broadcom-gnss.dtbo \
+	zumapro-komodo-evt1-samsung-gnss.dtbo \
+	zumapro-komodo-evt1-broadcom-gnss-mag3.dtbo \
+	zumapro-komodo-evt1-samsung-gnss-mag3.dtbo \
+	zumapro-komodo-evt1-wingboard.dtbo \
+	zumapro-komodo-evt1_1-broadcom-gnss.dtbo \
+	zumapro-komodo-evt1_1-samsung-gnss.dtbo \
+	zumapro-komodo-evt1_1-wingboard.dtbo \
+	zumapro-komodo-dvt1.dtbo \
+	zumapro-komodo-dvt1-wingboard.dtbo \
+	zumapro-komodo-pvt1.dtbo \
+	zumapro-komodo-mp.dtbo \
+	zumapro-caiman-evt1-broadcom-gnss.dtbo \
+	zumapro-caiman-evt1-samsung-gnss.dtbo \
+	zumapro-caiman-evt1-broadcom-gnss-mag3.dtbo \
+	zumapro-caiman-evt1-samsung-gnss-mag3.dtbo \
+	zumapro-caiman-evt1-wingboard.dtbo \
+	zumapro-caiman-evt1-broadcom-gnss-i2cm.dtbo \
+	zumapro-caiman-evt1-samsung-gnss-i2cm.dtbo \
+	zumapro-caiman-evt1_1-broadcom-gnss.dtbo \
+	zumapro-caiman-evt1_1-samsung-gnss.dtbo \
+	zumapro-caiman-evt1_1-wingboard.dtbo \
+	zumapro-caiman-dvt1.dtbo \
+	zumapro-caiman-dvt1-wingboard.dtbo \
+	zumapro-caiman-dvt1-i2cm.dtbo \
+	zumapro-caiman-pvt1.dtbo \
+	zumapro-caiman-mp.dtbo \
+	zumapro-tokay-evt1-broadcom-gnss.dtbo \
+	zumapro-tokay-evt1-samsung-gnss.dtbo \
+	zumapro-tokay-evt1-wingboard.dtbo \
+	zumapro-tokay-evt1_1-broadcom-gnss.dtbo \
+	zumapro-tokay-evt1_1-samsung-gnss.dtbo \
+	zumapro-tokay-evt1_1-wingboard.dtbo \
+	zumapro-tokay-dvt1.dtbo \
+	zumapro-tokay-dvt1-wingboard.dtbo \
+	zumapro-tokay-pvt1.dtbo \
+	zumapro-tokay-mp.dtbo
+
+# zumapro dtb
+zumapro_caimito_dtbs := \
+	zumapro/zumapro-a0-foplp.dtb \
+	zumapro/zumapro-a0-ipop.dtb  \
+	zumapro/zumapro-a1-foplp.dtb \
+	zumapro/zumapro-a1-ipop.dtb
+
+# DPM overlays
+zumapro_caimito_overlays += \
+        zumapro/zumapro-dpm-eng.dtbo \
+        zumapro/zumapro-dpm-userdebug.dtbo \
+        zumapro/zumapro-dpm-user.dtbo
+
+DTC_FLAGS_zumapro-dpm-eng += -a 4096
+DTC_FLAGS_zumapro-dpm-user += -a 4096
+DTC_FLAGS_zumapro-dpm-userdebug += -a 4096
+
+# Usage:
+#   $(call DTBS_overlay_template, overlay, base_dtb, suffix)
+#
+# This is a generic template to create the following construct:
+#   <overlay>-<suffix>-dtbs := <base_dtb>.dtb <overlay>.dtbo
+define DTBS_overlay_template
+	$(1:%.dtbo=%-$(strip $3)-dtbs) := $2 $1
+endef
+
+# Usage:
+#   $(call DTB_object_template, CONFIG_, overlay, suffix)
+#
+# This is a generic template to create the following construct:
+#   dtb-$(CONFIG_) += <overlay>-<suffix>.dtb
+define DTB_object_template
+	dtb-$(strip $1) += $(2:%.dtbo=%-$(strip $3).dtb)
+endef
+
+# Usage:
+#   $(call multi_dtbs_overlay, list_of_base_dtbs, list_of_overlays, CONFIG_)
+#
+# For each (base_dtb,overlay) pair, this will create the following constructs:
+#   <overlay>-<base_dtb>-dtbs := <base_dtb>.dtb <overlay>.dtbo
+#   dtb-$(CONFIG_) += <overlay>-<base_dtb>.dtb
+define multi_dtbs_overlay
+	$(foreach base, $1, \
+		$(foreach overlay, $2, \
+			$(eval $(call DTBS_overlay_template, $(overlay), $(base), $(notdir $(base:%.dtb=%)))) \
+			$(eval $(call DTB_object_template, $3, $(overlay), $(notdir $(base:%.dtb=%))))))
+endef
+
+# Create the -dtbs and dtb-y constructs. We can do this by looping through the
+# base dtbs and apply each overlay to it. Kbuild will use these -dtbs
+# constructs to determine which dtbs are the base dtbs and which are the
+# overlays. For the base dtbs, kbuild will expose the symbols as needed for the
+# overlays. Additionally, kbuild will statically apply the overlay to the base
+# dtb which could be used to verify the overlay applies cleanly.
+$(call multi_dtbs_overlay, $(zuma_caimito_dtbs), $(zuma_caimito_overlays), y)
+$(call multi_dtbs_overlay, $(zumapro_caimito_dtbs), $(zumapro_caimito_overlays), y)
diff --git a/dts/zuma b/dts/zuma
new file mode 120000
index 0000000..0671bd9
--- /dev/null
+++ b/dts/zuma
@@ -0,0 +1 @@
+../../zuma/dts
\ No newline at end of file
diff --git a/dts/zuma-24-common.dtsi b/dts/zuma-24-common.dtsi
new file mode 100644
index 0000000..7427670
--- /dev/null
+++ b/dts/zuma-24-common.dtsi
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Zuma24 board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+#include "zuma/zuma-common.dtsi"
+
+#include "zuma/zuma-ripcurrent-battery.dtsi"
+#include "zuma/zuma-ripcurrent-camera-pmic.dtsi"
+#include "zuma/zuma-ripcurrent-camera.dtsi"
+#include "zuma/zuma-ripcurrent-display.dtsi"
+#include "zuma/zuma-ripcurrent-gsa-gsc.dtsi"
+#include "zuma/zuma-ripcurrent-pmic.dtsi"
+#include "zuma/zuma-ripcurrent-touch.dtsi"
+#include "zuma/zuma-ripcurrent-usb.dtsi"
+#include "zuma/zuma-board-wlan.dtsi"
+#include "zuma-ripcurrent-cp-s5400-sit.dtsi"
+#include "zuma/zuma-board-bluetooth.dtsi"
+#include "zuma/zuma-board-ese.dtsi"
+#include "zuma/zuma-board-nfc.dtsi"
+#include "zuma/zuma-board-udfps.dtsi"
+#include "zuma/zuma-ripcurrent-audio.dtsi"
+#include "zuma/zuma-board-pcie.dtsi"
+#include "zuma/zuma-board-pcie-cp-s5400-a0.dtsi"
+#include "zuma/zuma-ripcurrent-haptics.dtsi"
+#include "zuma/zuma-board-uwb.dtsi"
+#include "zuma/zuma-ripcurrent-thermal.dtsi"
+#include "zuma/zuma-ripcurrent-sbbm.dtsi"
+#include "zuma/zuma-ripcurrent-bluetooth.dtsi"
+#include "zuma/zuma-ripcurrent-bluetooth-offmode.dtsi"
+#include "zuma/zuma-typec.dtsi"
+
diff --git a/dts/zuma-caiman-audio.dtsi b/dts/zuma-caiman-audio.dtsi
new file mode 100644
index 0000000..bd93850
--- /dev/null
+++ b/dts/zuma-caiman-audio.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * caiman audio device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+&aoc {
+	aoc-board-cfg = "CM4";
+	aoc-board-id = <0x40902>;
+	aoc-board-rev = <0x10000>;
+	prevent-fw-load = <0x0>;
+};
+
diff --git a/dts/zuma-caiman-charging.dtsi b/dts/zuma-caiman-charging.dtsi
new file mode 100644
index 0000000..a57cabd
--- /dev/null
+++ b/dts/zuma-caiman-charging.dtsi
@@ -0,0 +1,33 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Charging device tree entries for the Caimito platform
+ *
+ * Copyright 2024 Google LLC
+ *
+ */
+
+&google_cpm {
+	google,dc_limit-vbatt_min = <3500000>;
+
+	// thermal budgets
+	google,mdis-thermal-mitigation =
+	<3710000 3571000 3443000 3297000 3162000 3040000 2918000 2810000 2703000
+	 2598000 2493000 2330000 2200000 2080000 1968000 1865000 1770000 1684000
+	 1595000 1506000 1444000 1382000 1351000 1320000 1273000 1225000>;
+	// PD+main-charger, WLC+main-charger
+	google,mdis-out0-limits =
+	<4000000 3860000 3720000 3580000 3440000 3300000 3160000 3020000 2880000
+	 2740000 2600000 2460000 2320000 2180000 2040000 1900000 1760000 1620000
+	 1480000 1340000 1200000 1060000 920000  780000  640000  500000
+	 1100000 1100000 1100000 1100000 1100000 1100000 1100000 1100000 1100000
+	 1100000 1100000 1100000 1050000 1000000 950000  900000  850000  800000
+	 750000  700000  650000  600000  550000  500000  450000  400000>;
+	// PPS_CP+pca94xx-mains, // WLC_CP+pca94xx-mains
+	google,mdis-out1-limits =
+	<5470000 5290000 5110000 4930000 4750000 4570000 4390000 4210000 4030000
+	 3850000 3670000 3490000 3310000 3130000 2950000 2770000 2590000 2410000
+	 2230000 2050000 1870000 1690000 1510000 1330000 1150000 1000000
+	 4800000 4600000 4400000 4200000 4000000 3800000 3600000 3400000 3200000
+	 3000000 2800000 2600000 2400000 2200000 2000000 1800000 1600000 1400000
+	 1200000 1000000 900000  800000  700000  600000  500000  400000>;
+};
diff --git a/dts/zuma-caiman-common.dtsi b/dts/zuma-caiman-common.dtsi
new file mode 100644
index 0000000..e7b0f7a
--- /dev/null
+++ b/dts/zuma-caiman-common.dtsi
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+#include "zuma-caimito-uwb.dtsi"
+#include "zuma-tokay-battery.dtsi"
+#include "zuma-komodo-caiman-charging.dtsi"
+#include "zuma-komodo-caiman-usecases.dtsi"
+#include "zuma-caiman-wcharger.dtsi"
+#include "zuma-caiman-audio.dtsi"
+#include "zuma-caiman-pmic.dtsi"
+#include "zuma-komodo-camera.dtsi"
+#include "zuma-caiman-display.dtsi"
+#include "zuma-caiman-touch.dtsi"
+#include "zuma-caiman-charging.dtsi"
diff --git a/dts/zuma-caiman-connector.dtsi b/dts/zuma-caiman-connector.dtsi
new file mode 100644
index 0000000..3ed47a0
--- /dev/null
+++ b/dts/zuma-caiman-connector.dtsi
@@ -0,0 +1,59 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Display connector nodes for caiman-related boards.
+ *
+ * Copyright 2023 Google LLC
+ *
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+	fragment@display {
+		target-path = "/";
+		__overlay__ {
+			gs_connector: gs-drm-connector {
+				compatible = "google,drm_connector";
+				label = "gs-drm-connector";
+
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port {
+					/* input */
+					dsim0_connector_in: endpoint {
+						remote-endpoint = <&dsim0_connector_out>;
+					};
+				};
+
+				/* panels will go here */
+				google_gs_cm4: panel@0 {
+					compatible = "google,gs-cm4";
+					label = "google-cm4";
+					channel = <0>;
+					touch = <&spitouch>;
+
+					/* reset, power */
+					reset-gpios = <&gpp0 0 GPIO_ACTIVE_HIGH>;
+					vci-supply = <&m_ldo14_reg>;
+					vddi-supply = <&s_bucka_reg>;
+					vddd-supply = <&disp_vddd>;
+					vddd-gpios = <&gpp21 5 GPIO_ACTIVE_HIGH>;
+
+					cm4_test_node: panel-test@0 {
+						compatible = "google,gs-panel-common-test";
+					};
+				};
+
+				panel@1 {
+					compatible = "google,panel-gs-simple";
+					label = "samsung-emul";
+					channel = <0>;
+
+					/* reset, power */
+					reset-gpios = <&gpp0 0 GPIO_ACTIVE_HIGH>;
+				};
+			};
+		};
+	};
+};
diff --git a/dts/zuma-caiman-display.dtsi b/dts/zuma-caiman-display.dtsi
new file mode 100644
index 0000000..8c578f9
--- /dev/null
+++ b/dts/zuma-caiman-display.dtsi
@@ -0,0 +1,70 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Display nodes for caiman-related boards.
+ *
+ * Copyright 2023 Google LLC
+ *
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include "zuma-caiman-connector.dtsi"
+
+&dsim_modes {
+	dsim-modes {
+		960x2142 {
+			mode-name = "960x2142";
+			pmsk = <
+				0x1 0x6F 0x2 0x5400 /* p m s k */
+				>;
+			hs-clk = <1368>;
+			esc-clk = <20>;
+		};
+		1280x2856 {
+			mode-name = "1280x2856";
+			pmsk = <
+				0x1 0x6F 0x2 0x5400 /* p m s k */
+				>;
+			hs-clk = <1368>;
+			esc-clk = <20>;
+		};
+	};
+};
+
+&drmdsim0 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	ports {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		port@0 {
+			reg = <0>;
+			/* output */
+			dsim0_connector_out: endpoint {
+				remote-endpoint = <&dsim0_connector_in>;
+			};
+		};
+	};
+};
+
+&disp_vddd {
+	status = "okay";
+	gpio = <&gpp21 4 GPIO_ACTIVE_HIGH>;
+};
+
+&m_ldo14_reg {
+	regulator-min-microvolt = <3100000>;
+	regulator-max-microvolt = <3100000>;
+};
+
+&drmdecon0 {
+	bts_scen_name = "dpu_qurgent_default";
+	bts_scen_min_panel_width = <1280>;
+	bts_scen_min_panel_height = <2856>;
+	bts_scen_min_fps = <120>;
+	bts_scen_min_rt = <1930198>;
+	bts_scen_max_rt = <3494400>;
+	bts_scen_min_peak = <0>;
+	bts_scen_max_peak = <5553600>;
+	bts_scen_skip_with_video;
+};
diff --git a/dts/zuma-caiman-pmic.dtsi b/dts/zuma-caiman-pmic.dtsi
new file mode 100644
index 0000000..5ae8ed9
--- /dev/null
+++ b/dts/zuma-caiman-pmic.dtsi
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * caiman pmic device tree source
+ *
+ * Copyright 2023 Google LLC.
+ *
+ */
+&s_ldo16_reg {
+				regulator-initial-mode = <SEC_OPMODE_OFF>;
+				schematic-name = "L16S_UWB";
+				subsys-name = "UWB";
+};
+
+&s_ldo17_reg {
+				regulator-initial-mode = <SEC_OPMODE_OFF>;
+				schematic-name = "L17S_UWB";
+				subsys-name = "UWB";
+};
diff --git a/dts/zuma-caiman-proto1-broadcom-gnss-i2cm.dts b/dts/zuma-caiman-proto1-broadcom-gnss-i2cm.dts
new file mode 100644
index 0000000..7a5b2cc
--- /dev/null
+++ b/dts/zuma-caiman-proto1-broadcom-gnss-i2cm.dts
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_I2CM 1
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#define ESIM_NO_CHIP_ENABLE_PIN
+#include "zuma-caimito-common.dtsi"
+#include "zuma-caiman-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zuma-caimito-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40902>;
+	board_rev = <0x010004>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA CAIMAN Proto 1.0 Broadcom GNSS board using I2CM based on ZUMA";
+			compatible = "google,ZUMA CAIMAN", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-caiman-proto1-broadcom-gnss-mag3.dts b/dts/zuma-caiman-proto1-broadcom-gnss-mag3.dts
new file mode 100644
index 0000000..42afdc0
--- /dev/null
+++ b/dts/zuma-caiman-proto1-broadcom-gnss-mag3.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ESIM_NO_CHIP_ENABLE_PIN
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#include "zuma-caimito-common.dtsi"
+#include "zuma-caiman-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zuma-caimito-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40902>;
+	board_rev = <0x010002>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA CAIMAN Proto 1.0 Broadcom GNSS and MAG3 board based on ZUMA";
+			compatible = "google,ZUMA CAIMAN", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-caiman-proto1-broadcom-gnss.dts b/dts/zuma-caiman-proto1-broadcom-gnss.dts
new file mode 100644
index 0000000..7580ebf
--- /dev/null
+++ b/dts/zuma-caiman-proto1-broadcom-gnss.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ESIM_NO_CHIP_ENABLE_PIN
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#include "zuma-caimito-common.dtsi"
+#include "zuma-caiman-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zuma-caimito-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40902>;
+	board_rev = <0x010001>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA CAIMAN Proto 1.0 Broadcom GNSS board based on ZUMA";
+			compatible = "google,ZUMA CAIMAN", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-caiman-proto1-samsung-gnss-i2cm.dts b/dts/zuma-caiman-proto1-samsung-gnss-i2cm.dts
new file mode 100644
index 0000000..a529087
--- /dev/null
+++ b/dts/zuma-caiman-proto1-samsung-gnss-i2cm.dts
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_I2CM 1
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#define ESIM_NO_CHIP_ENABLE_PIN
+#include "zuma-caimito-common.dtsi"
+#include "zuma-caiman-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zuma-caimito-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40902>;
+	board_rev = <0x010003>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA CAIMAN Proto 1.0 Samsung GNSS board using I2CM based on ZUMA";
+			compatible = "google,ZUMA CAIMAN", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-caiman-proto1-samsung-gnss.dts b/dts/zuma-caiman-proto1-samsung-gnss.dts
new file mode 100644
index 0000000..f1625bc
--- /dev/null
+++ b/dts/zuma-caiman-proto1-samsung-gnss.dts
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ESIM_NO_CHIP_ENABLE_PIN
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#include "zuma-caimito-common.dtsi"
+#include "zuma-caiman-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zuma-caimito-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40902>;
+	board_rev = <0x010000>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA CAIMAN Proto 1.0 Samsung GNSS board based on ZUMA";
+			compatible = "google,ZUMA CAIMAN", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-caiman-proto1_1-broadcom-gnss.dts b/dts/zuma-caiman-proto1_1-broadcom-gnss.dts
new file mode 100644
index 0000000..9eb5ed0
--- /dev/null
+++ b/dts/zuma-caiman-proto1_1-broadcom-gnss.dts
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#include "zuma-caimito-common.dtsi"
+#include "zuma-caiman-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zuma-caimito-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40902>;
+	board_rev = <0x010101>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA CAIMAN Proto 1.1 Broadcom GNSS board based on ZUMA";
+			compatible = "google,ZUMA CAIMAN", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-caiman-proto1_1-samsung-gnss-mag3.dts b/dts/zuma-caiman-proto1_1-samsung-gnss-mag3.dts
new file mode 100644
index 0000000..2319077
--- /dev/null
+++ b/dts/zuma-caiman-proto1_1-samsung-gnss-mag3.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#include "zuma-caimito-common.dtsi"
+#include "zuma-caiman-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zuma-caimito-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40902>;
+	board_rev = <0x010102>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA CAIMAN Proto 1.1 Samsung GNSS and MAG3 board based on ZUMA";
+			compatible = "google,ZUMA CAIMAN", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-caiman-proto1_1-samsung-gnss.dts b/dts/zuma-caiman-proto1_1-samsung-gnss.dts
new file mode 100644
index 0000000..06e07b5
--- /dev/null
+++ b/dts/zuma-caiman-proto1_1-samsung-gnss.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#include "zuma-caimito-common.dtsi"
+#include "zuma-caiman-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zuma-caimito-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40902>;
+	board_rev = <0x010100>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA CAIMAN Proto 1.1 Samsung GNSS board based on ZUMA";
+			compatible = "google,ZUMA CAIMAN", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-caiman-touch.dtsi b/dts/zuma-caiman-touch.dtsi
new file mode 100644
index 0000000..095c699
--- /dev/null
+++ b/dts/zuma-caiman-touch.dtsi
@@ -0,0 +1,364 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Google Caiman touch device tree source
+ *
+ * Copyright 2023 Google LLC.
+ *
+ */
+
+&spitouch {
+	goog,touch_offload_id = /bits/ 8 <'c' 'm' '4' '0'>;
+	goog,display-resolution = /bits/ 16 <1280 2856>;
+	goog,channel-num = /bits/ 16 <16 36>;
+	goog,offload-caps-data-types = /bits/ 16 <0x1F>;
+	goog,offload-caps-scan-types = /bits/ 16 <0xC0>;
+	goog,offload-caps-context-channel-types = /bits/ 16 <0x0100>;
+	goog,offload-caps-coord-filter;
+	goog,lptw-tracking-area = <465 815 1893 2243>;
+
+	synaptics,pixels-per-mm = <19>;
+	synaptics,panel_map = <&google_gs_cm4 0>;
+	synaptics,suffix-fw-name = "S3908TG";
+
+	synaptics,pt05_high = /bits/ 16 <
+420 820 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 820 420
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+370 820 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 820 520>;
+	synaptics,pt05_low = /bits/ 16 <
+20 300 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 300 20
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+20 300 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 300 20>;
+	synaptics,pt05_gap_x = /bits/ 16 <
+95 60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 95 95
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 60
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 60 60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 60 60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 60 60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 60 60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 60
+95 60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 95
+95 60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 95 30>;
+	synaptics,pt05_gap_y = /bits/ 16 <
+95 60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 95 95
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 60
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 60 60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 60 60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 60 60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 60 60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 30
+60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 60
+95 60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 95
+95 60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 60 95 30>;
+
+	synaptics,pt0a_high = /bits/ 16 <
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40>;
+	synaptics,pt0a_low = /bits/ 16 <
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)>;
+
+	synaptics,pt10_high = /bits/ 16 <
+35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
+35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
+35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
+35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
+35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
+35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
+35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
+35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
+35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
+35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
+35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
+35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
+35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
+35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
+35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
+35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35>;
+	synaptics,pt10_low = /bits/ 16 <
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>;
+	synaptics,pt10_gap_x = /bits/ 16 <
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20>;
+	synaptics,pt10_gap_y = /bits/ 16 <
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20>;
+
+	synaptics,pt11_high = /bits/ 16 <
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145>;
+	synaptics,pt11_low = /bits/ 16 <
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90>;
+
+	synaptics,pt12_high = <
+290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 430000 430000 430000 430000 430000 430000 430000 430000 430000 430000 430000 430000 430000 430000 430000 430000>;
+	synaptics,pt12_low = <
+190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000 290000>;
+
+	synaptics,pt16_high = /bits/ 16 <
+420 820 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 820 420
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+720 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 720
+370 820 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 920 820 520>;
+	synaptics,pt16_low = /bits/ 16 <
+20 300 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 300 20
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+200 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 200
+20 300 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 300 20>;
+
+	synaptics,pt_tag_moisture = /bits/ 16 <
+1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 0
+1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 0
+1000 1000 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 1000 1000 0
+1000 1000 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 1000 1000 0
+1000 1000 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 1000 1000 0
+1000 1000 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 1000 1000 55 55 55 55 55 55 1000 1000 0
+1000 1000 1000 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 1000 1000 0
+1000 1000 55 55 55 55 55 55 55 55 55 55 55 1000 1000 55 55 55 55 55 55 55 55 55 55 1000 1000 55 55 55 55 55 55 1000 1000 0
+1000 1000 1000 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 1000 1000 0
+1000 1000 55 55 55 55 55 55 55 55 55 55 55 1000 1000 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 1000 1000 0
+1000 1000 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 1000 1000 0
+1000 1000 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 1000 1000 0
+1000 1000 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 1000 1000 0
+1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 0
+1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>;
+
+	/* ical limit */
+	synaptics,pt05_high_ical = /bits/ 16 <
+504 984 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 984 504
+864 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 864
+864 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 864
+864 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 864
+864 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 864
+864 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 864
+864 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 864
+864 864 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 864
+864 864 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 864
+864 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 864
+864 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 864
+864 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 864
+864 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 864
+864 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 864
+864 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 864
+444 984 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 1104 984 624>;
+	synaptics,pt05_low_ical = /bits/ 16 <
+10 150 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 150 10
+100 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 100
+100 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 100
+100 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 100
+100 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 100
+100 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 100
+100 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 100
+100 100 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 100
+100 100 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 100
+100 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 100
+100 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 100
+100 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 100
+100 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 100
+100 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 100
+100 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 100
+10 150 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 150 10>;
+	synaptics,pt05_gap_x_ical = /bits/ 16 <
+95 70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 95 95
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 70
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 70 70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 70 70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 70 70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 70 70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 70
+95 70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 95
+95 70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 95 40>;
+	synaptics,pt05_gap_y_ical = /bits/ 16 <
+95 70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 95 95
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 70
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 70 70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 70 70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 70 70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 70 70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 40
+70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 70
+95 70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 95
+95 70 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 70 95 40>;
+
+synaptics,pt12_high_ical = <
+348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 348000 516000 516000 516000 516000 516000 516000 516000 516000 516000 516000 516000 516000 516000 516000 516000 516000>;
+	synaptics,pt12_low_ical = <
+152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 152000 232000 232000 232000 232000 232000 232000 232000 232000 232000 232000 232000 232000 232000 232000 232000 232000>;
+
+};
diff --git a/dts/zuma-caiman-wcharger.dtsi b/dts/zuma-caiman-wcharger.dtsi
new file mode 100644
index 0000000..b29b0a8
--- /dev/null
+++ b/dts/zuma-caiman-wcharger.dtsi
@@ -0,0 +1,40 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Wireless Charger config for RA9530.
+ * Intended to be included into the approriate I2C bus.
+ *
+ * Copyright 2023 Google LLC
+ */
+
+&ra9530 {
+	/* HPP */
+	google,hpp_neg_pwr = <23000>;
+	google,epp_neg_pwr = <13500>;
+	google,wait_prop_irq_ms = <6000>;
+	/* RTx */
+	google,wcin_inlim_en = <&max77779_gpio 0 GPIO_ACTIVE_HIGH>;
+	idt,gpp-cmfet = <48>;
+	idt,has_rtx_gpio;
+	/* BPP ICL */
+	google,bpp_dcicl_default_ua = <550000>;
+	google,bpp_dcicl_ramp_ua = <700000>;
+	google,bpp_dcicl_lower_vout_ua = <700000>;
+	google,bpp_dcicl_lower_vout_ramp_ua = <800000>;
+	/* alignment aid */
+	google,alignment_scalar_low_current = <300>;
+	google,alignment_scalar_high_current = <100>;
+	google,alignment_offset_low_current = <130000>;
+	google,alignment_offset_high_current = <146000>;
+	google,alignment_current_threshold = <500>;
+
+	fod = [97 27 60 6E BB C8 8E 2C A1 E6 A6 CB C5 10 80 28];
+	fod_epp = [8B 4A 8A 2B BB 80 8F 26 90 18 96 FF A8 39 80 19];
+	google,q_value = <76>;
+	google,rf_value = <106>;
+	google,hpp_fod_vol = /bits/ 32 <16500000 17500000 18500000 19500000>;
+	fod_hpp_0 = [96 50 b7 80 92 2b 92 2c 91 21 95 f0 ad 34 80 28];
+	fod_hpp_1 = [a1 36 b7 d0 92 35 93 2f 91 2d 96 ed ad 40 80 28];
+	fod_hpp_2 = [aa 30 98 50 92 4d 93 47 90 53 97 fa a5 61 80 28];
+	fod_hpp_3 = [b4 20 a7 19 96 4a 93 60 90 71 96 27 a9 74 80 28];
+};
+
diff --git a/dts/zuma-caimito-audio.dtsi b/dts/zuma-caimito-audio.dtsi
new file mode 100644
index 0000000..0f0bbea
--- /dev/null
+++ b/dts/zuma-caimito-audio.dtsi
@@ -0,0 +1,241 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * caiman-komodo-tokay common audio device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <arm64/exynos/exynos-pinctrl.h>
+//#include <dt-bindings/sound/google-aoc.h>
+
+/* DP audio */
+&aoc_dp_nohost_drv {
+	status = "okay";
+};
+
+/* DP audio */
+&dai_fe_dp_dma_nohost_rx {
+	status = "okay";
+};
+
+/* DP audio */
+&dai_be_dp_rx {
+	status = "okay";
+	codec {
+		sound-dai = <&drmdp_adma_pb>;
+	};
+};
+
+/* DP audio */
+&dpado_mem {
+	status = "okay";
+};
+
+/* DP audio */
+&drmdp_adma {
+	status = "okay";
+	memory-region = <&dpado_mem>;
+};
+
+/* DP audio */
+&drmdp_adma_pb {
+	status = "okay";
+};
+
+&dai_be_tdm0_rx {
+	codec {
+		sound-dai = <&cs35l41_1 0>,
+			<&cs35l41_2 0>;
+	};
+};
+
+&dai_be_tdm0_tx {
+	codec {
+		sound-dai = <&cs35l41_1 0>,
+			<&cs35l41_2 0>;
+	};
+};
+
+&aoc_snd_card {
+	clks {
+		sys {
+			sys@cs35l41_l {
+				comp = <&cs35l41_1>;
+				src = "BCLK";
+				/* clk id */
+				id = <0>;
+				/* clk source */
+				srcid = <0>;
+				/* in clk multiple */
+				in_mul = <1>;
+				/* out clk multiple */
+				out_mul = <1>;
+			};
+
+			sys@cs35l41_r {
+				comp = <&cs35l41_2>;
+				src = "BCLK";
+				/* clk id */
+				id = <0>;
+				/* clk source */
+				srcid = <0>;
+				/* in clk multiple */
+				in_mul = <1>;
+				/* out clk multiple */
+				out_mul = <1>;
+			};
+		};
+	};
+};
+
+/* GPIO_ALIVE */
+&pinctrl_0 {
+	cs35l41_2_irq: cs35l41-2-irq {
+		samsung,pins = "gpa7-2"; /* XEINT_16 */
+		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+	};
+};
+
+/* GPIO_FAR_ALIVE */
+&pinctrl_2 {
+	cs35l41_1_irq: cs35l41-1-irq {
+		samsung,pins = "gpa5-5"; /* XEINT_5 */
+		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+	};
+};
+
+/* GPIO_PERIC0 */
+&pinctrl_11 {
+	cs35l41_1_rst: cs35l41-1-rst {
+		samsung,pins = "gpp6-3"; /* XAPC_USI3_CTSn_CSn */
+		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
+	};
+};
+
+/* GPIO_PERIC1 */
+&pinctrl_8 {
+	cs35l41_2_rst: cs35l41-2-rst {
+		samsung,pins = "gph2-1"; /* XHSI1_GPIO11 */
+		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
+	};
+};
+
+/* GPIO_HSI0 */
+&pinctrl_1 {
+	cs35l41_cs2: cs35l41-cs2 {
+		samsung,pins = "gpn1-0";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-drv = <ZUMA_PIN_DRV_X2>;
+	};
+};
+
+&spi_19 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	status = "okay";
+
+	pinctrl-names = "default";
+	pinctrl-0 = <>;
+
+	num-cs = <2>;
+	cs-gpios = <0
+		    &gpn1 0 GPIO_ACTIVE_LOW>;
+
+	cs35l41_1: cs35l41@0 {
+		#sound-dai-cells = <1>;
+		compatible = "cirrus,cs35l41";
+		spi-max-frequency = <25000000>;
+		reg = <0>;
+
+		status = "okay";
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&cs35l41_1_irq &cs35l41_1_rst>;
+
+		interrupt-parent = <&gpa5>;
+		interrupts = <5 0 0>;
+
+		reset-gpios = <&gpp6 3 GPIO_ACTIVE_HIGH>;
+
+		VA-supply = <&s_bucka_reg>;
+		VP-supply = <&V_SYS_dummy>;
+
+		cirrus,boost-peak-milliamp = <3500>;
+		cirrus,boost-ind-nanohenry = <1000>;
+		cirrus,boost-cap-microfarad = <4>;
+
+		cirrus,asp-sdout-hiz = <3>;
+		cirrus,tuning-has-prefix;
+		cirrus,hw-noise-gate-select = <63>;
+		cirrus,hibernate-enable;
+
+		cirrus,gpio-config2 {
+			cirrus,gpio-src-select = <0x4>;
+			cirrus,gpio-output-enable;
+		};
+
+		controller-data {
+			samsung,spi-feedback-delay = <1>;
+			/* SET SPI CS CONTROL TO MANUAL MODE */
+			samsung,spi-chip-select-mode = <0>;
+		};
+	};
+
+	cs35l41_2: cs35l41@1 {
+		#sound-dai-cells = <1>;
+		sound-name-prefix = "R";
+		compatible = "cirrus,cs35l41";
+		spi-max-frequency = <25000000>;
+		reg = <1>;
+
+		status = "okay";
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&cs35l41_2_irq &cs35l41_2_rst>;
+
+		interrupt-parent = <&gpa7>;
+		interrupts = <2 0 0>;
+
+		reset-gpios = <&gph2 1 GPIO_ACTIVE_HIGH>;
+
+		VA-supply = <&s_bucka_reg>;
+		VP-supply = <&V_SYS_dummy>;
+
+		cirrus,boost-peak-milliamp = <3500>;
+		cirrus,boost-ind-nanohenry = <1000>;
+		cirrus,boost-cap-microfarad = <4>;
+
+		cirrus,asp-sdout-hiz = <3>;
+		cirrus,tuning-has-prefix;
+		cirrus,hw-noise-gate-select = <63>;
+		cirrus,hibernate-enable;
+		cirrus,right-channel-amp;
+
+		cirrus,gpio-config2 {
+			cirrus,gpio-src-select = <0x4>;
+			cirrus,gpio-output-enable;
+		};
+
+		controller-data {
+			samsung,spi-feedback-delay = <1>;
+			/* SET SPI CS CONTROL TO AUTO_CS_MODE_FORCE_QUIESCE */
+			samsung,spi-chip-select-mode = <2>;
+		};
+	};
+};
+
+&aoc_snd_card {
+	hac_amp_en-gpios = <&s2mpg15_gpio 8 GPIO_ACTIVE_HIGH>;
+};
+
diff --git a/dts/zuma-caimito-battery.dtsi b/dts/zuma-caimito-battery.dtsi
new file mode 100644
index 0000000..d854941
--- /dev/null
+++ b/dts/zuma-caimito-battery.dtsi
@@ -0,0 +1,107 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Battery device tree entries for Zuma24
+ *
+ * Copyright 2022 Google LLC
+ *
+ */
+
+#include "zuma/zuma-battery.dtsi"
+#include "zuma/zuma-max777xx_fwupdate.dtsi"
+
+&pinctrl_0 {
+/* [MAX77729FEWN : INTB] > IF_PMIC_IRQ_L > [XEINT_22 : SC59845XWE] */
+	if_pmic_irq: if-pmic-irq {
+		samsung,pins = "gpa8-0";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
+		samsung,pin-drv = <ZUMA_PIN_DRV_X1>;
+	};
+
+};
+
+&google_battery {
+	google,fg-psy-name = "max77779fg";
+	google,batt-voltage-critical = <3250000>;
+	google,vbatt-crit-deadline-sec = <100>;
+};
+
+&hsi2c6_bus {
+	samsung,pins = "gpp12-0", "gpp12-1";
+	samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+	samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+	samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
+};
+
+&hsi2c_6 {
+
+	#address-cells = <1>;
+	#size-cells = <0>;
+	status = "okay";
+	clock-frequency = <950000>;
+
+	#include "zuma/zuma-max777xx.dtsi"
+};
+
+#define BATTERY_EEPROM_1K
+#ifndef ZUMA_BMS_I2CM
+&hsi2c_10 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	status = "okay";
+	clock-frequency = <400000>;
+
+	#include "zuma/zuma-max777xx-eeprom.dtsi"
+};
+#else
+/* zuma-max777xx.dtsi must be included before this */
+&max77779_i2cm {
+	status = "okay";
+
+	#include "zuma/zuma-max777xx-eeprom.dtsi"
+};
+#endif
+
+&max77729_pmic {
+	status = "disabled";
+};
+
+&max77759_fg {
+	status = "disabled";
+};
+
+&max77759_chg {
+	status = "disabled";
+};
+
+&max77779_fg {
+	status = "okay";
+	maxfg,dr_vfsoc_delta = <10>;
+	maxfg,vfocv_inhibit_min_mv = <3000>;
+	maxfg,vfocv_inhibit_max_mv = <3000>;
+};
+
+&max77779_chg {
+	status = "okay";
+	max77779,wlc-en = <&p9xxx_gpio 1 GPIO_ACTIVE_HIGH>;
+	max77779,wlc-spoof = <&p9xxx_gpio 5 GPIO_ACTIVE_HIGH>;
+	max77779,wlc-spoof-vbyp = <6>;	/* VBYP=5.3V */
+	max77779,wcin-inlim-headroom = <40000>;
+};
+
+&max77779_sp {
+	status = "okay";
+};
+
+&max77779_pmic {
+	status = "okay";
+};
+
+&max77779_vimon {
+	status = "okay";
+};
+
+&max77779_fwupdate {
+	status = "okay";
+};
+
diff --git a/dts/zuma-caimito-bcl.dtsi b/dts/zuma-caimito-bcl.dtsi
new file mode 100644
index 0000000..984fe53
--- /dev/null
+++ b/dts/zuma-caimito-bcl.dtsi
@@ -0,0 +1,61 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Google Zuma24 bcl device tree source
+ *
+ * Copyright (c) 2023 Google, LLC
+ *		https://www.google.com
+ */
+
+#include "zumapro/zumapro-board-bcl.dtsi"
+
+&pinctrl_11 {
+	bcl_rffe_modem: bcl-rffe-modem {
+		samsung,pins = "gpp11-0";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+	};
+	bcl_batoilo_modem: bcl-batoilo-modem {
+		samsung,pins = "gpp13-0";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+	};
+};
+
+&google_mitigation {
+	google,ifpmic = <M77779>;
+	google,charger = <&max77779_chg>;
+	google,pmic = <&max77779_pmic>;
+	google,power-supply = <&max77779_fg>;
+	batoilo_lower = <1800>;
+	batoilo_upper = <8000>;
+	batoilo2_lower = <3800>;
+	batoilo2_upper = <10000>;
+	batoilo_wlc_trig_lvl = <5200>;
+	batoilo2_wlc_trig_lvl = <7000>;
+	batoilo_trig_lvl = <5000>;
+	batoilo2_trig_lvl = <8000>;
+	batoilo_bat_open_to = <0x8>;    /* 36ms */
+	batoilo2_bat_open_to = <0x3>;   /* 12ms */
+	batoilo_rel = <0x2>;   /* 1ms */
+	batoilo2_rel = <0x2>;   /* 1ms */
+	batoilo_det = <0x0>;   /* 0ms */
+	batoilo2_det = <0x0>;   /* 0ms */
+	uvlo1_rel = <0x2>;   /* 10ms */
+	uvlo2_rel = <0x2>;   /* 10ms */
+	uvlo1_det = <0x1>;   /* 30us */
+	uvlo2_det = <0x1>;   /* 30us */
+	evt_cnt_enable = <0x1>;
+	evt_cnt_rate = <0x0>;   /* 16k */
+	gpios = <&gpa9 5 GPIO_ACTIVE_HIGH>,		/* VDROOP1 */
+		<&gpa9 6 GPIO_ACTIVE_HIGH>,		/* VDROOP2 */
+		<&gpp11 0 GPIO_ACTIVE_HIGH>,
+		<&gpp13 0 GPIO_ACTIVE_HIGH>;
+	rffe_channel = <11>;
+	cpu0_cluster = <0>;
+	cpu1_cluster = <4>;
+	cpu2_cluster = <8>;
+	pinctrl-names = "bcl-rffe-modem", "bcl-batoilo-modem";
+	pinctrl-0 = <&bcl_rffe_modem>;
+	pinctrl-1 = <&bcl_batoilo_modem>;
+
+	interrupt-parent = <&max77779_pmic_irq>;
+	interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
+};
diff --git a/dts/zuma-caimito-camera-pmic.dtsi b/dts/zuma-caimito-camera-pmic.dtsi
new file mode 100644
index 0000000..cf09596
--- /dev/null
+++ b/dts/zuma-caimito-camera-pmic.dtsi
@@ -0,0 +1,151 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * zuma camera PMIC device tree for caimito
+ *
+ * Copyright 2023 Google LLC.
+ *
+ */
+
+#include <arm64/exynos/exynos-pinctrl.h>
+
+/ {
+	fragment@camera_supply {
+		target-path = "/";
+		__overlay__ {
+			cam_pp1350: cam_supply@0 {
+				compatible = "regulator-fixed";
+				status = "okay";
+				regulator-name = "PP1350_CAM";
+				regulator-min-microvolt = <1350000>;
+				regulator-max-microvolt = <1350000>;
+				/* 2ms */
+				regulator-enable-ramp-delay = <2000>;
+				enable-active-high;
+				/* CAM_MVBUCK_EN */
+				gpio = <&s2mpg15_gpio 2 GPIO_ACTIVE_HIGH>;
+			};
+		};
+	};
+};
+
+&hsi2c_4 {
+	status = "okay";
+	#address-cells = <1>;
+	#size-cells = <0>;
+	/* SLG51002 */
+	slg51002: slg51002@75 {
+		compatible = "dlg,slg51002";
+		reg = <0x75>;
+		status = "ok";
+		/* CAM_PMIC_EN */
+		dlg,cs-gpios = <&s2mpg15_gpio 0 GPIO_ACTIVE_HIGH>;
+		dlg,reg-init-cells = <2>;
+
+		regulators {
+			slg51002_ldo1: ldo1 {
+				regulator-name = "ldo1";
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <3750000>;
+				vin1_2-supply = <&cam_pp3200_bb>;
+			};
+
+			slg51002_ldo2: ldo2 {
+				regulator-name = "ldo2";
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <3750000>;
+				vin1_2-supply = <&cam_pp3200_bb>;
+			};
+
+			slg51002_ldo3: ldo3 {
+				regulator-name = "ldo3";
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <3750000>;
+				vin3-supply = <&cam_pp3200_bb>;
+			};
+
+			slg51002_ldo4: ldo4 {
+				regulator-name = "ldo4";
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <3750000>;
+				vin4-supply = <&cam_pp3200_bb>;
+			};
+
+			slg51002_ldo5: ldo5 {
+				regulator-name = "ldo5";
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <3750000>;
+				vin5-supply = <&cam_pp3200_bb>;
+			};
+
+			slg51002_ldo6: ldo6 {
+				regulator-name = "ldo6";
+				regulator-min-microvolt = <400000>;
+				regulator-max-microvolt = <1675000>;
+				vin6-supply = <&cam_pp1350>;
+			};
+
+			slg51002_ldo7: ldo7 {
+				regulator-name = "ldo7";
+				regulator-min-microvolt = <400000>;
+				regulator-max-microvolt = <1675000>;
+				vin7-supply = <&cam_pp1350>;
+			};
+
+			slg51002_ldo8: ldo8 {
+				regulator-name = "ldo8";
+				regulator-min-microvolt = <400000>;
+				regulator-max-microvolt = <1675000>;
+			};
+
+			slg51002_gpio1: gpio1 {
+				regulator-name = "gpio1";
+				regulator-min-microvolt = <400000>;
+				regulator-max-microvolt = <1675000>;
+			};
+
+			slg51002_gpio2: gpio2 {
+				regulator-name = "gpio2";
+				regulator-min-microvolt = <400000>;
+				regulator-max-microvolt = <1675000>;
+			};
+
+			slg51002_gpio3: gpio3 {
+				regulator-name = "gpio3";
+				regulator-min-microvolt = <400000>;
+				regulator-max-microvolt = <1675000>;
+			};
+
+			slg51002_gpio4: gpio4 {
+				regulator-name = "gpio4";
+				regulator-min-microvolt = <400000>;
+				regulator-max-microvolt = <1675000>;
+			};
+		};
+
+		slg51002_gpio: slg51002_gpio {
+			gpio-controller;
+			#gpio-cells = <2>;
+			ngpios = <8>;
+			gpio-ranges = <&slg51002_pinctrl 0 0 8>;
+		};
+
+		slg51002_pinctrl: slg51002_pinctrl {
+		};
+	};
+
+	/* RT6160 */
+	cam_pp3200_bb: cam_supply@77 {
+		compatible = "richtek,rt6160";
+		reg = <0x77>;
+		/* CAM_BB_EN */
+		enable-gpios = <&s2mpg15_gpio 1 GPIO_ACTIVE_HIGH>;
+		status = "ok";
+		regulator-name = "PP3200_CAM_BB";
+		regulator-min-microvolt = <3200000>;
+		regulator-max-microvolt = <3200000>;
+		/* 2ms */
+		regulator-enable-ramp-delay = <2000>;
+		/* FPWM mode (REGULATOR_MODE_FAST) */
+		regulator-initial-mode = <0x1>;
+	};
+};
diff --git a/dts/zuma-caimito-charging.dtsi b/dts/zuma-caimito-charging.dtsi
new file mode 100644
index 0000000..bf755ef
--- /dev/null
+++ b/dts/zuma-caimito-charging.dtsi
@@ -0,0 +1,43 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Charging device tree entries for the Caimito platform
+ *
+ * Copyright 2023 Google LLC
+ *
+ */
+#include "zuma/zuma-charging.dtsi"
+
+&google_charger {
+   google,thermal-stats-lvl-map = <0 8 16 25>;
+};
+
+&google_cpm {
+	google,cop-supported;
+
+	google,wlc_dc_limit-vbatt_min = <3700000>;
+
+	// thermal budgets
+	google,mdis-thermal-mitigation =
+	<3710000 3571000 3443000 3297000 3162000 3040000 2918000 2810000 2703000
+	 2598000 2493000 2330000 2200000 2080000 1968000 1865000 1770000 1684000
+	 1595000 1506000 1444000 1382000 1351000 1320000 1273000 1225000>;
+	// PD+main-charger, WLC+main-charger
+	google,mdis-out0-limits =
+	<4000000 3860000 3720000 3580000 3440000 3300000 3160000 3020000 2880000
+	 2740000 2600000 2460000 2320000 2180000 2040000 1900000 1760000 1620000
+	 1480000 1340000 1200000 1060000 920000  780000  640000  500000
+	 1100000 1100000 1100000 1100000 1100000 1100000 1100000 1100000 1100000
+	 1100000 1100000 1100000 1050000 1000000 950000  900000  850000  800000
+	 750000  700000  650000  600000  550000  500000  450000  400000>;
+	// PPS_CP+pca94xx-mains, // WLC_CP+pca94xx-mains
+	google,mdis-out1-limits =
+	<6000000 5800000 5600000 5400000 5200000 5000000 4800000 4600000 4400000
+	 4200000 4000000 3800000 3600000 3400000 3200000 3000000 2800000 2600000
+	 2400000 2200000 2000000 1800000 1600000 1400000 1200000 1000000
+	 4800000 4600000 4400000 4200000 4000000 3800000 3600000 3400000 3200000
+	 3000000 2800000 2600000 2400000 2200000 2000000 1800000 1600000 1400000
+	 1200000 1000000 900000  800000  700000  600000  500000  400000>;
+
+	interrupt-parent = <&max77779_chg>;
+	interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
+};
diff --git a/dts/zuma-caimito-common-touch.dtsi b/dts/zuma-caimito-common-touch.dtsi
new file mode 100644
index 0000000..f93016d
--- /dev/null
+++ b/dts/zuma-caimito-common-touch.dtsi
@@ -0,0 +1,130 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Google caiman-komodo-tokay common touch device tree source
+ *
+ * Copyright 2023 Google, LLC.
+ */
+
+/* Touch is connected to spi_20, pins:
+ *   CLK=GPB10[4], MOSI=GPB10[5], MISO=GPB10[6], CS=GPB10[7]
+ * TS1_RESET_L = XAPC_USI11_RTSn_DI = GPP1[1] = <&gpp1 1 0>
+ * TS1_INT_L = AOC_APM_TS1_INT_L_R1 / XAOC_GPIO0 = GPN0[0] = <&gpn0 0 0>
+ *
+ * DVDD = PP1800_L25M_TS1_DVDD = VLDO25M
+ * AVDD = PP3300_L4M_TS1_AVDD  = VLDO4M
+ */
+
+#include <arm64/exynos/exynos-pinctrl.h>
+#include <dt-bindings/regulator/samsung,s2mpg-regulator.h>
+
+/ {
+	fragment@touch_bus_negotiator {
+		target-path = "/";
+		__overlay__ {
+			tbn: tbn {
+				compatible = "touch_bus_negotiator";
+				tbn,mode = <2>;
+			};
+		};
+	};
+};
+
+&m_ldo25_reg {
+	regulator-min-microvolt = <1800000>;
+	regulator-max-microvolt = <1800000>;
+};
+
+&m_ldo4_reg {
+	regulator-min-microvolt = <3300000>;
+	regulator-max-microvolt = <3300000>;
+};
+
+/* GPIO_CUSTOM_ALIVE */
+&pinctrl_1 {
+	ts_irq: ts-irq {
+		samsung,pins = "gpn0-0";
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-drv = <ZUMA_PIN_DRV_X1>;
+	};
+};
+
+&pinctrl_11 {
+	ts_reset: ts-reset {
+		samsung,pins = "gpp1-1";
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
+	};
+};
+
+/* TODO: pinctrl for ts_spi_bus_active, ts_spi_cs_active,
+ * ts_spi_bus_sleep, ts_spi_miso_sleep, ts_spi_cs_sleep
+ */
+
+&spi_20 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	status = "okay";
+	pinctrl-0 = <>; /* TODO: pinctrl */
+	dma-mode;
+	dmas = <&pdma1 18 &pdma1 19>;
+	swap-mode = <1>;
+
+	spitouch: touchscreen@0 {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		status = "ok";
+		reg = <0>;
+		compatible = "synaptics,tcm-spi";
+
+		pinctrl-names = "ts_active", "ts_suspend";
+		pinctrl-0 = <&ts_irq &ts_reset>; /* TODO: pinctrl */
+		pinctrl-1 = <>;
+
+		vdd-supply = <&m_ldo25_reg>;
+		avdd-supply = <&m_ldo4_reg>;
+
+		spi-max-frequency = <10000000>;
+
+		synaptics,avdd-name = "avdd";
+		synaptics,vdd-name = "vdd";
+		synaptics,power-delay-ms = <200>;
+		synaptics,irq-gpio = <&gpn0 0 0x2008>; /* IRQF_ONESHOT | IRQF_TRIGGER_LOW */
+		synaptics,irq-on-state = <0>;
+		synaptics,reset-gpio = <&gpp1 1 0>;
+		synaptics,reset-on-state = <0>;
+		synaptics,reset-active-ms = <2>;
+		synaptics,reset-delay-ms = <50>;
+		synaptics,spi-mode = <0>;
+		synaptics,spi-byte-delay-us = <0>;
+		synaptics,spi-block-delay-us = <0>;
+/*
+		synaptics,pixels-per-mm = <20>;
+		synaptics,compression-threshold = <15>;
+		synaptics,grip-delta-threshold = <50>;
+		synaptics,grip-border-threshold = <50>;
+		synaptics,panel_map = <&sdc_s6e3hc3_c10>,
+				      <&sdc_s6e3hc4>,
+				      <&boe_nt37290>;
+		synaptics,firmware_names = "synaptics.img",
+					   "synaptics.img",
+					   "synaptics_b.img";
+		synaptics,touch_offload_id = /bits/ 8 <'c' '1' '0' '0'>;
+		synaptics,udfps-coords = <720 2360>;
+		synaptics,dynamic-report-rate;
+*/
+		goog,coord-filter-enabled;
+		goog,tbn-enabled;
+		goog,manual-heatmap-from-irq;
+		goog,v4l2-enabled;
+		goog,offload-enabled;
+		goog,lptw-suppress-coords-enabled;
+		goog,reset-after-selftest;
+
+		controller-data {
+			samsung,spi-feedback-delay = <0>;
+			samsung,spi-chip-select-mode = <0>;
+			cs-clock-delay = <2>;
+		};
+	};
+};
diff --git a/dts/zuma-caimito-common.dtsi b/dts/zuma-caimito-common.dtsi
new file mode 100644
index 0000000..c3dcbeb
--- /dev/null
+++ b/dts/zuma-caimito-common.dtsi
@@ -0,0 +1,37 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Zuma24 board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+#include "zuma/zuma-common.dtsi"
+
+#include "zuma-caimito-battery.dtsi"
+#include "zuma-caimito-camera-pmic.dtsi"
+#include "zuma-caimito-charging.dtsi"
+#include "zuma-caimito-display.dtsi"
+#include "zuma/zuma-ripcurrent-gsa-gsc.dtsi"
+#include "zuma-caimito-pmic.dtsi"
+#include "zuma-caimito-wcharger.dtsi"
+#include "zuma-caimito-wlan.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro/zumapro-cp-s5400-proto.dtsi"
+#include "zumapro/zumapro-rmem-proto.dtsi"
+#include "zuma/zuma-board-bluetooth.dtsi"
+#include "zuma-caimito-ese.dtsi"
+#include "zuma-caimito-nfc.dtsi"
+#include "zuma/zuma-board-ultrasonic-udfps.dtsi"
+#include "zuma-caimito-audio.dtsi"
+#include "zuma-caimito-common-touch.dtsi"
+#include "zuma/zuma-board-pcie.dtsi"
+#include "zuma/zuma-board-pcie-cp-s5400-a0.dtsi"
+#include "zumapro-caimito-haptics.dtsi"
+#include "zuma-caimito-thermal.dtsi"
+#include "zuma-caimito-bcl.dtsi"
+#include "zuma/zuma-ripcurrent-bluetooth.dtsi"
+#include "zuma-caimito-usb.dtsi"
+#include "zuma-caimito-typec.dtsi"
+#include "zumapro/zumapro-cp-s5400-thermal-zone.dtsi"
+#include "zuma/gs101-faceauth-dma-heap.dtsi"
diff --git a/dts/zuma-caimito-display.dtsi b/dts/zuma-caimito-display.dtsi
new file mode 100644
index 0000000..c295dae
--- /dev/null
+++ b/dts/zuma-caimito-display.dtsi
@@ -0,0 +1,58 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Display nodes for caimito boards.
+ *
+ * Copyright 2023 Google LLC
+ *
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+
+&drmdsim0 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	status = "okay";
+
+	panel@0 {
+		touch = <&spitouch>;
+	};
+
+	panel@1 {
+		compatible = "samsung,emul";
+		label = "samsung-emul";
+		channel = <0>;
+
+		/* reset, power */
+		reset-gpios = <&gpp0 0 GPIO_ACTIVE_HIGH>;
+	};
+};
+
+&drmdsim1 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	/* If used, override it in product dtsi */
+	status = "disabled";
+};
+
+&disp_vddd {
+	status = "okay";
+	gpio = <&gpp21 4 GPIO_ACTIVE_HIGH>;
+};
+
+&drmdp {
+	status = "okay";
+	aux-orientation = "auto";
+};
+
+&drmdecon0 {
+	status = "okay";
+};
+
+&drmdecon1 {
+	status = "okay";
+	connector = <0x10>;
+};
+
+&drmdecon2 {
+	status = "disabled";
+};
diff --git a/dts/zuma-caimito-ese.dtsi b/dts/zuma-caimito-ese.dtsi
new file mode 100644
index 0000000..77cecea
--- /dev/null
+++ b/dts/zuma-caimito-ese.dtsi
@@ -0,0 +1,81 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * eSE device tree source for caimito
+ *
+ * Copyright 2023 Google LLC.
+ *
+ */
+
+#include <arm64/exynos/exynos-pinctrl.h>
+
+&pinctrl_8 {
+        ese1_spi_rst: ese1-spi-rst {
+                samsung,pins ="gph1-5";
+                samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+                samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+                samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
+        };
+};
+
+&pinctrl_12 {
+        ese1_spi_miso: ese1-spi-miso {
+                samsung,pins ="gpp22-2";
+                samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+                samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_DOWN>;
+                samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+        };
+        ese1_spi_mosi_default: ese1-spi-mosi-default {
+                samsung,pins ="gpp22-1";
+                samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+                samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_DOWN>;
+                samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+                samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+                samsung,pin-val = <0>;
+        };
+        ese1_spi_mosi_func: ese1-spi-mosi-func {
+                samsung,pins ="gpp22-1";
+                samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+                samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_DOWN>;
+                samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+                samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
+        };
+};
+
+&spi15_bus {
+        samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+        samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
+};
+
+&spi15_cs {
+        samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+        samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
+};
+
+
+&spi_15 {
+        #address-cells = <1>;
+        #size-cells = <0>;
+        status = "okay";
+        cs-gpios = <&gpp22 3 GPIO_ACTIVE_HIGH>;
+        pinctrl-0 = <>;
+
+        ese1: ese@0 {
+                compatible = "st,st54spi";
+                reg = <0>;
+                spi-max-frequency = <8000000>;
+                esereset-gpio = <&gph1 5 GPIO_ACTIVE_HIGH>;
+#ifndef ESIM_NO_CHIP_ENABLE_PIN
+                ese_chip_enable-gpio = <&gpa0 1 GPIO_ACTIVE_HIGH>;
+#endif
+                power_mode = "ST54L";
+                pinctrl-names = "default","func";
+                pinctrl-0 = <&spi15_bus &spi15_cs &ese1_spi_rst &ese1_spi_miso &ese1_spi_mosi_default>;
+                pinctrl-1 = <&spi15_bus &spi15_cs &ese1_spi_rst &ese1_spi_miso &ese1_spi_mosi_func>;
+                controller-data {
+                        cs-gpio = <&gpp22 3 GPIO_ACTIVE_HIGH>;
+                        cs-clock-delay = <18>;
+                        samsung,spi-chip-select-mode = <0>;
+                };
+        };
+};
+
diff --git a/dts/zuma-caimito-gnss-samsung.dtsi b/dts/zuma-caimito-gnss-samsung.dtsi
new file mode 100644
index 0000000..2dfe12b
--- /dev/null
+++ b/dts/zuma-caimito-gnss-samsung.dtsi
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+/* Overwrite gnss-type to 2 for samsung S5400 */
+&aoc {
+	gnss-type = <2>;
+};
\ No newline at end of file
diff --git a/dts/zuma-caimito-nfc.dtsi b/dts/zuma-caimito-nfc.dtsi
new file mode 100644
index 0000000..c9494a0
--- /dev/null
+++ b/dts/zuma-caimito-nfc.dtsi
@@ -0,0 +1,54 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * nfc device tree source for caimito
+ *
+ * Copyright 2023 Google LLC.
+ *
+ */
+
+#include <arm64/exynos/exynos-pinctrl.h>
+
+&pinctrl_8 {
+	nfc_rst: nfc-rst {
+		samsung,pins = "gph1-6";
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+	};
+
+	nfc_pidle: nfc-pidle {
+		samsung,pins = "gph1-3";
+		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_DOWN>;
+		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+	};
+};
+
+&hsi2c9_bus {
+	samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+	samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
+};
+
+&hsi2c_9 {
+	status = "okay";
+	#address-cells = <1>;
+	#size-cells = <0>;
+	clock-frequency = <950000>;
+	st21nfc@8 {
+		compatible = "st,st21nfc";
+		reg = <0x08>;
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&nfc_rst &nfc_pidle>;
+
+		interrupt-parent = <&gpa7>;
+		interrupts = <5 0 0>;
+		reset-gpios = <&gph1 6 GPIO_ACTIVE_HIGH>;
+		irq-gpios = <&gpa7 5 GPIO_ACTIVE_HIGH>;
+		pidle-gpios = <&gph1 3 GPIO_ACTIVE_HIGH>;
+
+		pmu_clk_pad = <0x3e84>;
+		st,extpad_control_en;
+		status = "ok";
+	};
+};
diff --git a/dts/zuma-caimito-pmic.dtsi b/dts/zuma-caimito-pmic.dtsi
new file mode 100644
index 0000000..22c825a
--- /dev/null
+++ b/dts/zuma-caimito-pmic.dtsi
@@ -0,0 +1,205 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ *  PMIC settings
+ *
+ * Copyright 2023 Google LLC.
+ *
+ */
+
+&m_ldo4_reg {
+	schematic-name = "L4M_TS_AVDD";
+	subsys-name = "TS";
+};
+
+&m_ldo5_reg {
+	schematic-name = "L5M_AON";
+	subsys-name = "LDO";
+};
+
+&m_ldo7_reg {
+	schematic-name = "L7M_SPARE";
+	subsys-name = "Spare";
+};
+
+&m_ldo8_reg {
+	schematic-name = "L8M_USB";
+	subsys-name = "USB";
+};
+
+&m_ldo9_reg {
+	schematic-name = "L9M_USB";
+	subsys-name = "USB";
+};
+
+&m_ldo12_reg {
+	schematic-name = "L12M_SPARE";
+	subsys-name = "Spare";
+};
+
+&m_ldo15_reg {
+	schematic-name = "L15M_SPARE";
+	subsys-name = "Spare";
+};
+
+&m_ldo19_reg {
+	schematic-name = "L19M_EUSB2";
+	subsys-name = "USB";
+};
+
+&m_ldo22_reg {
+	schematic-name = "L22M_SPARE";
+	subsys-name = "Spare";
+};
+
+&m_ldo23_reg {
+	schematic-name = "L23M_SPARE";
+	subsys-name = "Spare";
+};
+
+&m_ldo24_reg {
+	schematic-name = "L24M_SPARE";
+	subsys-name = "Spare";
+};
+
+&m_ldo25_reg {
+	schematic-name = "L25M_TSP_DVDD";
+	subsys-name = "TS";
+};
+
+&m_ext5_rail {
+	schematic-name = "VSYS_PWR_CAMERA";
+	shunt-res-uohms = <5000>;
+	subsys-name = "Camera";
+};
+
+// Reselect rail from L15M_SPARE to S9M_VDD_CPUCL0_M on ch9
+&ch9 {
+	rail-name = "BUCK9M";
+};
+
+// Reselect rail from S9M_VDD_CPUCL0_M to VSYS_PWR_CAMERA
+&ch10 {
+	rail-name = "VSEN_C1";
+};
+
+&s_buck11_reg {
+	schematic-name = "S11S_VDD_INT_M";
+	subsys-name = "INT";
+};
+
+&s_ldo4_reg {
+	schematic-name = "L4S_SPARE";
+	subsys-name = "Spare";
+};
+
+&s_ldo6_reg {
+	schematic-name = "L6S_SPARE";
+	subsys-name = "Spare";
+};
+
+&s_ldo7_reg {
+	schematic-name = "L7S_SENSORS";
+	subsys-name = "Sensors";
+};
+
+&s_ldo8_reg {
+	schematic-name = "L8S_SPARE";
+	subsys-name = "Spare";
+};
+
+&s_ldo12_reg {
+	schematic-name = "L12S_CAMIO";
+	subsys-name = "Camera";
+};
+
+// MMC card is unused for P24
+&s_ldo13_reg {
+	schematic-name = "L13S_SPARE";
+	subsys-name = "Spare";
+};
+
+&s_ldo14_reg {
+	schematic-name = "L14S_SPARE";
+	subsys-name = "Spare";
+};
+
+&s_ldo15_reg {
+	schematic-name = "L15S_SPARE";
+	subsys-name = "Spare";
+};
+
+&s_ldo16_reg {
+	schematic-name = "L16S_UWB";
+	subsys-name = "UWB";
+};
+
+&s_ldo17_reg {
+	schematic-name = "L17S_UWB";
+	subsys-name = "UWB";
+};
+
+&s_ldo18_reg {
+	schematic-name = "L18S_SPARE";
+	subsys-name = "Spare";
+};
+
+&s_ldo20_reg {
+	schematic-name = "L20S_DMIC2";
+	subsys-name = "DMIC";
+};
+
+&s_ldo22_reg {
+	schematic-name = "L22S_UDFPS";
+	subsys-name = "UDFPS";
+};
+
+&s_ldo23_reg {
+	schematic-name = "L23S_SPARE";
+	subsys-name = "Spare";
+};
+
+&s_ldo25_reg {
+	schematic-name = "L25S_SPARE";
+	subsys-name = "Spare";
+};
+
+&s_ldo26_reg {
+	schematic-name = "L26S_LDAF";
+	subsys-name = "Camera";
+};
+
+&s_ldo27_reg {
+	schematic-name = "L27S_SPARE";
+	subsys-name = "Spare";
+};
+
+&s_ldo28_reg {
+	schematic-name = "L28S_SPARE";
+	subsys-name = "Spare";
+};
+
+&s_ldo29_reg {
+	schematic-name = "L29S_SPARE";
+	subsys-name = "Spare";
+};
+
+&s_ext4_rail {
+	schematic-name = "VSYS_PWR_MODEM";
+	shunt-res-uohms = <5000>;
+	subsys-name = "MODEM";
+};
+
+&s_ext5_rail {
+	schematic-name = "VSYS_PWR_WLAN_BT";
+	shunt-res-uohms = <10000>;
+	subsys-name = "WLAN-BT";
+};
+
+&s_ext6_rail {
+	shunt-res-uohms = <10000>;
+};
+
+// Reselect rail from L29S_SPARE to L21S_VDD2L_MEM on ch21
+&ch21 {
+	rail-name = "LDO21S";
+};
diff --git a/dts/zuma-caimito-thermal.dtsi b/dts/zuma-caimito-thermal.dtsi
new file mode 100644
index 0000000..ce8855e
--- /dev/null
+++ b/dts/zuma-caimito-thermal.dtsi
@@ -0,0 +1,140 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Google ZUMA ripcurrent-specific thermal device tree source
+ *
+ * Copyright (c) 2023 Google, LLC
+ *		https://www.google.com
+ */
+
+#include <dt-bindings/thermal/thermal.h>
+
+&acpm_mfd_bus1 {
+	s2mpg15mfd@0 {
+		zuma_tm1: s2mpg15_spmic_tm1 {
+			compatible = "google,s2mpg15-spmic-thermal";
+			#thermal-sensor-cells = <1>;
+			adc_chan_en = /bits/ 8 <0xff>;
+			filter_spurious_samples = <1>;
+			stats_en = /bits/ 8 <0xff>;
+			enable_hw_lpf = /bits/ 8 <0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd>;
+		};
+	};
+};
+
+/* Thermal Zones */
+&thermal_zones {
+	rfpa_therm {
+		polling-delay-passive = <0>;
+		polling-delay = <0>;
+		thermal-governor = "user_space";
+		thermal-sensors = <&zuma_tm1 0>;
+		trips {
+			trip_config0: trip-config0 {
+				temperature = <125000>;
+				hysteresis = <1000>;
+				type = "passive";
+			};
+		};
+	};
+	quiet_therm {
+		polling-delay-passive = <0>;
+		polling-delay = <0>;
+		thermal-governor = "user_space";
+		thermal-sensors = <&zuma_tm1 1>;
+		trips {
+			trip_config1: trip-config1 {
+				temperature = <56000>;
+				hysteresis = <1000>;
+				type = "passive";
+			};
+			backup_shutdown_sw: backup-shutdown-sw {
+				temperature = <60000>;
+				hysteresis = <1000>;
+				type = "critical";
+			};
+			backup_shutdown_hw: backup-shutdown-hw {
+				temperature = <65000>;
+				hysteresis = <1000>;
+				type = "hot";
+			};
+		};
+	};
+	charging_therm {
+		polling-delay-passive = <0>;
+		polling-delay = <0>;
+		thermal-governor = "user_space";
+		thermal-sensors = <&zuma_tm1 2>;
+		trips {
+			trip_config2: trip-config2 {
+				temperature = <125000>;
+				hysteresis = <1000>;
+				type = "passive";
+			};
+		};
+	};
+	usb_pwr_therm {
+		polling-delay-passive = <0>;
+		polling-delay = <0>;
+		thermal-governor = "user_space";
+		thermal-sensors = <&zuma_tm1 3>;
+		trips {
+			trip_config3: trip-config3 {
+				temperature = <125000>;
+				hysteresis = <1000>;
+				type = "passive";
+			};
+		};
+	};
+	btmspkr_therm {
+		polling-delay-passive = <0>;
+		polling-delay = <0>;
+		thermal-governor = "user_space";
+		thermal-sensors = <&zuma_tm1 4>;
+		trips {
+			trip_config4: trip-config4 {
+				temperature = <125000>;
+				hysteresis = <1000>;
+				type = "passive";
+			};
+		};
+	};
+	disp_therm {
+		polling-delay-passive = <0>;
+		polling-delay = <0>;
+		thermal-governor = "user_space";
+		thermal-sensors = <&zuma_tm1 5>;
+		trips {
+			trip_config5: trip-config5 {
+				temperature = <125000>;
+				hysteresis = <1000>;
+				type = "passive";
+			};
+		};
+	};
+	north_therm {
+		polling-delay-passive = <0>;
+		polling-delay = <0>;
+		thermal-governor = "user_space";
+		thermal-sensors = <&zuma_tm1 6>;
+		trips {
+			trip_config6: trip-config6 {
+				temperature = <125000>;
+				hysteresis = <1000>;
+				type = "passive";
+			};
+		};
+	};
+	soc_therm {
+		polling-delay-passive = <0>;
+		polling-delay = <0>;
+		thermal-governor = "user_space";
+		thermal-sensors = <&zuma_tm1 7>;
+		trips {
+			trip_config7: trip-config7 {
+				temperature = <125000>;
+				hysteresis = <1000>;
+				type = "passive";
+			};
+		};
+	};
+};
diff --git a/dts/zuma-caimito-typec.dtsi b/dts/zuma-caimito-typec.dtsi
new file mode 100644
index 0000000..dc11f56
--- /dev/null
+++ b/dts/zuma-caimito-typec.dtsi
@@ -0,0 +1,49 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (C) 2023, Google LLC
+ *
+ * Type-C device tree
+ */
+#include <dt-bindings/usb/pd.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/zuma.h>
+#include <arm64/exynos/exynos-pinctrl.h>
+
+&hsi2c_6 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	status = "okay";
+#include "zuma/max777x9-tcpc.dtsi"
+};
+
+&max77759tcpc {
+	bcl-usb-voting;
+	pinctrl-0 = <&usb_pd_irq>;
+	pullup-supply = <&m_ldo19_reg>;
+	ext-bst-ovp-clear-mv = <10000>;
+	connector {
+		sink-pdos = <PDO_FIXED(5000, 3000,
+				       PDO_FIXED_DATA_SWAP |
+				       PDO_FIXED_USB_COMM |
+				       PDO_FIXED_HIGHER_CAP |
+				       PDO_FIXED_DUAL_ROLE)
+			     PDO_FIXED(9000, 2200, 0)
+			     PDO_PPS_APDO(5000, 21000, 3000)>;
+	};
+};
+
+&hsi2c6_bus {
+	samsung,pins = "gpp12-0", "gpp12-1";
+	samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
+};
+
+&pinctrl_0 {
+	usb_pd_irq: usb-pd-irq {
+		samsung,pins = "gpa8-3";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
+		samsung,pin-drv = <ZUMA_PIN_DRV_X1>;
+	};
+};
+
+#include "zuma/max777x9-usbc-cooling-dev.dtsi"
diff --git a/dts/zuma-caimito-usb.dtsi b/dts/zuma-caimito-usb.dtsi
new file mode 100644
index 0000000..886d8d6
--- /dev/null
+++ b/dts/zuma-caimito-usb.dtsi
@@ -0,0 +1,91 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * USB device tree source code for Zuma SoC
+ *
+ * Copyright 2023 Google LLC.
+ */
+
+&udc {
+	extcon = <&max77759tcpc>;
+	force_gen1;
+};
+
+&usbdrd_dwc3 {
+	maximum-speed = "super-speed";
+};
+
+&usbdrd_phy0 {
+	extcon = <&max77759tcpc>;
+};
+
+&pinctrl_8 {
+	eusb_init_state: eusb_init_state {
+		samsung,pins = "gph1-0";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
+	};
+};
+
+&eusb_repeater_tune {
+	status = "okay";
+	repeater_tune_cnt = <8>;
+	/* 0xffffffff means using default value */
+	/* tune value - reg value shift mask*/
+	repeater_tune1 {
+		tune_name = "eusb_mode_control";
+		tune_value = <0x50 0x0a 0x0 0xff>;
+	};
+
+	repeater_tune2 {
+		tune_name = "u_tx_adjust_port1";
+		tune_value = <0x70 0x7c 0x0 0xff>;
+	};
+
+	repeater_tune3 {
+		tune_name = "u_hs_tx_pre_emphasus_p1";
+		tune_value = <0x71 0x3c 0x0 0xff>;
+	};
+
+	repeater_tune4 {
+		tune_name = "u_rx_adjust_port1";
+		tune_value = <0x72 0x92 0x0 0xff>;
+	};
+
+	repeater_tune5 {
+		tune_name = "u_disconnect_squelch_port1";
+		tune_value = <0x73 0x83 0x0 0xff>;
+	};
+
+	repeater_tune6 {
+		tune_name = "e_hs_tx_pre_emphasus_p1";
+		tune_value = <0x77 0x0 0x0 0xff>;
+	};
+
+	repeater_tune7 {
+		tune_name = "e_tx_adjust_port1";
+		tune_value = <0x78 0x0b 0x0 0xff>;
+	};
+
+	repeater_tune8 {
+		tune_name = "e_rx_adjust_port1";
+		tune_value = <0x79 0x60 0x0 0xff>;
+	};
+};
+
+&hsi2c_9 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       status = "okay";
+       eusb-repeater@3E {
+		compatible = "samsung,eusb-repeater";
+		reg = <0x3E>;
+		status = "okay";
+		pinctrl-names = "init_state";
+		pinctrl-0 = <&eusb_init_state>;
+		repeater_tune_param = <&eusb_repeater_tune>;
+		vdd33-supply = <&m_ldo19_reg>;
+		extcon = <&max77759tcpc>;
+       };
+};
diff --git a/dts/zuma-caimito-usecases-evt.dtsi b/dts/zuma-caimito-usecases-evt.dtsi
new file mode 100644
index 0000000..7e4312b
--- /dev/null
+++ b/dts/zuma-caimito-usecases-evt.dtsi
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Usecases specific to Caimito Evt platforms
+ *
+ * Copyright 2023 Google LLC
+ *
+ */
+
+/* system use cases */
+&max77779_chg {
+	max77779,extbst-ctl = <&max77759_tcpc_gpio 0 GPIO_ACTIVE_HIGH>;
+
+	/* for OTG related usecase*/
+	max77779,rx-to-rx-otg-en; /* support RX -> RX+OTG */
+	max77779,ext-otg-only; /* use external OTG only */
+};
diff --git a/dts/zuma-caimito-uwb.dtsi b/dts/zuma-caimito-uwb.dtsi
new file mode 100644
index 0000000..5afde6f
--- /dev/null
+++ b/dts/zuma-caimito-uwb.dtsi
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ *
+ * Copyright (c) 2023 Google, LLC
+ * https://www.google.com
+*/
+
+#include "zuma/zuma-board-uwb.dtsi"
+
+&spi_18 {
+	qm35@0 {
+		qm35-vdd4-supply = <&s_ldo17_reg>;
+		wakeup-gpios = <&gpp15 1 GPIO_ACTIVE_HIGH>;
+		ss-irq-gpios = <&gpn5 0 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;
+	};
+};
diff --git a/dts/zuma-caimito-wcharger.dtsi b/dts/zuma-caimito-wcharger.dtsi
new file mode 100644
index 0000000..d472a7f
--- /dev/null
+++ b/dts/zuma-caimito-wcharger.dtsi
@@ -0,0 +1,86 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Wireless Charger device tree entries.
+ *
+ * Copyright 2022 Google LLC
+ */
+
+#include <arm64/exynos/exynos-pinctrl.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+	fragment@wlc {
+		target-path = "/";
+		__overlay__ {
+			google,charger {
+				google,wlc-power-supply = "wireless";
+			};
+		};
+	};
+};
+
+&max77779_pinctrl {
+	/* QI_INT_ODL Wireless Charger Interrupt */
+	wc_irq: wc_irq {
+		pins = "gpio4";
+		function = "gpio";
+		input-enable;
+		bias-pull-up;
+	};
+
+	/* QI_RX_COMM_EN_L Wireless Charger Enable */
+	wc_en: wc_en {
+		pins = "gpio1";
+		function = "gpio";
+		bias-disable;
+		output-low;
+	};
+
+	/* QI_PDET_GPOD6 */
+	det_int: det_int {
+		pins = "gpio2";
+		function = "gpio";
+		input-enable;
+		bias-pull-up;
+	};
+
+	ldo_en: ldo_en {
+		pins = "gpio3";
+		function = "gpio";
+		bias-disable;
+		output-low;
+	};
+};
+
+#ifndef ZUMA_BMS_I2CM
+&hsi2c_10 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	#include "zuma/zuma-wcharger-ra9530.dtsi"
+};
+#else
+&max77779_i2cm {
+	#include "zuma/zuma-wcharger-ra9530.dtsi"
+};
+#endif
+
+&ra9530 {
+	status = "okay";
+	pinctrl-0 = <&wc_irq &det_int &wc_en &ldo_en>;
+
+	idt,gpio_wlc_en = <&max77779_sgpio 1 GPIO_ACTIVE_LOW>;
+	idt,gpio_qien = <&max77779_sgpio 1 GPIO_ACTIVE_LOW>;
+	idt,irq_gpio = <&max77779_sgpio 4 GPIO_ACTIVE_LOW>;
+	idt,irq_det_gpio = <&max77779_sgpio 2 GPIO_ACTIVE_LOW>;
+	idt,gpio_ldo_en = <&max77779_sgpio 3 GPIO_ACTIVE_LOW>;
+
+	idt,ramp-disable;
+	google,enable_15w;
+
+	/* TXID: Phone type */
+	idt,tx_id_phone_type = /bits/ 8 <5>;
+
+	/* High dissipation adapter */
+	google,hda-tz-wlc;
+};
diff --git a/dts/zuma-caimito-wifi-4390a0.dtsi b/dts/zuma-caimito-wifi-4390a0.dtsi
new file mode 100644
index 0000000..34d600d
--- /dev/null
+++ b/dts/zuma-caimito-wifi-4390a0.dtsi
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+/* Overwrite wifi chip to 1 for devices using 4390a0 */
+&aoc {
+	wifi-chip = <1>;
+};
\ No newline at end of file
diff --git a/dts/zuma-caimito-wlan.dtsi b/dts/zuma-caimito-wlan.dtsi
new file mode 100644
index 0000000..d9f77d1
--- /dev/null
+++ b/dts/zuma-caimito-wlan.dtsi
@@ -0,0 +1,54 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Google Zuma wlan device tree source
+ *
+ * Copyright 2021 Google,LLC
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <arm64/exynos/exynos-pinctrl.h>
+#include <dt-bindings/pinctrl/zuma.h>
+
+&pinctrl_2 {
+	wlan_host_wake: wlan_host_wake {
+		samsung,pins = "gpa5-3";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+		samsung,pin-drv = <ZUMA_PIN_DRV_X1>;
+		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_DOWN>;
+	};
+};
+
+&pinctrl_9 {
+	cfg_wlanen: cfg_wlanen {
+		samsung,pins = "gph3-4";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-drv = <ZUMA_PIN_DRV_X1>;
+		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
+	};
+
+	wlan_dev_wake: wlan_dev_wake {
+		samsung,pins = "gph3-5";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+		samsung,pin-drv = <ZUMA_PIN_DRV_X1>;
+		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_DOWN>;
+	};
+};
+
+&pcie_1 {
+	pinctrl-0 = <&pcie1_clkreq &pcie1_perst &cfg_wlanen &wlan_host_wake &wlan_dev_wake>;
+
+	wlan {
+		compatible = "android,bcmdhd_wlan";
+		wl_reg_on = <&gph3 4 0x1>; /* wlan reg_on pin */
+		wl_host_wake = <&gpa5 3 0x1>; /* wlan oob pin */
+		wl_dev_wake = <&gph3 5 0x1>; /* wlan dev pin */
+		ch-num = <1>;
+		status = "okay";
+	};
+};
diff --git a/dts/zuma-komodo-audio.dtsi b/dts/zuma-komodo-audio.dtsi
new file mode 100644
index 0000000..cf0ce37
--- /dev/null
+++ b/dts/zuma-komodo-audio.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * komodo audio device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+&aoc {
+	aoc-board-cfg = "KM4";
+	aoc-board-id = <0x40802>;
+	aoc-board-rev = <0x10000>;
+	prevent-fw-load = <0x0>;
+};
+
diff --git a/dts/zuma-komodo-battery-data.dtsi b/dts/zuma-komodo-battery-data.dtsi
new file mode 100644
index 0000000..a18cc58
--- /dev/null
+++ b/dts/zuma-komodo-battery-data.dtsi
@@ -0,0 +1,151 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Battery device tree entries
+ *
+ * Copyright 2023 Google LLC
+ *
+ */
+
+max77779,config {
+
+	/* KM4_ATL_3501_004_G1.ini, b/343511333#comment12 */
+	max77779,atl-1k {
+		max77779,batt-id-kohm = <1>;
+		max77779,model-version = <12>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+			0x975e 0xaf47 0xb7cb 0xb898 0xb8fe 0xbb99 0xbc8d 0xbeae
+			0xc08e 0xc2df 0xc8d2 0xce54 0xd265 0xd697 0xdb99 0xde9b
+			0x0050 0x0170 0x0ec0 0x22b0 0x0c40 0x1260 0x1310 0x1200
+			0x0e60 0x07e0 0x06c0 0x06f0 0x06b0 0x07d0 0x05b0 0x05b0
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */    0xc1b0  /* nnvcfg0 */
+			/* 0x00B6 */    0x083b  /* nrelaxcfg */
+			/* 0x009F */    0x660e  /* nLearnCFG */
+			/* 0x000C */    0x4207  /* Config */
+			/* 0x00AB */    0x0081  /* Config2 */
+			/* 0x00BC */    0x5f00  /* nFullSOCThr */
+			/* 0x00A9 */    0x07de  /* nfullcaprep */
+			/* 0x00B3 */    0x07de  /* ndesigncap */
+			/* 0x0046 */    0x0c80  /* dPacc */
+			/* 0x00A5 */    0x07de  /* nfullcapnom */
+			/* 0x00C6 */    0xa55a  /* nVEmpty */
+			/* 0x00A0 */    0x3382  /* nQRTable00 */
+			/* 0x00A1 */    0x1700  /* nQRTable10 */
+			/* 0x00A2 */    0x0780  /* nQRTable20 */
+			/* 0x00A3 */    0x0501  /* nQRTable30 */
+			/* 0x00A6 */    0x0600  /* nRCOMP0 */
+			/* 0x00A7 */    0x1670  /* nTempCo */
+			/* 0x009C */    0x0278  /* nichgterm */
+			/* 0x00B2 */    0x3870  /* nmisccfg */
+			/* 0x009E */    0x0400  /* nModelCfg */
+			/* 0x00CA */    0xc8ff  /* nThermCfg */
+			/* 0x009D */    0xcea4  /* nFilterCfg */
+		>;
+		max77779,fg_regval = /bits/ 16 <
+			0x3A 0x1142    /* SOCHold */
+		>;
+		max77779,fg_n_regval = /bits/ 16 <
+			0xB7 0x2341    /* nConvgCfg */
+		>;
+		max77779,fg-aafv = /bits/ 32 <
+			200     0   95  0xff
+			400    20   90  0xff
+			600    40   85  0xff
+			800    60   80  0xff
+			1000   80   75  0xff
+			2000  100   70  0xff
+		>;
+	};
+
+	/* KM4_COS_RC2_BC79_2mOhm_3502_2_071823_20231219.model.ini.txt, b/317137025#comment1 */
+	max77779,cos-2k {
+		max77779,batt-id-kohm = <2>;
+		max77779,model-version = <9>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+			0xa510 0xb6d0 0xb880 0xba30 0xbbe0 0xbdc0 0xbef0 0xc060
+			0xc400 0xc750 0xcaf0 0xce70 0xd1e0 0xd8c0 0xdaa0 0xde60
+			0x0120 0x0c20 0x0d30 0x1010 0x0f60 0x1240 0x11a0 0x0ce0
+			0x06d0 0x06f0 0x06d0 0x0740 0x06d0 0x09d0 0x0680 0x0680
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */	0xc1b0	/* nNVCfg0 */
+			/* 0x00B6 */	0x043c	/* RelaxCFG */
+			/* 0x009F */	0x260e	/* nLearnCFG */
+			/* 0x000C */	0x4207	/* Config */
+			/* 0x00AB */	0x0080	/* Config2 */
+			/* 0x00BC */	0x5f00	/* nFullSOCthr */
+			/* 0x00A9 */	0x07e0	/* nFullCAPRep */
+			/* 0x00B3 */	0x07e0	/* nDesignCap */
+			/* 0x0046 */	0x0C80	/* dPacc */
+			/* 0x00A5 */	0x07e0	/* nFullCAPNom */
+			/* 0x00C6 */	0xa55a	/* nV_empty */
+			/* 0x00A0 */	0x3400	/* nQRTable00 */
+			/* 0x00A1 */	0x1780	/* nQRTable10 */
+			/* 0x00A2 */	0x0900	/* nQRTable20 */
+			/* 0x00A3 */	0x0880	/* nQRTable30 */
+			/* 0x00A6 */	0x04e0	/* nRCOMP0 */
+			/* 0x00A7 */	0x1c02	/* nTempCo */
+			/* 0x009C */	0x0278	/* nIChgTerm */
+			/* 0x00B2 */	0x3870	/* nMiscCFG */
+			/* 0x009E */	0x0400	/* nModelCfg */
+			/* 0x00CA */	0xC8FF	/* nThermCfg */
+			/* 0x009D */	0xCEA4	/* nFilterCfg */
+		>;
+		max77779,fg-aafv = /bits/ 32 <
+			200     0   95  0xff
+			400    20   90  0xff
+			600    40   85  0xff
+			800    60   80  0xff
+			1000   80   75  0xff
+			2000  100   70  0xff
+		>;
+	};
+
+	/* KM4_LWN_RC2_BC79_2mOhm_3503_1_071723_20231219.model.ini.txt, b/317137025#comment1 */
+	max77779,lwn-4k {
+		max77779,batt-id-kohm = <4>;
+		max77779,model-version = <9>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+			0xa500 0xb760 0xb8c0 0xbaa0 0xbd30 0xbd90 0xbe30 0xbf20
+			0xbf60 0xc0c0 0xc280 0xc3e0 0xcac0 0xd050 0xd800 0xddc0
+			0x0130 0x1200 0x0d30 0x0e30 0x2b10 0x1020 0x1240 0x2220
+			0x0eb0 0x0ef0 0x05f0 0x07f0 0x06c0 0x06f0 0x0670 0x0670
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */	0xc1b0	/* nNVCfg0 */
+			/* 0x00B6 */	0x043c	/* RelaxCFG */
+			/* 0x009F */	0x260e	/* nLearnCFG */
+			/* 0x000C */	0x4207	/* Config */
+			/* 0x00AB */	0x0080	/* Config2 */
+			/* 0x00BC */	0x5f00	/* nFullSOCthr */
+			/* 0x00A9 */	0x07e0	/* nFullCAPRep */
+			/* 0x00B3 */	0x07e0	/* nDesignCap */
+			/* 0x0046 */	0x0C80	/* dPacc */
+			/* 0x00A5 */	0x07e0	/* nFullCAPNom */
+			/* 0x00C6 */	0xa55a	/* nV_empty */
+			/* 0x00A0 */	0x2f8e	/* nQRTable00 */
+			/* 0x00A1 */	0x1a00	/* nQRTable10 */
+			/* 0x00A2 */	0x0f00	/* nQRTable20 */
+			/* 0x00A3 */	0x0b00	/* nQRTable30 */
+			/* 0x00A6 */	0x0550	/* nRCOMP0 */
+			/* 0x00A7 */	0x1f02	/* nTempCo */
+			/* 0x009C */	0x0278	/* nIChgTerm */
+			/* 0x00B2 */	0x3870	/* nMiscCFG */
+			/* 0x009E */	0x0400	/* nModelCfg */
+			/* 0x00CA */	0xC8FF	/* nThermCfg */
+			/* 0x009D */	0xCEA4	/* nFilterCfg */
+		>;
+		max77779,fg-aafv = /bits/ 32 <
+			200     0   95  0xff
+			400    20   90  0xff
+			600    40   85  0xff
+			800    60   80  0xff
+			1000   80   75  0xff
+			2000  100   70  0xff
+		>;
+	};
+};
diff --git a/dts/zuma-komodo-battery.dtsi b/dts/zuma-komodo-battery.dtsi
new file mode 100644
index 0000000..bd6abb1
--- /dev/null
+++ b/dts/zuma-komodo-battery.dtsi
@@ -0,0 +1,80 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Battery device tree entries specific to panther
+ *
+ * Copyright 2023 Google,LLC
+ *
+ */
+
+&google_battery {
+	google,chg-battery-capacity = <4942>;
+
+	google,chg-cv-limits = <4200000 4250000 4300000 4350000 4480000>;
+	google,chg-temp-limits = <0 100 200 420 460 480 550>;
+	google,chg-cc-limits = <
+		 50   30   30    0   0
+		100  100  100   50  50
+		150  150  150  150  50
+		150  150   50   50  50
+		 50   50   50    0   0
+		 30    0    0    0   0
+	>;
+
+	google,aact-cv-limits = <4200000 4250000 4300000 4350000 4480000>;
+	google,aact-temp-limits = <0 100 200 420 460 480 550>;
+	google,chg-aact-ecc = <0 300 1000>;
+	google,aact-cc-limits = <
+		 50   30   30    0   0
+		100  100  100   50  50
+		150  150  150  150  50
+		150  150   50   50  50
+		 50   50   50    0   0
+		 30    0    0    0   0
+		 50   30   30    0   0
+		100  100  100   50  50
+		140  140  140  140  50
+		140  140   50   50  50
+		 50   50   50    0   0
+		 30    0    0    0   0
+		 50   30   30    0   0
+		100  100  100   50  50
+		120  120  120  120  50
+		120  120   50   50  50
+		 50   50   50    0   0
+		 30    0    0    0   0
+	>;
+
+	google,chg-topoff-limits = <250 250 250 500 500 500>;
+
+	google,pullback-current;
+
+	google,ttf-temp-idx= <2>;
+	google,ttf-adapter = <4500>;
+	google,ttf-soc-table =  <52 72 85 89 93  95  97  100>;
+	google,ttf-elap-table = <24 47 65 82 121 170 222 116>;
+	google,ttf-tier-table = <0 51 76>;
+	google,ttf-report-max-ratio = <0>;
+
+	/* 90% after 600 cycles, 80% after 1000 cycles */
+	google,aacr-algo = <3>;
+	google,aacr-cliff-capacity-rate = <80>;
+	google,aacr-cycle-max = <1000>;
+
+	google,batt-id-1-atl {
+		google,batt-id = <1>;
+		google,aacr-ref-cycles = <599 600 1000>;
+		google,aacr-ref-fade10 = <  0 100  100>;
+		google,aafv-ref-cycles = <200 400 600 800 1000 1001>;
+		google,aafv-ref-offset = <  0  20  40  60   80  100>;
+	};
+};
+
+&max77779_fg {
+	maxim,fg-data {
+#ifdef ZUMA_BMS_PROTO_EVT10_MODEL
+		#include "zuma-komodo-proto-evt10-battery-data.dtsi"
+#else
+		#include "zuma-komodo-battery-data.dtsi"
+#endif
+	};
+};
diff --git a/dts/zuma-komodo-caiman-charging.dtsi b/dts/zuma-komodo-caiman-charging.dtsi
new file mode 100644
index 0000000..1a85a8d
--- /dev/null
+++ b/dts/zuma-komodo-caiman-charging.dtsi
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Charging device tree entries specific to Komodo and Caiman devices
+ *
+ * Copyright 2023 Google LLC
+ *
+ */
+
+#ifndef ZUMA_BMS_I2CM
+&hsi2c_10 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	status = "okay";
+	clock-frequency = <400000>;
+
+	#include "zuma/zuma-charge-pump-ln8411.dtsi"
+};
+#else
+&max77779_i2cm {
+	#include "zuma/zuma-charge-pump-ln8411.dtsi"
+};
+#endif
+
+&ln8411_dc {
+	status = "okay";
+
+	ln8411,si-fet-ovp-drive;
+};
diff --git a/dts/zuma-komodo-caiman-usecases.dtsi b/dts/zuma-komodo-caiman-usecases.dtsi
new file mode 100644
index 0000000..de32c69
--- /dev/null
+++ b/dts/zuma-komodo-caiman-usecases.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Usecases specific to Komodo and Caiman platforms
+ *
+ * Copyright 2023 Google LLC
+ *
+ */
+
+/* system use cases */
+&max77779_chg {
+	max77779,reverse_12-en;
+	max77779,rtx-ready = <&p9xxx_gpio 6 GPIO_ACTIVE_HIGH>;
+	max77779,rtx-available = <&p9xxx_gpio 7 GPIO_ACTIVE_HIGH>;
+};
diff --git a/dts/zuma-komodo-camera.dtsi b/dts/zuma-komodo-camera.dtsi
new file mode 100644
index 0000000..622cc80
--- /dev/null
+++ b/dts/zuma-komodo-camera.dtsi
@@ -0,0 +1,1246 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * zuma camera lwis device tree for komodo
+ *
+ * Copyright 2022 Google LLC.
+ *
+ */
+
+#include <dt-bindings/clock/zuma.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <arm64/exynos/exynos-pinctrl.h>
+#include <dt-bindings/lwis/platform/zuma/tof.h>
+
+&slg51002_ldo1 {
+	regulator-min-microvolt = <2250000>;
+	regulator-max-microvolt = <2250000>;
+};
+
+/* As defined on OTP */
+&slg51002_ldo2 {
+	regulator-min-microvolt = <2850000>;
+	regulator-max-microvolt = <2850000>;
+};
+
+&slg51002_ldo3 {
+	regulator-min-microvolt = <2850000>;
+	regulator-max-microvolt = <2850000>;
+};
+
+&slg51002_ldo4 {
+	regulator-min-microvolt = <2950000>;
+	regulator-max-microvolt = <2950000>;
+};
+
+&slg51002_ldo5 {
+	regulator-min-microvolt = <2900000>;
+	regulator-max-microvolt = <2900000>;
+};
+
+/* As defined on OTP */
+&slg51002_ldo6 {
+	regulator-min-microvolt = <1150000>;
+	regulator-max-microvolt = <1150000>;
+};
+
+/* As defined on OTP */
+&slg51002_ldo7 {
+	regulator-min-microvolt = <1150000>;
+	regulator-max-microvolt = <1150000>;
+};
+
+/* slg51002_ldo8 is not used */
+
+&s_ldo12_reg {
+	regulator-min-microvolt = <1850000>;
+	regulator-max-microvolt = <1850000>;
+};
+
+&s_ldo26_reg {
+	regulator-min-microvolt = <3300000>;
+	regulator-max-microvolt = <3300000>;
+};
+
+&pinctrl_1 {
+	ldaf_irq: ldaf-irq {
+		samsung,pins = "gpn3-0";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+	};
+	ldaf_irq_off: ldaf-irq-off {
+		samsung,pins = "gpn3-0";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+		samsung,pin-val = <0>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+	};
+};
+
+&pinctrl_11 {
+	hsi2c1_bus: hsi2c1-bus {
+		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
+	};
+
+	hsi2c1_bus_in: hsi2c1-bus-in {
+		samsung,pins = "gpp2-0", "gpp2-1";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-drv = <ZUMA_PIN_DRV_X1>;
+	};
+
+	hsi2c2_bus: hsi2c2-bus {
+		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
+	};
+
+	hsi2c2_bus_in: hsi2c2-bus-in {
+		samsung,pins = "gpp4-0", "gpp4-1";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-drv = <ZUMA_PIN_DRV_X1>;
+	};
+
+	hsi2c3_bus: hsi2c3-bus {
+		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
+	};
+
+	hsi2c3_bus_in: hsi2c3-bus-in {
+		samsung,pins = "gpp6-0", "gpp6-1";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-drv = <ZUMA_PIN_DRV_X1>;
+	};
+
+	hsi2c5_bus: hsi2c5-bus {
+		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
+	};
+
+	hsi2c5_bus_in: hsi2c5-bus-in {
+		samsung,pins = "gpp10-0", "gpp10-1";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-drv = <ZUMA_PIN_DRV_X1>;
+	};
+
+	sensor_mclk1_out: sensor-mclk1-out {
+		samsung,pin-drv = <ZUMA_PIN_DRV_X3>;
+	};
+	sensor_mclk1_fn: sensor-mclk1-fn {
+		samsung,pin-drv = <ZUMA_PIN_DRV_X3>;
+	};
+	sensor_mclk2_out: sensor-mclk2-out {
+		samsung,pin-drv = <ZUMA_PIN_DRV_X3>;
+	};
+	sensor_mclk2_fn: sensor-mclk2-fn {
+		samsung,pin-drv = <ZUMA_PIN_DRV_X3>;
+	};
+	sensor_mclk3_out: sensor-mclk3-out {
+		samsung,pin-drv = <ZUMA_PIN_DRV_X3>;
+	};
+	sensor_mclk3_fn: sensor-mclk3-fn {
+		samsung,pin-drv = <ZUMA_PIN_DRV_X3>;
+	};
+	sensor_mclk4_out: sensor-mclk4-out {
+		samsung,pin-drv = <ZUMA_PIN_DRV_X3>;
+	};
+	sensor_mclk4_fn: sensor-mclk4-fn {
+		samsung,pin-drv = <ZUMA_PIN_DRV_X3>;
+	};
+};
+
+&pinctrl_12 {
+	/* GPP24[1] Flashlight Enable */
+	flash_en: flash-en {
+		samsung,pins = "gpp24-1";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
+	};
+};
+
+&hsi2c_1 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	gpios = <&gpp2 0 GPIO_ACTIVE_HIGH &gpp2 1 GPIO_ACTIVE_HIGH>;
+	status = "okay";
+	clock-frequency = <950000>;
+	samsung,no_lose_arbitration;
+	samsung,reset-before-trans;
+	samsung,hybrid-polling-mode;
+
+	pinctrl-names = "default","on_i2c","off_i2c";
+	pinctrl-0 = <&hsi2c1_bus_in>;
+	pinctrl-1 = <&hsi2c1_bus>;
+	pinctrl-2 = <&hsi2c1_bus_in>;
+};
+
+&hsi2c_2 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	gpios = <&gpp4 0 GPIO_ACTIVE_HIGH &gpp4 1 GPIO_ACTIVE_HIGH>;
+	status = "okay";
+	clock-frequency = <950000>;
+	samsung,no_lose_arbitration;
+	samsung,reset-before-trans;
+	samsung,hybrid-polling-mode;
+
+	pinctrl-names = "default","on_i2c","off_i2c";
+	pinctrl-0 = <&hsi2c2_bus_in>;
+	pinctrl-1 = <&hsi2c2_bus>;
+	pinctrl-2 = <&hsi2c2_bus_in>;
+};
+
+&hsi2c_3 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	gpios = <&gpp6 0 GPIO_ACTIVE_HIGH &gpp6 1 GPIO_ACTIVE_HIGH>;
+	status = "okay";
+	clock-frequency = <950000>;
+	samsung,no_lose_arbitration;
+	samsung,reset-before-trans;
+	samsung,hybrid-polling-mode;
+
+	pinctrl-names = "default","on_i2c","off_i2c";
+	pinctrl-0 = <&hsi2c3_bus_in>;
+	pinctrl-1 = <&hsi2c3_bus>;
+	pinctrl-2 = <&hsi2c3_bus_in>;
+};
+
+&hsi2c_4 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	gpios = <&gpp8 0 GPIO_ACTIVE_HIGH &gpp8 1 GPIO_ACTIVE_HIGH>;
+	status = "okay";
+	/* Limit to 390KHz due to bottleneck in flash LED driver. */
+	clock-frequency = <390000>;
+	samsung,no_lose_arbitration;
+
+	pinctrl-names = "default","on_i2c","off_i2c";
+	pinctrl-0 = <&hsi2c4_bus &flash_en>;
+	pinctrl-1 = <&hsi2c4_bus>;
+	pinctrl-2 = <&hsi2c4_bus>;
+};
+
+&hsi2c_5 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	gpios = <&gpp10 0 GPIO_ACTIVE_HIGH &gpp10 1 GPIO_ACTIVE_HIGH>;
+	status = "okay";
+	clock-frequency = <950000>;
+	samsung,no_lose_arbitration;
+	samsung,reset-before-trans;
+	samsung,hybrid-polling-mode;
+	samsung,trailing-count = <0x20000>;
+
+	pinctrl-names = "default","on_i2c","off_i2c";
+	pinctrl-0 = <&hsi2c5_bus_in>;
+	pinctrl-1 = <&hsi2c5_bus>;
+	pinctrl-2 = <&hsi2c5_bus_in>;
+};
+
+&spi_22 {
+
+	#address-cells = <1>;
+	#size-cells = <0>;
+	status = "okay";
+
+	tof0: tof@0 {
+		status = "ok";
+		compatible = "google,lwis-spi-device";
+
+		/* Device node name */
+		node-name = "tof-tarasque";
+
+		/* Registers */
+		reg-addr-bitwidth = <16>;
+		reg-value-bitwidth = <8>;
+
+		/* SPI config */
+		reg = <0>;
+		spi-max-frequency = <3000000>;
+		spi-cpol;
+		spi-cpha;
+
+		/* Power supplies */
+		/* VADD 3.3V */
+		s2mpg15_ldo26-supply = <&s_ldo26_reg>;
+
+		/* MCLK Control*/
+		pinctrl-names = "default", "mclk_on", "mclk_off";
+		pinctrl-0 = <&ldaf_irq_off>;
+		pinctrl-1 = <&ldaf_irq>;
+		pinctrl-2 = <&ldaf_irq_off>;
+
+		/* XAOC_GPIO3: GPN3[0] */
+		irq-gpios = <&gpn3 0 GPIO_ACTIVE_LOW>;
+		irq-gpios-names = "tof-irq";
+		irq-gpios-events = <LWIS_PLATFORM_EVENT_ID_TOF_DATA_POLLING>;
+		/* IRQF_ONESHOT | IRQF_TRIGGER_FALLING */
+		irq-gpios-types = <0x2002>;
+
+		/* Power up sequence */
+		power-up-seqs =
+			"s2mpg15_ldo26",
+			"mclk_on";
+		power-up-seq-types =
+			"regulator",
+			"pinctrl";
+		power-up-seq-delays-us =
+			<1000
+			 0>;
+
+		/* Power down sequence */
+		power-down-seqs =
+			"mclk_off",
+			"s2mpg15_ldo26";
+		power-down-seq-types =
+			"pinctrl",
+			"regulator";
+		power-down-seq-delays-us =
+			<0
+			 1000>;
+
+		/* Thread priority */
+		/* A slower TOF bus speed leads to higher CPU usage. */
+		/* This is therefore made to be lower than image sensor's */
+		/* thread priority to allow uninterrupted image sensor */
+		/* operation during periods of high CPU contention. */
+		/* Other real-time threads are also prioritized over */
+		/* TOF as well. */
+		transaction-thread-priority = <100>;
+
+		controller-data {
+			samsung,spi-feedback-delay = <0>;
+			samsung,spi-chip-select-mode = <0>;
+			cs-clock-delay = <10>;
+		};
+	};
+};
+
+/ {
+	fragment@lwiscamera {
+		target-path = "/";
+		__overlay__ {
+			/* Power sequence for FRONT CAMERA combo */
+			front_camera_power_seq: module_power_seq@0 {
+				/* Power supplies will be defined on each module. */
+				/* Common supplies */
+				/* PP3200_BB_CAM pp3200_bb */
+				/* PP1350_CAM    pp1350 */
+				/* Sensor */
+				/* VDDIO         s2mpg15_ldo12 */
+				/* VDIG,VDDA     gpio1 */
+				/* RESET         reset */
+				/* MCLK_ON       mclk_on */
+				/* Actuator */
+				/* AF_VM         gpio2 */
+				power-up-seqs =
+					"pp3200_bb",
+					"pp1350",
+					"gpio1",
+					"s2mpg15_ldo12",
+					"gpio2",
+					"reset",
+					"mclk_on";
+				power-up-seq-types =
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"gpio",
+					"pinctrl";
+				power-up-seq-delays-us =
+					<0
+					 0
+					 0
+					 1000
+					 0
+					 0
+					 /* from MCLK to first i2c */
+					 5000>;
+
+				power-down-seqs =
+					"mclk_off",
+					"reset",
+					"gpio2",
+					"s2mpg15_ldo12",
+					"gpio1",
+					"pp1350",
+					"pp3200_bb";
+				power-down-seq-types =
+					"pinctrl",
+					"gpio",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator";
+				power-down-seq-delays-us =
+					<0
+					 1000
+					 0
+					 0
+					 0
+					 7000
+					 2000>;
+			};
+
+			/* Power sequence for REAR MAIN CAMERA combo */
+			rear_main_camera_power_seq: module_power_seq@1 {
+				/* Power supplies will be defined on each module. */
+				/* Common supplies */
+				/* PP3200_BB_CAM pp3200_bb */
+				/* PP1350_CAM    pp1350 */
+				/* Sensor */
+				/* VDDIO         s2mpg15_ldo12 */
+				/* VDIG          vdig_enable */
+				/* VDDA          ldo1 */
+				/* RESET         reset */
+				/* MCLK_ON       mclk_on */
+				/* OIS */
+				/* AVDD          ldo5 */
+				/* OIS_VM        ois_vm_enable */
+				/* Actuator */
+				/* AF_VM         ldo4 */
+				power-up-seqs =
+					"pp3200_bb",
+					"pp1350",
+					"ldo1",
+					"vdig_enable",
+					"s2mpg15_ldo12",
+					"ldo5",
+					"ldo4",
+					"reset",
+					"ois_vm_enable",
+					"mclk_on";
+				power-up-seq-types =
+					"regulator",
+					"regulator",
+					"regulator",
+					"gpio",
+					"regulator",
+					"regulator",
+					"regulator",
+					"gpio",
+					"gpio",
+					"pinctrl";
+				power-up-seq-delays-us =
+					<0
+					 0
+					 1000
+					 1000
+					 1000
+					 0
+					 0
+					 1000
+					 0
+					 9000>;
+
+				power-down-seqs =
+					"mclk_off",
+					"ois_vm_enable",
+					"reset",
+					"ldo4",
+					"ldo5",
+					"s2mpg15_ldo12",
+					"vdig_enable",
+					"ldo1",
+					"pp1350",
+					"pp3200_bb";
+
+				power-down-seq-types =
+					"pinctrl",
+					"gpio",
+					"gpio",
+					"regulator",
+					"regulator",
+					"regulator",
+					"gpio",
+					"regulator",
+					"regulator",
+					"regulator";
+				power-down-seq-delays-us =
+					<1000
+					 0
+					 1000
+					 0
+					 1000
+					 1000
+					 1000
+					 1000
+					 7000
+					 2000>;
+			};
+
+			/* Power sequence for REAR ULTRA WIDE combo */
+			rear_uw_camera_power_seq: module_power_seq@2 {
+				/* Power supplies will be defined on each module. */
+				/* Common supplies */
+				/* PP3200_BB_CAM pp3200_bb */
+				/* PP1350_CAM    pp1350 */
+				/* Sensor */
+				/* VDIG          ldo6 */
+				/* VANA          ldo2 */
+				/* VIO           s2mpg15_ldo12 */
+				/* MCLK_ON       mclk_on */
+				/* Actuator */
+				/* AF_VM         ldo4 */
+				power-up-seqs =
+					"pp3200_bb",
+					"pp1350",
+					"ldo6",
+					"ldo2",
+					"s2mpg15_ldo12",
+					"ldo4",
+					"mclk_on";
+				power-up-seq-types =
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"pinctrl";
+				power-up-seq-delays-us =
+					<0
+					 0
+					 0
+					 0
+					 1000
+					 0
+					 0>;
+
+				power-down-seqs =
+					"mclk_off",
+					"ldo4",
+					"s2mpg15_ldo12",
+					"ldo2",
+					"ldo6",
+					"pp1350",
+					"pp3200_bb";
+				power-down-seq-types =
+					"pinctrl",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator";
+				power-down-seq-delays-us =
+					<0
+					 1000
+					 0
+					 0
+					 0
+					 7000
+					 2000>;
+			};
+
+			/* Power sequence for REAR Folded Tele Camera combo */
+			rear_tele_camera_power_seq: module_power_seq@3 {
+				/* Power supplies will be defined on each module. */
+				/* Common supplies */
+				/* PP3200_BB_CAM     pp3200_bb */
+				/* PP1350_CAM        pp1350 */
+				/* Sensor */
+				/* VDIG              ldo7 */
+				/* VDDA              ldo3 */
+				/* VDDIO             s2mpg15_ldo12 */
+				/* MCLK_ON           mclk_on */
+				/* AFOIS */
+				/* AF_VM             gpio3 */
+				/* AFOIS_VANA        ldo5 */
+				/* RTCAM_AFOIS_RESET reset[1] */
+				power-up-seqs =
+					"pp3200_bb",
+					"pp1350",
+					"ldo7",
+					"ldo3",
+					"s2mpg15_ldo12",
+					"ldo5",
+					"gpio3",
+					"reset_afois",
+					"mclk_on";
+				power-up-seq-types =
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"gpio",
+					"pinctrl";
+				power-up-seq-delays-us =
+					<0
+					 0
+					 0
+					 0
+					 1000
+					 1000
+					 1000
+					 1000
+					 0>;
+
+				/* Power down sequence */
+				power-down-seqs =
+					"mclk_off",
+					"reset_afois",
+					"gpio3",
+					"ldo5",
+					"s2mpg15_ldo12",
+					"ldo3",
+					"ldo7",
+					"pp1350",
+					"pp3200_bb";
+				power-down-seq-types =
+					"pinctrl",
+					"gpio",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator";
+				power-down-seq-delays-us =
+					<0
+					 1000
+					 1000
+					 1000
+					 0
+					 0
+					 0
+					 7000
+					 2000>;
+			};
+
+			/* REAR CAMERA */
+			sensor0: sensor@0 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "sensor-boitata";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_5>;
+				i2c-addr = <0x3D>;
+
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <16>;
+
+				/* GPIOs */
+				/* RCAM_RST_L GPP10[2] */
+				reset-gpios = <&gpp10 2 GPIO_ACTIVE_HIGH>;
+				/* CAM_LVBUCK_EN, RCAM_OIS_VM_EN */
+				vdig_enable-gpios = <&s2mpg14_gpio 0 GPIO_ACTIVE_HIGH>;
+				ois_vm_enable-gpios = <&s2mpg14_gpio 1 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo1-supply = <&slg51002_ldo1>;
+				ldo5-supply = <&slg51002_ldo5>;
+				ldo4-supply = <&slg51002_ldo4>;
+
+				clocks =
+					<&clock CIS_CLK3>,
+					<&clock GATE_DFTMUX_CMU_CIS_CLK3>;
+				clock-names =
+					"CIS_CLK3",
+					"GATE_DFTMUX_CMU_CIS_CLK3";
+				clock-rates =
+					<26000000>,
+					<0>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk4_fn>;
+				pinctrl-1 = <&sensor_mclk4_out>;
+
+				/* Power sequence */
+				power-seq = <&rear_main_camera_power_seq>;
+
+				/* Thread priority */
+				transaction-thread-priority = <99>;
+
+				i2c-lock-group-id = <0>;
+				transaction-process-limit = <20>;
+			};
+
+			/* FRONT CAMERA */
+			sensor1: sensor@1 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "sensor-taotie-front";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_3>;
+				i2c-addr = <0x1A>;
+
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <8>;
+
+				/* GPIOs */
+				/* FCAM_RST_L GPP6[2] */
+				reset-gpios = <&gpp6 2 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				gpio1-supply = <&slg51002_gpio1>;
+				gpio2-supply = <&slg51002_gpio2>;
+
+				clocks =
+					<&clock CIS_CLK1>,
+					<&clock GATE_DFTMUX_CMU_CIS_CLK1>;
+				clock-names =
+					"CIS_CLK1",
+					"GATE_DFTMUX_CMU_CIS_CLK1";
+				clock-rates =
+					<24000000>,
+					<0>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk2_fn>;
+				pinctrl-1 = <&sensor_mclk2_out>;
+
+				/* Power sequence */
+				power-seq = <&front_camera_power_seq>;
+
+				/* Thread priority */
+				transaction-thread-priority = <99>;
+
+				i2c-lock-group-id = <3>;
+			};
+
+			/* REAR ULTRA WIDE CAMERA */
+			sensor2: sensor@2 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "sensor-taotie-uw";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_2>;
+				i2c-addr = <0x1A>;
+
+				/* Power up mode */
+				lwis,power-up-to-suspend;
+
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <8>;
+
+				/* GPIOs */
+				/* RUWCAM_RST_L GPP4[2] */
+				reset-gpios = <&gpp4 2 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo6-supply = <&slg51002_ldo6>;
+				ldo4-supply = <&slg51002_ldo4>;
+				ldo2-supply = <&slg51002_ldo2>;
+
+				clocks =
+					<&clock CIS_CLK0>,
+					<&clock GATE_DFTMUX_CMU_CIS_CLK0>;
+				clock-names =
+					"CIS_CLK0",
+					"GATE_DFTMUX_CMU_CIS_CLK0";
+				clock-rates =
+					<24000000>,
+					<0>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk1_fn>;
+				pinctrl-1 = <&sensor_mclk1_out>;
+
+				/* Power sequence */
+				power-seq = <&rear_uw_camera_power_seq>;
+
+				/* resume sequence */
+				resume-seqs = "reset";
+				resume-seq-types = "gpio";
+				/* from XCLR to first i2c */
+				resume-seq-delays-us = <5000>;
+
+				/* suspend sequence */
+				suspend-seqs = "reset";
+				suspend-seq-types = "gpio";
+				suspend-seq-delays-us = <0>;
+
+				/* Thread priority */
+				transaction-thread-priority = <99>;
+
+				i2c-lock-group-id = <2>;
+			};
+
+			/* REAR Folded Tele Camera */
+			sensor3: sensor@3 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "sensor-taotie-tele";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_1>;
+				i2c-addr = <0x33>;
+
+				/* Power up mode */
+				lwis,power-up-to-suspend;
+
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <8>;
+
+				/* GPIOs */
+				/* RTCAM_RST_L GPP2[2] */
+				/* RTCAM_AF_OIS_RST GPP24[2] */
+				reset-gpios = <&gpp2 2 GPIO_ACTIVE_HIGH>;
+				reset_afois-gpios = <&gpp24 2 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo7-supply = <&slg51002_ldo7>;
+				ldo3-supply = <&slg51002_ldo3>;
+				ldo5-supply = <&slg51002_ldo5>;
+				gpio3-supply = <&slg51002_gpio3>;
+
+				clocks =
+					<&clock CIS_CLK2>,
+					<&clock GATE_DFTMUX_CMU_CIS_CLK2>;
+				clock-names =
+					"CIS_CLK2",
+					"GATE_DFTMUX_CMU_CIS_CLK2";
+				clock-rates =
+					<24000000>,
+					<0>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk3_fn>;
+				pinctrl-1 = <&sensor_mclk3_out>;
+
+				/* Power sequence */
+				power-seq = <&rear_tele_camera_power_seq>;
+
+				/* resume sequence */
+				resume-seqs = "reset";
+				resume-seq-types = "gpio";
+				/* from XCLR to first i2c */
+				resume-seq-delays-us = <5000>;
+
+				/* suspend sequence */
+				suspend-seqs = "reset";
+				suspend-seq-types = "gpio";
+				suspend-seq-delays-us = <1000>;
+
+				/* Thread priority */
+				transaction-thread-priority = <99>;
+
+				i2c-lock-group-id = <3>;
+			};
+
+			/* EEPROM for REAR CAMERA */
+			eeprom0: eeprom@0 {
+				compatible = "google,lwis-i2c-device";
+				/* Device node name */
+				node-name = "eeprom-djinn";
+				/* I2C */
+				i2c-bus = <&hsi2c_5>;
+				i2c-addr = <0x24>;
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <32>;
+
+				/* GPIOs */
+				/* RCAM_RST_L GPP10[2] */
+				reset-gpios = <&gpp10 2 GPIO_ACTIVE_HIGH>;
+				/* CAM_LVBUCK_EN, RCAM_OIS_VM_EN */
+				vdig_enable-gpios = <&s2mpg14_gpio 0 GPIO_ACTIVE_HIGH>;
+				ois_vm_enable-gpios = <&s2mpg14_gpio 1 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo1-supply = <&slg51002_ldo1>;
+				ldo5-supply = <&slg51002_ldo5>;
+				ldo4-supply = <&slg51002_ldo4>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk4_fn>;
+				pinctrl-1 = <&sensor_mclk4_out>;
+
+				/* Power sequence */
+				power-seq = <&rear_main_camera_power_seq>;
+
+				i2c-lock-group-id = <0>;
+			};
+
+			/* EEPROM for REAR ULTRAWIDE CAMERA */
+			eeprom1: eeprom@1 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "eeprom-smaug-taotie-uw";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_2>;
+				i2c-addr = <0x50>;
+
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <8>;
+
+				/* GPIOs */
+				/* RUWCAM_RST_L GPP4[2] */
+				reset-gpios = <&gpp4 2 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo6-supply = <&slg51002_ldo6>;
+				ldo4-supply = <&slg51002_ldo4>;
+				ldo2-supply = <&slg51002_ldo2>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk1_fn>;
+				pinctrl-1 = <&sensor_mclk1_out>;
+
+				/* Power sequence */
+				power-seq = <&rear_uw_camera_power_seq>;
+
+				i2c-lock-group-id = <2>;
+			};
+
+			/* EEPROM for FRONT CAMERA */
+			eeprom2: eeprom@2 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "eeprom-smaug-taotie-front";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_3>;
+				i2c-addr = <0x51>;
+
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <8>;
+
+				/* GPIOs */
+				/* FCAM_RST_L GPP6[2] */
+				reset-gpios = <&gpp6 2 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				gpio1-supply = <&slg51002_gpio1>;
+				gpio2-supply = <&slg51002_gpio2>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk2_fn>;
+				pinctrl-1 = <&sensor_mclk2_out>;
+
+				/* Power sequence */
+				power-seq = <&front_camera_power_seq>;
+			};
+
+			/* EEPROM for Rear Folded Tele Camera */
+			eeprom3: eeprom@3 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "eeprom-humbaba";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_1>;
+				i2c-addr = <0x61>;
+
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <8>;
+
+				/* GPIOs */
+				/* RTCAM_RST_L GPP2[2] */
+				/* RTCAM_AF_OIS_RST GPP24[2] */
+				reset-gpios = <&gpp2 2 GPIO_ACTIVE_HIGH>;
+				reset_afois-gpios = <&gpp24 2 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo7-supply = <&slg51002_ldo7>;
+				ldo3-supply = <&slg51002_ldo3>;
+				ldo5-supply = <&slg51002_ldo5>;
+				gpio3-supply = <&slg51002_gpio3>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk3_fn>;
+				pinctrl-1 = <&sensor_mclk3_out>;
+
+				/* Power sequence */
+				power-seq = <&rear_tele_camera_power_seq>;
+
+				/* Thread priority */
+				transaction-thread-priority = <99>;
+
+				i2c-lock-group-id = <3>;
+			};
+
+			/* Actuator for REAR CAMERA */
+			actuator0: actuator@0 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "act-cornerfolk";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_5>;
+				i2c-addr = <0xC>;
+
+				/* Registers */
+				reg-addr-bitwidth = <8>;
+				reg-value-bitwidth = <8>;
+
+				/* GPIOs */
+				/* RCAM_RST_L GPP10[2] */
+				reset-gpios = <&gpp10 2 GPIO_ACTIVE_HIGH>;
+				/* CAM_LVBUCK_EN, RCAM_OIS_VM_EN */
+				vdig_enable-gpios = <&s2mpg14_gpio 0 GPIO_ACTIVE_HIGH>;
+				ois_vm_enable-gpios = <&s2mpg14_gpio 1 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo1-supply = <&slg51002_ldo1>;
+				ldo5-supply = <&slg51002_ldo5>;
+				ldo4-supply = <&slg51002_ldo4>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk4_fn>;
+				pinctrl-1 = <&sensor_mclk4_out>;
+
+				/* Power sequence */
+				power-seq = <&rear_main_camera_power_seq>;
+				/* Thread priority */
+				transaction-thread-priority = <99>;
+
+				i2c-lock-group-id = <0>;
+			};
+
+			/* Actuator for FRONT CAMERA */
+			actuator1: actuator@1 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "act-cornerfolk-taotie-front";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_3>;
+				i2c-addr = <0xC>;
+
+				/* Registers */
+				reg-addr-bitwidth = <8>;
+				reg-value-bitwidth = <8>;
+
+				/* GPIOs */
+				/* FCAM_RST_L GPP6[2] */
+				reset-gpios = <&gpp6 2 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				gpio1-supply = <&slg51002_gpio1>;
+				gpio2-supply = <&slg51002_gpio2>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk2_fn>;
+				pinctrl-1 = <&sensor_mclk2_out>;
+
+				/* Power sequence */
+				power-seq = <&front_camera_power_seq>;
+
+				/* Thread priority */
+				transaction-thread-priority = <99>;
+			};
+
+			/* Actuator for REAR ULTRAWIDE CAMERA */
+			actuator2: actuator@2 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "act-cornerfolk-taotie-uw";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_2>;
+				i2c-addr = <0xF>;
+
+				/* Registers */
+				reg-addr-bitwidth = <8>;
+				reg-value-bitwidth = <8>;
+
+				/* GPIOs */
+				/* RUWCAM_RST_L GPP4[2] */
+				reset-gpios = <&gpp4 2 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo6-supply = <&slg51002_ldo6>;
+				ldo4-supply = <&slg51002_ldo4>;
+				ldo2-supply = <&slg51002_ldo2>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk1_fn>;
+				pinctrl-1 = <&sensor_mclk1_out>;
+
+				/* Power sequence */
+				power-seq = <&rear_uw_camera_power_seq>;
+
+				/* Thread priority */
+				transaction-thread-priority = <99>;
+
+				i2c-lock-group-id = <2>;
+			};
+
+			/* OIS for REAR CAMERA */
+			ois0: ois@0 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "ois-djinn";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_5>;
+				i2c-addr = <0x24>;
+
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <32>;
+
+				/* GPIOs */
+				/* RCAM_RST_L GPP10[2] */
+				reset-gpios = <&gpp10 2 GPIO_ACTIVE_HIGH>;
+				/* CAM_LVBUCK_EN, RCAM_OIS_VM_EN */
+				vdig_enable-gpios = <&s2mpg14_gpio 0 GPIO_ACTIVE_HIGH>;
+				ois_vm_enable-gpios = <&s2mpg14_gpio 1 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo1-supply = <&slg51002_ldo1>;
+				ldo5-supply = <&slg51002_ldo5>;
+				ldo4-supply = <&slg51002_ldo4>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk4_fn>;
+				pinctrl-1 = <&sensor_mclk4_out>;
+
+				/* Power sequence */
+				power-seq = <&rear_main_camera_power_seq>;
+
+				/* Thread priority */
+				transaction-thread-priority = <99>;
+
+				i2c-lock-group-id = <0>;
+			};
+
+			/* OIS for Rear Folded Tele Camera */
+			ois1: ois@1  {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "ois-humbaba";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_1>;
+				i2c-addr = <0x61>;
+
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <8>;
+
+				/* GPIOs */
+				/* RTCAM_RST_L GPP2[2] */
+				/* RTCAM_AF_OIS_RST GPP24[2] */
+				reset-gpios = <&gpp2 2 GPIO_ACTIVE_HIGH>;
+				reset_afois-gpios = <&gpp24 2 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo7-supply = <&slg51002_ldo7>;
+				ldo3-supply = <&slg51002_ldo3>;
+				ldo5-supply = <&slg51002_ldo5>;
+				gpio3-supply = <&slg51002_gpio3>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk3_fn>;
+				pinctrl-1 = <&sensor_mclk3_out>;
+
+				/* Power sequence */
+				power-seq = <&rear_tele_camera_power_seq>;
+
+				/* Thread priority */
+				transaction-thread-priority = <99>;
+
+				i2c-lock-group-id = <3>;
+			};
+
+			flash0: flash@0 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "flash-lm3644";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_4>;
+				i2c-addr = <0x63>;
+
+				/* Registers */
+				reg-addr-bitwidth = <8>;
+				reg-value-bitwidth = <8>;
+
+				/* Power Management hibernation (deep sleep) */
+				/* 1 : enable, 0 : disable */
+				pm-hibernation = <0>;
+
+				/* GPIOs */
+				/* FLASH_EN GPP24[1] */
+				enable-gpios =
+					<&gpp24 1 GPIO_ACTIVE_HIGH>;
+			};
+		};
+	};
+};
diff --git a/dts/zuma-komodo-charging.dtsi b/dts/zuma-komodo-charging.dtsi
new file mode 100644
index 0000000..17969c3
--- /dev/null
+++ b/dts/zuma-komodo-charging.dtsi
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Charging device tree entries for the Caimito platform
+ *
+ * Copyright 2024 Google LLC
+ *
+ */
+
+&google_cpm {
+
+	google,dc_limit-vbatt_min = <3500000>;
+
+	// thermal budgets
+	google,mdis-thermal-mitigation =
+	<3710000 3571000 3443000 3297000 3162000 3040000 2918000 2810000 2703000
+	 2598000 2493000 2330000 2200000 2080000 1968000 1865000 1770000 1684000
+	 1595000 1506000 1444000 1382000 1351000 1320000 1273000 1225000>;
+	// PD+main-charger, WLC+main-charger
+	google,mdis-out0-limits =
+	<4000000 3860000 3720000 3580000 3440000 3300000 3160000 3020000 2880000
+	 2740000 2600000 2460000 2320000 2180000 2040000 1900000 1760000 1620000
+	 1480000 1340000 1200000 1060000 920000  780000  640000  500000
+	 1100000 1100000 1100000 1100000 1100000 1100000 1100000 1100000 1100000
+	 1100000 1100000 1100000 1050000 1000000 950000  900000  850000  800000
+	 750000  700000  650000  600000  550000  500000  450000  400000>;
+	// PPS_CP+pca94xx-mains, // WLC_CP+pca94xx-mains
+	google,mdis-out1-limits =
+	<7413000 7153000 6893000 6633000 6373000 6113000 5853000 5593000 5333000
+	 5073000 4813000 4553000 4293000 4033000 3773000 3513000 3253000 2993000
+	 2733000 2473000 2213000 1953000 1693000 1433000 1173000 1000000
+	 4800000 4600000 4400000 4200000 4000000 3800000 3600000 3400000 3200000
+	 3000000 2800000 2600000 2400000 2200000 2000000 1800000 1600000 1400000
+	 1200000 1000000 900000  800000  700000  600000  500000  400000>;
+};
diff --git a/dts/zuma-komodo-common.dtsi b/dts/zuma-komodo-common.dtsi
new file mode 100644
index 0000000..81e8bd3
--- /dev/null
+++ b/dts/zuma-komodo-common.dtsi
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+#include "zuma-caimito-uwb.dtsi"
+#include "zuma-komodo-battery.dtsi"
+#include "zuma-komodo-caiman-charging.dtsi"
+#include "zuma-komodo-caiman-usecases.dtsi"
+#include "zuma-komodo-wcharger.dtsi"
+#include "zuma-komodo-audio.dtsi"
+#include "zuma-komodo-pmic.dtsi"
+#include "zuma-komodo-camera.dtsi"
+#include "zuma-komodo-display.dtsi"
+#include "zuma-komodo-touch.dtsi"
+#include "zuma-komodo-charging.dtsi"
diff --git a/dts/zuma-komodo-connector.dtsi b/dts/zuma-komodo-connector.dtsi
new file mode 100644
index 0000000..3d72e6a
--- /dev/null
+++ b/dts/zuma-komodo-connector.dtsi
@@ -0,0 +1,58 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Display connector nodes for komodo-related boards.
+ *
+ * Copyright 2024 Google LLC
+ *
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+	fragment@display {
+		target-path = "/";
+		__overlay__ {
+			gs_connector: gs-drm-connector {
+				compatible = "google,drm_connector";
+				label = "gs-drm-connector";
+
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port {
+					/* input */
+					dsim0_connector_in: endpoint {
+						remote-endpoint = <&dsim0_connector_out>;
+					};
+				};
+
+				/* panels will go here */
+				google_gs_km4: panel@0 {
+					compatible = "google,gs-km4";
+					label = "google-km4";
+					channel = <0>;
+					touch = <&spitouch>;
+
+					/* reset, power */
+					reset-gpios = <&gpp0 0 GPIO_ACTIVE_HIGH>;
+					vci-supply = <&m_ldo14_reg>;
+					vddi-supply = <&s_bucka_reg>;
+					vddd-supply = <&disp_vddd>;
+					vddd-gpios = <&gpp21 5 GPIO_ACTIVE_HIGH>;
+
+					km4_test_node: panel-test@0 {
+						compatible = "google,gs-panel-common-test";
+					};
+				};
+				panel@1 {
+					compatible = "google,panel-gs-simple";
+					label = "samsung-emul";
+					channel = <0>;
+
+					/* reset, power */
+					reset-gpios = <&gpp0 0 GPIO_ACTIVE_HIGH>;
+				};
+			};
+		};
+	};
+};
diff --git a/dts/zuma-komodo-display.dtsi b/dts/zuma-komodo-display.dtsi
new file mode 100644
index 0000000..ec69b91
--- /dev/null
+++ b/dts/zuma-komodo-display.dtsi
@@ -0,0 +1,70 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Display nodes for komodo-related boards.
+ *
+ * Copyright 2023 Google LLC
+ *
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include "zuma-komodo-connector.dtsi"
+
+&dsim_modes {
+	dsim-modes {
+		1008x2244 {
+			mode-name = "1008x2244";
+			pmsk = <
+				0x1 0x6F 0x2 0x5400 /* p m s k */
+				>;
+			hs-clk = <1368>;
+			esc-clk = <20>;
+		};
+		1344x2992 {
+			mode-name = "1344x2992";
+			pmsk = <
+				0x1 0x6F 0x2 0x5400 /* p m s k */
+				>;
+			hs-clk = <1368>;
+			esc-clk = <20>;
+		};
+	};
+};
+
+&drmdsim0 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	ports {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		port@0 {
+			reg = <0>;
+			/* output */
+			dsim0_connector_out: endpoint {
+				remote-endpoint = <&dsim0_connector_in>;
+			};
+		};
+	};
+};
+
+&disp_vddd {
+	status = "okay";
+	gpio = <&gpp21 4 GPIO_ACTIVE_HIGH>;
+};
+
+&m_ldo14_reg {
+	regulator-min-microvolt = <3100000>;
+	regulator-max-microvolt = <3100000>;
+};
+
+&drmdecon0 {
+	bts_scen_name = "dpu_qurgent_default";
+	bts_scen_min_panel_width = <1344>;
+	bts_scen_min_panel_height = <2992>;
+	bts_scen_min_fps = <120>;
+	bts_scen_min_rt = <1930198>;
+	bts_scen_max_rt = <3494400>;
+	bts_scen_min_peak = <0>;
+	bts_scen_max_peak = <5553600>;
+	bts_scen_skip_with_video;
+};
diff --git a/dts/zuma-komodo-pmic.dtsi b/dts/zuma-komodo-pmic.dtsi
new file mode 100644
index 0000000..e44b8c7
--- /dev/null
+++ b/dts/zuma-komodo-pmic.dtsi
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo pmic device tree source
+ *
+ * Copyright 2023 Google LLC.
+ *
+ */
+&s_ldo16_reg {
+				regulator-initial-mode = <SEC_OPMODE_OFF>;
+				schematic-name = "L16S_UWB";
+				subsys-name = "UWB";
+};
+
+&s_ldo17_reg {
+				regulator-initial-mode = <SEC_OPMODE_OFF>;
+				schematic-name = "L17S_UWB";
+				subsys-name = "UWB";
+};
diff --git a/dts/zuma-komodo-proto-evt10-battery-data.dtsi b/dts/zuma-komodo-proto-evt10-battery-data.dtsi
new file mode 100644
index 0000000..ced78a1
--- /dev/null
+++ b/dts/zuma-komodo-proto-evt10-battery-data.dtsi
@@ -0,0 +1,121 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Battery device tree entries
+ *
+ * Copyright 2023 Google LLC
+ *
+ */
+
+max77779,config {
+
+	/* KM4_ATL_RC2_BC79_2mOhm_3501_1_071723_20231002.model.ini.txt, b/303120295#comment1 */
+	max77779,atl-1k {
+		max77779,batt-id-kohm = <1>;
+		max77779,model-version = <7>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+ 			0xa520 0xb6c0 0xb800 0xba50 0xbbc0 0xbd00 0xbea0 0xc020
+			0xc1c0 0xc360 0xc760 0xcaf0 0xce60 0xd1e0 0xd840 0xde30
+			0x0100 0x0c00 0x0d00 0x14f0 0x0ed0 0x1210 0x1430 0x0cb0
+			0x0cf0 0x06f0 0x07d0 0x06e0 0x06f0 0x06f0 0x06b0 0x06b0
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */	0xc1b0	/* nNVCfg0 */
+			/* 0x00B6 */	0x043c	/* RelaxCFG */
+			/* 0x009F */	0x2606	/* nLearnCFG */
+			/* 0x000C */	0x4207	/* Config */
+			/* 0x00AB */	0x0080	/* Config2 */
+			/* 0x00BC */	0x5f00	/* nFullSOCthr */
+			/* 0x00A9 */	0x07d6	/* nFullCAPRep */
+			/* 0x00B3 */	0x07d6	/* nDesignCap */
+			/* 0x0046 */	0x0C80	/* dPacc */
+			/* 0x00A5 */	0x07d6	/* nFullCAPNom */
+			/* 0x00C6 */	0xa55a	/* nV_empty */
+			/* 0x00A0 */	0x2f00	/* nQRTable00 */
+			/* 0x00A1 */	0x1700	/* nQRTable10 */
+			/* 0x00A2 */	0x0b00	/* nQRTable20 */
+			/* 0x00A3 */	0x0900	/* nQRTable30 */
+			/* 0x00A6 */	0x0560	/* nRCOMP0 */
+			/* 0x00A7 */	0x2202	/* nTempCo */
+			/* 0x009C */	0x0278	/* nIChgTerm */
+			/* 0x00B2 */	0x3850	/* nMiscCFG */
+			/* 0x009E */	0x0400	/* nModelCfg */
+			/* 0x00CA */	0xC8FF	/* nThermCfg */
+			/* 0x009D */	0xCEA4	/* nFilterCfg */
+		>;
+	};
+
+	/* KM4_COS_RC2_BC79_2mOhm_3502_2_071823_20231002.model.ini.txt, b/303120295#comment1 */
+	max77779,cos-2k {
+		max77779,batt-id-kohm = <2>;
+		max77779,model-version = <7>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+			0xa510 0xb6d0 0xb880 0xba30 0xbbe0 0xbdc0 0xbef0 0xc060
+			0xc400 0xc750 0xcaf0 0xce70 0xd1e0 0xd8c0 0xdaa0 0xde60
+			0x0120 0x0c20 0x0d30 0x1010 0x0f60 0x1240 0x11a0 0x0ce0
+			0x06d0 0x06f0 0x06d0 0x0740 0x06d0 0x09d0 0x0680 0x0680
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */	0xc1b0	/* nNVCfg0 */
+			/* 0x00B6 */	0x043c	/* RelaxCFG */
+			/* 0x009F */	0x2606	/* nLearnCFG */
+			/* 0x000C */	0x4207	/* Config */
+			/* 0x00AB */	0x0080	/* Config2 */
+			/* 0x00BC */	0x5f00	/* nFullSOCthr */
+			/* 0x00A9 */	0x07d6	/* nFullCAPRep */
+			/* 0x00B3 */	0x07d6	/* nDesignCap */
+			/* 0x0046 */	0x0C80	/* dPacc */
+			/* 0x00A5 */	0x07d6	/* nFullCAPNom */
+			/* 0x00C6 */	0xa55a	/* nV_empty */
+			/* 0x00A0 */	0x3400	/* nQRTable00 */
+			/* 0x00A1 */	0x1780	/* nQRTable10 */
+			/* 0x00A2 */	0x0900	/* nQRTable20 */
+			/* 0x00A3 */	0x0880	/* nQRTable30 */
+			/* 0x00A6 */	0x04e0	/* nRCOMP0 */
+			/* 0x00A7 */	0x1c02	/* nTempCo */
+			/* 0x009C */	0x0278	/* nIChgTerm */
+			/* 0x00B2 */	0x3850	/* nMiscCFG */
+			/* 0x009E */	0x0400	/* nModelCfg */
+			/* 0x00CA */	0xC8FF	/* nThermCfg */
+			/* 0x009D */	0xCEA4	/* nFilterCfg */
+		>;
+	};
+
+	/* KM4_LWN_RC2_BC79_2mOhm_3503_1_071723_20231002.model.ini.txt, b/303120295#comment1 */
+	max77779,lwn-4k {
+		max77779,batt-id-kohm = <4>;
+		max77779,model-version = <7>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+			0xa500 0xb760 0xb8c0 0xbaa0 0xbd30 0xbd90 0xbe30 0xbf20
+			0xbf60 0xc0c0 0xc280 0xc3e0 0xcac0 0xd050 0xd800 0xddc0
+			0x0130 0x1200 0x0d30 0x0e30 0x2b10 0x1020 0x1240 0x2220
+			0x0eb0 0x0ef0 0x05f0 0x07f0 0x06c0 0x06f0 0x0670 0x0670
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */	0xc1b0	/* nNVCfg0 */
+			/* 0x00B6 */	0x043c	/* RelaxCFG */
+			/* 0x009F */	0x2606	/* nLearnCFG */
+			/* 0x000C */	0x4207	/* Config */
+			/* 0x00AB */	0x0080	/* Config2 */
+			/* 0x00BC */	0x5f00	/* nFullSOCthr */
+			/* 0x00A9 */	0x07d6	/* nFullCAPRep */
+			/* 0x00B3 */	0x07d6	/* nDesignCap */
+			/* 0x0046 */	0x0C80	/* dPacc */
+			/* 0x00A5 */	0x07d6	/* nFullCAPNom */
+			/* 0x00C6 */	0xa55a	/* nV_empty */
+			/* 0x00A0 */	0x2f8e	/* nQRTable00 */
+			/* 0x00A1 */	0x1a00	/* nQRTable10 */
+			/* 0x00A2 */	0x0f00	/* nQRTable20 */
+			/* 0x00A3 */	0x0b00	/* nQRTable30 */
+			/* 0x00A6 */	0x0550	/* nRCOMP0 */
+			/* 0x00A7 */	0x1f02	/* nTempCo */
+			/* 0x009C */	0x0278	/* nIChgTerm */
+			/* 0x00B2 */	0x3850	/* nMiscCFG */
+			/* 0x009E */	0x0400	/* nModelCfg */
+			/* 0x00CA */	0xC8FF	/* nThermCfg */
+			/* 0x009D */	0xCEA4	/* nFilterCfg */
+		>;
+	};
+};
diff --git a/dts/zuma-komodo-proto1-broadcom-gnss-mag3.dts b/dts/zuma-komodo-proto1-broadcom-gnss-mag3.dts
new file mode 100644
index 0000000..79bfc9c
--- /dev/null
+++ b/dts/zuma-komodo-proto1-broadcom-gnss-mag3.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#define ESIM_NO_CHIP_ENABLE_PIN
+#include "zuma-caimito-common.dtsi"
+#include "zuma-komodo-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zuma-komodo-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40802>;
+	board_rev = <0x010002>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA KOMODO Proto 1.0 Broadcom GNSS and MAG3 board based on ZUMA";
+			compatible = "google,ZUMA KOMODO", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-komodo-proto1-broadcom-gnss.dts b/dts/zuma-komodo-proto1-broadcom-gnss.dts
new file mode 100644
index 0000000..e86f060
--- /dev/null
+++ b/dts/zuma-komodo-proto1-broadcom-gnss.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ESIM_NO_CHIP_ENABLE_PIN
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#include "zuma-caimito-common.dtsi"
+#include "zuma-komodo-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zuma-komodo-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40802>;
+	board_rev = <0x010001>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA KOMODO Proto 1.0 Broadcom GNSS board based on ZUMA";
+			compatible = "google,ZUMA KOMODO", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-komodo-proto1-samsung-gnss.dts b/dts/zuma-komodo-proto1-samsung-gnss.dts
new file mode 100644
index 0000000..93a0254
--- /dev/null
+++ b/dts/zuma-komodo-proto1-samsung-gnss.dts
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ESIM_NO_CHIP_ENABLE_PIN
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#include "zuma-caimito-common.dtsi"
+#include "zuma-komodo-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zuma-komodo-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40802>;
+	board_rev = <0x010000>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA KOMODO Proto 1.0 Samsung GNSS board based on ZUMA";
+			compatible = "google,ZUMA KOMODO", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-komodo-proto1_1-broadcom-gnss.dts b/dts/zuma-komodo-proto1_1-broadcom-gnss.dts
new file mode 100644
index 0000000..b6a6c86
--- /dev/null
+++ b/dts/zuma-komodo-proto1_1-broadcom-gnss.dts
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#include "zuma-caimito-common.dtsi"
+#include "zuma-komodo-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zuma-komodo-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40802>;
+	board_rev = <0x010101>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA KOMODO Proto 1.1 Broadcom GNSS board based on ZUMA";
+			compatible = "google,ZUMA KOMODO", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-komodo-proto1_1-samsung-gnss-mag3.dts b/dts/zuma-komodo-proto1_1-samsung-gnss-mag3.dts
new file mode 100644
index 0000000..b610889
--- /dev/null
+++ b/dts/zuma-komodo-proto1_1-samsung-gnss-mag3.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#include "zuma-caimito-common.dtsi"
+#include "zuma-komodo-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zuma-komodo-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40802>;
+	board_rev = <0x010102>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA KOMODO Proto 1.1 Samsung GNSS and MAG3 board based on ZUMA";
+			compatible = "google,ZUMA KOMODO", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-komodo-proto1_1-samsung-gnss.dts b/dts/zuma-komodo-proto1_1-samsung-gnss.dts
new file mode 100644
index 0000000..9dba32b
--- /dev/null
+++ b/dts/zuma-komodo-proto1_1-samsung-gnss.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#include "zuma-caimito-common.dtsi"
+#include "zuma-komodo-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zuma-komodo-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40802>;
+	board_rev = <0x010100>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA KOMODO Proto 1.1 Samsung GNSS board based on ZUMA";
+			compatible = "google,ZUMA KOMODO", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-komodo-touch.dtsi b/dts/zuma-komodo-touch.dtsi
new file mode 100644
index 0000000..9b7d337
--- /dev/null
+++ b/dts/zuma-komodo-touch.dtsi
@@ -0,0 +1,383 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Google Komodo touch device tree source
+ *
+ * Copyright 2023 Google LLC.
+ *
+ */
+
+&spitouch {
+	goog,touch_offload_id = /bits/ 8 <'k' 'm' '4' '0'>;
+	goog,display-resolution = /bits/ 16 <1344 2992>;
+	goog,channel-num = /bits/ 16 <17 38>;
+	goog,offload-caps-data-types = /bits/ 16 <0x1F>;
+	goog,offload-caps-scan-types = /bits/ 16 <0xC0>;
+	goog,offload-caps-context-channel-types = /bits/ 16 <0x0100>;
+	goog,offload-caps-coord-filter;
+	goog,lptw-tracking-area = <500 844 2045 2398>;
+
+	synaptics,pixels-per-mm = <19>;
+	synaptics,panel_map = <&google_gs_km4 0>;
+	synaptics,suffix-fw-name = "S3908TG";
+
+	synaptics,pt05_high = /bits/ 16 <
+540 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 540
+880 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 880
+880 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 880
+880 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 880
+880 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 880
+880 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 880
+880 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 880
+880 780 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 880
+670 670 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 880
+880 780 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 880
+880 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 880
+880 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 880
+880 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 880
+880 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 880
+880 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 880
+880 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 880
+540 780 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 820 600>;
+	synaptics,pt05_low = /bits/ 16 <
+80 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 80
+330 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 340
+330 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 340
+330 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 340
+330 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 340
+330 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 340
+330 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 340
+330 260 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 340
+130 130 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 340
+330 260 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 340
+330 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 340
+330 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 340
+330 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 340
+330 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 340
+330 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 340
+330 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 340
+80 280 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 130>;
+	synaptics,pt05_gap_x = /bits/ 16 <
+85 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 85 85
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 35
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+55 55 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+55 55 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 35
+85 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 85
+85 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 85 30>;
+	synaptics,pt05_gap_y = /bits/ 16 <
+85 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 85 85
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 35
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+55 55 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+55 55 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 30
+35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 35
+85 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 85
+85 35 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 35 85 30>;
+
+	synaptics,pt0a_high = /bits/ 16 <
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40
+40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40>;
+	synaptics,pt0a_low = /bits/ 16 <
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)
+(-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40) (-40)>;
+
+	synaptics,pt10_high = /bits/ 16 <
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
+45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45>;
+	synaptics,pt10_low = /bits/ 16 <
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>;
+	synaptics,pt10_gap_x = /bits/ 16 <
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20>;
+	synaptics,pt10_gap_y = /bits/ 16 <
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+35 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20>;
+
+	synaptics,pt11_high = /bits/ 16 <
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145>;
+	synaptics,pt11_low = /bits/ 16 <
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90>;
+
+	synaptics,pt12_high = <
+330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 330000 445000 445000 445000 445000 445000 445000 445000 445000 445000 445000 445000 445000 445000 445000 445000 445000 445000>;
+	synaptics,pt12_low = <
+220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 220000 305000 305000 305000 305000 305000 305000 305000 305000 305000 305000 305000 305000 305000 305000 305000 305000 305000>;
+
+	synaptics,pt16_high = /bits/ 16 <
+570 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 570
+900 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 900
+900 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 900
+900 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 900
+900 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 900
+900 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 900
+900 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 900
+900 820 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 900
+670 670 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 900
+900 820 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 900
+900 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 900
+900 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 900
+900 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 900
+900 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 900
+900 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 900
+900 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 900
+570 820 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 620>;
+	synaptics,pt16_low = /bits/ 16 <
+100 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 100
+370 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 370
+370 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 370
+370 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 370
+370 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 370
+370 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 370
+370 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 370
+370 310 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 370
+180 180 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 370
+370 310 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 370
+370 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 370
+370 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 370
+370 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 370
+370 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 370
+370 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 370
+370 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 370
+100 310 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 330 130>;
+
+	synaptics,pt_tag_moisture = /bits/ 16 <
+1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 0
+1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 0
+1000 1000 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 1000 1000 0
+1000 1000 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 1000 1000 0
+1000 1000 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 1000 1000 65 65 65 65 65 65 65 1000 1000 0
+1000 1000 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 1000 1000 65 65 65 65 65 65 65 1000 1000 0
+1000 1000 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 1000 1000 65 65 65 65 65 65 65 1000 1000 0
+1000 1000 65 65 65 65 65 65 65 65 65 65 65 1000 1000 65 65 65 65 65 65 65 65 65 65 65 1000 1000 65 65 65 65 65 65 65 1000 1000 0
+1000 1000 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 1000 1000 0
+1000 1000 65 65 65 65 65 65 65 65 65 65 65 1000 1000 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 1000 1000 0
+1000 1000 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 1000 1000 0
+1000 1000 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 1000 1000 0
+1000 1000 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 1000 1000 0
+1000 1000 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 1000 1000 0
+1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 0
+1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>;
+
+	/* ical limit */
+	synaptics,pt05_high_ical = /bits/ 16 <
+648 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 648
+1056 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 1056
+1056 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 1056
+1056 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 1056
+1056 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 1056
+1056 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 1056
+1056 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 1056
+1056 936 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 1056
+804 804 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 1056
+1056 936 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 1056
+1056 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 1056
+1056 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 1056
+1056 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 1056
+1056 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 1056
+1056 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 1056
+1056 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 1056
+648 936 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 984 720>;
+	synaptics,pt05_low_ical = /bits/ 16 <
+40 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 40
+165 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 170
+165 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 170
+165 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 170
+165 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 170
+165 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 170
+165 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 170
+165 130 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 170
+65 65 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 170
+165 130 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 170
+165 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 170
+165 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 170
+165 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 170
+165 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 170
+165 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 170
+165 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 170
+40 140 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 65>;
+	synaptics,pt05_gap_x_ical = /bits/ 16 <
+95 45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 95 95
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 45
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+65 65 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+65 65 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 45
+95 45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 95
+95 45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 95 40>;
+	synaptics,pt05_gap_y_ical = /bits/ 16 <
+95 45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 95 95
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 45
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+65 65 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+65 65 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 40
+45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 45
+95 45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 95
+95 45 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 45 95 40>;
+
+	synaptics,pt12_high_ical = <
+396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 396000 534000 534000 534000 534000 534000 534000 534000 534000 534000 534000 534000 534000 534000 534000 534000 534000 534000>;
+	synaptics,pt12_low_ical = <
+176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 176000 244000 244000 244000 244000 244000 244000 244000 244000 244000 244000 244000 244000 244000 244000 244000 244000 244000>;
+
+};
diff --git a/dts/zuma-komodo-wcharger.dtsi b/dts/zuma-komodo-wcharger.dtsi
new file mode 100644
index 0000000..50b6456
--- /dev/null
+++ b/dts/zuma-komodo-wcharger.dtsi
@@ -0,0 +1,39 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Wireless Charger config for RA9530.
+ * Intended to be included into the approriate I2C bus.
+ *
+ * Copyright 2023 Google LLC
+ */
+
+&ra9530 {
+	/* HPP */
+	google,hpp_neg_pwr = <23000>;
+	google,epp_neg_pwr = <13500>;
+	google,wait_prop_irq_ms = <6000>;
+	/* RTx */
+	google,wcin_inlim_en = <&max77779_gpio 0 GPIO_ACTIVE_HIGH>;
+	idt,has_rtx_gpio;
+	/* BPP ICL */
+	google,bpp_dcicl_default_ua = <600000>;
+	google,bpp_dcicl_lower_vout_ua = <750000>;
+	google,bpp_dcicl_ramp_ua = <700000>;
+	/* alignment aid */
+	google,alignment_scalar_low_current = <300>;
+	google,alignment_scalar_high_current = <100>;
+	google,alignment_offset_low_current = <125000>;
+	google,alignment_offset_high_current = <141000>;
+	google,alignment_current_threshold = <500>;
+
+	fod = [b1 05 78 38 a8 e8 94 18 9e e5 a4 c7 c9 16 80 19];
+	fod_lv = [97 24 65 5a bd c6 90 20 a0 ed a6 d2 c5 10 80 19];
+	fod_epp = [90 2f 8e 1c bb 80 8f 26 90 18 96 f5 a8 2b 80 19];
+	google,q_value = <78>;
+	google,rf_value = <105>;
+	google,hpp_fod_vol = /bits/ 32 <16500000 17500000 18500000 19500000>;
+	fod_hpp_0 = [7a 7e 77 7b aa 8a 96 f9 8d 35 98 dd a6 58 80 28];
+	fod_hpp_1 = [7f 7f 7b 7c ab 80 8a 59 92 12 96 dc a2 4b 80 28];
+	fod_hpp_2 = [88 7d 82 7c ae 88 8d 62 98 f3 97 e8 af 56 80 28];
+	fod_hpp_3 = [8e 7f 86 7c ab 9a 91 63 97 1e 93 42 a6 77 80 28];
+};
+
diff --git a/dts/zuma-komodo-wifi-4390a0.dtsi b/dts/zuma-komodo-wifi-4390a0.dtsi
new file mode 100644
index 0000000..34d600d
--- /dev/null
+++ b/dts/zuma-komodo-wifi-4390a0.dtsi
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+/* Overwrite wifi chip to 1 for devices using 4390a0 */
+&aoc {
+	wifi-chip = <1>;
+};
\ No newline at end of file
diff --git a/dts/zuma-ripcurrent-cp-s5400-sit.dtsi b/dts/zuma-ripcurrent-cp-s5400-sit.dtsi
new file mode 100644
index 0000000..af28714
--- /dev/null
+++ b/dts/zuma-ripcurrent-cp-s5400-sit.dtsi
@@ -0,0 +1,21 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Samsung CP interface device tree source
+ *
+ * Copyright (c) 2023 Samsung Electronics Co., Ltd.
+ *             http://www.samsung.com
+ */
+
+#include "zuma/zuma-board-cp-s5300-sit.dtsi"
+
+/ {
+	fragment@modemif {
+		target-path = "/";
+		__overlay__ {
+			cpif {
+				mif,name = "s5400";
+				pci_db_addr = <0x0>;
+			};
+		};
+	};
+};
diff --git a/dts/zuma-ripcurrent24-battery.dtsi b/dts/zuma-ripcurrent24-battery.dtsi
new file mode 100644
index 0000000..27618ac
--- /dev/null
+++ b/dts/zuma-ripcurrent24-battery.dtsi
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Battery device tree entries for Zuma24 with sapwood
+ *
+ * Copyright 2023 Google LLC
+ *
+ */
+
+&google_battery {
+	google,batt-id-1-atl {
+		google,batt-id = <1>;
+		/* simulate 1.5C charge: 3270 x 1.5 ~ 4905 (R4) */
+		google,chg-battery-capacity = <3270>;
+		google,chg-cv-limits = <4200000 4300000 4350000 4450000>;
+	};
+
+	google,batt-id-A {
+		google,batt-id = <10>;
+		google,chg-battery-capacity = <5138>;
+		google,chg-cv-limits = <4200000 4300000 4350000 4480000>;
+		google,pullback-current;
+	};
+
+	google,batt-fake {
+		google,batt-id = <255>;
+		google,chg-battery-capacity = <5138>;
+		google,chg-cv-limits = <4200000 4300000 4350000 4480000>;
+		google,pullback-current;
+	};
+};
diff --git a/dts/zuma-ripcurrent24-sapwood-caimito-battery.dtsi b/dts/zuma-ripcurrent24-sapwood-caimito-battery.dtsi
new file mode 100644
index 0000000..e490e96
--- /dev/null
+++ b/dts/zuma-ripcurrent24-sapwood-caimito-battery.dtsi
@@ -0,0 +1,57 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Battery device tree entries for Zuma24 with sapwood
+ *
+ * Copyright 2023 Google LLC
+ *
+ */
+
+#include "zuma-ripcurrent24-battery.dtsi"
+#include "zuma/zuma-max777xx_fwupdate.dtsi"
+
+&google_battery {
+	google,fg-psy-name = "max77779fg";
+ };
+
+&max77729_pmic {
+	status = "disabled";
+};
+
+&max77759_fg {
+	status = "disabled";
+};
+
+&max77759_chg {
+	status = "disabled";
+};
+
+&max77779_fg {
+	status = "okay";
+};
+
+&max77779_chg {
+	status = "okay";
+};
+
+&max77779_sp {
+	status = "okay";
+};
+
+&max77779_pmic {
+	status = "okay";
+};
+
+&max77779_fg {
+	maxim,fg-data {
+		#include "zuma-komodo-battery-data.dtsi"
+		#include "zuma/zuma-1p5c-battery-data.dtsi"
+	};
+};
+
+&max77779_vimon {
+	status = "okay";
+};
+
+&max77779_fwupdate {
+	status = "okay";
+};
diff --git a/dts/zuma-ripcurrent24-sapwood-caimito-charging.dtsi b/dts/zuma-ripcurrent24-sapwood-caimito-charging.dtsi
new file mode 100644
index 0000000..0961d82
--- /dev/null
+++ b/dts/zuma-ripcurrent24-sapwood-caimito-charging.dtsi
@@ -0,0 +1,52 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Charging device tree entries specific to the Sapwood Caimito platform
+ *
+ * Copyright 2022 Google LLC
+ *
+ */
+
+#include "zuma/zuma-charging.dtsi"
+
+&hsi2c_9 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	status = "okay";
+	clock-frequency = <400000>;
+
+	#include "zuma/zuma-charge-pump-ln8411.dtsi"
+	#include "zuma/zuma-charge-pump-pca9468.dtsi"
+};
+
+&google_charger {
+   google,thermal-stats-lvl-map = <0 8 16 25>;
+};
+
+&google_cpm {
+	google,cop-supported;
+
+	// thermal budgets
+	google,mdis-thermal-mitigation =
+	<3710000 3571000 3443000 3297000 3162000 3040000 2918000 2810000 2703000
+	 2598000 2493000 2330000 2200000 2080000 1968000 1865000 1770000 1684000
+	 1595000 1506000 1444000 1382000 1351000 1320000 1273000 1225000>;
+	// PD+main-charger, WLC+main-charger
+	google,mdis-out0-limits =
+	<4000000 3860000 3720000 3580000 3440000 3300000 3160000 3020000 2880000
+	 2740000 2600000 2460000 2320000 2180000 2040000 1900000 1760000 1620000
+	 1480000 1340000 1200000 1060000 920000  780000  640000  500000
+	 1100000 1100000 1100000 1100000 1100000 1100000 1100000 1100000 1100000
+	 1100000 1100000 1100000 1050000 1000000 950000  900000  850000  800000
+	 750000  700000  650000  600000  550000  500000  450000  400000>;
+	// PPS_CP+pca94xx-mains, // WLC_CP+pca94xx-mains
+	google,mdis-out1-limits =
+	<6000000 5800000 5600000 5400000 5200000 5000000 4800000 4600000 4400000
+	 4200000 4000000 3800000 3600000 3400000 3200000 3000000 2800000 2600000
+	 2400000 2200000 2000000 1800000 1600000 1400000 1200000 1000000
+	 4800000 4600000 4400000 4200000 4000000 3800000 3600000 3400000 3200000
+	 3000000 2800000 2600000 2400000 2200000 2000000 1800000 1600000 1400000
+	 1200000 1000000 900000  800000  700000  600000  500000  400000>;
+
+	interrupt-parent = <&max77779_chg>;
+	interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
+};
diff --git a/dts/zuma-ripcurrent24-sapwood-caimito-common.dtsi b/dts/zuma-ripcurrent24-sapwood-caimito-common.dtsi
new file mode 100644
index 0000000..b7c8444
--- /dev/null
+++ b/dts/zuma-ripcurrent24-sapwood-caimito-common.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Zuma24 with Sapwood board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+#include "zuma-24-common.dtsi"
+#include "zuma-ripcurrent24-sapwood-caimito-battery.dtsi"
+#include "zuma-caimito-bcl.dtsi"
+#include "zuma-ripcurrent24-sapwood-caimito-charging.dtsi"
+#include "zuma-ripcurrent24-sapwood-caimito-typec.dtsi"
+#include "zuma-ripcurrent24-sapwood-wcharger.dtsi"
+#include "zuma-caimito-usecases-evt.dtsi"
diff --git a/dts/zuma-ripcurrent24-sapwood-caimito-typec.dtsi b/dts/zuma-ripcurrent24-sapwood-caimito-typec.dtsi
new file mode 100644
index 0000000..3d9eef9
--- /dev/null
+++ b/dts/zuma-ripcurrent24-sapwood-caimito-typec.dtsi
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Ripcurrent24 with Sapwood Type-c device tree
+ *
+ * Copyright (c) 2022 Google, LLC
+ *
+*/
+&max77759tcpc {
+	connector {
+		sink-pdos = <PDO_FIXED(5000, 3000,
+				       PDO_FIXED_DATA_SWAP |
+				       PDO_FIXED_USB_COMM |
+				       PDO_FIXED_HIGHER_CAP |
+				       PDO_FIXED_DUAL_ROLE)
+			     PDO_FIXED(9000, 2200, 0)
+			     PDO_PPS_APDO(5000, 21000, 3000)>;
+	};
+};
diff --git a/dts/zuma-ripcurrent24-sapwood-komodo-caiman-charging.dtsi b/dts/zuma-ripcurrent24-sapwood-komodo-caiman-charging.dtsi
new file mode 100644
index 0000000..18621f6
--- /dev/null
+++ b/dts/zuma-ripcurrent24-sapwood-komodo-caiman-charging.dtsi
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Charging device tree entries specific to Sapwood Komodo/Caiman devices
+ *
+ * Copyright 2022 Google LLC
+ *
+ */
+
+ &ln8411_dc {
+	status = "okay";
+ };
diff --git a/dts/zuma-ripcurrent24-sapwood-komodo-caiman-common.dtsi b/dts/zuma-ripcurrent24-sapwood-komodo-caiman-common.dtsi
new file mode 100644
index 0000000..f1b6220
--- /dev/null
+++ b/dts/zuma-ripcurrent24-sapwood-komodo-caiman-common.dtsi
@@ -0,0 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Sapwood Komodo/Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+#include "zuma-ripcurrent24-sapwood-komodo-caiman-charging.dtsi"
+#include "zuma-komodo-caiman-usecases.dtsi"
diff --git a/dts/zuma-ripcurrent24-sapwood-komodo-caiman.dts b/dts/zuma-ripcurrent24-sapwood-komodo-caiman.dts
new file mode 100644
index 0000000..303c942
--- /dev/null
+++ b/dts/zuma-ripcurrent24-sapwood-komodo-caiman.dts
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo Sapwood board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zuma-ripcurrent24-sapwood-caimito-common.dtsi"
+#include "zumapro/zumapro-board-gps.dtsi"
+#include "zuma/zuma-ripcurrent24-ultrasonic-udfps.dtsi"
+#include "zuma-ripcurrent24-sapwood-komodo-caiman-common.dtsi"
+#include "zuma-komodo-wcharger.dtsi"
+
+/ {
+	board_id = <0x40701>;
+	board_rev = <0x010001>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA Ripcurrent24 Sapwood KOMODO/CAIMAN configuration board based on ZUMA";
+			compatible = "google,ZUMA Ripcurrent24 Sapwood KOMODO/CAIMAN", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-ripcurrent24-sapwood-tokay-charging.dtsi b/dts/zuma-ripcurrent24-sapwood-tokay-charging.dtsi
new file mode 100644
index 0000000..94d35cf
--- /dev/null
+++ b/dts/zuma-ripcurrent24-sapwood-tokay-charging.dtsi
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Charging device tree entries specific to Sapwood Tokay devices
+ *
+ * Copyright 2022 Google LLC
+ *
+ */
+
+&pinctrl_0 {
+	dc_charger_irq: dc-charger-irq {
+		samsung,pins = "gpa7-4"; /* XEINT_18 (PLC_INT_L) */
+		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
+	};
+};
+
+&pca9468_dc {
+	status = "okay";
+	pinctrl-0 = <&dc_charger_irq>;
+
+	interrupt-parent = <&gpa7>;
+	pca9468,irq-gpio = <&gpa7 4 GPIO_ACTIVE_LOW>; /* PLC_INT_L */
+
+	pca9468,input-current-limit = <2700000>; /* 5.4A max */
+};
diff --git a/dts/zuma-ripcurrent24-sapwood-tokay.dts b/dts/zuma-ripcurrent24-sapwood-tokay.dts
new file mode 100644
index 0000000..f0c399c
--- /dev/null
+++ b/dts/zuma-ripcurrent24-sapwood-tokay.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo Sapwood board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zuma-ripcurrent24-sapwood-caimito-common.dtsi"
+#include "zuma-ripcurrent24-sapwood-tokay-charging.dtsi"
+#include "zumapro/zumapro-board-gps.dtsi"
+#include "zuma/zuma-ripcurrent24-ultrasonic-udfps.dtsi"
+#include "zuma-tokay-wcharger.dtsi"
+#include "zuma-tokay-usecases.dtsi"
+
+/ {
+	board_id = <0x40701>;
+	board_rev = <0x010002>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA Ripcurrent24 Sapwood TOKAY configuration board based on ZUMA";
+			compatible = "google,ZUMA Ripcurrent24 Sapwood TOKAY", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-ripcurrent24-sapwood-wcharger.dtsi b/dts/zuma-ripcurrent24-sapwood-wcharger.dtsi
new file mode 100644
index 0000000..308d4f5
--- /dev/null
+++ b/dts/zuma-ripcurrent24-sapwood-wcharger.dtsi
@@ -0,0 +1,60 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Wireless Charger device tree entries.
+ *
+ * Copyright 2022 Google LLC
+ */
+
+#include <arm64/exynos/exynos-pinctrl.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+	fragment@wlc {
+		target-path = "/";
+		__overlay__ {
+			google,charger {
+				google,wlc-power-supply = "wireless";
+			};
+		};
+	};
+};
+
+&pinctrl_0 {
+	/* XIENT_23 P9412 Wireless Charger Interrupt */
+	wc_irq: wc_irq {
+		samsung,pins = "gpa8-1"; /* QI_INT_R */
+		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
+		samsung,pin-drv = <ZUMA_PIN_DRV_X1>;
+	};
+};
+
+&pinctrl_8 {
+	/* XHSI1_GPIO6 P9412 Wireless Charger Enable */
+	wc_en: wc_en {
+		samsung,pins = "gph1-4"; /* QI_EN_L */
+		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>;
+		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
+	};
+};
+
+&hsi2c_9 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	#include "zuma/zuma-wcharger-ra9530.dtsi"
+};
+
+&ra9530 {
+	status = "okay";
+	pinctrl-0 = <&wc_irq &wc_en>;
+
+	idt,gpio_wlc_en = <&gph1 4 GPIO_ACTIVE_LOW>;
+	idt,gpio_qien = <&gph1 4 GPIO_ACTIVE_LOW>;
+	idt,irq_gpio = <&gpa8 1 GPIO_ACTIVE_LOW>;
+
+	idt,ramp-disable;
+};
+
diff --git a/dts/zuma-ripcurrent24.dts b/dts/zuma-ripcurrent24.dts
new file mode 100644
index 0000000..785af92
--- /dev/null
+++ b/dts/zuma-ripcurrent24.dts
@@ -0,0 +1,32 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Ripcurrent24 board device tree source
+ *
+ * Copyright 2022 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zuma-24-common.dtsi"
+#include "zumapro/zumapro-board-ignss.dtsi"
+#include "zuma/zuma-ripcurrent24-ultrasonic-udfps.dtsi"
+#include "zuma-ripcurrent24-battery.dtsi"
+#include "zuma/zuma-board-bcl.dtsi"
+#include "zuma/zuma-ripcurrent-charging.dtsi"
+#include "zuma/zuma-ripcurrent-usecases.dtsi"
+#include "zuma/zuma-ripcurrent24-display.dtsi"
+#include "zuma/zuma-ripcurrent-wcharger.dtsi"
+#include "zuma/zuma-ripcurrent-typec.dtsi"
+
+/ {
+	board_id = <0x40701>;
+	board_rev = <0x010000>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA Ripcurrent24 board based on ZUMA";
+			compatible = "google,ZUMA Ripcurrent24", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-tokay-4_5V-battery.dtsi b/dts/zuma-tokay-4_5V-battery.dtsi
new file mode 100644
index 0000000..047c1f7
--- /dev/null
+++ b/dts/zuma-tokay-4_5V-battery.dtsi
@@ -0,0 +1,42 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Battery device tree entries specific to caiman-tokay
+ *
+ * Copyright 2024 Google,LLC
+ *
+ */
+
+/* for caiman/tokay DVT+ */
+&google_battery {
+	google,chg-battery-capacity = <4558>;
+	google,chg-cv-limits = <4200000 4300000 4350000 4500000>;
+
+	google,aact-cv-limits = <4200000 4300000 4350000 4500000>;
+	google,aact-temp-limits = <0 100 200 420 460 480 550>;
+	google,chg-aact-ecc = <0 300 1000>;
+	google,aact-cc-limits = <
+		 50   30    0    0
+		 70   30   30   30
+		120  120  120   50
+		100  100  100   50
+		 50   50    0    0
+		 30    0    0    0
+		 50   30    0    0
+		 70   30   30   30
+		110  110  110   50
+		100  100  100   50
+		 50   50    0    0
+		 30    0    0    0
+		 50   30    0    0
+		 70   30   30   30
+		100  100  100   50
+		100  100  100   50
+		 50   50    0    0
+		 30    0    0    0
+	>;
+
+	google_debug_chg_profile {
+		google,chg-battery-capacity = <4458>;
+		google,chg-cv-limits = <4200000 4300000 4350000 4480000>;
+	};
+};
diff --git a/dts/zuma-tokay-audio.dtsi b/dts/zuma-tokay-audio.dtsi
new file mode 100644
index 0000000..3542c2d
--- /dev/null
+++ b/dts/zuma-tokay-audio.dtsi
@@ -0,0 +1,14 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * tokay audio device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+&aoc {
+	aoc-board-cfg = "TK4";
+	aoc-board-id = <0x40a02>;
+	aoc-board-rev = <0x10000>;
+	prevent-fw-load = <0x0>;
+};
+
diff --git a/dts/zuma-tokay-battery-data.dtsi b/dts/zuma-tokay-battery-data.dtsi
new file mode 100644
index 0000000..57d0931
--- /dev/null
+++ b/dts/zuma-tokay-battery-data.dtsi
@@ -0,0 +1,286 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Battery device tree entries
+ *
+ * Copyright 2023 Google LLC
+ *
+ */
+
+max77779,config {
+
+	/* BC79_2mOhm_3347(4.48v)_ATL_RC2_ver3.ini, b/315443531#comment1 */
+	max77779,atl-1k {
+		max77779,batt-id-kohm = <1>;
+		max77779,model-version = <8>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+                        0xa510 0xb790 0xb8b0 0xbaa0 0xbc90 0xbd80 0xbe70 0xbf80
+                        0xc1f0 0xc710 0xc9c0 0xce70 0xd220 0xd570 0xd8c0 0xdde0
+                        0x0150 0x1390 0x0d00 0x1120 0x15c0 0x1600 0x1400 0x0f40
+                        0x0780 0x08f0 0x06f0 0x06d0 0x05f0 0x07f0 0x0580 0x0580
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */	0xc1b0	/* nNVCfg0 */
+			/* 0x00B6 */	0x043c	/* RelaxCFG */
+			/* 0x009F */	0x260e	/* nLearnCFG */
+			/* 0x000C */	0x4207	/* Config */
+			/* 0x00AB */	0x0080	/* Config2 */
+			/* 0x00BC */	0x5f00	/* nFullSOCthr */
+			/* 0x00A9 */	0x0700	/* nFullCAPRep */
+			/* 0x00B3 */	0x0700	/* nDesignCap */
+			/* 0x0046 */	0x0C80	/* dPacc */
+			/* 0x00A5 */	0x0700	/* nFullCAPNom */
+			/* 0x00C6 */	0xa55a	/* nV_empty */
+			/* 0x00A0 */	0x3c00	/* nQRTable00 */
+			/* 0x00A1 */	0x1c80	/* nQRTable10 */
+			/* 0x00A2 */	0x0d00	/* nQRTable20 */
+			/* 0x00A3 */	0x0a00	/* nQRTable30 */
+			/* 0x00A6 */	0x05c0	/* nRCOMP0 */
+			/* 0x00A7 */	0x1a02	/* nTempCo */
+			/* 0x009C */	0x023e	/* nIChgTerm */
+			/* 0x00B2 */	0x3870	/* nMiscCFG */
+			/* 0x009E */	0x0400	/* nModelCfg */
+			/* 0x00CA */	0xC8FF	/* nThermCfg */
+			/* 0x009D */	0xCEA4	/* nFilterCfg */
+		>;
+		max77779,fg-aafv = /bits/ 32 <
+			200     0   95  0xff
+			400    20   90  0xff
+			600    40   85  0xff
+			800    60   80  0xff
+			1000   80   75  0xff
+			2000  100   70  0xff
+		>;
+	};
+
+	/* BC79_2mOhm_3348(4.48v)_COS_RC2_ver3.ini, b/315443531#comment1 */
+	max77779,cos-2k {
+		max77779,batt-id-kohm = <2>;
+		max77779,model-version = <8>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+                        0xa510 0xb730 0xb880 0xba20 0xbb40 0xbec0 0xc020 0xc1c0
+                        0xc460 0xc7b0 0xcc10 0xd160 0xd4f0 0xd860 0xdb00 0xde90
+                        0x0130 0x1110 0x0e00 0x0cd0 0x1010 0x1300 0x0d80 0x0b80
+                        0x0730 0x06c0 0x06f0 0x06a0 0x06f0 0x07e0 0x0700 0x0700
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */	0xc1b0	/* nNVCfg0 */
+			/* 0x00B6 */	0x043c	/* RelaxCFG */
+			/* 0x009F */	0x260e	/* nLearnCFG */
+			/* 0x000C */	0x4207	/* Config */
+			/* 0x00AB */	0x0080	/* Config2 */
+			/* 0x00BC */	0x5f00	/* nFullSOCthr */
+			/* 0x00A9 */	0x0700	/* nFullCAPRep */
+			/* 0x00B3 */	0x0700	/* nDesignCap */
+			/* 0x0046 */	0x0C80	/* dPacc */
+			/* 0x00A5 */	0x0700	/* nFullCAPNom */
+			/* 0x00C6 */	0xa55a	/* nV_empty */
+			/* 0x00A0 */	0x2900	/* nQRTable00 */
+			/* 0x00A1 */	0x1480	/* nQRTable10 */
+			/* 0x00A2 */	0x0a00	/* nQRTable20 */
+			/* 0x00A3 */	0x0780	/* nQRTable30 */
+			/* 0x00A6 */	0x04e0	/* nRCOMP0 */
+			/* 0x00A7 */	0x1e02	/* nTempCo */
+			/* 0x009C */	0x023e	/* nIChgTerm */
+			/* 0x00B2 */	0x3870	/* nMiscCFG */
+			/* 0x009E */	0x0400	/* nModelCfg */
+			/* 0x00CA */	0xC8FF	/* nThermCfg */
+			/* 0x009D */	0xCEA4	/* nFilterCfg */
+		>;
+		max77779,fg-aafv = /bits/ 32 <
+			200     0   95  0xff
+			400    20   90  0xff
+			600    40   85  0xff
+			800    60   80  0xff
+			1000   80   75  0xff
+			2000  100   70  0xff
+		>;
+	};
+
+	/* BC79_2mOhm_3348(4.48v)_LWN_RC2_ver3.ini, b/315443531#comment1 */
+	max77779,lwn-4k {
+		max77779,batt-id-kohm = <4>;
+		max77779,model-version = <9>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+                        0xa470 0xb760 0xb980 0xbc00 0xbde0 0xbef0 0xc060 0xc220
+                        0xc450 0xc7a0 0xca50 0xcd10 0xd0b0 0xd450 0xd830 0xde70
+                        0x0170 0x0f30 0x0d10 0x1500 0x0f40 0x1200 0x0d40 0x0af0
+                        0x05f0 0x06d0 0x07b0 0x06f0 0x05f0 0x07b0 0x06c0 0x06c0
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */	0xc1b0	/* nNVCfg0 */
+			/* 0x00B6 */	0x043c	/* RelaxCFG */
+			/* 0x009F */	0x260e	/* nLearnCFG */
+			/* 0x000C */	0x4207	/* Config */
+			/* 0x00AB */	0x0080	/* Config2 */
+			/* 0x00BC */	0x5f00	/* nFullSOCthr */
+			/* 0x00A9 */	0x0700	/* nFullCAPRep */
+			/* 0x00B3 */	0x0700	/* nDesignCap */
+			/* 0x0046 */	0x0C80	/* dPacc */
+			/* 0x00A5 */	0x0700	/* nFullCAPNom */
+			/* 0x00C6 */	0xa55a	/* nV_empty */
+			/* 0x00A0 */	0x3b00	/* nQRTable00 */
+			/* 0x00A1 */	0x1b00	/* nQRTable10 */
+			/* 0x00A2 */	0x0b00	/* nQRTable20 */
+			/* 0x00A3 */	0x0900	/* nQRTable30 */
+			/* 0x00A6 */	0x05b0	/* nRCOMP0 */
+			/* 0x00A7 */	0x1a02	/* nTempCo */
+			/* 0x009C */	0x023e	/* nIChgTerm */
+			/* 0x00B2 */	0x3870	/* nMiscCFG */
+			/* 0x009E */	0x0400	/* nModelCfg */
+			/* 0x00CA */	0xC8FF	/* nThermCfg */
+			/* 0x009D */	0xCEA4	/* nFilterCfg */
+		>;
+		max77779,fg-aafv = /bits/ 32 <
+			200     0   95  0xff
+			400    20   90  0xff
+			600    40   85  0xff
+			800    60   80  0xff
+			1000   80   75  0xff
+			2000  100   70  0xff
+		>;
+	};
+
+	/* 3649_1_022924_ss.019.ini.txt.overlay, b/349862240#comment6 */
+	max77779,atl-1k-4500mv {
+		max77779,batt-id-kohm = <17>;
+		max77779,model-version = <7>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+			0x9810 0xad30 0xb770 0xb8a0 0xba30 0xbde0 0xbf00 0xc030
+			0xc1b0 0xc4d0 0xc7f0 0xcc70 0xcf80 0xd390 0xd6c0 0xdf10
+			0x0060 0x0150 0x1640 0x0b40 0x0a50 0x2930 0x1290 0x0f80
+			0x07d0 0x07b0 0x07f0 0x05b0 0x06e0 0x0790 0x05b0 0x05b0
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */    0xc1b0  /* nnvcfg0 */
+			/* 0x00B6 */    0x083b  /* nrelaxcfg */
+			/* 0x009F */    0x660e  /* nLearnCFG */
+			/* 0x000C */    0x4207  /* Config */
+			/* 0x00AB */    0x0081  /* Config2 */
+			/* 0x00BC */    0x5f00  /* nFullSOCThr */
+			/* 0x00A9 */    0x0780  /* nfullcaprep */
+			/* 0x00B3 */    0x0780  /* ndesigncap */
+			/* 0x0046 */    0x0c80  /* dPacc */
+			/* 0x00A5 */    0x0780  /* nfullcapnom */
+			/* 0x00C6 */    0xa55a  /* nVEmpty */
+			/* 0x00A0 */    0x3584  /* nQRTable00 */
+			/* 0x00A1 */    0x1e06  /* nQRTable10 */
+			/* 0x00A2 */    0x0804  /* nQRTable20 */
+			/* 0x00A3 */    0x0685  /* nQRTable30 */
+			/* 0x00A6 */    0x0600  /* nRCOMP0 */
+			/* 0x00A7 */    0x2103  /* nTempCo */
+			/* 0x009C */    0x0247  /* nichgterm */
+			/* 0x00B2 */    0x3870  /* nmisccfg */
+			/* 0x009E */    0x0400  /* nModelCfg */
+			/* 0x00CA */    0xc8ff  /* nThermCfg */
+			/* 0x009D */    0xcea4  /* nFilterCfg */
+		>;
+		max77779,fg-aafv = /bits/ 32 <
+			200     0   95  0xff
+			400    20   90  0xff
+			600    40   85  0xff
+			800    60   80  0xff
+			1000   80   75  0xff
+			2000  100   70  0xff
+		>;
+		max77779,fg_n_regval = /bits/ 16 <
+			0xB7 0x2341    /* nConvgCfg */
+		>;
+	};
+
+	/* BC79_2mOhm_3525(4.5V)_COS_RC2_Ver3.txt, b/332385584#comment3 */
+	max77779,cos-2k-4500mv {
+		max77779,batt-id-kohm = <18>;
+		max77779,model-version = <6>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+                        0xa4f0 0xb720 0xb8b0 0xba40 0xbd00 0xbe60 0xbfa0 0xc120
+                        0xc2e0 0xc650 0xc9c0 0xcd50 0xd100 0xd800 0xdb00 0xdf20
+                        0x0130 0x0f00 0x0d00 0x1000 0x1460 0x1300 0x0e40 0x0e90
+                        0x06e0 0x06f0 0x07b0 0x05f0 0x06c0 0x07f0 0x05c0 0x05c0
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */	0xc1b0	/* nNVCfg0 */
+			/* 0x00B6 */	0x083b	/* RelaxCFG */
+			/* 0x009F */	0x260e	/* nLearnCFG */
+			/* 0x000C */	0x4207	/* Config */
+			/* 0x00AB */	0x0080	/* Config2 */
+			/* 0x00BC */	0x5f00	/* nFullSOCthr */
+			/* 0x00A9 */	0x0780	/* nFullCAPRep */
+			/* 0x00B3 */	0x0780	/* nDesignCap */
+			/* 0x0046 */	0x0C80	/* dPacc */
+			/* 0x00A5 */	0x0780	/* nFullCAPNom */
+			/* 0x00C6 */	0xa55a	/* nV_empty */
+			/* 0x00A0 */	0x360d	/* nQRTable00 */
+			/* 0x00A1 */	0x1b84	/* nQRTable10 */
+			/* 0x00A2 */	0x0e00	/* nQRTable20 */
+			/* 0x00A3 */	0x0b00	/* nQRTable30 */
+			/* 0x00A6 */	0x05f0	/* nRCOMP0 */
+			/* 0x00A7 */	0x1e02	/* nTempCo */
+			/* 0x009C */	0x0247	/* nIChgTerm */
+			/* 0x00B2 */	0x3870	/* nMiscCFG */
+			/* 0x009E */	0x0400	/* nModelCfg */
+			/* 0x00CA */	0xC8FF	/* nThermCfg */
+			/* 0x009D */	0xCEA4	/* nFilterCfg */
+		>;
+		max77779,fg-aafv = /bits/ 32 <
+			200     0   95  0xff
+			400    20   90  0xff
+			600    40   85  0xff
+			800    60   80  0xff
+			1000   80   75  0xff
+			2000  100   70  0xff
+		>;
+	};
+
+	/* 3651_2_022924_ss.036.ini.txt.overlay, b/349892077#comment5 */
+	max77779,lwn-4k-4500mv {
+		max77779,batt-id-kohm = <20>;
+		max77779,model-version = <7>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+			0x9830 0xad50 0xb5a0 0xb7f0 0xb8b0 0xba80 0xbe90 0xc170
+			0xc2d0 0xc670 0xca40 0xd090 0xd4a0 0xd850 0xdbc0 0xdfc0
+			0x0050 0x0140 0x0390 0x1b90 0x0bf0 0x1120 0x0fb0 0x0f10
+			0x06e0 0x0710 0x06d0 0x06b0 0x06f0 0x0700 0x05c0 0x05c0
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */    0xc1b0  /* nnvcfg0 */
+			/* 0x00B6 */    0x083b  /* nrelaxcfg */
+			/* 0x009F */    0x660e  /* nLearnCFG */
+			/* 0x000C */    0x4207  /* Config */
+			/* 0x00AB */    0x0081  /* Config2 */
+			/* 0x00BC */    0x5f00  /* nFullSOCThr */
+			/* 0x00A9 */    0x0780  /* nfullcaprep */
+			/* 0x00B3 */    0x0780  /* ndesigncap */
+			/* 0x0046 */    0x0c80  /* dPacc */
+			/* 0x00A5 */    0x0780  /* nfullcapnom */
+			/* 0x00C6 */    0xa55a  /* nVEmpty */
+			/* 0x00A0 */    0x26a5  /* nQRTable00 */
+			/* 0x00A1 */    0x1a98  /* nQRTable10 */
+			/* 0x00A2 */    0x0a01  /* nQRTable20 */
+			/* 0x00A3 */    0x0382  /* nQRTable30 */
+			/* 0x00A6 */    0x0740  /* nRCOMP0 */
+			/* 0x00A7 */    0x1703  /* nTempCo */
+			/* 0x009C */    0x0247  /* nichgterm */
+			/* 0x00B2 */    0x3870  /* nmisccfg */
+			/* 0x009E */    0x0400  /* nModelCfg */
+			/* 0x00CA */    0xc8ff  /* nThermCfg */
+			/* 0x009D */    0xcea4  /* nFilterCfg */
+		>;
+		max77779,fg-aafv = /bits/ 32 <
+			200     0   95  0xff
+			400    20   90  0xff
+			600    40   85  0xff
+			800    60   80  0xff
+			1000   80   75  0xff
+			2000  100   70  0xff
+		>;
+		max77779,fg_n_regval = /bits/ 16 <
+			0xB7 0x2341    /* nConvgCfg */
+		>;
+	};
+};
diff --git a/dts/zuma-tokay-battery.dtsi b/dts/zuma-tokay-battery.dtsi
new file mode 100644
index 0000000..db50cd6
--- /dev/null
+++ b/dts/zuma-tokay-battery.dtsi
@@ -0,0 +1,93 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Battery device tree entries specific to tokay
+ *
+ * Copyright 2023 Google,LLC
+ *
+ */
+
+&google_battery {
+	google,chg-battery-capacity = <4558>;
+
+	google,chg-cv-limits = <4200000 4300000 4350000 4480000>;
+	google,chg-temp-limits = <0 100 200 420 460 480 550>;
+	google,chg-cc-limits = <
+		 50   30    0    0
+		 70   30   30   30
+		120  120  120   50
+		100  100  100   50
+		 50   50    0    0
+		 30    0    0    0
+	>;
+
+	google,chg-topoff-limits = <250 250 250 500 500 500>;
+	google,pullback-current;
+
+	google,ttf-temp-idx= <2>;
+	google,ttf-adapter = <4500>;
+	google,ttf-soc-table =  <71 80 89 93  98  100>;
+	google,ttf-elap-table = <32 50 80 110 200 81>;
+	google,ttf-tier-table = <0 79 86>;
+	google,ttf-report-max-ratio = <0>;
+
+#ifdef ZUMA_BMS_ENABLE_CHG_PROFILE_SWITCH
+	google,enable-switch-chg-profile;
+#endif
+
+	/* 90% after 600 cycles, 80% after 1000 cycles */
+	google,aacr-algo = <3>;
+	google,aacr-cliff-capacity-rate = <80>;
+	google,aacr-cycle-max = <1000>;
+
+	google,batt-id-17-atl {
+		google,batt-id = <17>;
+		google,aacr-ref-cycles = <599 600 1000>;
+		google,aacr-ref-fade10 = <  0 100  100>;
+		google,aafv-ref-cycles = <200 400 600 800 1000 1001>;
+		google,aafv-ref-offset = <  0  20  40  60   80  100>;
+	};
+
+	google,batt-id-20-lwn {
+		google,batt-id = <20>;
+		google,aacr-ref-cycles = <599 600 1000>;
+		google,aacr-ref-fade10 = <  0 100  100>;
+		google,aafv-ref-cycles = <200 400 600 800 1000 1001>;
+		google,aafv-ref-offset = <  0  20  40  60   80  100>;
+	};
+
+	google_debug_chg_profile {
+		google,chg-battery-capacity = <4558>;
+
+		google,fv-uv-resolution = <10000>;
+		google,cv-range-accuracy = <20000>;
+		google,fv-uv-margin-dpct = <1025>;
+		google,fv-dc-ratio = <30>;
+		google,cv-debounce-cnt = <3>;
+		google,cv-tier-ov-cnt = <10>;
+		google,cv-tier-switch-cnt = <3>;
+		google,cv-otv-margin = <12000>;
+		google,chg-cv-limits = <4200000 4300000 4350000 4500000>;
+		google,chg-temp-limits = <0 100 200 420 460 480 550>;
+		google,chg-cc-limits = <
+			 50   30    0    0
+			 70   30   30   30
+			120  120  120   50
+			100  100  100   50
+			 50   50    0    0
+			 30    0    0    0
+		>;
+
+		google,chg-topoff-limits = <250 250 250 500 500 500>;
+		google,pullback-current;
+	};
+};
+
+&max77779_fg {
+	maxim,fg-data {
+#ifdef ZUMA_BMS_PROTO_EVT10_MODEL
+		#include "zuma-tokay-proto-evt10-battery-data.dtsi"
+#else
+		#include "zuma-tokay-battery-data.dtsi"
+#endif
+	};
+};
diff --git a/dts/zuma-tokay-camera.dtsi b/dts/zuma-tokay-camera.dtsi
new file mode 100644
index 0000000..0603ec7
--- /dev/null
+++ b/dts/zuma-tokay-camera.dtsi
@@ -0,0 +1,889 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * zuma camera lwis device tree for tokay
+ *
+ * Copyright 2023 Google LLC.
+ *
+ */
+
+#include <dt-bindings/clock/zuma.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <arm64/exynos/exynos-pinctrl.h>
+
+&slg51002_ldo1 {
+	regulator-min-microvolt = <2900000>;
+	regulator-max-microvolt = <2900000>;
+};
+
+/* As defined on OTP */
+&slg51002_ldo2 {
+	regulator-min-microvolt = <2850000>;
+	regulator-max-microvolt = <2850000>;
+};
+
+&slg51002_ldo3 {
+	regulator-min-microvolt = <3000000>;
+	regulator-max-microvolt = <3000000>;
+};
+
+&slg51002_ldo4 {
+	regulator-min-microvolt = <2950000>;
+	regulator-max-microvolt = <2950000>;
+};
+
+&slg51002_ldo5 {
+	regulator-min-microvolt = <2900000>;
+	regulator-max-microvolt = <2900000>;
+};
+
+/* As defined on OTP */
+&slg51002_ldo6 {
+	regulator-min-microvolt = <1150000>;
+	regulator-max-microvolt = <1150000>;
+};
+
+&slg51002_ldo7 {
+	regulator-min-microvolt = <1100000>;
+	regulator-max-microvolt = <1100000>;
+};
+
+/* slg51002_ldo8 is not used */
+
+&s_ldo12_reg {
+	regulator-min-microvolt = <1850000>;
+	regulator-max-microvolt = <1850000>;
+};
+
+
+&pinctrl_11 {
+	hsi2c2_bus: hsi2c2-bus {
+		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
+	};
+
+	hsi2c2_bus_in: hsi2c2-bus-in {
+		samsung,pins = "gpp4-0", "gpp4-1";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-drv = <ZUMA_PIN_DRV_X1>;
+	};
+
+	hsi2c3_bus: hsi2c3-bus {
+		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
+	};
+
+	hsi2c3_bus_in: hsi2c3-bus-in {
+		samsung,pins = "gpp6-0", "gpp6-1";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-drv = <ZUMA_PIN_DRV_X1>;
+	};
+
+	hsi2c5_bus: hsi2c5-bus {
+		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
+	};
+
+	hsi2c5_bus_in: hsi2c5-bus-in {
+		samsung,pins = "gpp10-0", "gpp10-1";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-drv = <ZUMA_PIN_DRV_X1>;
+	};
+
+	sensor_mclk1_out: sensor-mclk1-out {
+		samsung,pin-drv = <ZUMA_PIN_DRV_X3>;
+	};
+	sensor_mclk1_fn: sensor-mclk1-fn {
+		samsung,pin-drv = <ZUMA_PIN_DRV_X3>;
+	};
+	sensor_mclk2_out: sensor-mclk2-out {
+		samsung,pin-drv = <ZUMA_PIN_DRV_X3>;
+	};
+	sensor_mclk2_fn: sensor-mclk2-fn {
+		samsung,pin-drv = <ZUMA_PIN_DRV_X3>;
+	};
+	sensor_mclk4_out: sensor-mclk4-out {
+		samsung,pin-drv = <ZUMA_PIN_DRV_X3>;
+	};
+	sensor_mclk4_fn: sensor-mclk4-fn {
+		samsung,pin-drv = <ZUMA_PIN_DRV_X3>;
+	};
+};
+
+&pinctrl_12 {
+	/* GPP24[1] Flashlight Enable */
+	flash_en: flash-en {
+		samsung,pins = "gpp24-1";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
+	};
+};
+
+&hsi2c_2 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	gpios = <&gpp4 0 GPIO_ACTIVE_HIGH &gpp4 1 GPIO_ACTIVE_HIGH>;
+	status = "okay";
+	clock-frequency = <950000>;
+	samsung,no_lose_arbitration;
+	samsung,reset-before-trans;
+	samsung,hybrid-polling-mode;
+
+	pinctrl-names = "default","on_i2c","off_i2c";
+	pinctrl-0 = <&hsi2c2_bus_in>;
+	pinctrl-1 = <&hsi2c2_bus>;
+	pinctrl-2 = <&hsi2c2_bus_in>;
+};
+
+&hsi2c_3 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	gpios = <&gpp6 0 GPIO_ACTIVE_HIGH &gpp6 1 GPIO_ACTIVE_HIGH>;
+	status = "okay";
+	clock-frequency = <950000>;
+	samsung,no_lose_arbitration;
+	samsung,reset-before-trans;
+	samsung,hybrid-polling-mode;
+
+	pinctrl-names = "default","on_i2c","off_i2c";
+	pinctrl-0 = <&hsi2c3_bus_in>;
+	pinctrl-1 = <&hsi2c3_bus>;
+	pinctrl-2 = <&hsi2c3_bus_in>;
+};
+
+&hsi2c_4 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	gpios = <&gpp8 0 GPIO_ACTIVE_HIGH &gpp8 1 GPIO_ACTIVE_HIGH>;
+	status = "okay";
+	/* Limit to 390KHz due to bottleneck in flash LED driver. */
+	clock-frequency = <390000>;
+	samsung,no_lose_arbitration;
+
+	pinctrl-names = "default","on_i2c","off_i2c";
+	pinctrl-0 = <&hsi2c4_bus &flash_en>;
+	pinctrl-1 = <&hsi2c4_bus>;
+	pinctrl-2 = <&hsi2c4_bus>;
+};
+
+&hsi2c_5 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	gpios = <&gpp10 0 GPIO_ACTIVE_HIGH &gpp10 1 GPIO_ACTIVE_HIGH>;
+	status = "okay";
+	clock-frequency = <950000>;
+	samsung,no_lose_arbitration;
+	samsung,reset-before-trans;
+	samsung,hybrid-polling-mode;
+	samsung,trailing-count = <0x20000>;
+
+	pinctrl-names = "default","on_i2c","off_i2c";
+	pinctrl-0 = <&hsi2c5_bus_in>;
+	pinctrl-1 = <&hsi2c5_bus>;
+	pinctrl-2 = <&hsi2c5_bus_in>;
+};
+
+
+/ {
+	fragment@lwiscamera {
+		target-path = "/";
+		__overlay__ {
+			/* Power sequence for FRONT CAMERA combo */
+			front_camera_power_seq: module_power_seq@0 {
+				/* Power supplies will be defined on each module. */
+				/* Common supplies */
+				/* PP3200_BB_CAM pp3200_bb */
+				/* PP1350_CAM    pp1350 */
+				/* Sensor */
+				/* VDDIO         s5mpg15_ldo12 */
+				/* VDIG          ldo7          */
+				/* VDDA          ldo3          */
+				/* RESET         reset         */
+				/* MCLK_ON       mclk_on       */
+				/* Actuator */
+				/* AF_VM         ldo5          */
+				power-up-seqs =
+					"pp3200_bb",
+					"pp1350",
+					"s2mpg15_ldo12",
+					"ldo7",
+					"ldo3",
+					"ldo5",
+					"reset",
+					"mclk_on";
+				power-up-seq-types =
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"gpio",
+					"pinctrl";
+				power-up-seq-delays-us =
+					<0
+					 0
+					 0
+					 0
+					 0
+					 1000
+					 1000
+					 8000>;
+
+				power-down-seqs =
+					"mclk_off",
+					"reset",
+					"ldo5",
+					"ldo3",
+					"ldo7",
+					"s2mpg15_ldo12",
+					"pp1350",
+					"pp3200_bb";
+				power-down-seq-types =
+					"pinctrl",
+					"gpio",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator";
+				power-down-seq-delays-us =
+					<1000
+					 1000
+					 0
+					 0
+					 0
+					 0
+					 2000
+					 2000>;
+			};
+
+			/* Power sequence for REAR MAIN CAMERA combo */
+			rear_main_camera_power_seq: module_power_seq@1 {
+				/* Power supplies will be defined on each module. */
+				/* Common supplies */
+				/* PP3200_BB_CAM pp3200_bb */
+				/* PP1350_CAM    pp1350 */
+				/* Sensor */
+				/* VDDIO         s2mpg15_ldo12 */
+				/* VDIG          vdig_enable */
+				/* VDDA          vdda_enable */
+				/* RESET         reset */
+				/* MCLK_ON       mclk_on */
+				/* OIS */
+				/* AVDD          ldo1 */
+				/* OIS_VM        ois_vm_enable */
+				/* Actuator */
+				/* AF_VM         ldo4 */
+				power-up-seqs =
+					"pp3200_bb",
+					"pp1350",
+					"vdda_enable",
+					"vdig_enable",
+					"s2mpg15_ldo12",
+					"ldo1",
+					"ldo4",
+					"reset",
+					"ois_vm_enable",
+					"mclk_on";
+				power-up-seq-types =
+					"regulator",
+					"regulator",
+					"gpio",
+					"gpio",
+					"regulator",
+					"regulator",
+					"regulator",
+					"gpio",
+					"gpio",
+					"pinctrl";
+				power-up-seq-delays-us =
+					<0
+					 0
+					 1000
+					 1000
+					 1000
+					 0
+					 0
+					 1000
+					 0
+					 9000>;
+
+				power-down-seqs =
+					"mclk_off",
+					"ois_vm_enable",
+					"reset",
+					"ldo4",
+					"ldo1",
+					"s2mpg15_ldo12",
+					"vdig_enable",
+					"vdda_enable",
+					"pp1350",
+					"pp3200_bb";
+				power-down-seq-types =
+					"pinctrl",
+					"gpio",
+					"gpio",
+					"regulator",
+					"regulator",
+					"regulator",
+					"gpio",
+					"gpio",
+					"regulator",
+					"regulator";
+				power-down-seq-delays-us =
+					<1000
+					 0
+					 1000
+					 0
+					 1000
+					 1000
+					 1000
+					 1000
+					 2000
+					 2000>;
+			};
+
+			/* Power sequence for REAR ULTRA WIDE combo */
+			rear_uw_camera_power_seq: module_power_seq@2 {
+				/* Power supplies will be defined on each module. */
+				/* Common supplies */
+				/* PP3200_BB_CAM pp3200_bb */
+				/* PP1350_CAM    pp1350 */
+				/* Sensor */
+				/* VDIG          ldo6 */
+				/* VANA          ldo2 */
+				/* VIO           s2mpg15_ldo12 */
+				/* MCLK_ON       mclk_on */
+				/* Actuator  */
+				/* AF_VM         ldo4 */
+				power-up-seqs =
+					"pp3200_bb",
+					"pp1350",
+					"ldo6",
+					"ldo2",
+					"s2mpg15_ldo12",
+					"ldo4",
+					"mclk_on";
+				power-up-seq-types =
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"pinctrl";
+				power-up-seq-delays-us =
+					<0
+					 0
+					 0
+					 0
+					 1000
+					 0
+					 0>;
+
+				power-down-seqs =
+					"mclk_off",
+					"ldo4",
+					"s2mpg15_ldo12",
+					"ldo2",
+					"ldo6",
+					"pp1350",
+					"pp3200_bb";
+				power-down-seq-types =
+					"pinctrl",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator";
+				power-down-seq-delays-us =
+					<0
+					 1000
+					 0
+					 0
+					 0
+					 2000
+					 2000>;
+			};
+
+			/* REAR CAMERA */
+			sensor0: sensor@0 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "sensor-boitata";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_5>;
+				i2c-addr = <0x3D>;
+
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <16>;
+
+				/* GPIOs */
+				/* RCAM_RST_L GPP10[2] */
+				reset-gpios = <&gpp10 2 GPIO_ACTIVE_HIGH>;
+				/* CAM_LVBUCK_EN, RCAM_VANA_EN, RCAM_OIS_VM_EN */
+				vdig_enable-gpios = <&s2mpg14_gpio 0 GPIO_ACTIVE_HIGH>;
+				vdda_enable-gpios = <&s2mpg14_gpio 2 GPIO_ACTIVE_HIGH>;
+				ois_vm_enable-gpios = <&s2mpg14_gpio 1 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo1-supply = <&slg51002_ldo1>;
+				ldo4-supply = <&slg51002_ldo4>;
+
+				clocks =
+					<&clock CIS_CLK3>,
+					<&clock GATE_DFTMUX_CMU_CIS_CLK3>;
+				clock-names =
+					"CIS_CLK3",
+					"GATE_DFTMUX_CMU_CIS_CLK3";
+				clock-rates =
+					<26000000>,
+					<0>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk4_fn>;
+				pinctrl-1 = <&sensor_mclk4_out>;
+
+				/* Power sequence */
+				power-seq = <&rear_main_camera_power_seq>;
+
+				/* Thread priority */
+				transaction-thread-priority = <99>;
+
+				i2c-lock-group-id = <0>;
+				transaction-process-limit = <20>;
+			};
+
+			/* FRONT CAMERA */
+			sensor1: sensor@1 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "sensor-dokkaebi";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_3>;
+				i2c-addr = <0x10>;
+
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <16>;
+
+				/* GPIOs */
+				/* FCAM_RST_L GPP6[2] */
+				reset-gpios = <&gpp6 2 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo7-supply = <&slg51002_ldo7>;
+				ldo3-supply = <&slg51002_ldo3>;
+				ldo5-supply = <&slg51002_ldo5>;
+
+				clocks =
+					<&clock CIS_CLK1>,
+					<&clock GATE_DFTMUX_CMU_CIS_CLK1>;
+				clock-names =
+					"CIS_CLK1",
+					"GATE_DFTMUX_CMU_CIS_CLK1";
+				clock-rates =
+					<24000000>,
+					<0>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk2_fn>;
+				pinctrl-1 = <&sensor_mclk2_out>;
+
+				/* Power sequence */
+				power-seq = <&front_camera_power_seq>;
+
+				/* Thread priority */
+				transaction-thread-priority = <99>;
+
+				i2c-lock-group-id = <3>;
+			};
+
+			/* REAR ULTRA WIDE CAMERA */
+			sensor2: sensor@2 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "sensor-taotie-uw";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_2>;
+				i2c-addr = <0x1A>;
+
+				/* Power up mode */
+				lwis,power-up-to-suspend;
+
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <8>;
+
+				/* GPIOs */
+				/* RUWCAM_RST_L GPP4[2] */
+				reset-gpios = <&gpp4 2 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo6-supply = <&slg51002_ldo6>;
+				ldo4-supply = <&slg51002_ldo4>;
+				ldo2-supply = <&slg51002_ldo2>;
+
+				clocks =
+					<&clock CIS_CLK0>,
+					<&clock GATE_DFTMUX_CMU_CIS_CLK0>;
+				clock-names =
+					"CIS_CLK0",
+					"GATE_DFTMUX_CMU_CIS_CLK0";
+				clock-rates =
+					<24000000>,
+					<0>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk1_fn>;
+				pinctrl-1 = <&sensor_mclk1_out>;
+
+				/* Power sequence */
+				power-seq = <&rear_uw_camera_power_seq>;
+
+				/* resume sequence */
+				resume-seqs = "reset";
+				resume-seq-types = "gpio";
+				/* from XCLR to first i2c */
+				resume-seq-delays-us = <5000>;
+
+				/* suspend sequence */
+				suspend-seqs = "reset";
+				suspend-seq-types = "gpio";
+				suspend-seq-delays-us = <0>;
+
+				/* Thread priority */
+				transaction-thread-priority = <99>;
+
+				i2c-lock-group-id = <2>;
+			};
+
+			/* EEPROM for REAR CAMERA */
+			eeprom0: eeprom@0 {
+				compatible = "google,lwis-i2c-device";
+				/* Device node name */
+				node-name = "eeprom-djinn";
+				/* I2C */
+				i2c-bus = <&hsi2c_5>;
+				i2c-addr = <0x24>;
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <32>;
+
+				/* GPIOs */
+				/* RCAM_RST_L GPP10[2] */
+				reset-gpios = <&gpp10 2 GPIO_ACTIVE_HIGH>;
+				/* CAM_LVBUCK_EN, RCAM_VANA_EN, RCAM_OIS_VM_EN */
+				vdig_enable-gpios = <&s2mpg14_gpio 0 GPIO_ACTIVE_HIGH>;
+				vdda_enable-gpios = <&s2mpg14_gpio 2 GPIO_ACTIVE_HIGH>;
+				ois_vm_enable-gpios = <&s2mpg14_gpio 1 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo1-supply = <&slg51002_ldo1>;
+				ldo4-supply = <&slg51002_ldo4>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk4_fn>;
+				pinctrl-1 = <&sensor_mclk4_out>;
+
+				/* Power sequence */
+				power-seq = <&rear_main_camera_power_seq>;
+
+				i2c-lock-group-id = <0>;
+			};
+
+			/* EEPROM for REAR ULTRAWIDE CAMERA */
+			eeprom1: eeprom@1 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "eeprom-smaug-taotie-uw";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_2>;
+				i2c-addr = <0x50>;
+
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <8>;
+
+				/* GPIOs */
+				/* RUWCAM_RST_L GPP4[2] */
+				reset-gpios = <&gpp4 2 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo6-supply = <&slg51002_ldo6>;
+				ldo4-supply = <&slg51002_ldo4>;
+				ldo2-supply = <&slg51002_ldo2>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk1_fn>;
+				pinctrl-1 = <&sensor_mclk1_out>;
+
+				/* Power sequence */
+				power-seq = <&rear_uw_camera_power_seq>;
+
+				i2c-lock-group-id = <2>;
+			};
+
+			/* EEPROM for FRONT CAMERA */
+			eeprom2: eeprom@2 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "eeprom-smaug-dokkaebi";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_3>;
+				i2c-addr = <0x51>;
+
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <8>;
+
+				/* GPIOs */
+				/* FCAM_RST_L GPP6[2] */
+				reset-gpios = <&gpp6 2 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo7-supply = <&slg51002_ldo7>;
+				ldo3-supply = <&slg51002_ldo3>;
+				ldo5-supply = <&slg51002_ldo5>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk2_fn>;
+				pinctrl-1 = <&sensor_mclk2_out>;
+
+				/* Power sequence */
+				power-seq = <&front_camera_power_seq>;
+			};
+
+			/* Actuator for REAR CAMERA */
+			actuator0: actuator@0 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "act-cornerfolk";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_5>;
+				i2c-addr = <0xC>;
+
+				/* Registers */
+				reg-addr-bitwidth = <8>;
+				reg-value-bitwidth = <8>;
+
+				/* GPIOs */
+				/* RCAM_RST_L GPP10[2] */
+				reset-gpios = <&gpp10 2 GPIO_ACTIVE_HIGH>;
+				/* CAM_LVBUCK_EN, RCAM_VANA_EN, RCAM_OIS_VM_EN */
+				vdig_enable-gpios = <&s2mpg14_gpio 0 GPIO_ACTIVE_HIGH>;
+				vdda_enable-gpios = <&s2mpg14_gpio 2 GPIO_ACTIVE_HIGH>;
+				ois_vm_enable-gpios = <&s2mpg14_gpio 1 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo1-supply = <&slg51002_ldo1>;
+				ldo4-supply = <&slg51002_ldo4>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk4_fn>;
+				pinctrl-1 = <&sensor_mclk4_out>;
+
+				/* Power sequence */
+				power-seq = <&rear_main_camera_power_seq>;
+
+				/* Thread priority */
+				transaction-thread-priority = <99>;
+
+				i2c-lock-group-id = <0>;
+			};
+
+			/* Actuator for FRONT CAMERA */
+			actuator1: actuator@1 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "act-cornerfolk-dokkaebi";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_3>;
+				i2c-addr = <0xC>;
+
+				/* Registers */
+				reg-addr-bitwidth = <8>;
+				reg-value-bitwidth = <8>;
+
+				/* GPIOs */
+				/* FCAM_RST_L GPP6[2] */
+				reset-gpios = <&gpp6 2 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo7-supply = <&slg51002_ldo7>;
+				ldo3-supply = <&slg51002_ldo3>;
+				ldo5-supply = <&slg51002_ldo5>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk2_fn>;
+				pinctrl-1 = <&sensor_mclk2_out>;
+
+				/* Power sequence */
+				power-seq = <&front_camera_power_seq>;
+
+				/* Thread priority */
+				transaction-thread-priority = <99>;
+			};
+
+			/* Actuator for REAR ULTRAWIDE CAMERA */
+			actuator2: actuator@2 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "act-cornerfolk-taotie-uw";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_2>;
+				i2c-addr = <0xF>;
+
+				/* Registers */
+				reg-addr-bitwidth = <8>;
+				reg-value-bitwidth = <8>;
+
+				/* GPIOs */
+				/* RUWCAM_RST_L GPP4[2] */
+				reset-gpios = <&gpp4 2 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo6-supply = <&slg51002_ldo6>;
+				ldo4-supply = <&slg51002_ldo4>;
+				ldo2-supply = <&slg51002_ldo2>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk1_fn>;
+				pinctrl-1 = <&sensor_mclk1_out>;
+
+				/* Power sequence */
+				power-seq = <&rear_uw_camera_power_seq>;
+
+				/* Thread priority */
+				transaction-thread-priority = <99>;
+
+				i2c-lock-group-id = <2>;
+			};
+
+			/* OIS for REAR CAMERA */
+			ois0: ois@0 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "ois-djinn";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_5>;
+				i2c-addr = <0x24>;
+
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <32>;
+
+				/* GPIOs */
+				/* RCAM_RST_L GPP10[2] */
+				reset-gpios = <&gpp10 2 GPIO_ACTIVE_HIGH>;
+				/* CAM_LVBUCK_EN, RCAM_VANA_EN, RCAM_OIS_VM_EN */
+				vdig_enable-gpios = <&s2mpg14_gpio 0 GPIO_ACTIVE_HIGH>;
+				vdda_enable-gpios = <&s2mpg14_gpio 2 GPIO_ACTIVE_HIGH>;
+				ois_vm_enable-gpios = <&s2mpg14_gpio 1 GPIO_ACTIVE_HIGH>;
+
+				/* Power supplies */
+				pp3200_bb-supply = <&cam_pp3200_bb>;
+				pp1350-supply = <&cam_pp1350>;
+				s2mpg15_ldo12-supply = <&s_ldo12_reg>;
+				ldo1-supply = <&slg51002_ldo1>;
+				ldo4-supply = <&slg51002_ldo4>;
+
+				/* MCLK Control */
+				pinctrl-names = "mclk_on", "mclk_off";
+				pinctrl-0 = <&sensor_mclk4_fn>;
+				pinctrl-1 = <&sensor_mclk4_out>;
+
+				/* Power sequence */
+				power-seq = <&rear_main_camera_power_seq>;
+
+				/* Thread priority */
+				transaction-thread-priority = <99>;
+
+				i2c-lock-group-id = <0>;
+			};
+
+			flash0: flash@0 {
+				compatible = "google,lwis-i2c-device";
+
+				/* Device node name */
+				node-name = "flash-lm3644";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_4>;
+				i2c-addr = <0x63>;
+
+				/* Registers */
+				reg-addr-bitwidth = <8>;
+				reg-value-bitwidth = <8>;
+
+				/* Power Management hibernation (deep sleep) */
+				/* 1 : enable, 0 : disable */
+				pm-hibernation = <0>;
+
+				/* GPIOs */
+				/* FLASH_EN GPP24[1] */
+				enable-gpios =
+					<&gpp24 1 GPIO_ACTIVE_HIGH>;
+			};
+		};
+	};
+};
diff --git a/dts/zuma-tokay-charging.dtsi b/dts/zuma-tokay-charging.dtsi
new file mode 100644
index 0000000..6a684af
--- /dev/null
+++ b/dts/zuma-tokay-charging.dtsi
@@ -0,0 +1,60 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Charging device tree entries specific to Tokay devices
+ *
+ * Copyright 2024 Google LLC
+ *
+ */
+
+ &pinctrl_0 {
+	dc_charger_irq: dc-charger-irq {
+		samsung,pins = "gpa7-4"; /* XEINT_18 (PLC_INT_L) */
+		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
+	};
+};
+
+&hsi2c_10 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	status = "okay";
+	clock-frequency = <400000>;
+
+	#include "zuma/zuma-charge-pump-pca9468.dtsi"
+};
+
+&pca9468_dc {
+	status = "okay";
+	pinctrl-0 = <&dc_charger_irq>;
+
+	interrupt-parent = <&gpa7>;
+	pca9468,irq-gpio = <&gpa7 4 GPIO_ACTIVE_LOW>; /* PLC_INT_L */
+
+	pca9468,input-current-limit = <2700000>; /* 5.4A max */
+
+	pca9468,ta-max-vol = <11000000>; /* 11V */
+};
+
+&google_cpm {
+	// thermal budgets
+	google,mdis-thermal-mitigation =
+	<3710000 3571000 3443000 3297000 3162000 3040000 2918000 2810000 2703000
+	 2598000 2493000 2330000 2200000 2080000 1968000 1865000 1770000 1684000
+	 1595000 1506000 1444000 1382000 1351000 1320000 1273000 1225000>;
+	// PD+main-charger, WLC+main-charger
+	google,mdis-out0-limits =
+	<4000000 3860000 3720000 3580000 3440000 3300000 3160000 3020000 2880000
+	 2740000 2600000 2460000 2320000 2180000 2040000 1900000 1760000 1620000
+	 1480000 1340000 1200000 1060000 920000  780000  640000  500000
+	 1100000 1100000 1100000 1100000 1100000 1100000 1100000 1100000 1100000
+	 1100000 1100000 1100000 1050000 1000000 950000  900000  850000  800000
+	 750000  700000  650000  600000  550000  500000  450000  400000>;
+	// PPS_CP+pca94xx-mains, // WLC_CP+pca94xx-mains
+	google,mdis-out1-limits =
+	<5470000 5290000 5110000 4930000 4750000 4570000 4390000 4210000 4030000
+	 3850000 3670000 3490000 3310000 3130000 2950000 2770000 2590000 2410000
+	 2230000 2050000 1870000 1690000 1510000 1330000 1150000 1000000
+	 4800000 4600000 4400000 4200000 4000000 3800000 3600000 3400000 3200000
+	 3000000 2800000 2600000 2400000 2200000 2000000 1800000 1600000 1400000
+	 1200000 1000000 900000  800000  700000  600000  500000  400000>;
+};
diff --git a/dts/zuma-tokay-common.dtsi b/dts/zuma-tokay-common.dtsi
new file mode 100644
index 0000000..687d117
--- /dev/null
+++ b/dts/zuma-tokay-common.dtsi
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+#include "zuma-tokay-battery.dtsi"
+#include "zuma-tokay-charging.dtsi"
+#include "zuma-tokay-wcharger.dtsi"
+#include "zuma-tokay-usecases.dtsi"
+#include "zuma-tokay-audio.dtsi"
+#include "zuma-tokay-camera.dtsi"
+#include "zuma-tokay-display.dtsi"
+#include "zuma-tokay-ldaf.dtsi"
+#include "zuma-tokay-pmic.dtsi"
+#include "zuma-tokay-touch.dtsi"
+#include "zumapro-tokay-bcl.dtsi"
diff --git a/dts/zuma-tokay-connector.dtsi b/dts/zuma-tokay-connector.dtsi
new file mode 100644
index 0000000..1c94dea
--- /dev/null
+++ b/dts/zuma-tokay-connector.dtsi
@@ -0,0 +1,101 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Display connector nodes for tokay-related boards.
+ *
+ * Copyright 2024 Google LLC
+ *
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+	fragment@display {
+		target-path = "/";
+		__overlay__ {
+			gs_connector: gs-drm-connector {
+				compatible = "google,drm_connector";
+				label = "gs-drm-connector";
+
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port {
+					/* input */
+					dsim0_connector_in: endpoint {
+						remote-endpoint = <&dsim0_connector_out>;
+					};
+				};
+
+				/* panels will go here */
+				google_gs_tk4a: panel@0 {
+					compatible = "google,gs-tk4a";
+					label = "google-tk4a";
+					channel = <0>;
+					touch = <&spitouch>;
+					vddd-normal-microvolt = <1150000>;
+					vddd-lp-microvolt     = <1062500>;
+					post-vddd-lp;
+
+					/* reset, power */
+					reset-gpios = <&gpp0 0 GPIO_ACTIVE_HIGH>;
+					vci-supply = <&m_ldo14_reg>;
+					vddi-supply = <&s_bucka_reg>;
+					vddd-supply = <&disp_vddd>;
+					vddd-gpios = <&gpp21 5 GPIO_ACTIVE_HIGH>;
+				};
+
+				google_gs_tk4c: panel@1 {
+					compatible = "google,gs-tk4c";
+					label = "google-tk4c";
+					channel = <0>;
+					touch = <&spitouch>;
+					vddd-normal-microvolt = <1150000>;
+					vddd-lp-microvolt     = <1062500>;
+					post-vddd-lp;
+
+					/* reset, power */
+					reset-gpios = <&gpp0 0 GPIO_ACTIVE_HIGH>;
+					vci-supply = <&m_ldo14_reg>;
+					vddi-supply = <&s_bucka_reg>;
+					vddd-supply = <&disp_vddd>;
+					vddd-gpios = <&gpp21 5 GPIO_ACTIVE_HIGH>;
+					vddd_gpio_fixed_level = <0>;
+
+					tk4c_test_node: panel-test@0 {
+						compatible = "google,gs-tk4c-test";
+					};
+				};
+
+				google_gs_tk4b: panel@2 {
+					compatible = "google,gs-tk4b";
+					label = "google-tk4b";
+					channel = <0>;
+					touch = <&spitouch>;
+					vddd-normal-microvolt = <1150000>;
+					vddd-lp-microvolt     = <1062500>;
+					post-vddd-lp;
+
+					/* reset, power */
+					reset-gpios = <&gpp0 0 GPIO_ACTIVE_HIGH>;
+					vci-supply = <&m_ldo14_reg>;
+					vddi-supply = <&s_bucka_reg>;
+					vddd-supply = <&disp_vddd>;
+					vddd-gpios = <&gpp21 5 GPIO_ACTIVE_HIGH>;
+
+					tk4b_test_node: panel-test@1 {
+						compatible = "google,gs-panel-common-test";
+					};
+				};
+
+				panel@3 {
+					compatible = "google,panel-gs-simple";
+					label = "samsung-emul";
+					channel = <0>;
+
+					/* reset, power */
+					reset-gpios = <&gpp0 0 GPIO_ACTIVE_HIGH>;
+				};
+			};
+		};
+	};
+};
diff --git a/dts/zuma-tokay-display.dtsi b/dts/zuma-tokay-display.dtsi
new file mode 100644
index 0000000..0ddfb1d
--- /dev/null
+++ b/dts/zuma-tokay-display.dtsi
@@ -0,0 +1,70 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Display nodes for tokay-related boards.
+ *
+ * Copyright 2023 Google LLC
+ *
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include "zuma-tokay-connector.dtsi"
+
+&dsim_modes {
+	dsim-modes {
+		1080x2424 {
+			mode-name = "1080x2424";
+			pmsk = <
+				0x2 0xf6 0x3 0x1800 /* p m s k */
+				>;
+			hs-clk = <756>;
+			esc-clk = <20>;
+		};
+	};
+};
+
+&drmdsim0 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	panel@0 {
+		compatible = "samsung,emul";
+		label = "samsung-emul";
+		channel = <0>;
+
+		/* reset, power */
+		reset-gpios = <&gpp0 0 GPIO_ACTIVE_HIGH>;
+	};
+
+	ports {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		port@0 {
+			reg = <0>;
+			/* output */
+			dsim0_connector_out: endpoint {
+				remote-endpoint = <&dsim0_connector_in>;
+			};
+		};
+	};
+};
+
+&disp_vddd {
+	status = "okay";
+	gpio = <&gpp21 4 GPIO_ACTIVE_HIGH>;
+};
+
+&m_ldo14_reg {
+	regulator-min-microvolt = <3100000>;
+	regulator-max-microvolt = <3100000>;
+};
+
+&drmdecon0 {
+	bts_scen_name = "dpu_qurgent_default";
+	bts_scen_min_panel_width = <1080>;
+	bts_scen_min_panel_height = <2424>;
+	bts_scen_min_fps = <120>;
+	bts_scen_min_rt = <5004799>;
+	bts_scen_max_rt = <5105906>;
+	bts_scen_min_peak = <4609478>;
+	bts_scen_max_peak = <4702599>;
+};
diff --git a/dts/zuma-tokay-ldaf.dtsi b/dts/zuma-tokay-ldaf.dtsi
new file mode 100644
index 0000000..950df31
--- /dev/null
+++ b/dts/zuma-tokay-ldaf.dtsi
@@ -0,0 +1,46 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay ldaf(Laser Detection Auto Focus) device tree source
+ *
+ * Copyright 2023 Google LLC.
+ *
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+
+&s_ldo26_reg {
+	regulator-min-microvolt = <3300000>;
+	regulator-max-microvolt = <3300000>;
+};
+
+&pinctrl_1 {
+	ldaf_irq: ldaf-irq {
+		samsung,pins = "gpn3-0";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
+	};
+};
+
+&hsi2c_19 {
+	status = "ok";
+	#address-cells = <1>;
+	#size-cells = <0>;
+	stmvl53l1: stmvl53l1@29 {
+		compatible = "st,stmvl53l1";
+		reg = <0x29>;
+
+		/* VADD 3.3V */
+		pwren-supply = <&s_ldo26_reg>;
+
+		/* RESET: GPN2[0] */
+		xsdn-gpio = <&gpn2 0 GPIO_ACTIVE_HIGH>;
+
+		/* IRQ: GPN3[0] */
+		intr-gpio = <&gpn3 0 GPIO_ACTIVE_HIGH>;
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&ldaf_irq>;
+
+		status = "ok";
+	};
+};
diff --git a/dts/zuma-tokay-pmic.dtsi b/dts/zuma-tokay-pmic.dtsi
new file mode 100644
index 0000000..9e3f041
--- /dev/null
+++ b/dts/zuma-tokay-pmic.dtsi
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay pmic device tree source
+ *
+ * Copyright 2023 Google LLC.
+ *
+ */
+&s_ldo16_reg {
+	regulator-initial-mode = <SEC_OPMODE_OFF>;
+	schematic-name = "L16S_SPARE";
+	subsys-name = "Spare";
+};
+
+&s_ldo17_reg {
+	regulator-initial-mode = <SEC_OPMODE_OFF>;
+	schematic-name = "L17S_SPARE";
+	subsys-name = "Spare";
+};
diff --git a/dts/zuma-tokay-proto-evt10-battery-data.dtsi b/dts/zuma-tokay-proto-evt10-battery-data.dtsi
new file mode 100644
index 0000000..c685cd6
--- /dev/null
+++ b/dts/zuma-tokay-proto-evt10-battery-data.dtsi
@@ -0,0 +1,232 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Battery device tree entries
+ *
+ * Copyright 2023 Google LLC
+ *
+ */
+
+max77779,config {
+
+	/* BC79_2mOhm_3347(4.48v)_ATL_RC2_ver2.ini, b/299336669#comment2 */
+	max77779,atl-1k {
+		max77779,batt-id-kohm = <1>;
+		max77779,model-version = <6>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+                        0xa510 0xb790 0xb8b0 0xbaa0 0xbc90 0xbd80 0xbe70 0xbf80
+                        0xc1f0 0xc710 0xc9c0 0xce70 0xd220 0xd570 0xd8c0 0xdde0
+                        0x0150 0x1390 0x0d00 0x1120 0x15c0 0x1600 0x1400 0x0f40
+                        0x0780 0x08f0 0x06f0 0x06d0 0x05f0 0x07f0 0x0580 0x0580
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */	0xc1b0	/* nNVCfg0 */
+			/* 0x00B6 */	0x043c	/* RelaxCFG */
+			/* 0x009F */	0x2606	/* nLearnCFG */
+			/* 0x000C */	0x4207	/* Config */
+			/* 0x00AB */	0x0080	/* Config2 */
+			/* 0x00BC */	0x5f00	/* nFullSOCthr */
+			/* 0x00A9 */	0x0700	/* nFullCAPRep */
+			/* 0x00B3 */	0x0700	/* nDesignCap */
+			/* 0x0046 */	0x0C80	/* dPacc */
+			/* 0x00A5 */	0x0700	/* nFullCAPNom */
+			/* 0x00C6 */	0xa55a	/* nV_empty */
+			/* 0x00A0 */	0x3c00	/* nQRTable00 */
+			/* 0x00A1 */	0x1c80	/* nQRTable10 */
+			/* 0x00A2 */	0x0d00	/* nQRTable20 */
+			/* 0x00A3 */	0x0a00	/* nQRTable30 */
+			/* 0x00A6 */	0x05c0	/* nRCOMP0 */
+			/* 0x00A7 */	0x1a02	/* nTempCo */
+			/* 0x009C */	0x023e	/* nIChgTerm */
+			/* 0x00B2 */	0x3850	/* nMiscCFG */
+			/* 0x009E */	0x0400	/* nModelCfg */
+			/* 0x00CA */	0xC8FF	/* nThermCfg */
+			/* 0x009D */	0xCEA4	/* nFilterCfg */
+		>;
+	};
+
+	/* BC79_2mOhm_3348(4.48v)_COS_RC2_ver2.ini, b/299336669#comment2 */
+	max77779,cos-2k {
+		max77779,batt-id-kohm = <2>;
+		max77779,model-version = <6>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+                        0xa510 0xb730 0xb880 0xba20 0xbb40 0xbec0 0xc020 0xc1c0
+                        0xc460 0xc7b0 0xcc10 0xd160 0xd4f0 0xd860 0xdb00 0xde90
+                        0x0130 0x1110 0x0e00 0x0cd0 0x1010 0x1300 0x0d80 0x0b80
+                        0x0730 0x06c0 0x06f0 0x06a0 0x06f0 0x07e0 0x0700 0x0700
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */	0xc1b0	/* nNVCfg0 */
+			/* 0x00B6 */	0x043c	/* RelaxCFG */
+			/* 0x009F */	0x2606	/* nLearnCFG */
+			/* 0x000C */	0x4207	/* Config */
+			/* 0x00AB */	0x0080	/* Config2 */
+			/* 0x00BC */	0x5f00	/* nFullSOCthr */
+			/* 0x00A9 */	0x0700	/* nFullCAPRep */
+			/* 0x00B3 */	0x0700	/* nDesignCap */
+			/* 0x0046 */	0x0C80	/* dPacc */
+			/* 0x00A5 */	0x0700	/* nFullCAPNom */
+			/* 0x00C6 */	0xa55a	/* nV_empty */
+			/* 0x00A0 */	0x2900	/* nQRTable00 */
+			/* 0x00A1 */	0x1480	/* nQRTable10 */
+			/* 0x00A2 */	0x0a00	/* nQRTable20 */
+			/* 0x00A3 */	0x0780	/* nQRTable30 */
+			/* 0x00A6 */	0x04e0	/* nRCOMP0 */
+			/* 0x00A7 */	0x1e02	/* nTempCo */
+			/* 0x009C */	0x023e	/* nIChgTerm */
+			/* 0x00B2 */	0x3850	/* nMiscCFG */
+			/* 0x009E */	0x0400	/* nModelCfg */
+			/* 0x00CA */	0xC8FF	/* nThermCfg */
+			/* 0x009D */	0xCEA4	/* nFilterCfg */
+		>;
+	};
+
+	/* BC79_2mOhm_3348(4.48v)_LWN_RC2_ver2.ini, b/299336669#comment2 */
+	max77779,lwn-4k {
+		max77779,batt-id-kohm = <4>;
+		max77779,model-version = <7>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+                        0xa470 0xb760 0xb980 0xbc00 0xbde0 0xbef0 0xc060 0xc220
+                        0xc450 0xc7a0 0xca50 0xcd10 0xd0b0 0xd450 0xd830 0xde70
+                        0x0170 0x0f30 0x0d10 0x1500 0x0f40 0x1200 0x0d40 0x0af0
+                        0x05f0 0x06d0 0x07b0 0x06f0 0x05f0 0x07b0 0x06c0 0x06c0
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */	0xc1b0	/* nNVCfg0 */
+			/* 0x00B6 */	0x043c	/* RelaxCFG */
+			/* 0x009F */	0x2606	/* nLearnCFG */
+			/* 0x000C */	0x4207	/* Config */
+			/* 0x00AB */	0x0080	/* Config2 */
+			/* 0x00BC */	0x5f00	/* nFullSOCthr */
+			/* 0x00A9 */	0x0700	/* nFullCAPRep */
+			/* 0x00B3 */	0x0700	/* nDesignCap */
+			/* 0x0046 */	0x0C80	/* dPacc */
+			/* 0x00A5 */	0x0700	/* nFullCAPNom */
+			/* 0x00C6 */	0xa55a	/* nV_empty */
+			/* 0x00A0 */	0x3b00	/* nQRTable00 */
+			/* 0x00A1 */	0x1b00	/* nQRTable10 */
+			/* 0x00A2 */	0x0b00	/* nQRTable20 */
+			/* 0x00A3 */	0x0900	/* nQRTable30 */
+			/* 0x00A6 */	0x05b0	/* nRCOMP0 */
+			/* 0x00A7 */	0x1a02	/* nTempCo */
+			/* 0x009C */	0x023e	/* nIChgTerm */
+			/* 0x00B2 */	0x3850	/* nMiscCFG */
+			/* 0x009E */	0x0400	/* nModelCfg */
+			/* 0x00CA */	0xC8FF	/* nThermCfg */
+			/* 0x009D */	0xCEA4	/* nFilterCfg */
+		>;
+	};
+
+	/* BC79_2mOhm_3524(4.5V)_ATL_RC2_Ver1.txt, b/299336669#comment6 */
+	max77779,atl-1k-4500mv {
+		max77779,batt-id-kohm = <17>;
+		max77779,model-version = <3>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+                        0xa4f0 0xb720 0xb9d0 0xbaf0 0xbca0 0xbe70 0xbfa0 0xc260
+                        0xc3c0 0xc640 0xca10 0xcdc0 0xd080 0xd3b0 0xd760 0xded0
+                        0x0100 0x0f20 0x0750 0x1700 0x1000 0x1b10 0x0d40 0x06f0
+                        0x08f0 0x06f0 0x0770 0x06f0 0x07c0 0x05e0 0x05f0 0x05f0
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */	0xc1b0	/* nNVCfg0 */
+			/* 0x00B6 */	0x043c	/* RelaxCFG */
+			/* 0x009F */	0x2606	/* nLearnCFG */
+			/* 0x000C */	0x4207	/* Config */
+			/* 0x00AB */	0x0080	/* Config2 */
+			/* 0x00BC */	0x5f00	/* nFullSOCthr */
+			/* 0x00A9 */	0x0780	/* nFullCAPRep */
+			/* 0x00B3 */	0x0780	/* nDesignCap */
+			/* 0x0046 */	0x0C80	/* dPacc */
+			/* 0x00A5 */	0x0780	/* nFullCAPNom */
+			/* 0x00C6 */	0xa55a	/* nV_empty */
+			/* 0x00A0 */	0x3e0a	/* nQRTable00 */
+			/* 0x00A1 */	0x1c00	/* nQRTable10 */
+			/* 0x00A2 */	0x0b00	/* nQRTable20 */
+			/* 0x00A3 */	0x0800	/* nQRTable30 */
+			/* 0x00A6 */	0x05f0	/* nRCOMP0 */
+			/* 0x00A7 */	0x1a02	/* nTempCo */
+			/* 0x009C */	0x0247	/* nIChgTerm */
+			/* 0x00B2 */	0x3850	/* nMiscCFG */
+			/* 0x009E */	0x0400	/* nModelCfg */
+			/* 0x00CA */	0xC8FF	/* nThermCfg */
+			/* 0x009D */	0xCEA4	/* nFilterCfg */
+		>;
+	};
+
+	/* BC79_2mOhm_3525(4.5V)_COS_RC2_Ver1.txt, b/299336669#comment6 */
+	max77779,cos-2k-4500mv {
+		max77779,batt-id-kohm = <18>;
+		max77779,model-version = <3>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+                        0xa4f0 0xb720 0xb8b0 0xba40 0xbd00 0xbe60 0xbfa0 0xc120
+                        0xc2e0 0xc650 0xc9c0 0xcd50 0xd100 0xd800 0xdb00 0xdf20
+                        0x0130 0x0f00 0x0d00 0x1000 0x1460 0x1300 0x0e40 0x0e90
+                        0x06e0 0x06f0 0x07b0 0x05f0 0x06c0 0x07f0 0x05c0 0x05c0
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */	0xc1b0	/* nNVCfg0 */
+			/* 0x00B6 */	0x043c	/* RelaxCFG */
+			/* 0x009F */	0x2606	/* nLearnCFG */
+			/* 0x000C */	0x4207	/* Config */
+			/* 0x00AB */	0x0080	/* Config2 */
+			/* 0x00BC */	0x5f00	/* nFullSOCthr */
+			/* 0x00A9 */	0x0780	/* nFullCAPRep */
+			/* 0x00B3 */	0x0780	/* nDesignCap */
+			/* 0x0046 */	0x0C80	/* dPacc */
+			/* 0x00A5 */	0x0780	/* nFullCAPNom */
+			/* 0x00C6 */	0xa55a	/* nV_empty */
+			/* 0x00A0 */	0x360d	/* nQRTable00 */
+			/* 0x00A1 */	0x1b84	/* nQRTable10 */
+			/* 0x00A2 */	0x0e00	/* nQRTable20 */
+			/* 0x00A3 */	0x0b00	/* nQRTable30 */
+			/* 0x00A6 */	0x05f0	/* nRCOMP0 */
+			/* 0x00A7 */	0x1e02	/* nTempCo */
+			/* 0x009C */	0x0247	/* nIChgTerm */
+			/* 0x00B2 */	0x3850	/* nMiscCFG */
+			/* 0x009E */	0x0400	/* nModelCfg */
+			/* 0x00CA */	0xC8FF	/* nThermCfg */
+			/* 0x009D */	0xCEA4	/* nFilterCfg */
+		>;
+	};
+
+	/* BC79_2mOhm_3526(4.5V)_LWN_RC2_Ver1.txt, b/299336669#comment6 */
+	max77779,lwn-4k-4500mv {
+		max77779,batt-id-kohm = <20>;
+		max77779,model-version = <3>;
+		max77779,force-reset-model-data;
+		max77779,fg-model = /bits/ 16 <
+                        0xa510 0xb7b0 0xb990 0xbaa0 0xbbf0 0xbd80 0xbe80 0xbfb0
+                        0xc2a0 0xc620 0xc9b0 0xcd50 0xd110 0xd7a0 0xdb50 0xdf40
+                        0x0130 0x1310 0x0a00 0x1200 0x0f00 0x1710 0x1440 0x0dd0
+                        0x07e0 0x06d0 0x06f0 0x06d0 0x06f0 0x07f0 0x04a0 0x04a0
+		>;
+		max77779,fg-params = /bits/ 16 <
+			/* 0x00C0 */	0xc1b0	/* nNVCfg0 */
+			/* 0x00B6 */	0x043c	/* RelaxCFG */
+			/* 0x009F */	0x2606	/* nLearnCFG */
+			/* 0x000C */	0x4207	/* Config */
+			/* 0x00AB */	0x0080	/* Config2 */
+			/* 0x00BC */	0x5f00	/* nFullSOCthr */
+			/* 0x00A9 */	0x0780	/* nFullCAPRep */
+			/* 0x00B3 */	0x0780	/* nDesignCap */
+			/* 0x0046 */	0x0C80	/* dPacc */
+			/* 0x00A5 */	0x0780	/* nFullCAPNom */
+			/* 0x00C6 */	0xa55a	/* nV_empty */
+			/* 0x00A0 */	0x4285	/* nQRTable00 */
+			/* 0x00A1 */	0x2082	/* nQRTable10 */
+			/* 0x00A2 */	0x0f00	/* nQRTable20 */
+			/* 0x00A3 */	0x0b00	/* nQRTable30 */
+			/* 0x00A6 */	0x05d0	/* nRCOMP0 */
+			/* 0x00A7 */	0x1902	/* nTempCo */
+			/* 0x009C */	0x0247	/* nIChgTerm */
+			/* 0x00B2 */	0x3850	/* nMiscCFG */
+			/* 0x009E */	0x0400	/* nModelCfg */
+			/* 0x00CA */	0xC8FF	/* nThermCfg */
+			/* 0x009D */	0xCEA4	/* nFilterCfg */
+		>;
+	};
+};
diff --git a/dts/zuma-tokay-proto1-broadcom-gnss.dts b/dts/zuma-tokay-proto1-broadcom-gnss.dts
new file mode 100644
index 0000000..aca773c
--- /dev/null
+++ b/dts/zuma-tokay-proto1-broadcom-gnss.dts
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ESIM_NO_CHIP_ENABLE_PIN
+#include "zuma-caimito-common.dtsi"
+#include "zuma-tokay-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zuma-tokay-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40a02>;
+	board_rev = <0x010001>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA TOKAY Proto 1.0 Broadcom GNSS board based on ZUMA";
+			compatible = "google,ZUMA TOKAY", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-tokay-proto1-samsung-gnss.dts b/dts/zuma-tokay-proto1-samsung-gnss.dts
new file mode 100644
index 0000000..8e4e6c1
--- /dev/null
+++ b/dts/zuma-tokay-proto1-samsung-gnss.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ESIM_NO_CHIP_ENABLE_PIN
+#include "zuma-caimito-common.dtsi"
+#include "zuma-tokay-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zuma-tokay-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40a02>;
+	board_rev = <0x010000>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA TOKAY Proto 1.0 Samsung GNSS board based on ZUMA";
+			compatible = "google,ZUMA TOKAY", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-tokay-proto1_1-broadcom-gnss.dts b/dts/zuma-tokay-proto1_1-broadcom-gnss.dts
new file mode 100644
index 0000000..bf31253
--- /dev/null
+++ b/dts/zuma-tokay-proto1_1-broadcom-gnss.dts
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zuma-caimito-common.dtsi"
+#include "zuma-tokay-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zuma-tokay-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40a02>;
+	board_rev = <0x010101>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA TOKAY Proto 1.1 Broadcom GNSS board based on ZUMA";
+			compatible = "google,ZUMA TOKAY", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-tokay-proto1_1-samsung-gnss.dts b/dts/zuma-tokay-proto1_1-samsung-gnss.dts
new file mode 100644
index 0000000..daef9d8
--- /dev/null
+++ b/dts/zuma-tokay-proto1_1-samsung-gnss.dts
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zuma-caimito-common.dtsi"
+#include "zuma-tokay-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zuma-tokay-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x40a02>;
+	board_rev = <0x010100>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA TOKAY Proto 1.1 Samsung GNSS board based on ZUMA";
+			compatible = "google,ZUMA TOKAY", "google,ZUMA";
+		};
+	};
+};
diff --git a/dts/zuma-tokay-touch.dtsi b/dts/zuma-tokay-touch.dtsi
new file mode 100644
index 0000000..3300d0b
--- /dev/null
+++ b/dts/zuma-tokay-touch.dtsi
@@ -0,0 +1,1015 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Google Tokay touch device tree source
+ *
+ * Copyright 2023 Google LLC.
+ *
+ */
+
+&spitouch {
+	goog,panel_map = <&google_gs_tk4a 0>,
+			 <&google_gs_tk4b 1>,
+			 <&google_gs_tk4c 0>;
+	goog,touch_offload_ids = /bits/ 8 <'t' 'k' '4' '0' 't' 'k' '4' '1'>;
+	goog,display-resolution = /bits/ 16 <1080 2424>;
+	goog,channel-num = /bits/ 16 <16 36>;
+	goog,offload-caps-data-types = /bits/ 16 <0x1F>;
+	goog,offload-caps-scan-types = /bits/ 16 <0xC0>;
+	goog,offload-caps-context-channel-types = /bits/ 16 <0x0100>;
+	goog,offload-caps-coord-filter;
+	goog,lptw-tracking-area = <390 690 1605 1905>;
+
+	synaptics,pixels-per-mm = <17>;
+	synaptics,panel_map = <&google_gs_tk4a 0>,
+			      <&google_gs_tk4b 1>,
+			      <&google_gs_tk4c 2>;
+	synaptics,firmware_names = "synaptics.img",
+				   "synaptics_b.img",
+				   "synaptics_c.img";
+	synaptics,test_algo = <0 1 0>;
+
+	synaptics,pt05_high_name = "synaptics,pt05_high", "synaptics,pt05_high_b",
+				   "synaptics,pt05_high_c";
+	synaptics,pt05_low_name = "synaptics,pt05_low", "synaptics,pt05_low_b",
+				  "synaptics,pt05_low_c";
+	synaptics,pt05_gap_x_name = "synaptics,pt05_gap_x", "synaptics,pt05_gap_x_b",
+				    "synaptics,pt05_gap_x_c";
+	synaptics,pt05_gap_y_name = "synaptics,pt05_gap_y", "synaptics,pt05_gap_y_b",
+				    "synaptics,pt05_gap_y_c";
+	synaptics,pt0a_high_name = "synaptics,pt0a_high", "synaptics,pt0a_high_b",
+				   "synaptics,pt0a_high_c";
+	synaptics,pt0a_low_name = "synaptics,pt0a_low", "synaptics,pt0a_low_b",
+				  "synaptics,pt0a_low_c";
+	synaptics,pt10_high_name = "synaptics,pt10_high", "synaptics,pt10_high_b",
+				   "synaptics,pt10_high_c";
+	synaptics,pt10_low_name = "synaptics,pt10_low", "synaptics,pt10_low_b",
+				  "synaptics,pt10_low_c";
+	synaptics,pt10_gap_x_name = "synaptics,pt10_gap_x", "synaptics,pt10_gap_x_b",
+				    "synaptics,pt10_gap_x_c";
+	synaptics,pt10_gap_y_name = "synaptics,pt10_gap_y", "synaptics,pt10_gap_y_b",
+				    "synaptics,pt10_gap_y_c";
+	synaptics,pt11_high_name = "synaptics,pt11_high", "synaptics,pt11_high_b",
+				   "synaptics,pt11_high_c";
+	synaptics,pt11_low_name = "synaptics,pt11_low", "synaptics,pt11_low_b",
+				  "synaptics,pt11_low_c";
+	synaptics,pt12_high_name = "synaptics,pt12_high", "synaptics,pt12_high_b",
+				   "synaptics,pt12_high_c";
+	synaptics,pt12_low_name = "synaptics,pt12_low", "synaptics,pt12_low_b",
+				  "synaptics,pt12_low_c";
+	synaptics,pt16_high_name = "synaptics,pt16_high", "synaptics,pt16_high_b",
+				   "synaptics,pt16_high_c";
+	synaptics,pt16_low_name = "synaptics,pt16_low", "synaptics,pt16_low_b",
+				  "synaptics,pt16_low_c";
+	synaptics,pt_tag_moisture_name = "synaptics,pt_tag_moisture",
+					 "synaptics,pt_tag_moisture_b",
+					 "synaptics,pt_tag_moisture_c";
+
+	/* For tk4a */
+	synaptics,pt05_high = /bits/ 16 <
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900>;
+	synaptics,pt05_low = /bits/ 16 <
+10 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 10
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
+10 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 10>;
+	synaptics,pt05_gap_x = /bits/ 16 <
+85 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 97 97
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 50
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+55 55 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+55 55 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+97 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 85
+97 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 85 45>;
+	synaptics,pt05_gap_y = /bits/ 16 <
+85 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 97 97
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 50
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+55 55 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+55 55 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+50 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 45
+97 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 50 85
+97 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 85 45>;
+
+	synaptics,pt0a_high = /bits/ 16 <
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50>;
+	synaptics,pt0a_low = /bits/ 16 <
+(-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50)
+(-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50)
+(-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50)
+(-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50)
+(-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50)
+(-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50)
+(-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50)
+(-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50)
+(-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50)
+(-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50)
+(-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50)
+(-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50)
+(-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50)
+(-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50)
+(-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50)
+(-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50) (-50)>;
+
+	synaptics,pt10_high = /bits/ 16 <
+55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
+55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
+55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
+55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
+55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
+55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
+55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
+55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
+55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
+55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
+55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
+55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
+55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
+55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
+55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
+55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55>;
+	synaptics,pt10_low = /bits/ 16 <
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>;
+	synaptics,pt10_gap_x = /bits/ 16 <
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50>;
+	synaptics,pt10_gap_y = /bits/ 16 <
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50
+50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50>;
+
+	synaptics,pt11_high = /bits/ 16 <
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200>;
+	synaptics,pt11_low = /bits/ 16 <
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70>;
+
+	synaptics,pt12_high = <
+370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 370000 490000 490000 490000 490000 490000 490000 490000 490000 490000 490000 490000 490000 490000 490000 490000 490000>;
+	synaptics,pt12_low = <
+190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 190000 270000 270000 270000 270000 270000 270000 270000 270000 270000 270000 270000 270000 270000 270000 270000 270000>;
+
+	synaptics,pt16_high = /bits/ 16 <
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900
+900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900 900>;
+	synaptics,pt16_low = /bits/ 16 <
+10 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 10
+110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110
+110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110
+110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110
+110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110
+110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110
+110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110
+110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110
+110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110
+110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110
+110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110
+110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110
+110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110
+110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110
+110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110
+10 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 110 10>;
+
+	synaptics,pt_tag_moisture = /bits/ 16 <
+1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 0
+1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 0
+1000 1000 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 1000 1000 0
+1000 1000 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 1000 1000 0
+1000 1000 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 1000 1000 0
+1000 1000 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 1000 1000 0
+1000 1000 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 1000 1000 0
+1000 1000 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 1000 1000 0
+1000 1000 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 1000 1000 0
+1000 1000 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 1000 1000 0
+1000 1000 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 1000 1000 0
+1000 1000 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 1000 1000 0
+1000 1000 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 1000 1000 0
+1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 0
+1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>;
+
+	/* For tk4b */
+	synaptics,pt05_high_b = /bits/ 16 <
+267 940 1097 1096 1091 1088 1083 1082 1082 1081 1078 1074 1072 1072 1077 1081 1090 1108 973 974 975 974 974 1001 972 973 972 973 973 972 970 982 972 970 841 206
+761 1036 1031 1041 1029 1018 1018 1018 1018 1017 1017 1036 1010 1010 1012 1012 1010 1012 1009 1008 1008 1009 1008 1006 1007 1007 1007 1007 1008 1005 1004 1005 1006 1006 1007 832
+875 1035 1028 1024 1022 1017 1016 1017 1017 1016 1016 1017 1009 1009 1010 1010 1010 1011 1009 1008 1008 1009 1009 1006 1007 1007 1007 1007 1008 1005 1004 1005 1005 1005 1006 934
+873 1034 1028 1032 1022 1017 1016 1017 1016 1015 1016 1032 1008 1009 1010 1009 1008 1009 1009 1008 1008 1009 1009 1006 1008 1007 1007 1007 1008 1005 1004 1005 1006 1006 1006 930
+873 1034 1028 1023 1021 1016 1016 1017 1016 1015 1016 1011 1008 1008 1009 1009 1008 1009 1009 1008 1008 1009 1009 1006 1008 1008 1007 1007 1008 1005 1004 1005 1006 1006 1006 941
+873 1034 1028 1023 1022 1017 1016 1017 1017 1015 1016 1011 1008 1008 1010 1009 1007 1009 1010 1008 1009 1009 1009 1007 1008 1008 1007 1007 1008 1006 1004 1005 1006 1006 1006 948
+873 1033 1028 1024 1022 1016 1016 1016 1016 1015 1016 1010 1008 1008 1009 1009 1007 1010 1009 1008 1008 1009 1009 1006 1008 1008 1007 1007 1008 1005 1003 1005 1006 1005 1006 953
+872 682 1000 1025 1021 1016 1015 1015 1015 1014 1015 1009 1007 1007 1008 1008 1006 1009 1009 1007 1007 1008 1008 1005 1007 1007 1006 1006 1008 1005 1002 1004 1005 1005 1006 960
+870 699 1007 1023 1021 1016 1014 1015 1014 1014 1014 1009 1006 1006 1007 1007 1006 1007 1009 1007 1008 1009 1008 1006 1007 1007 1006 1007 1008 1005 1002 1004 1005 1005 1006 969
+870 1032 1028 1023 1021 1016 1014 1015 1014 1013 1014 1009 1006 1006 1007 1007 1006 1007 1009 1008 1008 1009 1008 1006 1007 1007 1006 1006 1008 1005 1002 1004 1005 1005 1005 954
+872 1032 1026 1022 1020 1015 1014 1015 1014 1013 1013 1009 1006 1006 1008 1007 1006 1007 1009 1007 1007 1009 1008 1007 1007 1007 1006 1006 1008 1005 1002 1009 1005 1004 1005 945
+872 1032 1026 1021 1020 1015 1014 1015 1014 1013 1013 1009 1006 1006 1008 1007 1006 1007 1009 1008 1008 1009 1009 1006 1007 1007 1006 1006 1008 1005 1003 1004 1005 1004 1006 942
+870 1032 1025 1020 1018 1015 1014 1014 1014 1012 1013 1008 1005 1005 1007 1006 1005 1006 1009 1008 1007 1009 1008 1005 1007 1007 1006 1006 1007 1005 1002 1005 1006 1004 1006 934
+868 1030 1023 1019 1016 1012 1012 1012 1012 1010 1011 1006 1003 1003 1005 1004 1003 1004 1008 1007 1007 1008 1007 1005 1006 1006 1006 1005 1007 1004 1002 1004 1005 1004 1006 948
+743 1028 1022 1018 1015 1011 1010 1011 1010 1010 1010 1005 1002 1002 1004 1004 1001 1003 1008 1006 1007 1007 1006 1005 1005 1006 1005 1005 1006 1003 1001 1003 1004 1005 1007 827
+140 846 1013 1013 1011 1009 1005 1007 1008 1008 1005 1002 1000 999 999 999 1000 1000 1056 1052 1051 1050 1045 1049 1050 1047 1044 1044 1041 1043 1040 1039 1038 1027 920 293>;
+	synaptics,pt05_low_b = /bits/ 16 <
+110 521 609 608 605 603 601 601 601 600 598 596 595 595 598 600 604 615 540 540 541 540 540 556 539 540 539 540 540 539 538 545 539 538 467 85
+422 621 618 624 617 610 610 610 610 609 609 621 605 605 606 606 605 606 605 604 604 605 604 603 604 603 603 603 604 602 602 602 603 603 603 461
+485 620 616 614 612 609 609 609 609 609 609 610 605 605 605 605 605 606 604 604 604 604 604 603 603 603 603 603 604 602 601 602 602 602 603 518
+484 620 616 618 612 610 609 609 609 608 609 618 604 605 605 605 604 605 605 604 604 605 604 603 604 604 604 603 604 602 602 602 603 603 603 516
+484 620 616 613 612 609 609 609 609 608 609 606 604 604 605 605 604 605 605 604 604 605 605 603 604 604 604 603 604 602 601 602 603 603 603 522
+484 620 616 613 612 609 609 609 609 608 609 606 604 604 605 604 604 605 605 604 604 605 605 603 604 604 604 604 604 603 601 602 603 603 603 526
+484 619 616 613 612 609 609 609 609 608 609 605 604 604 605 604 603 605 605 604 604 605 605 603 604 604 604 603 604 602 601 602 603 602 603 528
+450 352 599 614 612 609 608 608 608 608 608 605 604 604 604 604 603 605 604 604 604 604 604 602 603 603 603 603 604 602 601 602 602 602 603 533
+449 361 603 613 612 609 608 608 608 607 608 604 603 603 604 604 603 603 604 604 604 604 604 603 603 603 603 603 604 602 601 602 602 602 603 537
+483 618 616 613 612 609 608 608 608 607 607 605 603 603 604 603 603 603 605 604 604 605 604 603 603 604 603 603 604 602 600 602 602 602 602 529
+483 619 615 612 611 608 608 608 608 607 607 605 603 603 604 603 603 603 604 604 603 605 604 603 604 604 603 603 604 602 600 604 602 602 602 524
+483 619 615 612 611 608 608 608 608 607 607 605 603 603 604 603 603 603 604 604 604 605 604 603 604 603 603 603 604 602 601 601 602 602 603 522
+483 618 614 611 610 608 608 608 607 606 607 604 602 602 603 603 602 603 604 604 604 604 604 602 603 603 603 603 604 602 601 602 603 602 603 518
+482 617 613 611 609 607 606 607 606 605 606 603 601 601 602 602 601 602 604 604 603 604 603 602 603 603 603 602 603 601 600 601 602 602 603 526
+412 616 613 610 608 606 605 606 605 605 605 602 601 600 602 601 600 601 604 603 603 603 603 602 602 603 602 602 603 601 600 601 602 602 603 459
+57 469 562 562 561 560 558 558 559 559 558 556 555 554 554 554 555 555 586 584 583 582 580 582 583 581 579 580 577 579 577 576 576 570 510 121>;
+
+	synaptics,pt05_gap_x_b = /bits/ 16 <
+442 44 26 25 26 25 26 25 25 26 26 26 26 26 26 27 27 39 26 26 26 26 28 28 26 27 26 25 27 26 28 27 27 38 183
+77 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49
+58 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41
+58 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41
+57 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 40
+58 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 37
+58 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 37
+46 97 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 37
+46 97 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 37
+56 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 37
+58 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 38
+58 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 38
+58 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 40
+58 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 38
+80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49
+993 47 26 26 27 26 26 26 25 26 26 26 26 26 26 26 26 32 27 26 25 26 26 25 25 26 26 26 26 26 25 26 26 35 176>;
+	synaptics,pt05_gap_y_b = /bits/ 16 <
+351 44 22 27 27 27 26 27 26 27 27 27 27 27 25 27 27 27 36 35 36 36 36 34 36 35 35 35 35 36 36 35 35 36 57 557
+40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 38
+26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 25
+21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28
+23 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28
+28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28
+29 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28
+22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28
+30 101 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28
+26 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28
+29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 25
+22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28
+25 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28
+37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 36
+189 47 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 33 40 173>;
+
+	synaptics,pt0a_high_b = /bits/ 16 <
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30>;
+	synaptics,pt0a_low_b = /bits/ 16 <
+(-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30)
+(-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30)
+(-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30)
+(-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30)
+(-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30)
+(-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30)
+(-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30)
+(-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30)
+(-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30)
+(-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30)
+(-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30)
+(-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30)
+(-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30)
+(-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30)
+(-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30)
+(-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30) (-30)>;
+
+	synaptics,pt10_high_b = /bits/ 16 <
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100>;
+	synaptics,pt10_low_b = /bits/ 16 <
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>;
+	synaptics,pt10_gap_x_b = /bits/ 16 <
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30>;
+	synaptics,pt10_gap_y_b = /bits/ 16 <
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
+30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30>;
+
+	synaptics,pt11_high_b = /bits/ 16 <
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200>;
+	synaptics,pt11_low_b = /bits/ 16 <
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70
+70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70>;
+
+	synaptics,pt12_high_b = <
+220059 233254 236245 235018 234082 233695 233708 232649 232340 232148 231546 231303 231950 232174 231679 231196 231440 230383 238994 238646 238403 237953 237900 237136 237814 237585 237520 237133 236979 236409 236550 236330 236211 236015 234921 215869 504826 512772 514041 513647 513627 514120 513576 513974 521439 522994 523648 522418 521832 522441 521763 510612>;
+	synaptics,pt12_low_b = <
+132035 139952 141746 141010 140448 140216 140224 139589 139403 139288 138927 138781 139169 139304 139007 138717 138863 138229 143396 143187 143041 142771 142739 142281 142688 142550 142511 142279 142187 141844 141929 141797 141726 141608 140952 129520 302895 307662 308424 308188 308175 308471 308145 308384 312863 313796 314188 313450 313099 313464 313057 306367>;
+
+	synaptics,pt16_high_b = /bits/ 16 <
+285 949 1103 1101 1098 1094 1089 1089 1088 1088 1084 1082 1077 1078 1083 1086 1095 1115 980 978 978 981 980 1010 978 978 977 980 980 977 976 988 978 975 848 222
+772 1041 1031 1042 1030 1022 1019 1019 1019 1019 1018 1040 1011 1011 1014 1012 1012 1014 1010 1009 1008 1010 1009 1009 1009 1008 1007 1009 1008 1007 1005 1005 1007 1008 1007 840
+882 1038 1025 1022 1020 1018 1015 1015 1015 1015 1015 1018 1007 1007 1009 1008 1008 1010 1007 1006 1005 1007 1006 1006 1006 1005 1004 1006 1006 1004 1002 1002 1004 1004 1004 940
+886 1044 1031 1037 1027 1025 1021 1022 1022 1022 1021 1039 1013 1013 1015 1013 1013 1015 1014 1013 1012 1014 1013 1013 1013 1013 1012 1013 1013 1011 1009 1009 1011 1011 1011 943
+887 1044 1032 1028 1027 1025 1021 1022 1022 1022 1022 1020 1014 1013 1016 1014 1014 1015 1015 1014 1013 1015 1014 1014 1014 1013 1012 1014 1013 1011 1010 1010 1012 1012 1012 953
+883 1041 1028 1025 1024 1021 1018 1019 1019 1019 1018 1016 1010 1010 1012 1010 1010 1011 1011 1010 1010 1012 1011 1011 1010 1010 1009 1010 1010 1008 1006 1007 1008 1009 1009 957
+886 1042 1032 1029 1027 1024 1021 1022 1022 1021 1021 1019 1013 1013 1015 1013 1013 1015 1014 1013 1013 1015 1014 1014 1013 1013 1012 1013 1013 1011 1009 1009 1011 1011 1012 964
+887 695 1005 1030 1026 1024 1020 1021 1021 1021 1020 1018 1013 1012 1014 1012 1012 1015 1014 1013 1012 1014 1013 1013 1013 1012 1011 1013 1012 1010 1008 1009 1011 1011 1011 973
+885 713 1012 1029 1026 1024 1020 1021 1021 1021 1020 1018 1013 1012 1014 1013 1012 1013 1014 1013 1013 1015 1013 1014 1013 1013 1012 1013 1013 1011 1009 1010 1011 1011 1012 981
+888 1045 1036 1032 1030 1027 1024 1025 1024 1024 1023 1021 1016 1015 1017 1016 1015 1016 1018 1016 1016 1018 1017 1017 1016 1016 1015 1016 1016 1014 1012 1013 1014 1014 1015 969
+889 1047 1036 1032 1031 1028 1025 1026 1025 1025 1024 1022 1016 1016 1018 1017 1016 1017 1019 1017 1017 1019 1018 1020 1018 1018 1016 1017 1017 1015 1013 1019 1016 1015 1016 962
+888 1046 1035 1031 1030 1027 1024 1025 1024 1024 1024 1022 1016 1015 1018 1016 1015 1017 1019 1018 1017 1019 1017 1018 1017 1017 1016 1017 1016 1015 1013 1013 1015 1015 1015 958
+883 1041 1029 1026 1024 1022 1019 1020 1019 1019 1019 1017 1011 1010 1013 1011 1011 1012 1014 1013 1012 1014 1013 1013 1012 1012 1011 1012 1012 1010 1008 1010 1010 1010 1010 946
+879 1037 1024 1021 1019 1017 1014 1015 1015 1014 1014 1012 1006 1006 1008 1006 1006 1007 1010 1009 1008 1010 1009 1009 1009 1008 1008 1008 1008 1006 1005 1005 1007 1007 1008 957
+757 1039 1028 1024 1022 1020 1017 1018 1017 1017 1017 1015 1009 1009 1011 1009 1009 1010 1014 1013 1012 1014 1013 1013 1012 1012 1011 1012 1012 1010 1009 1009 1011 1012 1013 840
+160 859 1021 1020 1020 1016 1013 1014 1014 1014 1014 1012 1007 1007 1008 1007 1007 1008 1064 1059 1057 1057 1053 1058 1056 1054 1052 1052 1049 1050 1048 1047 1047 1036 928 311>;
+	synaptics,pt16_low_b = /bits/ 16 <
+118 527 612 611 609 607 604 604 604 603 602 600 598 598 601 603 608 619 543 543 543 544 543 560 543 543 542 543 543 542 542 548 543 541 470 91
+428 624 618 624 617 612 610 611 611 611 610 623 606 606 607 606 606 608 605 604 604 605 605 605 604 604 604 604 604 603 602 602 604 604 604 466
+489 622 614 613 611 610 608 608 608 608 608 610 603 603 605 604 604 605 603 603 602 604 603 603 603 602 602 603 603 601 600 601 602 602 602 521
+491 625 618 622 615 614 612 612 612 612 612 623 607 607 608 607 607 608 608 607 607 608 607 607 607 607 606 607 607 606 605 605 606 606 606 523
+492 626 618 616 615 614 612 613 613 612 613 611 607 607 609 608 607 608 608 607 607 608 608 608 607 607 607 607 607 606 605 605 606 606 606 529
+490 624 616 614 613 612 610 610 611 610 610 609 605 605 606 605 605 606 606 605 605 606 606 606 605 605 605 605 605 604 603 603 604 604 604 531
+491 625 619 616 615 614 612 612 612 612 612 611 607 607 608 607 607 608 608 607 607 608 607 607 607 607 606 607 607 606 605 605 606 606 606 535
+458 358 602 617 615 613 611 612 612 612 611 610 607 606 608 607 607 608 608 607 606 608 607 607 607 607 606 607 606 605 604 605 606 606 606 540
+457 368 607 617 615 613 611 612 612 612 611 610 607 606 608 607 606 607 608 607 607 608 607 607 607 607 606 607 607 606 605 605 606 606 606 544
+492 626 621 618 617 615 613 614 614 614 613 612 609 608 610 609 608 609 610 609 609 610 609 609 609 609 608 609 609 608 607 607 608 608 608 538
+493 627 621 619 618 616 614 615 614 614 614 613 609 609 610 609 609 610 611 610 609 611 610 611 610 610 609 610 609 608 607 611 609 608 609 534
+493 627 620 618 617 615 613 614 614 614 613 612 609 608 610 609 608 609 610 610 609 610 610 610 609 609 609 609 609 608 607 607 608 608 608 531
+490 624 617 615 614 612 610 611 611 611 610 609 606 605 607 606 606 606 608 607 606 608 607 607 607 606 606 607 606 605 604 605 605 605 605 525
+488 621 614 612 611 609 608 608 608 608 608 606 603 603 604 603 603 604 605 604 604 605 604 605 604 604 604 604 604 603 602 602 604 604 604 531
+420 623 616 614 613 611 609 610 610 610 609 608 605 604 606 605 605 605 608 607 606 608 607 607 607 606 606 607 606 605 604 605 606 606 607 466
+66 476 566 566 566 564 562 563 563 563 562 562 558 558 559 558 558 559 590 588 587 587 584 587 586 585 584 583 582 583 581 580 581 574 515 128>;
+
+	synaptics,pt_tag_moisture_b = /bits/ 16 <
+800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 0
+800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 0
+800 800 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 800 800 0
+800 800 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 800 800 0
+800 800 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 800 800 0
+800 800 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 800 800 0
+800 800 800 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 800 800 0
+800 800 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 800 800 0
+800 800 800 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 800 800 0
+800 800 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 800 800 0
+800 800 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 800 800 0
+800 800 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 800 800 0
+800 800 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 800 800 0
+800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 0
+800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 800 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>;
+
+	/* For tk4c */
+	synaptics,pt05_high_c = /bits/ 16 <
+500 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 250
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+250 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 500>;
+	synaptics,pt05_low_c = /bits/ 16 <
+100 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 25
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+25 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 100>;
+	synaptics,pt05_gap_x_c = /bits/ 16 <
+85 50 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 95 95
+65 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 65 65
+35 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+35 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+35 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+35 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+35 50 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+50 50 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+50 50 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+35 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+35 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+35 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+35 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+50 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 50
+98 50 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 50 65
+98 50 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 65 35>;
+	synaptics,pt05_gap_y_c = /bits/ 16 <
+85 50 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 95 95
+65 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 65 65
+35 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+35 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+35 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+35 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+35 50 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+50 50 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+50 50 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+35 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+35 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+35 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+35 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 35
+50 35 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 50
+98 50 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 50 65
+98 50 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 50 65 35>;
+
+	synaptics,pt0a_high_c = /bits/ 16 <
+35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
+35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
+35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
+35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
+35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
+35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
+35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
+35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
+35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
+35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
+35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
+35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
+35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
+35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
+35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35
+35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35  35>;
+	synaptics,pt0a_low_c = /bits/ 16 <
+(-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35)
+(-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35)
+(-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35)
+(-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35)
+(-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35)
+(-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35)
+(-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35)
+(-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35)
+(-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35)
+(-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35)
+(-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35)
+(-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35)
+(-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35)
+(-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35)
+(-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35)
+(-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35) (-35)>;
+
+	synaptics,pt10_high_c = /bits/ 16 <
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45>;
+	synaptics,pt10_low_c = /bits/ 16 <
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>;
+	synaptics,pt10_gap_x_c = /bits/ 16 <
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45>;
+	synaptics,pt10_gap_y_c = /bits/ 16 <
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45
+45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45  45>;
+
+	synaptics,pt11_high_c = /bits/ 16 <
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145
+145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145 145>;
+	synaptics,pt11_low_c = /bits/ 16 <
+95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95
+95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95
+95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95
+95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95
+95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95
+95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95
+95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95
+95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95
+95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95
+95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95
+95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95
+95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95
+95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95
+95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95
+95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95
+95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95>;
+
+	synaptics,pt12_high_c = <
+260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 260000 380000 380000 380000 380000 380000 380000 380000 380000 380000 380000 380000 380000 380000 380000 380000 380000>;
+	synaptics,pt12_low_c = <
+160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 160000 270000 270000 270000 270000 270000 270000 270000 270000 270000 270000 270000 270000 270000 270000 270000 270000>;
+
+	synaptics,pt16_high_c = /bits/ 16 <
+500 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 250
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700
+250 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 700 500>;
+	synaptics,pt16_low_c = /bits/ 16 <
+150 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 50
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
+35 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 150>;
+
+	synaptics,pt_tag_moisture_c = /bits/ 16 <
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0
+600 600 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 600 600 0
+600 600 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 600 600 0
+600 600 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 600 600 0
+600 600 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 600 600 0
+600 600 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 600 600 0
+600 600 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 600 600 0
+600 600 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 600 600 0
+600 600 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 600 600 0
+600 600 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 600 600 0
+600 600 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 600 600 0
+600 600 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150 600 600 0
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0
+600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>;
+
+	/*ical limit */
+	synaptics,pt05_high_b_ical = /bits/ 16 <
+299 1085 1268 1268 1263 1259 1256 1254 1253 1253 1250 1244 1242 1244 1248 1253 1265 1284 1131 1131 1133 1131 1130 1163 1130 1130 1130 1130 1130 1128 1127 1140 1130 1127 980 249
+885 1298 1290 1302 1286 1275 1274 1274 1274 1272 1272 1295 1265 1262 1265 1265 1265 1266 1262 1260 1262 1262 1262 1259 1260 1260 1260 1260 1262 1259 1256 1257 1259 1262 1265 968
+1016 1295 1198 1194 1189 1186 1184 1184 1184 1183 1183 1183 1175 1175 1176 1176 1177 1176 1173 1173 1173 1175 1175 1170 1173 1173 1173 1173 1173 1172 1169 1169 1172 1175 1262 1083
+1014 1295 1198 1203 1189 1186 1183 1183 1184 1183 1182 1201 1175 1173 1175 1175 1175 1173 1175 1173 1173 1175 1175 1172 1173 1173 1173 1173 1175 1172 1169 1170 1172 1175 1262 1080
+1014 1295 1198 1193 1187 1184 1183 1183 1184 1183 1183 1177 1175 1173 1175 1175 1175 1173 1175 1173 1175 1175 1175 1172 1173 1173 1173 1173 1175 1172 1169 1170 1172 1175 1263 1092
+1014 1295 1198 1193 1189 1186 1183 1183 1186 1183 1182 1177 1175 1173 1175 1175 1175 1173 1175 1175 1175 1175 1175 1172 1173 1173 1173 1173 1175 1172 1169 1170 1173 1176 1263 1101
+1014 1295 1200 1194 1189 1184 1183 1183 1183 1182 1182 1177 1175 1173 1175 1173 1173 1173 1173 1173 1175 1175 1173 1170 1173 1173 1173 1173 1173 1170 1169 1170 1172 1175 1263 1107
+1036 805 1294 1196 1187 1183 1182 1182 1183 1182 1182 1176 1173 1172 1173 1172 1172 1173 1173 1172 1173 1173 1173 1170 1172 1172 1172 1172 1173 1170 1169 1169 1172 1175 1262 1116
+1033 817 1304 1194 1187 1183 1182 1180 1182 1182 1180 1175 1172 1170 1172 1172 1172 1170 1173 1172 1173 1173 1173 1170 1172 1172 1172 1172 1173 1170 1169 1170 1172 1175 1263 1125
+1013 1295 1200 1191 1187 1183 1180 1180 1182 1180 1180 1175 1172 1170 1172 1172 1170 1170 1173 1172 1173 1173 1173 1169 1172 1172 1172 1172 1173 1170 1169 1169 1172 1173 1262 1109
+1013 1293 1197 1190 1186 1183 1180 1180 1182 1180 1180 1175 1172 1170 1172 1172 1170 1170 1173 1172 1173 1173 1173 1172 1172 1172 1172 1172 1173 1170 1169 1176 1172 1173 1262 1100
+1011 1292 1196 1190 1186 1183 1180 1180 1182 1180 1180 1175 1172 1170 1172 1172 1172 1170 1175 1173 1173 1175 1173 1170 1172 1172 1172 1172 1173 1170 1168 1169 1172 1173 1262 1094
+1011 1290 1194 1189 1184 1182 1180 1180 1182 1180 1179 1175 1172 1170 1172 1170 1170 1170 1173 1173 1173 1175 1173 1170 1172 1172 1172 1172 1172 1170 1168 1170 1172 1173 1260 1085
+1008 1290 1193 1189 1184 1182 1179 1179 1180 1179 1179 1173 1170 1169 1170 1170 1170 1169 1173 1173 1173 1175 1173 1170 1172 1172 1173 1172 1173 1170 1168 1169 1172 1173 1262 1101
+864 1289 1281 1275 1269 1266 1265 1266 1266 1265 1265 1259 1256 1254 1256 1256 1256 1254 1260 1259 1260 1260 1260 1257 1259 1259 1259 1259 1259 1257 1254 1256 1257 1260 1265 963
+170 984 1179 1179 1176 1173 1172 1173 1172 1172 1170 1166 1163 1161 1163 1163 1163 1163 1224 1220 1218 1217 1214 1215 1215 1215 1212 1212 1209 1211 1206 1206 1208 1194 1068 342>;
+	synaptics,pt05_low_b_ical = /bits/ 16 <
+22 104 122 122 121 121 120 120 120 120 120 119 119 119 120 120 121 123 108 108 108 108 108 111 108 108 108 108 108 108 108 109 108 108 93 17
+84 124 124 125 123 122 122 122 122 122 122 124 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 120 120 120 121 121 121 92
+97 124 123 123 122 122 122 122 122 122 122 122 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 120 120 120 120 120 121 104
+97 124 123 124 122 122 122 122 122 122 122 124 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 120 120 120 121 121 121 103
+97 124 123 123 122 122 122 122 122 122 122 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 120 120 120 121 121 121 104
+97 124 123 123 122 122 122 122 122 122 122 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 120 120 121 121 121 105
+97 124 123 123 122 122 122 122 122 122 122 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 120 120 120 121 120 121 106
+90 70 120 123 122 122 122 122 122 122 122 121 121 121 121 121 121 121 121 121 121 121 121 120 121 121 121 121 121 120 120 120 120 120 121 107
+90 72 121 123 122 122 122 122 122 121 122 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 120 120 120 120 120 121 107
+97 124 123 123 122 122 122 122 122 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 120 120 120 120 120 120 106
+97 124 123 122 122 122 122 122 122 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 120 120 121 120 120 120 105
+97 124 123 122 122 122 122 122 122 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 120 120 120 120 120 121 104
+97 124 123 122 122 122 122 122 121 121 121 121 120 120 121 121 120 121 121 121 121 121 121 120 121 121 121 121 121 120 120 120 121 120 121 104
+96 123 123 122 122 121 121 121 121 121 121 121 120 120 120 120 120 120 121 121 121 121 121 120 121 121 121 120 121 120 120 120 120 120 121 105
+82 123 123 122 122 121 121 121 121 121 121 120 120 120 120 120 120 120 121 121 121 121 121 120 120 121 120 120 121 120 120 120 120 120 121 92
+11 94 112 112 112 112 112 112 112 112 112 111 111 111 111 111 111 111 117 117 117 116 116 116 117 116 116 116 115 116 115 115 115 114 102 24>;
+	synaptics,pt05_gap_x_b_ical = /bits/ 16 <
+442 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 183
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+993 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 176>;
+	synaptics,pt05_gap_y_b_ical = /bits/ 16 <
+351 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 557
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400
+189 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 173>;
+
+	synaptics,pt12_high_b_ical = <
+264071 279905 283494 282022 280898 280434 280450 279179 278808 278578 277855 277564 278340 278609 278015 277435 277728 276460 286793 286375 286084 285544 285480 284563 285377 285102 285024 284560 284375 283691 283860 283596 283453 283218 281905 259043 605791 615326 616849 616376 616352 616944 616291 616769 625727 627593 628378 626902 626198 626929 626116 612734>;
+	synaptics,pt12_low_b_ical = <
+105628 111962 113397 112808 112358 112173 112179 111671 111522 111430 111142 111025 111335 111443 111206 110974 111090 110583 114717 114550 114433 114217 114191 113825 114150 114040 114009 113823 113750 113475 113543 113438 113381 113286 112762 103616 242316 246130 246739 246550 246540 246777 246516 246707 250290 251037 251350 250760 250479 250771 250446 245094>;
+
+	synaptics,pt05_high_c_ical = /bits/ 16 <
+600 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 300
+840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840
+840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840
+840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840
+840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840
+840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840
+840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840
+840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840
+840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840
+840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840
+840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840
+840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840
+840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840
+840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840
+840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840
+300 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 840 600>;
+	synaptics,pt05_low_c_ical = /bits/ 16 <
+50 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 13
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
+13 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 50>;
+	synaptics,pt05_gap_x_c_ical = /bits/ 16 <
+95 60 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 95 95
+75 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 75 75
+45 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+45 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+45 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+45 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+45 60 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+60 60 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+60 60 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+45 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+45 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+45 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+45 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+60 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 60
+95 60 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 60 75
+95 60 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 75 45>;
+	synaptics,pt05_gap_y_c_ical = /bits/ 16 <
+95 60 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 95 95
+75 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 75 75
+45 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+45 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+45 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+45 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+45 60 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+60 60 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+60 60 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+45 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+45 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+45 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+45 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 45
+60 45 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 60
+95 60 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 60 75
+95 60 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 60 75 45>;
+
+	synaptics,pt12_high_c_ical = <
+312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 312000 456000 456000 456000 456000 456000 456000 456000 456000 456000 456000 456000 456000 456000 456000 456000 456000>;
+	synaptics,pt12_low_c_ical = <
+128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 128000 216000 216000 216000 216000 216000 216000 216000 216000 216000 216000 216000 216000 216000 216000 216000 216000>;
+
+};
diff --git a/dts/zuma-tokay-usecases.dtsi b/dts/zuma-tokay-usecases.dtsi
new file mode 100644
index 0000000..076435b
--- /dev/null
+++ b/dts/zuma-tokay-usecases.dtsi
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Usecases specific to Tokay devices
+ *
+ * Copyright 2023 Google LLC
+ *
+ */
+
+/* system use cases */
+&max77779_chg {
+	max77779,rtx-ready = <&p9xxx_gpio 6 GPIO_ACTIVE_HIGH>;
+	max77779,rtx-available = <&p9xxx_gpio 7 GPIO_ACTIVE_HIGH>;
+};
diff --git a/dts/zuma-tokay-wcharger.dtsi b/dts/zuma-tokay-wcharger.dtsi
new file mode 100644
index 0000000..2da8c34
--- /dev/null
+++ b/dts/zuma-tokay-wcharger.dtsi
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Wireless Charger config for RA9530.
+ * Intended to be included into the approriate I2C bus.
+ *
+ * Copyright 2023 Google LLC
+ */
+
+&ra9530 {
+	idt,has_wlc_dc = <0>;
+	google,gpp_enhanced;
+	google,gpp_dcicl_ua = <1500000>;
+	google,wcin_inlim_en = <&max77779_gpio 0 GPIO_ACTIVE_HIGH>;
+	/* RTX */
+	idt,has_rtx_gpio;
+	/* BPP ICL */
+	google,bpp_dcicl_default_ua = <550000>;
+	google,bpp_dcicl_ramp_ua = <700000>;
+	google,bpp_dcicl_lower_vout_ua = <550000>;
+	google,bpp_dcicl_lower_vout_ramp_ua = <800000>;
+
+	fod = [9D 1E 52 7F D0 9A 99 03 98 0A A3 DA AA 27 80 32];
+	fod_epp = [91 38 8C 23 8A 40 8F 2A 8F 25 95 09 A5 36 80 1B];
+	google,q_value = <74>;
+	google,rf_value = <106>;
+};
+
diff --git a/dts/zuma-tokay-wifi-4390a0.dtsi b/dts/zuma-tokay-wifi-4390a0.dtsi
new file mode 100644
index 0000000..34d600d
--- /dev/null
+++ b/dts/zuma-tokay-wifi-4390a0.dtsi
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+/* Overwrite wifi chip to 1 for devices using 4390a0 */
+&aoc {
+	wifi-chip = <1>;
+};
\ No newline at end of file
diff --git a/dts/zuma-tokay-wingboard-camera.dtsi b/dts/zuma-tokay-wingboard-camera.dtsi
new file mode 100644
index 0000000..ba6ed70
--- /dev/null
+++ b/dts/zuma-tokay-wingboard-camera.dtsi
@@ -0,0 +1,115 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * zuma camera lwis device tree for tokay
+ *
+ * Copyright 2024 Google LLC.
+ *
+ */
+
+#include <dt-bindings/clock/zuma.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <arm64/exynos/exynos-pinctrl.h>
+
+/*
+ * For the tokay wingboard, only the front camera is different, others are
+ * based on komodo. So this file only changes the different parts in the komodo
+ * front camera.
+ */
+
+/ {
+	fragment@lwiscamera {
+		target-path = "/";
+		__overlay__ {
+			/* Power sequence for FRONT CAMERA combo */
+			front_camera_power_seq: module_power_seq@0 {
+				/* Power supplies will be defined on each module. */
+				/* Common supplies */
+				/* PP3200_BB_CAM pp3200_bb */
+				/* PP1350_CAM    pp1350 */
+				/* Sensor */
+				/* VDDIO         s2mpg15_ldo12 */
+				/* VDIG,VDDA     gpio1 */
+				/* RESET         reset         */
+				/* MCLK_ON       mclk_on       */
+				/* Actuator */
+				/* AF_VM         gpio2          */
+				power-up-seqs =
+					"pp3200_bb",
+					"pp1350",
+					"s2mpg15_ldo12",
+					"gpio1",
+					"gpio2",
+					"reset",
+					"mclk_on";
+				power-up-seq-types =
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"gpio",
+					"pinctrl";
+				power-up-seq-delays-us =
+					<0
+					 0
+					 0
+					 0
+					 1000
+					 1000
+					 8000>;
+
+				power-down-seqs =
+					"mclk_off",
+					"reset",
+					"gpio2",
+					"gpio1",
+					"s2mpg15_ldo12",
+					"pp1350",
+					"pp3200_bb";
+				power-down-seq-types =
+					"pinctrl",
+					"gpio",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator",
+					"regulator";
+				power-down-seq-delays-us =
+					<1000
+					 1000
+					 0
+					 0
+					 0
+					 7000
+					 2000>;
+			};
+
+			/* FRONT CAMERA */
+			sensor1: sensor@1 {
+				/* Device node name */
+				node-name = "sensor-dokkaebi";
+
+				/* I2C */
+				i2c-bus = <&hsi2c_3>;
+				i2c-addr = <0x10>;
+
+				/* Registers */
+				reg-addr-bitwidth = <16>;
+				reg-value-bitwidth = <16>;
+
+			};
+
+			/* EEPROM for FRONT CAMERA */
+			eeprom2: eeprom@2 {
+				/* Device node name */
+				node-name = "eeprom-smaug-dokkaebi";
+			};
+
+			/* Actuator for FRONT CAMERA */
+			actuator1: actuator@1 {
+				/* Device node name */
+				node-name = "act-cornerfolk-dokkaebi";
+			};
+		};
+	};
+};
diff --git a/dts/zumapro b/dts/zumapro
new file mode 120000
index 0000000..6bb9f36
--- /dev/null
+++ b/dts/zumapro
@@ -0,0 +1 @@
+../../zumapro/dts
\ No newline at end of file
diff --git a/dts/zumapro-caiman-common.dtsi b/dts/zumapro-caiman-common.dtsi
new file mode 100644
index 0000000..1d05bdd
--- /dev/null
+++ b/dts/zumapro-caiman-common.dtsi
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+#include "zumapro-caimito-uwb.dtsi"
+#include "zuma-tokay-battery.dtsi"
+#include "zuma-komodo-caiman-charging.dtsi"
+#include "zuma-komodo-caiman-usecases.dtsi"
+#include "zuma-caiman-wcharger.dtsi"
+#include "zuma-caiman-audio.dtsi"
+#include "zuma-caiman-pmic.dtsi"
+#include "zuma-komodo-camera.dtsi"
+#include "zuma-caiman-display.dtsi"
+#include "zuma-caiman-touch.dtsi"
+#include "zuma-caiman-charging.dtsi"
diff --git a/dts/zumapro-caiman-dvt1-i2cm.dts b/dts/zumapro-caiman-dvt1-i2cm.dts
new file mode 100644
index 0000000..e6e0d16
--- /dev/null
+++ b/dts/zumapro-caiman-dvt1-i2cm.dts
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_I2CM 1
+
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro-caiman-common.dtsi"
+#include "zuma-tokay-4_5V-battery.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+#include "zumapro-caimito-cp-features.dtsi"
+
+/ {
+	board_id = <0x60904>;
+	board_rev = <0x010001>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO CAIMAN DVT 1.0 board using i2cm based on ZUMA PRO";
+			compatible = "google,ZUMA PRO CAIMAN", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-caiman-dvt1-wingboard.dts b/dts/zumapro-caiman-dvt1-wingboard.dts
new file mode 100644
index 0000000..471c10d
--- /dev/null
+++ b/dts/zumapro-caiman-dvt1-wingboard.dts
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2024 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro-caiman-common.dtsi"
+#include "zuma-tokay-4_5V-battery.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+#include "zumapro/zumapro-phone-ignss.dtsi"
+#include "zumapro-wingboard-charging.dtsi"
+#include "zumapro-wingboard-battery.dtsi"
+#include "zumapro-caimito-cp-features.dtsi"
+
+/ {
+	board_id = <0x60904>;
+	board_rev = <0x010002>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO CAIMAN DVT 1.0 Wingboard based on ZUMA PRO";
+			compatible = "google,ZUMA PRO CAIMAN", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-caiman-dvt1.dts b/dts/zumapro-caiman-dvt1.dts
new file mode 100644
index 0000000..63dc57f
--- /dev/null
+++ b/dts/zumapro-caiman-dvt1.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro-caiman-common.dtsi"
+#include "zuma-tokay-4_5V-battery.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+#include "zumapro/zumapro-phone-ignss.dtsi"
+#include "zumapro-caimito-cp-features.dtsi"
+
+/ {
+	board_id = <0x60904>;
+	board_rev = <0x010000>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO CAIMAN DVT 1.0 board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO CAIMAN", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-caiman-evt1-broadcom-gnss-i2cm.dts b/dts/zumapro-caiman-evt1-broadcom-gnss-i2cm.dts
new file mode 100644
index 0000000..3b2d98c
--- /dev/null
+++ b/dts/zumapro-caiman-evt1-broadcom-gnss-i2cm.dts
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_I2CM 1
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#define ZUMA_BMS_ENABLE_CHG_PROFILE_SWITCH
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-caiman-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zumapro-caimito-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x60903>;
+	board_rev = <0x010005>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO CAIMAN EVT 1.0 Broadcom GNSS w/ I2CM board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO CAIMAN", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-caiman-evt1-broadcom-gnss-mag3.dts b/dts/zumapro-caiman-evt1-broadcom-gnss-mag3.dts
new file mode 100644
index 0000000..2bb2345
--- /dev/null
+++ b/dts/zumapro-caiman-evt1-broadcom-gnss-mag3.dts
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#define ZUMA_BMS_ENABLE_CHG_PROFILE_SWITCH
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-caiman-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zumapro-caimito-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x60903>;
+	board_rev = <0x010002>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO CAIMAN EVT 1.0 Broadcom GNSS and MAG3 board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO CAIMAN", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-caiman-evt1-broadcom-gnss.dts b/dts/zumapro-caiman-evt1-broadcom-gnss.dts
new file mode 100644
index 0000000..962e2b9
--- /dev/null
+++ b/dts/zumapro-caiman-evt1-broadcom-gnss.dts
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#define ZUMA_BMS_ENABLE_CHG_PROFILE_SWITCH
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-caiman-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zumapro-caimito-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x60903>;
+	board_rev = <0x010000>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO CAIMAN EVT 1.0 Broadcom GNSS board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO CAIMAN", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-caiman-evt1-samsung-gnss-i2cm.dts b/dts/zumapro-caiman-evt1-samsung-gnss-i2cm.dts
new file mode 100644
index 0000000..79ee2d0
--- /dev/null
+++ b/dts/zumapro-caiman-evt1-samsung-gnss-i2cm.dts
@@ -0,0 +1,31 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_I2CM 1
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#define ZUMA_BMS_ENABLE_CHG_PROFILE_SWITCH
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-caiman-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zumapro-caimito-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x60903>;
+	board_rev = <0x010006>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO CAIMAN EVT 1.0 Samsung GNSS w/ I2CM board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO CAIMAN", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-caiman-evt1-samsung-gnss-mag3.dts b/dts/zumapro-caiman-evt1-samsung-gnss-mag3.dts
new file mode 100644
index 0000000..cc1691e
--- /dev/null
+++ b/dts/zumapro-caiman-evt1-samsung-gnss-mag3.dts
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#define ZUMA_BMS_ENABLE_CHG_PROFILE_SWITCH
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-caiman-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zumapro-caimito-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x60903>;
+	board_rev = <0x010003>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO CAIMAN EVT 1.0 Samsung GNSS and MAG3 board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO CAIMAN", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-caiman-evt1-samsung-gnss.dts b/dts/zumapro-caiman-evt1-samsung-gnss.dts
new file mode 100644
index 0000000..7255d9c
--- /dev/null
+++ b/dts/zumapro-caiman-evt1-samsung-gnss.dts
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#define ZUMA_BMS_ENABLE_CHG_PROFILE_SWITCH
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-caiman-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zumapro-caimito-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x60903>;
+	board_rev = <0x010001>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO CAIMAN EVT 1.0 Samsung GNSS board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO CAIMAN", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-caiman-evt1-wingboard.dts b/dts/zumapro-caiman-evt1-wingboard.dts
new file mode 100644
index 0000000..0bf46ae
--- /dev/null
+++ b/dts/zumapro-caiman-evt1-wingboard.dts
@@ -0,0 +1,31 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#define ZUMA_BMS_ENABLE_CHG_PROFILE_SWITCH
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-caiman-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zumapro-wingboard-charging.dtsi"
+#include "zumapro-wingboard-battery.dtsi"
+#include "zumapro-caimito-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x60903>;
+	board_rev = <0x010004>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO CAIMAN EVT 1.0 Wingboard based on ZUMA PRO";
+			compatible = "google,ZUMA PRO CAIMAN", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-caiman-evt1_1-broadcom-gnss.dts b/dts/zumapro-caiman-evt1_1-broadcom-gnss.dts
new file mode 100644
index 0000000..30dee59
--- /dev/null
+++ b/dts/zumapro-caiman-evt1_1-broadcom-gnss.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_ENABLE_CHG_PROFILE_SWITCH
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-caiman-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+
+/ {
+	board_id = <0x60903>;
+	board_rev = <0x010100>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO CAIMAN EVT 1.1 Broadcom GNSS board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO CAIMAN", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-caiman-evt1_1-samsung-gnss.dts b/dts/zumapro-caiman-evt1_1-samsung-gnss.dts
new file mode 100644
index 0000000..13c4c8a
--- /dev/null
+++ b/dts/zumapro-caiman-evt1_1-samsung-gnss.dts
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_ENABLE_CHG_PROFILE_SWITCH
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-caiman-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+
+/ {
+	board_id = <0x60903>;
+	board_rev = <0x010101>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO CAIMAN EVT 1.1 Samsung GNSS board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO CAIMAN", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-caiman-evt1_1-wingboard.dts b/dts/zumapro-caiman-evt1_1-wingboard.dts
new file mode 100644
index 0000000..8555254
--- /dev/null
+++ b/dts/zumapro-caiman-evt1_1-wingboard.dts
@@ -0,0 +1,31 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_ENABLE_CHG_PROFILE_SWITCH
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-caiman-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+#include "zumapro-wingboard-charging.dtsi"
+#include "zumapro-wingboard-battery.dtsi"
+
+/ {
+	board_id = <0x60903>;
+	board_rev = <0x010102>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO CAIMAN EVT 1.1 Wingboard based on ZUMA PRO";
+			compatible = "google,ZUMA PRO CAIMAN", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-caiman-mp.dts b/dts/zumapro-caiman-mp.dts
new file mode 100644
index 0000000..033a4e9
--- /dev/null
+++ b/dts/zumapro-caiman-mp.dts
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro-caiman-common.dtsi"
+#include "zuma-tokay-4_5V-battery.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+#include "zumapro/zumapro-phone-ignss.dtsi"
+
+/ {
+	board_id = <0x60906>;
+	board_rev = <0x010000>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO CAIMAN MP board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO CAIMAN", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-caiman-pvt1.dts b/dts/zumapro-caiman-pvt1.dts
new file mode 100644
index 0000000..5890fa2
--- /dev/null
+++ b/dts/zumapro-caiman-pvt1.dts
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Caiman board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro-caiman-common.dtsi"
+#include "zuma-tokay-4_5V-battery.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+#include "zumapro/zumapro-phone-ignss.dtsi"
+
+/ {
+	board_id = <0x60905>;
+	board_rev = <0x010000>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO CAIMAN PVT 1.0 board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO CAIMAN", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-caimito-bcl.dtsi b/dts/zumapro-caimito-bcl.dtsi
new file mode 100644
index 0000000..fd2a1f3
--- /dev/null
+++ b/dts/zumapro-caimito-bcl.dtsi
@@ -0,0 +1,89 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Google ZumaPro/Caimito bcl device tree source
+ *
+ * Copyright (c) 2023 Google, LLC
+ *		https://www.google.com
+ */
+
+#include "zumapro/zumapro-board-bcl.dtsi"
+
+&pinctrl_11 {
+	bcl_rffe_modem: bcl-rffe-modem {
+		samsung,pins = "gpp11-0";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+	};
+	bcl_batoilo_modem: bcl-batoilo-modem {
+		samsung,pins = "gpp13-0";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+	};
+};
+&pinctrl_0  {
+	bcl_s_ocp_tpu: bcl-s-ocp-tpu {
+		samsung,pins = "gpa9-3";
+		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
+	};
+};
+
+&max77759tcpc {
+	bcl-usb-voting;
+};
+
+&google_mitigation {
+	google,ifpmic = <M77779>;
+	google,charger = <&max77779_chg>;
+	google,pmic = <&max77779_pmic>;
+	google,power-supply = <&max77779_fg>;
+	batoilo_lower = <1800>;
+	batoilo_upper = <8000>;
+	batoilo2_lower = <3800>;
+	batoilo2_upper = <10000>;
+	batoilo_otg_trig_lvl = <4800>;
+	batoilo2_otg_trig_lvl = <6800>;
+	batoilo_usb_trig_lvl = <4800>;
+	batoilo2_usb_trig_lvl = <6800>;
+	batoilo_wlc_trig_lvl = <5200>;
+	batoilo2_wlc_trig_lvl = <7000>;
+	batoilo_trig_lvl = <5200>;
+	batoilo2_trig_lvl = <7000>;
+	batoilo_otg_bat_open_to = <0x8>;    /* 36ms */
+	batoilo_bat_open_to = <0x8>;    /* 36ms */
+	batoilo2_bat_open_to = <0x3>;   /* 12ms */
+	batoilo_rel = <0x3>;   /* 10ms */
+	batoilo2_rel = <0x2>;   /* 1ms */
+	batoilo_det = <0x1A>;   /* 34ms DEBOUNCE to VDROOP */
+	batoilo2_det = <0x1>;   /* 30us DEBOUNCE to VDROOP */
+	batoilo_int_det = <0x2>;   /* 5ms */
+	batoilo2_int_det = <0x1>;   /* 30us */
+	batoilo_int_rel = <0x2>;   /* 1ms */
+	batoilo2_int_rel = <0x2>;   /* 1ms */
+	uvlo1_rel = <0x1>;   /* 1ms */
+	uvlo2_rel = <0x1>;   /* 1ms */
+	uvlo1_det = <0x1>;   /* 30us */
+	uvlo2_det = <0x1>;   /* 30us */
+	uvlo1_lvl = <0xA>;   /* 3.1V */
+	uvlo2_lvl = <0x8>;   /* 3.0V */
+	vimon_pwr_loop_thresh = <4000>; /* 4A pwr reduction thresh */
+	vimon_pwr_loop_cnt = <3>; /* 3 ibatt sample count */
+	uvlo1_vdrp1_en;
+	uvlo2_vdrp2_en;
+	oilo1_vdrp2_en;
+	oilo2_vdrp2_en;
+	vimon_pwr_loop_en;
+	vdroop_int_mask = <0xDF>;   /* BATOILO1 only */
+	intb_int_mask = <0x0>;   /* All passed */
+	evt_cnt_enable = <0x1>;
+	evt_cnt_rate = <0x0>;   /* 16k */
+	gpios = <&gpa9 5 GPIO_ACTIVE_HIGH>,		/* VDROOP1 */
+		<&gpa9 6 GPIO_ACTIVE_HIGH>,		/* VDROOP2 */
+		<&gpp11 0 GPIO_ACTIVE_HIGH>,
+		<&gpp13 0 GPIO_ACTIVE_HIGH>;
+	rffe_channel = <11>;
+	pinctrl-names = "bcl-rffe-modem", "bcl-batoilo-modem", "bcl-s-ocp-tpu";
+	pinctrl-0 = <&bcl_rffe_modem>;
+	pinctrl-1 = <&bcl_batoilo_modem>;
+	pinctrl-2 = <&bcl_s_ocp_tpu>;
+	interrupt-parent = <&max77779_pmic_irq>;
+	interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
+};
diff --git a/dts/zumapro-caimito-common.dtsi b/dts/zumapro-caimito-common.dtsi
new file mode 100644
index 0000000..31c532f
--- /dev/null
+++ b/dts/zumapro-caimito-common.dtsi
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Zuma24 board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+#include "zumapro/zumapro-common.dtsi"
+
+#include "zuma-caimito-battery.dtsi"
+#include "zuma-caimito-camera-pmic.dtsi"
+#include "zuma-caimito-charging.dtsi"
+#include "zuma-caimito-display.dtsi"
+#include "zuma/zuma-ripcurrent-gsa-gsc.dtsi"
+#include "zuma-caimito-wcharger.dtsi"
+#include "zuma-caimito-wlan.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit.dtsi"
+#include "zumapro/zumapro-board-bluetooth.dtsi"
+#include "zuma-caimito-ese.dtsi"
+#include "zuma-caimito-nfc.dtsi"
+#include "zuma/zuma-board-ultrasonic-udfps.dtsi"
+#include "zuma-caimito-audio.dtsi"
+#include "zuma-caimito-common-touch.dtsi"
+#include "zumapro/zumapro-board-pcie.dtsi"
+#include "zumapro/zumapro-board-pcie-cp-s5400-a1.dtsi"
+#include "zumapro-caimito-haptics.dtsi"
+#include "zuma-caimito-thermal.dtsi"
+#include "zuma-caimito-usb.dtsi"
+#include "zuma-caimito-typec.dtsi"
+#include "zumapro-caimito-bcl.dtsi"
+#include "zumapro-caimito-usecases.dtsi"
+#include "zumapro/zumapro-cp-s5400-thermal-zone.dtsi"
+#include "zumapro-caimito-sbbm.dtsi"
+#include "zuma/gs101-faceauth-dma-heap.dtsi"
+#include "zumapro/zumapro-16kb-dma-heap.dtsi"
diff --git a/dts/zumapro-caimito-cp-features.dtsi b/dts/zumapro-caimito-cp-features.dtsi
new file mode 100644
index 0000000..9e71f36
--- /dev/null
+++ b/dts/zumapro-caimito-cp-features.dtsi
@@ -0,0 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * CPIF features for caimito
+ *
+ * Copyright 2024 Google, LLC.
+ */
+
+&cpif {
+	mif_off_during_volte = <1>;
+};
diff --git a/dts/zumapro-caimito-haptics.dtsi b/dts/zumapro-caimito-haptics.dtsi
new file mode 100644
index 0000000..461fd22
--- /dev/null
+++ b/dts/zumapro-caimito-haptics.dtsi
@@ -0,0 +1,106 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Google Zuma Pro CS40L26 device tree source
+ *
+ * Copyright (c) 2023 Google, LLC
+ *		https://www.google.com
+ *
+*/
+
+#include <dt-bindings/gpio/gpio.h>
+#include <arm64/exynos/exynos-pinctrl.h>
+
+&dai_be_haptic_rx {
+	dai_be_haptic_rx_codec: codec {
+		sound-dai = <&cs40l26_codec 0>;
+	};
+};
+
+&aoc_snd_card {
+	clks {
+		sys {
+			sys@cs40l26_codec {
+				comp = <&cs40l26_codec>;
+				src = "BCLK";
+				/* clk id */
+				id = <0>;
+				/* clk source */
+				srcid = <0>;
+				/* in clk multiple */
+				in_mul = <1>;
+				/* out clk multiple */
+				out_mul = <1>;
+			};
+
+		};
+	};
+};
+
+/* GPIO_ALIVE*/
+&pinctrl_0 {
+	hapt_amp1_irq: hapt-amp1-irq {
+		samsung,pins = "gpa6-3"; /* XEINT_11 */
+		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+	};
+};
+
+/* GPIO_HSI1 */
+&pinctrl_8 {
+	hapt_amp1_rst: hapt-amp1-rst {
+		samsung,pins = "gph2-3"; /* XHSI1_GPIO13 */
+		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
+	};
+
+	hapt_amp_trig: hapt-amp-trig {
+		samsung,pins = "gph2-0"; /* XHSI1_GPIO10 */
+		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
+		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
+	};
+};
+
+&hsi2c_9 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	status = "okay";
+
+	clock-frequency = <950000>;
+
+	cs40l26a@43 {
+		compatible = "cirrus,cs40l26a";
+		reg = <0x43>;
+		input-device-name = "cs40l26_input";    /* input device name */
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&hapt_amp1_irq &hapt_amp1_rst &hapt_amp_trig>;
+
+		interrupt-parent = <&gpa6>;
+		interrupts = <3 0 0>;
+
+		reset-gpios = <&gph2 3 GPIO_ACTIVE_LOW>;
+
+		cirrus,bst-dcm-en = <0>;
+		cirrus,pwle-zero-cross-en;
+		cirrus,vpbr-enable;
+		cirrus,vpbr-thld-uv = <3008000>;	/* 3.008V */
+		cirrus,bst-expl-mode-disable;
+		cirrus,bst-ipk-microamp = <2500000>;	/* 2.5A */
+		cirrus,bst-ctl-microvolt = <11000000>;	/* 11V */
+		cirrus,f0-default = <0x208000>;		/* 130 Hz */
+		cirrus,redc-default = <0x68000>;	/* 13 Ohm */
+		cirrus,pm-active-timeout-ms = <5>;
+
+		status = "okay";
+
+		cs40l26_codec: cs40l26_codec@snd {
+			#sound-dai-cells = <1>;
+			compatible = "cs40l26-codec";
+			status = "okay";
+		};
+	};
+};
diff --git a/dts/zumapro-caimito-sbbm.dtsi b/dts/zumapro-caimito-sbbm.dtsi
new file mode 100644
index 0000000..e2f347c
--- /dev/null
+++ b/dts/zumapro-caimito-sbbm.dtsi
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * SideBand Bit Multiplexer device tree source
+ *
+ * Copyright 2024 Google LLC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include <arm64/exynos/exynos-pinctrl.h>
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+	fragment@sbbmux {
+		target-path = "/";
+		__overlay__ {
+			sbb_mux: sbb-mux {
+				compatible = "google,sbb-mux";
+				gpios = <&gpp4 3 0>, <&gpp19 6 0>, <&gpp19 7 0>;
+				gpio_names = "C1_T0__XAPC_USI2_CTSn_CSn",
+						"C1_T1__XAPC_USI9_RTSn_DI",
+						"C1_T2__XAPC_USI9_CTSn_CSn";
+				default_signals = "gp_region_0", "gp_region_1", "gp_region_2";
+			};
+		};
+	};
+};
diff --git a/dts/zumapro-caimito-usecases.dtsi b/dts/zumapro-caimito-usecases.dtsi
new file mode 100644
index 0000000..5fb4e67
--- /dev/null
+++ b/dts/zumapro-caimito-usecases.dtsi
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Usecases specific to the ZumaPro Caimito Platform
+ *
+ * Copyright 2023 Google LLC
+ *
+ */
+
+/* system use cases */
+&max77779_chg {
+	max77779,extbst-ctl = <&max77759_tcpc_gpio 0 GPIO_ACTIVE_HIGH>;
+
+	/* for OTG related usecase*/
+	max77779,rx-to-rx-otg-en; /* support RX -> RX+OTG */
+	max77779,ext-otg-only; /* use external OTG only */
+};
diff --git a/dts/zumapro-caimito-uwb.dtsi b/dts/zumapro-caimito-uwb.dtsi
new file mode 100644
index 0000000..7032b24
--- /dev/null
+++ b/dts/zumapro-caimito-uwb.dtsi
@@ -0,0 +1,16 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ *
+ * Copyright (c) 2023 Google, LLC
+ * https://www.google.com
+*/
+
+#include "zuma/zuma-board-uwb.dtsi"
+
+&spi_18 {
+	qm35@0 {
+		qm35-vdd4-supply = <&s_ldo17_reg>;
+		wakeup-gpios = <&gpa5 7 GPIO_ACTIVE_HIGH>;
+		ss-irq-gpios = <&gpn5 0 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;
+	};
+};
diff --git a/dts/zumapro-caimito-wifi-4390a0.dtsi b/dts/zumapro-caimito-wifi-4390a0.dtsi
new file mode 100644
index 0000000..34d600d
--- /dev/null
+++ b/dts/zumapro-caimito-wifi-4390a0.dtsi
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+/* Overwrite wifi chip to 1 for devices using 4390a0 */
+&aoc {
+	wifi-chip = <1>;
+};
\ No newline at end of file
diff --git a/dts/zumapro-komodo-common.dtsi b/dts/zumapro-komodo-common.dtsi
new file mode 100644
index 0000000..ac532f6
--- /dev/null
+++ b/dts/zumapro-komodo-common.dtsi
@@ -0,0 +1,18 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+#include "zumapro-caimito-uwb.dtsi"
+#include "zuma-komodo-battery.dtsi"
+#include "zuma-komodo-caiman-charging.dtsi"
+#include "zuma-komodo-caiman-usecases.dtsi"
+#include "zuma-komodo-wcharger.dtsi"
+#include "zuma-komodo-audio.dtsi"
+#include "zuma-komodo-pmic.dtsi"
+#include "zuma-komodo-camera.dtsi"
+#include "zuma-komodo-display.dtsi"
+#include "zuma-komodo-touch.dtsi"
+#include "zuma-komodo-charging.dtsi"
diff --git a/dts/zumapro-komodo-dvt1-wingboard.dts b/dts/zumapro-komodo-dvt1-wingboard.dts
new file mode 100644
index 0000000..b4aaf43
--- /dev/null
+++ b/dts/zumapro-komodo-dvt1-wingboard.dts
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2024 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro-komodo-common.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+#include "zumapro/zumapro-phone-ignss.dtsi"
+#include "zumapro-wingboard-charging.dtsi"
+#include "zumapro-wingboard-battery.dtsi"
+#include "zumapro-caimito-cp-features.dtsi"
+
+/ {
+	board_id = <0x60804>;
+	board_rev = <0x010001>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO KOMODO DVT 1.0 Wingboard based on ZUMA PRO";
+			compatible = "google,ZUMA PRO KOMODO", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-komodo-dvt1.dts b/dts/zumapro-komodo-dvt1.dts
new file mode 100644
index 0000000..a6b72a8
--- /dev/null
+++ b/dts/zumapro-komodo-dvt1.dts
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro-komodo-common.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+#include "zumapro/zumapro-phone-ignss.dtsi"
+#include "zumapro-caimito-cp-features.dtsi"
+
+/ {
+	board_id = <0x60804>;
+	board_rev = <0x010000>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO KOMODO DVT 1.0 board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO KOMODO", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-komodo-evt1-broadcom-gnss-mag3.dts b/dts/zumapro-komodo-evt1-broadcom-gnss-mag3.dts
new file mode 100644
index 0000000..49061fe
--- /dev/null
+++ b/dts/zumapro-komodo-evt1-broadcom-gnss-mag3.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-komodo-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zumapro-komodo-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x60803>;
+	board_rev = <0x010002>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO KOMODO EVT 1.0 Broadcom GNSS and MAG3 board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO KOMODO", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-komodo-evt1-broadcom-gnss.dts b/dts/zumapro-komodo-evt1-broadcom-gnss.dts
new file mode 100644
index 0000000..0822de3
--- /dev/null
+++ b/dts/zumapro-komodo-evt1-broadcom-gnss.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-komodo-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zumapro-komodo-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x60803>;
+	board_rev = <0x010000>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO KOMODO EVT 1.0 Broadcom GNSS board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO KOMODO", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-komodo-evt1-samsung-gnss-mag3.dts b/dts/zumapro-komodo-evt1-samsung-gnss-mag3.dts
new file mode 100644
index 0000000..ced5a9c
--- /dev/null
+++ b/dts/zumapro-komodo-evt1-samsung-gnss-mag3.dts
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-komodo-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zumapro-komodo-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x60803>;
+	board_rev = <0x010003>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO KOMODO EVT 1.0 Samsung GNSS and MAG3 board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO KOMODO", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-komodo-evt1-samsung-gnss.dts b/dts/zumapro-komodo-evt1-samsung-gnss.dts
new file mode 100644
index 0000000..52da102
--- /dev/null
+++ b/dts/zumapro-komodo-evt1-samsung-gnss.dts
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-komodo-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zumapro-komodo-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x60803>;
+	board_rev = <0x010001>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO KOMODO EVT 1.0 Samsung GNSS board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO KOMODO", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-komodo-evt1-wingboard.dts b/dts/zumapro-komodo-evt1-wingboard.dts
new file mode 100644
index 0000000..3809c1f
--- /dev/null
+++ b/dts/zumapro-komodo-evt1-wingboard.dts
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-komodo-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zumapro-wingboard-charging.dtsi"
+#include "zumapro-wingboard-battery.dtsi"
+#include "zumapro-komodo-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x60803>;
+	board_rev = <0x010004>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO KOMODO EVT 1.0 Wingboard based on ZUMA PRO";
+			compatible = "google,ZUMA PRO KOMODO", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-komodo-evt1_1-broadcom-gnss.dts b/dts/zumapro-komodo-evt1_1-broadcom-gnss.dts
new file mode 100644
index 0000000..b5963c4
--- /dev/null
+++ b/dts/zumapro-komodo-evt1_1-broadcom-gnss.dts
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-komodo-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+
+/ {
+	board_id = <0x60803>;
+	board_rev = <0x010100>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO KOMODO EVT 1.1 Broadcom GNSS board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO KOMODO", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-komodo-evt1_1-samsung-gnss.dts b/dts/zumapro-komodo-evt1_1-samsung-gnss.dts
new file mode 100644
index 0000000..13bb093
--- /dev/null
+++ b/dts/zumapro-komodo-evt1_1-samsung-gnss.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-komodo-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+
+/ {
+	board_id = <0x60803>;
+	board_rev = <0x010101>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO KOMODO EVT 1.1 Samsung GNSS board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO KOMODO", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-komodo-evt1_1-wingboard.dts b/dts/zumapro-komodo-evt1_1-wingboard.dts
new file mode 100644
index 0000000..081a8a3
--- /dev/null
+++ b/dts/zumapro-komodo-evt1_1-wingboard.dts
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-komodo-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+#include "zumapro-wingboard-charging.dtsi"
+#include "zumapro-wingboard-battery.dtsi"
+
+/ {
+	board_id = <0x60803>;
+	board_rev = <0x010102>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO KOMODO EVT 1.1 Wingboard based on ZUMA PRO";
+			compatible = "google,ZUMA PRO KOMODO", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-komodo-mp.dts b/dts/zumapro-komodo-mp.dts
new file mode 100644
index 0000000..a05a99d
--- /dev/null
+++ b/dts/zumapro-komodo-mp.dts
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro-komodo-common.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+#include "zumapro/zumapro-phone-ignss.dtsi"
+
+/ {
+	board_id = <0x60806>;
+	board_rev = <0x010000>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO KOMODO MP board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO KOMODO", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-komodo-pvt1.dts b/dts/zumapro-komodo-pvt1.dts
new file mode 100644
index 0000000..a39cbe7
--- /dev/null
+++ b/dts/zumapro-komodo-pvt1.dts
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro-komodo-common.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+#include "zumapro/zumapro-phone-ignss.dtsi"
+
+/ {
+	board_id = <0x60805>;
+	board_rev = <0x010000>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO KOMODO PVT 1.0 board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO KOMODO", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-komodo-wifi-4390a0.dtsi b/dts/zumapro-komodo-wifi-4390a0.dtsi
new file mode 100644
index 0000000..34d600d
--- /dev/null
+++ b/dts/zumapro-komodo-wifi-4390a0.dtsi
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+/* Overwrite wifi chip to 1 for devices using 4390a0 */
+&aoc {
+	wifi-chip = <1>;
+};
\ No newline at end of file
diff --git a/dts/zumapro-ripcurrentpro-bcl-muirwood.dtsi b/dts/zumapro-ripcurrentpro-bcl-muirwood.dtsi
new file mode 100644
index 0000000..98643f7
--- /dev/null
+++ b/dts/zumapro-ripcurrentpro-bcl-muirwood.dtsi
@@ -0,0 +1,39 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Google ZumaPro/Ripcurrentpro bcl Muirwood device tree source
+ *
+ * Copyright (c) 2023 Google, LLC
+ *		https://www.google.com
+ */
+
+#include "zumapro/zumapro-board-bcl.dtsi"
+
+&google_mitigation {
+	google,ifpmic = <M77759>;
+	google,charger = <&max77759_chg>;
+	google,pmic = <&max77759_chg>;
+	google,power-supply = <&max77759_fg>;
+	batoilo_lower = <1800>;
+	batoilo_upper = <8000>;
+	batoilo2_lower = <3800>;
+	batoilo2_upper = <10000>;
+	batoilo_wlc_trig_lvl = <2200>;
+	batoilo2_wlc_trig_lvl = <5200>;
+	batoilo_trig_lvl = <5000>;
+	batoilo2_trig_lvl = <8000>;
+	batoilo_bat_open_to = <0x8>;    /* 36ms */
+	batoilo2_bat_open_to = <0x3>;   /* 12ms */
+	batoilo_rel = <0x2>;   /* 1ms */
+	batoilo2_rel = <0x2>;   /* 1ms */
+	batoilo_det = <0x0>;   /* 0ms */
+	batoilo2_det = <0x0>;   /* 0ms */
+	uvlo1_rel = <0x2>;   /* 10ms */
+	uvlo2_rel = <0x2>;   /* 10ms */
+	uvlo1_det = <0x1>;   /* 30us */
+	uvlo2_det = <0x1>;   /* 30us */
+	evt_cnt_enable = <0x1>;
+	evt_cnt_rate = <0x0>;   /* 16k */
+	gpios = <&gpa9 5 GPIO_ACTIVE_HIGH>,		/* VDROOP1 */
+		<&gpa9 6 GPIO_ACTIVE_HIGH>;		/* VDROOP2 */
+
+};
diff --git a/dts/zumapro-ripcurrentpro-sapwood-caimito-common.dtsi b/dts/zumapro-ripcurrentpro-sapwood-caimito-common.dtsi
new file mode 100644
index 0000000..d4034f3
--- /dev/null
+++ b/dts/zumapro-ripcurrentpro-sapwood-caimito-common.dtsi
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * ZumaPro with Sapwood board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+#include "zumapro/zumapro-board-common.dtsi"
+#include "zumapro/zumapro-ripcurrentpro-bcl-sapwood.dtsi"
+#include "zuma/zuma-ripcurrent-camera-pmic.dtsi"
+#include "zuma/zuma-ripcurrent-camera.dtsi"
+#include "zumapro/zumapro-ripcurrentpro-usb.dtsi"
+/*
+#include "zuma-24-common.dtsi"
+#include "zumapro/zumapro-board-gps.dtsi"
+#include "zuma-ripcurrent24-ultrasonic-udfps.dtsi"
+*/
+
+#include "zuma/zuma-ripcurrent-battery.dtsi"
+#include "zuma/zuma-typec.dtsi"
+#include "zuma/zuma-ripcurrent-gsa-gsc.dtsi"
+
+/* Sapwood Config */
+#include "zuma-ripcurrent24-sapwood-caimito-battery.dtsi"
+#include "zuma-ripcurrent24-sapwood-caimito-charging.dtsi"
+#include "zuma-ripcurrent24-sapwood-caimito-typec.dtsi"
+#include "zuma-ripcurrent24-sapwood-wcharger.dtsi"
+#include "zuma-caimito-usecases-evt.dtsi"
diff --git a/dts/zumapro-ripcurrentpro-sapwood-komodo-caiman.dts b/dts/zumapro-ripcurrentpro-sapwood-komodo-caiman.dts
new file mode 100644
index 0000000..e539fd0
--- /dev/null
+++ b/dts/zumapro-ripcurrentpro-sapwood-komodo-caiman.dts
@@ -0,0 +1,25 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Komodo Sapwood board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zumapro-ripcurrentpro-sapwood-caimito-common.dtsi"
+#include "zuma-ripcurrent24-sapwood-komodo-caiman-common.dtsi"
+#include "zuma-komodo-wcharger.dtsi"
+
+/ {
+	board_id = <0x60d01>;
+	board_rev = <0x010001>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA_PRO RipcurrentPro Sapwood KOMODO/CAIMAN configuration board based on ZUMA_PRO";
+			compatible = "google,ZUMA_PRO RipcurrentPro Sapwood KOMODO/CAIMAN", "google,ZUMA_PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-ripcurrentpro.dts b/dts/zumapro-ripcurrentpro.dts
new file mode 100644
index 0000000..f91e2c5
--- /dev/null
+++ b/dts/zumapro-ripcurrentpro.dts
@@ -0,0 +1,46 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Ripcurrentpro board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+
+#include "zumapro/zumapro-board-common.dtsi"
+#include "zuma/zuma-ripcurrent-camera-pmic.dtsi"
+#include "zuma/zuma-ripcurrent-camera.dtsi"
+#include "zumapro/zumapro-ripcurrentpro-usb.dtsi"
+/*
+#include "zuma-24-common.dtsi"
+#include "zuma-ripcurrent24-ultrasonic-udfps.dtsi"
+*/
+
+#include "zuma/zuma-ripcurrent-battery.dtsi"
+#include "zuma-ripcurrent24-battery.dtsi"
+#include "zuma/zuma-ripcurrent-charging.dtsi"
+#include "zuma/zuma-ripcurrent-usecases.dtsi"
+#include "zuma/zuma-ripcurrent-wcharger.dtsi"
+#include "zuma/zuma-typec.dtsi"
+#include "zuma/zuma-ripcurrent-typec.dtsi"
+#include "zuma/zuma-ripcurrent-gsa-gsc.dtsi"
+#include "zumapro/zumapro-board-bluetooth_legacy.dtsi"
+#include "zumapro/zumapro-board-ignss.dtsi"
+#include "zuma/zuma-board-nfc.dtsi"
+#include "zuma/zuma-board-ese.dtsi"
+#include "zumapro-ripcurrentpro-bcl-muirwood.dtsi"
+
+
+/ {
+	board_id = <0x60d01>;
+	board_rev = <0x010000>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA_PRO Ripcurrentpro board based on ZUMA_PRO";
+			compatible = "google,ZUMA_PRO Ripcurrentpro", "google,ZUMA_PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-tokay-bcl.dtsi b/dts/zumapro-tokay-bcl.dtsi
new file mode 100644
index 0000000..3a6b3e1
--- /dev/null
+++ b/dts/zumapro-tokay-bcl.dtsi
@@ -0,0 +1,66 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Google ZumaPro/Tokay bcl device tree source
+ *
+ * Copyright (c) 2023 Google, LLC
+ *		https://www.google.com
+ */
+
+
+&max77759tcpc {
+	bcl-usb-voting;
+};
+
+&google_mitigation {
+	google,ifpmic = <M77779>;
+	google,charger = <&max77779_chg>;
+	google,pmic = <&max77779_pmic>;
+	google,power-supply = <&max77779_fg>;
+	batoilo_lower = <1800>;
+	batoilo_upper = <8000>;
+	batoilo2_lower = <3800>;
+	batoilo2_upper = <10000>;
+	batoilo_otg_trig_lvl = <4800>;
+	batoilo2_otg_trig_lvl = <6800>;
+	batoilo_usb_trig_lvl = <4800>;
+	batoilo2_usb_trig_lvl = <6800>;
+	batoilo_wlc_trig_lvl = <5200>;
+	batoilo2_wlc_trig_lvl = <7000>;
+	batoilo_trig_lvl = <5200>;
+	batoilo2_trig_lvl = <7000>;
+	batoilo_otg_bat_open_to = <0x8>;    /* 36ms */
+	batoilo_bat_open_to = <0x8>;    /* 36ms */
+	batoilo2_bat_open_to = <0x3>;   /* 12ms */
+	batoilo_rel = <0x3>;   /* 10ms */
+	batoilo2_rel = <0x2>;   /* 1ms */
+	batoilo_det = <0x1A>;   /* 34ms DEBOUNCE to VDROOP */
+	batoilo2_det = <0x1>;   /* 30us DEBOUNCE to VDROOP */
+	batoilo_int_det = <0x2>;   /* 5ms */
+	batoilo2_int_det = <0x1>;   /* 30us */
+	batoilo_int_rel = <0x2>;   /* 1ms */
+	batoilo2_int_rel = <0x2>;   /* 1ms */
+	uvlo1_rel = <0x1>;   /* 1ms */
+	uvlo2_rel = <0x1>;   /* 1ms */
+	uvlo1_det = <0x1>;   /* 30us */
+	uvlo2_det = <0x1>;   /* 30us */
+	uvlo1_lvl = <0xA>;   /* 3.1V */
+	uvlo2_lvl = <0x8>;   /* 3.0V */
+	vimon_pwr_loop_thresh = <4000>; /* 4A pwr reduction thresh */
+	vimon_pwr_loop_cnt = <3>; /* 3 ibatt sample count */
+	uvlo1_vdrp1_en;
+	uvlo2_vdrp2_en;
+	oilo1_vdrp2_en;
+	oilo2_vdrp2_en;
+	vimon_pwr_loop_en;
+	vdroop_int_mask = <0xDF>;   /* BATOILO1 only */
+	intb_int_mask = <0x0>;   /* All passed */
+	evt_cnt_enable = <0x1>;
+	evt_cnt_rate = <0x0>;   /* 16k */
+	gpios = <&gpa9 5 GPIO_ACTIVE_HIGH>,		/* VDROOP1 */
+		<&gpa9 6 GPIO_ACTIVE_HIGH>,		/* VDROOP2 */
+		<&gpp11 0 GPIO_ACTIVE_HIGH>,
+		<&gpp13 0 GPIO_ACTIVE_HIGH>;
+	rffe_channel = <11>;
+	interrupt-parent = <&max77779_pmic_irq>;
+	interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
+};
diff --git a/dts/zumapro-tokay-common.dtsi b/dts/zumapro-tokay-common.dtsi
new file mode 100644
index 0000000..39ed041
--- /dev/null
+++ b/dts/zumapro-tokay-common.dtsi
@@ -0,0 +1,23 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+#include "zuma-tokay-battery.dtsi"
+#include "zuma-tokay-charging.dtsi"
+#include "zuma-tokay-wcharger.dtsi"
+#include "zuma-tokay-usecases.dtsi"
+#include "zuma-tokay-audio.dtsi"
+#ifdef ZUMA_TOKAY_WINGBOARD_CAMERA
+#include "zuma-komodo-camera.dtsi"
+#include "zuma-tokay-wingboard-camera.dtsi"
+#else
+#include "zuma-tokay-camera.dtsi"
+#include "zuma-tokay-ldaf.dtsi"
+#endif
+#include "zuma-tokay-display.dtsi"
+#include "zuma-tokay-pmic.dtsi"
+#include "zuma-tokay-touch.dtsi"
+#include "zumapro-tokay-bcl.dtsi"
diff --git a/dts/zumapro-tokay-dvt1-wingboard.dts b/dts/zumapro-tokay-dvt1-wingboard.dts
new file mode 100644
index 0000000..416f6c6
--- /dev/null
+++ b/dts/zumapro-tokay-dvt1-wingboard.dts
@@ -0,0 +1,31 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay board device tree source
+ *
+ * Copyright 2024 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_TOKAY_WINGBOARD_CAMERA
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro-tokay-common.dtsi"
+#include "zuma-tokay-4_5V-battery.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+#include "zumapro/zumapro-phone-ignss.dtsi"
+#include "zumapro-wingboard-charging.dtsi"
+#include "zumapro-wingboard-battery.dtsi"
+#include "zumapro-caimito-cp-features.dtsi"
+
+/ {
+	board_id = <0x60a04>;
+	board_rev = <0x010001>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO TOKAY DVT 1.0 Wingboard based on ZUMA PRO";
+			compatible = "google,ZUMA PRO TOKAY", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-tokay-dvt1.dts b/dts/zumapro-tokay-dvt1.dts
new file mode 100644
index 0000000..983c48c
--- /dev/null
+++ b/dts/zumapro-tokay-dvt1.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro-tokay-common.dtsi"
+#include "zuma-tokay-4_5V-battery.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+#include "zumapro/zumapro-phone-ignss.dtsi"
+#include "zumapro-caimito-cp-features.dtsi"
+
+/ {
+	board_id = <0x60a04>;
+	board_rev = <0x010000>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO TOKAY DVT 1.0 board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO TOKAY", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-tokay-evt1-broadcom-gnss.dts b/dts/zumapro-tokay-evt1-broadcom-gnss.dts
new file mode 100644
index 0000000..d4c98b2
--- /dev/null
+++ b/dts/zumapro-tokay-evt1-broadcom-gnss.dts
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#define ZUMA_BMS_ENABLE_CHG_PROFILE_SWITCH
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-tokay-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zumapro-tokay-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x60a03>;
+	board_rev = <0x010000>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO TOKAY EVT 1.0 Broadcom GNSS board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO TOKAY", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-tokay-evt1-samsung-gnss.dts b/dts/zumapro-tokay-evt1-samsung-gnss.dts
new file mode 100644
index 0000000..e70817a
--- /dev/null
+++ b/dts/zumapro-tokay-evt1-samsung-gnss.dts
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#define ZUMA_BMS_ENABLE_CHG_PROFILE_SWITCH
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-tokay-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zumapro-tokay-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x60a03>;
+	board_rev = <0x010001>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO TOKAY EVT 1.0 Samsung GNSS board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO TOKAY", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-tokay-evt1-wingboard.dts b/dts/zumapro-tokay-evt1-wingboard.dts
new file mode 100644
index 0000000..e560876
--- /dev/null
+++ b/dts/zumapro-tokay-evt1-wingboard.dts
@@ -0,0 +1,32 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_PROTO_EVT10_MODEL
+#define ZUMA_BMS_ENABLE_CHG_PROFILE_SWITCH
+#define ZUMA_TOKAY_WINGBOARD_CAMERA
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-tokay-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zumapro-wingboard-charging.dtsi"
+#include "zumapro-wingboard-battery.dtsi"
+#include "zumapro-tokay-wifi-4390a0.dtsi"
+
+/ {
+	board_id = <0x60a03>;
+	board_rev = <0x010002>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO TOKAY EVT 1.0 Wingboard based on ZUMA PRO";
+			compatible = "google,ZUMA PRO TOKAY", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-tokay-evt1_1-broadcom-gnss.dts b/dts/zumapro-tokay-evt1_1-broadcom-gnss.dts
new file mode 100644
index 0000000..2b92569
--- /dev/null
+++ b/dts/zumapro-tokay-evt1_1-broadcom-gnss.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_ENABLE_CHG_PROFILE_SWITCH
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-tokay-common.dtsi"
+#include "zumapro/zumapro-phone-gps.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+
+/ {
+	board_id = <0x60a03>;
+	board_rev = <0x010100>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO TOKAY EVT 1.1 Broadcom GNSS board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO TOKAY", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-tokay-evt1_1-samsung-gnss.dts b/dts/zumapro-tokay-evt1_1-samsung-gnss.dts
new file mode 100644
index 0000000..f994543
--- /dev/null
+++ b/dts/zumapro-tokay-evt1_1-samsung-gnss.dts
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_ENABLE_CHG_PROFILE_SWITCH
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-tokay-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+
+/ {
+	board_id = <0x60a03>;
+	board_rev = <0x010101>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO TOKAY EVT 1.1 Samsung GNSS board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO TOKAY", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-tokay-evt1_1-wingboard.dts b/dts/zumapro-tokay-evt1_1-wingboard.dts
new file mode 100644
index 0000000..ba46b8d
--- /dev/null
+++ b/dts/zumapro-tokay-evt1_1-wingboard.dts
@@ -0,0 +1,32 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#define ZUMA_BMS_ENABLE_CHG_PROFILE_SWITCH
+#define ZUMA_TOKAY_WINGBOARD_CAMERA
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro/zumapro-board-cp-s5400-sit-pre-dvt.dtsi"
+#include "zumapro-tokay-common.dtsi"
+#include "zuma/zuma-cp-s5400-phone-gnss.dtsi"
+#include "zuma-caimito-gnss-samsung.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+#include "zumapro-wingboard-charging.dtsi"
+#include "zumapro-wingboard-battery.dtsi"
+
+/ {
+	board_id = <0x60a03>;
+	board_rev = <0x010102>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO TOKAY EVT 1.1 Wingboard based on ZUMA PRO";
+			compatible = "google,ZUMA PRO TOKAY", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-tokay-mp.dts b/dts/zumapro-tokay-mp.dts
new file mode 100644
index 0000000..9bb02a4
--- /dev/null
+++ b/dts/zumapro-tokay-mp.dts
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro-tokay-common.dtsi"
+#include "zuma-tokay-4_5V-battery.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+#include "zumapro/zumapro-phone-ignss.dtsi"
+
+/ {
+	board_id = <0x60a06>;
+	board_rev = <0x010000>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO TOKAY MP board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO TOKAY", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-tokay-pvt1.dts b/dts/zumapro-tokay-pvt1.dts
new file mode 100644
index 0000000..2588d61
--- /dev/null
+++ b/dts/zumapro-tokay-pvt1.dts
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Tokay board device tree source
+ *
+ * Copyright 2023 Google LLC
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "zumapro-caimito-common.dtsi"
+#include "zumapro-tokay-common.dtsi"
+#include "zuma-tokay-4_5V-battery.dtsi"
+#include "zuma/max777xx-fwupdate.dtsi"
+#include "zumapro/zumapro-phone-ignss.dtsi"
+
+/ {
+	board_id = <0x60a05>;
+	board_rev = <0x010000>;
+	fragment@boardbase {
+		target-path = "/";
+		__overlay__ {
+			model = "ZUMA PRO TOKAY PVT 1.0 board based on ZUMA PRO";
+			compatible = "google,ZUMA PRO TOKAY", "google,ZUMA PRO";
+		};
+	};
+};
diff --git a/dts/zumapro-tokay-wifi-4390a0.dtsi b/dts/zumapro-tokay-wifi-4390a0.dtsi
new file mode 100644
index 0000000..34d600d
--- /dev/null
+++ b/dts/zumapro-tokay-wifi-4390a0.dtsi
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+/* Overwrite wifi chip to 1 for devices using 4390a0 */
+&aoc {
+	wifi-chip = <1>;
+};
\ No newline at end of file
diff --git a/dts/zumapro-wingboard-battery.dtsi b/dts/zumapro-wingboard-battery.dtsi
new file mode 100644
index 0000000..196c0b7
--- /dev/null
+++ b/dts/zumapro-wingboard-battery.dtsi
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Battery device tree entries specific to wingboard based on KM4
+ *
+ * Copyright 2023 Google,LLC
+ *
+ */
+
+ #include "zuma-komodo-battery.dtsi"
\ No newline at end of file
diff --git a/dts/zumapro-wingboard-charging.dtsi b/dts/zumapro-wingboard-charging.dtsi
new file mode 100644
index 0000000..c0f2da9
--- /dev/null
+++ b/dts/zumapro-wingboard-charging.dtsi
@@ -0,0 +1,23 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Wingboard overlay for charging. Disable PPS, WLC
+ * Use Komodo battery
+ *
+ * Copyright 2023 Google LLC
+ */
+
+&google_charger {
+	google,chg-power-supply = "main-charger";
+};
+
+&ra9530 {
+	status = "disabled";
+};
+
+&google_cpm {
+    status = "disabled";
+};
+
+&max77759tcpc {
+    chg-psy-name = "main-charger";
+};
diff --git a/insmod_cfg/init.insmod.caiman.cfg b/insmod_cfg/init.insmod.caiman.cfg
new file mode 100644
index 0000000..8c43ed7
--- /dev/null
+++ b/insmod_cfg/init.insmod.caiman.cfg
@@ -0,0 +1,19 @@
+##########################################################
+#           init.insmod.caiman.cfg                       #
+# This file contains caiman specific kernel modules      #
+# to load at init time by init.insmod.sh script          #
+##########################################################
+
+# Load device specific kernel modules
+# Modules here will be loaded *after* all common modules
+modprobe|bcmdhd4390.ko
+modprobe|snd-soc-cs35l41-i2c.ko
+modprobe|syna_touch.ko
+modprobe|cs40l26-i2c.ko
+modprobe|snd-soc-cs40l26.ko
+modprobe|rt6160-regulator.ko
+
+# All device specific modules loaded
+setprop|vendor.device.modules.ready
+setprop|vendor.all.modules.ready
+setprop|vendor.all.devices.ready
diff --git a/insmod_cfg/init.insmod.husky.cfg b/insmod_cfg/init.insmod.husky.cfg
new file mode 120000
index 0000000..4533445
--- /dev/null
+++ b/insmod_cfg/init.insmod.husky.cfg
@@ -0,0 +1 @@
+../../shusky/insmod_cfg/init.insmod.husky.cfg
\ No newline at end of file
diff --git a/insmod_cfg/init.insmod.komodo.cfg b/insmod_cfg/init.insmod.komodo.cfg
new file mode 100644
index 0000000..624401b
--- /dev/null
+++ b/insmod_cfg/init.insmod.komodo.cfg
@@ -0,0 +1,19 @@
+##########################################################
+#           init.insmod.komodo.cfg                       #
+# This file contains komodo specific kernel modules      #
+# to load at init time by init.insmod.sh script          #
+##########################################################
+
+# Load device specific kernel modules
+# Modules here will be loaded *after* all common modules
+modprobe|bcmdhd4390.ko
+modprobe|snd-soc-cs35l41-i2c.ko
+modprobe|syna_touch.ko
+modprobe|cs40l26-i2c.ko
+modprobe|snd-soc-cs40l26.ko
+modprobe|rt6160-regulator.ko
+
+# All device specific modules loaded
+setprop|vendor.device.modules.ready
+setprop|vendor.all.modules.ready
+setprop|vendor.all.devices.ready
diff --git a/insmod_cfg/init.insmod.ripcurrent.cfg b/insmod_cfg/init.insmod.ripcurrent.cfg
new file mode 120000
index 0000000..28a0d91
--- /dev/null
+++ b/insmod_cfg/init.insmod.ripcurrent.cfg
@@ -0,0 +1 @@
+../../shusky/insmod_cfg/init.insmod.ripcurrent.cfg
\ No newline at end of file
diff --git a/insmod_cfg/init.insmod.ripcurrent24.cfg b/insmod_cfg/init.insmod.ripcurrent24.cfg
new file mode 100644
index 0000000..e393fb5
--- /dev/null
+++ b/insmod_cfg/init.insmod.ripcurrent24.cfg
@@ -0,0 +1,19 @@
+###########################################################
+#           init.insmod.ripcurrent24.cfg                  #
+# This file contains ripcurrent24 specific kernel modules #
+# to load at init time by init.insmod.sh script           #
+###########################################################
+
+# Load device specific kernel modules
+# Modules here will be loaded *after* all common modules
+modprobe|bcmdhd4390.ko
+modprobe|snd-soc-cs35l41-i2c.ko
+modprobe|ftm5.ko
+modprobe|sec_touch.ko
+modprobe|cs40l26-i2c.ko
+modprobe|snd-soc-cs40l26.ko
+
+# All device specific modules loaded
+setprop|vendor.device.modules.ready
+setprop|vendor.all.modules.ready
+setprop|vendor.all.devices.ready
diff --git a/insmod_cfg/init.insmod.ripcurrentpro.cfg b/insmod_cfg/init.insmod.ripcurrentpro.cfg
new file mode 100644
index 0000000..e7952da
--- /dev/null
+++ b/insmod_cfg/init.insmod.ripcurrentpro.cfg
@@ -0,0 +1,19 @@
+##########################################################
+#           init.insmod.ripcurrent.cfg                  #
+# This file contains ripcurrent specific kernel modules #
+# to load at init time by init.insmod.sh script          #
+##########################################################
+
+# Load device specific kernel modules
+# Modules here will be loaded *after* all common modules
+modprobe|bcmdhd4390.ko
+modprobe|snd-soc-cs35l41-i2c.ko
+modprobe|ftm5.ko
+modprobe|sec_touch.ko
+modprobe|cs40l26-i2c.ko
+modprobe|snd-soc-cs40l26.ko
+
+# All device specific modules loaded
+setprop|vendor.device.modules.ready
+setprop|vendor.all.modules.ready
+setprop|vendor.all.devices.ready
diff --git a/insmod_cfg/init.insmod.shiba.cfg b/insmod_cfg/init.insmod.shiba.cfg
new file mode 120000
index 0000000..c069e0b
--- /dev/null
+++ b/insmod_cfg/init.insmod.shiba.cfg
@@ -0,0 +1 @@
+../../shusky/insmod_cfg/init.insmod.shiba.cfg
\ No newline at end of file
diff --git a/insmod_cfg/init.insmod.tokay.cfg b/insmod_cfg/init.insmod.tokay.cfg
new file mode 100644
index 0000000..8f1657b
--- /dev/null
+++ b/insmod_cfg/init.insmod.tokay.cfg
@@ -0,0 +1,19 @@
+##########################################################
+#           init.insmod.tokay.cfg                        #
+# This file contains tokay specific kernel modules       #
+# to load at init time by init.insmod.sh script          #
+##########################################################
+
+# Load device specific kernel modules
+# Modules here will be loaded *after* all common modules
+modprobe|bcmdhd4390.ko
+modprobe|snd-soc-cs35l41-i2c.ko
+modprobe|syna_touch.ko
+modprobe|cs40l26-i2c.ko
+modprobe|snd-soc-cs40l26.ko
+modprobe|rt6160-regulator.ko
+
+# All device specific modules loaded
+setprop|vendor.device.modules.ready
+setprop|vendor.all.modules.ready
+setprop|vendor.all.devices.ready
diff --git a/vendor_dlkm.blocklist.caimito b/vendor_dlkm.blocklist.caimito
new file mode 100644
index 0000000..a4dfda2
--- /dev/null
+++ b/vendor_dlkm.blocklist.caimito
@@ -0,0 +1,8 @@
+blocklist bcmdhd4390
+blocklist cs40l26_i2c
+blocklist gs-panel-common-test.ko
+blocklist panel-gs-tk4c-test.ko
+blocklist pwm_exynos
+blocklist rt4539_bl
+blocklist sec_touch
+blocklist syna_touch
diff --git a/vendor_ramdisk.modules.caimito b/vendor_ramdisk.modules.caimito
new file mode 100644
index 0000000..033b4db
--- /dev/null
+++ b/vendor_ramdisk.modules.caimito
@@ -0,0 +1,15 @@
+extra/private/google-modules/display/common/panels/panel-gs-simple.ko
+extra/private/google-modules/display/panels/caimito/panel-gs-cm4.ko
+extra/private/google-modules/display/panels/caimito/panel-gs-km4.ko
+extra/private/google-modules/display/panels/caimito/panel-gs-tk4a.ko
+extra/private/google-modules/display/panels/caimito/panel-gs-tk4b.ko
+extra/private/google-modules/display/panels/caimito/panel-gs-tk4c.ko
+extra/private/google-modules/gps/broadcom/bcm47765/bcm47765.ko
+extra/private/google-modules/nfc/st21nfc.ko
+extra/private/google-modules/nfc/ese/st54spi.ko
+extra/private/google-modules/radio/samsung/s5400/shm_ipc.ko
+extra/private/google-modules/radio/samsung/s5400/cpif_page.ko
+extra/private/google-modules/radio/samsung/s5400/cpif.ko
+extra/private/google-modules/radio/samsung/s5400/cp_pmic.ko
+extra/private/google-modules/touch/common/touch_bus_negotiator.ko
+extra/private/google-modules/touch/common/touch_offload.ko