/linux/drivers/platform/x86/ |
H A 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 40 * To read or write information to the SCU, driver writes to IPC-1 memory 47 * the IPC-1 register block, causing an interrupt to the SCU 49 * 3. SCU firmware decodes this interrupt and IPC message and the appropriate 73 * 16 byte buffer for sending and receiving data to and from SCU 102 struct intel_scu_ipc_dev *scu = NULL; intel_scu_ipc_dev_get() local 130 intel_scu_ipc_dev_put(struct intel_scu_ipc_dev * scu) intel_scu_ipc_dev_put() argument 140 struct intel_scu_ipc_dev *scu; global() member 146 struct intel_scu_ipc_dev *scu = dr->scu; devm_intel_scu_ipc_dev_release() local 165 struct intel_scu_ipc_dev *scu; devm_intel_scu_ipc_dev_get() local 191 ipc_command(struct intel_scu_ipc_dev * scu,u32 cmd) ipc_command() argument 203 ipc_data_writel(struct intel_scu_ipc_dev * scu,u32 data,u32 offset) ipc_data_writel() argument 215 ipc_read_status(struct intel_scu_ipc_dev * scu) ipc_read_status() argument 221 ipc_data_readb(struct intel_scu_ipc_dev * scu,u32 offset) ipc_data_readb() argument 227 ipc_data_readl(struct intel_scu_ipc_dev * scu,u32 offset) ipc_data_readl() argument 233 busy_loop(struct intel_scu_ipc_dev * scu) busy_loop() argument 247 ipc_wait_for_interrupt(struct intel_scu_ipc_dev * scu) ipc_wait_for_interrupt() argument 263 intel_scu_ipc_check_status(struct intel_scu_ipc_dev * scu) intel_scu_ipc_check_status() argument 268 intel_scu_ipc_get(struct intel_scu_ipc_dev * scu) intel_scu_ipc_get() argument 287 pwr_reg_rdwr(struct intel_scu_ipc_dev * scu,u16 * addr,u8 * data,u32 count,u32 op,u32 id) pwr_reg_rdwr() argument 349 intel_scu_ipc_dev_ioread8(struct intel_scu_ipc_dev * scu,u16 addr,u8 * data) intel_scu_ipc_dev_ioread8() argument 366 intel_scu_ipc_dev_iowrite8(struct intel_scu_ipc_dev * scu,u16 addr,u8 data) intel_scu_ipc_dev_iowrite8() argument 386 intel_scu_ipc_dev_readv(struct intel_scu_ipc_dev * scu,u16 * addr,u8 * data,size_t len) intel_scu_ipc_dev_readv() argument 407 intel_scu_ipc_dev_writev(struct intel_scu_ipc_dev * scu,u16 * addr,u8 * data,size_t len) intel_scu_ipc_dev_writev() argument 429 intel_scu_ipc_dev_update(struct intel_scu_ipc_dev * scu,u16 addr,u8 data,u8 mask) intel_scu_ipc_dev_update() argument 450 intel_scu_ipc_dev_simple_command(struct intel_scu_ipc_dev * scu,int cmd,int sub) intel_scu_ipc_dev_simple_command() argument 489 intel_scu_ipc_dev_command_with_size(struct intel_scu_ipc_dev * scu,int cmd,int sub,const void * in,size_t inlen,size_t size,void * out,size_t outlen) intel_scu_ipc_dev_command_with_size() argument 541 struct intel_scu_ipc_dev *scu = dev_id; ioc() local 552 struct intel_scu_ipc_dev *scu; intel_scu_ipc_release() local 579 struct intel_scu_ipc_dev *scu; __intel_scu_ipc_register() local 660 intel_scu_ipc_unregister(struct intel_scu_ipc_dev * scu) intel_scu_ipc_unregister() argument 674 struct intel_scu_ipc_dev *scu = dr->scu; devm_intel_scu_ipc_unregister() local 696 struct intel_scu_ipc_dev *scu; __devm_intel_scu_ipc_register() local [all...] |
H A 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 static 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...] |
H A 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");
|
/linux/Documentation/devicetree/bindings/firmware/ |
H A D | fsl,scu.yaml | 4 $id: http://devicetree.org/schemas/firmware/fsl,scu.yaml# 26 const: fsl,imx-scu 30 Clock controller node that provides the clocks controlled by the SCU 31 $ref: /schemas/clock/fsl,scu-clk.yaml 35 Control the GPIO PINs on SCU domain over the firmware APIs 40 OCOTP controller node provided by the SCU 41 $ref: /schemas/nvmem/fsl,scu-ocotp.yaml 45 Keys provided by the SCU 46 $ref: /schemas/input/fsl,scu-key.yaml 53 channels is 1 TX and 1 RX channels if MU instance is "fsl,imx8-mu-scu" [all …]
|
/linux/Documentation/devicetree/bindings/power/ |
H A D | fsl,scu-pd.yaml | 4 $id: http://devicetree.org/schemas/power/fsl,scu-pd.yaml# 7 title: i.MX SCU Client Device Node - Power Domain Based on SCU Message Protocol 12 description: i.MX SCU Client Device Node 13 Client nodes are maintained as children of the relevant IMX-SCU device node. 14 Power domain bindings based on SCU Message Protocol 23 - fsl,imx8dl-scu-pd 24 - fsl,imx8qm-scu-pd 25 - fsl,imx8qxp-scu-pd 26 - const: fsl,scu-pd 40 compatible = "fsl,imx8qxp-scu-pd", "fsl,scu-pd";
|
/linux/Documentation/devicetree/bindings/clock/ |
H A D | airoha,en7523-scu.yaml | 4 $id: http://devicetree.org/schemas/clock/airoha,en7523-scu.yaml# 33 - airoha,en7523-scu 34 - airoha,en7581-scu 59 const: airoha,en7523-scu 64 - description: scu base address 65 - description: misc scu base address 72 const: airoha,en7581-scu 77 - description: scu base address 78 - description: misc scu base address 80 - description: pb scu base address [all …]
|
H A D | fsl,scu-clk.yaml | 4 $id: http://devicetree.org/schemas/clock/fsl,scu-clk.yaml# 7 title: i.MX SCU Client Device Node - Clock Controller Based on SCU Message Protocol 12 description: i.MX SCU Client Device Node 13 Client nodes are maintained as children of the relevant IMX-SCU device node. 27 - const: fsl,scu-clk 41 compatible = "fsl,imx8qxp-clk", "fsl,scu-clk";
|
/linux/drivers/irqchip/ |
H A D | irq-aspeed-scu-ic.c | 3 * Aspeed AST24XX, AST25XX, and AST26XX SCU Interrupt Controller 42 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() 80 regmap_write_bits(scu_ic->scu, scu_ic->reg, mask, in aspeed_scu_ic_irq_handler() 98 regmap_update_bits(scu_ic->scu, scu_ic->reg, mask, 0); in aspeed_scu_ic_irq_mask() 113 regmap_update_bits(scu_ic->scu, scu_ic->reg, mask, bit); in aspeed_scu_ic_irq_unmask() 124 .name = "aspeed-scu-ic", 154 scu_ic->scu = syscon_node_to_regmap(node->parent); in aspeed_scu_ic_of_init_common() 155 if (IS_ERR(scu_ic->scu)) { in aspeed_scu_ic_of_init_common() [all …]
|
/linux/Documentation/devicetree/bindings/nvmem/ |
H A D | fsl,scu-ocotp.yaml | 4 $id: http://devicetree.org/schemas/nvmem/fsl,scu-ocotp.yaml# 7 title: i.MX SCU Client Device Node - OCOTP Based on SCU Message Protocol 12 description: i.MX SCU Client Device Node 13 Client nodes are maintained as children of the relevant IMX-SCU device node. 21 - fsl,imx8qm-scu-ocotp 22 - fsl,imx8qxp-scu-ocotp 49 compatible = "fsl,imx8qxp-scu-ocotp";
|
/linux/drivers/clk/imx/ |
H A D | clk-scu.c | 20 #include "clk-scu.h" 44 * struct clk_scu - Description of one SCU clock 46 * @rsrc_id: resource ID of this SCU clock 62 * struct clk_gpr_scu - Description of one SCU GPR clock 64 * @rsrc_id: resource ID of this SCU clock 79 * @hdr: SCU protocol header 84 * This structure describes the SCU protocol of clock rate set 104 * @hdr: SCU protocol header 108 * This structure describes the SCU protocol of clock rate get 120 * @hdr: SCU protocol header [all …]
|
/linux/drivers/scsi/isci/ |
H A 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 …]
|
H A 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/Documentation/devicetree/bindings/arm/ |
H A D | arm,scu.yaml | 4 $id: http://devicetree.org/schemas/arm/arm,scu.yaml# 7 title: ARM Snoop Control Unit (SCU) 28 - arm,cortex-a9-scu 29 - arm,cortex-a5-scu 30 - arm,arm11mp-scu 43 scu@a0410000 { 44 compatible = "arm,cortex-a9-scu";
|
/linux/drivers/watchdog/ |
H A D | intel-mid_wdt.c | 3 * intel-mid_wdt: generic Intel MID SCU watchdog driver 33 /* SCU watchdog messages */ 43 struct intel_scu_ipc_dev *scu; 49 struct intel_scu_ipc_dev *scu = mid->scu; in wdt_command() 51 return intel_scu_ipc_dev_command_with_size(scu, IPC_WATCHDOG, sub, in, in wdt_command() 66 * SCU expects the input size for watchdog IPC to be 2 which is the in wdt_start() 67 * size of the structure in dwords. SCU IPC normally takes bytes in wdt_start() 114 .identity = "Intel MID SCU watchdog", 161 mid->scu in mid_wdt_probe() 44 struct intel_scu_ipc_dev *scu; global() member 50 struct intel_scu_ipc_dev *scu = mid->scu; wdt_command() local [all...] |
/linux/Documentation/devicetree/bindings/input/ |
H A D | fsl,scu-key.yaml | 4 $id: http://devicetree.org/schemas/input/fsl,scu-key.yaml# 7 title: i.MX SCU Client Device Node - SCU Key Based on SCU Message Protocol 12 description: i.MX SCU Client Device Node 13 Client nodes are maintained as children of the relevant IMX-SCU device node.
|
/linux/drivers/pinctrl/ |
H A D | pinctrl-lpc18xx.c | 2 * Pinctrl driver for NXP LPC18xx/LPC43xx System Control Unit (SCU) 26 /* LPC18XX SCU analog function registers */ 32 /* LPC18XX SCU pin register definitions */ 54 /* LPC18XX SCU pin interrupt select registers */ 764 struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev); in lpc18xx_pconf_get_gpio_pin_int() local 779 ret = lpc18xx_get_pintsel(scu->base + LPC18XX_SCU_PINTSEL0, val, arg); in lpc18xx_pconf_get_gpio_pin_int() 783 return lpc18xx_get_pintsel(scu->base + LPC18XX_SCU_PINTSEL1, val, arg); in lpc18xx_pconf_get_gpio_pin_int() 877 struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev); in lpc18xx_pconf_get() local 887 reg = readl(scu->base + pin_cap->offset); in lpc18xx_pconf_get() 986 struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev); in lpc18xx_pconf_set_gpio_pin_int() local [all …]
|
/linux/drivers/firmware/imx/ |
H A D | imx-scu.c | 6 * Implementation of the SCU IPC functions using MUs (client side). 36 /* SCU uses 4 Tx and 4 Rx channels */ 43 /* temporarily store the SCU msg */ 93 * Get the default handle used by SCU 105 /* Callback called when the word of a message is ack-ed, eg read by SCU */ 180 * SCU requires that all messages words are written in imx_scu_ipc_write() 183 * different channels must be ensured by SCU API interface. in imx_scu_ipc_write() 240 * Some special SCU firmware APIs do NOT have return value in imx_scu_call_rpc() 242 * APIs are defined as void function in SCU firmware, so they in imx_scu_call_rpc() 282 sc_ipc->fast_ipc = of_device_is_compatible(args.np, "fsl,imx8-mu-scu"); in imx_scu_probe() [all …]
|
/linux/drivers/clk/renesas/ |
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A D | r8a774c0-cpg-mssr.c | 234 DEF_MOD("scu-all", 1017, R8A774C0_CLK_S3D4), 235 DEF_MOD("scu-dvc1", 1018, MOD_CLK_ID(1017)), 236 DEF_MOD("scu-dvc0", 1019, MOD_CLK_ID(1017)), 237 DEF_MOD("scu-ctu1-mix1", 1020, MOD_CLK_ID(1017)), 238 DEF_MOD("scu-ctu0-mix0", 1021, MOD_CLK_ID(1017)), 239 DEF_MOD("scu-src9", 1022, MOD_CLK_ID(1017)), 240 DEF_MOD("scu-src8", 1023, MOD_CLK_ID(1017)), 241 DEF_MOD("scu-src7", 1024, MOD_CLK_ID(1017)), 242 DEF_MOD("scu-src6", 1025, MOD_CLK_ID(1017)), 243 DEF_MOD("scu-src5", 1026, MOD_CLK_ID(1017)), [all …]
|
H A 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 …]
|
H A D | r8a77990-cpg-mssr.c | 248 DEF_MOD("scu-all", 1017, R8A77990_CLK_S3D4), 249 DEF_MOD("scu-dvc1", 1018, MOD_CLK_ID(1017)), 250 DEF_MOD("scu-dvc0", 1019, MOD_CLK_ID(1017)), 251 DEF_MOD("scu-ctu1-mix1", 1020, MOD_CLK_ID(1017)), 252 DEF_MOD("scu-ctu0-mix0", 1021, MOD_CLK_ID(1017)), 253 DEF_MOD("scu-src9", 1022, MOD_CLK_ID(1017)), 254 DEF_MOD("scu-src8", 1023, MOD_CLK_ID(1017)), 255 DEF_MOD("scu-src7", 1024, MOD_CLK_ID(1017)), 256 DEF_MOD("scu-src6", 1025, MOD_CLK_ID(1017)), 257 DEF_MOD("scu-src5", 1026, MOD_CLK_ID(1017)), [all …]
|
/linux/Documentation/devicetree/bindings/interrupt-controller/ |
H A 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/arch/arm/mach-shmobile/ |
H A 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
|