Lines Matching +full:sub +full:- +full:system
6 * microcontroller is System Controller Unit (SCU) which, in particular,
7 * is servicing watchdog and controlling system reset function.
11 * SPDX-License-Identifier: GPL-2.0+
39 * scu_ipc_send_command() - send command to SCU
50 writel(cmd, ®s->cmd); in scu_ipc_send_command()
54 * scu_ipc_check_status() - check status of last command
69 status = readl(®s->status); in scu_ipc_check_status()
74 } while (--loop_count); in scu_ipc_check_status()
76 return -ETIMEDOUT; in scu_ipc_check_status()
80 return -EIO; in scu_ipc_check_status()
86 static int scu_ipc_cmd(struct ipc_regs *regs, u32 cmd, u32 sub, in scu_ipc_cmd() argument
92 writel(*in++, ®s->wbuf[i]); in scu_ipc_cmd()
94 scu_ipc_send_command(regs, (inlen << 16) | (sub << 12) | cmd); in scu_ipc_cmd()
99 *out++ = readl(®s->rbuf[i]); in scu_ipc_cmd()
106 * scu_ipc_simple_command() - send a simple command
108 * @sub: sub type
117 int scu_ipc_simple_command(u32 cmd, u32 sub) in scu_ipc_simple_command() argument
129 scu_ipc_send_command(scu->regs, sub << 12 | cmd); in scu_ipc_simple_command()
130 return scu_ipc_check_status(scu->regs); in scu_ipc_simple_command()
133 int scu_ipc_command(u32 cmd, u32 sub, u32 *in, int inlen, u32 *out, int outlen) in scu_ipc_command() argument
145 return scu_ipc_cmd(scu->regs, cmd, sub, in, inlen, out, outlen); in scu_ipc_command()
152 scu->regs = syscon_get_first_range(X86_SYSCON_SCU); in scu_ipc_probe()
158 { .compatible = "intel,scu-ipc", .data = X86_SYSCON_SCU },