| /OK3568_Linux_fs/kernel/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 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 …]
|
| 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 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");
|
| /OK3568_Linux_fs/u-boot/drivers/clk/aspeed/ |
| H A D | clk_ast2500.c | 13 #include <dt-bindings/clock/ast2500-scu.h> 79 static ulong ast2500_get_clkin(struct ast2500_scu *scu) in ast2500_get_clkin() argument 81 return readl(&scu->hwstrap) & SCU_HWSTRAP_CLKIN_25MHZ in ast2500_get_clkin() 88 * @scu SCU registers 93 static ulong ast2500_get_uart_clk_rate(struct ast2500_scu *scu, int uart_index) in ast2500_get_uart_clk_rate() argument 104 if (readl(&scu->misc_ctrl2) & in ast2500_get_uart_clk_rate() 110 if (readl(&scu->misc_ctrl1) & SCU_MISC_UARTCLK_DIV13) in ast2500_get_uart_clk_rate() 119 ulong clkin = ast2500_get_clkin(priv->scu); in ast2500_clk_get_rate() 130 readl(&priv->scu->h_pll_param)); in ast2500_clk_get_rate() 134 readl(&priv->scu->m_pll_param)); in ast2500_clk_get_rate() [all …]
|
| /OK3568_Linux_fs/u-boot/arch/x86/lib/ |
| H A D | scu.c | 6 * microcontroller is System Controller Unit (SCU) which, in particular, 9 * This driver enables IPC channel to SCU. 18 #include <asm/scu.h> 23 /* SCU register map */ 34 struct scu { struct 39 * scu_ipc_send_command() - send command to SCU 40 * @regs: register map of SCU 44 * A write to this register results in an interrupt to the SCU core processor 55 * @regs: register map of SCU 59 * block and error status of the IPC command that was just processed by SCU [all …]
|
| /OK3568_Linux_fs/kernel/arch/x86/include/asm/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/arm/freescale/ |
| H A 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 …]
|
| /OK3568_Linux_fs/u-boot/arch/arm/dts/ |
| H A D | ast2500-u-boot.dtsi | 1 #include <dt-bindings/clock/ast2500-scu.h> 7 scu: clock-controller@1e6e2000 { label 8 compatible = "aspeed,ast2500-scu"; 28 clocks = <&scu PLL_MPLL>; 43 clocks = <&scu PCLK_UART1>; 47 clocks = <&scu PCLK_UART2>; 51 clocks = <&scu PCLK_UART3>; 55 clocks = <&scu PCLK_UART4>; 59 clocks = <&scu PCLK_UART5>; 67 clocks = <&scu PCLK_MAC1>, <&scu PLL_D2PLL>; [all …]
|
| /OK3568_Linux_fs/kernel/drivers/clk/imx/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/drivers/irqchip/ |
| H A 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_write_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 …]
|
| /OK3568_Linux_fs/u-boot/arch/arm/include/asm/arch-tegra/ |
| H A D | scu.h | 11 /* ARM Snoop Control Unit (SCU) registers */ 13 uint scu_ctrl; /* SCU Control Register, offset 00 */ 14 uint scu_cfg; /* SCU Config Register, offset 04 */ 15 uint scu_cpu_pwr_stat; /* SCU CPU Power Status Register, offset 08 */ 16 uint scu_inv_all; /* SCU Invalidate All Register, offset 0C */ 18 uint scu_filt_start; /* SCU Filtering Start Address Reg, offset 40 */ 19 uint scu_filt_end; /* SCU Filtering End Address Reg, offset 44 */ 21 uint scu_acc_ctl; /* SCU Access Control Register, offset 50 */ 22 uint scu_ns_acc_ctl; /* SCU Non-secure Access Cntrl Reg, offset 54 */
|
| /OK3568_Linux_fs/u-boot/arch/arm/mach-uniphier/arm32/ |
| H A D | arm-mpcore.h | 13 /* SCU Control Register */ 18 /* SCU Configuration Register */ 20 /* SCU CPU Power Status Register */ 22 /* SCU Invalidate All Registers in Secure State */ 24 /* SCU Filtering Start Address Register */ 26 /* SCU Filtering End Address Register */ 28 /* SCU Access Control Register */ 30 /* SCU Non-secure Access Control Register */
|
| /OK3568_Linux_fs/kernel/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 …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/arm/ |
| H A 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";
|
| /OK3568_Linux_fs/u-boot/arch/arm/mach-aspeed/ast2500/ |
| H A D | clk_ast2500.c | 30 return priv->scu; in ast_get_scu() 33 void ast_scu_unlock(struct ast2500_scu *scu) in ast_scu_unlock() argument 35 writel(SCU_UNLOCK_VALUE, &scu->protection_key); in ast_scu_unlock() 36 while (!readl(&scu->protection_key)) in ast_scu_unlock() 40 void ast_scu_lock(struct ast2500_scu *scu) in ast_scu_lock() argument 42 writel(~SCU_UNLOCK_VALUE, &scu->protection_key); in ast_scu_lock() 43 while (readl(&scu->protection_key)) in ast_scu_lock()
|
| /OK3568_Linux_fs/kernel/drivers/watchdog/ |
| H A 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", 157 mid->scu = devm_intel_scu_ipc_dev_get(dev); in mid_wdt_probe() 158 if (!mid->scu) in mid_wdt_probe()
|
| /OK3568_Linux_fs/kernel/drivers/pinctrl/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/drivers/firmware/imx/ |
| H A 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 …]
|
| /OK3568_Linux_fs/kernel/drivers/clk/renesas/ |
| 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 | 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 …]
|
| 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 | 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 …]
|