Merge branch '2019-08-11-ti-imports'
- More DaVinci updates and fixes - PCIe support on am65x - Watchdog converted to DM - Assorted other bugfixes
This commit is contained in:
@@ -333,6 +333,18 @@ int clk_disable(struct clk *clk);
|
||||
*/
|
||||
int clk_disable_bulk(struct clk_bulk *bulk);
|
||||
|
||||
/**
|
||||
* clk_is_match - check if two clk's point to the same hardware clock
|
||||
* @p: clk compared against q
|
||||
* @q: clk compared against p
|
||||
*
|
||||
* Returns true if the two struct clk pointers both point to the same hardware
|
||||
* clock node.
|
||||
*
|
||||
* Returns false otherwise. Note that two NULL clks are treated as matching.
|
||||
*/
|
||||
bool clk_is_match(const struct clk *p, const struct clk *q);
|
||||
|
||||
int soc_clk_dump(void);
|
||||
|
||||
/**
|
||||
|
||||
83
include/configs/brsmarc1.h
Normal file
83
include/configs/brsmarc1.h
Normal file
@@ -0,0 +1,83 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* brsmarc1.h
|
||||
*
|
||||
* specific parts for B&R BRSMARC1 Motherboard
|
||||
*
|
||||
* Copyright (C) 2017 Hannes Schmelzer <oe5hpm@oevsv.at> -
|
||||
* B&R Industrial Automation GmbH - http://www.br-automation.com
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_BRSMARC1_H__
|
||||
#define __CONFIG_BRSMARC1_H__
|
||||
|
||||
#include <configs/bur_cfg_common.h>
|
||||
#include <configs/bur_am335x_common.h>
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#define CONFIG_BOARD_TYPES
|
||||
|
||||
/* memory */
|
||||
#define CONFIG_SYS_MALLOC_LEN (5 * 1024 * 1024)
|
||||
#define CONFIG_SYS_BOOTM_LEN (32 * 1024 * 1024)
|
||||
|
||||
/* Clock Defines */
|
||||
#define V_OSCK 26000000 /* Clock output from T2 */
|
||||
#define V_SCLK (V_OSCK)
|
||||
|
||||
#define CONFIG_MACH_TYPE 3589
|
||||
|
||||
#ifndef CONFIG_SPL_BUILD
|
||||
|
||||
/* Default environment */
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
BUR_COMMON_ENV \
|
||||
"autoload=0\0" \
|
||||
"scradr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
|
||||
"cfgscr=mw ${dtbaddr} 0;" \
|
||||
" sf probe && sf read ${scradr} 0xC0000 0x10000 && source ${scradr};" \
|
||||
" fdt addr ${dtbaddr} || cp ${fdtcontroladdr} ${dtbaddr} 4000\0" \
|
||||
"dtbaddr=0x84000000\0" \
|
||||
"loadaddr=0x82000000\0" \
|
||||
"b_break=0\0" \
|
||||
"b_tgts_std=mmc0 mmc1 def net usb0\0" \
|
||||
"b_tgts_rcy=def net usb0\0" \
|
||||
"b_tgts_pme=net usb0 mmc0 mmc1\0" \
|
||||
"b_deftgts=if test ${b_mode} = 12; then setenv b_tgts ${b_tgts_pme};" \
|
||||
" elif test ${b_mode} = 0; then setenv b_tgts ${b_tgts_rcy};" \
|
||||
" else setenv b_tgts ${b_tgts_std}; fi\0" \
|
||||
"b_mmc0=load mmc 1 ${scradr} bootscr.img && source ${scradr}\0" \
|
||||
"b_mmc1=load mmc 1 ${loadaddr} arimg.ugz && run startsys\0" \
|
||||
"b_def=sf read ${loadaddr} 100000 700000; run startsys\0" \
|
||||
"b_net=tftp ${scradr} netscript.img && source ${scradr}\0" \
|
||||
"b_usb0=usb start && load usb 0 ${scradr} bootscr.img && source ${scradr}\0" \
|
||||
"b_default=run b_deftgts; for target in ${b_tgts};"\
|
||||
" do run b_${target}; if test ${b_break} = 1; then; exit; fi; done\0" \
|
||||
"vxargs=setenv bootargs cpsw(0,0)host:vxWorks h=${serverip}" \
|
||||
" e=${ipaddr}:${netmask} g=${gatewayip} u=vxWorksFTP pw=vxWorks\0" \
|
||||
"vxfdt=fdt addr ${dtbaddr}; fdt resize 0x8000;" \
|
||||
" fdt boardsetup\0" \
|
||||
"startsys=run vxargs && mw 0x80001100 0 && run vxfdt &&" \
|
||||
" bootm ${loadaddr} - ${dtbaddr}\0"
|
||||
#endif /* !CONFIG_SPL_BUILD*/
|
||||
|
||||
/* undefine command which we not need here */
|
||||
#undef CONFIG_BOOTM_NETBSD
|
||||
#undef CONFIG_BOOTM_PLAN9
|
||||
#undef CONFIG_BOOTM_RTEMS
|
||||
|
||||
/* Support both device trees and ATAGs. */
|
||||
#define CONFIG_CMDLINE_TAG
|
||||
#define CONFIG_SETUP_MEMORY_TAGS
|
||||
#define CONFIG_INITRD_TAG
|
||||
|
||||
/* SPI Flash */
|
||||
#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x40000
|
||||
|
||||
/* Environment */
|
||||
#define CONFIG_SYS_REDUNDAND_ENVIRONMENT
|
||||
#define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + \
|
||||
CONFIG_ENV_SECT_SIZE)
|
||||
|
||||
#define CONFIG_CONS_INDEX 1
|
||||
#endif /* __CONFIG_BRSMARC1_H__ */
|
||||
@@ -26,7 +26,7 @@
|
||||
#define CONFIG_SYS_OSCIN_FREQ 24000000
|
||||
#define CONFIG_SYS_TIMERBASE DAVINCI_TIMER0_BASE
|
||||
#define CONFIG_SYS_HZ_CLOCK clk_get(DAVINCI_AUXCLK_CLKID)
|
||||
#define CONFIG_SKIP_LOWLEVEL_INIT
|
||||
#define CONFIG_SKIP_LOWLEVEL_INIT_ONLY
|
||||
|
||||
#ifdef CONFIG_DIRECT_NOR_BOOT
|
||||
#define CONFIG_ARCH_CPU_INIT
|
||||
@@ -192,7 +192,7 @@
|
||||
#ifdef CONFIG_USE_NOR
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of flash banks */
|
||||
#define CONFIG_SYS_FLASH_SECT_SZ (128 << 10) /* 128KB */
|
||||
#define CONFIG_ENV_OFFSET (CONFIG_SYS_FLASH_SECT_SZ * 3)
|
||||
#define CONFIG_ENV_OFFSET (SZ_1M)
|
||||
#define CONFIG_ENV_SIZE (10 << 10) /* 10KB */
|
||||
#define CONFIG_SYS_FLASH_BASE DAVINCI_ASYNC_EMIF_DATA_CE2_BASE
|
||||
#define PHYS_FLASH_SIZE (8 << 20) /* Flash size 8MB */
|
||||
|
||||
@@ -120,4 +120,22 @@ fdt_addr_t devfdt_get_addr_size_index(struct udevice *dev, int index,
|
||||
*/
|
||||
fdt_addr_t devfdt_get_addr_name(struct udevice *dev, const char *name);
|
||||
|
||||
/**
|
||||
* devfdt_get_addr_size_name() - Get the reg property and its size for a device,
|
||||
* indexed by name
|
||||
*
|
||||
* Returns the address and size specified in the 'reg' property of a device.
|
||||
*
|
||||
* @dev: Pointer to a device
|
||||
* @name: the 'reg' property can hold a list of <addr, size> pairs, with the
|
||||
* 'reg-names' property providing named-based identification. @index
|
||||
* indicates the value to search for in 'reg-names'.
|
||||
* @size: Pointer to size variable - this function returns the size
|
||||
* specified in the 'reg' property here
|
||||
*
|
||||
* @return addr
|
||||
*/
|
||||
fdt_addr_t devfdt_get_addr_size_name(struct udevice *dev, const char *name,
|
||||
fdt_size_t *size);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -144,6 +144,19 @@ int dev_read_size(struct udevice *dev, const char *propname);
|
||||
*/
|
||||
fdt_addr_t dev_read_addr_index(struct udevice *dev, int index);
|
||||
|
||||
/**
|
||||
* dev_read_addr_size_index() - Get the indexed reg property of a device
|
||||
*
|
||||
* @dev: Device to read from
|
||||
* @index: the 'reg' property can hold a list of <addr, size> pairs
|
||||
* and @index is used to select which one is required
|
||||
* @size: place to put size value (on success)
|
||||
*
|
||||
* @return address or FDT_ADDR_T_NONE if not found
|
||||
*/
|
||||
fdt_addr_t dev_read_addr_size_index(struct udevice *dev, int index,
|
||||
fdt_size_t *size);
|
||||
|
||||
/**
|
||||
* dev_remap_addr_index() - Get the indexed reg property of a device
|
||||
* as a memory-mapped I/O pointer
|
||||
@@ -168,6 +181,20 @@ void *dev_remap_addr_index(struct udevice *dev, int index);
|
||||
*/
|
||||
fdt_addr_t dev_read_addr_name(struct udevice *dev, const char* name);
|
||||
|
||||
/**
|
||||
* dev_read_addr_size_name() - Get the reg property of a device, indexed by name
|
||||
*
|
||||
* @dev: Device to read from
|
||||
* @name: the 'reg' property can hold a list of <addr, size> pairs, with the
|
||||
* 'reg-names' property providing named-based identification. @index
|
||||
* indicates the value to search for in 'reg-names'.
|
||||
* @size: place to put size value (on success)
|
||||
*
|
||||
* @return address or FDT_ADDR_T_NONE if not found
|
||||
*/
|
||||
fdt_addr_t dev_read_addr_size_name(struct udevice *dev, const char *name,
|
||||
fdt_size_t *size);
|
||||
|
||||
/**
|
||||
* dev_remap_addr_name() - Get the reg property of a device, indexed by name,
|
||||
* as a memory-mapped I/O pointer
|
||||
@@ -601,12 +628,26 @@ static inline fdt_addr_t dev_read_addr_index(struct udevice *dev, int index)
|
||||
return devfdt_get_addr_index(dev, index);
|
||||
}
|
||||
|
||||
static inline fdt_addr_t dev_read_addr_size_index(struct udevice *dev,
|
||||
int index,
|
||||
fdt_size_t *size)
|
||||
{
|
||||
return devfdt_get_addr_size_index(dev, index, size);
|
||||
}
|
||||
|
||||
static inline fdt_addr_t dev_read_addr_name(struct udevice *dev,
|
||||
const char *name)
|
||||
{
|
||||
return devfdt_get_addr_name(dev, name);
|
||||
}
|
||||
|
||||
static inline fdt_addr_t dev_read_addr_size_name(struct udevice *dev,
|
||||
const char *name,
|
||||
fdt_size_t *size)
|
||||
{
|
||||
return devfdt_get_addr_size_name(dev, name, size);
|
||||
}
|
||||
|
||||
static inline fdt_addr_t dev_read_addr(struct udevice *dev)
|
||||
{
|
||||
return devfdt_get_addr(dev);
|
||||
|
||||
13
include/dt-bindings/phy/phy-am654-serdes.h
Normal file
13
include/dt-bindings/phy/phy-am654-serdes.h
Normal file
@@ -0,0 +1,13 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* This header provides constants for AM654 SERDES.
|
||||
*/
|
||||
|
||||
#ifndef _DT_BINDINGS_AM654_SERDES
|
||||
#define _DT_BINDINGS_AM654_SERDES
|
||||
|
||||
#define AM654_SERDES_CMU_REFCLK 0
|
||||
#define AM654_SERDES_LO_REFCLK 1
|
||||
#define AM654_SERDES_RO_REFCLK 2
|
||||
|
||||
#endif /* _DT_BINDINGS_AM654_SERDES */
|
||||
@@ -77,7 +77,7 @@ int init_func_watchdog_reset(void);
|
||||
* Prototypes from $(CPU)/cpu.c.
|
||||
*/
|
||||
|
||||
#if defined(CONFIG_HW_WATCHDOG) && !defined(__ASSEMBLY__)
|
||||
#if (defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)) && !defined(__ASSEMBLY__)
|
||||
void hw_watchdog_init(void);
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user