Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
pinctrl.h
Go to the documentation of this file.
1/*
2 * Copyright 2024 NXP
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
12
13#ifndef _INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_SCMI_PINCTRL_H_
14#define _INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_SCMI_PINCTRL_H_
15
17
24
25#define ARM_SCMI_PINCTRL_MAX_CONFIG_SIZE (10 * 2)
26
27#define SCMI_PINCTRL_NO_FUNCTION 0xFFFFFFFF
28
29#define SCMI_PINCTRL_CONFIG_ATTRIBUTES(fid_valid, cfg_num, selector) \
30 (SCMI_FIELD_MAKE(fid_valid, BIT(1), 10) | \
31 SCMI_FIELD_MAKE(cfg_num, GENMASK(7, 0), 2) | \
32 SCMI_FIELD_MAKE(selector, GENMASK(1, 0), 0))
33
34#define SCMI_PINCTRL_SELECTOR_PIN 0x0
35#define SCMI_PINCTRL_SELECTOR_GROUP 0x1
36
37#define SCMI_PINCTRL_ATTRIBUTES_CONFIG_NUM(attributes)\
38 (((attributes) & GENMASK(9, 2)) >> 2)
39
40#define SCMI_PIN_CONTROL_PROTOCOL_SUPPORTED_VERSION 0x10000
41
71
84
94
98
99#endif /* _INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_SCMI_PINCTRL_H_ */
Header file for the SCMI (System Control and Management Interface) driver API.
#define ARM_SCMI_PINCTRL_MAX_CONFIG_SIZE
Definition pinctrl.h:25
scmi_pinctrl_config
Pinctrl configurations.
Definition pinctrl.h:45
int scmi_pinctrl_settings_configure(struct scmi_pinctrl_settings *settings)
Send the PINCTRL_SETTINGS_CONFIGURE command and get its reply.
@ SCMI_PINCTRL_BIAS_PULL_DEFAULT
Definition pinctrl.h:51
@ SCMI_PINCTRL_RESERVED_START
Definition pinctrl.h:67
@ SCMI_PINCTRL_VENDOR_START
Definition pinctrl.h:69
@ SCMI_PINCTRL_BIAS_HIGH_Z
Definition pinctrl.h:49
@ SCMI_PINCTRL_INPUT_MODE
Definition pinctrl.h:58
@ SCMI_PINCTRL_INPUT_VALUE
Definition pinctrl.h:60
@ SCMI_PINCTRL_RESERVED_END
Definition pinctrl.h:68
@ SCMI_PINCTRL_DEFAULT
Definition pinctrl.h:46
@ SCMI_PINCTRL_BIAS_BUS_HOLD
Definition pinctrl.h:47
@ SCMI_PINCTRL_POWER_SOURCE
Definition pinctrl.h:65
@ SCMI_PINCTRL_OUTPUT_MODE
Definition pinctrl.h:63
@ SCMI_PINCTRL_INPUT_DEBOUNCE
Definition pinctrl.h:57
@ SCMI_PINCTRL_LP_MODE
Definition pinctrl.h:62
@ SCMI_PINCTRL_BIAS_PULL_UP
Definition pinctrl.h:50
@ SCMI_PINCTRL_BIAS_DISABLE
Definition pinctrl.h:48
@ SCMI_PINCTRL_DRIVE_OPEN_SOURCE
Definition pinctrl.h:54
@ SCMI_PINCTRL_INPUT_SCHMITT
Definition pinctrl.h:61
@ SCMI_PINCTRL_OUTPUT_VALUE
Definition pinctrl.h:64
@ SCMI_PINCTRL_PULL_MODE
Definition pinctrl.h:59
@ SCMI_PINCTRL_BIAS_PULL_DOWN
Definition pinctrl.h:52
@ SCMI_PINCTRL_DRIVE_OPEN_DRAIN
Definition pinctrl.h:53
@ SCMI_PINCTRL_SLEW_RATE
Definition pinctrl.h:66
@ SCMI_PCINTRL_DRIVE_STRENGTH
Definition pinctrl.h:56
@ SCMI_PCINTRL_DRIVE_PUSH_PULL
Definition pinctrl.h:55
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
Describes the parameters for the PINCTRL_SETTINGS_CONFIGURE command.
Definition pinctrl.h:78
uint32_t id
Definition pinctrl.h:79
uint32_t config[(10 *2)]
Definition pinctrl.h:82
uint32_t attributes
Definition pinctrl.h:81
uint32_t function
Definition pinctrl.h:80