/linux/drivers/leds/flash/ |
H A D | leds-as3645a.c | 3 * drivers/leds/leds-as3645a.c - AS3645A and LM3555 flash controllers driver 16 #include <linux/led-class-flash.h> 23 #include <media/v4l2-flash-led-class.h> 156 static int as3645a_write(struct as3645a *flash, u8 addr, u8 val) in as3645a_write() argument 158 struct i2c_client *client = flash->client; in as3645a_write() 170 static int as3645a_read(struct as3645a *flash, u8 addr) in as3645a_read() argument 172 struct i2c_client *client = flash->client; in as3645a_read() 188 * as3645a_set_current - Set flash configuration registers 189 * @flash: The flash 191 * Configure the hardware with flash, assist and indicator currents, as well as [all …]
|
H A D | leds-rt4505.c | 6 #include <linux/led-class-flash.h> 11 #include <media/v4l2-flash-led-class.h> 48 struct led_classdev_flash flash; member 56 container_of(lcdev, struct rt4505_priv, flash.led_cdev); in rt4505_torch_brightness_set() 84 container_of(lcdev, struct rt4505_priv, flash.led_cdev); in rt4505_torch_brightness_get() 120 container_of(fled_cdev, struct rt4505_priv, flash); in rt4505_flash_brightness_set() 137 container_of(fled_cdev, struct rt4505_priv, flash); in rt4505_flash_strobe_set() 153 container_of(fled_cdev, struct rt4505_priv, flash); in rt4505_flash_strobe_get() 174 container_of(fled_cdev, struct rt4505_priv, flash); in rt4505_flash_timeout_set() 190 container_of(fled_cdev, struct rt4505_priv, flash); in rt4505_fault_get() [all …]
|
H A D | leds-mt6370-flash.c | 15 #include <linux/led-class-flash.h> 22 #include <media/v4l2-flash-led-class.h> 71 struct led_classdev_flash flash; member 89 struct mt6370_led *led = to_mt6370_led(lcdev, flash.led_cdev); in mt6370_torch_brightness_set() 101 * There is only one set of flash control logic, and this flag is used to check if 'strobe' in mt6370_torch_brightness_set() 124 * There're two flash channels in MT6370. If joint flash output is used, in mt6370_torch_brightness_set() 157 * Because of the current spikes when turning on the flash, the brightness should be kept in mt6370_flash_brightness_set() 166 struct mt6370_led *led = to_mt6370_led(fl_cdev, flash); in _mt6370_flash_brightness_set() 176 * There're two flash channels in MT6370. If joint flash output is used, storbe in _mt6370_flash_brightness_set() 197 struct mt6370_led *led = to_mt6370_led(fl_cdev, flash); in mt6370_strobe_set() [all …]
|
H A D | leds-mt6360.c | 8 #include <linux/led-class-flash.h> 15 #include <media/v4l2-flash-led-class.h> 78 struct led_classdev_flash flash; member 160 container_of(lcdev, struct mt6360_led, flash.led_cdev); in mt6360_torch_brightness_set() 170 * Only one set of flash control logic, use the flag to avoid strobe is in mt6360_torch_brightness_set() 212 * Due to the current spike when turning on flash, let brightness to be in mt6360_flash_brightness_set() 224 container_of(fl_cdev, struct mt6360_led, flash); in _mt6360_flash_brightness_set() 237 container_of(fl_cdev, struct mt6360_led, flash); in mt6360_strobe_set() 259 * Only one set of flash control logic, use the flag to avoid torch is in mt6360_strobe_set() 286 * If the flash need to be on, config the flash current ramping up to in mt6360_strobe_set() [all …]
|
/linux/drivers/media/i2c/ |
H A D | adp1653.c | 38 static int adp1653_update_hw(struct adp1653_flash *flash) in adp1653_update_hw() argument 40 struct i2c_client *client = v4l2_get_subdevdata(&flash->subdev); in adp1653_update_hw() 46 flash->indicator_intensity->val) in adp1653_update_hw() 49 switch (flash->led_mode->val) { in adp1653_update_hw() 53 /* Flash mode, light on with strobe, duration from timer */ in adp1653_update_hw() 55 config |= TIMEOUT_US_TO_CODE(flash->flash_timeout->val) in adp1653_update_hw() 61 flash->torch_intensity->val) in adp1653_update_hw() 77 static int adp1653_get_fault(struct adp1653_flash *flash) in adp1653_get_fault() argument 79 struct i2c_client *client = v4l2_get_subdevdata(&flash->subdev); in adp1653_get_fault() 87 flash->fault |= fault; in adp1653_get_fault() [all …]
|
H A D | lm3646.c | 4 * General device driver for TI lm3646, Dual FLASH LED Driver 81 static int lm3646_mode_ctrl(struct lm3646_flash *flash, in lm3646_mode_ctrl() argument 86 return regmap_write(flash->regmap, in lm3646_mode_ctrl() 87 REG_ENABLE, flash->mode_reg | MODE_SHDN); in lm3646_mode_ctrl() 89 return regmap_write(flash->regmap, in lm3646_mode_ctrl() 90 REG_ENABLE, flash->mode_reg | MODE_TORCH); in lm3646_mode_ctrl() 92 return regmap_write(flash->regmap, in lm3646_mode_ctrl() 93 REG_ENABLE, flash->mode_reg | MODE_FLASH); in lm3646_mode_ctrl() 101 struct lm3646_flash *flash = to_lm3646_flash(ctrl); in lm3646_get_ctrl() local 108 rval = regmap_read(flash->regmap, REG_FLAG, ®_val); in lm3646_get_ctrl() [all …]
|
H A D | lm3560.c | 4 * General device driver for TI lm3559, lm3560, FLASH LED Driver 68 static int lm3560_mode_ctrl(struct lm3560_flash *flash) in lm3560_mode_ctrl() argument 72 switch (flash->led_mode) { in lm3560_mode_ctrl() 74 rval = regmap_update_bits(flash->regmap, in lm3560_mode_ctrl() 78 rval = regmap_update_bits(flash->regmap, in lm3560_mode_ctrl() 82 rval = regmap_update_bits(flash->regmap, in lm3560_mode_ctrl() 90 static int lm3560_enable_ctrl(struct lm3560_flash *flash, in lm3560_enable_ctrl() argument 97 rval = regmap_update_bits(flash->regmap, in lm3560_enable_ctrl() 100 rval = regmap_update_bits(flash->regmap, in lm3560_enable_ctrl() 104 rval = regmap_update_bits(flash->regmap, in lm3560_enable_ctrl() [all …]
|
/linux/Documentation/userspace-api/media/v4l/ |
H A D | ext-ctrls-flash.rst | 6 Flash Control Reference 9 The V4L2 flash controls are intended to provide generic access to flash 10 controller devices. Flash controller devices are typically used in 13 The interface can support both LED and xenon flash devices. As of 14 writing this, there is no xenon flash driver using this interface. 23 Unsynchronised LED flash (software strobe) 26 Unsynchronised LED flash is controlled directly by the host as the 27 sensor. The flash must be enabled by the host before the exposure of the 29 for the timing of the flash. 34 Synchronised LED flash (hardware strobe) [all …]
|
/linux/drivers/mtd/devices/ |
H A D | sst25l.c | 5 * Driver for SST25L SPI Flash chips 25 #include <linux/spi/flash.h> 67 static int sst25l_status(struct sst25l_flash *flash, int *status) in sst25l_status() argument 83 err = spi_sync(flash->spi, &m); in sst25l_status() 91 static int sst25l_write_enable(struct sst25l_flash *flash, int enable) in sst25l_write_enable() argument 97 err = spi_write(flash->spi, command, 1); in sst25l_write_enable() 102 err = spi_write(flash->spi, command, 1); in sst25l_write_enable() 108 err = spi_write(flash->spi, command, 2); in sst25l_write_enable() 113 err = sst25l_status(flash, &status); in sst25l_write_enable() 123 static int sst25l_wait_till_ready(struct sst25l_flash *flash) in sst25l_wait_till_ready() argument [all …]
|
H A D | mchp23k256.c | 16 #include <linux/spi/flash.h> 41 static void mchp23k256_addr2cmd(struct mchp23k256_flash *flash, in mchp23k256_addr2cmd() argument 51 for (i = flash->caps->addr_width; i > 0; i--, addr >>= 8) in mchp23k256_addr2cmd() 55 static int mchp23k256_cmdsz(struct mchp23k256_flash *flash) in mchp23k256_cmdsz() argument 57 return 1 + flash->caps->addr_width; in mchp23k256_cmdsz() 63 struct mchp23k256_flash *flash = to_mchp23k256_flash(mtd); in mchp23k256_write() local 71 cmd_len = mchp23k256_cmdsz(flash); in mchp23k256_write() 74 mchp23k256_addr2cmd(flash, to, command); in mchp23k256_write() 84 mutex_lock(&flash->lock); in mchp23k256_write() 86 ret = spi_sync(flash->spi, &message); in mchp23k256_write() [all …]
|
H A D | spear_smi.c | 2 * SMI (Serial Memory Controller) device driver for Serial NOR Flash on 90 /* flash opcodes */ 93 /* Flash Device Ids maintenance section */ 95 /* data structure to maintain flash ids from different vendors */ 165 * @cmd_complete: queue to wait for command completion of NOR-flash. 167 * @flash: separate structure for each Serial NOR-flash attached to SMI. 178 struct spear_snor_flash *flash[MAX_NUM_FLASH_CHIP]; member 182 * struct spear_snor_flash - Structure for Serial NOR Flash 184 * @bank: Bank number(0, 1, 2, 3) for each NOR-flash. 185 * @dev_id: Device ID of NOR-flash. [all …]
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-class-led-flash | 6 Set the brightness of this LED in the flash strobe mode, in 7 microamperes. The file is created only for the flash LED devices 8 that support setting flash brightness. 18 Maximum brightness level for this LED in the flash strobe mode, 26 Hardware timeout for flash, in microseconds. The flash strobe 28 of the strobe. The file is created only for the flash LED 29 devices that support setting flash timeout. 36 Maximum flash timeout for this LED, in microseconds. 43 Flash strobe state. When written with 1 it triggers flash strobe 44 and when written with 0 it turns the flash off. [all …]
|
/linux/drivers/mtd/maps/ |
H A D | Kconfig | 7 bool "Support non-linear mappings of flash chips" 10 paged mappings of flash chips. 13 tristate "Flash device in physical memory map" 16 This provides a 'mapping' driver which allows the NOR Flash and 19 the physical address and size of the flash chips on your 38 hex "Physical start address of flash mapping" 42 This is the physical memory location at which the flash chips 48 hex "Physical length of flash mapping" 52 This is the total length of the mapping of the flash chips on 55 than the total amount of flash present. Refer to the memory [all …]
|
/linux/drivers/sbus/char/ |
H A D | flash.c | 2 /* flash.c: Allow mmap access to the OBP Flash, for OBP updates. 31 } flash; variable 40 if (flash.read_base == flash.write_base) { in flash_mmap() 41 addr = flash.read_base; in flash_mmap() 42 size = flash.read_size; in flash_mmap() 50 addr = flash.read_base; in flash_mmap() 51 size = flash.read_size; in flash_mmap() 53 addr = flash.write_base; in flash_mmap() 54 size = flash.write_size; in flash_mmap() 87 if (file->f_pos > flash.read_size) in flash_llseek() [all …]
|
/linux/Documentation/leds/ |
H A D | leds-class-flash.rst | 2 Flash LED handling under Linux 5 Some LED devices provide two modes - torch and flash. In the LED subsystem 7 and LED Flash class respectively. The torch mode related features are enabled 8 by default and the flash ones only if a driver declares it by setting 11 In order to enable the support for flash LEDs CONFIG_LEDS_CLASS_FLASH symbol 12 must be defined in the kernel config. A LED Flash class driver must be 15 Following sysfs attributes are exposed for controlling flash LED devices: 16 (see Documentation/ABI/testing/sysfs-class-led-flash) 26 V4L2 flash wrapper for flash LEDs 37 flash device, e.g. an I2C device [all …]
|
/linux/include/media/ |
H A D | v4l2-flash-led-class.h | 3 * V4L2 flash LED sub-device registration helpers. 21 * struct v4l2_flash_ctrl_data - flash control initialization data, filled 22 * basing on the features declared by the LED flash 25 * @cid: contains v4l2 flash control id if the config 34 * struct v4l2_flash_ops - V4L2 flash operations 36 * @external_strobe_set: Setup strobing the flash by hardware pin state 53 * struct v4l2_flash_config - V4L2 Flash sub-device initialization data 56 * @intensity: non-flash strobe constraints for the LED 57 * @flash_faults: bitmask of flash faults that the LED flash class 60 * <linux/led-class-flash.h> [all …]
|
/linux/drivers/mtd/chips/ |
H A D | Kconfig | 2 menu "RAM/ROM/Flash chip drivers" 6 tristate "Detect flash chips by Common Flash Interface (CFI) probe" 10 The Common Flash Interface specification was developed by Intel, 11 AMD and other flash manufactures that provides a universal method 12 for probing the capabilities of flash devices. If you wish to 18 tristate "Detect non-CFI AMD/JEDEC-compatible flash chips" 22 This option enables JEDEC-style probing of flash chips which are not 23 compatible with the Common Flash Interface, but will use the common 24 CFI-targeted flash drivers for any chips which are identified which 33 bool "Flash chip driver advanced configuration options" [all …]
|
/linux/Documentation/driver-api/mtd/ |
H A D | spi-nor.rst | 5 How to propose a new flash addition 9 Serial Flash Discoverable Parameter (SFDP) standard. SFDP describes 10 the functional and feature capabilities of serial flash devices in a 14 flash's parameters and settings. If the flash defines the SFDP tables 15 it's likely that you won't need a flash entry at all, and instead 16 rely on the generic flash driver which probes the flash solely based 20 There are cases however where you need to define an explicit flash 21 entry. This typically happens when the flash has settings or support 23 when the flash contains mangled SFDP data. If the later, one needs 33 1) Specify the controller that you used to test the flash and specify [all …]
|
/linux/drivers/net/ethernet/brocade/bna/ |
H A D | bfa_ioc.c | 1424 BFA_FLASH_NOT_PRESENT = -1, /*!< flash not present */ 1425 BFA_FLASH_UNINIT = -2, /*!< flash not initialized */ 1426 BFA_FLASH_BAD = -3, /*!< flash bad */ 1427 BFA_FLASH_BUSY = -4, /*!< flash busy */ 1435 /* flash command register data structure */ 1457 /* flash device status register data structure */ 1481 /* flash address register data structure */ 1495 /* Flash raw private functions */ 1563 /* Read flash status. */ 1601 /* Start flash read operation. */ [all …]
|
/linux/arch/powerpc/kernel/ |
H A D | rtas_flash.c | 9 * firmware image and flash it as it reboots (see rtas.c). 34 /* Flash image status values */ 37 #define FLASH_IMG_SHORT -1005 /* Flash image shorter than expected */ 38 #define FLASH_IMG_BAD_LEN -1004 /* Bad length value in flash list block */ 39 #define FLASH_IMG_NULL_DATA -1003 /* Bad data value in flash list block */ 40 #define FLASH_IMG_READY 0 /* Firmware img ready for flash on reboot */ 57 /* ibm,validate-flash-image update result tokens */ 82 /* ibm,manage-flash-image operation tokens */ 101 * that needed by the rtas flash update. 121 * Local copy of the flash block list. [all …]
|
/linux/drivers/mtd/ |
H A D | Kconfig | 5 Memory Technology Devices are flash, RAM and similar chips, often 43 Although most flash chips have an erase size too large to be useful 53 on flash chips to emulate a smaller block size. Needless to say, 76 tristate "FTL (Flash Translation Layer) support" 80 This provides support for the original Flash Translation Layer which 82 file system on a flash device to emulate a block device with 93 tristate "NFTL (NAND Flash Translation Layer) support" 97 This provides support for the NAND Flash Translation Layer which is 99 file system on a flash device to emulate a block device with 113 Support for writing to the NAND Flash Translation Layer, as used [all …]
|
/linux/Documentation/devicetree/bindings/leds/ |
H A D | kinetic,ktd2692.yaml | 7 title: KTD2692 Flash LED Driver from Kinetic Technologies 13 KTD2692 is the ideal power solution for high-power flash LEDs. 17 enable/disable the IC, Movie(max 1/3 of Flash current) / Flash mode current, 18 Flash timeout, LVP(low voltage protection). 21 LED current will be ramped up to the flash-mode current level. 45 flash-max-timeout-us: 46 description: Flash LED maximum timeout. 53 flash-max-microamp: 55 description: Flash LED maximum current 81 flash-max-timeout-us = <250000>; [all …]
|
H A D | skyworks,aat1290.yaml | 7 title: Skyworks Solutions, Inc. AAT1290 Current Regulator for Flash LEDs 15 asserted high, enable flash strobe and movie mode (max 1/2 of flash current) 18 independent of the flash chip. The switch is controlled with pin control. 39 flash-max-microamp: 41 Maximum flash LED supply current can be calculated using following 44 flash-max-timeout-us: 46 Maximum flash timeout can be calculated using following formula:: 50 - flash-max-microamp 51 - flash-max-timeout-us 92 flash-max-microamp = <1012500>; [all …]
|
/linux/Documentation/networking/devlink/ |
H A D | devlink-flash.rst | 6 Devlink Flash 9 The ``devlink-flash`` API allows updating device firmware. It replaces the 10 older ``ethtool-flash`` mechanism, and doesn't require taking any 11 networking locks in the kernel to perform the flash update. Example use:: 13 $ devlink dev flash pci/0000:05:00.0 file flash-boot.bin 22 The ``devlink-flash`` command allows optionally specifying a mask indicating 23 how the device should handle subsections of flash components when updating. 51 memory on the board, e.g. flash. Some devices store only basic firmware on 57 disk, or automatically flash a new image from disk. The ``fw_load_policy`` 66 Drivers are expected to implement ``devlink-flash`` and ``devlink-info`` [all …]
|
/linux/drivers/mtd/parsers/ |
H A D | Kconfig | 33 command line. Multiple flash resources are supported for hardware where 34 different kinds of flash memory are available. 57 1 flash resource (mtd-id "sa1100"), with 1 single writable partition: 60 Same flash, but 2 named partitions, the first one being read-only: 72 flash memory node, as described in 90 Northstar architecture. Linksys commonly uses fixed flash layout with 109 The ARM Firmware Suite allows the user to divide flash devices into 125 TP-Link home routers use flash partitions to store various data. Info 126 about flash space layout is stored in a partitions table using a 146 tristate "Sharp SL Series NAND flash partition parser" [all …]
|