#
# compiler flag for diagshell and apollo ASIC driver under x86 CYGWIN platform
#

CONFIG_SDK_APOLLO=y
CONFIG_SDK_APOLLOMP=y

# CONFIG_PLATFORM_MODE could be CONFIG_PC_FPGA_MDIO_MODE: PC access FPGA through MDIO
# CONFIG_PLATFORM_MODE could be CONFIG_SOC_FPGA_MDIO_MODE: SoC access FPGA through MDIO
# CONFIG_PLATFORM_MODE could be CONFIG_FPGA_SPI_MODE: SoC access FPGA through SPI
# CONFIG_PLATFORM_MODE could be CONFIG_FPGA_SPI_L34_MODE: SoC access FPGA through SPI for L34 platform
# CONFIG_PLATFORM_MODE could be CONFIG_VIRTUAL_DRV_MODE: PC simulation
# CONFIG_PLATFORM_MODE could be CONFIG_RLX_MODE: PC access ASIC through RLX probe
# CONFIG_PLATFORM_MODE could be CONFIG_SOC_MODE: run in SoC through memory access
CONFIG_PLATFORM_MODE=CONFIG_SOC_MODE


# CONFIG_DIAGSHELL_MODE could be CONFIG_DIAGSHELL_RAW: build raw driver access mode diagshell
#                                CONFIG_DIAGSHELL_RTK: build RTK API mode diagshell
CONFIG_DIAGSHELL_MODE=CONFIG_DIAGSHELL_RTK

export CONFIG_SDK_APOLLO CONFIG_SDK_APOLLOMP

EXTRA_CFLAGS += -DRTK_X86_CLE -DNO_MIB_SEPARATE


ifeq ($(CONFIG_PLATFORM_MODE),CONFIG_PC_FPGA_MDIO_MODE)
#CYGWIN X86 MDIO access
  EXTRA_CFLAGS +=  -DCYGWIN_MDIO_IO -DFPGA_DEFINED
  ifeq ($(CONFIG_SDK_KERNEL_LINUX_KERNEL_MODE),y)
    EXTRA_CFLAGS +=  -DLINUX_KERNEL_MDIO_IO
  endif
endif

ifeq ($(CONFIG_PLATFORM_MODE),CONFIG_SOC_FPGA_MDIO_MODE)
  EXTRA_CFLAGS +=  -DFPGA_DEFINED -DOLD_FPGA_DEFINED -DCONFIG_SOC_DEPEND_FEATURE
  ifeq ($(CONFIG_SDK_KERNEL_LINUX_KERNEL_MODE),y)
    EXTRA_CFLAGS +=  -DLINUX_KERNEL_MDIO_IO
  endif
endif

ifeq ($(CONFIG_PLATFORM_MODE),CONFIG_FPGA_SPI_MODE)
# MDIO access
  EXTRA_CFLAGS +=  -DFPGA_DEFINED -DCONFIG_SOC_DEPEND_FEATURE
  ifeq ($(CONFIG_SDK_KERNEL_LINUX_KERNEL_MODE),y)
    EXTRA_CFLAGS +=  -DLINUX_KERNEL_MDIO_IO -DLINUX_KERNEL_SPI_IO
  endif
endif

ifeq ($(CONFIG_PLATFORM_MODE),CONFIG_FPGA_SPI_L34_MODE)
# MDIO access
  EXTRA_CFLAGS +=  -DFPGA_DEFINED
  ifeq ($(CONFIG_SDK_KERNEL_LINUX_KERNEL_MODE),y)
    EXTRA_CFLAGS +=  -DLINUX_KERNEL_MDIO_IO -DLINUX_KERNEL_SPI_IO -DRTL_SPI_SLOW_CLK
  endif
endif

ifeq ($(CONFIG_PLATFORM_MODE),CONFIG_VIRTUAL_DRV_MODE)
# MDIO access
    EXTRA_CFLAGS +=  -DCONFIG_SDK_ASICDRV_TEST -DRTL_CYGWIN_EMULATE
endif

ifeq ($(CONFIG_PLATFORM_MODE),CONFIG_RLX_MODE)
# MDIO access
    EXTRA_CFLAGS +=  -DRTL_RLX_IO
    endif

ifeq ($(CONFIG_PLATFORM_MODE),CONFIG_SOC_MODE)
# MDIO access
#  EXTRA_CFLAGS += -DCONFIG_SOC_DEPEND_FEATURE
endif

ifeq ($(CONFIG_SDK_KERNEL_LINUX_KERNEL_MODE),y)
EXTRA_CFLAGS +=  -DCONFIG_SDK_KERNEL_LINUX
endif


### HAL Setting ###
ifeq ($(CONFIG_SDK_APOLLO),y)
EXTRA_CFLAGS += -DCONFIG_SDK_APOLLO
endif

ifeq ($(CONFIG_SDK_APOLLOMP),y)
EXTRA_CFLAGS += -DCONFIG_SDK_APOLLOMP
endif


### Force Probe setting, should only one line be un-comment ###
#EXTRA_CFLAGS += -DFORCE_PROBE_APOLLO
#EXTRA_CFLAGS += -DFORCE_PROBE_APOLLOMP


### For debug ###
EXTRA_CFLAGS += -DCONFIG_SDK_DEBUG


### pure h/w verify, not init asic by S/W###
#EXTRA_CFLAGS += -DCONFIG_PURE_HW_INIT



######################################
###    featrue select part
######################################

### for gpon feature
#EXTRA_CFLAGS += -DCONFIG_GPON_FEATURE

### for classfication feature
#EXTRA_CFLAGS += -DCONFIG_CLASSFICATION_FEATURE


