123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- /* SPDX-License-Identifier: GPL-2.0 */
- #ifndef _ST_PINCFG_H_
- #define _ST_PINCFG_H_
- /* Alternate functions */
- #define ALT1 1
- #define ALT2 2
- #define ALT3 3
- #define ALT4 4
- #define ALT5 5
- #define ALT6 6
- #define ALT7 7
- /* Output enable */
- #define OE (1 << 27)
- /* Pull Up */
- #define PU (1 << 26)
- /* Open Drain */
- #define OD (1 << 25)
- #define RT (1 << 23)
- #define INVERTCLK (1 << 22)
- #define CLKNOTDATA (1 << 21)
- #define DOUBLE_EDGE (1 << 20)
- #define CLK_A (0 << 18)
- #define CLK_B (1 << 18)
- #define CLK_C (2 << 18)
- #define CLK_D (3 << 18)
- /* User-frendly defines for Pin Direction */
- /* oe = 0, pu = 0, od = 0 */
- #define IN (0)
- /* oe = 0, pu = 1, od = 0 */
- #define IN_PU (PU)
- /* oe = 1, pu = 0, od = 0 */
- #define OUT (OE)
- /* oe = 1, pu = 0, od = 1 */
- #define BIDIR (OE | OD)
- /* oe = 1, pu = 1, od = 1 */
- #define BIDIR_PU (OE | PU | OD)
- /* RETIME_TYPE */
- /*
- * B Mode
- * Bypass retime with optional delay parameter
- */
- #define BYPASS (0)
- /*
- * R0, R1, R0D, R1D modes
- * single-edge data non inverted clock, retime data with clk
- */
- #define SE_NICLK_IO (RT)
- /*
- * RIV0, RIV1, RIV0D, RIV1D modes
- * single-edge data inverted clock, retime data with clk
- */
- #define SE_ICLK_IO (RT | INVERTCLK)
- /*
- * R0E, R1E, R0ED, R1ED modes
- * double-edge data, retime data with clk
- */
- #define DE_IO (RT | DOUBLE_EDGE)
- /*
- * CIV0, CIV1 modes with inverted clock
- * Retiming the clk pins will park clock & reduce the noise within the core.
- */
- #define ICLK (RT | CLKNOTDATA | INVERTCLK)
- /*
- * CLK0, CLK1 modes with non-inverted clock
- * Retiming the clk pins will park clock & reduce the noise within the core.
- */
- #define NICLK (RT | CLKNOTDATA)
- #endif /* _ST_PINCFG_H_ */
|