u-boot/board/bosch/shc/board.h
Tom Rini 83d290c56f SPDX: Convert all of our single license tags to Linux Kernel style
When U-Boot started using SPDX tags we were among the early adopters and
there weren't a lot of other examples to borrow from.  So we picked the
area of the file that usually had a full license text and replaced it
with an appropriate SPDX-License-Identifier: entry.  Since then, the
Linux Kernel has adopted SPDX tags and they place it as the very first
line in a file (except where shebangs are used, then it's second line)
and with slightly different comment styles than us.

In part due to community overlap, in part due to better tag visibility
and in part for other minor reasons, switch over to that style.

This commit changes all instances where we have a single declared
license in the tag as both the before and after are identical in tag
contents.  There's also a few places where I found we did not have a tag
and have introduced one.

Signed-off-by: Tom Rini <trini@konsulko.com>
2018-05-07 09:34:12 -04:00

186 lines
4.7 KiB
C

/* SPDX-License-Identifier: GPL-2.0+ */
/*
* board.h
*
* (C) Copyright 2016
* Heiko Schocher, DENX Software Engineering, hs@denx.de.
*
* Based on:
* TI AM335x boards information header
*
* Copyright (C) 2011, Texas Instruments, Incorporated - http://www.ti.com/
*/
#ifndef _BOARD_H_
#define _BOARD_H_
/* Definition to control the GPIOs (for LEDs and Reset) */
#define GPIO_TO_PIN(bank, gpio) (32 * (bank) + (gpio))
static inline int board_is_b_sample(void)
{
#if defined CONFIG_B_SAMPLE
return 1;
#else
return 0;
#endif
}
static inline int board_is_c_sample(void)
{
#if defined CONFIG_C_SAMPLE
return 1;
#else
return 0;
#endif
}
static inline int board_is_c3_sample(void)
{
#if defined CONFIG_C3_SAMPLE
return 1;
#else
return 0;
#endif
}
static inline int board_is_series(void)
{
#if defined CONFIG_SERIES
return 1;
#else
return 0;
#endif
}
/*
* Definitions for pinmuxing header and Board ID strings
*/
#if defined CONFIG_B_SAMPLE
# define BOARD_ID_STR "SHC B-Sample\n"
#elif defined CONFIG_B2_SAMPLE
# define BOARD_ID_STR "SHC B2-Sample\n"
#elif defined CONFIG_C_SAMPLE
# if defined(CONFIG_SHC_NETBOOT)
# define BOARD_ID_STR "#### NETBOOT ####\nSHC C-Sample\n"
# elif defined(CONFIG_SHC_SDBOOT)
# define BOARD_ID_STR "#### SDBOOT ####\nSHC C-Sample\n"
# else
# define BOARD_ID_STR "SHC C-Sample\n"
# endif
#elif defined CONFIG_C2_SAMPLE
# if defined(CONFIG_SHC_ICT)
# define BOARD_ID_STR "#### ICT ####\nSHC C2-Sample\n"
# elif defined(CONFIG_SHC_NETBOOT)
# define BOARD_ID_STR "#### NETBOOT ####\nSHC C2-Sample\n"
# elif defined(CONFIG_SHC_SDBOOT)
# define BOARD_ID_STR "#### SDBOOT ####\nSHC C2-Sample\n"
# else
# define BOARD_ID_STR "SHC C2-Sample\n"
# endif
#elif defined CONFIG_C3_SAMPLE
# if defined(CONFIG_SHC_ICT)
# define BOARD_ID_STR "#### ICT ####\nSHC C3-Sample\n"
# elif defined(CONFIG_SHC_NETBOOT)
# define BOARD_ID_STR "#### NETBOOT ####\nSHC C3-Sample\n"
# elif defined(CONFIG_SHC_SDBOOT)
# define BOARD_ID_STR "#### SDBOOT ####\nSHC C3-Sample\n"
# else
# define BOARD_ID_STR "SHC C3-Sample\n"
# endif
#elif defined CONFIG_SERIES
# if defined(CONFIG_SHC_ICT)
# define BOARD_ID_STR "#### ICT ####\nSHC\n"
# elif defined(CONFIG_SHC_NETBOOT)
# define BOARD_ID_STR "#### NETBOOT ####\nSHC\n"
# elif defined(CONFIG_SHC_SDBOOT)
# define BOARD_ID_STR "#### SDBOOT ####\nSHC\n"
# else
# define BOARD_ID_STR "SHC\n"
# endif
#else
# define BOARD_ID_STR "Unknown device!\n"
#endif
/*
* Definitions for GPIO pin assignments
*/
#if defined CONFIG_B_SAMPLE
# define LED_PWR_BL_GPIO GPIO_TO_PIN(1, 17)
# define LED_PWR_RD_GPIO GPIO_TO_PIN(1, 18)
# define LED_PWR_GN_GPIO GPIO_TO_PIN(1, 19)
# define LED_CONN_BL_GPIO GPIO_TO_PIN(0, 26)
# define LED_CONN_RD_GPIO GPIO_TO_PIN(0, 22)
# define LED_CONN_GN_GPIO GPIO_TO_PIN(0, 23)
# define RESET_GPIO GPIO_TO_PIN(1, 29)
# define WIFI_REGEN_GPIO GPIO_TO_PIN(1, 16)
# define WIFI_RST_GPIO GPIO_TO_PIN(0, 27)
# define ZIGBEE_RST_GPIO GPIO_TO_PIN(3, 18)
# define BIDCOS_RST_GPIO GPIO_TO_PIN(0, 12)
# define ENOC_RST_GPIO GPIO_TO_PIN(1, 22)
#else
# define LED_PWR_BL_GPIO GPIO_TO_PIN(0, 22)
# define LED_PWR_RD_GPIO GPIO_TO_PIN(0, 23)
# define LED_LAN_BL_GPIO GPIO_TO_PIN(1, 17)
# define LED_LAN_RD_GPIO GPIO_TO_PIN(0, 26)
# define LED_CLOUD_BL_GPIO GPIO_TO_PIN(1, 18)
# define LED_CLOUD_RD_GPIO GPIO_TO_PIN(2, 2)
# define LED_PWM_GPIO GPIO_TO_PIN(1, 19)
# define RESET_GPIO GPIO_TO_PIN(1, 29)
# define WIFI_REGEN_GPIO GPIO_TO_PIN(1, 16)
# define WIFI_RST_GPIO GPIO_TO_PIN(0, 27)
# define ZIGBEE_RST_GPIO GPIO_TO_PIN(3, 18)
# define BIDCOS_RST_GPIO GPIO_TO_PIN(1, 24)
# define Z_WAVE_RST_GPIO GPIO_TO_PIN(1, 21)
# define ENOC_RST_GPIO GPIO_TO_PIN(1, 22)
#endif
#define BACK_BUTTON_GPIO GPIO_TO_PIN(1, 29)
#define FRONT_BUTTON_GPIO GPIO_TO_PIN(1, 25)
/* Reset is on GPIO pin 29 of GPIO bank 1 */
#define RESET_MASK (0x1 << 29)
#define HDR_MAGIC 0x43485342
#define HDR_ETH_ALEN 6
#define HDR_NAME_LEN 8
#define HDR_REV_LEN 8
#define HDR_SER_LEN 16
#define HDR_ROOT_LEN 12
#define HDR_FATC_LEN 12
/*
* SHC parameters held in On-Board I²C EEPROM device.
*
* Header Format
*
* Name Size Contents
*-------------------------------------------------------------
* Magic 4 0x42 0x53 0x48 0x43 [BSHC]
*
* Version 2 0x0100 for v1.0
*
* Lenght 2 The length of the complete structure, not only this header
*
* Eth-MAC 6 Ethernet MAC Address
* SHC Pool: 7C:AC:B2:00:10:01 - TBD
*
* --- Further values follow, not important for Bootloader ---
*/
struct shc_eeprom {
u32 magic;
u16 version;
u16 lenght;
uint8_t mac_addr[HDR_ETH_ALEN];
};
void enable_uart0_pin_mux(void);
void enable_shc_board_pin_mux(void);
void enable_shc_board_pwm_pin_mux(void);
#endif