|
Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
Reset Controller Interface. More...
Data Structures | |
| struct | reset_dt_spec |
| Reset controller device configuration. More... | |
Macros | |
| #define | RESET_DT_SPEC_GET_BY_IDX(node_id, idx) |
Static initializer for a reset_dt_spec. | |
| #define | RESET_DT_SPEC_GET_BY_IDX_OR(node_id, idx, default_value) |
| Like RESET_DT_SPEC_GET_BY_IDX(), with a fallback to a default value. | |
| #define | RESET_DT_SPEC_GET(node_id) RESET_DT_SPEC_GET_BY_IDX(node_id, 0) |
| Equivalent to RESET_DT_SPEC_GET_BY_IDX(node_id, 0). | |
| #define | RESET_DT_SPEC_GET_OR(node_id, default_value) RESET_DT_SPEC_GET_BY_IDX_OR(node_id, 0, default_value) |
| Equivalent to RESET_DT_SPEC_GET_BY_IDX_OR(node_id, 0, default_value). | |
| #define | RESET_DT_SPEC_INST_GET_BY_IDX(inst, idx) RESET_DT_SPEC_GET_BY_IDX(DT_DRV_INST(inst), idx) |
Static initializer for a reset_dt_spec from a DT_DRV_COMPAT instance's Reset Controller property at an index. | |
| #define | RESET_DT_SPEC_INST_GET_BY_IDX_OR(inst, idx, default_value) |
Static initializer for a reset_dt_spec from a DT_DRV_COMPAT instance's 'resets' property at an index, with fallback. | |
| #define | RESET_DT_SPEC_INST_GET(inst) RESET_DT_SPEC_INST_GET_BY_IDX(inst, 0) |
| Equivalent to RESET_DT_SPEC_INST_GET_BY_IDX(inst, 0). | |
| #define | RESET_DT_SPEC_INST_GET_OR(inst, default_value) RESET_DT_SPEC_INST_GET_BY_IDX_OR(inst, 0, default_value) |
| Equivalent to RESET_DT_SPEC_INST_GET_BY_IDX_OR(node_id, 0, default_value). | |
Functions | |
| int | reset_status (const struct device *dev, uint32_t id, uint8_t *status) |
| Get the reset status. | |
| static int | reset_status_dt (const struct reset_dt_spec *spec, uint8_t *status) |
Get the reset status from a reset_dt_spec. | |
| int | reset_line_assert (const struct device *dev, uint32_t id) |
| Put the device in reset state. | |
| static int | reset_line_assert_dt (const struct reset_dt_spec *spec) |
Assert the reset state from a reset_dt_spec. | |
| int | reset_line_deassert (const struct device *dev, uint32_t id) |
| Take out the device from reset state. | |
| static int | reset_line_deassert_dt (const struct reset_dt_spec *spec) |
Deassert the reset state from a reset_dt_spec. | |
| int | reset_line_toggle (const struct device *dev, uint32_t id) |
| Reset the device. | |
| static int | reset_line_toggle_dt (const struct reset_dt_spec *spec) |
Reset the device from a reset_dt_spec. | |
Reset Controller Interface.
| #define RESET_DT_SPEC_GET | ( | node_id | ) | RESET_DT_SPEC_GET_BY_IDX(node_id, 0) |
#include <include/zephyr/drivers/reset.h>
Equivalent to RESET_DT_SPEC_GET_BY_IDX(node_id, 0).
| node_id | devicetree node identifier |
| #define RESET_DT_SPEC_GET_BY_IDX | ( | node_id, | |
| idx | |||
| ) |
#include <include/zephyr/drivers/reset.h>
Static initializer for a reset_dt_spec.
This returns a static initializer for a reset_dt_spec structure given a devicetree node identifier, a property specifying a Reset Controller and an index.
Example devicetree fragment:
n: node {
resets = <&reset 10>;
}
Example usage:
const struct reset_dt_spec spec = RESET_DT_SPEC_GET_BY_IDX(DT_NODELABEL(n), 0);
// Initializes 'spec' to:
// {
// .dev = DEVICE_DT_GET(DT_NODELABEL(reset)),
// .id = 10
// }
The 'reset' field must still be checked for readiness, e.g. using device_is_ready(). It is an error to use this macro unless the node exists, has the given property, and that property specifies a reset controller reset line id as shown above.
| node_id | devicetree node identifier |
| idx | logical index into "resets" |
| #define RESET_DT_SPEC_GET_BY_IDX_OR | ( | node_id, | |
| idx, | |||
| default_value | |||
| ) |
#include <include/zephyr/drivers/reset.h>
Like RESET_DT_SPEC_GET_BY_IDX(), with a fallback to a default value.
If the devicetree node identifier 'node_id' refers to a node with a 'resets' property, this expands to RESET_DT_SPEC_GET_BY_IDX(node_id, idx). The default_value parameter is not expanded in this case.
Otherwise, this expands to default_value.
| node_id | devicetree node identifier |
| idx | logical index into the 'resets' property |
| default_value | fallback value to expand to |
| #define RESET_DT_SPEC_GET_OR | ( | node_id, | |
| default_value | |||
| ) | RESET_DT_SPEC_GET_BY_IDX_OR(node_id, 0, default_value) |
#include <include/zephyr/drivers/reset.h>
Equivalent to RESET_DT_SPEC_GET_BY_IDX_OR(node_id, 0, default_value).
| node_id | devicetree node identifier |
| default_value | fallback value to expand to |
| #define RESET_DT_SPEC_INST_GET | ( | inst | ) | RESET_DT_SPEC_INST_GET_BY_IDX(inst, 0) |
#include <include/zephyr/drivers/reset.h>
Equivalent to RESET_DT_SPEC_INST_GET_BY_IDX(inst, 0).
| inst | DT_DRV_COMPAT instance number |
| #define RESET_DT_SPEC_INST_GET_BY_IDX | ( | inst, | |
| idx | |||
| ) | RESET_DT_SPEC_GET_BY_IDX(DT_DRV_INST(inst), idx) |
#include <include/zephyr/drivers/reset.h>
Static initializer for a reset_dt_spec from a DT_DRV_COMPAT instance's Reset Controller property at an index.
| inst | DT_DRV_COMPAT instance number |
| idx | logical index into "resets" |
| #define RESET_DT_SPEC_INST_GET_BY_IDX_OR | ( | inst, | |
| idx, | |||
| default_value | |||
| ) |
#include <include/zephyr/drivers/reset.h>
Static initializer for a reset_dt_spec from a DT_DRV_COMPAT instance's 'resets' property at an index, with fallback.
| inst | DT_DRV_COMPAT instance number |
| idx | logical index into the 'resets' property |
| default_value | fallback value to expand to |
| #define RESET_DT_SPEC_INST_GET_OR | ( | inst, | |
| default_value | |||
| ) | RESET_DT_SPEC_INST_GET_BY_IDX_OR(inst, 0, default_value) |
#include <include/zephyr/drivers/reset.h>
Equivalent to RESET_DT_SPEC_INST_GET_BY_IDX_OR(node_id, 0, default_value).
| inst | DT_DRV_COMPAT instance number |
| default_value | fallback value to expand to |
#include <include/zephyr/drivers/reset.h>
Put the device in reset state.
This function sets/clears the reset bits of the device, depending on the logic level (active-high/active-low).
| dev | Reset controller device. |
| id | Reset line. |
| 0 | On success. |
| -ENOSYS | If the functionality is not implemented by the driver. |
| -errno | Other negative errno in case of failure. |
|
inlinestatic |
#include <include/zephyr/drivers/reset.h>
Assert the reset state from a reset_dt_spec.
This is equivalent to:
reset_line_assert(spec->dev, spec->id);
| spec | Reset controller specification from devicetree |
#include <include/zephyr/drivers/reset.h>
Take out the device from reset state.
This function sets/clears the reset bits of the device, depending on the logic level (active-low/active-high).
| dev | Reset controller device. |
| id | Reset line. |
| 0 | On success. |
| -ENOSYS | If the functionality is not implemented by the driver. |
| -errno | Other negative errno in case of failure. |
|
inlinestatic |
#include <include/zephyr/drivers/reset.h>
Deassert the reset state from a reset_dt_spec.
This is equivalent to:
reset_line_deassert(spec->dev, spec->id)
| spec | Reset controller specification from devicetree |
#include <include/zephyr/drivers/reset.h>
Reset the device.
This function performs reset for a device (assert + deassert).
| dev | Reset controller device. |
| id | Reset line. |
| 0 | On success. |
| -ENOSYS | If the functionality is not implemented by the driver. |
| -errno | Other negative errno in case of failure. |
|
inlinestatic |
#include <include/zephyr/drivers/reset.h>
Reset the device from a reset_dt_spec.
This is equivalent to:
reset_line_toggle(spec->dev, spec->id)
| spec | Reset controller specification from devicetree |
#include <include/zephyr/drivers/reset.h>
Get the reset status.
This function returns the reset status of the device.
| dev | Reset controller device. |
| id | Reset line. |
| status | Where to write the reset status. |
| 0 | On success. |
| -ENOSYS | If the functionality is not implemented by the driver. |
| -errno | Other negative errno in case of failure. |
|
inlinestatic |
#include <include/zephyr/drivers/reset.h>
Get the reset status from a reset_dt_spec.
This is equivalent to:
reset_status(spec->dev, spec->id, status);
| spec | Reset controller specification from devicetree |
| status | Where to write the reset status. |