50 lines
1.1 KiB
C
50 lines
1.1 KiB
C
/*
|
|
* Copyright (c) 2020 Linaro Limited
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef PINCTRL_ATMEL_SAM_H_
|
|
#define PINCTRL_ATMEL_SAM_H_
|
|
|
|
#define PERIPH_a 0
|
|
#define PERIPH_b 1
|
|
#define PERIPH_c 2
|
|
#define PERIPH_d 3
|
|
#define PERIPH_e 4
|
|
#define PERIPH_f 5
|
|
#define PERIPH_g 6
|
|
#define PERIPH_h 7
|
|
|
|
/* Create a pincfg device tree node:
|
|
*
|
|
* The node name and nodelabel will be of the form:
|
|
*
|
|
* NODE = p<port><pin><periph>_<inst>_<signal>
|
|
*
|
|
* NODE: NODE {
|
|
* atmel,pins = < &pio<port> <pin> PERIPH_<perip> >;
|
|
* }
|
|
*
|
|
* So for example:
|
|
*
|
|
* DT_ATMEL_PIN(uart, urxd, a, 8, a);
|
|
*
|
|
* Will become:
|
|
*
|
|
* pa8a_uart_urxd: pa8a_uart_urxd {
|
|
* atmel,pins = <&pioa 8 PERIPH_a>;
|
|
* }
|
|
*
|
|
*/
|
|
#define DT_ATMEL_PIN(inst, signal, port, pin, periph) \
|
|
p##port##pin##periph##_##inst##_##signal: \
|
|
p##port##pin##periph##_##inst##_##signal { \
|
|
atmel,pins = < &pio##port pin PERIPH_##periph >; }
|
|
|
|
#define DT_ATMEL_GPIO(inst, signal, port, pin, periph) \
|
|
p##port##pin##periph##_##inst##_##signal: \
|
|
p##port##pin##periph##_##inst##_##signal { \
|
|
atmel,pins = < &gpio##port pin PERIPH_##periph >; }
|
|
|
|
#endif /* PINCTRL_ATMEL_SAM_H_ */
|