Home
last modified time | relevance | path

Searched +full:syscon +full:- +full:dev (Results 1 – 25 of 444) sorted by relevance

12345678910>>...18

/linux/drivers/net/ethernet/ti/
H A Dcpsw-common.c1 // SPDX-License-Identifier: GPL-2.0+
7 #include <linux/mfd/syscon.h>
14 static int davinci_emac_3517_get_macid(struct device *dev, u16 offset, in davinci_emac_3517_get_macid() argument
19 struct regmap *syscon; in davinci_emac_3517_get_macid() local
21 syscon = syscon_regmap_lookup_by_phandle(dev->of_node, "syscon"); in davinci_emac_3517_get_macid()
22 if (IS_ERR(syscon)) { in davinci_emac_3517_get_macid()
23 if (PTR_ERR(syscon) == -ENODEV) in davinci_emac_3517_get_macid()
25 return PTR_ERR(syscon); in davinci_emac_3517_get_macid()
28 regmap_read(syscon, CTRL_MAC_LO_REG(offset, slave), &macid_lsb); in davinci_emac_3517_get_macid()
29 regmap_read(syscon, CTRL_MAC_HI_REG(offset, slave), &macid_msb); in davinci_emac_3517_get_macid()
[all …]
/linux/drivers/spi/
H A Dspi-dw-mmio.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Memory-mapped interface driver for DW SPI Core
15 #include <linux/mfd/syscon.h>
24 #include "spi-dw.h"
52 struct regmap *syscon; member
61 * bit: |---3-------2-------1-------0
79 struct dw_spi *dws = spi_controller_get_devdata(spi->controller); in dw_spi_mscc_set_cs()
81 struct dw_spi_mscc *dwsmscc = dwsmmio->priv; in dw_spi_mscc_set_cs()
90 writel(sw_mode, dwsmscc->spi_mst + MSCC_SPI_MST_SW_MODE); in dw_spi_mscc_set_cs()
102 dwsmscc = devm_kzalloc(&pdev->dev, sizeof(*dwsmscc), GFP_KERNEL); in dw_spi_mscc_init()
[all …]
H A Dspi-clps711x.c1 // SPDX-License-Identifier: GPL-2.0-or-later
5 * Copyright (C) 2012-2016 Alexander Shiyan <shc_work@mail.ru>
16 #include <linux/mfd/syscon.h>
17 #include <linux/mfd/syscon/clps711x.h>
20 #define DRIVER_NAME "clps711x-spi"
27 struct regmap *syscon; member
40 struct spi_device *spi = msg->spi; in spi_clps711x_prepare_message()
43 return regmap_update_bits(hw->syscon, SYSCON_OFFSET, SYSCON3_ADCCKNSEN, in spi_clps711x_prepare_message()
44 (spi->mode & SPI_CPHA) ? in spi_clps711x_prepare_message()
55 clk_set_rate(hw->spi_clk, xfer->speed_hz ? : spi->max_speed_hz); in spi_clps711x_transfer_one()
[all …]
/linux/drivers/gpio/
H A Dgpio-syscon.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * SYSCON GPIO driver
14 #include <linux/mfd/syscon.h>
20 /* SYSCON driver is designed to use 32-bit wide registers */
25 * struct syscon_gpio_data - Configuration for the device.
49 struct regmap *syscon; member
61 offs = priv->dreg_offset + priv->data->dat_bit_offset + offset; in syscon_gpio_get()
63 ret = regmap_read(priv->syscon, in syscon_gpio_get()
76 offs = priv->dreg_offset + priv->data->dat_bit_offset + offset; in syscon_gpio_set()
78 return regmap_update_bits(priv->syscon, in syscon_gpio_set()
[all …]
/linux/drivers/power/reset/
H A Daxxia-reset.c1 // SPDX-License-Identifier: GPL-2.0-only
11 #include <linux/mfd/syscon.h>
31 struct regmap *syscon = data->cb_data; in axxia_restart_handler() local
34 regmap_write(syscon, SC_CRIT_WRITE_KEY, 0xab); in axxia_restart_handler()
36 regmap_write(syscon, SC_LATCH_ON_RESET, 0x00000040); in axxia_restart_handler()
38 regmap_write(syscon, SC_EFUSE_INT_STATUS, EFUSE_READ_DONE); in axxia_restart_handler()
40 regmap_update_bits(syscon, SC_RESET_CONTROL, in axxia_restart_handler()
48 struct device *dev = &pdev->dev; in axxia_reset_probe() local
49 struct regmap *syscon; in axxia_reset_probe() local
52 syscon = syscon_regmap_lookup_by_phandle(dev->of_node, "syscon"); in axxia_reset_probe()
[all …]
H A Docelot-reset.c1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
12 #include <linux/mfd/syscon.h>
19 const char *syscon; member
48 u32 if_si_owner_bit = ctx->props->if_si_owner_bit; in ocelot_restart_handle()
51 regmap_update_bits(ctx->cpu_ctrl, ctx->props->protect_reg, in ocelot_restart_handle()
52 ctx->props->vcore_protect, 0); in ocelot_restart_handle()
56 regmap_update_bits(ctx->cpu_ctrl, in ocelot_restart_handle()
63 writel(SOFT_CHIP_RST, ctx->base); in ocelot_restart_handle()
72 struct device *dev = &pdev->dev; in ocelot_reset_probe() local
75 ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_KERNEL); in ocelot_reset_probe()
[all …]
H A Dsyscon-poweroff.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Generic Syscon Poweroff Driver
12 #include <linux/mfd/syscon.h>
28 struct syscon_poweroff_data *data = off_data->cb_data; in syscon_poweroff()
31 regmap_update_bits(data->map, data->offset, data->mask, data->value); in syscon_poweroff()
42 struct device *dev = &pdev->dev; in syscon_poweroff_probe() local
46 data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL); in syscon_poweroff_probe()
48 return -ENOMEM; in syscon_poweroff_probe()
50 data->map = syscon_regmap_lookup_by_phandle(dev->of_node, "regmap"); in syscon_poweroff_probe()
51 if (IS_ERR(data->map)) { in syscon_poweroff_probe()
[all …]
/linux/drivers/pci/controller/cadence/
H A Dpci-j721e.c1 // SPDX-License-Identifier: GPL-2.0
3 * pci-j721e - PCIe controller driver for TI's J721E SoCs
5 * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com
10 #include <linux/clk-provider.h>
17 #include <linux/mfd/syscon.h>
26 #include "pcie-cadence.h"
85 return readl(pcie->user_cfg_base + offset); in j721e_pcie_user_readl()
91 writel(value, pcie->user_cfg_base + offset); in j721e_pcie_user_writel()
96 return readl(pcie->intd_cfg_base + offset); in j721e_pcie_intd_readl()
102 writel(value, pcie->intd_cfg_base + offset); in j721e_pcie_intd_writel()
[all …]
/linux/arch/arm/boot/dts/ti/keystone/
H A Dkeystone-k2hk.dtsi1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2013-2017 Texas Instruments Incorporated - https://www.ti.com/
8 #include <dt-bindings/reset/ti-syscon.h>
15 #address-cells = <1>;
16 #size-cells = <0>;
18 interrupt-parent = <&gic>;
21 compatible = "arm,cortex-a15";
27 compatible = "arm,cortex-a15";
33 compatible = "arm,cortex-a15";
39 compatible = "arm,cortex-a15";
[all …]
/linux/drivers/bus/
H A Darm-integrator-lm.c1 // SPDX-License-Identifier: GPL-2.0-only
21 #include <linux/mfd/syscon.h>
31 static int integrator_lm_populate(int num, struct device *dev) in integrator_lm_populate() argument
33 struct device_node *np = dev->of_node; in integrator_lm_populate()
46 dev_info(dev, "no valid address on child\n"); in integrator_lm_populate()
50 /* First populate the syscon then any devices */ in integrator_lm_populate()
52 dev_info(dev, "populate module @0x%08x from DT\n", in integrator_lm_populate()
54 ret = of_platform_default_populate(child, NULL, dev); in integrator_lm_populate()
56 dev_err(dev, "failed to populate module\n"); in integrator_lm_populate()
67 { .compatible = "arm,integrator-ap-syscon"},
[all …]
/linux/drivers/thermal/
H A Darmada_thermal.c1 // SPDX-License-Identifier: GPL-2.0-only
18 #include <linux/mfd/syscon.h>
65 /* Marvell EBU Thermal Sensor Dev Structure */
67 struct device *dev; member
68 struct regmap *syscon; member
85 /* Formula coeficients: temp = (b - m * reg) / div */
100 /* Syscon access */
117 SYSCON enumerator
126 * struct armada_thermal_sensor - hold the information of one thermal sensor
139 struct armada_thermal_data *data = priv->data; in armadaxp_init()
[all …]
/linux/drivers/tty/serial/
H A Dclps711x.c1 // SPDX-License-Identifier: GPL-2.0+
25 #include <linux/mfd/syscon.h>
26 #include <linux/mfd/syscon/clps711x.h>
42 #define UBRLCR_BAUD_MASK ((1 << 12) - 1)
58 struct regmap *syscon; member
73 struct clps711x_port *s = dev_get_drvdata(port->dev); in uart_clps711x_stop_tx()
75 if (s->tx_enabled) { in uart_clps711x_stop_tx()
76 disable_irq(port->irq); in uart_clps711x_stop_tx()
77 s->tx_enabled = 0; in uart_clps711x_stop_tx()
83 struct clps711x_port *s = dev_get_drvdata(port->dev); in uart_clps711x_start_tx()
[all …]
/linux/drivers/input/keyboard/
H A Dclps711x-keypad.c1 // SPDX-License-Identifier: GPL-2.0-or-later
17 #include <linux/mfd/syscon.h>
18 #include <linux/mfd/syscon/clps711x.h>
28 struct regmap *syscon; member
36 const unsigned short *keycodes = input->keycode; in clps711x_keypad_poll()
43 regmap_update_bits(priv->syscon, SYSCON_OFFSET, in clps711x_keypad_poll()
48 for (row = 0; row < priv->row_count; row++) { in clps711x_keypad_poll()
49 struct clps711x_gpio_data *data = &priv->gpio_data[row]; in clps711x_keypad_poll()
54 state = gpiod_get_value_cansleep(data->desc); in clps711x_keypad_poll()
56 state1 = gpiod_get_value_cansleep(data->desc); in clps711x_keypad_poll()
[all …]
/linux/drivers/clk/nxp/
H A Dclk-lpc18xx-creg.c1 // SPDX-License-Identifier: GPL-2.0-only
8 #include <linux/clk-provider.h>
11 #include <linux/mfd/syscon.h>
50 ret = regmap_update_bits(creg->reg, LPC18XX_CREG_CREG0, in clk_creg_32k_prepare()
67 regmap_update_bits(creg->reg, LPC18XX_CREG_CREG0, in clk_creg_32k_unprepare()
77 regmap_read(creg->reg, LPC18XX_CREG_CREG0, &reg); in clk_creg_32k_is_prepared()
93 return regmap_update_bits(creg->reg, LPC18XX_CREG_CREG0, in clk_creg_enable()
94 creg->en_mask, creg->en_mask); in clk_creg_enable()
101 regmap_update_bits(creg->reg, LPC18XX_CREG_CREG0, in clk_creg_disable()
102 creg->en_mask, 0); in clk_creg_disable()
[all …]
/linux/drivers/hwspinlock/
H A Dqcom_hwspinlock.c1 // SPDX-License-Identifier: GPL-2.0
10 #include <linux/mfd/syscon.h>
30 struct regmap_field *field = lock->priv; in qcom_hwspinlock_trylock()
47 struct regmap_field *field = lock->priv; in qcom_hwspinlock_unlock()
69 struct regmap_field *field = lock->priv; in qcom_hwspinlock_bust()
75 dev_err(lock->bank->dev, "unable to query spinlock owner\n"); in qcom_hwspinlock_bust()
84 dev_err(lock->bank->dev, "failed to bust spinlock\n"); in qcom_hwspinlock_bust()
140 { .compatible = "qcom,sfpb-mutex", .data = &of_sfpb_mutex },
141 { .compatible = "qcom,tcsr-mutex", .data = &of_tcsr_mutex },
142 { .compatible = "qcom,apq8084-tcsr-mutex", .data = &of_msm8226_tcsr_mutex },
[all …]
/linux/drivers/leds/
H A Dleds-syscon.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Generic Syscon LEDs Driver
14 #include <linux/mfd/syscon.h>
19 * struct syscon_led - state container for syscon based LEDs
21 * @map: regmap to access the syscon device backing this LED
22 * @offset: the offset into the syscon regmap for the LED register
44 sled->state = false; in syscon_led_set()
46 val = sled->mask; in syscon_led_set()
47 sled->state = true; in syscon_led_set()
50 ret = regmap_update_bits(sled->map, sled->offset, sled->mask, val); in syscon_led_set()
[all …]
/linux/Documentation/devicetree/bindings/power/reset/
H A Dkeystone-reset.txt14 - compatible: ti,keystone-reset
16 - ti,syscon-pll: phandle/offset pair. The phandle to syscon used to
20 - ti,syscon-dev: phandle/offset pair. The phandle to syscon used to
26 - ti,soft-reset: Boolean option indicating soft reset.
29 - ti,wdt-list: WDT list that can cause SoC reset. It's not related
40 pllctrl: pll-controller@2310000 {
41 compatible = "ti,keystone-pllctrl", "syscon";
45 devctrl: device-state-control@2620000 {
46 compatible = "ti,keystone-devctrl", "syscon";
50 rstctrl: reset-controller {
[all …]
/linux/drivers/video/fbdev/
H A Dclps711x-fb.c1 // SPDX-License-Identifier: GPL-2.0-or-later
17 #include <linux/mfd/syscon.h>
18 #include <linux/mfd/syscon/clps711x.h>
22 #define CLPS711X_FB_NAME "clps711x-fb"
36 struct regmap *syscon; member
47 struct clps711x_fb_info *cfb = info->par; in clps711x_fb_setcolreg()
50 if (regno >= BIT(info->var.bits_per_pixel)) in clps711x_fb_setcolreg()
51 return -EINVAL; in clps711x_fb_setcolreg()
57 if (cfb->cmap_invert) in clps711x_fb_setcolreg()
58 level = 0xf - level; in clps711x_fb_setcolreg()
[all …]
/linux/drivers/phy/hisilicon/
H A Dphy-histb-combphy.c1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (C) 2016-2017 HiSilicon Co., Ltd. http://www.hisilicon.com
14 #include <linux/mfd/syscon.h>
21 #include <dt-bindings/phy/phy.h>
46 struct regmap *syscon; member
56 void __iomem *reg = priv->mmio + COMBPHY_CFG_REG; in nano_register_write()
76 return (mode->fixed != PHY_NONE) ? true : false; in is_mode_fixed()
81 struct histb_combphy_mode *mode = &priv->mode; in histb_combphy_set_mode()
82 struct regmap *syscon = priv->syscon; in histb_combphy_set_mode() local
88 switch (mode->select) { in histb_combphy_set_mode()
[all …]
/linux/drivers/input/touchscreen/
H A Dts4800-ts.c2 * Touchscreen driver for the TS-4800 board
4 * Copyright (c) 2015 - Savoir-faire Linux
15 #include <linux/mfd/syscon.h>
26 /* sensor values are 12-bit wide */
27 #define MAX_12BIT ((1 << 12) - 1)
36 struct device *dev; member
53 ts->pendown = false; in ts4800_ts_open()
54 ts->debounce = DEBOUNCE_COUNT; in ts4800_ts_open()
56 error = regmap_update_bits(ts->regmap, ts->reg, ts->bit, ts->bit); in ts4800_ts_open()
58 dev_warn(ts->dev, "Failed to enable touchscreen: %d\n", error); in ts4800_ts_open()
[all …]
/linux/drivers/net/can/c_can/
H A Dc_can_platform.c9 * - Sascha Hauer, Marc Kleine-Budde, Pengutronix <s.hauer@pengutronix.de>
10 * - Simon Kallweit, intefo AG <simon.kallweit@intefo.ch>
36 #include <linux/mfd/syscon.h>
39 #include <linux/can/dev.h>
47 /* 16-bit c_can registers can be arranged differently in the memory
48 * architecture of different implementations. For example: 16-bit
49 * registers can be aligned to a 16-bit boundary or 32-bit boundary etc.
55 return readw(priv->base + priv->regs[index]); in c_can_plat_read_reg_aligned_to_16bit()
61 writew(val, priv->base + priv->regs[index]); in c_can_plat_write_reg_aligned_to_16bit()
67 return readw(priv->base + 2 * priv->regs[index]); in c_can_plat_read_reg_aligned_to_32bit()
[all …]
/linux/drivers/clk/sprd/
H A Dcommon.c1 // SPDX-License-Identifier: GPL-2.0
8 #include <linux/mfd/syscon.h>
29 for (i = 0; i < desc->num_clk_clks; i++) { in sprd_clk_set_regmap()
30 cclk = desc->clk_clks[i]; in sprd_clk_set_regmap()
34 cclk->regmap = regmap; in sprd_clk_set_regmap()
42 struct device *dev = &pdev->dev; in sprd_clk_regmap_init() local
43 struct device_node *node = dev->of_node, *np; in sprd_clk_regmap_init()
48 if (of_property_present(node, "sprd,syscon")) { in sprd_clk_regmap_init()
49 regmap = syscon_regmap_lookup_by_phandle(node, "sprd,syscon"); in sprd_clk_regmap_init()
51 pr_err("%s: failed to get syscon regmap\n", __func__); in sprd_clk_regmap_init()
[all …]
/linux/drivers/net/ethernet/stmicro/stmmac/
H A Ddwmac-loongson1.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Loongson-1 DWMAC glue layer
5 * Copyright (C) 2011-2023 Keguang Zhang <keguang.zhang@gmail.com>
8 #include <linux/mfd/syscon.h>
21 /* Loongson-1 SYSCON Registers */
25 /* Loongson-1B SYSCON Register Bits */
37 /* Loongson-1C SYSCON Register Bits */
59 struct ls1x_dwmac *dwmac = plat_dat->bsp_priv; in ls1b_dwmac_setup()
64 /* This shouldn't fail - stmmac_get_platform_resources() in ls1b_dwmac_setup()
67 dev_err(&pdev->dev, "Could not get IO_MEM resources\n"); in ls1b_dwmac_setup()
[all …]
/linux/drivers/mtd/maps/
H A Dphysmap-versatile.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Versatile OF physmap driver add-on
13 #include <linux/mfd/syscon.h>
17 #include "physmap-versatile.h"
30 .compatible = "arm,integrator-ap-syscon",
34 .compatible = "arm,integrator-cp-syscon",
38 .compatible = "arm,core-module-versatile",
42 .compatible = "arm,realview-eb-syscon",
46 .compatible = "arm,realview-pb1176-syscon",
50 .compatible = "arm,realview-pb11mp-syscon",
[all …]
/linux/drivers/reset/
H A Dreset-ti-syscon.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * TI SYSCON regmap reset driver
5 * Copyright (C) 2015-2016 Texas Instruments Incorporated - https://www.ti.com/
10 #include <linux/mfd/syscon.h>
15 #include <linux/reset-controller.h>
17 #include <dt-bindings/reset/ti-syscon.h>
20 * struct ti_syscon_reset_control - reset control structure
21 * @assert_offset: reset assert control register offset from syscon base
23 * @deassert_offset: reset deassert control register offset from syscon base
25 * @status_offset: reset status register offset from syscon base
[all …]

12345678910>>...18