blob: 38207e4391ab3e24fe1d134d624b16089bfdf40d [file] [log] [blame]
/*
* ARM JUNO specific energy cost model data. There are no unit requirements for
* the data. Data can be normalized to any reference point, but the
* normalization must be consistent. That is, one bogo-joule/watt must be the
* same quantity for all data, but we don't care what it is.
*/
/* static struct idle_state idle_states_cluster_a53[] = { */
/* { .power = 56 }, /\* arch_cpu_idle() (active idle) = WFI *\/ */
/* { .power = 56 }, /\* WFI *\/ */
/* { .power = 56 }, /\* cpu-sleep-0 *\/ */
/* { .power = 17 }, /\* cluster-sleep-0 *\/ */
/* }; */
/* static struct idle_state idle_states_cluster_a57[] = { */
/* { .power = 65 }, /\* arch_cpu_idle() (active idle) = WFI *\/ */
/* { .power = 65 }, /\* WFI *\/ */
/* { .power = 65 }, /\* cpu-sleep-0 *\/ */
/* { .power = 24 }, /\* cluster-sleep-0 *\/ */
/* }; */
/* static struct capacity_state cap_states_cluster_a53[] = { */
/* /\* Power per cluster *\/ */
/* { .cap = 235, .power = 26, }, /\* 450 MHz *\/ */
/* { .cap = 303, .power = 30, }, /\* 575 MHz *\/ */
/* { .cap = 368, .power = 39, }, /\* 700 MHz *\/ */
/* { .cap = 406, .power = 47, }, /\* 775 MHz *\/ */
/* { .cap = 447, .power = 57, }, /\* 850 Mhz *\/ */
/* }; */
/* static struct capacity_state cap_states_cluster_a57[] = { */
/* /\* Power per cluster *\/ */
/* { .cap = 417, .power = 24, }, /\* 450 MHz *\/ */
/* { .cap = 579, .power = 32, }, /\* 625 MHz *\/ */
/* { .cap = 744, .power = 43, }, /\* 800 MHz *\/ */
/* { .cap = 883, .power = 49, }, /\* 950 MHz *\/ */
/* { .cap = 1024, .power = 64, }, /\* 1100 MHz *\/ */
/* }; */
/* static struct sched_group_energy energy_cluster_a53 = { */
/* .nr_idle_states = ARRAY_SIZE(idle_states_cluster_a53), */
/* .idle_states = idle_states_cluster_a53, */
/* .nr_cap_states = ARRAY_SIZE(cap_states_cluster_a53), */
/* .cap_states = cap_states_cluster_a53, */
/* }; */
/* static struct sched_group_energy energy_cluster_a57 = { */
/* .nr_idle_states = ARRAY_SIZE(idle_states_cluster_a57), */
/* .idle_states = idle_states_cluster_a57, */
/* .nr_cap_states = ARRAY_SIZE(cap_states_cluster_a57), */
/* .cap_states = cap_states_cluster_a57, */
/* }; */
/* static struct idle_state idle_states_core_a53[] = { */
/* { .power = 6 }, /\* arch_cpu_idle() (active idle) = WFI *\/ */
/* { .power = 6 }, /\* WFI *\/ */
/* { .power = 0 }, /\* cpu-sleep-0 *\/ */
/* { .power = 0 }, /\* cluster-sleep-0 *\/ */
/* }; */
/* static struct idle_state idle_states_core_a57[] = { */
/* { .power = 15 }, /\* arch_cpu_idle() (active idle) = WFI *\/ */
/* { .power = 15 }, /\* WFI *\/ */
/* { .power = 0 }, /\* cpu-sleep-0 *\/ */
/* { .power = 0 }, /\* cluster-sleep-0 *\/ */
/* }; */
/* static struct capacity_state cap_states_core_a53[] = { */
/* /\* Power per cpu *\/ */
/* { .cap = 235, .power = 33, }, /\* 450 MHz *\/ */
/* { .cap = 302, .power = 46, }, /\* 575 MHz *\/ */
/* { .cap = 368, .power = 61, }, /\* 700 MHz *\/ */
/* { .cap = 406, .power = 76, }, /\* 775 MHz *\/ */
/* { .cap = 447, .power = 93, }, /\* 850 Mhz *\/ */
/* }; */
/* static struct capacity_state cap_states_core_a57[] = { */
/* /\* Power per cpu *\/ */
/* { .cap = 417, .power = 168, }, /\* 450 MHz *\/ */
/* { .cap = 579, .power = 251, }, /\* 625 MHz *\/ */
/* { .cap = 744, .power = 359, }, /\* 800 MHz *\/ */
/* { .cap = 883, .power = 479, }, /\* 950 MHz *\/ */
/* { .cap = 1024, .power = 616, }, /\* 1100 MHz *\/ */
/* }; */
energy-costs {
CPU_COST_A57: core-cost0 {
busy-cost-data = <
417 168
579 251
744 359
883 479
1023 616
>;
idle-cost-data = <
15
15
0
0
>;
};
CPU_COST_A53: core-cost1 {
busy-cost-data = <
235 33
302 46
368 61
406 76
447 93
>;
idle-cost-data = <
6
6
0
0
>;
};
CLUSTER_COST_A57: cluster-cost0 {
busy-cost-data = <
417 24
579 32
744 43
883 49
1024 64
>;
idle-cost-data = <
65
65
65
24
>;
};
CLUSTER_COST_A53: cluster-cost1 {
busy-cost-data = <
235 26
303 30
368 39
406 47
447 57
>;
idle-cost-data = <
56
56
56
17
>;
};
};