MCPcopy Create free account
hub / github.com/F-Stack/f-stack / mv_fdt_pm

Function mv_fdt_pm

freebsd/arm/mv/mv_common.c:495–531  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

493}
494
495int
496mv_fdt_pm(phandle_t node)
497{
498 uint32_t cpu_pm_ctrl;
499 int i, ena, compat;
500
501 ena = 1;
502 cpu_pm_ctrl = read_cpu_ctrl(CPU_PM_CTRL);
503 for (i = 0; fdt_pm_mask_table[i].compat != NULL; i++) {
504 if (dev_mask & (1 << i))
505 continue;
506
507 compat = ofw_bus_node_is_compatible(node,
508 fdt_pm_mask_table[i].compat);
509#if defined(SOC_MV_KIRKWOOD)
510 if (compat && (cpu_pm_ctrl & fdt_pm_mask_table[i].mask)) {
511 dev_mask |= (1 << i);
512 ena = 0;
513 break;
514 } else if (compat) {
515 dev_mask |= (1 << i);
516 break;
517 }
518#else
519 if (compat && (~cpu_pm_ctrl & fdt_pm_mask_table[i].mask)) {
520 dev_mask |= (1 << i);
521 ena = 0;
522 break;
523 } else if (compat) {
524 dev_mask |= (1 << i);
525 break;
526 }
527#endif
528 }
529
530 return (ena);
531}
532
533uint32_t
534read_cpu_ctrl(uint32_t reg)

Callers 1

localbus_attachFunction · 0.85

Calls 1

read_cpu_ctrlFunction · 0.85

Tested by

no test coverage detected