<?xml version="1.0" encoding="utf-8"?>
<!--
**
** Copyright 2018, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License")
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
**     http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<device name="Android">
    <!-- All values are in mA except as noted -->
    <item name="battery.capacity">4000</item>

    <!-- Number of cores each CPU cluster contains -->
    <array name="cpu.clusters.cores">
      <value>6</value> <!-- Cluster 0 has 6 cores (cpu0, cpu1, cpu2, cpu3, cpu4, cpu5) -->
      <value>1</value> <!-- Cluster 1 has 1 cores (cpu6) -->
      <value>1</value> <!-- Cluster 2 has 1 cores (cpu7) -->
    </array>

    <!-- Power consumption when CPU is suspended -->
    <item name="cpu.suspend">5.6</item>
    <!-- Additional power consumption when CPU is in a kernel idle loop -->
    <item name="cpu.idle">5.4</item>

    <!-- Additional power consumption by CPU excluding cluster and core when
         running -->
    <item name="cpu.active">8.4</item>

    <!-- Additional power consumption by CPU cluster0 itself when running
         excluding cores in it -->
    <item name="cpu.cluster_power.cluster0">2</item>
    <!-- Additional power consumption by CPU cluster1 itself when running
         excluding cores in it -->
    <item name="cpu.cluster_power.cluster1">2.2</item>
    <!-- Additional power consumption by CPU cluster2 itself when running
         excluding cores in it -->
    <item name="cpu.cluster_power.cluster2">2.6</item>

    <!-- Different CPU speeds as reported in
         /sys/devices/system/cpu/cpufreq/ploicy0/scaling_available_frequencies -->
    <array name="cpu.core_speeds.cluster0">
      <value>300000</value> <!-- 300 MHz CPU speed -->
      <value>576000</value> <!-- 576 MHz CPU speed -->
      <value>614400</value> <!-- 614 MHz CPU speed -->
      <value>864000</value> <!-- 864 MHz CPU speed -->
      <value>1075200</value> <!-- 1075 MHz CPU speed -->
      <value>1363200</value> <!-- 1363 MHz CPU speed -->
      <value>1516800</value> <!-- 1516 MHz CPU speed -->
      <value>1651200</value> <!-- 1651 MHz CPU speed -->
      <value>1804800</value> <!-- 1804 MHz CPU speed -->
    </array>

    <!-- Different CPU speeds as reported in
         /sys/devices/system/cpu/cpufreq/ploicy6/scaling_available_frequencies -->
    <array name="cpu.core_speeds.cluster1">
      <value>652800</value> <!-- 652 MHz CPU speed -->
      <value>940800</value> <!-- 940 MHz CPU speed -->
      <value>1152000</value> <!-- 1152 MHz CPU speed -->
      <value>1478400</value> <!-- 1478 MHz CPU speed -->
      <value>1728000</value> <!-- 1728 MHz CPU speed -->
      <value>1900800</value> <!-- 1900 MHz CPU speed -->
      <value>2092800</value> <!-- 2092 MHz CPU speed -->
      <value>2208000</value> <!-- 2208 MHz CPU speed -->
    </array>

    <!-- Different CPU speeds as reported in
         /sys/devices/system/cpu/cpufreq/ploicy7/scaling_available_frequencies -->
    <array name="cpu.core_speeds.cluster2">
      <value>806400</value> <!-- 806 MHz CPU speed -->
      <value>1094400</value> <!-- 1094 MHz CPU speed -->
      <value>1401600</value> <!-- 1401 MHz CPU speed -->
      <value>1766400</value> <!-- 1766 MHz CPU speed -->
      <value>1996800</value> <!-- 1996 MHz CPU speed -->
      <value>2188800</value> <!-- 2188 MHz CPU speed -->
      <value>2304000</value> <!-- 2304 MHz CPU speed -->
      <value>2400000</value> <!-- 2400 MHz CPU speed -->
    </array>

    <!-- Additional power used by a CPU core from cluster 0 when running at
         different speeds, excluding cluster and active cost -->
    <array name="cpu.core_power.cluster0">
      <value>41.92</value> <!-- 300 MHz CPU speed -->
      <value>59.59</value> <!-- 576 MHz CPU speed -->
      <value>61.93</value> <!-- 614 MHz CPU speed -->
      <value>79.86</value> <!-- 864 MHz CPU speed -->
      <value>95.92</value> <!-- 1075 MHz CPU speed -->
      <value>121.97</value> <!-- 1363 MHz CPU speed -->
      <value>140.72</value> <!-- 1516 MHz CPU speed -->
      <value>159.18</value> <!-- 1651 MHz CPU speed -->
      <value>176.19</value> <!-- 1804 MHz CPU speed -->
    </array>

    <!-- Additional power used by a CPU core from cluster 1 when running at
         different speeds, excluding cluster and active cost -->
    <array name="cpu.core_power.cluster1">
      <value>32.13</value> <!-- 652 MHz CPU speed -->
      <value>35.98</value> <!-- 940 MHz CPU speed -->
      <value>40.03</value> <!-- 1152 MHz CPU speed -->
      <value>51.02</value> <!-- 1478 MHz CPU speed -->
      <value>77.06</value> <!-- 1728 MHz CPU speed -->
      <value>86.25</value> <!-- 1900 MHz CPU speed -->
      <value>97.30</value> <!-- 2092 MHz CPU speed -->
      <value>101.61</value> <!-- 2208 MHz CPU speed -->
    </array>

    <!-- Additional power used by a CPU core from cluster 2 when running at
         different speeds, excluding cluster and active cost -->
    <array name="cpu.core_power.cluster2">
      <value>56.44</value> <!-- 806 MHz CPU speed -->
      <value>65.72</value> <!-- 1094 MHz CPU speed -->
      <value>77.01</value> <!-- 1401 MHz CPU speed -->
      <value>104.91</value> <!-- 1766 MHz CPU speed -->
      <value>112.35</value> <!-- 1996 MHz CPU speed -->
      <value>118.53</value> <!-- 2188 MHz CPU speed -->
      <value>122.34</value> <!-- 2304 MHz CPU speed -->
      <value>135.00</value> <!-- 2400 MHz CPU speed -->
    </array>

    <!-- Additional power used when screen is ambient mode -->
    <item name="ambient.on">32</item>

    <!-- Additional power used when screen is turned on at minimum brightness -->
    <item name="screen.on">98</item>
    <!-- Additional power used when screen is at maximum brightness, compared to
         screen at minimum brightness -->
    <item name="screen.full">470</item>

    <!-- Average power used by the camera flash module when on -->
    <item name="camera.flashlight">240.47</item>
    <!-- Average power use by the camera subsystem for a typical camera
         application. Intended as a rough estimate for an application running a
         preview and capturing approximately 10 full-resolution pictures per
         minute. -->
    <item name="camera.avg">900</item>

    <!-- Additional power used when video is playing -->
    <item name="video">25</item>
    <!-- Additional power used when audio is playing -->
    <item name="audio">75</item>

    <!-- Cellular modem related values.-->
    <item name="modem.controller.sleep">0</item>
    <item name="modem.controller.idle">156</item>
    <item name="modem.controller.rx">145</item>
    <array name="modem.controller.tx"> <!-- Strength 0 to 4 -->
        <value>153</value>
        <value>212</value>
        <value>292</value>
        <value>359</value>
        <value>471</value>
    </array>
    <item name="modem.controller.voltage">3700</item>

    <!-- GPS related values.-->
    <array name="gps.signalqualitybased"> <!-- Strength 0 to 1 -->
        <value>28</value>
        <value>5</value>
    </array>
    <item name="gps.voltage">3700</item>

    <!-- Idle Receive current for wifi radio in mA.-->
    <item name="wifi.controller.idle">79</item>
    <!-- Rx current for wifi radio in mA.-->
    <item name="wifi.controller.rx">118</item>
    <!-- Tx current for wifi radio in mA-->
    <item name="wifi.controller.tx">331</item>
    <!-- Operating voltage for wifi radio in mV.-->
    <item name="wifi.controller.voltage">3700</item>

    <!-- Idle current for bluetooth in mA.-->
    <item name="bluetooth.controller.idle">0.01</item>
    <!-- Rx current for bluetooth in mA.-->
    <item name="bluetooth.controller.rx">9</item>
    <!-- Tx current for bluetooth in mA-->
    <item name="bluetooth.controller.tx">7</item>
    <!-- Operating voltage for bluetooth in mV.-->
    <item name="bluetooth.controller.voltage">3300</item>
</device>

