blob: 099018c0ef7968cb82e3da89eac544fd823b8cd6 [file] [log] [blame]
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
/*
* Copyright (c) 2019 Amlogic, Inc. All rights reserved.
*/
#ifndef __PLATFORM_H__
#define __PLATFORM_H__
#include <asm/arch/register.h>
#define PREI_USB_PHY_A_POR (1 << 0)
#define PREI_USB_PHY_B_POR (1 << 1)
#define PREI_USB_PHY_CLK_SEL (7 << 5)
#define PREI_USB_PHY_CLK_GATE (1 << 8)
#define PREI_USB_PHY_B_AHB_RSET (1 << 11)
#define PREI_USB_PHY_B_CLK_RSET (1 << 12)
#define PREI_USB_PHY_B_PLL_RSET (1 << 13)
#define PREI_USB_PHY_A_AHB_RSET (1 << 17)
#define PREI_USB_PHY_A_CLK_RSET (1 << 18)
#define PREI_USB_PHY_A_PLL_RSET (1 << 19)
#define PREI_USB_PHY_A_DRV_VBUS (1 << 20)
#define PREI_USB_PHY_B_DRV_VBUS (1 << 21)
#define PREI_USB_PHY_B_CLK_DETECT (1 << 22)
#define PREI_USB_PHY_CLK_DIV (0x7f << 24)
#define PREI_USB_PHY_A_CLK_DETECT (1 << 31)
#define PREI_USB_PHY_A_REG3_IDDIG_OVR (1 << 23)
#define PREI_USB_PHY_A_REG3_IDDIG_VAL (1 << 24)
#define PREI_USB_PHY_B_REG4_IDDIG_OVR (1 << 23)
#define PREI_USB_PHY_B_REG4_IDDIG_VAL (1 << 24)
#define IREG_TIMER_E_COUNT 0x2655
#define flush_cpu_cache()
void dwc_write_reg32(unsigned int x, unsigned int v);
unsigned int dwc_read_reg32(unsigned int x);
void dwc_modify_reg32(unsigned int x, unsigned int c, unsigned int s);
#define get_unaligned(ptr) ( ((unsigned long)ptr & 3) ? \
(((__u8 *)ptr)[0] | (((__u8 *)ptr)[1]<<8) | (((__u8 *)ptr)[2]<<16) | (((__u8 *)ptr)[3]<<24)) : \
(*(uint32_t*)ptr) )
#define get_unaligned_16(ptr) (((__u8 *)ptr)[0] | (((__u8 *)ptr)[1]<<8))
#define get_unaligned_32(ptr) (((__u8 *)ptr)[0] | (((__u8 *)ptr)[1]<<8) | (((__u8 *)ptr)[2]<<16) | (((__u8 *)ptr)[3]<<24))
#define EXT_CLOCK 0
#define INT_CLOCK 1
#define USB_ROM_CONN_TIMEOUT 5*1000*1000
/* Meet with spec */
#define USB_ROM_VER_MAJOR 0
#define USB_ROM_STAGE_MAJOR 0
#define USB_ROM_STAGE_MINOR 16
#ifdef CONFIG_M6
#define USB_ROM_VER_MINOR 8
#else
#define USB_ROM_VER_MINOR 7
#endif
#define PRINTF(x...) do{}while(0)
#define ERR(x...) printf(x)
#define DBG(x...) PRINTF(x)
#define USB_ERR(x...) printf("USBErr:%d", __LINE__),printf(x)
#define USB_DBG(x...) PRINTF(x)
void set_usb_phy_config(int cfg);
void set_usb_phy21_tuning_update(void);
void set_usb_phy21_tuning_update_reset(void);
void close_usb_phy_clock(int cfg);
void usb_parameter_init(int timeout);
int chip_utimer_set(int val);
int chip_watchdog(void);
#define udelay __udelay
#define wait_ms(a) udelay(a*1000);
int update_utime(void);
int get_utime(void);
#endif