/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() 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() 89 if (!flash->fault) in adp1653_get_fault() [all …]
|
H A D | lm3560.c | 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() 107 rval = regmap_update_bits(flash->regmap, in lm3560_enable_ctrl() [all …]
|
H A D | lm3646.c | 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() 135 struct lm3646_flash *flash = to_lm3646_flash(ctrl); in lm3646_set_ctrl() local [all …]
|
/linux/drivers/leds/flash/ |
H A D | leds-as3645a.c | 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() 197 static int as3645a_set_current(struct as3645a *flash) in as3645a_set_current() argument 201 val = (flash->flash_current << AS_CURRENT_FLASH_CURRENT_SHIFT) in as3645a_set_current() 202 | (flash->assist_current << AS_CURRENT_ASSIST_LIGHT_SHIFT) in as3645a_set_current() 205 return as3645a_write(flash, AS_CURRENT_SET_REG, val); in as3645a_set_current() 208 static int as3645a_set_timeout(struct as3645a *flash) in as3645a_set_timeout() argument 212 val = flash->timeout << AS_INDICATOR_AND_TIMER_TIMEOUT_SHIFT; in as3645a_set_timeout() [all …]
|
H A D | Kconfig | 15 tristate "AS3645A and LM3555 LED flash controllers support" 19 Enable LED flash class support for AS3645A LED flash 20 controller. V4L2 flash API is provided as well if 24 tristate "LED support for Kinetic KTD2692 flash LED controller" 29 This option enables support for Kinetic KTD2692 LED flash connected 40 of flash, torch and indicator classes. 48 This option enables support for the flash part of the MAX77693 49 multifunction device. It has build in control for two leds in flash 62 Independent current sources supply for each flash LED support torch 76 will be called "leds-mt6370-flash". [all …]
|
H A D | leds-rt4505.c | 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() 243 struct led_classdev_flash *flash = v4l2_flash->fled_cdev; in rt4505_flash_external_strobe_set() local 245 container_of(flash, struct rt4505_priv, flash); in rt4505_flash_external_strobe_set() [all …]
|
H A D | leds-mt6360.c | 78 struct led_classdev_flash flash; member 160 container_of(lcdev, struct mt6360_led, flash.led_cdev); in mt6360_torch_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() 313 container_of(fl_cdev, struct mt6360_led, flash); in mt6360_strobe_get() 326 container_of(fl_cdev, struct mt6360_led, flash); in mt6360_timeout_set() 343 container_of(fl_cdev, struct mt6360_led, flash); in mt6360_fault_get() 429 struct led_classdev_flash *flash = &led->flash; in mt6360_flash_init_default_state() local 453 flash->led_cdev.brightness = flash->led_cdev.max_brightness; in mt6360_flash_init_default_state() 456 flash->led_cdev.brightness = in mt6360_flash_init_default_state() [all …]
|
H A D | leds-mt6370-flash.c | 71 struct led_classdev_flash flash; member 89 struct mt6370_led *led = to_mt6370_led(lcdev, flash.led_cdev); in mt6370_torch_brightness_set() 166 struct mt6370_led *led = to_mt6370_led(fl_cdev, flash); in _mt6370_flash_brightness_set() 197 struct mt6370_led *led = to_mt6370_led(fl_cdev, flash); in mt6370_strobe_set() 262 struct mt6370_led *led = to_mt6370_led(fl_cdev, flash); in mt6370_strobe_get() 274 struct mt6370_led *led = to_mt6370_led(fl_cdev, flash); in mt6370_timeout_set() 284 struct mt6370_led *led = to_mt6370_led(fl_cdev, flash); in mt6370_fault_get() 346 struct led_classdev_flash *flash = v4l2_flash->fled_cdev; in mt6370_flash_external_strobe_set() local 347 struct mt6370_led *led = to_mt6370_led(flash, flash); in mt6370_flash_external_strobe_set() 379 lcdev = &led->flash.led_cdev; in mt6370_init_v4l2_flash_config() [all …]
|
/linux/drivers/mtd/devices/ |
H A D | sst25l.c | 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 130 err = sst25l_status(flash, &status); in sst25l_wait_till_ready() 142 static int sst25l_erase_sector(struct sst25l_flash *flash, uint32_t offset) in sst25l_erase_sector() argument [all …]
|
H A D | mchp23k256.c | 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() 88 mutex_unlock(&flash->lock); in mchp23k256_write() [all …]
|
H A D | spear_smi.c | 178 struct spear_snor_flash *flash[MAX_NUM_FLASH_CHIP]; member 420 get_sector_erase_cmd(struct spear_snor_flash *flash, u32 offset) in get_sector_erase_cmd() argument 425 x[0] = flash->erase_cmd; in get_sector_erase_cmd() 496 struct spear_snor_flash *flash = get_flash_data(mtd); in spear_mtd_erase() local 501 if (!flash || !dev) in spear_mtd_erase() 504 bank = flash->bank; in spear_mtd_erase() 513 mutex_lock(&flash->lock); in spear_mtd_erase() 517 command = get_sector_erase_cmd(flash, addr); in spear_mtd_erase() 521 mutex_unlock(&flash->lock); in spear_mtd_erase() 528 mutex_unlock(&flash->lock); in spear_mtd_erase() [all …]
|
/linux/drivers/sbus/char/ |
H A D | flash.c | 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() 88 file->f_pos = flash.read_size; in flash_llseek() [all …]
|
/linux/Documentation/userspace-api/media/v4l/ |
H A D | ext-ctrls-flash.rst | 9 The V4L2 flash controls are intended to provide generic access to flash 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) 37 The synchronised LED flash is pre-programmed by the host (power and 39 sensor to the 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 …]
|
H A D | sysfs-bus-spi-devices-spi-nor | 5 Description: (RO) The JEDEC ID of the SPI NOR flash as reported by the 6 flash device. 8 The attribute is not present if the flash doesn't support 16 Description: (RO) Manufacturer of the SPI NOR flash. 18 The attribute is not present if the flash device isn't 26 Description: (RO) Part name of the SPI NOR flash. 36 Description: (RO) This attribute is only present if the SPI NOR flash 39 If present, it contains the complete SFDP (serial flash 40 discoverable parameters) binary data of the flash.
|
/linux/Documentation/leds/ |
H A D | leds-class-flash.rst | 5 Some LED devices provide two modes - torch and flash. In the LED subsystem 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 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 41 LED flash class device to wrap 43 LED flash class device representing indicator LED associated with 49 defines the source of the flash LED strobe - [all …]
|
/linux/drivers/net/ethernet/brocade/bna/ |
H A D | bfa_ioc.c | 3033 bfa_flash_cb(struct bfa_flash *flash) in bfa_flash_cb() argument 3035 flash->op_busy = 0; in bfa_flash_cb() 3036 if (flash->cbfn) in bfa_flash_cb() 3037 flash->cbfn(flash->cbarg, flash->status); in bfa_flash_cb() 3043 struct bfa_flash *flash = cbarg; in bfa_flash_notify() local 3048 if (flash->op_busy) { in bfa_flash_notify() 3049 flash->status = BFA_STATUS_IOC_FAILURE; in bfa_flash_notify() 3050 flash->cbfn(flash->cbarg, flash->status); in bfa_flash_notify() 3051 flash->op_busy = 0; in bfa_flash_notify() 3063 bfa_flash_write_send(struct bfa_flash *flash) in bfa_flash_write_send() argument [all …]
|
/linux/Documentation/devicetree/bindings/media/i2c/ |
H A D | adp1653.txt | 1 * Analog Devices ADP1653 flash LED driver 11 There are two LED outputs available - flash and indicator. One LED is 12 represented by one child node, nodes need to be named "flash" and "indicator". 17 Required properties of the flash LED child node: 19 - flash-max-microamp : see Documentation/devicetree/bindings/leds/common.txt 20 - flash-timeout-us : see Documentation/devicetree/bindings/leds/common.txt 30 flash { 31 flash-timeout-us = <500000>; 32 flash-max-microamp = <320000>;
|
/linux/Documentation/driver-api/mtd/ |
H A D | spi-nor.rst | 5 How to propose a new flash addition 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 34 the frequency at which the flash was operated, e.g.:: [all …]
|
/linux/drivers/mtd/maps/ |
H A D | Kconfig | 7 bool "Support non-linear mappings of flash chips" 10 paged mappings of flash chips. 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 64 This is the total width of the data bus of the flash devices 97 the flash can be taken out of write protection. [all …]
|
/linux/Documentation/devicetree/bindings/leds/ |
H A D | ams,as3645a.txt | 3 The AS3645A flash LED controller can drive two LEDs, one high current 4 flash LED and one indicator LED. The high current flash LED can be 22 Required properties of the flash child node (0) 26 flash-timeout-us: Flash timeout in microseconds. The value must be in 28 flash-max-microamp: Maximum flash current in microamperes. Has to be 34 ams,input-max-microamp: Maximum flash controller input current. The 39 Optional properties of the flash child node 74 flash-timeout-us = <150000>; 75 flash-max-microamp = <320000>;
|
/linux/Documentation/networking/devlink/ |
H A D | devlink-flash.rst | 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`` 91 # Find out which FW flash we want to use for this NIC [all …]
|
/linux/drivers/mtd/chips/ |
H A D | Kconfig | 6 tristate "Detect flash chips by Common Flash Interface (CFI) probe" 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 24 CFI-targeted flash drivers for any chips which are identified which 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 128 bool "Support 1-chip flash interleave" if MTD_CFI_GEOMETRY 131 If your flash chips are not interleaved - i.e. you only have one [all …]
|
/linux/drivers/firmware/microchip/ |
H A D | mpfs-auto-update.c | 82 struct mtd_info *flash; member 116 priv->flash = mpfs_sys_controller_get_flash(priv->sys_controller); in mpfs_auto_update_prepare() 117 if (!priv->flash) in mpfs_auto_update_prepare() 120 erase_size = round_up(erase_size, (u64)priv->flash->erasesize); in mpfs_auto_update_prepare() 131 priv->size_per_bitstream = priv->flash->size - SZ_1K - SZ_1M; in mpfs_auto_update_prepare() 206 size_t erase_size = round_up(AUTO_UPDATE_DIRECTORY_SIZE, (u64)priv->flash->erasesize); in mpfs_auto_update_set_image_address() 225 ret = mtd_read(priv->flash, AUTO_UPDATE_DIRECTORY_BASE, erase_size, &bytes_read, in mpfs_auto_update_set_image_address() 237 ret = mtd_erase(priv->flash, &erase); in mpfs_auto_update_set_image_address() 253 ret = mtd_write(priv->flash, 0x0, erase_size, &bytes_written, (u_char *)buffer); in mpfs_auto_update_set_image_address() 275 erase_size = round_up(erase_size, (u64)priv->flash->erasesize); in mpfs_auto_update_write_bitstream() [all …]
|
/linux/drivers/scsi/aic94xx/ |
H A D | aic94xx_sds.c | 556 d = asd_read_reg_byte(asd_ha, asd_ha->hw_prof.flash.bar); in asd_poll_flash() 557 d ^= asd_read_reg_byte(asd_ha, asd_ha->hw_prof.flash.bar); in asd_poll_flash() 572 asd_write_reg_byte(asd_ha, asd_ha->hw_prof.flash.bar, FLASH_RESET); in asd_reset_flash() 581 asd_read_reg_string(asd_ha, buffer, asd_ha->hw_prof.flash.bar+offs, in asd_read_flash_seg() 603 asd_ha->hw_prof.flash.dir_offs = v; in asd_find_flash_dir() 620 &asd_ha->hw_prof.flash.bar)) { in asd_flash_getid() 625 asd_ha->hw_prof.flash.present = 1; in asd_flash_getid() 626 asd_ha->hw_prof.flash.wide = reg & FLASHW ? 1 : 0; in asd_flash_getid() 1091 reg = asd_ha->hw_prof.flash.bar; in asd_verify_flash_seg() 1121 reg = asd_ha->hw_prof.flash.bar; in asd_write_flash_seg() [all …]
|