Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
focaltech_ft9001_pinctrl.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025, FocalTech Systems CO.,Ltd
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_FOCALTECH_FT9001_PINCTRL_H_
8#define ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_FOCALTECH_FT9001_PINCTRL_H_
9
15
16/*
17 * Pinmux encoding:
18 * bit[0:0] - VALUE (0 = default, 1 = alternate)
19 * bit[5:1] - BIT position in register
20 * bit[25:6] - Register offset
21 */
22#define FOCALTECH_IOCTRL_BASE 0x40000000U
23
24#define FOCALTECH_PINCTRL_VALUE_POS 0U
25#define FOCALTECH_PINCTRL_BIT_POS 1U
26#define FOCALTECH_PINCTRL_REG_POS 6U
27
28#define FOCALTECH_PINCTRL_VALUE_MASK 0x1U
29#define FOCALTECH_PINCTRL_BIT_MASK 0x1FU
30#define FOCALTECH_PINCTRL_REG_MASK 0xFFFFFU
31
32#define FOCALTECH_PINMUX(reg, bit, value) \
33 (((reg) << FOCALTECH_PINCTRL_REG_POS) | ((bit) << FOCALTECH_PINCTRL_BIT_POS) | \
34 ((value) << FOCALTECH_PINCTRL_VALUE_POS))
35
36#define FOCALTECH_PINCTRL_REG_GET(pinmux) \
37 ((((pinmux) >> FOCALTECH_PINCTRL_REG_POS) & FOCALTECH_PINCTRL_REG_MASK) | \
38 FOCALTECH_IOCTRL_BASE)
39
40#define FOCALTECH_PINCTRL_BIT_GET(pinmux) \
41 (((pinmux) >> FOCALTECH_PINCTRL_BIT_POS) & FOCALTECH_PINCTRL_BIT_MASK)
42
43#define FOCALTECH_PINCTRL_VALUE_GET(pinmux) \
44 (((pinmux) >> FOCALTECH_PINCTRL_VALUE_POS) & FOCALTECH_PINCTRL_VALUE_MASK)
45
51
52#define FOCALTECH_IOCTRL_SPICR_OFFSET 0x00000U
53#define FOCALTECH_IOCTRL_I2CCR_OFFSET 0x00008U
54#define FOCALTECH_IOCTRL_SCICR_OFFSET 0x0000CU
55#define FOCALTECH_IOCTRL_SWAPCR_OFFSET 0x0001CU
56#define FOCALTECH_IOCTRL_CLKRSTCR_OFFSET 0x00044U
57#define FOCALTECH_IOCTRL_EPORT2CR_OFFSET 0x00054U
58#define FOCALTECH_IOCTRL_EPORT3CR_OFFSET 0x00058U
59#define FOCALTECH_IOCTRL_EPORT4CR_OFFSET 0x0005CU
60#define FOCALTECH_IOCTRL_EPORT5CR_OFFSET 0x00060U
61#define FOCALTECH_IOCTRL_EPORT6CR_OFFSET 0x00064U
62#define FOCALTECH_IOCTRL_EPORT7CR_OFFSET 0x00068U
63#define FOCALTECH_IOCTRL_SWAPCR2_OFFSET 0x0006CU
64#define FOCALTECH_IOCTRL_SWAPCR3_OFFSET 0x00070U
65#define FOCALTECH_IOCTRL_SWAPCR4_OFFSET 0x00074U
66#define FOCALTECH_IOCTRL_SWAPCR5_OFFSET 0x00078U
67
69
71
72#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_FOCALTECH_FT9001_PINCTRL_H_ */