Lines Matching +full:timer +full:- +full:cannot +full:- +full:wake +full:- +full:cpu

1 /* SPDX-License-Identifier: GPL-2.0 */
25 * These commands are used to retrieve the sdb-partition-XX datas from
31 * - 0..1 : partition address
32 * - 2 : a byte containing the partition ID
33 * - 3 : length (maybe other bits are rest of header ?)
53 * ---------------------
66 * ------------------------
88 * timer, but also a PRAM
115 * 0: bus number (from device-tree usually, SMU has lots of busses !)
128 * - 0x00: Simple transfer
129 * - 0x01: Subaddress transfer (addr write + data tx, no restart)
130 * - 0x02: Combined transfer (addr write + restart + data tx)
146 * - on read, 0xfe or 0xfc : bus is busy, wait (see below) or nak ?
147 * - on read, 0x00 or 0x01 : reply is in buffer (after the byte 0)
148 * - on write, < 0 -> failure (immediate exit)
149 * - else, OF just exists (without error, weird)
151 * So on read, there is this wait-for-busy thing when getting a 0xfc or
156 * The Darwin I2C driver is less subtle though. On any non-success status
163 * implementation of this relies on working timers & timer interrupts
180 * - length 5 (only "VSLEW") : it returns "DONE" and 3 bytes of
182 * - length 8 ("VSLEWxyz") has 3 additional bytes appended, and is
201 * value in the device-tree) and returns a 16 bits value
252 * 2-8: unknown (BCD coding)
299 * break your transfer in "chunks" since that command cannot transfer
303 * either in the last 16 bits of property "smu-version-pmu" or as the 16
304 * bytes at offset 1 of "smu-version-info"
368 SMU_PWR_WAKEUP_KEY = 0x01, /* Wake on key press */
369 SMU_PWR_WAKEUP_AC_INSERT = 0x02, /* Wake on AC adapter plug */
377 * - Kernel side interface -
441 * Synchronous helpers. Will spin-wait for completion of a command
447 smu_spinwait_cmd(&scmd->cmd); in smu_spinwait_simple()
524 * - SMU "sdb" partitions informations -
548 /* This is the definition of the SMU sdb-partition-0x12 table (called
549 * CPU F/V/T operating points in Darwin). The definition for all those
564 __u16 volts[3]; /* CPU core voltage for the 3
584 /* This partition contains CPU thermal diode calibration
613 /* This partition contains CPU thermal control PID informations. So far
614 * only single CPU machines have been seen with an SMU, so we assume this
650 * - Userland interface -
657 * - sending SMU commands (default at open() time)
658 * - receiving SMU events (not yet implemented)