| /kernel/linux/linux-6.6/drivers/net/ethernet/ti/ |
| D | davinci_mdio.c | 1 // SPDX-License-Identifier: GPL-2.0+ 28 #include <linux/mdio-bitbang.h> 32 * This timeout definition is a worst-case ultra defensive measure against 99 struct mii_bus *bus; member 103 * if MDIO bus is registered from DT. 110 static void davinci_mdio_init_clk(struct davinci_mdio_data *data) in davinci_mdio_init_clk() argument 114 mdio_in = clk_get_rate(data->clk); in davinci_mdio_init_clk() 115 div = (mdio_in / data->pdata.bus_freq) - 1; in davinci_mdio_init_clk() 119 data->clk_div = div; in davinci_mdio_init_clk() 123 * 32 bits of transferred data in davinci_mdio_init_clk() [all …]
|
| /kernel/linux/linux-5.10/drivers/ssb/ |
| D | sdio.c | 3 * SDIO-Hostbus related functions 9 * Copyright 2007-2008 Michael Buesch <m@bues.ch> 60 #define SBSDIO_FUNC1_SBADDRMID 0x1000b /* SB Address window Mid (b23-b16) */ 61 #define SBSDIO_FUNC1_SBADDRHIGH 0x1000c /* SB Address window High (b24-b31) */ 71 #define SBSDIO_SB_ACCESS_2_4B_FLAG 0x8000 /* forces 32-bit SB access */ 78 * ------- ------- ------------------------------------------ 85 * In order to access the contents of a 32-bit Silicon Backplane address 94 * a 32-bit access flag 104 static inline struct device *ssb_sdio_dev(struct ssb_bus *bus) in ssb_sdio_dev() argument 106 return &bus->host_sdio->dev; in ssb_sdio_dev() [all …]
|
| /kernel/linux/linux-6.6/drivers/ssb/ |
| D | sdio.c | 3 * SDIO-Hostbus related functions 9 * Copyright 2007-2008 Michael Buesch <m@bues.ch> 60 #define SBSDIO_FUNC1_SBADDRMID 0x1000b /* SB Address window Mid (b23-b16) */ 61 #define SBSDIO_FUNC1_SBADDRHIGH 0x1000c /* SB Address window High (b24-b31) */ 71 #define SBSDIO_SB_ACCESS_2_4B_FLAG 0x8000 /* forces 32-bit SB access */ 78 * ------- ------- ------------------------------------------ 85 * In order to access the contents of a 32-bit Silicon Backplane address 94 * a 32-bit access flag 104 static inline struct device *ssb_sdio_dev(struct ssb_bus *bus) in ssb_sdio_dev() argument 106 return &bus->host_sdio->dev; in ssb_sdio_dev() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/mdio/ |
| D | mdio-hisi-femac.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Hisilicon Fast Ethernet MDIO Bus Driver 28 static int hisi_femac_mdio_wait_ready(struct hisi_femac_mdio_data *data) in hisi_femac_mdio_wait_ready() argument 32 return readl_poll_timeout(data->membase + MDIO_RWCTRL, in hisi_femac_mdio_wait_ready() 36 static int hisi_femac_mdio_read(struct mii_bus *bus, int mii_id, int regnum) in hisi_femac_mdio_read() argument 38 struct hisi_femac_mdio_data *data = bus->priv; in hisi_femac_mdio_read() local 41 ret = hisi_femac_mdio_wait_ready(data); in hisi_femac_mdio_read() 46 data->membase + MDIO_RWCTRL); in hisi_femac_mdio_read() 48 ret = hisi_femac_mdio_wait_ready(data); in hisi_femac_mdio_read() 52 return readl(data->membase + MDIO_RO_DATA) & 0xFFFF; in hisi_femac_mdio_read() [all …]
|
| D | mdio-moxart.c | 1 // SPDX-License-Identifier: GPL-2.0 33 static int moxart_mdio_read(struct mii_bus *bus, int mii_id, int regnum) in moxart_mdio_read() argument 35 struct moxart_mdio_data *data = bus->priv; in moxart_mdio_read() local 39 dev_dbg(&bus->dev, "%s\n", __func__); in moxart_mdio_read() 44 writel(ctrl, data->base + REG_PHY_CTRL); in moxart_mdio_read() 47 ctrl = readl(data->base + REG_PHY_CTRL); in moxart_mdio_read() 53 count--; in moxart_mdio_read() 56 dev_dbg(&bus->dev, "%s timed out\n", __func__); in moxart_mdio_read() 58 return -ETIMEDOUT; in moxart_mdio_read() 61 static int moxart_mdio_write(struct mii_bus *bus, int mii_id, in moxart_mdio_write() argument [all …]
|
| D | mdio-sun4i.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright 2012-2013 Stefan Roese <sr@denx.de> 6 * Copyright 2013 Maxime Ripard <maxime.ripard@free-electrons.com> 36 static int sun4i_mdio_read(struct mii_bus *bus, int mii_id, int regnum) in sun4i_mdio_read() argument 38 struct sun4i_mdio_data *data = bus->priv; in sun4i_mdio_read() local 43 writel((mii_id << 8) | regnum, data->membase + EMAC_MAC_MADR_REG); in sun4i_mdio_read() 45 writel(0x1, data->membase + EMAC_MAC_MCMD_REG); in sun4i_mdio_read() 49 while (readl(data->membase + EMAC_MAC_MIND_REG) & 0x1) { in sun4i_mdio_read() 51 return -ETIMEDOUT; in sun4i_mdio_read() 56 writel(0x0, data->membase + EMAC_MAC_MCMD_REG); in sun4i_mdio_read() [all …]
|
| D | mdio-ipq4019.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 38 static int ipq4019_mdio_wait_busy(struct mii_bus *bus) in ipq4019_mdio_wait_busy() argument 40 struct ipq4019_mdio_data *priv = bus->priv; in ipq4019_mdio_wait_busy() 43 return readl_poll_timeout(priv->membase + MDIO_CMD_REG, busy, in ipq4019_mdio_wait_busy() 48 static int ipq4019_mdio_read(struct mii_bus *bus, int mii_id, int regnum) in ipq4019_mdio_read() argument 50 struct ipq4019_mdio_data *priv = bus->priv; in ipq4019_mdio_read() 51 unsigned int data; in ipq4019_mdio_read() local 54 if (ipq4019_mdio_wait_busy(bus)) in ipq4019_mdio_read() 55 return -ETIMEDOUT; in ipq4019_mdio_read() 63 data = readl(priv->membase + MDIO_MODE_REG); in ipq4019_mdio_read() [all …]
|
| /kernel/linux/linux-6.6/drivers/net/mdio/ |
| D | mdio-hisi-femac.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Hisilicon Fast Ethernet MDIO Bus Driver 28 static int hisi_femac_mdio_wait_ready(struct hisi_femac_mdio_data *data) in hisi_femac_mdio_wait_ready() argument 32 return readl_poll_timeout(data->membase + MDIO_RWCTRL, in hisi_femac_mdio_wait_ready() 36 static int hisi_femac_mdio_read(struct mii_bus *bus, int mii_id, int regnum) in hisi_femac_mdio_read() argument 38 struct hisi_femac_mdio_data *data = bus->priv; in hisi_femac_mdio_read() local 41 ret = hisi_femac_mdio_wait_ready(data); in hisi_femac_mdio_read() 46 data->membase + MDIO_RWCTRL); in hisi_femac_mdio_read() 48 ret = hisi_femac_mdio_wait_ready(data); in hisi_femac_mdio_read() 52 return readl(data->membase + MDIO_RO_DATA) & 0xFFFF; in hisi_femac_mdio_read() [all …]
|
| D | mdio-moxart.c | 1 // SPDX-License-Identifier: GPL-2.0 33 static int moxart_mdio_read(struct mii_bus *bus, int mii_id, int regnum) in moxart_mdio_read() argument 35 struct moxart_mdio_data *data = bus->priv; in moxart_mdio_read() local 39 dev_dbg(&bus->dev, "%s\n", __func__); in moxart_mdio_read() 44 writel(ctrl, data->base + REG_PHY_CTRL); in moxart_mdio_read() 47 ctrl = readl(data->base + REG_PHY_CTRL); in moxart_mdio_read() 53 count--; in moxart_mdio_read() 56 dev_dbg(&bus->dev, "%s timed out\n", __func__); in moxart_mdio_read() 58 return -ETIMEDOUT; in moxart_mdio_read() 61 static int moxart_mdio_write(struct mii_bus *bus, int mii_id, in moxart_mdio_write() argument [all …]
|
| D | mdio-ipq4019.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 46 static int ipq4019_mdio_wait_busy(struct mii_bus *bus) in ipq4019_mdio_wait_busy() argument 48 struct ipq4019_mdio_data *priv = bus->priv; in ipq4019_mdio_wait_busy() 51 return readl_poll_timeout(priv->membase + MDIO_CMD_REG, busy, in ipq4019_mdio_wait_busy() 56 static int ipq4019_mdio_read_c45(struct mii_bus *bus, int mii_id, int mmd, in ipq4019_mdio_read_c45() argument 59 struct ipq4019_mdio_data *priv = bus->priv; in ipq4019_mdio_read_c45() 60 unsigned int data; in ipq4019_mdio_read_c45() local 63 if (ipq4019_mdio_wait_busy(bus)) in ipq4019_mdio_read_c45() 64 return -ETIMEDOUT; in ipq4019_mdio_read_c45() 66 data = readl(priv->membase + MDIO_MODE_REG); in ipq4019_mdio_read_c45() [all …]
|
| D | mdio-sun4i.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright 2012-2013 Stefan Roese <sr@denx.de> 6 * Copyright 2013 Maxime Ripard <maxime.ripard@free-electrons.com> 36 static int sun4i_mdio_read(struct mii_bus *bus, int mii_id, int regnum) in sun4i_mdio_read() argument 38 struct sun4i_mdio_data *data = bus->priv; in sun4i_mdio_read() local 43 writel((mii_id << 8) | regnum, data->membase + EMAC_MAC_MADR_REG); in sun4i_mdio_read() 45 writel(0x1, data->membase + EMAC_MAC_MCMD_REG); in sun4i_mdio_read() 49 while (readl(data->membase + EMAC_MAC_MIND_REG) & 0x1) { in sun4i_mdio_read() 51 return -ETIMEDOUT; in sun4i_mdio_read() 56 writel(0x0, data->membase + EMAC_MAC_MCMD_REG); in sun4i_mdio_read() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/arc/ |
| D | emac_mdio.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2004-2013 Synopsys, Inc. (www.synopsys.com) 19 * arc_mdio_complete_wait - Waits until MDIO transaction is completed. 20 * @priv: Pointer to ARC EMAC private data structure. 22 * returns: 0 on success, -ETIMEDOUT on a timeout. 42 return -ETIMEDOUT; in arc_mdio_complete_wait() 46 * arc_mdio_read - MDIO interface read function. 47 * @bus: Pointer to MII bus structure. 51 * returns: The register contents on success, -ETIMEDOUT on a timeout. 56 static int arc_mdio_read(struct mii_bus *bus, int phy_addr, int reg_num) in arc_mdio_read() argument [all …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/arc/ |
| D | emac_mdio.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2004-2013 Synopsys, Inc. (www.synopsys.com) 19 * arc_mdio_complete_wait - Waits until MDIO transaction is completed. 20 * @priv: Pointer to ARC EMAC private data structure. 22 * returns: 0 on success, -ETIMEDOUT on a timeout. 42 return -ETIMEDOUT; in arc_mdio_complete_wait() 46 * arc_mdio_read - MDIO interface read function. 47 * @bus: Pointer to MII bus structure. 51 * returns: The register contents on success, -ETIMEDOUT on a timeout. 56 static int arc_mdio_read(struct mii_bus *bus, int phy_addr, int reg_num) in arc_mdio_read() argument [all …]
|
| /kernel/linux/linux-6.6/sound/i2c/ |
| D | i2c.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * (c) 1998 Gerd Knorr <kraxel@cs.tu-berlin.de> 25 static int snd_i2c_bit_probeaddr(struct snd_i2c_bus *bus, 34 static int snd_i2c_bus_free(struct snd_i2c_bus *bus) in snd_i2c_bus_free() argument 39 if (snd_BUG_ON(!bus)) in snd_i2c_bus_free() 40 return -EINVAL; in snd_i2c_bus_free() 41 while (!list_empty(&bus->devices)) { in snd_i2c_bus_free() 42 device = snd_i2c_device(bus->devices.next); in snd_i2c_bus_free() 45 if (bus->master) in snd_i2c_bus_free() 46 list_del(&bus->buses); in snd_i2c_bus_free() [all …]
|
| /kernel/linux/linux-5.10/sound/i2c/ |
| D | i2c.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * (c) 1998 Gerd Knorr <kraxel@cs.tu-berlin.de> 25 static int snd_i2c_bit_probeaddr(struct snd_i2c_bus *bus, 34 static int snd_i2c_bus_free(struct snd_i2c_bus *bus) in snd_i2c_bus_free() argument 39 if (snd_BUG_ON(!bus)) in snd_i2c_bus_free() 40 return -EINVAL; in snd_i2c_bus_free() 41 while (!list_empty(&bus->devices)) { in snd_i2c_bus_free() 42 device = snd_i2c_device(bus->devices.next); in snd_i2c_bus_free() 45 if (bus->master) in snd_i2c_bus_free() 46 list_del(&bus->buses); in snd_i2c_bus_free() [all …]
|
| /kernel/linux/linux-6.6/drivers/i2c/busses/ |
| D | i2c-npcm7xx.c | 1 // SPDX-License-Identifier: GPL-2.0 30 * of the bus. 125 #define NPCM_I2CTXF_CTL 0x12 /* Tx-FIFO Control */ 126 #define NPCM_I2CT_OUT 0x14 /* Bus T.O. */ 127 #define NPCM_I2CPEC 0x16 /* PEC Data */ 128 #define NPCM_I2CTXF_STS 0x1A /* Tx-FIFO Status */ 129 #define NPCM_I2CRXF_STS 0x1C /* Rx-FIFO Status */ 130 #define NPCM_I2CRXF_CTL 0x1E /* Rx-FIFO Control */ 153 #define NPCM_I2CST_BER BIT(5) /* Bus error */ 159 #define NPCM_I2CCST_BB BIT(1) /* Bus busy */ [all …]
|
| /kernel/linux/linux-5.10/arch/mips/pci/ |
| D | ops-rc32434.c | 19 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 34 #include <asm/mach-rc32434/rc32434.h> 35 #include <asm/mach-rc32434/pci.h> 41 #define PCI_CFG_SET(bus, slot, func, off) \ argument 42 (rc32434_pci->pcicfga = (0x80000000 | \ 43 ((bus) << 16) | ((slot)<<11) | \ 47 struct pci_bus *bus, unsigned int devfn, in config_access() argument 48 unsigned char where, u32 *data) in config_access() argument 54 PCI_CFG_SET(bus->number, slot, func, where); in config_access() 58 rc32434_pci->pcicfgd = *data; in config_access() [all …]
|
| D | ops-bcm63xx.c | 15 #include "pci-bcm63xx.h" 18 * swizzle 32bits data to return only the needed part 20 static int postprocess_read(u32 data, int where, unsigned int size) in postprocess_read() argument 27 ret = (data >> ((where & 3) << 3)) & 0xff; in postprocess_read() 30 ret = (data >> ((where & 3) << 3)) & 0xffff; in postprocess_read() 33 ret = data; in postprocess_read() 90 /* type 0 cycle for local bus, type 1 cycle for anything else */ in bcm63xx_setup_cfg_access() 92 /* FIXME: how to specify bus ??? */ in bcm63xx_setup_cfg_access() 104 u32 data; in bcm63xx_do_cfg_read() local 106 /* two phase cycle, first we write address, then read data at in bcm63xx_do_cfg_read() [all …]
|
| /kernel/linux/linux-6.6/arch/mips/pci/ |
| D | ops-rc32434.c | 19 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 34 #include <asm/mach-rc32434/rc32434.h> 35 #include <asm/mach-rc32434/pci.h> 41 #define PCI_CFG_SET(bus, slot, func, off) \ argument 42 (rc32434_pci->pcicfga = (0x80000000 | \ 43 ((bus) << 16) | ((slot)<<11) | \ 47 struct pci_bus *bus, unsigned int devfn, in config_access() argument 48 unsigned char where, u32 *data) in config_access() argument 54 PCI_CFG_SET(bus->number, slot, func, where); in config_access() 58 rc32434_pci->pcicfgd = *data; in config_access() [all …]
|
| D | ops-bcm63xx.c | 15 #include "pci-bcm63xx.h" 18 * swizzle 32bits data to return only the needed part 20 static int postprocess_read(u32 data, int where, unsigned int size) in postprocess_read() argument 27 ret = (data >> ((where & 3) << 3)) & 0xff; in postprocess_read() 30 ret = (data >> ((where & 3) << 3)) & 0xffff; in postprocess_read() 33 ret = data; in postprocess_read() 90 /* type 0 cycle for local bus, type 1 cycle for anything else */ in bcm63xx_setup_cfg_access() 92 /* FIXME: how to specify bus ??? */ in bcm63xx_setup_cfg_access() 104 u32 data; in bcm63xx_do_cfg_read() local 106 /* two phase cycle, first we write address, then read data at in bcm63xx_do_cfg_read() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/ti/ |
| D | davinci_mdio.c | 1 // SPDX-License-Identifier: GPL-2.0+ 31 * This timeout definition is a worst-case ultra defensive measure against 85 struct mii_bus *bus; member 89 * if MDIO bus is registered from DT. 95 static void davinci_mdio_init_clk(struct davinci_mdio_data *data) in davinci_mdio_init_clk() argument 99 mdio_in = clk_get_rate(data->clk); in davinci_mdio_init_clk() 100 div = (mdio_in / data->pdata.bus_freq) - 1; in davinci_mdio_init_clk() 104 data->clk_div = div; in davinci_mdio_init_clk() 108 * 32 bits of transferred data in davinci_mdio_init_clk() 109 * 24 bits of bus yield (not needed unless shared?) in davinci_mdio_init_clk() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/ |
| D | busnv50.c | 25 #include "bus.h" 32 u32 data; member 38 struct nv50_i2c_bus *bus = nv50_i2c_bus(base); in nv50_i2c_bus_drive_scl() local 39 struct nvkm_device *device = bus->base.pad->i2c->subdev.device; in nv50_i2c_bus_drive_scl() 40 if (state) bus->data |= 0x01; in nv50_i2c_bus_drive_scl() 41 else bus->data &= 0xfe; in nv50_i2c_bus_drive_scl() 42 nvkm_wr32(device, bus->addr, bus->data); in nv50_i2c_bus_drive_scl() 48 struct nv50_i2c_bus *bus = nv50_i2c_bus(base); in nv50_i2c_bus_drive_sda() local 49 struct nvkm_device *device = bus->base.pad->i2c->subdev.device; in nv50_i2c_bus_drive_sda() 50 if (state) bus->data |= 0x02; in nv50_i2c_bus_drive_sda() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/ |
| D | busnv50.c | 25 #include "bus.h" 32 u32 data; member 38 struct nv50_i2c_bus *bus = nv50_i2c_bus(base); in nv50_i2c_bus_drive_scl() local 39 struct nvkm_device *device = bus->base.pad->i2c->subdev.device; in nv50_i2c_bus_drive_scl() 40 if (state) bus->data |= 0x01; in nv50_i2c_bus_drive_scl() 41 else bus->data &= 0xfe; in nv50_i2c_bus_drive_scl() 42 nvkm_wr32(device, bus->addr, bus->data); in nv50_i2c_bus_drive_scl() 48 struct nv50_i2c_bus *bus = nv50_i2c_bus(base); in nv50_i2c_bus_drive_sda() local 49 struct nvkm_device *device = bus->base.pad->i2c->subdev.device; in nv50_i2c_bus_drive_sda() 50 if (state) bus->data |= 0x02; in nv50_i2c_bus_drive_sda() [all …]
|
| /kernel/linux/linux-6.6/Documentation/ABI/obsolete/ |
| D | sysfs-driver-hid-roccat-ryos | 1 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… 4 Description: When written, this file lets one select which data from which 5 profile will be read next. The data has to be 3 bytes long. 9 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… 17 The data has to be 3 bytes long. 18 The device will reject invalid data. 21 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… 25 a specific profile. Profile index is included in written data. 26 The data has to be 125 bytes long. 31 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… [all …]
|
| /kernel/linux/linux-5.10/Documentation/ABI/obsolete/ |
| D | sysfs-driver-hid-roccat-ryos | 1 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… 4 Description: When written, this file lets one select which data from which 5 profile will be read next. The data has to be 3 bytes long. 9 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… 17 The data has to be 3 bytes long. 18 The device will reject invalid data. 21 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… 25 a specific profile. Profile index is included in written data. 26 The data has to be 125 bytes long. 31 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… [all …]
|