Merge branch 'master' of git://git.denx.de/u-boot-arm
This commit is contained in:
28
include/aboot.h
Normal file
28
include/aboot.h
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Copyright 2014 Broadcom Corporation.
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <part.h>
|
||||
#include <sparse_format.h>
|
||||
|
||||
#define ROUNDUP(x, y) (((x) + ((y) - 1)) & ~((y) - 1))
|
||||
|
||||
void fastboot_fail(const char *s);
|
||||
void fastboot_okay(const char *s);
|
||||
|
||||
static inline int is_sparse_image(void *buf)
|
||||
{
|
||||
sparse_header_t *s_header = (sparse_header_t *)buf;
|
||||
|
||||
if ((le32_to_cpu(s_header->magic) == SPARSE_HEADER_MAGIC) &&
|
||||
(le16_to_cpu(s_header->major_version) == 1))
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void write_sparse_image(block_dev_desc_t *dev_desc,
|
||||
disk_partition_t *info, const char *part_name,
|
||||
void *data, unsigned sz);
|
||||
@@ -115,6 +115,9 @@
|
||||
"nfsroot=${serverip}:${rootpath},${nfsopts} rw " \
|
||||
"ip=dhcp\0" \
|
||||
"bootenv=uEnv.txt\0" \
|
||||
"loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \
|
||||
"bootscript=echo Running bootscript from mmc${mmcdev} ...; " \
|
||||
"source ${loadaddr}\0" \
|
||||
"loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
|
||||
"importbootenv=echo Importing environment from mmc ...; " \
|
||||
"env import -t -r $loadaddr $filesize\0" \
|
||||
@@ -142,17 +145,21 @@
|
||||
"mmcboot=mmc dev ${mmcdev}; " \
|
||||
"if mmc rescan; then " \
|
||||
"echo SD/MMC found on device ${mmcdev};" \
|
||||
"if run loadbootenv; then " \
|
||||
"echo Loaded environment from ${bootenv};" \
|
||||
"run importbootenv;" \
|
||||
"fi;" \
|
||||
"if test -n $uenvcmd; then " \
|
||||
"echo Running uenvcmd ...;" \
|
||||
"run uenvcmd;" \
|
||||
"fi;" \
|
||||
"if run loadimage; then " \
|
||||
"run mmcloados;" \
|
||||
"fi;" \
|
||||
"if run loadbootscript; then " \
|
||||
"run bootscript;" \
|
||||
"else " \
|
||||
"if run loadbootenv; then " \
|
||||
"echo Loaded environment from ${bootenv};" \
|
||||
"run importbootenv;" \
|
||||
"fi;" \
|
||||
"if test -n $uenvcmd; then " \
|
||||
"echo Running uenvcmd ...;" \
|
||||
"run uenvcmd;" \
|
||||
"fi;" \
|
||||
"if run loadimage; then " \
|
||||
"run mmcloados;" \
|
||||
"fi;" \
|
||||
"fi ;" \
|
||||
"fi;\0" \
|
||||
"spiboot=echo Booting from spi ...; " \
|
||||
"run spiargs; " \
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#define CONFIG_DISPLAY_CPUINFO
|
||||
|
||||
#define CONFIG_OF_LIBFDT
|
||||
#define CONFIG_SYS_GENERIC_BOARD
|
||||
|
||||
/* general purpose I/O */
|
||||
#define CONFIG_AT91_GPIO
|
||||
|
||||
@@ -34,6 +34,8 @@
|
||||
#define CONFIG_CMD_BOOTZ
|
||||
#define CONFIG_OF_LIBFDT
|
||||
|
||||
#define CONFIG_SYS_GENERIC_BOARD
|
||||
|
||||
#define CONFIG_ATMEL_LEGACY
|
||||
#define CONFIG_AT91_GPIO 1
|
||||
#define CONFIG_AT91_GPIO_PULLUP 1
|
||||
|
||||
389
include/configs/ls1021aqds.h
Normal file
389
include/configs/ls1021aqds.h
Normal file
@@ -0,0 +1,389 @@
|
||||
/*
|
||||
* Copyright 2014 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_LS102XA
|
||||
|
||||
#define CONFIG_SYS_GENERIC_BOARD
|
||||
|
||||
#define CONFIG_DISPLAY_CPUINFO
|
||||
#define CONFIG_DISPLAY_BOARDINFO
|
||||
|
||||
#define CONFIG_SKIP_LOWLEVEL_INIT
|
||||
#define CONFIG_BOARD_EARLY_INIT_F
|
||||
|
||||
/*
|
||||
* Size of malloc() pool
|
||||
*/
|
||||
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 16 * 1024 * 1024)
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR OCRAM_BASE_ADDR
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE OCRAM_SIZE
|
||||
|
||||
/*
|
||||
* Generic Timer Definitions
|
||||
*/
|
||||
#define GENERIC_TIMER_CLK 12500000
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
unsigned long get_board_sys_clk(void);
|
||||
unsigned long get_board_ddr_clk(void);
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ get_board_sys_clk()
|
||||
#define CONFIG_DDR_CLK_FREQ get_board_ddr_clk()
|
||||
|
||||
#ifndef CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_TEXT_BASE 0x67f80000
|
||||
#endif
|
||||
|
||||
#define CONFIG_NR_DRAM_BANKS 1
|
||||
|
||||
#define CONFIG_DDR_SPD
|
||||
#define SPD_EEPROM_ADDRESS 0x51
|
||||
#define CONFIG_SYS_SPD_BUS_NUM 0
|
||||
#define CONFIG_SYS_DDR_RAW_TIMING
|
||||
|
||||
#define CONFIG_FSL_DDR_INTERACTIVE /* Interactive debugging */
|
||||
#define CONFIG_SYS_FSL_DDR3 /* Use DDR3 memory */
|
||||
#define CONFIG_DIMM_SLOTS_PER_CTLR 1
|
||||
#define CONFIG_CHIP_SELECTS_PER_CTRL 4
|
||||
|
||||
#define CONFIG_SYS_DDR_SDRAM_BASE 0x80000000UL
|
||||
#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE
|
||||
|
||||
#define CONFIG_DDR_ECC
|
||||
#ifdef CONFIG_DDR_ECC
|
||||
#define CONFIG_ECC_INIT_VIA_DDRCONTROLLER
|
||||
#define CONFIG_MEM_INIT_VALUE 0xdeadbeef
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_HAS_SERDES
|
||||
|
||||
/*
|
||||
* IFC Definitions
|
||||
*/
|
||||
#define CONFIG_FSL_IFC
|
||||
#define CONFIG_SYS_FLASH_BASE 0x60000000
|
||||
#define CONFIG_SYS_FLASH_BASE_PHYS CONFIG_SYS_FLASH_BASE
|
||||
|
||||
#define CONFIG_SYS_NOR0_CSPR_EXT (0x0)
|
||||
#define CONFIG_SYS_NOR0_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \
|
||||
CSPR_PORT_SIZE_16 | \
|
||||
CSPR_MSEL_NOR | \
|
||||
CSPR_V)
|
||||
#define CONFIG_SYS_NOR1_CSPR_EXT (0x0)
|
||||
#define CONFIG_SYS_NOR1_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS \
|
||||
+ 0x8000000) | \
|
||||
CSPR_PORT_SIZE_16 | \
|
||||
CSPR_MSEL_NOR | \
|
||||
CSPR_V)
|
||||
#define CONFIG_SYS_NOR_AMASK IFC_AMASK(128 * 1024 * 1024)
|
||||
|
||||
#define CONFIG_SYS_NOR_CSOR (CSOR_NOR_ADM_SHIFT(4) | \
|
||||
CSOR_NOR_TRHZ_80)
|
||||
#define CONFIG_SYS_NOR_FTIM0 (FTIM0_NOR_TACSE(0x4) | \
|
||||
FTIM0_NOR_TEADC(0x5) | \
|
||||
FTIM0_NOR_TEAHC(0x5))
|
||||
#define CONFIG_SYS_NOR_FTIM1 (FTIM1_NOR_TACO(0x35) | \
|
||||
FTIM1_NOR_TRAD_NOR(0x1a) | \
|
||||
FTIM1_NOR_TSEQRAD_NOR(0x13))
|
||||
#define CONFIG_SYS_NOR_FTIM2 (FTIM2_NOR_TCS(0x4) | \
|
||||
FTIM2_NOR_TCH(0x4) | \
|
||||
FTIM2_NOR_TWPH(0xe) | \
|
||||
FTIM2_NOR_TWP(0x1c))
|
||||
#define CONFIG_SYS_NOR_FTIM3 0
|
||||
|
||||
#define CONFIG_FLASH_CFI_DRIVER
|
||||
#define CONFIG_SYS_FLASH_CFI
|
||||
#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
|
||||
#define CONFIG_SYS_FLASH_QUIET_TEST
|
||||
#define CONFIG_FLASH_SHOW_PROGRESS 45
|
||||
#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
|
||||
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* number of banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 1024 /* sectors per device */
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO
|
||||
#define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE_PHYS, \
|
||||
CONFIG_SYS_FLASH_BASE_PHYS + 0x8000000}
|
||||
|
||||
/*
|
||||
* NAND Flash Definitions
|
||||
*/
|
||||
#define CONFIG_NAND_FSL_IFC
|
||||
|
||||
#define CONFIG_SYS_NAND_BASE 0x7e800000
|
||||
#define CONFIG_SYS_NAND_BASE_PHYS CONFIG_SYS_NAND_BASE
|
||||
|
||||
#define CONFIG_SYS_NAND_CSPR_EXT (0x0)
|
||||
|
||||
#define CONFIG_SYS_NAND_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \
|
||||
| CSPR_PORT_SIZE_8 \
|
||||
| CSPR_MSEL_NAND \
|
||||
| CSPR_V)
|
||||
#define CONFIG_SYS_NAND_AMASK IFC_AMASK(64*1024)
|
||||
#define CONFIG_SYS_NAND_CSOR (CSOR_NAND_ECC_ENC_EN /* ECC on encode */ \
|
||||
| CSOR_NAND_ECC_DEC_EN /* ECC on decode */ \
|
||||
| CSOR_NAND_ECC_MODE_4 /* 4-bit ECC */ \
|
||||
| CSOR_NAND_RAL_3 /* RAL = 3 Bytes */ \
|
||||
| CSOR_NAND_PGS_2K /* Page Size = 2K */ \
|
||||
| CSOR_NAND_SPRZ_64 /* Spare size = 64 */ \
|
||||
| CSOR_NAND_PB(64)) /* 64 Pages Per Block */
|
||||
|
||||
#define CONFIG_SYS_NAND_ONFI_DETECTION
|
||||
|
||||
#define CONFIG_SYS_NAND_FTIM0 (FTIM0_NAND_TCCST(0x7) | \
|
||||
FTIM0_NAND_TWP(0x18) | \
|
||||
FTIM0_NAND_TWCHT(0x7) | \
|
||||
FTIM0_NAND_TWH(0xa))
|
||||
#define CONFIG_SYS_NAND_FTIM1 (FTIM1_NAND_TADLE(0x32) | \
|
||||
FTIM1_NAND_TWBE(0x39) | \
|
||||
FTIM1_NAND_TRR(0xe) | \
|
||||
FTIM1_NAND_TRP(0x18))
|
||||
#define CONFIG_SYS_NAND_FTIM2 (FTIM2_NAND_TRAD(0xf) | \
|
||||
FTIM2_NAND_TREH(0xa) | \
|
||||
FTIM2_NAND_TWHRE(0x1e))
|
||||
#define CONFIG_SYS_NAND_FTIM3 0x0
|
||||
|
||||
#define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE }
|
||||
#define CONFIG_SYS_MAX_NAND_DEVICE 1
|
||||
#define CONFIG_MTD_NAND_VERIFY_WRITE
|
||||
#define CONFIG_CMD_NAND
|
||||
|
||||
#define CONFIG_SYS_NAND_BLOCK_SIZE (128 * 1024)
|
||||
|
||||
/*
|
||||
* QIXIS Definitions
|
||||
*/
|
||||
#define CONFIG_FSL_QIXIS
|
||||
|
||||
#ifdef CONFIG_FSL_QIXIS
|
||||
#define QIXIS_BASE 0x7fb00000
|
||||
#define QIXIS_BASE_PHYS QIXIS_BASE
|
||||
#define CONFIG_SYS_I2C_FPGA_ADDR 0x66
|
||||
#define QIXIS_LBMAP_SWITCH 6
|
||||
#define QIXIS_LBMAP_MASK 0x0f
|
||||
#define QIXIS_LBMAP_SHIFT 0
|
||||
#define QIXIS_LBMAP_DFLTBANK 0x00
|
||||
#define QIXIS_LBMAP_ALTBANK 0x04
|
||||
#define QIXIS_RST_CTL_RESET 0x44
|
||||
#define QIXIS_RCFG_CTL_RECONFIG_IDLE 0x20
|
||||
#define QIXIS_RCFG_CTL_RECONFIG_START 0x21
|
||||
#define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08
|
||||
|
||||
#define CONFIG_SYS_FPGA_CSPR_EXT (0x0)
|
||||
#define CONFIG_SYS_FPGA_CSPR (CSPR_PHYS_ADDR(QIXIS_BASE_PHYS) | \
|
||||
CSPR_PORT_SIZE_8 | \
|
||||
CSPR_MSEL_GPCM | \
|
||||
CSPR_V)
|
||||
#define CONFIG_SYS_FPGA_AMASK IFC_AMASK(64 * 1024)
|
||||
#define CONFIG_SYS_FPGA_CSOR (CSOR_NOR_ADM_SHIFT(4) | \
|
||||
CSOR_NOR_NOR_MODE_AVD_NOR | \
|
||||
CSOR_NOR_TRHZ_80)
|
||||
|
||||
/*
|
||||
* QIXIS Timing parameters for IFC GPCM
|
||||
*/
|
||||
#define CONFIG_SYS_FPGA_FTIM0 (FTIM0_GPCM_TACSE(0xe) | \
|
||||
FTIM0_GPCM_TEADC(0xe) | \
|
||||
FTIM0_GPCM_TEAHC(0xe))
|
||||
#define CONFIG_SYS_FPGA_FTIM1 (FTIM1_GPCM_TACO(0xe) | \
|
||||
FTIM1_GPCM_TRAD(0x1f))
|
||||
#define CONFIG_SYS_FPGA_FTIM2 (FTIM2_GPCM_TCS(0xe) | \
|
||||
FTIM2_GPCM_TCH(0xe) | \
|
||||
FTIM2_GPCM_TWP(0xf0))
|
||||
#define CONFIG_SYS_FPGA_FTIM3 0x0
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR0_CSPR_EXT
|
||||
#define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR0_CSPR
|
||||
#define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK
|
||||
#define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR
|
||||
#define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0
|
||||
#define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1
|
||||
#define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2
|
||||
#define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3
|
||||
#define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_NOR1_CSPR_EXT
|
||||
#define CONFIG_SYS_CSPR1 CONFIG_SYS_NOR1_CSPR
|
||||
#define CONFIG_SYS_AMASK1 CONFIG_SYS_NOR_AMASK
|
||||
#define CONFIG_SYS_CSOR1 CONFIG_SYS_NOR_CSOR
|
||||
#define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_NOR_FTIM0
|
||||
#define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_NOR_FTIM1
|
||||
#define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NOR_FTIM2
|
||||
#define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NOR_FTIM3
|
||||
#define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NAND_CSPR_EXT
|
||||
#define CONFIG_SYS_CSPR2 CONFIG_SYS_NAND_CSPR
|
||||
#define CONFIG_SYS_AMASK2 CONFIG_SYS_NAND_AMASK
|
||||
#define CONFIG_SYS_CSOR2 CONFIG_SYS_NAND_CSOR
|
||||
#define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NAND_FTIM0
|
||||
#define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NAND_FTIM1
|
||||
#define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NAND_FTIM2
|
||||
#define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NAND_FTIM3
|
||||
#define CONFIG_SYS_CSPR3_EXT CONFIG_SYS_FPGA_CSPR_EXT
|
||||
#define CONFIG_SYS_CSPR3 CONFIG_SYS_FPGA_CSPR
|
||||
#define CONFIG_SYS_AMASK3 CONFIG_SYS_FPGA_AMASK
|
||||
#define CONFIG_SYS_CSOR3 CONFIG_SYS_FPGA_CSOR
|
||||
#define CONFIG_SYS_CS3_FTIM0 CONFIG_SYS_FPGA_FTIM0
|
||||
#define CONFIG_SYS_CS3_FTIM1 CONFIG_SYS_FPGA_FTIM1
|
||||
#define CONFIG_SYS_CS3_FTIM2 CONFIG_SYS_FPGA_FTIM2
|
||||
#define CONFIG_SYS_CS3_FTIM3 CONFIG_SYS_FPGA_FTIM3
|
||||
|
||||
/*
|
||||
* Serial Port
|
||||
*/
|
||||
#define CONFIG_CONS_INDEX 1
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
|
||||
#define CONFIG_BAUDRATE 115200
|
||||
|
||||
/*
|
||||
* I2C
|
||||
*/
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_SYS_I2C
|
||||
#define CONFIG_SYS_I2C_MXC
|
||||
|
||||
/*
|
||||
* I2C bus multiplexer
|
||||
*/
|
||||
#define I2C_MUX_PCA_ADDR_PRI 0x77
|
||||
#define I2C_MUX_CH_DEFAULT 0x8
|
||||
|
||||
/*
|
||||
* MMC
|
||||
*/
|
||||
#define CONFIG_MMC
|
||||
#define CONFIG_CMD_MMC
|
||||
#define CONFIG_FSL_ESDHC
|
||||
#define CONFIG_GENERIC_MMC
|
||||
|
||||
/*
|
||||
* eTSEC
|
||||
*/
|
||||
#define CONFIG_TSEC_ENET
|
||||
|
||||
#ifdef CONFIG_TSEC_ENET
|
||||
#define CONFIG_MII
|
||||
#define CONFIG_MII_DEFAULT_TSEC 3
|
||||
#define CONFIG_TSEC1 1
|
||||
#define CONFIG_TSEC1_NAME "eTSEC1"
|
||||
#define CONFIG_TSEC2 1
|
||||
#define CONFIG_TSEC2_NAME "eTSEC2"
|
||||
#define CONFIG_TSEC3 1
|
||||
#define CONFIG_TSEC3_NAME "eTSEC3"
|
||||
|
||||
#define TSEC1_PHY_ADDR 1
|
||||
#define TSEC2_PHY_ADDR 2
|
||||
#define TSEC3_PHY_ADDR 3
|
||||
|
||||
#define TSEC1_FLAGS (TSEC_GIGABIT | TSEC_REDUCED)
|
||||
#define TSEC2_FLAGS (TSEC_GIGABIT | TSEC_REDUCED)
|
||||
#define TSEC3_FLAGS (TSEC_GIGABIT | TSEC_REDUCED)
|
||||
|
||||
#define TSEC1_PHYIDX 0
|
||||
#define TSEC2_PHYIDX 0
|
||||
#define TSEC3_PHYIDX 0
|
||||
|
||||
#define CONFIG_ETHPRIME "eTSEC1"
|
||||
|
||||
#define CONFIG_PHY_GIGE
|
||||
#define CONFIG_PHYLIB
|
||||
#define CONFIG_PHY_REALTEK
|
||||
|
||||
#define CONFIG_HAS_ETH0
|
||||
#define CONFIG_HAS_ETH1
|
||||
#define CONFIG_HAS_ETH2
|
||||
|
||||
#define CONFIG_FSL_SGMII_RISER 1
|
||||
#define SGMII_RISER_PHY_OFFSET 0x1b
|
||||
|
||||
#ifdef CONFIG_FSL_SGMII_RISER
|
||||
#define CONFIG_SYS_TBIPA_VALUE 8
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_NET
|
||||
|
||||
#define CONFIG_CMDLINE_TAG
|
||||
#define CONFIG_CMDLINE_EDITING
|
||||
#define CONFIG_CMD_IMLS
|
||||
|
||||
#define CONFIG_HWCONFIG
|
||||
#define HWCONFIG_BUFFER_SIZE 128
|
||||
|
||||
#define CONFIG_BOOTDELAY 3
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"bootargs=root=/dev/ram0 rw console=ttyS0,115200\0" \
|
||||
"fdt_high=0xcfffffff\0" \
|
||||
"initrd_high=0xcfffffff\0" \
|
||||
"hwconfig=fsl_ddr:ctlr_intlv=null,bank_intlv=null\0"
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */
|
||||
#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
|
||||
#define CONFIG_SYS_PROMPT "=> "
|
||||
#define CONFIG_AUTO_COMPLETE
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#define CONFIG_SYS_PBSIZE \
|
||||
(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
|
||||
|
||||
#define CONFIG_CMD_ENV_EXISTS
|
||||
#define CONFIG_CMD_GREPENV
|
||||
#define CONFIG_CMD_MEMINFO
|
||||
#define CONFIG_CMD_MEMTEST
|
||||
#define CONFIG_SYS_MEMTEST_START 0x80000000
|
||||
#define CONFIG_SYS_MEMTEST_END 0x9fffffff
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x82000000
|
||||
#define CONFIG_SYS_HZ 1000
|
||||
|
||||
/*
|
||||
* Stack sizes
|
||||
* The stack sizes are set up in start.S using the settings below
|
||||
*/
|
||||
#define CONFIG_STACKSIZE (30 * 1024)
|
||||
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET \
|
||||
(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_ADDR \
|
||||
(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
|
||||
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */
|
||||
|
||||
/*
|
||||
* Environment
|
||||
*/
|
||||
#define CONFIG_ENV_OVERWRITE
|
||||
|
||||
#define CONFIG_ENV_IS_IN_FLASH
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SECT_SIZE)
|
||||
#define CONFIG_ENV_SIZE 0x2000
|
||||
#define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K (one sector) */
|
||||
|
||||
#define CONFIG_OF_LIBFDT
|
||||
#define CONFIG_OF_BOARD_SETUP
|
||||
#define CONFIG_CMD_BOOTZ
|
||||
|
||||
#endif
|
||||
291
include/configs/ls1021atwr.h
Normal file
291
include/configs/ls1021atwr.h
Normal file
@@ -0,0 +1,291 @@
|
||||
/*
|
||||
* Copyright 2014 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_LS102XA
|
||||
|
||||
#define CONFIG_SYS_GENERIC_BOARD
|
||||
|
||||
#define CONFIG_DISPLAY_CPUINFO
|
||||
#define CONFIG_DISPLAY_BOARDINFO
|
||||
|
||||
#define CONFIG_SKIP_LOWLEVEL_INIT
|
||||
#define CONFIG_BOARD_EARLY_INIT_F
|
||||
|
||||
/*
|
||||
* Size of malloc() pool
|
||||
*/
|
||||
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 16 * 1024 * 1024)
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR OCRAM_BASE_ADDR
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE OCRAM_SIZE
|
||||
|
||||
/*
|
||||
* Generic Timer Definitions
|
||||
*/
|
||||
#define GENERIC_TIMER_CLK 12500000
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 100000000
|
||||
#define CONFIG_DDR_CLK_FREQ 100000000
|
||||
|
||||
#ifndef CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_TEXT_BASE 0x67f80000
|
||||
#endif
|
||||
|
||||
#define CONFIG_NR_DRAM_BANKS 1
|
||||
#define PHYS_SDRAM 0x80000000
|
||||
#define PHYS_SDRAM_SIZE (1u * 1024 * 1024 * 1024)
|
||||
|
||||
#define CONFIG_SYS_DDR_SDRAM_BASE 0x80000000UL
|
||||
#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE
|
||||
|
||||
#define CONFIG_SYS_HAS_SERDES
|
||||
|
||||
/*
|
||||
* IFC Definitions
|
||||
*/
|
||||
#define CONFIG_FSL_IFC
|
||||
#define CONFIG_SYS_FLASH_BASE 0x60000000
|
||||
#define CONFIG_SYS_FLASH_BASE_PHYS CONFIG_SYS_FLASH_BASE
|
||||
|
||||
#define CONFIG_SYS_NOR0_CSPR_EXT (0x0)
|
||||
#define CONFIG_SYS_NOR0_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \
|
||||
CSPR_PORT_SIZE_16 | \
|
||||
CSPR_MSEL_NOR | \
|
||||
CSPR_V)
|
||||
#define CONFIG_SYS_NOR_AMASK IFC_AMASK(128 * 1024 * 1024)
|
||||
|
||||
/* NOR Flash Timing Params */
|
||||
#define CONFIG_SYS_NOR_CSOR (CSOR_NOR_ADM_SHIFT(4) | \
|
||||
CSOR_NOR_TRHZ_80)
|
||||
#define CONFIG_SYS_NOR_FTIM0 (FTIM0_NOR_TACSE(0x4) | \
|
||||
FTIM0_NOR_TEADC(0x5) | \
|
||||
FTIM0_NOR_TAVDS(0x0) | \
|
||||
FTIM0_NOR_TEAHC(0x5))
|
||||
#define CONFIG_SYS_NOR_FTIM1 (FTIM1_NOR_TACO(0x35) | \
|
||||
FTIM1_NOR_TRAD_NOR(0x1A) | \
|
||||
FTIM1_NOR_TSEQRAD_NOR(0x13))
|
||||
#define CONFIG_SYS_NOR_FTIM2 (FTIM2_NOR_TCS(0x4) | \
|
||||
FTIM2_NOR_TCH(0x4) | \
|
||||
FTIM2_NOR_TWP(0x1c) | \
|
||||
FTIM2_NOR_TWPH(0x0e))
|
||||
#define CONFIG_SYS_NOR_FTIM3 0
|
||||
|
||||
#define CONFIG_FLASH_CFI_DRIVER
|
||||
#define CONFIG_SYS_FLASH_CFI
|
||||
#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
|
||||
#define CONFIG_SYS_FLASH_QUIET_TEST
|
||||
#define CONFIG_FLASH_SHOW_PROGRESS 45 /* count down from 45/5: 9..1 */
|
||||
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* number of banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 1024 /* sectors per device */
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO
|
||||
#define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH_BASE_PHYS }
|
||||
|
||||
#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
|
||||
|
||||
/* CPLD */
|
||||
|
||||
#define CONFIG_SYS_CPLD_BASE 0x7fb00000
|
||||
#define CPLD_BASE_PHYS CONFIG_SYS_CPLD_BASE
|
||||
|
||||
#define CONFIG_SYS_FPGA_CSPR_EXT (0x0)
|
||||
#define CONFIG_SYS_FPGA_CSPR (CSPR_PHYS_ADDR(CPLD_BASE_PHYS) | \
|
||||
CSPR_PORT_SIZE_8 | \
|
||||
CSPR_MSEL_GPCM | \
|
||||
CSPR_V)
|
||||
#define CONFIG_SYS_FPGA_AMASK IFC_AMASK(64 * 1024)
|
||||
#define CONFIG_SYS_FPGA_CSOR (CSOR_NOR_ADM_SHIFT(4) | \
|
||||
CSOR_NOR_NOR_MODE_AVD_NOR | \
|
||||
CSOR_NOR_TRHZ_80)
|
||||
|
||||
/* CPLD Timing parameters for IFC GPCM */
|
||||
#define CONFIG_SYS_FPGA_FTIM0 (FTIM0_GPCM_TACSE(0xf) | \
|
||||
FTIM0_GPCM_TEADC(0xf) | \
|
||||
FTIM0_GPCM_TEAHC(0xf))
|
||||
#define CONFIG_SYS_FPGA_FTIM1 (FTIM1_GPCM_TACO(0xff) | \
|
||||
FTIM1_GPCM_TRAD(0x3f))
|
||||
#define CONFIG_SYS_FPGA_FTIM2 (FTIM2_GPCM_TCS(0xf) | \
|
||||
FTIM2_GPCM_TCH(0xf) | \
|
||||
FTIM2_GPCM_TWP(0xff))
|
||||
#define CONFIG_SYS_FPGA_FTIM3 0x0
|
||||
#define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR0_CSPR_EXT
|
||||
#define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR0_CSPR
|
||||
#define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK
|
||||
#define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR
|
||||
#define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0
|
||||
#define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1
|
||||
#define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2
|
||||
#define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3
|
||||
#define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_FPGA_CSPR_EXT
|
||||
#define CONFIG_SYS_CSPR1 CONFIG_SYS_FPGA_CSPR
|
||||
#define CONFIG_SYS_AMASK1 CONFIG_SYS_FPGA_AMASK
|
||||
#define CONFIG_SYS_CSOR1 CONFIG_SYS_FPGA_CSOR
|
||||
#define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_FPGA_FTIM0
|
||||
#define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_FPGA_FTIM1
|
||||
#define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_FPGA_FTIM2
|
||||
#define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_FPGA_FTIM3
|
||||
|
||||
/*
|
||||
* Serial Port
|
||||
*/
|
||||
#define CONFIG_CONS_INDEX 1
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
|
||||
#define CONFIG_BAUDRATE 115200
|
||||
|
||||
/*
|
||||
* I2C
|
||||
*/
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_SYS_I2C
|
||||
#define CONFIG_SYS_I2C_MXC
|
||||
|
||||
/*
|
||||
* MMC
|
||||
*/
|
||||
#define CONFIG_MMC
|
||||
#define CONFIG_CMD_MMC
|
||||
#define CONFIG_FSL_ESDHC
|
||||
#define CONFIG_GENERIC_MMC
|
||||
|
||||
/*
|
||||
* Video
|
||||
*/
|
||||
#define CONFIG_FSL_DCU_FB
|
||||
|
||||
#ifdef CONFIG_FSL_DCU_FB
|
||||
#define CONFIG_VIDEO
|
||||
#define CONFIG_CMD_BMP
|
||||
#define CONFIG_CFB_CONSOLE
|
||||
#define CONFIG_VGA_AS_SINGLE_DEVICE
|
||||
#define CONFIG_VIDEO_LOGO
|
||||
#define CONFIG_VIDEO_BMP_LOGO
|
||||
|
||||
#define CONFIG_FSL_DCU_SII9022A
|
||||
#define CONFIG_SYS_I2C_DVI_BUS_NUM 1
|
||||
#define CONFIG_SYS_I2C_DVI_ADDR 0x39
|
||||
#endif
|
||||
|
||||
/*
|
||||
* eTSEC
|
||||
*/
|
||||
#define CONFIG_TSEC_ENET
|
||||
|
||||
#ifdef CONFIG_TSEC_ENET
|
||||
#define CONFIG_MII
|
||||
#define CONFIG_MII_DEFAULT_TSEC 1
|
||||
#define CONFIG_TSEC1 1
|
||||
#define CONFIG_TSEC1_NAME "eTSEC1"
|
||||
#define CONFIG_TSEC2 1
|
||||
#define CONFIG_TSEC2_NAME "eTSEC2"
|
||||
#define CONFIG_TSEC3 1
|
||||
#define CONFIG_TSEC3_NAME "eTSEC3"
|
||||
|
||||
#define TSEC1_PHY_ADDR 2
|
||||
#define TSEC2_PHY_ADDR 0
|
||||
#define TSEC3_PHY_ADDR 1
|
||||
|
||||
#define TSEC1_FLAGS (TSEC_GIGABIT | TSEC_REDUCED)
|
||||
#define TSEC2_FLAGS (TSEC_GIGABIT | TSEC_REDUCED)
|
||||
#define TSEC3_FLAGS (TSEC_GIGABIT | TSEC_REDUCED)
|
||||
|
||||
#define TSEC1_PHYIDX 0
|
||||
#define TSEC2_PHYIDX 0
|
||||
#define TSEC3_PHYIDX 0
|
||||
|
||||
#define CONFIG_ETHPRIME "eTSEC1"
|
||||
|
||||
#define CONFIG_PHY_GIGE
|
||||
#define CONFIG_PHYLIB
|
||||
#define CONFIG_PHY_ATHEROS
|
||||
|
||||
#define CONFIG_HAS_ETH0
|
||||
#define CONFIG_HAS_ETH1
|
||||
#define CONFIG_HAS_ETH2
|
||||
#endif
|
||||
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_NET
|
||||
|
||||
#define CONFIG_CMDLINE_TAG
|
||||
#define CONFIG_CMDLINE_EDITING
|
||||
#define CONFIG_CMD_IMLS
|
||||
|
||||
#define CONFIG_HWCONFIG
|
||||
#define HWCONFIG_BUFFER_SIZE 128
|
||||
|
||||
#define CONFIG_BOOTDELAY 3
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"bootargs=root=/dev/ram0 rw console=ttyS0,115200\0" \
|
||||
"initrd_high=0xcfffffff\0" \
|
||||
"fdt_high=0xcfffffff\0"
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */
|
||||
#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
|
||||
#define CONFIG_SYS_PROMPT "=> "
|
||||
#define CONFIG_AUTO_COMPLETE
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#define CONFIG_SYS_PBSIZE \
|
||||
(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
|
||||
|
||||
#define CONFIG_CMD_ENV_EXISTS
|
||||
#define CONFIG_CMD_GREPENV
|
||||
#define CONFIG_CMD_MEMINFO
|
||||
#define CONFIG_CMD_MEMTEST
|
||||
#define CONFIG_SYS_MEMTEST_START 0x80000000
|
||||
#define CONFIG_SYS_MEMTEST_END 0x9fffffff
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x82000000
|
||||
#define CONFIG_SYS_HZ 1000
|
||||
|
||||
/*
|
||||
* Stack sizes
|
||||
* The stack sizes are set up in start.S using the settings below
|
||||
*/
|
||||
#define CONFIG_STACKSIZE (30 * 1024)
|
||||
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET \
|
||||
(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_ADDR \
|
||||
(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
|
||||
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */
|
||||
|
||||
/*
|
||||
* Environment
|
||||
*/
|
||||
#define CONFIG_ENV_OVERWRITE
|
||||
|
||||
#define CONFIG_ENV_IS_IN_FLASH
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SECT_SIZE)
|
||||
#define CONFIG_ENV_SIZE 0x20000
|
||||
#define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K (one sector) */
|
||||
|
||||
#define CONFIG_OF_LIBFDT
|
||||
#define CONFIG_OF_BOARD_SETUP
|
||||
#define CONFIG_CMD_BOOTZ
|
||||
|
||||
#endif
|
||||
@@ -79,8 +79,19 @@
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
|
||||
/* No NOR flash */
|
||||
/* NOR flash */
|
||||
#define CONFIG_CMD_FLASH
|
||||
|
||||
#ifdef CONFIG_CMD_FLASH
|
||||
#define CONFIG_FLASH_CFI_DRIVER
|
||||
#define CONFIG_SYS_FLASH_CFI
|
||||
#define CONFIG_SYS_FLASH_PROTECTION
|
||||
#define CONFIG_SYS_FLASH_BASE 0x10000000
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 131
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1
|
||||
#else
|
||||
#define CONFIG_SYS_NO_FLASH
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
|
||||
@@ -31,6 +31,9 @@
|
||||
#define CONFIG_DM_DEMO_SHAPE
|
||||
#define CONFIG_DM_GPIO
|
||||
#define CONFIG_DM_TEST
|
||||
#define CONFIG_DM_SERIAL
|
||||
|
||||
#define CONFIG_SYS_STDIO_DEREGISTER
|
||||
|
||||
/* Number of bits in a C 'long' on this architecture */
|
||||
#define CONFIG_SANDBOX_BITS_PER_LONG 64
|
||||
|
||||
@@ -20,6 +20,10 @@
|
||||
|
||||
#define CONFIG_DM
|
||||
#define CONFIG_CMD_DM
|
||||
#define CONFIG_DM_GPIO
|
||||
#ifndef CONFIG_SPL_BUILD
|
||||
#define CONFIG_DM_SERIAL
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_TIMER_RATE 1000000
|
||||
#define CONFIG_SYS_TIMER_COUNTER NV_PA_TMRUS_BASE
|
||||
@@ -40,14 +44,19 @@
|
||||
* Size of malloc() pool
|
||||
*/
|
||||
#define CONFIG_SYS_MALLOC_LEN (4 << 20) /* 4MB */
|
||||
#define CONFIG_SYS_MALLOC_F_LEN (1 << 10)
|
||||
|
||||
/*
|
||||
* NS16550 Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_NS16550
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE (-4)
|
||||
#define CONFIG_SYS_NS16550_CLK V_NS16550_CLK
|
||||
#else
|
||||
#define CONFIG_TEGRA_SERIAL
|
||||
#endif
|
||||
#define CONFIG_SYS_NS16550
|
||||
|
||||
/*
|
||||
* Common HW configuration.
|
||||
|
||||
@@ -101,10 +101,10 @@
|
||||
"vram=${vram} " \
|
||||
"root=${mmcroot} " \
|
||||
"rootfstype=${mmcrootfstype}\0" \
|
||||
"loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \
|
||||
"loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \
|
||||
"bootscript=echo Running bootscript from mmc${mmcdev} ...; " \
|
||||
"source ${loadaddr}\0" \
|
||||
"loadbootenv=fatload mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \
|
||||
"loadbootenv=load mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \
|
||||
"importbootenv=echo Importing environment from mmc${mmcdev} ...; " \
|
||||
"env import -t ${loadaddr} ${filesize}\0" \
|
||||
"loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \
|
||||
|
||||
@@ -53,7 +53,11 @@ int lists_bind_drivers(struct udevice *parent, bool pre_reloc_only);
|
||||
* @parent: parent driver (root)
|
||||
* @blob: device tree blob
|
||||
* @offset: offset of this device tree node
|
||||
* @devp: if non-NULL, returns a pointer to the bound device
|
||||
* @return 0 if device was bound, -EINVAL if the device tree is invalid,
|
||||
* other -ve value on error
|
||||
*/
|
||||
int lists_bind_fdt(struct udevice *parent, const void *blob, int offset);
|
||||
int lists_bind_fdt(struct udevice *parent, const void *blob, int offset,
|
||||
struct udevice **devp);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -21,6 +21,7 @@ enum uclass_id {
|
||||
|
||||
/* U-Boot uclasses start here */
|
||||
UCLASS_GPIO, /* Bank of general-purpose I/O pins */
|
||||
UCLASS_SERIAL, /* Serial UART */
|
||||
|
||||
UCLASS_COUNT,
|
||||
UCLASS_INVALID = -1,
|
||||
|
||||
342
include/dt-bindings/clock/tegra114-car.h
Normal file
342
include/dt-bindings/clock/tegra114-car.h
Normal file
@@ -0,0 +1,342 @@
|
||||
/*
|
||||
* This header provides constants for binding nvidia,tegra114-car.
|
||||
*
|
||||
* The first 160 clocks are numbered to match the bits in the CAR's CLK_OUT_ENB
|
||||
* registers. These IDs often match those in the CAR's RST_DEVICES registers,
|
||||
* but not in all cases. Some bits in CLK_OUT_ENB affect multiple clocks. In
|
||||
* this case, those clocks are assigned IDs above 160 in order to highlight
|
||||
* this issue. Implementations that interpret these clock IDs as bit values
|
||||
* within the CLK_OUT_ENB or RST_DEVICES registers should be careful to
|
||||
* explicitly handle these special cases.
|
||||
*
|
||||
* The balance of the clocks controlled by the CAR are assigned IDs of 160 and
|
||||
* above.
|
||||
*/
|
||||
|
||||
#ifndef _DT_BINDINGS_CLOCK_TEGRA114_CAR_H
|
||||
#define _DT_BINDINGS_CLOCK_TEGRA114_CAR_H
|
||||
|
||||
/* 0 */
|
||||
/* 1 */
|
||||
/* 2 */
|
||||
/* 3 */
|
||||
#define TEGRA114_CLK_RTC 4
|
||||
#define TEGRA114_CLK_TIMER 5
|
||||
#define TEGRA114_CLK_UARTA 6
|
||||
/* 7 (register bit affects uartb and vfir) */
|
||||
/* 8 */
|
||||
#define TEGRA114_CLK_SDMMC2 9
|
||||
/* 10 (register bit affects spdif_in and spdif_out) */
|
||||
#define TEGRA114_CLK_I2S1 11
|
||||
#define TEGRA114_CLK_I2C1 12
|
||||
#define TEGRA114_CLK_NDFLASH 13
|
||||
#define TEGRA114_CLK_SDMMC1 14
|
||||
#define TEGRA114_CLK_SDMMC4 15
|
||||
/* 16 */
|
||||
#define TEGRA114_CLK_PWM 17
|
||||
#define TEGRA114_CLK_I2S2 18
|
||||
#define TEGRA114_CLK_EPP 19
|
||||
/* 20 (register bit affects vi and vi_sensor) */
|
||||
#define TEGRA114_CLK_GR2D 21
|
||||
#define TEGRA114_CLK_USBD 22
|
||||
#define TEGRA114_CLK_ISP 23
|
||||
#define TEGRA114_CLK_GR3D 24
|
||||
/* 25 */
|
||||
#define TEGRA114_CLK_DISP2 26
|
||||
#define TEGRA114_CLK_DISP1 27
|
||||
#define TEGRA114_CLK_HOST1X 28
|
||||
#define TEGRA114_CLK_VCP 29
|
||||
#define TEGRA114_CLK_I2S0 30
|
||||
/* 31 */
|
||||
|
||||
/* 32 */
|
||||
/* 33 */
|
||||
#define TEGRA114_CLK_APBDMA 34
|
||||
/* 35 */
|
||||
#define TEGRA114_CLK_KBC 36
|
||||
/* 37 */
|
||||
/* 38 */
|
||||
/* 39 (register bit affects fuse and fuse_burn) */
|
||||
#define TEGRA114_CLK_KFUSE 40
|
||||
#define TEGRA114_CLK_SBC1 41
|
||||
#define TEGRA114_CLK_NOR 42
|
||||
/* 43 */
|
||||
#define TEGRA114_CLK_SBC2 44
|
||||
/* 45 */
|
||||
#define TEGRA114_CLK_SBC3 46
|
||||
#define TEGRA114_CLK_I2C5 47
|
||||
#define TEGRA114_CLK_DSIA 48
|
||||
/* 49 */
|
||||
#define TEGRA114_CLK_MIPI 50
|
||||
#define TEGRA114_CLK_HDMI 51
|
||||
#define TEGRA114_CLK_CSI 52
|
||||
/* 53 */
|
||||
#define TEGRA114_CLK_I2C2 54
|
||||
#define TEGRA114_CLK_UARTC 55
|
||||
#define TEGRA114_CLK_MIPI_CAL 56
|
||||
#define TEGRA114_CLK_EMC 57
|
||||
#define TEGRA114_CLK_USB2 58
|
||||
#define TEGRA114_CLK_USB3 59
|
||||
/* 60 */
|
||||
#define TEGRA114_CLK_VDE 61
|
||||
#define TEGRA114_CLK_BSEA 62
|
||||
#define TEGRA114_CLK_BSEV 63
|
||||
|
||||
/* 64 */
|
||||
#define TEGRA114_CLK_UARTD 65
|
||||
/* 66 */
|
||||
#define TEGRA114_CLK_I2C3 67
|
||||
#define TEGRA114_CLK_SBC4 68
|
||||
#define TEGRA114_CLK_SDMMC3 69
|
||||
/* 70 */
|
||||
#define TEGRA114_CLK_OWR 71
|
||||
/* 72 */
|
||||
#define TEGRA114_CLK_CSITE 73
|
||||
/* 74 */
|
||||
/* 75 */
|
||||
#define TEGRA114_CLK_LA 76
|
||||
#define TEGRA114_CLK_TRACE 77
|
||||
#define TEGRA114_CLK_SOC_THERM 78
|
||||
#define TEGRA114_CLK_DTV 79
|
||||
#define TEGRA114_CLK_NDSPEED 80
|
||||
#define TEGRA114_CLK_I2CSLOW 81
|
||||
#define TEGRA114_CLK_DSIB 82
|
||||
#define TEGRA114_CLK_TSEC 83
|
||||
/* 84 */
|
||||
/* 85 */
|
||||
/* 86 */
|
||||
/* 87 */
|
||||
/* 88 */
|
||||
#define TEGRA114_CLK_XUSB_HOST 89
|
||||
/* 90 */
|
||||
#define TEGRA114_CLK_MSENC 91
|
||||
#define TEGRA114_CLK_CSUS 92
|
||||
/* 93 */
|
||||
/* 94 */
|
||||
/* 95 (bit affects xusb_dev and xusb_dev_src) */
|
||||
|
||||
/* 96 */
|
||||
/* 97 */
|
||||
/* 98 */
|
||||
#define TEGRA114_CLK_MSELECT 99
|
||||
#define TEGRA114_CLK_TSENSOR 100
|
||||
#define TEGRA114_CLK_I2S3 101
|
||||
#define TEGRA114_CLK_I2S4 102
|
||||
#define TEGRA114_CLK_I2C4 103
|
||||
#define TEGRA114_CLK_SBC5 104
|
||||
#define TEGRA114_CLK_SBC6 105
|
||||
#define TEGRA114_CLK_D_AUDIO 106
|
||||
#define TEGRA114_CLK_APBIF 107
|
||||
#define TEGRA114_CLK_DAM0 108
|
||||
#define TEGRA114_CLK_DAM1 109
|
||||
#define TEGRA114_CLK_DAM2 110
|
||||
#define TEGRA114_CLK_HDA2CODEC_2X 111
|
||||
/* 112 */
|
||||
#define TEGRA114_CLK_AUDIO0_2X 113
|
||||
#define TEGRA114_CLK_AUDIO1_2X 114
|
||||
#define TEGRA114_CLK_AUDIO2_2X 115
|
||||
#define TEGRA114_CLK_AUDIO3_2X 116
|
||||
#define TEGRA114_CLK_AUDIO4_2X 117
|
||||
#define TEGRA114_CLK_SPDIF_2X 118
|
||||
#define TEGRA114_CLK_ACTMON 119
|
||||
#define TEGRA114_CLK_EXTERN1 120
|
||||
#define TEGRA114_CLK_EXTERN2 121
|
||||
#define TEGRA114_CLK_EXTERN3 122
|
||||
/* 123 */
|
||||
/* 124 */
|
||||
#define TEGRA114_CLK_HDA 125
|
||||
/* 126 */
|
||||
#define TEGRA114_CLK_SE 127
|
||||
|
||||
#define TEGRA114_CLK_HDA2HDMI 128
|
||||
/* 129 */
|
||||
/* 130 */
|
||||
/* 131 */
|
||||
/* 132 */
|
||||
/* 133 */
|
||||
/* 134 */
|
||||
/* 135 */
|
||||
/* 136 */
|
||||
/* 137 */
|
||||
/* 138 */
|
||||
/* 139 */
|
||||
/* 140 */
|
||||
/* 141 */
|
||||
/* 142 */
|
||||
/* 143 (bit affects xusb_falcon_src, xusb_fs_src, */
|
||||
/* xusb_host_src and xusb_ss_src) */
|
||||
#define TEGRA114_CLK_CILAB 144
|
||||
#define TEGRA114_CLK_CILCD 145
|
||||
#define TEGRA114_CLK_CILE 146
|
||||
#define TEGRA114_CLK_DSIALP 147
|
||||
#define TEGRA114_CLK_DSIBLP 148
|
||||
/* 149 */
|
||||
#define TEGRA114_CLK_DDS 150
|
||||
/* 151 */
|
||||
#define TEGRA114_CLK_DP2 152
|
||||
#define TEGRA114_CLK_AMX 153
|
||||
#define TEGRA114_CLK_ADX 154
|
||||
/* 155 (bit affects dfll_ref and dfll_soc) */
|
||||
#define TEGRA114_CLK_XUSB_SS 156
|
||||
/* 157 */
|
||||
/* 158 */
|
||||
/* 159 */
|
||||
|
||||
/* 160 */
|
||||
/* 161 */
|
||||
/* 162 */
|
||||
/* 163 */
|
||||
/* 164 */
|
||||
/* 165 */
|
||||
/* 166 */
|
||||
/* 167 */
|
||||
/* 168 */
|
||||
/* 169 */
|
||||
/* 170 */
|
||||
/* 171 */
|
||||
/* 172 */
|
||||
/* 173 */
|
||||
/* 174 */
|
||||
/* 175 */
|
||||
/* 176 */
|
||||
/* 177 */
|
||||
/* 178 */
|
||||
/* 179 */
|
||||
/* 180 */
|
||||
/* 181 */
|
||||
/* 182 */
|
||||
/* 183 */
|
||||
/* 184 */
|
||||
/* 185 */
|
||||
/* 186 */
|
||||
/* 187 */
|
||||
/* 188 */
|
||||
/* 189 */
|
||||
/* 190 */
|
||||
/* 191 */
|
||||
|
||||
#define TEGRA114_CLK_UARTB 192
|
||||
#define TEGRA114_CLK_VFIR 193
|
||||
#define TEGRA114_CLK_SPDIF_IN 194
|
||||
#define TEGRA114_CLK_SPDIF_OUT 195
|
||||
#define TEGRA114_CLK_VI 196
|
||||
#define TEGRA114_CLK_VI_SENSOR 197
|
||||
#define TEGRA114_CLK_FUSE 198
|
||||
#define TEGRA114_CLK_FUSE_BURN 199
|
||||
#define TEGRA114_CLK_CLK_32K 200
|
||||
#define TEGRA114_CLK_CLK_M 201
|
||||
#define TEGRA114_CLK_CLK_M_DIV2 202
|
||||
#define TEGRA114_CLK_CLK_M_DIV4 203
|
||||
#define TEGRA114_CLK_PLL_REF 204
|
||||
#define TEGRA114_CLK_PLL_C 205
|
||||
#define TEGRA114_CLK_PLL_C_OUT1 206
|
||||
#define TEGRA114_CLK_PLL_C2 207
|
||||
#define TEGRA114_CLK_PLL_C3 208
|
||||
#define TEGRA114_CLK_PLL_M 209
|
||||
#define TEGRA114_CLK_PLL_M_OUT1 210
|
||||
#define TEGRA114_CLK_PLL_P 211
|
||||
#define TEGRA114_CLK_PLL_P_OUT1 212
|
||||
#define TEGRA114_CLK_PLL_P_OUT2 213
|
||||
#define TEGRA114_CLK_PLL_P_OUT3 214
|
||||
#define TEGRA114_CLK_PLL_P_OUT4 215
|
||||
#define TEGRA114_CLK_PLL_A 216
|
||||
#define TEGRA114_CLK_PLL_A_OUT0 217
|
||||
#define TEGRA114_CLK_PLL_D 218
|
||||
#define TEGRA114_CLK_PLL_D_OUT0 219
|
||||
#define TEGRA114_CLK_PLL_D2 220
|
||||
#define TEGRA114_CLK_PLL_D2_OUT0 221
|
||||
#define TEGRA114_CLK_PLL_U 222
|
||||
#define TEGRA114_CLK_PLL_U_480M 223
|
||||
|
||||
#define TEGRA114_CLK_PLL_U_60M 224
|
||||
#define TEGRA114_CLK_PLL_U_48M 225
|
||||
#define TEGRA114_CLK_PLL_U_12M 226
|
||||
#define TEGRA114_CLK_PLL_X 227
|
||||
#define TEGRA114_CLK_PLL_X_OUT0 228
|
||||
#define TEGRA114_CLK_PLL_RE_VCO 229
|
||||
#define TEGRA114_CLK_PLL_RE_OUT 230
|
||||
#define TEGRA114_CLK_PLL_E_OUT0 231
|
||||
#define TEGRA114_CLK_SPDIF_IN_SYNC 232
|
||||
#define TEGRA114_CLK_I2S0_SYNC 233
|
||||
#define TEGRA114_CLK_I2S1_SYNC 234
|
||||
#define TEGRA114_CLK_I2S2_SYNC 235
|
||||
#define TEGRA114_CLK_I2S3_SYNC 236
|
||||
#define TEGRA114_CLK_I2S4_SYNC 237
|
||||
#define TEGRA114_CLK_VIMCLK_SYNC 238
|
||||
#define TEGRA114_CLK_AUDIO0 239
|
||||
#define TEGRA114_CLK_AUDIO1 240
|
||||
#define TEGRA114_CLK_AUDIO2 241
|
||||
#define TEGRA114_CLK_AUDIO3 242
|
||||
#define TEGRA114_CLK_AUDIO4 243
|
||||
#define TEGRA114_CLK_SPDIF 244
|
||||
#define TEGRA114_CLK_CLK_OUT_1 245
|
||||
#define TEGRA114_CLK_CLK_OUT_2 246
|
||||
#define TEGRA114_CLK_CLK_OUT_3 247
|
||||
#define TEGRA114_CLK_BLINK 248
|
||||
/* 249 */
|
||||
/* 250 */
|
||||
/* 251 */
|
||||
#define TEGRA114_CLK_XUSB_HOST_SRC 252
|
||||
#define TEGRA114_CLK_XUSB_FALCON_SRC 253
|
||||
#define TEGRA114_CLK_XUSB_FS_SRC 254
|
||||
#define TEGRA114_CLK_XUSB_SS_SRC 255
|
||||
|
||||
#define TEGRA114_CLK_XUSB_DEV_SRC 256
|
||||
#define TEGRA114_CLK_XUSB_DEV 257
|
||||
#define TEGRA114_CLK_XUSB_HS_SRC 258
|
||||
#define TEGRA114_CLK_SCLK 259
|
||||
#define TEGRA114_CLK_HCLK 260
|
||||
#define TEGRA114_CLK_PCLK 261
|
||||
#define TEGRA114_CLK_CCLK_G 262
|
||||
#define TEGRA114_CLK_CCLK_LP 263
|
||||
#define TEGRA114_CLK_DFLL_REF 264
|
||||
#define TEGRA114_CLK_DFLL_SOC 265
|
||||
/* 266 */
|
||||
/* 267 */
|
||||
/* 268 */
|
||||
/* 269 */
|
||||
/* 270 */
|
||||
/* 271 */
|
||||
/* 272 */
|
||||
/* 273 */
|
||||
/* 274 */
|
||||
/* 275 */
|
||||
/* 276 */
|
||||
/* 277 */
|
||||
/* 278 */
|
||||
/* 279 */
|
||||
/* 280 */
|
||||
/* 281 */
|
||||
/* 282 */
|
||||
/* 283 */
|
||||
/* 284 */
|
||||
/* 285 */
|
||||
/* 286 */
|
||||
/* 287 */
|
||||
|
||||
/* 288 */
|
||||
/* 289 */
|
||||
/* 290 */
|
||||
/* 291 */
|
||||
/* 292 */
|
||||
/* 293 */
|
||||
/* 294 */
|
||||
/* 295 */
|
||||
/* 296 */
|
||||
/* 297 */
|
||||
/* 298 */
|
||||
/* 299 */
|
||||
#define TEGRA114_CLK_AUDIO0_MUX 300
|
||||
#define TEGRA114_CLK_AUDIO1_MUX 301
|
||||
#define TEGRA114_CLK_AUDIO2_MUX 302
|
||||
#define TEGRA114_CLK_AUDIO3_MUX 303
|
||||
#define TEGRA114_CLK_AUDIO4_MUX 304
|
||||
#define TEGRA114_CLK_SPDIF_MUX 305
|
||||
#define TEGRA114_CLK_CLK_OUT_1_MUX 306
|
||||
#define TEGRA114_CLK_CLK_OUT_2_MUX 307
|
||||
#define TEGRA114_CLK_CLK_OUT_3_MUX 308
|
||||
#define TEGRA114_CLK_DSIA_MUX 309
|
||||
#define TEGRA114_CLK_DSIB_MUX 310
|
||||
#define TEGRA114_CLK_CLK_MAX 311
|
||||
|
||||
#endif /* _DT_BINDINGS_CLOCK_TEGRA114_CAR_H */
|
||||
342
include/dt-bindings/clock/tegra124-car.h
Normal file
342
include/dt-bindings/clock/tegra124-car.h
Normal file
@@ -0,0 +1,342 @@
|
||||
/*
|
||||
* This header provides constants for binding nvidia,tegra124-car.
|
||||
*
|
||||
* The first 192 clocks are numbered to match the bits in the CAR's CLK_OUT_ENB
|
||||
* registers. These IDs often match those in the CAR's RST_DEVICES registers,
|
||||
* but not in all cases. Some bits in CLK_OUT_ENB affect multiple clocks. In
|
||||
* this case, those clocks are assigned IDs above 185 in order to highlight
|
||||
* this issue. Implementations that interpret these clock IDs as bit values
|
||||
* within the CLK_OUT_ENB or RST_DEVICES registers should be careful to
|
||||
* explicitly handle these special cases.
|
||||
*
|
||||
* The balance of the clocks controlled by the CAR are assigned IDs of 185 and
|
||||
* above.
|
||||
*/
|
||||
|
||||
#ifndef _DT_BINDINGS_CLOCK_TEGRA124_CAR_H
|
||||
#define _DT_BINDINGS_CLOCK_TEGRA124_CAR_H
|
||||
|
||||
/* 0 */
|
||||
/* 1 */
|
||||
/* 2 */
|
||||
#define TEGRA124_CLK_ISPB 3
|
||||
#define TEGRA124_CLK_RTC 4
|
||||
#define TEGRA124_CLK_TIMER 5
|
||||
#define TEGRA124_CLK_UARTA 6
|
||||
/* 7 (register bit affects uartb and vfir) */
|
||||
/* 8 */
|
||||
#define TEGRA124_CLK_SDMMC2 9
|
||||
/* 10 (register bit affects spdif_in and spdif_out) */
|
||||
#define TEGRA124_CLK_I2S1 11
|
||||
#define TEGRA124_CLK_I2C1 12
|
||||
#define TEGRA124_CLK_NDFLASH 13
|
||||
#define TEGRA124_CLK_SDMMC1 14
|
||||
#define TEGRA124_CLK_SDMMC4 15
|
||||
/* 16 */
|
||||
#define TEGRA124_CLK_PWM 17
|
||||
#define TEGRA124_CLK_I2S2 18
|
||||
/* 20 (register bit affects vi and vi_sensor) */
|
||||
/* 21 */
|
||||
#define TEGRA124_CLK_USBD 22
|
||||
#define TEGRA124_CLK_ISP 23
|
||||
/* 26 */
|
||||
/* 25 */
|
||||
#define TEGRA124_CLK_DISP2 26
|
||||
#define TEGRA124_CLK_DISP1 27
|
||||
#define TEGRA124_CLK_HOST1X 28
|
||||
#define TEGRA124_CLK_VCP 29
|
||||
#define TEGRA124_CLK_I2S0 30
|
||||
/* 31 */
|
||||
|
||||
/* 32 */
|
||||
/* 33 */
|
||||
#define TEGRA124_CLK_APBDMA 34
|
||||
/* 35 */
|
||||
#define TEGRA124_CLK_KBC 36
|
||||
/* 37 */
|
||||
/* 38 */
|
||||
/* 39 (register bit affects fuse and fuse_burn) */
|
||||
#define TEGRA124_CLK_KFUSE 40
|
||||
#define TEGRA124_CLK_SBC1 41
|
||||
#define TEGRA124_CLK_NOR 42
|
||||
/* 43 */
|
||||
#define TEGRA124_CLK_SBC2 44
|
||||
/* 45 */
|
||||
#define TEGRA124_CLK_SBC3 46
|
||||
#define TEGRA124_CLK_I2C5 47
|
||||
#define TEGRA124_CLK_DSIA 48
|
||||
/* 49 */
|
||||
#define TEGRA124_CLK_MIPI 50
|
||||
#define TEGRA124_CLK_HDMI 51
|
||||
#define TEGRA124_CLK_CSI 52
|
||||
/* 53 */
|
||||
#define TEGRA124_CLK_I2C2 54
|
||||
#define TEGRA124_CLK_UARTC 55
|
||||
#define TEGRA124_CLK_MIPI_CAL 56
|
||||
#define TEGRA124_CLK_EMC 57
|
||||
#define TEGRA124_CLK_USB2 58
|
||||
#define TEGRA124_CLK_USB3 59
|
||||
/* 60 */
|
||||
#define TEGRA124_CLK_VDE 61
|
||||
#define TEGRA124_CLK_BSEA 62
|
||||
#define TEGRA124_CLK_BSEV 63
|
||||
|
||||
/* 64 */
|
||||
#define TEGRA124_CLK_UARTD 65
|
||||
#define TEGRA124_CLK_UARTE 66
|
||||
#define TEGRA124_CLK_I2C3 67
|
||||
#define TEGRA124_CLK_SBC4 68
|
||||
#define TEGRA124_CLK_SDMMC3 69
|
||||
#define TEGRA124_CLK_PCIE 70
|
||||
#define TEGRA124_CLK_OWR 71
|
||||
#define TEGRA124_CLK_AFI 72
|
||||
#define TEGRA124_CLK_CSITE 73
|
||||
/* 74 */
|
||||
/* 75 */
|
||||
#define TEGRA124_CLK_LA 76
|
||||
#define TEGRA124_CLK_TRACE 77
|
||||
#define TEGRA124_CLK_SOC_THERM 78
|
||||
#define TEGRA124_CLK_DTV 79
|
||||
#define TEGRA124_CLK_NDSPEED 80
|
||||
#define TEGRA124_CLK_I2CSLOW 81
|
||||
#define TEGRA124_CLK_DSIB 82
|
||||
#define TEGRA124_CLK_TSEC 83
|
||||
/* 84 */
|
||||
/* 85 */
|
||||
/* 86 */
|
||||
/* 87 */
|
||||
/* 88 */
|
||||
#define TEGRA124_CLK_XUSB_HOST 89
|
||||
/* 90 */
|
||||
#define TEGRA124_CLK_MSENC 91
|
||||
#define TEGRA124_CLK_CSUS 92
|
||||
/* 93 */
|
||||
/* 94 */
|
||||
/* 95 (bit affects xusb_dev and xusb_dev_src) */
|
||||
|
||||
/* 96 */
|
||||
/* 97 */
|
||||
/* 98 */
|
||||
#define TEGRA124_CLK_MSELECT 99
|
||||
#define TEGRA124_CLK_TSENSOR 100
|
||||
#define TEGRA124_CLK_I2S3 101
|
||||
#define TEGRA124_CLK_I2S4 102
|
||||
#define TEGRA124_CLK_I2C4 103
|
||||
#define TEGRA124_CLK_SBC5 104
|
||||
#define TEGRA124_CLK_SBC6 105
|
||||
#define TEGRA124_CLK_D_AUDIO 106
|
||||
#define TEGRA124_CLK_APBIF 107
|
||||
#define TEGRA124_CLK_DAM0 108
|
||||
#define TEGRA124_CLK_DAM1 109
|
||||
#define TEGRA124_CLK_DAM2 110
|
||||
#define TEGRA124_CLK_HDA2CODEC_2X 111
|
||||
/* 112 */
|
||||
#define TEGRA124_CLK_AUDIO0_2X 113
|
||||
#define TEGRA124_CLK_AUDIO1_2X 114
|
||||
#define TEGRA124_CLK_AUDIO2_2X 115
|
||||
#define TEGRA124_CLK_AUDIO3_2X 116
|
||||
#define TEGRA124_CLK_AUDIO4_2X 117
|
||||
#define TEGRA124_CLK_SPDIF_2X 118
|
||||
#define TEGRA124_CLK_ACTMON 119
|
||||
#define TEGRA124_CLK_EXTERN1 120
|
||||
#define TEGRA124_CLK_EXTERN2 121
|
||||
#define TEGRA124_CLK_EXTERN3 122
|
||||
#define TEGRA124_CLK_SATA_OOB 123
|
||||
#define TEGRA124_CLK_SATA 124
|
||||
#define TEGRA124_CLK_HDA 125
|
||||
/* 126 */
|
||||
#define TEGRA124_CLK_SE 127
|
||||
|
||||
#define TEGRA124_CLK_HDA2HDMI 128
|
||||
#define TEGRA124_CLK_SATA_COLD 129
|
||||
/* 130 */
|
||||
/* 131 */
|
||||
/* 132 */
|
||||
/* 133 */
|
||||
/* 134 */
|
||||
/* 135 */
|
||||
/* 136 */
|
||||
/* 137 */
|
||||
/* 138 */
|
||||
/* 139 */
|
||||
/* 140 */
|
||||
/* 141 */
|
||||
/* 142 */
|
||||
/* 143 (bit affects xusb_falcon_src, xusb_fs_src, */
|
||||
/* xusb_host_src and xusb_ss_src) */
|
||||
#define TEGRA124_CLK_CILAB 144
|
||||
#define TEGRA124_CLK_CILCD 145
|
||||
#define TEGRA124_CLK_CILE 146
|
||||
#define TEGRA124_CLK_DSIALP 147
|
||||
#define TEGRA124_CLK_DSIBLP 148
|
||||
#define TEGRA124_CLK_ENTROPY 149
|
||||
#define TEGRA124_CLK_DDS 150
|
||||
/* 151 */
|
||||
#define TEGRA124_CLK_DP2 152
|
||||
#define TEGRA124_CLK_AMX 153
|
||||
#define TEGRA124_CLK_ADX 154
|
||||
/* 155 (bit affects dfll_ref and dfll_soc) */
|
||||
#define TEGRA124_CLK_XUSB_SS 156
|
||||
/* 157 */
|
||||
/* 158 */
|
||||
/* 159 */
|
||||
|
||||
/* 160 */
|
||||
/* 161 */
|
||||
/* 162 */
|
||||
/* 163 */
|
||||
/* 164 */
|
||||
/* 165 */
|
||||
#define TEGRA124_CLK_I2C6 166
|
||||
/* 167 */
|
||||
/* 168 */
|
||||
/* 169 */
|
||||
/* 170 */
|
||||
#define TEGRA124_CLK_VIM2_CLK 171
|
||||
/* 172 */
|
||||
/* 173 */
|
||||
/* 174 */
|
||||
/* 175 */
|
||||
#define TEGRA124_CLK_HDMI_AUDIO 176
|
||||
#define TEGRA124_CLK_CLK72MHZ 177
|
||||
#define TEGRA124_CLK_VIC03 178
|
||||
/* 179 */
|
||||
#define TEGRA124_CLK_ADX1 180
|
||||
#define TEGRA124_CLK_DPAUX 181
|
||||
#define TEGRA124_CLK_SOR0 182
|
||||
/* 183 */
|
||||
#define TEGRA124_CLK_GPU 184
|
||||
#define TEGRA124_CLK_AMX1 185
|
||||
#define TEGRA124_CLK_AFC0 186
|
||||
#define TEGRA124_CLK_AFC1 187
|
||||
#define TEGRA124_CLK_AFC2 188
|
||||
#define TEGRA124_CLK_AFC3 189
|
||||
#define TEGRA124_CLK_AFC4 190
|
||||
#define TEGRA124_CLK_AFC5 191
|
||||
#define TEGRA124_CLK_UARTB 192
|
||||
#define TEGRA124_CLK_VFIR 193
|
||||
#define TEGRA124_CLK_SPDIF_IN 194
|
||||
#define TEGRA124_CLK_SPDIF_OUT 195
|
||||
#define TEGRA124_CLK_VI 196
|
||||
#define TEGRA124_CLK_VI_SENSOR 197
|
||||
#define TEGRA124_CLK_FUSE 198
|
||||
#define TEGRA124_CLK_FUSE_BURN 199
|
||||
#define TEGRA124_CLK_CLK_32K 200
|
||||
#define TEGRA124_CLK_CLK_M 201
|
||||
#define TEGRA124_CLK_CLK_M_DIV2 202
|
||||
#define TEGRA124_CLK_CLK_M_DIV4 203
|
||||
#define TEGRA124_CLK_PLL_REF 204
|
||||
#define TEGRA124_CLK_PLL_C 205
|
||||
#define TEGRA124_CLK_PLL_C_OUT1 206
|
||||
#define TEGRA124_CLK_PLL_C2 207
|
||||
#define TEGRA124_CLK_PLL_C3 208
|
||||
#define TEGRA124_CLK_PLL_M 209
|
||||
#define TEGRA124_CLK_PLL_M_OUT1 210
|
||||
#define TEGRA124_CLK_PLL_P 211
|
||||
#define TEGRA124_CLK_PLL_P_OUT1 212
|
||||
#define TEGRA124_CLK_PLL_P_OUT2 213
|
||||
#define TEGRA124_CLK_PLL_P_OUT3 214
|
||||
#define TEGRA124_CLK_PLL_P_OUT4 215
|
||||
#define TEGRA124_CLK_PLL_A 216
|
||||
#define TEGRA124_CLK_PLL_A_OUT0 217
|
||||
#define TEGRA124_CLK_PLL_D 218
|
||||
#define TEGRA124_CLK_PLL_D_OUT0 219
|
||||
#define TEGRA124_CLK_PLL_D2 220
|
||||
#define TEGRA124_CLK_PLL_D2_OUT0 221
|
||||
#define TEGRA124_CLK_PLL_U 222
|
||||
#define TEGRA124_CLK_PLL_U_480M 223
|
||||
|
||||
#define TEGRA124_CLK_PLL_U_60M 224
|
||||
#define TEGRA124_CLK_PLL_U_48M 225
|
||||
#define TEGRA124_CLK_PLL_U_12M 226
|
||||
#define TEGRA124_CLK_PLL_X 227
|
||||
#define TEGRA124_CLK_PLL_X_OUT0 228
|
||||
#define TEGRA124_CLK_PLL_RE_VCO 229
|
||||
#define TEGRA124_CLK_PLL_RE_OUT 230
|
||||
#define TEGRA124_CLK_PLL_E 231
|
||||
#define TEGRA124_CLK_SPDIF_IN_SYNC 232
|
||||
#define TEGRA124_CLK_I2S0_SYNC 233
|
||||
#define TEGRA124_CLK_I2S1_SYNC 234
|
||||
#define TEGRA124_CLK_I2S2_SYNC 235
|
||||
#define TEGRA124_CLK_I2S3_SYNC 236
|
||||
#define TEGRA124_CLK_I2S4_SYNC 237
|
||||
#define TEGRA124_CLK_VIMCLK_SYNC 238
|
||||
#define TEGRA124_CLK_AUDIO0 239
|
||||
#define TEGRA124_CLK_AUDIO1 240
|
||||
#define TEGRA124_CLK_AUDIO2 241
|
||||
#define TEGRA124_CLK_AUDIO3 242
|
||||
#define TEGRA124_CLK_AUDIO4 243
|
||||
#define TEGRA124_CLK_SPDIF 244
|
||||
#define TEGRA124_CLK_CLK_OUT_1 245
|
||||
#define TEGRA124_CLK_CLK_OUT_2 246
|
||||
#define TEGRA124_CLK_CLK_OUT_3 247
|
||||
#define TEGRA124_CLK_BLINK 248
|
||||
/* 249 */
|
||||
/* 250 */
|
||||
/* 251 */
|
||||
#define TEGRA124_CLK_XUSB_HOST_SRC 252
|
||||
#define TEGRA124_CLK_XUSB_FALCON_SRC 253
|
||||
#define TEGRA124_CLK_XUSB_FS_SRC 254
|
||||
#define TEGRA124_CLK_XUSB_SS_SRC 255
|
||||
|
||||
#define TEGRA124_CLK_XUSB_DEV_SRC 256
|
||||
#define TEGRA124_CLK_XUSB_DEV 257
|
||||
#define TEGRA124_CLK_XUSB_HS_SRC 258
|
||||
#define TEGRA124_CLK_SCLK 259
|
||||
#define TEGRA124_CLK_HCLK 260
|
||||
#define TEGRA124_CLK_PCLK 261
|
||||
#define TEGRA124_CLK_CCLK_G 262
|
||||
#define TEGRA124_CLK_CCLK_LP 263
|
||||
#define TEGRA124_CLK_DFLL_REF 264
|
||||
#define TEGRA124_CLK_DFLL_SOC 265
|
||||
#define TEGRA124_CLK_VI_SENSOR2 266
|
||||
#define TEGRA124_CLK_PLL_P_OUT5 267
|
||||
#define TEGRA124_CLK_CML0 268
|
||||
#define TEGRA124_CLK_CML1 269
|
||||
#define TEGRA124_CLK_PLL_C4 270
|
||||
#define TEGRA124_CLK_PLL_DP 271
|
||||
#define TEGRA124_CLK_PLL_E_MUX 272
|
||||
/* 273 */
|
||||
/* 274 */
|
||||
/* 275 */
|
||||
/* 276 */
|
||||
/* 277 */
|
||||
/* 278 */
|
||||
/* 279 */
|
||||
/* 280 */
|
||||
/* 281 */
|
||||
/* 282 */
|
||||
/* 283 */
|
||||
/* 284 */
|
||||
/* 285 */
|
||||
/* 286 */
|
||||
/* 287 */
|
||||
|
||||
/* 288 */
|
||||
/* 289 */
|
||||
/* 290 */
|
||||
/* 291 */
|
||||
/* 292 */
|
||||
/* 293 */
|
||||
/* 294 */
|
||||
/* 295 */
|
||||
/* 296 */
|
||||
/* 297 */
|
||||
/* 298 */
|
||||
/* 299 */
|
||||
#define TEGRA124_CLK_AUDIO0_MUX 300
|
||||
#define TEGRA124_CLK_AUDIO1_MUX 301
|
||||
#define TEGRA124_CLK_AUDIO2_MUX 302
|
||||
#define TEGRA124_CLK_AUDIO3_MUX 303
|
||||
#define TEGRA124_CLK_AUDIO4_MUX 304
|
||||
#define TEGRA124_CLK_SPDIF_MUX 305
|
||||
#define TEGRA124_CLK_CLK_OUT_1_MUX 306
|
||||
#define TEGRA124_CLK_CLK_OUT_2_MUX 307
|
||||
#define TEGRA124_CLK_CLK_OUT_3_MUX 308
|
||||
#define TEGRA124_CLK_DSIA_MUX 309
|
||||
#define TEGRA124_CLK_DSIB_MUX 310
|
||||
#define TEGRA124_CLK_SOR0_LVDS 311
|
||||
#define TEGRA124_CLK_PLL_M_UD 311
|
||||
#define TEGRA124_CLK_CLK_MAX 312
|
||||
|
||||
#endif /* _DT_BINDINGS_CLOCK_TEGRA124_CAR_H */
|
||||
158
include/dt-bindings/clock/tegra20-car.h
Normal file
158
include/dt-bindings/clock/tegra20-car.h
Normal file
@@ -0,0 +1,158 @@
|
||||
/*
|
||||
* This header provides constants for binding nvidia,tegra20-car.
|
||||
*
|
||||
* The first 96 clocks are numbered to match the bits in the CAR's CLK_OUT_ENB
|
||||
* registers. These IDs often match those in the CAR's RST_DEVICES registers,
|
||||
* but not in all cases. Some bits in CLK_OUT_ENB affect multiple clocks. In
|
||||
* this case, those clocks are assigned IDs above 95 in order to highlight
|
||||
* this issue. Implementations that interpret these clock IDs as bit values
|
||||
* within the CLK_OUT_ENB or RST_DEVICES registers should be careful to
|
||||
* explicitly handle these special cases.
|
||||
*
|
||||
* The balance of the clocks controlled by the CAR are assigned IDs of 96 and
|
||||
* above.
|
||||
*/
|
||||
|
||||
#ifndef _DT_BINDINGS_CLOCK_TEGRA20_CAR_H
|
||||
#define _DT_BINDINGS_CLOCK_TEGRA20_CAR_H
|
||||
|
||||
#define TEGRA20_CLK_CPU 0
|
||||
/* 1 */
|
||||
/* 2 */
|
||||
#define TEGRA20_CLK_AC97 3
|
||||
#define TEGRA20_CLK_RTC 4
|
||||
#define TEGRA20_CLK_TIMER 5
|
||||
#define TEGRA20_CLK_UARTA 6
|
||||
/* 7 (register bit affects uart2 and vfir) */
|
||||
#define TEGRA20_CLK_GPIO 8
|
||||
#define TEGRA20_CLK_SDMMC2 9
|
||||
/* 10 (register bit affects spdif_in and spdif_out) */
|
||||
#define TEGRA20_CLK_I2S1 11
|
||||
#define TEGRA20_CLK_I2C1 12
|
||||
#define TEGRA20_CLK_NDFLASH 13
|
||||
#define TEGRA20_CLK_SDMMC1 14
|
||||
#define TEGRA20_CLK_SDMMC4 15
|
||||
#define TEGRA20_CLK_TWC 16
|
||||
#define TEGRA20_CLK_PWM 17
|
||||
#define TEGRA20_CLK_I2S2 18
|
||||
#define TEGRA20_CLK_EPP 19
|
||||
/* 20 (register bit affects vi and vi_sensor) */
|
||||
#define TEGRA20_CLK_GR2D 21
|
||||
#define TEGRA20_CLK_USBD 22
|
||||
#define TEGRA20_CLK_ISP 23
|
||||
#define TEGRA20_CLK_GR3D 24
|
||||
#define TEGRA20_CLK_IDE 25
|
||||
#define TEGRA20_CLK_DISP2 26
|
||||
#define TEGRA20_CLK_DISP1 27
|
||||
#define TEGRA20_CLK_HOST1X 28
|
||||
#define TEGRA20_CLK_VCP 29
|
||||
/* 30 */
|
||||
#define TEGRA20_CLK_CACHE2 31
|
||||
|
||||
#define TEGRA20_CLK_MEM 32
|
||||
#define TEGRA20_CLK_AHBDMA 33
|
||||
#define TEGRA20_CLK_APBDMA 34
|
||||
/* 35 */
|
||||
#define TEGRA20_CLK_KBC 36
|
||||
#define TEGRA20_CLK_STAT_MON 37
|
||||
#define TEGRA20_CLK_PMC 38
|
||||
#define TEGRA20_CLK_FUSE 39
|
||||
#define TEGRA20_CLK_KFUSE 40
|
||||
#define TEGRA20_CLK_SBC1 41
|
||||
#define TEGRA20_CLK_NOR 42
|
||||
#define TEGRA20_CLK_SPI 43
|
||||
#define TEGRA20_CLK_SBC2 44
|
||||
#define TEGRA20_CLK_XIO 45
|
||||
#define TEGRA20_CLK_SBC3 46
|
||||
#define TEGRA20_CLK_DVC 47
|
||||
#define TEGRA20_CLK_DSI 48
|
||||
/* 49 (register bit affects tvo and cve) */
|
||||
#define TEGRA20_CLK_MIPI 50
|
||||
#define TEGRA20_CLK_HDMI 51
|
||||
#define TEGRA20_CLK_CSI 52
|
||||
#define TEGRA20_CLK_TVDAC 53
|
||||
#define TEGRA20_CLK_I2C2 54
|
||||
#define TEGRA20_CLK_UARTC 55
|
||||
/* 56 */
|
||||
#define TEGRA20_CLK_EMC 57
|
||||
#define TEGRA20_CLK_USB2 58
|
||||
#define TEGRA20_CLK_USB3 59
|
||||
#define TEGRA20_CLK_MPE 60
|
||||
#define TEGRA20_CLK_VDE 61
|
||||
#define TEGRA20_CLK_BSEA 62
|
||||
#define TEGRA20_CLK_BSEV 63
|
||||
|
||||
#define TEGRA20_CLK_SPEEDO 64
|
||||
#define TEGRA20_CLK_UARTD 65
|
||||
#define TEGRA20_CLK_UARTE 66
|
||||
#define TEGRA20_CLK_I2C3 67
|
||||
#define TEGRA20_CLK_SBC4 68
|
||||
#define TEGRA20_CLK_SDMMC3 69
|
||||
#define TEGRA20_CLK_PEX 70
|
||||
#define TEGRA20_CLK_OWR 71
|
||||
#define TEGRA20_CLK_AFI 72
|
||||
#define TEGRA20_CLK_CSITE 73
|
||||
/* 74 */
|
||||
#define TEGRA20_CLK_AVPUCQ 75
|
||||
#define TEGRA20_CLK_LA 76
|
||||
/* 77 */
|
||||
/* 78 */
|
||||
/* 79 */
|
||||
/* 80 */
|
||||
/* 81 */
|
||||
/* 82 */
|
||||
/* 83 */
|
||||
#define TEGRA20_CLK_IRAMA 84
|
||||
#define TEGRA20_CLK_IRAMB 85
|
||||
#define TEGRA20_CLK_IRAMC 86
|
||||
#define TEGRA20_CLK_IRAMD 87
|
||||
#define TEGRA20_CLK_CRAM2 88
|
||||
#define TEGRA20_CLK_AUDIO_2X 89 /* a/k/a audio_2x_sync_clk */
|
||||
#define TEGRA20_CLK_CLK_D 90
|
||||
/* 91 */
|
||||
#define TEGRA20_CLK_CSUS 92
|
||||
#define TEGRA20_CLK_CDEV2 93
|
||||
#define TEGRA20_CLK_CDEV1 94
|
||||
/* 95 */
|
||||
|
||||
#define TEGRA20_CLK_UARTB 96
|
||||
#define TEGRA20_CLK_VFIR 97
|
||||
#define TEGRA20_CLK_SPDIF_IN 98
|
||||
#define TEGRA20_CLK_SPDIF_OUT 99
|
||||
#define TEGRA20_CLK_VI 100
|
||||
#define TEGRA20_CLK_VI_SENSOR 101
|
||||
#define TEGRA20_CLK_TVO 102
|
||||
#define TEGRA20_CLK_CVE 103
|
||||
#define TEGRA20_CLK_OSC 104
|
||||
#define TEGRA20_CLK_CLK_32K 105 /* a/k/a clk_s */
|
||||
#define TEGRA20_CLK_CLK_M 106
|
||||
#define TEGRA20_CLK_SCLK 107
|
||||
#define TEGRA20_CLK_CCLK 108
|
||||
#define TEGRA20_CLK_HCLK 109
|
||||
#define TEGRA20_CLK_PCLK 110
|
||||
#define TEGRA20_CLK_BLINK 111
|
||||
#define TEGRA20_CLK_PLL_A 112
|
||||
#define TEGRA20_CLK_PLL_A_OUT0 113
|
||||
#define TEGRA20_CLK_PLL_C 114
|
||||
#define TEGRA20_CLK_PLL_C_OUT1 115
|
||||
#define TEGRA20_CLK_PLL_D 116
|
||||
#define TEGRA20_CLK_PLL_D_OUT0 117
|
||||
#define TEGRA20_CLK_PLL_E 118
|
||||
#define TEGRA20_CLK_PLL_M 119
|
||||
#define TEGRA20_CLK_PLL_M_OUT1 120
|
||||
#define TEGRA20_CLK_PLL_P 121
|
||||
#define TEGRA20_CLK_PLL_P_OUT1 122
|
||||
#define TEGRA20_CLK_PLL_P_OUT2 123
|
||||
#define TEGRA20_CLK_PLL_P_OUT3 124
|
||||
#define TEGRA20_CLK_PLL_P_OUT4 125
|
||||
#define TEGRA20_CLK_PLL_S 126
|
||||
#define TEGRA20_CLK_PLL_U 127
|
||||
|
||||
#define TEGRA20_CLK_PLL_X 128
|
||||
#define TEGRA20_CLK_COP 129 /* a/k/a avp */
|
||||
#define TEGRA20_CLK_AUDIO 130 /* a/k/a audio_sync_clk */
|
||||
#define TEGRA20_CLK_PLL_REF 131
|
||||
#define TEGRA20_CLK_TWD 132
|
||||
#define TEGRA20_CLK_CLK_MAX 133
|
||||
|
||||
#endif /* _DT_BINDINGS_CLOCK_TEGRA20_CAR_H */
|
||||
273
include/dt-bindings/clock/tegra30-car.h
Normal file
273
include/dt-bindings/clock/tegra30-car.h
Normal file
@@ -0,0 +1,273 @@
|
||||
/*
|
||||
* This header provides constants for binding nvidia,tegra30-car.
|
||||
*
|
||||
* The first 130 clocks are numbered to match the bits in the CAR's CLK_OUT_ENB
|
||||
* registers. These IDs often match those in the CAR's RST_DEVICES registers,
|
||||
* but not in all cases. Some bits in CLK_OUT_ENB affect multiple clocks. In
|
||||
* this case, those clocks are assigned IDs above 160 in order to highlight
|
||||
* this issue. Implementations that interpret these clock IDs as bit values
|
||||
* within the CLK_OUT_ENB or RST_DEVICES registers should be careful to
|
||||
* explicitly handle these special cases.
|
||||
*
|
||||
* The balance of the clocks controlled by the CAR are assigned IDs of 160 and
|
||||
* above.
|
||||
*/
|
||||
|
||||
#ifndef _DT_BINDINGS_CLOCK_TEGRA30_CAR_H
|
||||
#define _DT_BINDINGS_CLOCK_TEGRA30_CAR_H
|
||||
|
||||
#define TEGRA30_CLK_CPU 0
|
||||
/* 1 */
|
||||
/* 2 */
|
||||
/* 3 */
|
||||
#define TEGRA30_CLK_RTC 4
|
||||
#define TEGRA30_CLK_TIMER 5
|
||||
#define TEGRA30_CLK_UARTA 6
|
||||
/* 7 (register bit affects uartb and vfir) */
|
||||
#define TEGRA30_CLK_GPIO 8
|
||||
#define TEGRA30_CLK_SDMMC2 9
|
||||
/* 10 (register bit affects spdif_in and spdif_out) */
|
||||
#define TEGRA30_CLK_I2S1 11
|
||||
#define TEGRA30_CLK_I2C1 12
|
||||
#define TEGRA30_CLK_NDFLASH 13
|
||||
#define TEGRA30_CLK_SDMMC1 14
|
||||
#define TEGRA30_CLK_SDMMC4 15
|
||||
/* 16 */
|
||||
#define TEGRA30_CLK_PWM 17
|
||||
#define TEGRA30_CLK_I2S2 18
|
||||
#define TEGRA30_CLK_EPP 19
|
||||
/* 20 (register bit affects vi and vi_sensor) */
|
||||
#define TEGRA30_CLK_GR2D 21
|
||||
#define TEGRA30_CLK_USBD 22
|
||||
#define TEGRA30_CLK_ISP 23
|
||||
#define TEGRA30_CLK_GR3D 24
|
||||
/* 25 */
|
||||
#define TEGRA30_CLK_DISP2 26
|
||||
#define TEGRA30_CLK_DISP1 27
|
||||
#define TEGRA30_CLK_HOST1X 28
|
||||
#define TEGRA30_CLK_VCP 29
|
||||
#define TEGRA30_CLK_I2S0 30
|
||||
#define TEGRA30_CLK_COP_CACHE 31
|
||||
|
||||
#define TEGRA30_CLK_MC 32
|
||||
#define TEGRA30_CLK_AHBDMA 33
|
||||
#define TEGRA30_CLK_APBDMA 34
|
||||
/* 35 */
|
||||
#define TEGRA30_CLK_KBC 36
|
||||
#define TEGRA30_CLK_STATMON 37
|
||||
#define TEGRA30_CLK_PMC 38
|
||||
/* 39 (register bit affects fuse and fuse_burn) */
|
||||
#define TEGRA30_CLK_KFUSE 40
|
||||
#define TEGRA30_CLK_SBC1 41
|
||||
#define TEGRA30_CLK_NOR 42
|
||||
/* 43 */
|
||||
#define TEGRA30_CLK_SBC2 44
|
||||
/* 45 */
|
||||
#define TEGRA30_CLK_SBC3 46
|
||||
#define TEGRA30_CLK_I2C5 47
|
||||
#define TEGRA30_CLK_DSIA 48
|
||||
/* 49 (register bit affects cve and tvo) */
|
||||
#define TEGRA30_CLK_MIPI 50
|
||||
#define TEGRA30_CLK_HDMI 51
|
||||
#define TEGRA30_CLK_CSI 52
|
||||
#define TEGRA30_CLK_TVDAC 53
|
||||
#define TEGRA30_CLK_I2C2 54
|
||||
#define TEGRA30_CLK_UARTC 55
|
||||
/* 56 */
|
||||
#define TEGRA30_CLK_EMC 57
|
||||
#define TEGRA30_CLK_USB2 58
|
||||
#define TEGRA30_CLK_USB3 59
|
||||
#define TEGRA30_CLK_MPE 60
|
||||
#define TEGRA30_CLK_VDE 61
|
||||
#define TEGRA30_CLK_BSEA 62
|
||||
#define TEGRA30_CLK_BSEV 63
|
||||
|
||||
#define TEGRA30_CLK_SPEEDO 64
|
||||
#define TEGRA30_CLK_UARTD 65
|
||||
#define TEGRA30_CLK_UARTE 66
|
||||
#define TEGRA30_CLK_I2C3 67
|
||||
#define TEGRA30_CLK_SBC4 68
|
||||
#define TEGRA30_CLK_SDMMC3 69
|
||||
#define TEGRA30_CLK_PCIE 70
|
||||
#define TEGRA30_CLK_OWR 71
|
||||
#define TEGRA30_CLK_AFI 72
|
||||
#define TEGRA30_CLK_CSITE 73
|
||||
/* 74 */
|
||||
#define TEGRA30_CLK_AVPUCQ 75
|
||||
#define TEGRA30_CLK_LA 76
|
||||
/* 77 */
|
||||
/* 78 */
|
||||
#define TEGRA30_CLK_DTV 79
|
||||
#define TEGRA30_CLK_NDSPEED 80
|
||||
#define TEGRA30_CLK_I2CSLOW 81
|
||||
#define TEGRA30_CLK_DSIB 82
|
||||
/* 83 */
|
||||
#define TEGRA30_CLK_IRAMA 84
|
||||
#define TEGRA30_CLK_IRAMB 85
|
||||
#define TEGRA30_CLK_IRAMC 86
|
||||
#define TEGRA30_CLK_IRAMD 87
|
||||
#define TEGRA30_CLK_CRAM2 88
|
||||
/* 89 */
|
||||
#define TEGRA30_CLK_AUDIO_2X 90 /* a/k/a audio_2x_sync_clk */
|
||||
/* 91 */
|
||||
#define TEGRA30_CLK_CSUS 92
|
||||
#define TEGRA30_CLK_CDEV2 93
|
||||
#define TEGRA30_CLK_CDEV1 94
|
||||
/* 95 */
|
||||
|
||||
#define TEGRA30_CLK_CPU_G 96
|
||||
#define TEGRA30_CLK_CPU_LP 97
|
||||
#define TEGRA30_CLK_GR3D2 98
|
||||
#define TEGRA30_CLK_MSELECT 99
|
||||
#define TEGRA30_CLK_TSENSOR 100
|
||||
#define TEGRA30_CLK_I2S3 101
|
||||
#define TEGRA30_CLK_I2S4 102
|
||||
#define TEGRA30_CLK_I2C4 103
|
||||
#define TEGRA30_CLK_SBC5 104
|
||||
#define TEGRA30_CLK_SBC6 105
|
||||
#define TEGRA30_CLK_D_AUDIO 106
|
||||
#define TEGRA30_CLK_APBIF 107
|
||||
#define TEGRA30_CLK_DAM0 108
|
||||
#define TEGRA30_CLK_DAM1 109
|
||||
#define TEGRA30_CLK_DAM2 110
|
||||
#define TEGRA30_CLK_HDA2CODEC_2X 111
|
||||
#define TEGRA30_CLK_ATOMICS 112
|
||||
#define TEGRA30_CLK_AUDIO0_2X 113
|
||||
#define TEGRA30_CLK_AUDIO1_2X 114
|
||||
#define TEGRA30_CLK_AUDIO2_2X 115
|
||||
#define TEGRA30_CLK_AUDIO3_2X 116
|
||||
#define TEGRA30_CLK_AUDIO4_2X 117
|
||||
#define TEGRA30_CLK_SPDIF_2X 118
|
||||
#define TEGRA30_CLK_ACTMON 119
|
||||
#define TEGRA30_CLK_EXTERN1 120
|
||||
#define TEGRA30_CLK_EXTERN2 121
|
||||
#define TEGRA30_CLK_EXTERN3 122
|
||||
#define TEGRA30_CLK_SATA_OOB 123
|
||||
#define TEGRA30_CLK_SATA 124
|
||||
#define TEGRA30_CLK_HDA 125
|
||||
/* 126 */
|
||||
#define TEGRA30_CLK_SE 127
|
||||
|
||||
#define TEGRA30_CLK_HDA2HDMI 128
|
||||
#define TEGRA30_CLK_SATA_COLD 129
|
||||
/* 130 */
|
||||
/* 131 */
|
||||
/* 132 */
|
||||
/* 133 */
|
||||
/* 134 */
|
||||
/* 135 */
|
||||
/* 136 */
|
||||
/* 137 */
|
||||
/* 138 */
|
||||
/* 139 */
|
||||
/* 140 */
|
||||
/* 141 */
|
||||
/* 142 */
|
||||
/* 143 */
|
||||
/* 144 */
|
||||
/* 145 */
|
||||
/* 146 */
|
||||
/* 147 */
|
||||
/* 148 */
|
||||
/* 149 */
|
||||
/* 150 */
|
||||
/* 151 */
|
||||
/* 152 */
|
||||
/* 153 */
|
||||
/* 154 */
|
||||
/* 155 */
|
||||
/* 156 */
|
||||
/* 157 */
|
||||
/* 158 */
|
||||
/* 159 */
|
||||
|
||||
#define TEGRA30_CLK_UARTB 160
|
||||
#define TEGRA30_CLK_VFIR 161
|
||||
#define TEGRA30_CLK_SPDIF_IN 162
|
||||
#define TEGRA30_CLK_SPDIF_OUT 163
|
||||
#define TEGRA30_CLK_VI 164
|
||||
#define TEGRA30_CLK_VI_SENSOR 165
|
||||
#define TEGRA30_CLK_FUSE 166
|
||||
#define TEGRA30_CLK_FUSE_BURN 167
|
||||
#define TEGRA30_CLK_CVE 168
|
||||
#define TEGRA30_CLK_TVO 169
|
||||
#define TEGRA30_CLK_CLK_32K 170
|
||||
#define TEGRA30_CLK_CLK_M 171
|
||||
#define TEGRA30_CLK_CLK_M_DIV2 172
|
||||
#define TEGRA30_CLK_CLK_M_DIV4 173
|
||||
#define TEGRA30_CLK_PLL_REF 174
|
||||
#define TEGRA30_CLK_PLL_C 175
|
||||
#define TEGRA30_CLK_PLL_C_OUT1 176
|
||||
#define TEGRA30_CLK_PLL_M 177
|
||||
#define TEGRA30_CLK_PLL_M_OUT1 178
|
||||
#define TEGRA30_CLK_PLL_P 179
|
||||
#define TEGRA30_CLK_PLL_P_OUT1 180
|
||||
#define TEGRA30_CLK_PLL_P_OUT2 181
|
||||
#define TEGRA30_CLK_PLL_P_OUT3 182
|
||||
#define TEGRA30_CLK_PLL_P_OUT4 183
|
||||
#define TEGRA30_CLK_PLL_A 184
|
||||
#define TEGRA30_CLK_PLL_A_OUT0 185
|
||||
#define TEGRA30_CLK_PLL_D 186
|
||||
#define TEGRA30_CLK_PLL_D_OUT0 187
|
||||
#define TEGRA30_CLK_PLL_D2 188
|
||||
#define TEGRA30_CLK_PLL_D2_OUT0 189
|
||||
#define TEGRA30_CLK_PLL_U 190
|
||||
#define TEGRA30_CLK_PLL_X 191
|
||||
|
||||
#define TEGRA30_CLK_PLL_X_OUT0 192
|
||||
#define TEGRA30_CLK_PLL_E 193
|
||||
#define TEGRA30_CLK_SPDIF_IN_SYNC 194
|
||||
#define TEGRA30_CLK_I2S0_SYNC 195
|
||||
#define TEGRA30_CLK_I2S1_SYNC 196
|
||||
#define TEGRA30_CLK_I2S2_SYNC 197
|
||||
#define TEGRA30_CLK_I2S3_SYNC 198
|
||||
#define TEGRA30_CLK_I2S4_SYNC 199
|
||||
#define TEGRA30_CLK_VIMCLK_SYNC 200
|
||||
#define TEGRA30_CLK_AUDIO0 201
|
||||
#define TEGRA30_CLK_AUDIO1 202
|
||||
#define TEGRA30_CLK_AUDIO2 203
|
||||
#define TEGRA30_CLK_AUDIO3 204
|
||||
#define TEGRA30_CLK_AUDIO4 205
|
||||
#define TEGRA30_CLK_SPDIF 206
|
||||
#define TEGRA30_CLK_CLK_OUT_1 207 /* (extern1) */
|
||||
#define TEGRA30_CLK_CLK_OUT_2 208 /* (extern2) */
|
||||
#define TEGRA30_CLK_CLK_OUT_3 209 /* (extern3) */
|
||||
#define TEGRA30_CLK_SCLK 210
|
||||
#define TEGRA30_CLK_BLINK 211
|
||||
#define TEGRA30_CLK_CCLK_G 212
|
||||
#define TEGRA30_CLK_CCLK_LP 213
|
||||
#define TEGRA30_CLK_TWD 214
|
||||
#define TEGRA30_CLK_CML0 215
|
||||
#define TEGRA30_CLK_CML1 216
|
||||
#define TEGRA30_CLK_HCLK 217
|
||||
#define TEGRA30_CLK_PCLK 218
|
||||
/* 219 */
|
||||
/* 220 */
|
||||
/* 221 */
|
||||
/* 222 */
|
||||
/* 223 */
|
||||
|
||||
/* 288 */
|
||||
/* 289 */
|
||||
/* 290 */
|
||||
/* 291 */
|
||||
/* 292 */
|
||||
/* 293 */
|
||||
/* 294 */
|
||||
/* 295 */
|
||||
/* 296 */
|
||||
/* 297 */
|
||||
/* 298 */
|
||||
/* 299 */
|
||||
#define TEGRA30_CLK_CLK_OUT_1_MUX 300
|
||||
#define TEGRA30_CLK_CLK_OUT_2_MUX 301
|
||||
#define TEGRA30_CLK_CLK_OUT_3_MUX 302
|
||||
#define TEGRA30_CLK_AUDIO0_MUX 303
|
||||
#define TEGRA30_CLK_AUDIO1_MUX 304
|
||||
#define TEGRA30_CLK_AUDIO2_MUX 305
|
||||
#define TEGRA30_CLK_AUDIO3_MUX 306
|
||||
#define TEGRA30_CLK_AUDIO4_MUX 307
|
||||
#define TEGRA30_CLK_SPDIF_MUX 308
|
||||
#define TEGRA30_CLK_CLK_MAX 309
|
||||
|
||||
#endif /* _DT_BINDINGS_CLOCK_TEGRA30_CAR_H */
|
||||
@@ -376,6 +376,18 @@ int fdtdec_get_alias_seq(const void *blob, const char *base, int node,
|
||||
*/
|
||||
int fdtdec_get_alias_node(const void *blob, const char *name);
|
||||
|
||||
/**
|
||||
* Get the offset of the given chosen node
|
||||
*
|
||||
* This looks up a property in /chosen containing the path to another node,
|
||||
* then finds the offset of that node.
|
||||
*
|
||||
* @param blob Device tree blob (if NULL, then error is returned)
|
||||
* @param name Property name, e.g. "stdout-path"
|
||||
* @return Node offset referred to by that chosen node, or -ve FDT_ERR_...
|
||||
*/
|
||||
int fdtdec_get_chosen_node(const void *blob, const char *name);
|
||||
|
||||
/*
|
||||
* Get the name for a compatible ID
|
||||
*
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
#define __FM_ETH_H__
|
||||
|
||||
#include <common.h>
|
||||
#include <phy.h>
|
||||
#include <asm/types.h>
|
||||
#include <asm/fsl_enet.h>
|
||||
|
||||
enum fm_port {
|
||||
FM1_DTSEC1,
|
||||
|
||||
16
include/fsl_dcu_fb.h
Normal file
16
include/fsl_dcu_fb.h
Normal file
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
* Copyright 2014 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* FSL DCU Framebuffer driver
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
#include <linux/fb.h>
|
||||
|
||||
int fsl_dcu_init(unsigned int xres, unsigned int yres,
|
||||
unsigned int pixel_format);
|
||||
|
||||
/* Prototypes for external board-specific functions */
|
||||
int platform_dcu_init(unsigned int xres, unsigned int yres,
|
||||
const char *port, struct fb_videomode *dcu_fb_videomode);
|
||||
unsigned int dcu_set_pixel_clock(unsigned int pixclock);
|
||||
@@ -281,6 +281,7 @@ typedef struct memctl_options_partial_s {
|
||||
#define DDR_DATA_BUS_WIDTH_64 0
|
||||
#define DDR_DATA_BUS_WIDTH_32 1
|
||||
#define DDR_DATA_BUS_WIDTH_16 2
|
||||
#define DDR_CSWL_CS0 0x04000001
|
||||
/*
|
||||
* Generalized parameters for memory controller configuration,
|
||||
* might be a little specific to the FSL memory controller
|
||||
@@ -340,6 +341,7 @@ typedef struct memctl_options_s {
|
||||
unsigned int cpo_override;
|
||||
unsigned int write_data_delay; /* DQS adjust */
|
||||
|
||||
unsigned int cswl_override;
|
||||
unsigned int wrlvl_override;
|
||||
unsigned int wrlvl_sample; /* Write leveling */
|
||||
unsigned int wrlvl_start;
|
||||
|
||||
@@ -162,7 +162,19 @@ struct fsl_esdhc_cfg {
|
||||
};
|
||||
|
||||
/* Select the correct accessors depending on endianess */
|
||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
#if defined CONFIG_SYS_FSL_ESDHC_LE
|
||||
#define esdhc_read32 in_le32
|
||||
#define esdhc_write32 out_le32
|
||||
#define esdhc_clrsetbits32 clrsetbits_le32
|
||||
#define esdhc_clrbits32 clrbits_le32
|
||||
#define esdhc_setbits32 setbits_le32
|
||||
#elif defined(CONFIG_SYS_FSL_ESDHC_BE)
|
||||
#define esdhc_read32 in_be32
|
||||
#define esdhc_write32 out_be32
|
||||
#define esdhc_clrsetbits32 clrsetbits_be32
|
||||
#define esdhc_clrbits32 clrbits_be32
|
||||
#define esdhc_setbits32 setbits_be32
|
||||
#elif __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
#define esdhc_read32 in_le32
|
||||
#define esdhc_write32 out_le32
|
||||
#define esdhc_clrsetbits32 clrsetbits_le32
|
||||
|
||||
@@ -10,7 +10,18 @@
|
||||
|
||||
#include <net.h>
|
||||
#include <miiphy.h>
|
||||
#include <asm/fsl_enet.h>
|
||||
|
||||
struct tsec_mii_mng {
|
||||
u32 miimcfg; /* MII management configuration reg */
|
||||
u32 miimcom; /* MII management command reg */
|
||||
u32 miimadd; /* MII management address reg */
|
||||
u32 miimcon; /* MII management control reg */
|
||||
u32 miimstat; /* MII management status reg */
|
||||
u32 miimind; /* MII management indication reg */
|
||||
u32 ifstat; /* Interface Status Register */
|
||||
};
|
||||
|
||||
int fdt_fixup_phy_connection(void *blob, int offset, phy_interface_t phyc);
|
||||
|
||||
/* PHY register offsets */
|
||||
#define PHY_EXT_PAGE_ACCESS 0x1f
|
||||
|
||||
12
include/linux/compiler-clang.h
Normal file
12
include/linux/compiler-clang.h
Normal file
@@ -0,0 +1,12 @@
|
||||
#ifndef __LINUX_COMPILER_H
|
||||
#error "Please don't include <linux/compiler-clang.h> directly, include <linux/compiler.h> instead."
|
||||
#endif
|
||||
|
||||
/* Some compiler specific definitions are overwritten here
|
||||
* for Clang compiler
|
||||
*/
|
||||
|
||||
#ifdef uninitialized_var
|
||||
#undef uninitialized_var
|
||||
#define uninitialized_var(x) x = *(&(x))
|
||||
#endif
|
||||
@@ -5,6 +5,9 @@
|
||||
/*
|
||||
* Common definitions for all gcc versions go here.
|
||||
*/
|
||||
#define GCC_VERSION (__GNUC__ * 10000 \
|
||||
+ __GNUC_MINOR__ * 100 \
|
||||
+ __GNUC_PATCHLEVEL__)
|
||||
|
||||
|
||||
/* Optimization barrier */
|
||||
@@ -34,9 +37,15 @@
|
||||
__asm__ ("" : "=r"(__ptr) : "0"(ptr)); \
|
||||
(typeof(ptr)) (__ptr + (off)); })
|
||||
|
||||
/* Make the optimizer believe the variable can be manipulated arbitrarily. */
|
||||
#define OPTIMIZER_HIDE_VAR(var) __asm__ ("" : "=r" (var) : "0" (var))
|
||||
|
||||
#ifdef __CHECKER__
|
||||
#define __must_be_array(arr) 0
|
||||
#else
|
||||
/* &a[0] degrades to a pointer: a different type from an array */
|
||||
#define __must_be_array(a) \
|
||||
BUILD_BUG_ON_ZERO(__builtin_types_compatible_p(typeof(a), typeof(&a[0])))
|
||||
#define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Force always-inline if the user requests it so via the .config,
|
||||
@@ -44,15 +53,18 @@
|
||||
*/
|
||||
#if !defined(CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING) || \
|
||||
!defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4)
|
||||
# define inline inline __attribute__((always_inline))
|
||||
# define __inline__ __inline__ __attribute__((always_inline))
|
||||
# define __inline __inline __attribute__((always_inline))
|
||||
# define inline inline __attribute__((always_inline)) notrace
|
||||
# define __inline__ __inline__ __attribute__((always_inline)) notrace
|
||||
# define __inline __inline __attribute__((always_inline)) notrace
|
||||
#else
|
||||
/* A lot of inline functions can cause havoc with function tracing */
|
||||
# define inline inline notrace
|
||||
# define __inline__ __inline__ notrace
|
||||
# define __inline __inline notrace
|
||||
#endif
|
||||
|
||||
#define __deprecated __attribute__((deprecated))
|
||||
#ifndef __packed
|
||||
# define __packed __attribute__((packed))
|
||||
#endif
|
||||
#define __packed __attribute__((packed))
|
||||
#define __weak __attribute__((weak))
|
||||
|
||||
/*
|
||||
@@ -60,8 +72,12 @@
|
||||
* naked functions because then mcount is called without stack and frame pointer
|
||||
* being set up and there is no chance to restore the lr register to the value
|
||||
* before mcount was called.
|
||||
*
|
||||
* The asm() bodies of naked functions often depend on standard calling conventions,
|
||||
* therefore they must be noinline and noclone. GCC 4.[56] currently fail to enforce
|
||||
* this, so we must do so ourselves. See GCC PR44290.
|
||||
*/
|
||||
#define __naked __attribute__((naked)) notrace
|
||||
#define __naked __attribute__((naked)) noinline __noclone notrace
|
||||
|
||||
#define __noreturn __attribute__((noreturn))
|
||||
|
||||
@@ -75,13 +91,10 @@
|
||||
* would be.
|
||||
* [...]
|
||||
*/
|
||||
#ifndef __pure
|
||||
# define __pure __attribute__((pure))
|
||||
#endif
|
||||
#ifndef __aligned
|
||||
# define __aligned(x) __attribute__((aligned(x)))
|
||||
#endif
|
||||
#define __printf(a,b) __attribute__((format(printf,a,b)))
|
||||
#define __pure __attribute__((pure))
|
||||
#define __aligned(x) __attribute__((aligned(x)))
|
||||
#define __printf(a, b) __attribute__((format(printf, a, b)))
|
||||
#define __scanf(a, b) __attribute__((format(scanf, a, b)))
|
||||
#define noinline __attribute__((noinline))
|
||||
#define __attribute_const__ __attribute__((__const__))
|
||||
#define __maybe_unused __attribute__((unused))
|
||||
@@ -91,3 +104,15 @@
|
||||
#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h)
|
||||
#define gcc_header(x) _gcc_header(x)
|
||||
#include gcc_header(__GNUC__)
|
||||
|
||||
#if !defined(__noclone)
|
||||
#define __noclone /* not needed */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* A trick to suppress uninitialized variable warning without generating any
|
||||
* code
|
||||
*/
|
||||
#define uninitialized_var(x) x = x
|
||||
|
||||
#define __always_inline inline __attribute__((always_inline))
|
||||
|
||||
@@ -2,20 +2,22 @@
|
||||
#error "Please don't include <linux/compiler-gcc3.h> directly, include <linux/compiler.h> instead."
|
||||
#endif
|
||||
|
||||
#if __GNUC_MINOR__ >= 3
|
||||
#if GCC_VERSION < 30200
|
||||
# error Sorry, your compiler is too old - please upgrade it.
|
||||
#endif
|
||||
|
||||
#if GCC_VERSION >= 30300
|
||||
# define __used __attribute__((__used__))
|
||||
#else
|
||||
# define __used __attribute__((__unused__))
|
||||
#endif
|
||||
|
||||
#if __GNUC_MINOR__ >= 4
|
||||
#if GCC_VERSION >= 30400
|
||||
#define __must_check __attribute__((warn_unused_result))
|
||||
#endif
|
||||
|
||||
/*
|
||||
* A trick to suppress uninitialized variable warning without generating any
|
||||
* code
|
||||
*/
|
||||
#define uninitialized_var(x) x = x
|
||||
|
||||
#define __always_inline inline __attribute__((always_inline))
|
||||
#ifdef CONFIG_GCOV_KERNEL
|
||||
# if GCC_VERSION < 30400
|
||||
# error "GCOV profiling support for gcc versions below 3.4 not included"
|
||||
# endif /* __GNUC_MINOR__ */
|
||||
#endif /* CONFIG_GCOV_KERNEL */
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/* GCC 4.1.[01] miscompiles __weak */
|
||||
#ifdef __KERNEL__
|
||||
# if __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ <= 1
|
||||
# if GCC_VERSION >= 40100 && GCC_VERSION <= 40101
|
||||
# error Your version of gcc miscompiles the __weak directive
|
||||
# endif
|
||||
#endif
|
||||
@@ -12,17 +12,12 @@
|
||||
#define __used __attribute__((__used__))
|
||||
#define __must_check __attribute__((warn_unused_result))
|
||||
#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
|
||||
#ifndef __always_inline
|
||||
# define __always_inline inline __attribute__((always_inline))
|
||||
|
||||
#if GCC_VERSION >= 40100 && GCC_VERSION < 40600
|
||||
# define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* A trick to suppress uninitialized variable warning without generating any
|
||||
* code
|
||||
*/
|
||||
#define uninitialized_var(x) x = x
|
||||
|
||||
#if __GNUC_MINOR__ >= 3
|
||||
#if GCC_VERSION >= 40300
|
||||
/* Mark functions as cold. gcc will assume any path leading to a call
|
||||
to them will be unlikely. This means a lot of manual unlikely()s
|
||||
are unnecessary now for any paths leading to the usual suspects
|
||||
@@ -38,8 +33,15 @@
|
||||
the kernel context */
|
||||
#define __cold __attribute__((__cold__))
|
||||
|
||||
#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
|
||||
|
||||
#if __GNUC_MINOR__ >= 5
|
||||
#ifndef __CHECKER__
|
||||
# define __compiletime_warning(message) __attribute__((warning(message)))
|
||||
# define __compiletime_error(message) __attribute__((error(message)))
|
||||
#endif /* __CHECKER__ */
|
||||
#endif /* GCC_VERSION >= 40300 */
|
||||
|
||||
#if GCC_VERSION >= 40500
|
||||
/*
|
||||
* Mark a position in code as unreachable. This can be used to
|
||||
* suppress control flow warnings after asm blocks that transfer
|
||||
@@ -50,14 +52,37 @@
|
||||
* unreleased. Really, we need to have autoconf for the kernel.
|
||||
*/
|
||||
#define unreachable() __builtin_unreachable()
|
||||
|
||||
/* Mark a function definition as prohibited from being cloned. */
|
||||
#define __noclone __attribute__((__noclone__))
|
||||
|
||||
#endif /* GCC_VERSION >= 40500 */
|
||||
|
||||
#if GCC_VERSION >= 40600
|
||||
/*
|
||||
* Tell the optimizer that something else uses this function or variable.
|
||||
*/
|
||||
#define __visible __attribute__((externally_visible))
|
||||
#endif
|
||||
|
||||
#endif
|
||||
/*
|
||||
* GCC 'asm goto' miscompiles certain code sequences:
|
||||
*
|
||||
* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
|
||||
*
|
||||
* Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
|
||||
* Fixed in GCC 4.8.2 and later versions.
|
||||
*
|
||||
* (asm goto is automatically volatile - the naming reflects this.)
|
||||
*/
|
||||
#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
|
||||
|
||||
#if __GNUC_MINOR__ > 0
|
||||
#define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
|
||||
#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
|
||||
#if GCC_VERSION >= 40400
|
||||
#define __HAVE_BUILTIN_BSWAP32__
|
||||
#define __HAVE_BUILTIN_BSWAP64__
|
||||
#endif
|
||||
#if __GNUC_MINOR__ >= 4
|
||||
#define __compiletime_warning(message) __attribute__((warning(message)))
|
||||
#define __compiletime_error(message) __attribute__((error(message)))
|
||||
#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600)
|
||||
#define __HAVE_BUILTIN_BSWAP16__
|
||||
#endif
|
||||
#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
|
||||
|
||||
40
include/linux/compiler-intel.h
Normal file
40
include/linux/compiler-intel.h
Normal file
@@ -0,0 +1,40 @@
|
||||
#ifndef __LINUX_COMPILER_H
|
||||
#error "Please don't include <linux/compiler-intel.h> directly, include <linux/compiler.h> instead."
|
||||
#endif
|
||||
|
||||
#ifdef __ECC
|
||||
|
||||
/* Some compiler specific definitions are overwritten here
|
||||
* for Intel ECC compiler
|
||||
*/
|
||||
|
||||
#include <asm/intrinsics.h>
|
||||
|
||||
/* Intel ECC compiler doesn't support gcc specific asm stmts.
|
||||
* It uses intrinsics to do the equivalent things.
|
||||
*/
|
||||
#undef RELOC_HIDE
|
||||
#undef OPTIMIZER_HIDE_VAR
|
||||
|
||||
#define RELOC_HIDE(ptr, off) \
|
||||
({ unsigned long __ptr; \
|
||||
__ptr = (unsigned long) (ptr); \
|
||||
(typeof(ptr)) (__ptr + (off)); })
|
||||
|
||||
/* This should act as an optimization barrier on var.
|
||||
* Given that this compiler does not have inline assembly, a compiler barrier
|
||||
* is the best we can do.
|
||||
*/
|
||||
#define OPTIMIZER_HIDE_VAR(var) barrier()
|
||||
|
||||
/* Intel ECC compiler doesn't support __builtin_types_compatible_p() */
|
||||
#define __must_be_array(a) 0
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef __HAVE_BUILTIN_BSWAP16__
|
||||
/* icc has this, but it's called _bswap16 */
|
||||
#define __HAVE_BUILTIN_BSWAP16__
|
||||
#define __builtin_bswap16 _bswap16
|
||||
#endif
|
||||
|
||||
@@ -5,16 +5,23 @@
|
||||
|
||||
#ifdef __CHECKER__
|
||||
# define __user __attribute__((noderef, address_space(1)))
|
||||
# define __kernel /* default address space */
|
||||
# define __kernel __attribute__((address_space(0)))
|
||||
# define __safe __attribute__((safe))
|
||||
# define __force __attribute__((force))
|
||||
# define __nocast __attribute__((nocast))
|
||||
# define __iomem __attribute__((noderef, address_space(2)))
|
||||
# define __must_hold(x) __attribute__((context(x,1,1)))
|
||||
# define __acquires(x) __attribute__((context(x,0,1)))
|
||||
# define __releases(x) __attribute__((context(x,1,0)))
|
||||
# define __acquire(x) __context__(x,1)
|
||||
# define __release(x) __context__(x,-1)
|
||||
# define __cond_lock(x,c) ((c) ? ({ __acquire(x); 1; }) : 0)
|
||||
# define __percpu __attribute__((noderef, address_space(3)))
|
||||
#ifdef CONFIG_SPARSE_RCU_POINTER
|
||||
# define __rcu __attribute__((noderef, address_space(4)))
|
||||
#else
|
||||
# define __rcu
|
||||
#endif
|
||||
extern void __chk_user_ptr(const volatile void __user *);
|
||||
extern void __chk_io_ptr(const volatile void __iomem *);
|
||||
#else
|
||||
@@ -27,13 +34,20 @@ extern void __chk_io_ptr(const volatile void __iomem *);
|
||||
# define __chk_user_ptr(x) (void)0
|
||||
# define __chk_io_ptr(x) (void)0
|
||||
# define __builtin_warning(x, y...) (1)
|
||||
# define __must_hold(x)
|
||||
# define __acquires(x)
|
||||
# define __releases(x)
|
||||
# define __acquire(x) (void)0
|
||||
# define __release(x) (void)0
|
||||
# define __cond_lock(x,c) (c)
|
||||
# define __percpu
|
||||
# define __rcu
|
||||
#endif
|
||||
|
||||
/* Indirect macros required for expanded argument pasting, eg. __LINE__. */
|
||||
#define ___PASTE(a,b) a##b
|
||||
#define __PASTE(a,b) ___PASTE(a,b)
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#ifdef __GNUC__
|
||||
@@ -49,6 +63,13 @@ extern void __chk_io_ptr(const volatile void __iomem *);
|
||||
# include <linux/compiler-intel.h>
|
||||
#endif
|
||||
|
||||
/* Clang compiler defines __GNUC__. So we will overwrite implementations
|
||||
* coming from above header files here
|
||||
*/
|
||||
#ifdef __clang__
|
||||
#include <linux/compiler-clang.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Generic compiler-dependent macros required for kernel
|
||||
* build go below this comment. Actual compiler/compiler version
|
||||
@@ -156,6 +177,15 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
|
||||
(typeof(ptr)) (__ptr + (off)); })
|
||||
#endif
|
||||
|
||||
#ifndef OPTIMIZER_HIDE_VAR
|
||||
#define OPTIMIZER_HIDE_VAR(var) barrier()
|
||||
#endif
|
||||
|
||||
/* Not-quite-unique ID. */
|
||||
#ifndef __UNIQUE_ID
|
||||
# define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __LINE__)
|
||||
#endif
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
@@ -228,7 +258,7 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
|
||||
|
||||
/*
|
||||
* Rather then using noinline to prevent stack consumption, use
|
||||
* noinline_for_stack instead. For documentaiton reasons.
|
||||
* noinline_for_stack instead. For documentation reasons.
|
||||
*/
|
||||
#define noinline_for_stack noinline
|
||||
|
||||
@@ -270,11 +300,20 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
|
||||
# define __section(S) __attribute__ ((__section__(#S)))
|
||||
#endif
|
||||
|
||||
#ifndef __visible
|
||||
#define __visible
|
||||
#endif
|
||||
|
||||
/* Are two types/vars the same type (ignoring qualifiers)? */
|
||||
#ifndef __same_type
|
||||
# define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
|
||||
#endif
|
||||
|
||||
/* Is this type a native word size -- useful for atomic operations */
|
||||
#ifndef __native_word
|
||||
# define __native_word(t) (sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
|
||||
#endif
|
||||
|
||||
/* Compile time object size, -1 for unknown */
|
||||
#ifndef __compiletime_object_size
|
||||
# define __compiletime_object_size(obj) -1
|
||||
@@ -284,7 +323,48 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
|
||||
#endif
|
||||
#ifndef __compiletime_error
|
||||
# define __compiletime_error(message)
|
||||
/*
|
||||
* Sparse complains of variable sized arrays due to the temporary variable in
|
||||
* __compiletime_assert. Unfortunately we can't just expand it out to make
|
||||
* sparse see a constant array size without breaking compiletime_assert on old
|
||||
* versions of GCC (e.g. 4.2.4), so hide the array from sparse altogether.
|
||||
*/
|
||||
# ifndef __CHECKER__
|
||||
# define __compiletime_error_fallback(condition) \
|
||||
do { ((void)sizeof(char[1 - 2 * condition])); } while (0)
|
||||
# endif
|
||||
#endif
|
||||
#ifndef __compiletime_error_fallback
|
||||
# define __compiletime_error_fallback(condition) do { } while (0)
|
||||
#endif
|
||||
|
||||
#define __compiletime_assert(condition, msg, prefix, suffix) \
|
||||
do { \
|
||||
bool __cond = !(condition); \
|
||||
extern void prefix ## suffix(void) __compiletime_error(msg); \
|
||||
if (__cond) \
|
||||
prefix ## suffix(); \
|
||||
__compiletime_error_fallback(__cond); \
|
||||
} while (0)
|
||||
|
||||
#define _compiletime_assert(condition, msg, prefix, suffix) \
|
||||
__compiletime_assert(condition, msg, prefix, suffix)
|
||||
|
||||
/**
|
||||
* compiletime_assert - break build and emit msg if condition is false
|
||||
* @condition: a compile-time constant condition to check
|
||||
* @msg: a message to emit if condition is false
|
||||
*
|
||||
* In tradition of POSIX assert, this macro will break the build if the
|
||||
* supplied condition is *false*, emitting the supplied error message if the
|
||||
* compiler has support to do so.
|
||||
*/
|
||||
#define compiletime_assert(condition, msg) \
|
||||
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
|
||||
|
||||
#define compiletime_assert_atomic_type(t) \
|
||||
compiletime_assert(__native_word(t), \
|
||||
"Need native word sized stores/loads for atomicity.")
|
||||
|
||||
/*
|
||||
* Prevent the compiler from merging or refetching accesses. The compiler
|
||||
@@ -300,4 +380,12 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
|
||||
*/
|
||||
#define ACCESS_ONCE(x) (*(volatile typeof(x) *)&(x))
|
||||
|
||||
/* Ignore/forbid kprobes attach on very low level functions marked by this attribute: */
|
||||
#ifdef CONFIG_KPROBES
|
||||
# define __kprobes __attribute__((__section__(".kprobes.text")))
|
||||
# define nokprobe_inline __always_inline
|
||||
#else
|
||||
# define __kprobes
|
||||
# define nokprobe_inline inline
|
||||
#endif
|
||||
#endif /* __LINUX_COMPILER_H */
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
#ifndef __MTD_FLASHCHIP_H__
|
||||
#define __MTD_FLASHCHIP_H__
|
||||
|
||||
#define __UBOOT__
|
||||
#ifndef __UBOOT__
|
||||
/* For spinlocks. sched.h includes spinlock.h from whichever directory it
|
||||
* happens to be in - so we don't have to care whether we're on 2.2, which
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#ifndef __MTD_MTD_H__
|
||||
#define __MTD_MTD_H__
|
||||
|
||||
#define __UBOOT__
|
||||
#ifndef __UBOOT__
|
||||
#include <linux/types.h>
|
||||
#include <linux/uio.h>
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
#ifndef __LINUX_MTD_NAND_H
|
||||
#define __LINUX_MTD_NAND_H
|
||||
|
||||
#define __UBOOT__
|
||||
#ifndef __UBOOT__
|
||||
#include <linux/wait.h>
|
||||
#include <linux/spinlock.h>
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#define __LINUX_UBI_H__
|
||||
|
||||
#include <linux/types.h>
|
||||
#define __UBOOT__
|
||||
#ifndef __UBOOT__
|
||||
#include <linux/ioctl.h>
|
||||
#include <mtd/ubi-user.h>
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
#ifndef _LINUX_RBTREE_H
|
||||
#define _LINUX_RBTREE_H
|
||||
|
||||
#define __UBOOT__
|
||||
#ifndef __UBOOT__
|
||||
#include <linux/kernel.h>
|
||||
#endif
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#ifndef __MTD_ABI_H__
|
||||
#define __MTD_ABI_H__
|
||||
|
||||
#define __UBOOT__
|
||||
#ifdef __UBOOT__
|
||||
#include <linux/compat.h>
|
||||
#endif
|
||||
|
||||
@@ -23,6 +23,14 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#ifdef CONFIG_DM_SERIAL
|
||||
/*
|
||||
* For driver model we always use one byte per register, and sort out the
|
||||
* differences in the driver
|
||||
*/
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE (-1)
|
||||
#endif
|
||||
|
||||
#if !defined(CONFIG_SYS_NS16550_REG_SIZE) || (CONFIG_SYS_NS16550_REG_SIZE == 0)
|
||||
#error "Please define NS16550 registers size."
|
||||
#elif defined(CONFIG_SYS_NS16550_MEM32)
|
||||
@@ -37,6 +45,21 @@
|
||||
unsigned char postpad_##x[-CONFIG_SYS_NS16550_REG_SIZE - 1];
|
||||
#endif
|
||||
|
||||
/**
|
||||
* struct ns16550_platdata - information about a NS16550 port
|
||||
*
|
||||
* @base: Base register address
|
||||
* @reg_shift: Shift size of registers (0=byte, 1=16bit, 2=32bit...)
|
||||
* @clock: UART base clock speed in Hz
|
||||
*/
|
||||
struct ns16550_platdata {
|
||||
unsigned char *base;
|
||||
int reg_shift;
|
||||
int clock;
|
||||
};
|
||||
|
||||
struct udevice;
|
||||
|
||||
struct NS16550 {
|
||||
UART_REG(rbr); /* 0 */
|
||||
UART_REG(ier); /* 1 */
|
||||
@@ -65,6 +88,9 @@ struct NS16550 {
|
||||
UART_REG(scr); /* 10*/
|
||||
UART_REG(ssr); /* 11*/
|
||||
#endif
|
||||
#ifdef CONFIG_DM_SERIAL
|
||||
struct ns16550_platdata *plat;
|
||||
#endif
|
||||
};
|
||||
|
||||
#define thr rbr
|
||||
@@ -170,3 +196,43 @@ void NS16550_putc(NS16550_t com_port, char c);
|
||||
char NS16550_getc(NS16550_t com_port);
|
||||
int NS16550_tstc(NS16550_t com_port);
|
||||
void NS16550_reinit(NS16550_t com_port, int baud_divisor);
|
||||
|
||||
/**
|
||||
* ns16550_calc_divisor() - calculate the divisor given clock and baud rate
|
||||
*
|
||||
* Given the UART input clock and required baudrate, calculate the divisor
|
||||
* that should be used.
|
||||
*
|
||||
* @port: UART port
|
||||
* @clock: UART input clock speed in Hz
|
||||
* @baudrate: Required baud rate
|
||||
* @return baud rate divisor that should be used
|
||||
*/
|
||||
int ns16550_calc_divisor(NS16550_t port, int clock, int baudrate);
|
||||
|
||||
/**
|
||||
* ns16550_serial_ofdata_to_platdata() - convert DT to platform data
|
||||
*
|
||||
* Decode a device tree node for an ns16550 device. This includes the
|
||||
* register base address and register shift properties. The caller must set
|
||||
* up the clock frequency.
|
||||
*
|
||||
* @dev: dev to decode platform data for
|
||||
* @return: 0 if OK, -EINVAL on error
|
||||
*/
|
||||
int ns16550_serial_ofdata_to_platdata(struct udevice *dev);
|
||||
|
||||
/**
|
||||
* ns16550_serial_probe() - probe a serial port
|
||||
*
|
||||
* This sets up the serial port ready for use, except for the baud rate
|
||||
* @return 0, or -ve on error
|
||||
*/
|
||||
int ns16550_serial_probe(struct udevice *dev);
|
||||
|
||||
/**
|
||||
* struct ns16550_serial_ops - ns16550 serial operations
|
||||
*
|
||||
* These should be used by the client driver for the driver's 'ops' member
|
||||
*/
|
||||
extern const struct dm_serial_ops ns16550_serial_ops;
|
||||
|
||||
@@ -72,4 +72,96 @@ extern int write_port(struct stdio_dev *port, char *buf);
|
||||
extern int read_port(struct stdio_dev *port, char *buf, int size);
|
||||
#endif
|
||||
|
||||
struct udevice;
|
||||
|
||||
/**
|
||||
* struct struct dm_serial_ops - Driver model serial operations
|
||||
*
|
||||
* The uclass interface is implemented by all serial devices which use
|
||||
* driver model.
|
||||
*/
|
||||
struct dm_serial_ops {
|
||||
/**
|
||||
* setbrg() - Set up the baud rate generator
|
||||
*
|
||||
* Adjust baud rate divisors to set up a new baud rate for this
|
||||
* device. Not all devices will support all rates. If the rate
|
||||
* cannot be supported, the driver is free to select the nearest
|
||||
* available rate. or return -EINVAL if this is not possible.
|
||||
*
|
||||
* @dev: Device pointer
|
||||
* @baudrate: New baud rate to use
|
||||
* @return 0 if OK, -ve on error
|
||||
*/
|
||||
int (*setbrg)(struct udevice *dev, int baudrate);
|
||||
/**
|
||||
* getc() - Read a character and return it
|
||||
*
|
||||
* If no character is available, this should return -EAGAIN without
|
||||
* waiting.
|
||||
*
|
||||
* @dev: Device pointer
|
||||
* @return character (0..255), -ve on error
|
||||
*/
|
||||
int (*getc)(struct udevice *dev);
|
||||
/**
|
||||
* putc() - Write a character
|
||||
*
|
||||
* @dev: Device pointer
|
||||
* @ch: character to write
|
||||
* @return 0 if OK, -ve on error
|
||||
*/
|
||||
int (*putc)(struct udevice *dev, const char ch);
|
||||
/**
|
||||
* pending() - Check if input/output characters are waiting
|
||||
*
|
||||
* This can be used to return an indication of the number of waiting
|
||||
* characters if the driver knows this (e.g. by looking at the FIFO
|
||||
* level). It is acceptable to return 1 if an indeterminant number
|
||||
* of characters is waiting.
|
||||
*
|
||||
* This method is optional.
|
||||
*
|
||||
* @dev: Device pointer
|
||||
* @input: true to check input characters, false for output
|
||||
* @return number of waiting characters, 0 for none, -ve on error
|
||||
*/
|
||||
int (*pending)(struct udevice *dev, bool input);
|
||||
/**
|
||||
* clear() - Clear the serial FIFOs/holding registers
|
||||
*
|
||||
* This method is optional.
|
||||
*
|
||||
* This quickly clears any input/output characters from the UART.
|
||||
* If this is not possible, but characters still exist, then it
|
||||
* is acceptable to return -EAGAIN (try again) or -EINVAL (not
|
||||
* supported).
|
||||
*
|
||||
* @dev: Device pointer
|
||||
* @return 0 if OK, -ve on error
|
||||
*/
|
||||
int (*clear)(struct udevice *dev);
|
||||
#if CONFIG_POST & CONFIG_SYS_POST_UART
|
||||
/**
|
||||
* loop() - Control serial device loopback mode
|
||||
*
|
||||
* @dev: Device pointer
|
||||
* @on: 1 to turn loopback on, 0 to turn if off
|
||||
*/
|
||||
int (*loop)(struct udevice *dev, int on);
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
* struct serial_dev_priv - information about a device used by the uclass
|
||||
*
|
||||
* @sdev: stdio device attached to this uart
|
||||
*/
|
||||
struct serial_dev_priv {
|
||||
struct stdio_dev *sdev;
|
||||
};
|
||||
|
||||
/* Access the serial operations for a device */
|
||||
#define serial_get_ops(dev) ((struct dm_serial_ops *)(dev)->driver->ops)
|
||||
|
||||
#endif
|
||||
|
||||
7
include/sparse_defs.h
Normal file
7
include/sparse_defs.h
Normal file
@@ -0,0 +1,7 @@
|
||||
/*
|
||||
* Copyright 2014 Broadcom Corporation.
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <linux/types.h>
|
||||
@@ -78,7 +78,29 @@ extern char *stdio_names[MAX_FILES];
|
||||
*/
|
||||
int stdio_register (struct stdio_dev * dev);
|
||||
int stdio_register_dev(struct stdio_dev *dev, struct stdio_dev **devp);
|
||||
int stdio_init (void);
|
||||
|
||||
/**
|
||||
* stdio_init_tables() - set up stdio tables ready for devices
|
||||
*
|
||||
* This does not add any devices, but just prepares stdio for use.
|
||||
*/
|
||||
int stdio_init_tables(void);
|
||||
|
||||
/**
|
||||
* stdio_add_devices() - Add stdio devices to the table
|
||||
*
|
||||
* This makes calls to all the various subsystems that use stdio, to make
|
||||
* them register with stdio.
|
||||
*/
|
||||
int stdio_add_devices(void);
|
||||
|
||||
/**
|
||||
* stdio_init() - Sets up stdio ready for use
|
||||
*
|
||||
* This calls stdio_init_tables() and stdio_add_devices()
|
||||
*/
|
||||
int stdio_init(void);
|
||||
|
||||
void stdio_print_current_devices(void);
|
||||
#ifdef CONFIG_SYS_STDIO_DEREGISTER
|
||||
int stdio_deregister(const char *devname);
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
#ident "$Id:$"
|
||||
|
||||
#ifdef CONFIG_SYSTEMACE
|
||||
|
||||
|
||||
@@ -20,10 +20,14 @@
|
||||
#include <net.h>
|
||||
#include <config.h>
|
||||
#include <phy.h>
|
||||
#include <asm/fsl_enet.h>
|
||||
|
||||
#ifdef CONFIG_LS102XA
|
||||
#define TSEC_SIZE 0x40000
|
||||
#define TSEC_MDIO_OFFSET 0x40000
|
||||
#else
|
||||
#define TSEC_SIZE 0x01000
|
||||
#define TSEC_MDIO_OFFSET 0x01000
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_MDIO_BASE_ADDR (MDIO_BASE_ADDR + 0x520)
|
||||
|
||||
@@ -125,9 +129,14 @@
|
||||
|
||||
#define MINFLR_INIT_SETTINGS 0x00000040
|
||||
|
||||
#ifdef CONFIG_LS102XA
|
||||
#define DMACTRL_INIT_SETTINGS 0x00000003
|
||||
#else
|
||||
#define DMACTRL_INIT_SETTINGS 0x000000c3
|
||||
#endif
|
||||
#define DMACTRL_GRS 0x00000010
|
||||
#define DMACTRL_GTS 0x00000008
|
||||
#define DMACTRL_LE 0x00008000
|
||||
|
||||
#define TSTAT_CLEAR_THALT 0x80000000
|
||||
#define RSTAT_CLEAR_RHALT 0x00800000
|
||||
|
||||
Reference in New Issue
Block a user