Home
last modified time | relevance | path

Searched full:scu (Results 1 – 25 of 264) sorted by relevance

1234567891011

/linux-5.10/drivers/platform/x86/
Dintel_scu_ipc.c3 * Driver for the Intel SCU IPC mechanism
8 * SCU running in ARC processor communicates with other entity running in IA
9 * core through IPC mechanism which in turn messaging between IA core ad SCU.
10 * SCU has two IPC mechanism IPC-1 and IPC-2. IPC-1 is used between IA32 and
11 * SCU where IPC-2 is used between P-Unit and SCU. This driver delas with
39 * To read or write information to the SCU, driver writes to IPC-1 memory
46 * the IPC-1 register block, causing an interrupt to the SCU
48 * 3. SCU firmware decodes this interrupt and IPC message and the appropriate
72 * 16 byte buffer for sending and receiving data to and from SCU.
81 static DEFINE_MUTEX(ipclock); /* lock used to prevent multiple call to SCU */
[all …]
Dintel_scu_ipcutil.c3 * Driver for the Intel SCU IPC mechanism
8 * This driver provides IOCTL interfaces to call Intel SCU IPC driver API.
25 struct intel_scu_ipc_dev *scu; variable
45 * Allow the user to perform register accesses on the SCU via the
58 return intel_scu_ipc_dev_readv(scu, data->addr, data->data, count); in scu_reg_access()
60 return intel_scu_ipc_dev_writev(scu, data->addr, data->data, count); in scu_reg_access()
62 return intel_scu_ipc_dev_update(scu, data->addr[0], data->data[0], in scu_reg_access()
70 * scu_ipc_ioctl - control ioctls for the SCU
71 * @fp: file handle of the SCU device
75 * Support the I/O and firmware flashing interfaces of the SCU
[all …]
Dintel_scu_pltdrv.c3 * Platform driver for the Intel SCU.
23 struct intel_scu_ipc_dev *scu; in intel_scu_platform_probe() local
33 scu = devm_intel_scu_ipc_register(&pdev->dev, &scu_data); in intel_scu_platform_probe()
34 if (IS_ERR(scu)) in intel_scu_platform_probe()
35 return PTR_ERR(scu); in intel_scu_platform_probe()
37 platform_set_drvdata(pdev, scu); in intel_scu_platform_probe()
59 MODULE_DESCRIPTION("Intel SCU platform driver");
Dintel_mid_powerbtn.c49 struct intel_scu_ipc_dev *scu; member
59 ret = intel_scu_ipc_dev_ioread8(ddata->scu, ddata->pbstat_addr, in mid_pbstat()
72 return intel_scu_ipc_dev_update(ddata->scu, ddata->mirqlvl1_addr, 0, in mid_irq_ack()
79 intel_scu_ipc_dev_update(ddata->scu, BCOVE_PBIRQ, 0, MSIC_PWRBTNM); in mrfld_setup()
80 intel_scu_ipc_dev_update(ddata->scu, BCOVE_PBIRQMASK, 0, MSIC_PWRBTNM); in mrfld_setup()
167 ddata->scu = devm_intel_scu_ipc_dev_get(&pdev->dev); in mid_pb_probe()
168 if (!ddata->scu) in mid_pb_probe()
189 * SCU firmware might send power button interrupts to IA core before in mid_pb_probe()
191 * MSIC reg 0x21 is kept masked, and SCU firmware doesn't send new in mid_pb_probe()
/linux-5.10/arch/x86/include/asm/
Dintel_scu_ipc.h11 * struct intel_scu_ipc_data - Data used to configure SCU IPC
12 * @mem: Base address of SCU IPC MMIO registers
13 * @irq: The IRQ number used for SCU (optional)
28 void intel_scu_ipc_unregister(struct intel_scu_ipc_dev *scu);
39 void intel_scu_ipc_dev_put(struct intel_scu_ipc_dev *scu);
42 int intel_scu_ipc_dev_ioread8(struct intel_scu_ipc_dev *scu, u16 addr,
44 int intel_scu_ipc_dev_iowrite8(struct intel_scu_ipc_dev *scu, u16 addr,
46 int intel_scu_ipc_dev_readv(struct intel_scu_ipc_dev *scu, u16 *addr,
48 int intel_scu_ipc_dev_writev(struct intel_scu_ipc_dev *scu, u16 *addr,
51 int intel_scu_ipc_dev_update(struct intel_scu_ipc_dev *scu, u16 addr,
[all …]
/linux-5.10/Documentation/devicetree/bindings/arm/freescale/
Dfsl,scu.txt19 The scu node with the following properties shall be under the /firmware/ node.
23 - compatible: should be "fsl,imx-scu".
60 i.MX SCU Client Device Node:
63 Client nodes are maintained as children of the relevant IMX-SCU device node.
65 Power domain bindings based on SCU Message Protocol
68 This binding for the SCU power domain providers uses the generic power
73 "fsl,imx8qm-scu-pd",
74 "fsl,imx8qxp-scu-pd"
75 followed by "fsl,scu-pd"
78 SCU commands.
[all …]
/linux-5.10/drivers/clk/imx/
Dclk-scu.c13 #include "clk-scu.h"
21 * struct clk_scu - Description of one SCU clock
23 * @rsrc_id: resource ID of this SCU clock
34 * @hdr: SCU protocol header
39 * This structure describes the SCU protocol of clock rate set
59 * @hdr: SCU protocol header
63 * This structure describes the SCU protocol of clock rate get
75 * @hdr: SCU protocol header
79 * This structure describes the SCU protocol of clock get parent
96 * @hdr: SCU protocol header
[all …]
DMakefile29 obj-$(CONFIG_MXC_CLK_SCU) += clk-imx-scu.o clk-imx-lpcg-scu.o
30 clk-imx-scu-$(CONFIG_CLK_IMX8QXP) += clk-scu.o clk-imx8qxp.o
31 clk-imx-lpcg-scu-$(CONFIG_CLK_IMX8QXP) += clk-lpcg-scu.o clk-imx8qxp-lpcg.o
/linux-5.10/drivers/irqchip/
Dirq-aspeed-scu-ic.c3 * Aspeed AST24XX, AST25XX, and AST26XX SCU Interrupt Controller
41 struct regmap *scu; member
60 * The SCU IC has just one register to control its operation and read in aspeed_scu_ic_irq_handler()
69 regmap_read(scu_ic->scu, scu_ic->reg, &sts); in aspeed_scu_ic_irq_handler()
81 regmap_update_bits(scu_ic->scu, scu_ic->reg, mask, in aspeed_scu_ic_irq_handler()
99 regmap_update_bits(scu_ic->scu, scu_ic->reg, mask, 0); in aspeed_scu_ic_irq_mask()
114 regmap_update_bits(scu_ic->scu, scu_ic->reg, mask, bit); in aspeed_scu_ic_irq_unmask()
125 .name = "aspeed-scu-ic",
155 scu_ic->scu = syscon_node_to_regmap(node->parent); in aspeed_scu_ic_of_init_common()
156 if (IS_ERR(scu_ic->scu)) { in aspeed_scu_ic_of_init_common()
[all …]
/linux-5.10/Documentation/devicetree/bindings/arm/
Dscu.txt1 * ARM Snoop Control Unit (SCU)
17 "arm,cortex-a9-scu"
18 "arm,cortex-a5-scu"
19 "arm,arm11mp-scu"
21 - reg : Specify the base address and the size of the SCU register window.
25 scu@a0410000 {
26 compatible = "arm,cortex-a9-scu";
/linux-5.10/drivers/watchdog/
Dintel-mid_wdt.c3 * intel-mid_wdt: generic Intel MID SCU watchdog driver
29 /* SCU watchdog messages */
39 struct intel_scu_ipc_dev *scu; member
45 struct intel_scu_ipc_dev *scu = mid->scu; in wdt_command() local
47 return intel_scu_ipc_dev_command_with_size(scu, IPC_WATCHDOG, sub, in, in wdt_command()
62 * SCU expects the input size for watchdog IPC to be 2 which is the in wdt_start()
63 * size of the structure in dwords. SCU IPC normally takes bytes in wdt_start()
110 .identity = "Intel MID SCU watchdog",
165 mid->scu = devm_intel_scu_ipc_dev_get(dev); in mid_wdt_probe()
166 if (!mid->scu) in mid_wdt_probe()
/linux-5.10/drivers/scsi/isci/
Dscu_task_context.h60 * This file contains the structures and constants for the SCU hardware task
69 * types the SCU hardware will accept. The definition for the various task
70 * types the SCU hardware will accept can be found in the DS specification.
85 * types the SCU hardware will accept. The definition for the various task
86 * types the SCU hardware will accept can be found in the DS specification.
187 * operations to construct the various SCU commands
224 * SCU_COMMAND_TYPES These constants provide the grouping of the different SCU
240 * posted to the SCU hardware.
284 * SCU_TASK_CONTEXT_PROTOCOL SCU Task context protocol types this is uesd to
285 * program the SCU Task context protocol field in word 0x00.
[all …]
Dscu_remote_node_context.h60 * This file contains the structures and constatns used by the SCU hardware to
67 * struct ssp_remote_node_context - This structure contains the SCU hardware
79 * the SCU device context capacity register.
85 * This field tells the SCU hardware how many simultaneous connections that
91 * This field tells the SCU hardware which logical port to associate with this
148 * This field tells the SCU hardware how long this device may occupy the
154 * This field tells the SCU hardware how long to maintain a connection when
173 * This field tells the SCU hardware what to program for the features in the
179 * This field tells the SCU hardware what to use for the source zone group in
186 * This field tells the SCU hardware what to use as the more capibilities in
[all …]
/linux-5.10/Documentation/devicetree/bindings/interrupt-controller/
Daspeed,ast2xxx-scu-ic.txt1 Aspeed AST25XX and AST26XX SCU Interrupt Controller
5 - compatible : must be "aspeed,ast2500-scu-ic",
6 "aspeed,ast2600-scu-ic0" or
7 "aspeed,ast2600-scu-ic1"
19 compatible = "aspeed,ast2500-scu-ic";
/linux-5.10/arch/arm/mach-shmobile/
DMakefile32 smp-$(CONFIG_ARCH_SH73A0) += smp-sh73a0.o headsmp-scu.o platsmp-scu.o
33 smp-$(CONFIG_ARCH_R8A7779) += smp-r8a7779.o headsmp-scu.o platsmp-scu.o
34 smp-$(CONFIG_ARCH_EMEV2) += smp-emev2.o headsmp-scu.o platsmp-scu.o
/linux-5.10/drivers/pinctrl/
Dpinctrl-lpc18xx.c2 * Pinctrl driver for NXP LPC18xx/LPC43xx System Control Unit (SCU)
24 /* LPC18XX SCU analog function registers */
30 /* LPC18XX SCU pin register definitions */
52 /* LPC18XX SCU pin interrupt select registers */
762 struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev); in lpc18xx_pconf_get_gpio_pin_int() local
777 ret = lpc18xx_get_pintsel(scu->base + LPC18XX_SCU_PINTSEL0, val, arg); in lpc18xx_pconf_get_gpio_pin_int()
781 return lpc18xx_get_pintsel(scu->base + LPC18XX_SCU_PINTSEL1, val, arg); in lpc18xx_pconf_get_gpio_pin_int()
875 struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev); in lpc18xx_pconf_get() local
885 reg = readl(scu->base + pin_cap->offset); in lpc18xx_pconf_get()
984 struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev); in lpc18xx_pconf_set_gpio_pin_int() local
[all …]
/linux-5.10/drivers/firmware/imx/
Dimx-scu.c6 * Implementation of the SCU IPC functions using MUs (client side).
35 /* SCU uses 4 Tx and 4 Rx channels */
42 /* temporarily store the SCU msg */
92 * Get the default handle used by SCU
104 /* Callback called when the word of a message is ack-ed, eg read by SCU */
179 * SCU requires that all messages words are written in imx_scu_ipc_write()
182 * different channels must be ensured by SCU API interface. in imx_scu_ipc_write()
239 * Some special SCU firmware APIs do NOT have return value in imx_scu_call_rpc()
241 * APIs are defined as void function in SCU firmware, so they in imx_scu_call_rpc()
281 sc_ipc->fast_ipc = of_device_is_compatible(args.np, "fsl,imx8-mu-scu"); in imx_scu_probe()
[all …]
DMakefile3 obj-$(CONFIG_IMX_SCU) += imx-scu.o misc.o imx-scu-irq.o rm.o imx-scu-soc.o
4 obj-$(CONFIG_IMX_SCU_PD) += scu-pd.o
/linux-5.10/drivers/clk/renesas/
Dr8a7743-cpg-mssr.c176 DEF_MOD("scu-all", 1017, R8A7743_CLK_P),
177 DEF_MOD("scu-dvc1", 1018, MOD_CLK_ID(1017)),
178 DEF_MOD("scu-dvc0", 1019, MOD_CLK_ID(1017)),
179 DEF_MOD("scu-ctu1-mix1", 1020, MOD_CLK_ID(1017)),
180 DEF_MOD("scu-ctu0-mix0", 1021, MOD_CLK_ID(1017)),
181 DEF_MOD("scu-src9", 1022, MOD_CLK_ID(1017)),
182 DEF_MOD("scu-src8", 1023, MOD_CLK_ID(1017)),
183 DEF_MOD("scu-src7", 1024, MOD_CLK_ID(1017)),
184 DEF_MOD("scu-src6", 1025, MOD_CLK_ID(1017)),
185 DEF_MOD("scu-src5", 1026, MOD_CLK_ID(1017)),
[all …]
Dr8a7742-cpg-mssr.c185 DEF_MOD("scu-all", 1017, R8A7742_CLK_P),
186 DEF_MOD("scu-dvc1", 1018, MOD_CLK_ID(1017)),
187 DEF_MOD("scu-dvc0", 1019, MOD_CLK_ID(1017)),
188 DEF_MOD("scu-ctu1-mix1", 1020, MOD_CLK_ID(1017)),
189 DEF_MOD("scu-ctu0-mix0", 1021, MOD_CLK_ID(1017)),
190 DEF_MOD("scu-src9", 1022, MOD_CLK_ID(1017)),
191 DEF_MOD("scu-src8", 1023, MOD_CLK_ID(1017)),
192 DEF_MOD("scu-src7", 1024, MOD_CLK_ID(1017)),
193 DEF_MOD("scu-src6", 1025, MOD_CLK_ID(1017)),
194 DEF_MOD("scu-src5", 1026, MOD_CLK_ID(1017)),
[all …]
Dr8a7791-cpg-mssr.c189 DEF_MOD("scu-all", 1017, R8A7791_CLK_P),
190 DEF_MOD("scu-dvc1", 1018, MOD_CLK_ID(1017)),
191 DEF_MOD("scu-dvc0", 1019, MOD_CLK_ID(1017)),
192 DEF_MOD("scu-ctu1-mix1", 1020, MOD_CLK_ID(1017)),
193 DEF_MOD("scu-ctu0-mix0", 1021, MOD_CLK_ID(1017)),
194 DEF_MOD("scu-src9", 1022, MOD_CLK_ID(1017)),
195 DEF_MOD("scu-src8", 1023, MOD_CLK_ID(1017)),
196 DEF_MOD("scu-src7", 1024, MOD_CLK_ID(1017)),
197 DEF_MOD("scu-src6", 1025, MOD_CLK_ID(1017)),
198 DEF_MOD("scu-src5", 1026, MOD_CLK_ID(1017)),
[all …]
Dr8a774c0-cpg-mssr.c223 DEF_MOD("scu-all", 1017, R8A774C0_CLK_S3D4),
224 DEF_MOD("scu-dvc1", 1018, MOD_CLK_ID(1017)),
225 DEF_MOD("scu-dvc0", 1019, MOD_CLK_ID(1017)),
226 DEF_MOD("scu-ctu1-mix1", 1020, MOD_CLK_ID(1017)),
227 DEF_MOD("scu-ctu0-mix0", 1021, MOD_CLK_ID(1017)),
228 DEF_MOD("scu-src9", 1022, MOD_CLK_ID(1017)),
229 DEF_MOD("scu-src8", 1023, MOD_CLK_ID(1017)),
230 DEF_MOD("scu-src7", 1024, MOD_CLK_ID(1017)),
231 DEF_MOD("scu-src6", 1025, MOD_CLK_ID(1017)),
232 DEF_MOD("scu-src5", 1026, MOD_CLK_ID(1017)),
[all …]
Dr8a77990-cpg-mssr.c230 DEF_MOD("scu-all", 1017, R8A77990_CLK_S3D4),
231 DEF_MOD("scu-dvc1", 1018, MOD_CLK_ID(1017)),
232 DEF_MOD("scu-dvc0", 1019, MOD_CLK_ID(1017)),
233 DEF_MOD("scu-ctu1-mix1", 1020, MOD_CLK_ID(1017)),
234 DEF_MOD("scu-ctu0-mix0", 1021, MOD_CLK_ID(1017)),
235 DEF_MOD("scu-src9", 1022, MOD_CLK_ID(1017)),
236 DEF_MOD("scu-src8", 1023, MOD_CLK_ID(1017)),
237 DEF_MOD("scu-src7", 1024, MOD_CLK_ID(1017)),
238 DEF_MOD("scu-src6", 1025, MOD_CLK_ID(1017)),
239 DEF_MOD("scu-src5", 1026, MOD_CLK_ID(1017)),
[all …]
Dr8a7790-cpg-mssr.c194 DEF_MOD("scu-all", 1017, R8A7790_CLK_P),
195 DEF_MOD("scu-dvc1", 1018, MOD_CLK_ID(1017)),
196 DEF_MOD("scu-dvc0", 1019, MOD_CLK_ID(1017)),
197 DEF_MOD("scu-ctu1-mix1", 1020, MOD_CLK_ID(1017)),
198 DEF_MOD("scu-ctu0-mix0", 1021, MOD_CLK_ID(1017)),
199 DEF_MOD("scu-src9", 1022, MOD_CLK_ID(1017)),
200 DEF_MOD("scu-src8", 1023, MOD_CLK_ID(1017)),
201 DEF_MOD("scu-src7", 1024, MOD_CLK_ID(1017)),
202 DEF_MOD("scu-src6", 1025, MOD_CLK_ID(1017)),
203 DEF_MOD("scu-src5", 1026, MOD_CLK_ID(1017)),
[all …]
/linux-5.10/arch/arm/mach-realview/
Dplatsmp-dt.c21 { .compatible = "arm,arm11mp-scu", },
22 { .compatible = "arm,cortex-a9-scu", },
23 { .compatible = "arm,cortex-a5-scu", },
45 pr_err("PLATSMP: No SCU base address\n"); in realview_smp_prepare_cpus()
51 pr_err("PLATSMP: No SCU remap\n"); in realview_smp_prepare_cpus()
57 pr_info("SCU: %d cores detected\n", ncores); in realview_smp_prepare_cpus()

1234567891011