Home
last modified time | relevance | path

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

12345678910>>...18

/kernel/linux/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");
/kernel/linux/linux-4.19/drivers/platform/x86/
Dintel_scu_ipc.c2 * intel_scu_ipc.c: Driver for the Intel SCU IPC mechanism
12 * SCU running in ARC processor communicates with other entity running in IA
13 * core through IPC mechanism which in turn messaging between IA core ad SCU.
14 * SCU has two IPC mechanism IPC-1 and IPC-2. IPC-1 is used between IA32 and
15 * SCU where IPC-2 is used between P-Unit and SCU. This driver delas with
46 * To read or write information to the SCU, driver writes to IPC-1 memory
53 * the IPC-1 register block, causing an interrupt to the SCU
55 * 3. SCU firmware decodes this interrupt and IPC message and the appropriate
68 /* intel scu ipc driver data */
105 * 16 byte buffer for receiving data from SCU, if IPC command
[all …]
/kernel/linux/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 …]
/kernel/linux/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 …]
/kernel/linux/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 …]
/kernel/linux/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 …]
/kernel/linux/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";
/kernel/linux/linux-4.19/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@a04100000 {
26 compatible = "arm,cortex-a9-scu";
/kernel/linux/linux-4.19/Documentation/devicetree/bindings/sound/
Daudio-graph-scu-card.txt1 Audio-Graph-SCU-Card:
3 Audio-Graph-SCU-Card is "Audio-Graph-Card" + "ALSA DPCM".
8 Basically, Audio-Graph-SCU-Card property is same as
9 Simple-Card / Simple-SCU-Card / Audio-Graph-Card.
11 ${LINUX}/Documentation/devicetree/bindings/sound/simple-scu-card.txt
26 Below are same as Simple-SCU-Card.
35 - compatible : "audio-graph-scu-card";
41 compatible = "audio-graph-scu-card";
77 compatible = "audio-graph-scu-card";
/kernel/linux/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",
157 mid->scu = devm_intel_scu_ipc_dev_get(dev); in mid_wdt_probe()
158 if (!mid->scu) in mid_wdt_probe()
/kernel/linux/linux-4.19/Documentation/devicetree/bindings/mfd/
Daspeed-scu.txt6 "aspeed,ast2400-scu", "syscon", "simple-mfd"
7 "aspeed,g4-scu", "syscon", "simple-mfd"
8 "aspeed,ast2500-scu", "syscon", "simple-mfd"
9 "aspeed,g5-scu", "syscon", "simple-mfd"
11 - reg: contains the offset and length of the SCU memory region
20 compatible = "aspeed,ast2400-scu", "syscon", "simple-mfd";
/kernel/linux/linux-4.19/sound/soc/generic/
DMakefile4 snd-soc-simple-scu-card-objs := simple-scu-card.o
6 snd-soc-audio-graph-scu-card-objs := audio-graph-scu-card.o
10 obj-$(CONFIG_SND_SIMPLE_SCU_CARD) += snd-soc-simple-scu-card.o
12 obj-$(CONFIG_SND_AUDIO_GRAPH_SCU_CARD) += snd-soc-audio-graph-scu-card.o
/kernel/linux/linux-4.19/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 …]
/kernel/linux/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 …]
/kernel/linux/linux-4.19/drivers/clk/renesas/
Dr8a7743-cpg-mssr.c178 DEF_MOD("scu-all", 1017, R8A7743_CLK_P),
179 DEF_MOD("scu-dvc1", 1018, MOD_CLK_ID(1017)),
180 DEF_MOD("scu-dvc0", 1019, MOD_CLK_ID(1017)),
181 DEF_MOD("scu-ctu1-mix1", 1020, MOD_CLK_ID(1017)),
182 DEF_MOD("scu-ctu0-mix0", 1021, MOD_CLK_ID(1017)),
183 DEF_MOD("scu-src9", 1022, MOD_CLK_ID(1017)),
184 DEF_MOD("scu-src8", 1023, MOD_CLK_ID(1017)),
185 DEF_MOD("scu-src7", 1024, MOD_CLK_ID(1017)),
186 DEF_MOD("scu-src6", 1025, MOD_CLK_ID(1017)),
187 DEF_MOD("scu-src5", 1026, MOD_CLK_ID(1017)),
[all …]
/kernel/linux/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";
/kernel/linux/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
/kernel/linux/linux-4.19/arch/arm/mach-shmobile/
DMakefile31 smp-$(CONFIG_ARCH_SH73A0) += smp-sh73a0.o headsmp-scu.o platsmp-scu.o
32 smp-$(CONFIG_ARCH_R8A7779) += smp-r8a7779.o headsmp-scu.o platsmp-scu.o
33 smp-$(CONFIG_ARCH_EMEV2) += smp-emev2.o headsmp-scu.o platsmp-scu.o
/kernel/linux/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 …]
/kernel/linux/linux-4.19/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()
872 struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev); in lpc18xx_pconf_get() local
882 reg = readl(scu->base + pin_cap->offset); in lpc18xx_pconf_get()
981 struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev); in lpc18xx_pconf_set_gpio_pin_int() local
[all …]
/kernel/linux/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 …]

12345678910>>...18