Lines Matching +full:ext +full:- +full:irq +full:- +full:range
1 /* SPDX-License-Identifier: GPL-2.0-only */
54 #define REGMAP_UPSHIFT(s) (-(s))
66 * struct reg_default - Default value for a register.
80 * struct reg_sequence - An individual write from a sequence of writes.
103 * regmap_read_poll_timeout - Poll until a condition is met or a timeout occurs
110 * tight-loops). Should be less than ~20ms since usleep_range
111 * is used (see Documentation/timers/timers-howto.rst).
114 * Returns 0 on success and -ETIMEDOUT upon a timeout or the regmap_read
130 * regmap_read_poll_timeout_atomic - Poll until a condition is met or a timeout occurs
136 * @delay_us: Time to udelay between reads in us (0 tight-loops).
138 * (see Documentation/timers/timers-howto.rst).
141 * Returns 0 on success and -ETIMEDOUT upon a timeout or the regmap_read
171 __ret ?: ((cond) ? 0 : -ETIMEDOUT); \
175 * regmap_field_read_poll_timeout - Poll until a condition is met or timeout
181 * tight-loops). Should be less than ~20ms since usleep_range
182 * is used (see Documentation/timers/timers-howto.rst).
185 * Returns 0 on success and -ETIMEDOUT upon a timeout or the regmap_field_read
203 /* Unspecified -> 0 -> Backwards compatible default */
211 * struct regmap_range - A register range, used for access related checks
225 * struct regmap_access_table - A table of register ranges for access checks
234 * will return false. If a register belongs to a yes range, the corresponding
248 * struct regmap_config - Configuration for the register map of a device.
323 * Use it only for "no-bus" cases.
390 * @num_ranges: Number of range configuration entries.
466 * struct regmap_range_cfg - Configuration for indirectly accessed or paged
471 * @range_min: Address of the lowest register address in virtual range.
472 * @range_max: Address of the highest register in virtual range.
481 * Registers, mapped to this virtual range, are accessed in two steps:
488 /* Registers of virtual address range */
530 * struct regmap_bus - Description of a hardware bus for the register map
539 * @gather_write: Write operation with split register/value, return -ENOTSUPP
542 * must serialise with respect to non-async I/O.
730 * for each call. No-op if CONFIG_LOCKDEP is not set.
743 "(" name ")->lock"); \
751 * regmap_init() - Initialise register map
754 * @bus: Bus-specific callbacks to use with device
755 * @bus_context: Data passed to bus-specific callbacks
760 * directly, it should be called by bus-specific init functions.
769 * regmap_init_i2c() - Initialise register map
782 * regmap_init_mdio() - Initialise register map
795 * regmap_init_sccb() - Initialise register map
808 * regmap_init_slimbus() - Initialise register map
821 * regmap_init_spi() - Initialise register map
834 * regmap_init_spmi_base() - Create regmap for the Base register space
847 * regmap_init_spmi_ext() - Create regmap for Ext register space
860 * regmap_init_w1() - Initialise register map
873 * regmap_init_mmio_clk() - Initialise register map with register clock
877 * @regs: Pointer to memory-mapped IO region
888 * regmap_init_mmio() - Initialise register map
891 * @regs: Pointer to memory-mapped IO region
901 * regmap_init_ac97() - Initialise AC'97 register map
915 * regmap_init_sdw() - Initialise register map
928 * regmap_init_sdw_mbq() - Initialise register map
941 * regmap_init_spi_avmm() - Initialize register map for Intel SPI Slave
955 * regmap_init_fsi() - Initialise register map
968 * devm_regmap_init() - Initialise managed register map
971 * @bus: Bus-specific callbacks to use with device
972 * @bus_context: Data passed to bus-specific callbacks
977 * directly, it should be called by bus-specific init functions. The
985 * devm_regmap_init_i2c() - Initialise managed register map
999 * devm_regmap_init_mdio() - Initialise managed register map
1013 * devm_regmap_init_sccb() - Initialise managed register map
1027 * devm_regmap_init_spi() - Initialise register map
1041 * devm_regmap_init_spmi_base() - Create managed regmap for Base register space
1055 * devm_regmap_init_spmi_ext() - Create managed regmap for Ext register space
1069 * devm_regmap_init_w1() - Initialise managed register map
1082 * devm_regmap_init_mmio_clk() - Initialise managed register map with clock
1086 * @regs: Pointer to memory-mapped IO region
1098 * devm_regmap_init_mmio() - Initialise managed register map
1101 * @regs: Pointer to memory-mapped IO region
1112 * devm_regmap_init_ac97() - Initialise AC'97 register map
1126 * devm_regmap_init_sdw() - Initialise managed register map
1140 * devm_regmap_init_sdw_mbq() - Initialise managed register map
1154 * devm_regmap_init_slimbus() - Initialise managed register map
1168 * devm_regmap_init_i3c() - Initialise managed register map
1182 * devm_regmap_init_spi_avmm() - Initialize register map for Intel SPI Slave
1197 * devm_regmap_init_fsi() - Initialise managed register map
1309 const struct regmap_range *range) in regmap_reg_in_range() argument
1311 return reg >= range->range_min && reg <= range->range_max; in regmap_reg_in_range()
1334 * struct reg_field - Description of an register field
1469 * struct regmap_irq_type - IRQ type definitions.
1471 * @type_reg_offset: Offset register for the irq type setting.
1472 * @type_rising_val: Register value to configure RISING type irq.
1473 * @type_falling_val: Register value to configure FALLING type irq.
1474 * @type_level_low_val: Register value to configure LEVEL_LOW type irq.
1475 * @type_level_high_val: Register value to configure LEVEL_HIGH type irq.
1489 * struct regmap_irq - Description of an IRQ for the generic regmap irq_chip.
1493 * @type: IRQ trigger type setting details if supported.
1521 * struct regmap_irq_chip - Description of a generic regmap irq_chip.
1523 * @name: Descriptive name for IRQ controller.
1524 * @domain_suffix: Name suffix to be appended to end of IRQ domain name. Needed
1525 * when multiple regmap-IRQ controllers are created from same
1529 * interrupts arranged in separate sub-irq blocks with own IRQ
1530 * registers and which have a main IRQ registers indicating
1531 * sub-irq blocks with unhandled interrupts. For such chips fill
1532 * sub-irq register information in status_base, mask_base and
1536 * @sub_reg_offsets: arrays of mappings from main register bits to sub irq
1542 * 1.st bit to 1.st sub-reg, 2.nd bit to 2.nd sub-reg, ...
1543 * @num_main_regs: Number of 'main status' irq registers for chips which have
1554 * @config_base: Base address for IRQ type config regs. If null unsupported.
1567 * @clear_ack: Use this to set 1 and 0 or vice-versa to clear interrupts.
1570 * @type_in_mask: Use the mask registers for controlling irq type. Use this if
1574 * to define the mask bit for each irq type.
1593 * @handle_mask_sync: Callback used to handle IRQ mask syncs. The index will be
1594 * in the range [0, num_regs)
1595 * @set_type_config: Callback used for configuring irq types.
1599 * The index will be in the range [0, num_main_regs[ for the
1603 * @irq_drv_data: Driver specific IRQ data which is passed as parameter when
1664 int regmap_add_irq_chip(struct regmap *map, int irq, int irq_flags,
1668 struct regmap *map, int irq,
1672 void regmap_del_irq_chip(int irq, struct regmap_irq_chip_data *data);
1674 int devm_regmap_add_irq_chip(struct device *dev, struct regmap *map, int irq,
1680 struct regmap *map, int irq,
1684 void devm_regmap_del_irq_chip(struct device *dev, int irq,
1688 int regmap_irq_get_virq(struct regmap_irq_chip_data *data, int irq);
1704 return -EINVAL; in regmap_write()
1711 return -EINVAL; in regmap_write_async()
1718 return -EINVAL; in regmap_raw_write()
1725 return -EINVAL; in regmap_raw_write_async()
1732 return -EINVAL; in regmap_noinc_write()
1739 return -EINVAL; in regmap_bulk_write()
1746 return -EINVAL; in regmap_read()
1753 return -EINVAL; in regmap_read_bypassed()
1760 return -EINVAL; in regmap_raw_read()
1767 return -EINVAL; in regmap_noinc_read()
1774 return -EINVAL; in regmap_bulk_read()
1782 return -EINVAL; in regmap_update_bits_base()
1789 return -EINVAL; in regmap_set_bits()
1796 return -EINVAL; in regmap_clear_bits()
1803 return -EINVAL; in regmap_test_bits()
1811 return -EINVAL; in regmap_field_update_bits_base()
1820 return -EINVAL; in regmap_fields_update_bits_base()
1827 return -EINVAL; in regmap_update_bits()
1834 return -EINVAL; in regmap_update_bits_async()
1842 return -EINVAL; in regmap_update_bits_check()
1851 return -EINVAL; in regmap_update_bits_check_async()
1858 return -EINVAL; in regmap_write_bits()
1865 return -EINVAL; in regmap_field_write()
1872 return -EINVAL; in regmap_field_force_write()
1879 return -EINVAL; in regmap_field_update_bits()
1887 return -EINVAL; in regmap_field_force_update_bits()
1894 return -EINVAL; in regmap_field_set_bits()
1901 return -EINVAL; in regmap_field_clear_bits()
1908 return -EINVAL; in regmap_field_test_bits()
1915 return -EINVAL; in regmap_fields_write()
1922 return -EINVAL; in regmap_fields_force_write()
1930 return -EINVAL; in regmap_fields_update_bits()
1938 return -EINVAL; in regmap_fields_force_update_bits()
1944 return -EINVAL; in regmap_get_val_bytes()
1950 return -EINVAL; in regmap_get_max_register()
1956 return -EINVAL; in regmap_get_reg_stride()
1968 return -EINVAL; in regcache_sync()
1975 return -EINVAL; in regcache_sync_region()
1982 return -EINVAL; in regcache_drop_region()
2010 return -EINVAL; in regmap_register_patch()
2017 return -EINVAL; in regmap_parse_val()