uboot/arch/arm/dts/st-pincfg.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef _ST_PINCFG_H_
   3#define _ST_PINCFG_H_
   4
   5/* Alternate functions */
   6#define ALT1    1
   7#define ALT2    2
   8#define ALT3    3
   9#define ALT4    4
  10#define ALT5    5
  11#define ALT6    6
  12#define ALT7    7
  13
  14/* Output enable */
  15#define OE                      (1 << 27)
  16/* Pull Up */
  17#define PU                      (1 << 26)
  18/* Open Drain */
  19#define OD                      (1 << 25)
  20#define RT                      (1 << 23)
  21#define INVERTCLK               (1 << 22)
  22#define CLKNOTDATA              (1 << 21)
  23#define DOUBLE_EDGE             (1 << 20)
  24#define CLK_A                   (0 << 18)
  25#define CLK_B                   (1 << 18)
  26#define CLK_C                   (2 << 18)
  27#define CLK_D                   (3 << 18)
  28
  29/* User-frendly defines for Pin Direction */
  30                /* oe = 0, pu = 0, od = 0 */
  31#define IN                      (0)
  32                /* oe = 0, pu = 1, od = 0 */
  33#define IN_PU                   (PU)
  34                /* oe = 1, pu = 0, od = 0 */
  35#define OUT                     (OE)
  36                /* oe = 1, pu = 0, od = 1 */
  37#define BIDIR                   (OE | OD)
  38                /* oe = 1, pu = 1, od = 1 */
  39#define BIDIR_PU                (OE | PU | OD)
  40
  41/* RETIME_TYPE */
  42/*
  43 * B Mode
  44 * Bypass retime with optional delay parameter
  45 */
  46#define BYPASS          (0)
  47/*
  48 * R0, R1, R0D, R1D modes
  49 * single-edge data non inverted clock, retime data with clk
  50 */
  51#define SE_NICLK_IO     (RT)
  52/*
  53 * RIV0, RIV1, RIV0D, RIV1D modes
  54 * single-edge data inverted clock, retime data with clk
  55 */
  56#define SE_ICLK_IO      (RT | INVERTCLK)
  57/*
  58 * R0E, R1E, R0ED, R1ED modes
  59 * double-edge data, retime data with clk
  60 */
  61#define DE_IO           (RT | DOUBLE_EDGE)
  62/*
  63 * CIV0, CIV1 modes with inverted clock
  64 * Retiming the clk pins will park clock & reduce the noise within the core.
  65 */
  66#define ICLK            (RT | CLKNOTDATA | INVERTCLK)
  67/*
  68 * CLK0, CLK1 modes with non-inverted clock
  69 * Retiming the clk pins will park clock & reduce the noise within the core.
  70 */
  71#define NICLK           (RT | CLKNOTDATA)
  72#endif /* _ST_PINCFG_H_ */
  73