/linux/drivers/net/wireless/intel/iwlwifi/ |
H A D | iwl-drv.h | 1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 3 * Copyright (C) 2005-2014, 2020-2021, 2023 Intel Corporation 4 * Copyright (C) 2013-2014 Intel Mobile Communications GmbH 15 #define NVM_RF_CFG_DASH_MSK(x) (x & 0x3) /* bits 0-1 */ 16 #define NVM_RF_CFG_STEP_MSK(x) ((x >> 2) & 0x3) /* bits 2-3 */ 17 #define NVM_RF_CFG_TYPE_MSK(x) ((x >> 4) & 0x3) /* bits 4-5 */ 18 #define NVM_RF_CFG_PNUM_MSK(x) ((x >> 6) & 0x3) /* bits 6-7 */ 19 #define NVM_RF_CFG_TX_ANT_MSK(x) ((x >> 8) & 0xF) /* bits 8-11 */ 20 #define NVM_RF_CFG_RX_ANT_MSK(x) ((x >> 12) & 0xF) /* bits 12-15 */ 30 * DOC: Driver system flows - drv component [all …]
|
/linux/Documentation/driver-api/driver-model/ |
H A D | driver.rst | 18 The driver must initialize at least the name and bus fields. It should 33 .bus = &pci_bus_type, 42 model because the bus they belong to has a bus-specific structure with 43 bus-specific fields that cannot be generalized. 48 completely bus-specific. Defining them as bus-specific entities would 49 sacrifice type-safety, so we keep bus-specific structures around. 51 Bus-specific drivers should include a generic struct device_driver in 52 the definition of the bus-specific driver. Like this:: 59 A definition that included bus-specific fields would look like 66 .bus = &pci_bus_type, [all …]
|
H A D | porting.rst | 12 Please refer to `Documentation/driver-api/driver-model/*.rst` for definitions of 16 at the bus driver layer. This was intentional, to minimize the 18 of bus drivers. 21 be embedded in larger, bus-specific objects. Fields in these generic 22 objects can replace fields in the bus-specific objects. 28 # mount -t sysfs sysfs /sys 36 Step 1: Registering the bus driver. 39 - Define a struct bus_type for the bus driver:: 46 - Register the bus type. 48 This should be done in the initialization function for the bus type, [all …]
|
H A D | bus.rst | 2 Bus Types 9 int bus_register(struct bus_type * bus); 15 Each bus type in the kernel (PCI, USB, etc) should declare one static 32 When a bus driver is initialized, it calls bus_register. This 33 initializes the rest of the fields in the bus object and inserts it 34 into a global list of bus types. Once the bus object is registered, 35 the fields in it are usable by the bus driver. 45 them are inherently bus-specific. Drivers typically declare an array 46 of device IDs of devices they support that reside in a bus-specific 49 The purpose of the match callback is to give the bus an opportunity to [all …]
|
H A D | overview.rst | 16 bus-specific drivers for bridges and devices by consolidating a set of data 19 Traditional driver models implemented some sort of tree-like structure 21 uniformity across the different bus types. 24 a bus and the devices that can appear under the bus. The unified bus 26 of common callbacks, such as device discovery during bus probing, bus 27 shutdown, bus power management, etc. 32 Microsoft (namely ACPI) ensures that almost every device on almost any bus 33 on an x86-compatible system can work within this paradigm. Of course, 34 not every bus is able to support all such operations, although most 41 Common data fields have been moved out of individual bus layers into a common [all …]
|
/linux/Documentation/ABI/obsolete/ |
H A D | sysfs-driver-hid-roccat-isku | 1 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… 4 Description: The integer value of this attribute ranges from 0-4. 12 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… 20 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… 31 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… 35 capslock key for a specific profile. Profile number is included 41 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… 45 easyzone keys for a specific profile. Profile number is included 51 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… 55 function keys for a specific profile. Profile number is included [all …]
|
H A D | sysfs-driver-hid-roccat-ryos | 1 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… 9 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… 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. 31 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… 35 function keys for a specific profile. Profile index is included 41 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… 45 keys for a specific profile. Profile index is included in 51 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<p… 55 thumbster keys for a specific profile. Profile index is included [all …]
|
/linux/drivers/bcma/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 8 tristate "Broadcom specific AMBA" 11 Bus driver for Broadcom specific Advanced Microcontroller Bus 16 # Support for Block-I/O. SELECT this from the driver that needs it. 26 bool "Support for BCMA on PCI-host bus" 35 Host interface for a Broadcom AIX bus directly mapped into 46 BCMA bus may have many versions of PCIe core. This driver 61 PCI core hostmode operation (external PCI bus). 67 Driver for the Broadcom MIPS core attached to Broadcom specific 68 Advanced Microcontroller Bus. [all …]
|
H A D | host_soc.c | 2 * Broadcom specific AMBA 18 return readb(core->io_addr + offset); in bcma_host_soc_read8() 23 return readw(core->io_addr + offset); in bcma_host_soc_read16() 28 return readl(core->io_addr + offset); in bcma_host_soc_read32() 34 writeb(value, core->io_addr + offset); in bcma_host_soc_write8() 40 writew(value, core->io_addr + offset); in bcma_host_soc_write16() 46 writel(value, core->io_addr + offset); in bcma_host_soc_write32() 53 void __iomem *addr = core->io_addr + offset; in bcma_host_soc_block_read() 62 count--; in bcma_host_soc_block_read() 73 count -= 2; in bcma_host_soc_block_read() [all …]
|
/linux/Documentation/driver-api/usb/ |
H A D | typec_bus.rst | 2 API for USB Type-C Alternate Mode drivers 6 ------------ 9 Messages (VDM) as defined in USB Type-C and USB Power Delivery Specifications. 10 The communication is SVID (Standard or Vendor ID) specific, i.e. specific for 13 USB Type-C bus allows binding a driver to the discovered partner alternate 16 :ref:`USB Type-C Connector Class <typec>` provides a device for every alternate 29 specific commands from the alternate mode drivers to the partner, and from the 30 partners to the alternate mode drivers. No direct SVID specific communication is 36 ------ 43 space (See Documentation/ABI/testing/sysfs-class-typec). Port drivers should not [all …]
|
/linux/Documentation/driver-api/i3c/ |
H A D | protocol.rst | 1 .. SPDX-License-Identifier: GPL-2.0 11 everything hardware related (like how things are transmitted on the bus, how 17 https://resources.mipi.org/mipi-i3c-v1-download). 22 The I3C (pronounced 'eye-three-see') is a MIPI standardized protocol designed 24 interrupts, no automatic detection of the devices connected to the bus, ...) 25 while remaining power-efficient. 27 I3C Bus 30 An I3C bus is made of several I3C devices and possibly some I2C devices as 33 An I3C device on the I3C bus can have one of the following roles: 35 * Master: the device is driving the bus. It's the one in charge of initiating [all …]
|
/linux/Documentation/leds/ |
H A D | leds-lp55xx.rst | 8 ----------- 14 Device attributes for user-space interface 47 To support device specific configurations, special structure 50 - Maximum number of channels 51 - Reset command, chip enable command 52 - Chip specific initialization 53 - Brightness control register access 54 - Setting LED output current 55 - Program memory address access for running patterns 56 - Additional device specific attributes [all …]
|
/linux/include/linux/platform_data/ |
H A D | brcmfmac.h | 27 * Platform specific driver functions and data. Through the platform specific 34 * Note: the brcmfmac can be loaded as module or be statically built-in into 35 * the kernel. If built-in then do note that it uses module_init (and 37 * create a module with the platform specific data for the brcmfmac and have 38 * it built-in to the kernel then use a higher initcall then device_initcall 48 * enum brcmf_bus_type - Bus type identifier. Currently SDIO, USB and PCIE are 59 * struct brcmfmac_sdio_pd - SDIO Device specific platform data. 69 * in-band interrupts are relatively slow and for having 88 * specific and this function should return only after the 104 * struct brcmfmac_pd_cc_entry - Struct for translating user space country code [all …]
|
/linux/drivers/interconnect/qcom/ |
H A D | icc-rpm.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 9 #include <linux/soc/qcom/smd-rpm.h> 11 #include <dt-bindings/interconnect/qcom,rpm-icc.h> 13 #include <linux/interconnect-provider.h> 29 * struct rpm_clk_resource - RPM bus clock resource 31 * @clock_id: index of the clock resource of a specific resource type 41 * struct qcom_icc_provider - Qualcomm specific interconnect provider 47 * @ab_coeff: a percentage-based coefficient for compensating the AB calculations 48 * @ib_coeff: an inverse-percentage-based coefficient for compensating the IB calculations 49 * @bus_clk_rate: bus clock rate in Hz [all …]
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-bus-iio-dac | 1 What: /sys/bus/iio/devices/iio:deviceX/out_currentY_toggle_en 3 Contact: linux-iio@vger.kernel.org 9 - disable toggle operation; 10 - change out_currentY_rawN, where N is the integer value of the symbol; 11 - enable toggle operation. 13 What: /sys/bus/iio/devices/iio:deviceX/out_currentY_rawN 15 Contact: linux-iio@vger.kernel.org 18 specific to toggle enabled channels and refers to the DAC output 22 What: /sys/bus/iio/devices/iio:deviceX/out_currentY_symbol 24 Contact: linux-iio@vger.kernel.org [all …]
|
H A D | sysfs-bus-cdx | 1 What: /sys/bus/cdx/rescan 5 Writing y/1/on to this file will cause rescan of the bus 6 and devices on the CDX bus. Any new devices are scanned and 12 # echo 1 > /sys/bus/cdx/rescan 14 What: /sys/bus/cdx/devices/.../vendor 19 16 bit identifier which is specific to the device manufacturer. 22 What: /sys/bus/cdx/devices/.../device 31 What: /sys/bus/cdx/devices/.../subsystem_vendor 36 Subsystem Vendor ID is 16 bit identifier specific to the 39 What: /sys/bus/cdx/devices/.../subsystem_device [all …]
|
/linux/drivers/ufs/host/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0+ 5 # Copyright (C) 2011-2013 Samsung India Software Operations 12 tristate "PCI bus based UFS Controller support" 31 tristate "Platform bus based UFS Controller support" 35 you have an UFS controller on Platform bus. 45 This selects the Cadence-specific additions to UFSHCD platform driver. 58 tristate "QCOM specific hooks to UFS controller platform driver" 64 This selects the QCOM specific additions to UFSHCD platform driver. 65 UFS host on QCOM needs some vendor specific configuration before 67 specific registers. [all …]
|
/linux/Documentation/devicetree/bindings/i2c/ |
H A D | i2c-opal.txt | 1 Device-tree bindings for I2C OPAL driver 2 ---------------------------------------- 4 Most of the device node and properties layout is specific to the firmware and 6 perspective, the properties of use are "ibm,port-name" and "ibm,opal-id". 10 - reg: Port-id within a given master 11 - compatible: must be "ibm,opal-i2c" 12 - ibm,opal-id: Refers to a specific bus and used to identify it when calling 14 - bus-frequency: Operating frequency of the i2c bus (in HZ). Informational for 18 - ibm,port-name: Firmware provides this name that uniquely identifies the i2c 22 and depend on the specific hardware implementation. The example below depicts [all …]
|
/linux/Documentation/driver-api/soundwire/ |
H A D | summary.rst | 10 SoundWire is a 2-pin multi-drop interface with data and clock line. It 15 commands over a single two-pin interface. 23 (4) Device status monitoring, including interrupt-style alerts to the Master. 26 interfaces share the common Bus containing data and clock line. Each of the 38 +---------------+ +---------------+ 40 | Master |-------+-------------------------------| Slave | 42 | |-------|-------+-----------------------| | 43 +---------------+ | | +---------------+ 47 +--+-------+--+ 52 +-------------+ [all …]
|
/linux/Documentation/devicetree/bindings/mmc/ |
H A D | arm,pl18x.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Linus Walleij <linus.walleij@linaro.org> 11 - Ulf Hansson <ulf.hansson@linaro.org> 20 - $ref: /schemas/arm/primecell.yaml# 21 - $ref: mmc-controller.yaml# 29 - arm,pl180 30 - arm,pl181 31 - arm,pl18x [all …]
|
/linux/drivers/bus/ |
H A D | mips_cdmm.c | 2 * Bus driver for MIPS Common Device Memory Map (CDMM). 4 * Copyright (C) 2014-2015 Imagination Technologies Ltd. 45 /* Bus operations */ 53 for (; table->type; ++table) { in mips_cdmm_lookup() 54 ret = (dev->type == table->type); in mips_cdmm_lookup() 67 return mips_cdmm_lookup(cdrv->id_table, cdev) != NULL; in mips_cdmm_match() 75 retval = add_uevent_var(env, "CDMM_CPU=%u", cdev->cpu); in mips_cdmm_uevent() 79 retval = add_uevent_var(env, "CDMM_TYPE=0x%02x", cdev->type); in mips_cdmm_uevent() 83 retval = add_uevent_var(env, "CDMM_REV=%u", cdev->rev); in mips_cdmm_uevent() 87 retval = add_uevent_var(env, "MODALIAS=mipscdmm:t%02X", cdev->type); in mips_cdmm_uevent() [all …]
|
/linux/arch/mips/include/asm/ |
H A D | pci.h | 15 * specific PCI code and MIPS common PCI code. Should potentially put 26 * Each PCI channel is a top-level PCI bus seem by CPU. A machine with 32 struct pci_bus *bus; member 49 /* Optional access methods for reading/writing the bus number 65 /* Do platform specific device initialization at pci_enable_device() time */ 89 hose->need_domain_info = need_domain_info; in set_pci_need_domain_info() 96 already-configured bus numbers - to be used for buggy BIOSes 123 static inline int pci_proc_domain(struct pci_bus *bus) in pci_proc_domain() argument 125 return pci_domain_nr(bus); in pci_proc_domain() 128 #define pci_domain_nr(bus) ((struct pci_controller *)(bus)->sysdata)->index argument [all …]
|
/linux/drivers/mtd/chips/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 13 support any device that is CFI-compliant, you need to enable this 18 tristate "Detect non-CFI AMD/JEDEC-compatible flash chips" 22 This option enables JEDEC-style probing of flash chips which are not 24 CFI-targeted flash drivers for any chips which are identified which 26 covers most AMD/Fujitsu-compatible chips and also non-CFI 36 If you need to specify a specific endianness for access to flash 38 support for only specific arrangements of flash chips, say 'Y'. This 53 are expected to be wired to the CPU in 'host-endian' form. 54 Specific arrangements are possible with the BIG_ENDIAN_BYTE and [all …]
|
/linux/Documentation/devicetree/bindings/spi/ |
H A D | spi-peripheral-props.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/spi/spi-peripheral-props.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Peripheral-specific properties for a SPI bus. 11 be common properties like spi-max-frequency, spi-cpha, etc. or they could be 12 controller specific like delay in clock or data lines, etc. These properties 13 need to be defined in the peripheral node because they are per-peripheral and 15 properties are listed here. The controller specific properties should go in 19 - Mark Brown <broonie@kernel.org> [all …]
|
/linux/Documentation/driver-api/pm/ |
H A D | devices.rst | 1 .. SPDX-License-Identifier: GPL-2.0 10 :Copyright: |copy| 2010-2011 Rafael J. Wysocki <rjw@sisk.pl>, Novell Inc. 18 management (PM) code is also driver-specific. Most drivers will do very 22 This writeup gives an overview of how drivers interact with system-wide 25 background for the domain-specific work you'd do with any specific driver. 31 Drivers will use one or both of these models to put devices into low-power 36 Drivers can enter low-power states as part of entering system-wide 37 low-power states like "suspend" (also known as "suspend-to-RAM"), or 39 "suspend-to-disk"). 41 This is something that device, bus, and class drivers collaborate on [all …]
|