#
# Copyright 2018 The Chromium OS Authors. All rights reserved.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

touch: &touch
  $fw_root: "/lib/firmware"
  $fw_dest: "/opt/google/touch/firmware"

audio: &audio
  main:
    $cras_root: "/etc/cras"
    $ucm_root: "/usr/share/alsa/ucm"
    $fw_root: "/lib/firmware"
    $card: "a-card"

    cras-config-dir: "{{$name}}"
    ucm-suffix: "{{$name}}"

    $volume: "{{cras-config-dir}}/{{$card}}"
    $dsp-ini: "{{cras-config-dir}}/dsp.ini"
    $hifi-conf: "{{$card}}.{{ucm-suffix}}/HiFi.conf"
    $alsa-conf: "{{$card}}.{{ucm-suffix}}/{{$card}}.{{ucm-suffix}}.conf"
    $topology-bin: "{{$topology-name}}-tplg.bin"

    files:
      - source: "cras-config/{{$volume}}"
        destination: "{{$cras_root}}/{{$volume}}"
      - source: "cras-config/{{$dsp-ini}}"
        destination: "{{$cras_root}}/{{$dsp-ini}}"
      - source: "ucm-config/{{$hifi-conf}}"
        destination: "{{$ucm_root}}/{{$hifi-conf}}"
      - source: "ucm-config/{{$alsa-conf}}"
        destination: "{{$ucm_root}}/{{$alsa-conf}}"
      - source: "topology/{{$topology-bin}}"
        destination: "{{$fw_root}}/{{$topology-bin}}"

some_base_config: &some_base_config
  name: "{{$name}}"
  arc:
    files:
      - source: "some/hardware_features"
        destination: "/usr/share/chromeos-config/sbin/some/hardware_features"
    build-properties:
      first-api-level: "27"
  bluetooth:
    config:
      build-path: "some/main.conf"
      system-path: "/etc/bluetooth/some/main.conf"
  camera:
    count: 1
  firmware:
    bcs-overlay: "overlay-some-private"
    build-targets:
      coreboot: "some"
      ec: "some"
      depthcharge: "some"
      libpayload: "some"
      u-boot: "some"

    ec-ro-image: "bcs://Some_EC.1111.11.1.tbz2"
    main-ro-image: "bcs://Some.1111.11.1.tbz2"
    main-rw-image: "bcs://Some_RW.1111.11.1.tbz2"
  power:
    charging-ports: |
      CROS_USB_PD_CHARGER0 LEFT
      CROS_USB_PD_CHARGER1 RIGHT
    keyboard-backlight-no-als-brightness: "98.7"
    low-battery-shutdown-percent: "100.0"
    power-supply-full-factor: "0.0"
    set-wifi-transmit-power-for-tablet-mode: "1"
    suspend-to-idle: "0"
    touchpad-wakeup: "1"
  ui:
    power-button:
      edge: "left"
      position: "0.3"
  oem-id: "{{$oem-id}}"

some_config: &some_config
  <<: *some_base_config
  audio:
    <<: *audio
    $topology-name: "some"
  firmware-signing:
    key-id: "{{$key-id}}"
    signature-id: "{{$name}}"
  hardware-properties:
    is-lid-convertible: true
  identity:
    platform-name: "Some"
    smbios-name-match: "Some"
    sku-id: "{{$sku-id}}"
  modem:
    firmware-variant: "some"
  wallpaper: "some"
  $oem-id: "0"

some_whitelabel_config: &some_whitelabel_config
  <<: *some_base_config
  brand-code: "{{$brand-code}}"
  identity:
    platform-name: "Some"
    smbios-name-match: "Some"
    sku-id: "{{$sku-id}}"
    whitelabel-tag: "{{$whitelabel-tag}}"
  firmware-signing:
    key-id: "{{$key-id}}"
    signature-id: "{{$name}}-{{$whitelabel-tag}}"
    sig-id-in-customization-id: True
  hardware-properties:
    is-lid-convertible: false
  $oem-id: "1"

some_touch_config: &some_touch_config
  <<: *touch
  $some_stylus: "some_stylus_vendor/some-version.hex"
  $some_touchscreen: "some_touch_vendor/some-pid_some-version.bin"
  $some_other_touchscreen: "some_touch_vendor/some-other-pid_some-other-version.bin"

  files:
    - source: "{{$some_stylus}}"
      destination: "{{$fw_dest}}/{{$some_stylus}}"
      symlink: "{{$fw_root}}/some_stylus_vendor_firmware_SOME.bin"
    - source: "{{$some_touchscreen}}"
      destination: "{{$fw_dest}}/{{$some_touchscreen}}"
      symlink: "{{$fw_root}}/some_touch_vendorts_i2c_some-pid.bin"
    - source: "{{$some_other_touchscreen}}"
      destination: "{{$fw_dest}}/{{$some_other_touchscreen}}"
      symlink: "{{$fw_root}}/some_touch_vendorts_i2c_some-other-pid.bin"

chromeos:
  devices:
    - $name: "some"
      products:
        - $key-id: "SOME"
      skus:
        - $sku-id: 0
          config:
            <<: *some_config
            hardware-properties:
              is-lid-convertible: true
              has-base-accelerometer: true
              has-base-gyroscope: true
              has-lid-accelerometer: true
            touch:
              <<: *some_touch_config
              present: "probe"
              probe-regex: "some-prob-regex"
            thermal:
              dptf-dv: "/etc/dptf/some_touch/dptf.dv"
              files:
                - source: "some_touch/dptf.dv"
                  destination: "{{dptf-dv}}"
        - $sku-id: 1
          config:
            <<: *some_config
            hardware-properties:
              is-lid-convertible: false
            touch:
              <<: *some_touch_config
              present: "no"
            thermal:
              files:
                - source: "some_notouch/dptf.dv"
                  destination: "/etc/dptf/some_notouch/dptf.dv"
    - $name: "another"
      products:
        - $key-id: "ANOTHER"
      skus:
        - config:
            name: "{{$name}}"
            audio:
              <<: *audio
              $topology-name: "another"
            hardware-properties:
              is-lid-convertible: true
            identity:
              platform-name: "Another"
              smbios-name-match: "Another"
            firmware:
              bcs-overlay: "overlay-another-private"

              ec-ro-image: "bcs://Another_EC.1111.11.1.tbz2"
              main-ro-image: "bcs://Another.1111.11.1.tbz2"
              main-rw-image: "bcs://Another_RW.1111.11.1.tbz2"
              build-targets:
                base: "another_base"
                ec_extras:
                  - "extra1"
                  - "extra2"
                coreboot: "another"
                cr50: "another_cr50"
                ec: "another"
                depthcharge: "another"
                libpayload: "another"
            firmware-signing:
              key-id: "{{$key-id}}"
              signature-id: "{{$name}}"
            touch:
              <<: *touch
              present: "probe"
              probe-regex: "another-prob-regex"

              $some_stylus: "some_stylus_vendor/another-version.hex"
              $some_touchscreen: "some_touch_vendor/some-pid_some-version.bin"

              files:
                - source: "{{$some_stylus}}"
                  destination: "{{$fw_dest}}/{{$some_stylus}}"
                  symlink: "{{$fw_root}}/some_stylus_vendor_firmware_ANOTHER.bin"
                - source: "{{$some_touchscreen}}"
                  destination: "{{$fw_dest}}/{{$some_touchscreen}}"
                  symlink: "{{$fw_root}}/some_touch_vendorts_i2c_some-pid.bin"
            thermal:
              files:
                - source: "another/dptf.dv"
                  destination: "/etc/dptf/another/dptf.dv"
            wallpaper: "default"
    - products:
        - $key-id: "SOME_CUSTOMIZATION"
      skus:
        - config:
            name: "some_customization"
            identity:
              platform-name: "SomeCustomization"
              smbios-name-match: "SomeCustomization"
              customization-id: "SomeCustomization"
            firmware:
              no-firmware: true
            firmware-signing:
              key-id: "{{$key-id}}"
              signature-id: "{{name}}"
    - $name: "whitelabel"
      products:
        - $brand-code: "WLBA"
          $key-id: "WHITELABEL1"
          $wallpaper: "wallpaper-wl1"
          $whitelabel-tag: "whitelabel1"
        - $brand-code: "WLBB"
          $key-id: "WHITELABEL2"
          $wallpaper: "wallpaper-wl2"
          $whitelabel-tag: "whitelabel2"
      skus:
        - $sku-id: 8
          config:
            <<: *some_whitelabel_config
            wallpaper: "{{$wallpaper}}"
            touch:
              <<: *some_touch_config
              present: "yes"
              probe-regex: "some-prob-regex"
        - $sku-id: 9
          config:
            <<: *some_whitelabel_config
            wallpaper: "{{$wallpaper}}"
            touch:
              <<: *some_touch_config
              present: "no"

