dtb-$(CONFIG_ARCH_QCOM)        += sc7180-trogdor-pompom-r1-lte.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sc7180-trogdor-pompom-r2.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sc7180-trogdor-pompom-r2-lte.dtb
+dtb-$(CONFIG_ARCH_QCOM)        += sc7180-trogdor-pompom-r3.dtb
+dtb-$(CONFIG_ARCH_QCOM)        += sc7180-trogdor-pompom-r3-lte.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sc7180-trogdor-r1.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sc7180-trogdor-r1-lte.dtb
 dtb-$(CONFIG_ARCH_QCOM)        += sc7280-idp.dtb
 
 
 #include "sc7180-trogdor-pompom.dtsi"
 
+/delete-node/ &keyboard_controller;
+#include <arm/cros-ec-keyboard.dtsi>
+
 / {
        model = "Google Pompom (rev1)";
        compatible = "google,pompom-rev1", "qcom,sc7180";
 };
 
+/*
+ * Pompom rev1 is stuffed with a 47k NTC as charger thermistor which currently
+ * is not supported by the PM6150 ADC driver. Disable the charger thermal zone
+ * to avoid using bogus temperature values.
+ */
+&charger_thermal {
+       status = "disabled";
+};
+
 &pp3300_hub {
        /* pp3300_l7c is used to power the USB hub */
        /delete-property/regulator-always-on;
 
 #include "sc7180-trogdor-lte-sku.dtsi"
 
 / {
-       model = "Google Pompom (rev2+) with LTE";
-       compatible = "google,pompom-sku0", "qcom,sc7180";
+       model = "Google Pompom (rev2) with LTE";
+       compatible = "google,pompom-rev2-sku0", "qcom,sc7180";
 };
 
 #include "sc7180-trogdor-pompom.dtsi"
 
 / {
-       model = "Google Pompom (rev2+)";
-       compatible = "google,pompom", "qcom,sc7180";
+       model = "Google Pompom (rev2)";
+       compatible = "google,pompom-rev2", "qcom,sc7180";
 };
 
-&keyboard_controller {
-       function-row-physmap = <
-               MATRIX_KEY(0x00, 0x02, 0)       /* T1 */
-               MATRIX_KEY(0x03, 0x02, 0)       /* T2 */
-               MATRIX_KEY(0x02, 0x02, 0)       /* T3 */
-               MATRIX_KEY(0x01, 0x02, 0)       /* T4 */
-               MATRIX_KEY(0x03, 0x04, 0)       /* T5 */
-               MATRIX_KEY(0x02, 0x04, 0)       /* T6 */
-               MATRIX_KEY(0x01, 0x04, 0)       /* T7 */
-               MATRIX_KEY(0x02, 0x09, 0)       /* T8 */
-               MATRIX_KEY(0x01, 0x09, 0)       /* T9 */
-               MATRIX_KEY(0x00, 0x04, 0)       /* T10 */
-       >;
-       linux,keymap = <
-               MATRIX_KEY(0x00, 0x02, KEY_BACK)
-               MATRIX_KEY(0x03, 0x02, KEY_REFRESH)
-               MATRIX_KEY(0x02, 0x02, KEY_ZOOM)
-               MATRIX_KEY(0x01, 0x02, KEY_SCALE)
-               MATRIX_KEY(0x03, 0x04, KEY_SYSRQ)
-               MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN)
-               MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP)
-               MATRIX_KEY(0x02, 0x09, KEY_MUTE)
-               MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN)
-               MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP)
-
-               CROS_STD_MAIN_KEYMAP
-       >;
+/*
+ * Pompom rev2 is stuffed with a 47k NTC as charger thermistor which currently
+ * is not supported by the PM6150 ADC driver. Disable the charger thermal zone
+ * to avoid using bogus temperature values.
+ */
+&charger_thermal {
+       status = "disabled";
 };
 
--- /dev/null
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Google Pompom board device tree source
+ *
+ * Copyright 2021 Google LLC.
+ */
+
+#include "sc7180-trogdor-pompom-r3.dts"
+#include "sc7180-trogdor-lte-sku.dtsi"
+
+/ {
+       model = "Google Pompom (rev3+) with LTE";
+       compatible = "google,pompom-sku0", "qcom,sc7180";
+};
 
--- /dev/null
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Google Pompom board device tree source
+ *
+ * Copyright 2021 Google LLC.
+ */
+
+/dts-v1/;
+
+#include "sc7180-trogdor-pompom.dtsi"
+
+/ {
+       model = "Google Pompom (rev3+)";
+       compatible = "google,pompom", "qcom,sc7180";
+};
 
        };
 };
 
+&keyboard_controller {
+       function-row-physmap = <
+               MATRIX_KEY(0x00, 0x02, 0)       /* T1 */
+               MATRIX_KEY(0x03, 0x02, 0)       /* T2 */
+               MATRIX_KEY(0x02, 0x02, 0)       /* T3 */
+               MATRIX_KEY(0x01, 0x02, 0)       /* T4 */
+               MATRIX_KEY(0x03, 0x04, 0)       /* T5 */
+               MATRIX_KEY(0x02, 0x04, 0)       /* T6 */
+               MATRIX_KEY(0x01, 0x04, 0)       /* T7 */
+               MATRIX_KEY(0x02, 0x09, 0)       /* T8 */
+               MATRIX_KEY(0x01, 0x09, 0)       /* T9 */
+               MATRIX_KEY(0x00, 0x04, 0)       /* T10 */
+       >;
+       linux,keymap = <
+               MATRIX_KEY(0x00, 0x02, KEY_BACK)
+               MATRIX_KEY(0x03, 0x02, KEY_REFRESH)
+               MATRIX_KEY(0x02, 0x02, KEY_ZOOM)
+               MATRIX_KEY(0x01, 0x02, KEY_SCALE)
+               MATRIX_KEY(0x03, 0x04, KEY_SYSRQ)
+               MATRIX_KEY(0x02, 0x04, KEY_BRIGHTNESSDOWN)
+               MATRIX_KEY(0x01, 0x04, KEY_BRIGHTNESSUP)
+               MATRIX_KEY(0x02, 0x09, KEY_MUTE)
+               MATRIX_KEY(0x01, 0x09, KEY_VOLUMEDOWN)
+               MATRIX_KEY(0x00, 0x04, KEY_VOLUMEUP)
+
+               CROS_STD_MAIN_KEYMAP
+       >;
+};
+
 &panel {
        compatible = "kingdisplay,kd116n21-30nv-a010";
 };