Lines Matching +full:bus +full:- +full:range
1 /* SPDX-License-Identifier: GPL-2.0+ */
14 * register maps irrespective of the underlying bus architecture. This entails
17 * instantiate a regmap with a backend depending on the bus the device is
19 * bus transparently.
25 * tree settings via the boolean "little-endian", "big-endian", and
26 * "native-endian" properties.
34 * accesses the register map as regular IO-mapped memory.
38 * enum regmap_size_t - Access sizes for regmap reads and writes
40 * @REGMAP_SIZE_8: 8-bit read/write access size
41 * @REGMAP_SIZE_16: 16-bit read/write access size
42 * @REGMAP_SIZE_32: 32-bit read/write access size
43 * @REGMAP_SIZE_64: 64-bit read/write access size
53 * enum regmap_endianness_t - Endianness for regmap reads and writes
66 * struct regmap_range - a register map range
77 * struct regmap - a way of accessing hardware/bus registers
90 * bus or through a peripheral bus like I2C, SPI.
94 * regmap_write() - Write a 32-bit value to a regmap
104 * Return: 0 if OK, -ve on error
109 * regmap_read() - Read a 32-bit value from a regmap
120 * Return: 0 if OK, -ve on error
125 * regmap_raw_write() - Write a value of specified length to a regmap
133 * arbitrary length to the regmap, and not just 32-bit values, and is thus a
136 * Return: 0 if OK, -ve on error
142 * regmap_raw_read() - Read a value of specified length from a regmap
151 * arbitrary length from the regmap, and not just 32-bit values, and is thus a
154 * Return: 0 if OK, -ve on error
160 * regmap_raw_write_range() - Write a value of specified length to a range of a
164 * @range_num: Number of the range in the regmap to write to
169 * Return: 0 if OK, -ve on error
175 * regmap_raw_read_range() - Read a value of specified length from a range of a
179 * @range_num: Number of the range in the regmap to write to
185 * Return: 0 if OK, -ve on error
191 * regmap_range_set() - Set a value in a regmap range described by a struct
193 * @range: Range of the regmap in which a value should be set
194 * @type: Structure type that describes the memory layout of the regmap range
196 * range
197 * @val: Value which should be written to the regmap range
199 #define regmap_range_set(map, range, type, member, val) \ argument
201 typeof(((type *)0)->member) __tmp = val; \
202 regmap_raw_write_range(map, range, offsetof(type, member), \
203 &__tmp, sizeof(((type *)0)->member)); \
207 * regmap_set() - Set a value in a regmap described by a struct
217 * regmap_range_get() - Get a value from a regmap range described by a struct
219 * @range: Range of the regmap from which a value should be read
221 * range
223 * regmap range
224 * @valp: Variable that receives the value read from the regmap range
226 #define regmap_range_get(map, range, type, member, valp) \ argument
227 regmap_raw_read_range(map, range, offsetof(type, member), \
228 (void *)valp, sizeof(((type *)0)->member))
231 * regmap_get() - Get a value from a regmap described by a struct
234 * range
243 * regmap_read_poll_timeout - Poll until a condition is met or a timeout occurs
249 * @sleep_us: Maximum time to sleep between reads in us (0 tight-loops).
251 * @test_add_time: Used for sandbox testing - amount of time to add after
254 * Returns 0 on success and -ETIMEDOUT upon a timeout or the regmap_read
285 __ret ?: ((cond) ? 0 : -ETIMEDOUT); \
293 * regmap_update_bits() - Perform a read/modify/write using a mask
299 * Return: 0 if OK, -ve on error
304 * regmap_init_mem() - Set up a new register map that uses memory access
308 * Return: 0 if OK, -ve on error
315 * regmap_init_mem_platdata() - Set up a new memory register map for
316 * of-platdata
322 * Return: 0 if OK, -ve on error
325 * using the device tree. It only supports 32-bit machines.
334 * regmap_get_range() - Obtain the base memory address of a regmap range
337 * @range_num: Range to look up
338 * Return: Pointer to the range in question if OK, NULL on error
343 * regmap_uninit() - free a previously inited regmap
346 * Return: 0 if OK, -ve on error