scu 67 arch/arm/mach-vexpress/platsmp.c struct device_node *scu = of_find_matching_node(NULL, scu 70 arch/arm/mach-vexpress/platsmp.c if (scu) scu 71 arch/arm/mach-vexpress/platsmp.c scu_enable(of_iomap(scu, 0)); scu 90 drivers/fsi/fsi-master-ast-cf.c struct regmap *scu; scu 692 drivers/fsi/fsi-master-ast-cf.c regmap_write(master->scu, SCU_COPRO_CTRL, SCU_COPRO_RESET); scu 694 drivers/fsi/fsi-master-ast-cf.c regmap_write(master->scu, SCU_COPRO_CTRL, 0); scu 700 drivers/fsi/fsi-master-ast-cf.c regmap_write(master->scu, SCU_COPRO_CTRL, SCU_COPRO_CLK_EN); scu 722 drivers/fsi/fsi-master-ast-cf.c regmap_write(master->scu, SCU_2500_COPRO_SEG0, master->cf_mem_addr | scu 726 drivers/fsi/fsi-master-ast-cf.c regmap_write(master->scu, SCU_2500_COPRO_SEG2, SYSREG_BASE | scu 728 drivers/fsi/fsi-master-ast-cf.c regmap_write(master->scu, SCU_2500_COPRO_SEG3, SYSREG_BASE | 0x100000 | scu 732 drivers/fsi/fsi-master-ast-cf.c regmap_write(master->scu, SCU_2500_COPRO_SEG6, SYSREG_BASE); scu 733 drivers/fsi/fsi-master-ast-cf.c regmap_write(master->scu, SCU_2500_COPRO_SEG7, SYSREG_BASE | 0x100000); scu 736 drivers/fsi/fsi-master-ast-cf.c regmap_write(master->scu, SCU_2500_COPRO_CACHE_CTL, scu 743 drivers/fsi/fsi-master-ast-cf.c regmap_write(master->scu, SCU_2400_COPRO_SEG0, master->cf_mem_addr | scu 747 drivers/fsi/fsi-master-ast-cf.c regmap_write(master->scu, SCU_2400_COPRO_SEG2, SYSREG_BASE | scu 751 drivers/fsi/fsi-master-ast-cf.c regmap_write(master->scu, SCU_2400_COPRO_SEG6, SYSREG_BASE); scu 754 drivers/fsi/fsi-master-ast-cf.c regmap_write(master->scu, SCU_2400_COPRO_CACHE_CTL, scu 1153 drivers/fsi/fsi-master-ast-cf.c regmap_read(master->scu, SCU_COPRO_CTRL, ®); scu 1235 drivers/fsi/fsi-master-ast-cf.c master->scu = syscon_regmap_lookup_by_compatible("aspeed,ast2500-scu"); scu 1237 drivers/fsi/fsi-master-ast-cf.c master->scu = syscon_regmap_lookup_by_compatible("aspeed,ast2400-scu"); scu 1238 drivers/fsi/fsi-master-ast-cf.c if (IS_ERR(master->scu)) { scu 1240 drivers/fsi/fsi-master-ast-cf.c rc = PTR_ERR(master->scu); scu 11 drivers/gpu/drm/aspeed/aspeed_gfx.h struct regmap *scu; scu 63 drivers/gpu/drm/aspeed/aspeed_gfx_crtc.c regmap_update_bits(priv->scu, 0x2c, BIT(16), BIT(16)); scu 77 drivers/gpu/drm/aspeed/aspeed_gfx_crtc.c regmap_update_bits(priv->scu, 0x2c, BIT(16), 0); scu 113 drivers/gpu/drm/aspeed/aspeed_gfx_drv.c priv->scu = syscon_regmap_lookup_by_compatible("aspeed,ast2500-scu"); scu 114 drivers/gpu/drm/aspeed/aspeed_gfx_drv.c if (IS_ERR(priv->scu)) { scu 116 drivers/gpu/drm/aspeed/aspeed_gfx_drv.c return PTR_ERR(priv->scu); scu 372 drivers/pinctrl/aspeed/pinctrl-aspeed.c pdata->scu = syscon_node_to_regmap(parent->of_node); scu 373 drivers/pinctrl/aspeed/pinctrl-aspeed.c if (IS_ERR(pdata->scu)) { scu 375 drivers/pinctrl/aspeed/pinctrl-aspeed.c return PTR_ERR(pdata->scu); scu 378 drivers/pinctrl/aspeed/pinctrl-aspeed.c pdata->pinmux.maps[ASPEED_IP_SCU] = pdata->scu; scu 490 drivers/pinctrl/aspeed/pinctrl-aspeed.c rc = regmap_read(pdata->scu, pconf->reg, &val); scu 545 drivers/pinctrl/aspeed/pinctrl-aspeed.c rc = regmap_update_bits(pdata->scu, pconf->reg, scu 39 drivers/pinctrl/aspeed/pinctrl-aspeed.h struct regmap *scu; scu 130 drivers/pinctrl/freescale/pinctrl-imx.c (unsigned long *)&pin->conf.scu; scu 56 drivers/pinctrl/freescale/pinctrl-imx.h struct imx_pin_scu scu; scu 110 drivers/pinctrl/freescale/pinctrl-scu.c struct imx_pin_scu *pin_scu = &pin->conf.scu; scu 762 drivers/pinctrl/pinctrl-lpc18xx.c struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev); scu 777 drivers/pinctrl/pinctrl-lpc18xx.c ret = lpc18xx_get_pintsel(scu->base + LPC18XX_SCU_PINTSEL0, val, arg); scu 781 drivers/pinctrl/pinctrl-lpc18xx.c return lpc18xx_get_pintsel(scu->base + LPC18XX_SCU_PINTSEL1, val, arg); scu 875 drivers/pinctrl/pinctrl-lpc18xx.c struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev); scu 885 drivers/pinctrl/pinctrl-lpc18xx.c reg = readl(scu->base + pin_cap->offset); scu 984 drivers/pinctrl/pinctrl-lpc18xx.c struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev); scu 999 drivers/pinctrl/pinctrl-lpc18xx.c reg_val = readl(scu->base + reg_offset); scu 1002 drivers/pinctrl/pinctrl-lpc18xx.c writel(reg_val, scu->base + reg_offset); scu 1088 drivers/pinctrl/pinctrl-lpc18xx.c struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev); scu 1100 drivers/pinctrl/pinctrl-lpc18xx.c reg = readl(scu->base + pin_cap->offset); scu 1117 drivers/pinctrl/pinctrl-lpc18xx.c writel(reg, scu->base + pin_cap->offset); scu 1144 drivers/pinctrl/pinctrl-lpc18xx.c struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev); scu 1146 drivers/pinctrl/pinctrl-lpc18xx.c *groups = scu->func[function].groups; scu 1147 drivers/pinctrl/pinctrl-lpc18xx.c *num_groups = scu->func[function].ngroups; scu 1155 drivers/pinctrl/pinctrl-lpc18xx.c struct lpc18xx_scu_data *scu = pinctrl_dev_get_drvdata(pctldev); scu 1178 drivers/pinctrl/pinctrl-lpc18xx.c writel(LPC18XX_SCU_ANALOG_PIN_CFG, scu->base + pin->offset); scu 1185 drivers/pinctrl/pinctrl-lpc18xx.c reg = readl(scu->base + offset); scu 1187 drivers/pinctrl/pinctrl-lpc18xx.c writel(reg, scu->base + offset); scu 1193 drivers/pinctrl/pinctrl-lpc18xx.c writel(LPC18XX_SCU_ANALOG_PIN_CFG, scu->base + pin->offset); scu 1195 drivers/pinctrl/pinctrl-lpc18xx.c reg = readl(scu->base + LPC18XX_SCU_REG_ENAIO2); scu 1197 drivers/pinctrl/pinctrl-lpc18xx.c writel(reg, scu->base + LPC18XX_SCU_REG_ENAIO2); scu 1210 drivers/pinctrl/pinctrl-lpc18xx.c reg = readl(scu->base + pin->offset); scu 1212 drivers/pinctrl/pinctrl-lpc18xx.c writel(reg | func, scu->base + pin->offset); scu 1299 drivers/pinctrl/pinctrl-lpc18xx.c struct lpc18xx_scu_data *scu) scu 1310 drivers/pinctrl/pinctrl-lpc18xx.c scu->func[func].ngroups = ngroups; scu 1311 drivers/pinctrl/pinctrl-lpc18xx.c scu->func[func].groups = devm_kcalloc(dev, scu 1314 drivers/pinctrl/pinctrl-lpc18xx.c if (!scu->func[func].groups) scu 1318 drivers/pinctrl/pinctrl-lpc18xx.c scu->func[func].groups[i] = lpc18xx_pins[pins[i]].name; scu 1326 drivers/pinctrl/pinctrl-lpc18xx.c struct lpc18xx_scu_data *scu; scu 1330 drivers/pinctrl/pinctrl-lpc18xx.c scu = devm_kzalloc(&pdev->dev, sizeof(*scu), GFP_KERNEL); scu 1331 drivers/pinctrl/pinctrl-lpc18xx.c if (!scu) scu 1335 drivers/pinctrl/pinctrl-lpc18xx.c scu->base = devm_ioremap_resource(&pdev->dev, res); scu 1336 drivers/pinctrl/pinctrl-lpc18xx.c if (IS_ERR(scu->base)) scu 1337 drivers/pinctrl/pinctrl-lpc18xx.c return PTR_ERR(scu->base); scu 1339 drivers/pinctrl/pinctrl-lpc18xx.c scu->clk = devm_clk_get(&pdev->dev, NULL); scu 1340 drivers/pinctrl/pinctrl-lpc18xx.c if (IS_ERR(scu->clk)) { scu 1342 drivers/pinctrl/pinctrl-lpc18xx.c return PTR_ERR(scu->clk); scu 1345 drivers/pinctrl/pinctrl-lpc18xx.c ret = lpc18xx_create_group_func_map(&pdev->dev, scu); scu 1351 drivers/pinctrl/pinctrl-lpc18xx.c ret = clk_prepare_enable(scu->clk); scu 1357 drivers/pinctrl/pinctrl-lpc18xx.c platform_set_drvdata(pdev, scu); scu 1359 drivers/pinctrl/pinctrl-lpc18xx.c scu->pctl = devm_pinctrl_register(&pdev->dev, &lpc18xx_scu_desc, scu); scu 1360 drivers/pinctrl/pinctrl-lpc18xx.c if (IS_ERR(scu->pctl)) { scu 1362 drivers/pinctrl/pinctrl-lpc18xx.c clk_disable_unprepare(scu->clk); scu 1363 drivers/pinctrl/pinctrl-lpc18xx.c return PTR_ERR(scu->pctl); scu 120 drivers/platform/x86/intel_scu_ipc.c static inline void ipc_command(struct intel_scu_ipc_dev *scu, u32 cmd) scu 122 drivers/platform/x86/intel_scu_ipc.c reinit_completion(&scu->cmd_complete); scu 123 drivers/platform/x86/intel_scu_ipc.c writel(cmd | IPC_IOC, scu->ipc_base); scu 132 drivers/platform/x86/intel_scu_ipc.c static inline void ipc_data_writel(struct intel_scu_ipc_dev *scu, u32 data, u32 offset) scu 134 drivers/platform/x86/intel_scu_ipc.c writel(data, scu->ipc_base + 0x80 + offset); scu 144 drivers/platform/x86/intel_scu_ipc.c static inline u8 ipc_read_status(struct intel_scu_ipc_dev *scu) scu 146 drivers/platform/x86/intel_scu_ipc.c return __raw_readl(scu->ipc_base + 0x04); scu 150 drivers/platform/x86/intel_scu_ipc.c static inline u8 ipc_data_readb(struct intel_scu_ipc_dev *scu, u32 offset) scu 152 drivers/platform/x86/intel_scu_ipc.c return readb(scu->ipc_base + IPC_READ_BUFFER + offset); scu 156 drivers/platform/x86/intel_scu_ipc.c static inline u32 ipc_data_readl(struct intel_scu_ipc_dev *scu, u32 offset) scu 158 drivers/platform/x86/intel_scu_ipc.c return readl(scu->ipc_base + IPC_READ_BUFFER + offset); scu 162 drivers/platform/x86/intel_scu_ipc.c static inline int busy_loop(struct intel_scu_ipc_dev *scu) scu 164 drivers/platform/x86/intel_scu_ipc.c u32 status = ipc_read_status(scu); scu 170 drivers/platform/x86/intel_scu_ipc.c status = ipc_read_status(scu); scu 174 drivers/platform/x86/intel_scu_ipc.c dev_err(scu->dev, "IPC timed out"); scu 185 drivers/platform/x86/intel_scu_ipc.c static inline int ipc_wait_for_interrupt(struct intel_scu_ipc_dev *scu) scu 189 drivers/platform/x86/intel_scu_ipc.c if (!wait_for_completion_timeout(&scu->cmd_complete, 3 * HZ)) { scu 190 drivers/platform/x86/intel_scu_ipc.c dev_err(scu->dev, "IPC timed out\n"); scu 194 drivers/platform/x86/intel_scu_ipc.c status = ipc_read_status(scu); scu 201 drivers/platform/x86/intel_scu_ipc.c static int intel_scu_ipc_check_status(struct intel_scu_ipc_dev *scu) scu 203 drivers/platform/x86/intel_scu_ipc.c return scu->irq_mode ? ipc_wait_for_interrupt(scu) : busy_loop(scu); scu 209 drivers/platform/x86/intel_scu_ipc.c struct intel_scu_ipc_dev *scu = &ipcdev; scu 220 drivers/platform/x86/intel_scu_ipc.c if (scu->dev == NULL) { scu 232 drivers/platform/x86/intel_scu_ipc.c ipc_data_writel(scu, wbuf[nc], offset); scu 233 drivers/platform/x86/intel_scu_ipc.c ipc_command(scu, (count * 2) << 16 | id << 12 | 0 << 8 | op); scu 238 drivers/platform/x86/intel_scu_ipc.c ipc_data_writel(scu, wbuf[nc], offset); scu 239 drivers/platform/x86/intel_scu_ipc.c ipc_command(scu, (count * 3) << 16 | id << 12 | 0 << 8 | op); scu 243 drivers/platform/x86/intel_scu_ipc.c ipc_data_writel(scu, wbuf[0], 0); /* Write wbuff */ scu 244 drivers/platform/x86/intel_scu_ipc.c ipc_command(scu, 4 << 16 | id << 12 | 0 << 8 | op); scu 247 drivers/platform/x86/intel_scu_ipc.c err = intel_scu_ipc_check_status(scu); scu 250 drivers/platform/x86/intel_scu_ipc.c memcpy_fromio(cbuf, scu->ipc_base + 0x90, 16); scu 252 drivers/platform/x86/intel_scu_ipc.c data[nc] = ipc_data_readb(scu, nc); scu 433 drivers/platform/x86/intel_scu_ipc.c struct intel_scu_ipc_dev *scu = &ipcdev; scu 437 drivers/platform/x86/intel_scu_ipc.c if (scu->dev == NULL) { scu 441 drivers/platform/x86/intel_scu_ipc.c ipc_command(scu, sub << 12 | cmd); scu 442 drivers/platform/x86/intel_scu_ipc.c err = intel_scu_ipc_check_status(scu); scu 463 drivers/platform/x86/intel_scu_ipc.c struct intel_scu_ipc_dev *scu = &ipcdev; scu 467 drivers/platform/x86/intel_scu_ipc.c if (scu->dev == NULL) { scu 473 drivers/platform/x86/intel_scu_ipc.c ipc_data_writel(scu, *in++, 4 * i); scu 475 drivers/platform/x86/intel_scu_ipc.c ipc_command(scu, (inlen << 16) | (sub << 12) | cmd); scu 476 drivers/platform/x86/intel_scu_ipc.c err = intel_scu_ipc_check_status(scu); scu 480 drivers/platform/x86/intel_scu_ipc.c *out++ = ipc_data_readl(scu, 4 * i); scu 509 drivers/platform/x86/intel_scu_ipc.c struct intel_scu_ipc_dev *scu = &ipcdev; scu 519 drivers/platform/x86/intel_scu_ipc.c if (scu->dev == NULL) { scu 524 drivers/platform/x86/intel_scu_ipc.c writel(dptr, scu->ipc_base + IPC_DPTR); scu 525 drivers/platform/x86/intel_scu_ipc.c writel(sptr, scu->ipc_base + IPC_SPTR); scu 537 drivers/platform/x86/intel_scu_ipc.c ipc_data_writel(scu, inbuf[i], 4 * i); scu 539 drivers/platform/x86/intel_scu_ipc.c ipc_command(scu, (inlen << 16) | (sub << 12) | cmd); scu 540 drivers/platform/x86/intel_scu_ipc.c err = intel_scu_ipc_check_status(scu); scu 543 drivers/platform/x86/intel_scu_ipc.c *out++ = ipc_data_readl(scu, 4 * i); scu 569 drivers/platform/x86/intel_scu_ipc.c struct intel_scu_ipc_dev *scu = &ipcdev; scu 573 drivers/platform/x86/intel_scu_ipc.c if (scu->dev == NULL) { scu 579 drivers/platform/x86/intel_scu_ipc.c writel(addr, scu->i2c_base + IPC_I2C_CNTRL_ADDR); scu 582 drivers/platform/x86/intel_scu_ipc.c *data = readl(scu->i2c_base + I2C_DATA_ADDR); scu 584 drivers/platform/x86/intel_scu_ipc.c writel(*data, scu->i2c_base + I2C_DATA_ADDR); scu 586 drivers/platform/x86/intel_scu_ipc.c writel(addr, scu->i2c_base + IPC_I2C_CNTRL_ADDR); scu 588 drivers/platform/x86/intel_scu_ipc.c dev_err(scu->dev, scu 608 drivers/platform/x86/intel_scu_ipc.c struct intel_scu_ipc_dev *scu = dev_id; scu 609 drivers/platform/x86/intel_scu_ipc.c int status = ipc_read_status(scu); scu 611 drivers/platform/x86/intel_scu_ipc.c writel(status | IPC_STATUS_IRQ, scu->ipc_base + IPC_STATUS); scu 612 drivers/platform/x86/intel_scu_ipc.c complete(&scu->cmd_complete); scu 628 drivers/platform/x86/intel_scu_ipc.c struct intel_scu_ipc_dev *scu = &ipcdev; scu 631 drivers/platform/x86/intel_scu_ipc.c if (scu->dev) /* We support only one SCU */ scu 646 drivers/platform/x86/intel_scu_ipc.c init_completion(&scu->cmd_complete); scu 648 drivers/platform/x86/intel_scu_ipc.c scu->ipc_base = pcim_iomap_table(pdev)[0]; scu 650 drivers/platform/x86/intel_scu_ipc.c scu->i2c_base = ioremap_nocache(pdata->i2c_base, pdata->i2c_len); scu 651 drivers/platform/x86/intel_scu_ipc.c if (!scu->i2c_base) scu 655 drivers/platform/x86/intel_scu_ipc.c scu); scu 660 drivers/platform/x86/intel_scu_ipc.c scu->dev = &pdev->dev; scu 664 drivers/platform/x86/intel_scu_ipc.c pci_set_drvdata(pdev, scu);