/linux-5.10/drivers/platform/x86/ |
D | intel_scu_ipc.c | 3 * 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 …]
|
D | intel_scu_ipcutil.c | 3 * 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 …]
|
D | intel_scu_pltdrv.c | 3 * 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");
|
D | intel_mid_powerbtn.c | 49 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/ |
D | intel_scu_ipc.h | 11 * 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/ |
D | fsl,scu.txt | 19 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/ |
D | clk-scu.c | 13 #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 …]
|
D | Makefile | 29 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/ |
D | irq-aspeed-scu-ic.c | 3 * 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/ |
D | scu.txt | 1 * 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/ |
D | intel-mid_wdt.c | 3 * 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/ |
D | scu_task_context.h | 60 * 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 …]
|
D | scu_remote_node_context.h | 60 * 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/ |
D | aspeed,ast2xxx-scu-ic.txt | 1 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/ |
D | Makefile | 32 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/ |
D | pinctrl-lpc18xx.c | 2 * 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/ |
D | imx-scu.c | 6 * 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 …]
|
D | Makefile | 3 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/ |
D | r8a7743-cpg-mssr.c | 176 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 …]
|
D | r8a7742-cpg-mssr.c | 185 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 …]
|
D | r8a7791-cpg-mssr.c | 189 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 …]
|
D | r8a774c0-cpg-mssr.c | 223 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 …]
|
D | r8a77990-cpg-mssr.c | 230 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 …]
|
D | r8a7790-cpg-mssr.c | 194 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/ |
D | platsmp-dt.c | 21 { .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()
|