chromeos-config: add form-factor configuration

BUG=b:173179861
TEST=CQ

Change-Id: I3a78deadc8f9b03df712c4eae10dae48eedf9130
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2631652
Reviewed-by: Sam McNally <sammc@chromium.org>
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Tested-by: Nikolai Artemiev <nartemiev@google.com>
Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
(cherry picked from commit 0779e7e139d5f137b204f1c73468417083a970a5)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2822671
Reviewed-by: YH Lin <yueherngl@chromium.org>
Commit-Queue: YH Lin <yueherngl@chromium.org>
Tested-by: YH Lin <yueherngl@chromium.org>
diff --git a/chromeos-config/README.md b/chromeos-config/README.md
index 36fb3e1..ac2aac0 100644
--- a/chromeos-config/README.md
+++ b/chromeos-config/README.md
@@ -539,6 +539,7 @@
 | Attribute | Type   | RegEx     | Required | Oneof Group | Build-only | Description |
 | --------- | ------ | --------- | -------- | ----------- | ---------- | ----------- |
 | display-type | string |  | False |  | False | Denotes the type of display this device contains. |
+| form-factor | string |  | False |  | False | Denotes the form factor of the device. |
 | has-backlight | boolean |  | False |  | False | Does the device have a backlight. |
 | has-base-accelerometer | boolean |  | False |  | False | Is there an accelerometer in the base of the device. |
 | has-base-gyroscope | boolean |  | False |  | False | Is there a gyroscope in the base of the device. |
diff --git a/chromeos-config/cros_config_host/cros_config_schema.yaml b/chromeos-config/cros_config_host/cros_config_schema.yaml
index 8e820d9..adc3c1e 100644
--- a/chromeos-config/cros_config_host/cros_config_schema.yaml
+++ b/chromeos-config/cros_config_host/cros_config_schema.yaml
@@ -138,6 +138,14 @@
     enum:
     - default
     - old
+  form-factor: &form-factor
+    description: "Denotes the form factor of the device."
+    type: string
+    enum:
+     - CHROMEBASE
+     - CHROMEBIT
+     - CHROMEBOOK
+     - CHROMEBOX
   ath10k-wifi-transmit-power-chain: &ath10k-wifi-transmit-power-chain
     description: "[ath10k] WiFi power chain for use with QCA ath10k drivers. Limits
       in units of 0.25 dBm. 5g band power limit applies to all 5g bands."
@@ -900,6 +908,7 @@
                 display-type: *display-type
                 stylus-category: *stylus-category
                 psu-type: *psu-type
+                form-factor: *form-factor
               additionalProperties: false
             cros-healthd:
               type: object