| /kernel/linux/linux-6.6/drivers/pmdomain/bcm/ |
| D | bcm2835-power.c | 1 // SPDX-License-Identifier: GPL-2.0+ 8 #include <dt-bindings/soc/bcm2835-pm.h> 12 #include <linux/mfd/bcm2835-pm.h> 16 #include <linux/reset-controller.h> 109 #define PM_READ(reg) readl(power->base + (reg)) 110 #define PM_WRITE(reg, val) writel(PM_PASSWORD | (val), power->base + (reg)) 154 void __iomem *base = power->asb; in bcm2835_asb_control() 163 if (power->rpivid_asb) in bcm2835_asb_control() 164 base = power->rpivid_asb; in bcm2835_asb_control() 180 if (ktime_get_ns() - start >= 1000) in bcm2835_asb_control() [all …]
|
| /kernel/linux/linux-5.10/drivers/soc/bcm/ |
| D | bcm2835-power.c | 1 // SPDX-License-Identifier: GPL-2.0+ 8 #include <dt-bindings/soc/bcm2835-pm.h> 12 #include <linux/mfd/bcm2835-pm.h> 16 #include <linux/reset-controller.h> 109 #define PM_READ(reg) readl(power->base + (reg)) 110 #define PM_WRITE(reg, val) writel(PM_PASSWORD | (val), power->base + (reg)) 129 #define ASB_READ(reg) readl(power->asb + (reg)) 130 #define ASB_WRITE(reg, val) writel(PM_PASSWORD | (val), power->asb + (reg)) 164 if (ktime_get_ns() - start >= 1000) in bcm2835_asb_enable() 165 return -ETIMEDOUT; in bcm2835_asb_enable() [all …]
|
| /kernel/linux/linux-6.6/drivers/clk/sifive/ |
| D | sifive-prci.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include "sifive-prci.h" 11 #include "fu540-prci.h" 12 #include "fu740-prci.h" 19 * __prci_readl() - read from a PRCI register 20 * @pd: PRCI context 24 * address of the PRCI register target described by @pd, and return 29 * Return: the contents of the register described by @pd and @offs. 31 static u32 __prci_readl(struct __prci_data *pd, u32 offs) in __prci_readl() argument 33 return readl_relaxed(pd->va + offs); in __prci_readl() [all …]
|
| /kernel/linux/linux-6.6/drivers/regulator/ |
| D | max8952.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * max8952.c - Voltage and current regulation for the Maxim 8952 46 int ret = i2c_smbus_read_byte_data(max8952->client, reg); in max8952_read_reg() 57 return i2c_smbus_write_byte_data(max8952->client, reg, value); in max8952_write_reg() 66 return -EINVAL; in max8952_list_voltage() 68 return (max8952->pdata->dvs_mode[selector] * 10 + 770) * 1000; in max8952_list_voltage() 76 if (max8952->vid0) in max8952_get_voltage_sel() 78 if (max8952->vid1) in max8952_get_voltage_sel() 89 if (!max8952->vid0_gpiod || !max8952->vid1_gpiod) { in max8952_set_voltage_sel() 91 return -EPERM; in max8952_set_voltage_sel() [all …]
|
| /kernel/linux/linux-5.10/drivers/regulator/ |
| D | max8952.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * max8952.c - Voltage and current regulation for the Maxim 8952 46 int ret = i2c_smbus_read_byte_data(max8952->client, reg); in max8952_read_reg() 57 return i2c_smbus_write_byte_data(max8952->client, reg, value); in max8952_write_reg() 66 return -EINVAL; in max8952_list_voltage() 68 return (max8952->pdata->dvs_mode[selector] * 10 + 770) * 1000; in max8952_list_voltage() 76 if (max8952->vid0) in max8952_get_voltage_sel() 78 if (max8952->vid1) in max8952_get_voltage_sel() 89 if (!max8952->vid0_gpiod || !max8952->vid1_gpiod) { in max8952_set_voltage_sel() 91 return -EPERM; in max8952_set_voltage_sel() [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/usb/ |
| D | willsemi,wusb3801.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: WUSB3801 Type-C port controller 10 The Will Semiconductor WUSB3801 is a USB Type-C port controller which 12 compatible with the USB Type-C Cable and Connector Specification v1.2. 15 - Samuel Holland <samuel@sholland.org> 20 - willsemi,wusb3801 30 $ref: ../connector/usb-connector.yaml# 33 The managed USB Type-C connector. Since WUSB3801 does not support [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/memory-controllers/ |
| D | rockchip,rk3399-dmc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/memory-controllers/rockchip,rk3399-dmc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Brian Norris <briannorris@chromium.org> 15 - rockchip,rk3399-dmc 17 devfreq-events: 21 Documentation/devicetree/bindings/devfreq/event/rockchip-dfi.txt. 26 clock-names: 28 - const: dmc_clk [all …]
|
| /kernel/linux/linux-6.6/arch/arm64/boot/dts/freescale/ |
| D | imx93-tqma9352-mba93xxla.dts | 1 // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 3 * Copyright (c) 2022-2023 TQ-Systems GmbH <linux@ew.tq-group.com>, 4 * D-82229 Seefeld, Germany. 8 /dts-v1/; 10 #include <dt-bindings/input/input.h> 11 #include <dt-bindings/leds/common.h> 12 #include <dt-bindings/net/ti-dp83867.h> 13 #include <dt-bindings/pwm/pwm.h> 14 #include <dt-bindings/usb/pd.h> 15 #include "imx93-tqma9352.dtsi" [all …]
|
| /kernel/linux/linux-5.10/include/linux/usb/ |
| D | tcpm.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Copyright 2015-2017 Google, Inc 11 #include "pd.h" 55 * struct tcpc_dev - Port configuration and callback functions 60 * and cc=Rp-def. This allows the tcpm to provide a fallback 61 * current-limit detection method for the cc=Rp-def case. 68 * @set_vconn: Called to enable or disable VCONN 69 * @set_vbus: Called to enable or disable VBUS 73 * @set_pd_rx: Called to enable or disable reception of PD messages 76 * Optional; if supported by hardware, called to start dual-role [all …]
|
| /kernel/linux/linux-5.10/drivers/soc/samsung/ |
| D | pm_domains.c | 1 // SPDX-License-Identifier: GPL-2.0 9 // conjunction with runtime-pm. Support for both device-tree and non-device-tree 32 struct generic_pm_domain pd; member 38 struct exynos_pm_domain *pd; in exynos_pd_power() local 43 pd = container_of(domain, struct exynos_pm_domain, pd); in exynos_pd_power() 44 base = pd->base; in exynos_pd_power() 46 pwr = power_on ? pd->local_pwr_cfg : 0; in exynos_pd_power() 52 while ((readl_relaxed(base + 0x4) & pd->local_pwr_cfg) != pwr) { in exynos_pd_power() 54 op = (power_on) ? "enable" : "disable"; in exynos_pd_power() 55 pr_err("Power domain %s %s failed\n", domain->name, op); in exynos_pd_power() [all …]
|
| /kernel/linux/linux-6.6/drivers/pmdomain/samsung/ |
| D | exynos-pm-domains.c | 1 // SPDX-License-Identifier: GPL-2.0 9 // conjunction with runtime-pm. Support for both device-tree and non-device-tree 32 struct generic_pm_domain pd; member 38 struct exynos_pm_domain *pd; in exynos_pd_power() local 43 pd = container_of(domain, struct exynos_pm_domain, pd); in exynos_pd_power() 44 base = pd->base; in exynos_pd_power() 46 pwr = power_on ? pd->local_pwr_cfg : 0; in exynos_pd_power() 52 while ((readl_relaxed(base + 0x4) & pd->local_pwr_cfg) != pwr) { in exynos_pd_power() 54 op = (power_on) ? "enable" : "disable"; in exynos_pd_power() 55 pr_err("Power domain %s %s failed\n", domain->name, op); in exynos_pd_power() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/smsc/ |
| D | smsc9420.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 17 #include <linux/dma-mapping.h> 25 #define DRV_MDIONAME "smsc9420-mdio" 82 static uint debug = -1; 86 static inline u32 smsc9420_reg_read(struct smsc9420_pdata *pd, u32 offset) in smsc9420_reg_read() argument 88 return ioread32(pd->ioaddr + offset); in smsc9420_reg_read() 92 smsc9420_reg_write(struct smsc9420_pdata *pd, u32 offset, u32 value) in smsc9420_reg_write() argument 94 iowrite32(value, pd->ioaddr + offset); in smsc9420_reg_write() 97 static inline void smsc9420_pci_flush_write(struct smsc9420_pdata *pd) in smsc9420_pci_flush_write() argument 100 smsc9420_reg_read(pd, ID_REV); in smsc9420_pci_flush_write() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/smsc/ |
| D | smsc9420.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 17 #include <linux/dma-mapping.h> 25 #define DRV_MDIONAME "smsc9420-mdio" 82 static uint debug = -1; 86 static inline u32 smsc9420_reg_read(struct smsc9420_pdata *pd, u32 offset) in smsc9420_reg_read() argument 88 return ioread32(pd->ioaddr + offset); in smsc9420_reg_read() 92 smsc9420_reg_write(struct smsc9420_pdata *pd, u32 offset, u32 value) in smsc9420_reg_write() argument 94 iowrite32(value, pd->ioaddr + offset); in smsc9420_reg_write() 97 static inline void smsc9420_pci_flush_write(struct smsc9420_pdata *pd) in smsc9420_pci_flush_write() argument 100 smsc9420_reg_read(pd, ID_REV); in smsc9420_pci_flush_write() [all …]
|
| /kernel/linux/linux-6.6/drivers/firmware/ |
| D | sysfb.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * Copyright (c) 2012-2013 David Herrmann <dh.herrmann@gmail.com> 8 * Simple-Framebuffer support 9 * Create a platform-device for any available boot framebuffer. The 10 * simple-framebuffer platform device is already available on DT systems, so 12 * platform device compatible with the "simple-framebuffer" DT object. If 14 * "vesa-framebuffer", "efi-framebuffer" or "platform-framebuffer" device and 16 * to pick these devices up without messing with simple-framebuffer drivers. 19 * If CONFIG_SYSFB_SIMPLEFB is not selected, never register "simple-framebuffer" 23 * TODO: We set the dev_id field of all platform-devices to 0. This allows [all …]
|
| /kernel/linux/linux-6.6/drivers/clk/qcom/ |
| D | gdsc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2015, 2017-2018, 2022, The Linux Foundation. All rights reserved. 16 #include <linux/reset-controller.h> 52 #define domain_to_gdsc(domain) container_of(domain, struct gdsc, pd) 66 if (sc->flags & POLL_CFG_GDSCR) in gdsc_check_status() 67 reg = sc->gdscr + CFG_GDSCR_OFFSET; in gdsc_check_status() 68 else if (sc->gds_hw_ctrl) in gdsc_check_status() 69 reg = sc->gds_hw_ctrl; in gdsc_check_status() 71 reg = sc->gdscr; in gdsc_check_status() 73 ret = regmap_read(sc->regmap, reg, &val); in gdsc_check_status() [all …]
|
| /kernel/linux/linux-5.10/drivers/i2c/busses/ |
| D | i2c-sh_mobile.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2014-19 Wolfram Sang <wsa@sang-engineering.com> 8 * Portions of the code based on out-of-tree driver i2c-sh7343.c 15 #include <linux/dma-mapping.h> 40 /* ICIC: -DTE */ 47 /* ICIC: -DTE */ 51 /* 3 bytes or more, +---------+ gets repeated */ 56 /* 0 byte receive - not supported since slave may hold SDA low */ 61 /* ICIC: -DTE | +DTE */ 68 /* ICIC: -DTE | +DTE */ [all …]
|
| /kernel/linux/linux-6.6/drivers/i2c/busses/ |
| D | i2c-sh_mobile.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2014-19 Wolfram Sang <wsa@sang-engineering.com> 8 * Portions of the code based on out-of-tree driver i2c-sh7343.c 15 #include <linux/dma-mapping.h> 40 /* ICIC: -DTE */ 47 /* ICIC: -DTE */ 51 /* 3 bytes or more, +---------+ gets repeated */ 56 /* 0 byte receive - not supported since slave may hold SDA low */ 61 /* ICIC: -DTE | +DTE */ 68 /* ICIC: -DTE | +DTE */ [all …]
|
| /kernel/linux/linux-5.10/drivers/clk/qcom/ |
| D | gdsc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2015, 2017-2018, 2022, The Linux Foundation. All rights reserved. 16 #include <linux/reset-controller.h> 51 #define domain_to_gdsc(domain) container_of(domain, struct gdsc, pd) 65 if (sc->flags & POLL_CFG_GDSCR) in gdsc_check_status() 66 reg = sc->gdscr + CFG_GDSCR_OFFSET; in gdsc_check_status() 67 else if (sc->gds_hw_ctrl) in gdsc_check_status() 68 reg = sc->gds_hw_ctrl; in gdsc_check_status() 70 reg = sc->gdscr; in gdsc_check_status() 72 ret = regmap_read(sc->regmap, reg, &val); in gdsc_check_status() [all …]
|
| /kernel/linux/linux-5.10/drivers/media/pci/dt3155/ |
| D | dt3155.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright (C) 2006-2010 by Marin Mitov * 14 #include <media/v4l2-dev.h> 15 #include <media/v4l2-ioctl.h> 16 #include <media/v4l2-common.h> 17 #include <media/videobuf2-dma-contig.h> 24 * read_i2c_reg - reads an internal i2c register 43 return -EIO; /* error: NEW_CYCLE not cleared */ in read_i2c_reg() 48 return -EIO; /* error: DIRECT_ABORT set */ in read_i2c_reg() 55 * write_i2c_reg - writes to an internal i2c register [all …]
|
| /kernel/linux/linux-6.6/drivers/media/pci/dt3155/ |
| D | dt3155.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright (C) 2006-2010 by Marin Mitov * 14 #include <media/v4l2-dev.h> 15 #include <media/v4l2-ioctl.h> 16 #include <media/v4l2-common.h> 17 #include <media/videobuf2-dma-contig.h> 24 * read_i2c_reg - reads an internal i2c register 43 return -EIO; /* error: NEW_CYCLE not cleared */ in read_i2c_reg() 48 return -EIO; /* error: DIRECT_ABORT set */ in read_i2c_reg() 55 * write_i2c_reg - writes to an internal i2c register [all …]
|
| /kernel/linux/linux-6.6/include/linux/usb/ |
| D | tcpm.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Copyright 2015-2017 Google, Inc 11 #include "pd.h" 59 * struct tcpc_dev - Port configuration and callback functions 64 * and cc=Rp-def. This allows the tcpm to provide a fallback 65 * current-limit detection method for the cc=Rp-def case. 74 * @set_vconn: Called to enable or disable VCONN 75 * @set_vbus: Called to enable or disable VBUS 79 * @set_pd_rx: Called to enable or disable reception of PD messages 82 * Optional; if supported by hardware, called to start dual-role [all …]
|
| /kernel/linux/linux-6.6/drivers/pmdomain/imx/ |
| D | gpc.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Copyright 2015-2017 Pengutronix, Lucas Stach <kernel@pengutronix.de> 4 * Copyright 2011-2013 Freescale Semiconductor, Inc. 61 struct imx_pm_domain *pd = to_imx_pm_domain(genpd); in imx6_pm_domain_power_off() local 66 regmap_read(pd->regmap, pd->reg_offs + GPC_PGC_PDNSCR_OFFS, &val); in imx6_pm_domain_power_off() 71 regmap_update_bits(pd->regmap, pd->reg_offs + GPC_PGC_CTRL_OFFS, in imx6_pm_domain_power_off() 75 val = BIT(pd->cntr_pdn_bit); in imx6_pm_domain_power_off() 76 regmap_update_bits(pd->regmap, GPC_CNTR, val, val); in imx6_pm_domain_power_off() 79 udelay(DIV_ROUND_UP(iso + iso2sw, pd->ipg_rate_mhz)); in imx6_pm_domain_power_off() 81 if (pd->supply) in imx6_pm_domain_power_off() [all …]
|
| /kernel/linux/linux-5.10/drivers/soc/imx/ |
| D | gpc.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Copyright 2015-2017 Pengutronix, Lucas Stach <kernel@pengutronix.de> 4 * Copyright 2011-2013 Freescale Semiconductor, Inc. 61 struct imx_pm_domain *pd = to_imx_pm_domain(genpd); in imx6_pm_domain_power_off() local 66 regmap_read(pd->regmap, pd->reg_offs + GPC_PGC_PDNSCR_OFFS, &val); in imx6_pm_domain_power_off() 71 regmap_update_bits(pd->regmap, pd->reg_offs + GPC_PGC_CTRL_OFFS, in imx6_pm_domain_power_off() 75 val = BIT(pd->cntr_pdn_bit); in imx6_pm_domain_power_off() 76 regmap_update_bits(pd->regmap, GPC_CNTR, val, val); in imx6_pm_domain_power_off() 79 udelay(DIV_ROUND_UP(iso + iso2sw, pd->ipg_rate_mhz)); in imx6_pm_domain_power_off() 81 if (pd->supply) in imx6_pm_domain_power_off() [all …]
|
| /kernel/linux/linux-6.6/arch/m68k/68000/ |
| D | dragen2.c | 1 // SPDX-License-Identifier: GPL-2.0 26 PBDATA |= 0x20; /* disable CCFL light */ in dragen2_reset() 27 PKDATA |= 0x4; /* disable LCD controller */ in dragen2_reset() 69 PDPOL &= ~PD(1); /* active high signal */ in init_dragen2() 70 PDIQEG &= ~PD(1); in init_dragen2() 71 PDIRQEN |= PD(1); /* IRQ enabled */ in init_dragen2()
|
| /kernel/linux/linux-5.10/drivers/block/paride/ |
| D | pd.c | 2 pd.c (c) 1997-8 Grant R. Guenther <grant@torque.net> 5 This is the high-level driver for parallel port IDE hard 12 The behaviour of the pd driver can be altered by setting 17 drive1 1-8 integers as follows: 37 <mod> this can be -1 to choose the best mode, or one 39 (-1 if not given) 48 <sby> set this to zero to disable the power saving 52 go more slowly. -1 sets a default value that 56 this to zero will speed up the device. (default -1) 60 choose the slave, -1 (the default) to choose the [all …]
|