1*54fd6939SJiyong Park# 2*54fd6939SJiyong Park# Copyright (c) 2018-2021, Renesas Electronics Corporation. All rights reserved. 3*54fd6939SJiyong Park# 4*54fd6939SJiyong Park# SPDX-License-Identifier: BSD-3-Clause 5*54fd6939SJiyong Park# 6*54fd6939SJiyong Park 7*54fd6939SJiyong Parkinclude plat/renesas/common/common.mk 8*54fd6939SJiyong Park 9*54fd6939SJiyong Parkifndef LSI 10*54fd6939SJiyong Park $(error "Error: Unknown LSI. Please use LSI=<LSI name> to specify the LSI") 11*54fd6939SJiyong Parkelse 12*54fd6939SJiyong Park ifeq (${LSI},AUTO) 13*54fd6939SJiyong Park RCAR_LSI:=${RCAR_AUTO} 14*54fd6939SJiyong Park else ifeq (${LSI},H3) 15*54fd6939SJiyong Park RCAR_LSI:=${RCAR_H3} 16*54fd6939SJiyong Park ifndef LSI_CUT 17*54fd6939SJiyong Park # enable compatible function. 18*54fd6939SJiyong Park RCAR_LSI_CUT_COMPAT := 1 19*54fd6939SJiyong Park $(eval $(call add_define,RCAR_LSI_CUT_COMPAT)) 20*54fd6939SJiyong Park else 21*54fd6939SJiyong Park # disable compatible function. 22*54fd6939SJiyong Park ifeq (${LSI_CUT},10) 23*54fd6939SJiyong Park RCAR_LSI_CUT:=0 24*54fd6939SJiyong Park else ifeq (${LSI_CUT},11) 25*54fd6939SJiyong Park RCAR_LSI_CUT:=1 26*54fd6939SJiyong Park else ifeq (${LSI_CUT},20) 27*54fd6939SJiyong Park RCAR_LSI_CUT:=10 28*54fd6939SJiyong Park else ifeq (${LSI_CUT},30) 29*54fd6939SJiyong Park RCAR_LSI_CUT:=20 30*54fd6939SJiyong Park else 31*54fd6939SJiyong Park $(error "Error: ${LSI_CUT} is not supported.") 32*54fd6939SJiyong Park endif 33*54fd6939SJiyong Park $(eval $(call add_define,RCAR_LSI_CUT)) 34*54fd6939SJiyong Park endif 35*54fd6939SJiyong Park else ifeq (${LSI},H3N) 36*54fd6939SJiyong Park RCAR_LSI:=${RCAR_H3N} 37*54fd6939SJiyong Park ifndef LSI_CUT 38*54fd6939SJiyong Park # enable compatible function. 39*54fd6939SJiyong Park RCAR_LSI_CUT_COMPAT := 1 40*54fd6939SJiyong Park $(eval $(call add_define,RCAR_LSI_CUT_COMPAT)) 41*54fd6939SJiyong Park else 42*54fd6939SJiyong Park # disable compatible function. 43*54fd6939SJiyong Park ifeq (${LSI_CUT},30) 44*54fd6939SJiyong Park RCAR_LSI_CUT:=20 45*54fd6939SJiyong Park else 46*54fd6939SJiyong Park $(error "Error: ${LSI_CUT} is not supported.") 47*54fd6939SJiyong Park endif 48*54fd6939SJiyong Park $(eval $(call add_define,RCAR_LSI_CUT)) 49*54fd6939SJiyong Park endif 50*54fd6939SJiyong Park else ifeq (${LSI},M3) 51*54fd6939SJiyong Park RCAR_LSI:=${RCAR_M3} 52*54fd6939SJiyong Park ifndef LSI_CUT 53*54fd6939SJiyong Park # enable compatible function. 54*54fd6939SJiyong Park RCAR_LSI_CUT_COMPAT := 1 55*54fd6939SJiyong Park $(eval $(call add_define,RCAR_LSI_CUT_COMPAT)) 56*54fd6939SJiyong Park else 57*54fd6939SJiyong Park # disable compatible function. 58*54fd6939SJiyong Park ifeq (${LSI_CUT},10) 59*54fd6939SJiyong Park RCAR_LSI_CUT:=0 60*54fd6939SJiyong Park else ifeq (${LSI_CUT},11) 61*54fd6939SJiyong Park RCAR_LSI_CUT:=1 62*54fd6939SJiyong Park else ifeq (${LSI_CUT},13) 63*54fd6939SJiyong Park RCAR_LSI_CUT:=3 64*54fd6939SJiyong Park else ifeq (${LSI_CUT},30) 65*54fd6939SJiyong Park RCAR_LSI_CUT:=20 66*54fd6939SJiyong Park else 67*54fd6939SJiyong Park $(error "Error: ${LSI_CUT} is not supported.") 68*54fd6939SJiyong Park endif 69*54fd6939SJiyong Park $(eval $(call add_define,RCAR_LSI_CUT)) 70*54fd6939SJiyong Park endif 71*54fd6939SJiyong Park else ifeq (${LSI},M3N) 72*54fd6939SJiyong Park RCAR_LSI:=${RCAR_M3N} 73*54fd6939SJiyong Park ifndef LSI_CUT 74*54fd6939SJiyong Park # enable compatible function. 75*54fd6939SJiyong Park RCAR_LSI_CUT_COMPAT := 1 76*54fd6939SJiyong Park $(eval $(call add_define,RCAR_LSI_CUT_COMPAT)) 77*54fd6939SJiyong Park else 78*54fd6939SJiyong Park # disable compatible function. 79*54fd6939SJiyong Park ifeq (${LSI_CUT},10) 80*54fd6939SJiyong Park RCAR_LSI_CUT:=0 81*54fd6939SJiyong Park else ifeq (${LSI_CUT},11) 82*54fd6939SJiyong Park RCAR_LSI_CUT:=1 83*54fd6939SJiyong Park else 84*54fd6939SJiyong Park $(error "Error: ${LSI_CUT} is not supported.") 85*54fd6939SJiyong Park endif 86*54fd6939SJiyong Park $(eval $(call add_define,RCAR_LSI_CUT)) 87*54fd6939SJiyong Park endif 88*54fd6939SJiyong Park else ifeq (${LSI},E3) 89*54fd6939SJiyong Park RCAR_LSI:=${RCAR_E3} 90*54fd6939SJiyong Park ifndef LSI_CUT 91*54fd6939SJiyong Park # enable compatible function. 92*54fd6939SJiyong Park RCAR_LSI_CUT_COMPAT := 1 93*54fd6939SJiyong Park $(eval $(call add_define,RCAR_LSI_CUT_COMPAT)) 94*54fd6939SJiyong Park else 95*54fd6939SJiyong Park # disable compatible function. 96*54fd6939SJiyong Park ifeq (${LSI_CUT},10) 97*54fd6939SJiyong Park RCAR_LSI_CUT:=0 98*54fd6939SJiyong Park else ifeq (${LSI_CUT},11) 99*54fd6939SJiyong Park RCAR_LSI_CUT:=1 100*54fd6939SJiyong Park else 101*54fd6939SJiyong Park $(error "Error: ${LSI_CUT} is not supported.") 102*54fd6939SJiyong Park endif 103*54fd6939SJiyong Park $(eval $(call add_define,RCAR_LSI_CUT)) 104*54fd6939SJiyong Park endif 105*54fd6939SJiyong Park else ifeq (${LSI},D3) 106*54fd6939SJiyong Park RCAR_LSI:=${RCAR_D3} 107*54fd6939SJiyong Park ifndef LSI_CUT 108*54fd6939SJiyong Park # enable compatible function. 109*54fd6939SJiyong Park RCAR_LSI_CUT_COMPAT := 1 110*54fd6939SJiyong Park $(eval $(call add_define,RCAR_LSI_CUT_COMPAT)) 111*54fd6939SJiyong Park else 112*54fd6939SJiyong Park # disable compatible function. 113*54fd6939SJiyong Park ifeq (${LSI_CUT},10) 114*54fd6939SJiyong Park RCAR_LSI_CUT:=0 115*54fd6939SJiyong Park else 116*54fd6939SJiyong Park $(error "Error: ${LSI_CUT} is not supported.") 117*54fd6939SJiyong Park endif 118*54fd6939SJiyong Park $(eval $(call add_define,RCAR_LSI_CUT)) 119*54fd6939SJiyong Park endif 120*54fd6939SJiyong Park else ifeq (${LSI},V3M) 121*54fd6939SJiyong Park RCAR_LSI:=${RCAR_V3M} 122*54fd6939SJiyong Park ifndef LSI_CUT 123*54fd6939SJiyong Park # enable compatible function. 124*54fd6939SJiyong Park RCAR_LSI_CUT_COMPAT := 1 125*54fd6939SJiyong Park $(eval $(call add_define,RCAR_LSI_CUT_COMPAT)) 126*54fd6939SJiyong Park else 127*54fd6939SJiyong Park # disable compatible function. 128*54fd6939SJiyong Park ifeq (${LSI_CUT},10) 129*54fd6939SJiyong Park RCAR_LSI_CUT:=0 130*54fd6939SJiyong Park endif 131*54fd6939SJiyong Park ifeq (${LSI_CUT},20) 132*54fd6939SJiyong Park RCAR_LSI_CUT:=10 133*54fd6939SJiyong Park endif 134*54fd6939SJiyong Park $(eval $(call add_define,RCAR_LSI_CUT)) 135*54fd6939SJiyong Park endif 136*54fd6939SJiyong Park else 137*54fd6939SJiyong Park $(error "Error: ${LSI} is not supported.") 138*54fd6939SJiyong Park endif 139*54fd6939SJiyong Park $(eval $(call add_define,RCAR_LSI)) 140*54fd6939SJiyong Parkendif 141*54fd6939SJiyong Park 142*54fd6939SJiyong Park# lock RPC HYPERFLASH access by default 143*54fd6939SJiyong Park# unlock to repogram the ATF firmware from u-boot 144*54fd6939SJiyong Parkifndef RCAR_RPC_HYPERFLASH_LOCKED 145*54fd6939SJiyong ParkRCAR_RPC_HYPERFLASH_LOCKED := 1 146*54fd6939SJiyong Parkendif 147*54fd6939SJiyong Park$(eval $(call add_define,RCAR_RPC_HYPERFLASH_LOCKED)) 148*54fd6939SJiyong Park 149*54fd6939SJiyong Park# Process RCAR_SECURE_BOOT flag 150*54fd6939SJiyong Parkifndef RCAR_SECURE_BOOT 151*54fd6939SJiyong ParkRCAR_SECURE_BOOT := 1 152*54fd6939SJiyong Parkendif 153*54fd6939SJiyong Park$(eval $(call add_define,RCAR_SECURE_BOOT)) 154*54fd6939SJiyong Park 155*54fd6939SJiyong Park# Process RCAR_QOS_TYPE flag 156*54fd6939SJiyong Parkifndef RCAR_QOS_TYPE 157*54fd6939SJiyong ParkRCAR_QOS_TYPE := 0 158*54fd6939SJiyong Parkendif 159*54fd6939SJiyong Park$(eval $(call add_define,RCAR_QOS_TYPE)) 160*54fd6939SJiyong Park 161*54fd6939SJiyong Park# Process RCAR_DRAM_SPLIT flag 162*54fd6939SJiyong Parkifndef RCAR_DRAM_SPLIT 163*54fd6939SJiyong ParkRCAR_DRAM_SPLIT := 0 164*54fd6939SJiyong Parkendif 165*54fd6939SJiyong Park$(eval $(call add_define,RCAR_DRAM_SPLIT)) 166*54fd6939SJiyong Park 167*54fd6939SJiyong Park# Process RCAR_BL33_EXECUTION_EL flag 168*54fd6939SJiyong Parkifndef RCAR_BL33_EXECUTION_EL 169*54fd6939SJiyong ParkRCAR_BL33_EXECUTION_EL := 0 170*54fd6939SJiyong Parkendif 171*54fd6939SJiyong Park$(eval $(call add_define,RCAR_BL33_EXECUTION_EL)) 172*54fd6939SJiyong Park 173*54fd6939SJiyong Park# Process RCAR_AVS_SETTING_ENABLE flag 174*54fd6939SJiyong Parkifeq (${RCAR_AVS_SETTING_ENABLE},0) 175*54fd6939SJiyong ParkAVS_SETTING_ENABLE := 0 176*54fd6939SJiyong Parkelse 177*54fd6939SJiyong ParkAVS_SETTING_ENABLE := 1 178*54fd6939SJiyong Parkendif 179*54fd6939SJiyong Park$(eval $(call add_define,AVS_SETTING_ENABLE)) 180*54fd6939SJiyong Park 181*54fd6939SJiyong Park# Process RCAR_LOSSY_ENABLE flag 182*54fd6939SJiyong Parkifndef RCAR_LOSSY_ENABLE 183*54fd6939SJiyong ParkRCAR_LOSSY_ENABLE := 0 184*54fd6939SJiyong Parkendif 185*54fd6939SJiyong Park$(eval $(call add_define,RCAR_LOSSY_ENABLE)) 186*54fd6939SJiyong Park 187*54fd6939SJiyong Park# Process LIFEC_DBSC_PROTECT_ENABLE flag 188*54fd6939SJiyong Parkifndef LIFEC_DBSC_PROTECT_ENABLE 189*54fd6939SJiyong ParkLIFEC_DBSC_PROTECT_ENABLE := 1 190*54fd6939SJiyong Parkendif 191*54fd6939SJiyong Park$(eval $(call add_define,LIFEC_DBSC_PROTECT_ENABLE)) 192*54fd6939SJiyong Park 193*54fd6939SJiyong Park# Process PMIC_ROHM_BD9571 flag 194*54fd6939SJiyong Parkifndef PMIC_ROHM_BD9571 195*54fd6939SJiyong ParkPMIC_ROHM_BD9571 := 1 196*54fd6939SJiyong Parkendif 197*54fd6939SJiyong Park$(eval $(call add_define,PMIC_ROHM_BD9571)) 198*54fd6939SJiyong Park 199*54fd6939SJiyong Park# Process PMIC_LEVEL_MODE flag 200*54fd6939SJiyong Parkifndef PMIC_LEVEL_MODE 201*54fd6939SJiyong ParkPMIC_LEVEL_MODE := 1 202*54fd6939SJiyong Parkendif 203*54fd6939SJiyong Park$(eval $(call add_define,PMIC_LEVEL_MODE)) 204*54fd6939SJiyong Park 205*54fd6939SJiyong Park# Process RCAR_GEN3_ULCB flag 206*54fd6939SJiyong Parkifndef RCAR_GEN3_ULCB 207*54fd6939SJiyong ParkRCAR_GEN3_ULCB := 0 208*54fd6939SJiyong Parkendif 209*54fd6939SJiyong Parkifeq (${RCAR_GEN3_ULCB},1) 210*54fd6939SJiyong Park BOARD_DEFAULT := 0x10 211*54fd6939SJiyong Park $(eval $(call add_define,BOARD_DEFAULT)) 212*54fd6939SJiyong Parkendif 213*54fd6939SJiyong Park$(eval $(call add_define,RCAR_GEN3_ULCB)) 214*54fd6939SJiyong Park 215*54fd6939SJiyong Park# Process RCAR_REF_INT flag 216*54fd6939SJiyong Parkifndef RCAR_REF_INT 217*54fd6939SJiyong ParkRCAR_REF_INT :=0 218*54fd6939SJiyong Parkendif 219*54fd6939SJiyong Park$(eval $(call add_define,RCAR_REF_INT)) 220*54fd6939SJiyong Park 221*54fd6939SJiyong Park# Process RCAR_REWT_TRAINING flag 222*54fd6939SJiyong Parkifndef RCAR_REWT_TRAINING 223*54fd6939SJiyong ParkRCAR_REWT_TRAINING := 1 224*54fd6939SJiyong Parkendif 225*54fd6939SJiyong Park$(eval $(call add_define,RCAR_REWT_TRAINING)) 226*54fd6939SJiyong Park 227*54fd6939SJiyong Park# Process RCAR_SYSTEM_SUSPEND flag 228*54fd6939SJiyong Parkifndef RCAR_SYSTEM_SUSPEND 229*54fd6939SJiyong ParkRCAR_SYSTEM_SUSPEND := 1 230*54fd6939SJiyong Parkendif 231*54fd6939SJiyong Park$(eval $(call add_define,RCAR_SYSTEM_SUSPEND)) 232*54fd6939SJiyong Park 233*54fd6939SJiyong Park# SYSTEM_SUSPEND requires power control of PMIC etc. 234*54fd6939SJiyong Park# When executing SYSTEM_SUSPEND other than Salvator-X, Salvator-XS and Ebisu, 235*54fd6939SJiyong Park# processing equivalent to that implemented in PMIC_ROHM_BD9571 is necessary. 236*54fd6939SJiyong Parkifeq (${RCAR_SYSTEM_SUSPEND},1) 237*54fd6939SJiyong Park ifeq (${PMIC_ROHM_BD9571},0) 238*54fd6939SJiyong Park $(error "Error: When you want RCAR_SYSTEM_SUSPEND to be enable, please also set PMIC_ROHM_BD9571 to enable.") 239*54fd6939SJiyong Park endif 240*54fd6939SJiyong Parkendif 241*54fd6939SJiyong Park 242*54fd6939SJiyong Park# Process RCAR_DRAM_LPDDR4_MEMCONF flag 243*54fd6939SJiyong Parkifndef RCAR_DRAM_LPDDR4_MEMCONF 244*54fd6939SJiyong ParkRCAR_DRAM_LPDDR4_MEMCONF :=1 245*54fd6939SJiyong Parkendif 246*54fd6939SJiyong Park$(eval $(call add_define,RCAR_DRAM_LPDDR4_MEMCONF)) 247*54fd6939SJiyong Park 248*54fd6939SJiyong Park# Process RCAR_DRAM_MEMRANK flag 249*54fd6939SJiyong Parkifndef RCAR_DRAM_MEMRANK 250*54fd6939SJiyong ParkRCAR_DRAM_MEMRANK :=0 251*54fd6939SJiyong Parkendif 252*54fd6939SJiyong Park$(eval $(call add_define,RCAR_DRAM_MEMRANK)) 253*54fd6939SJiyong Park 254*54fd6939SJiyong Park# Process RCAR_DRAM_DDR3L_MEMCONF flag 255*54fd6939SJiyong Parkifndef RCAR_DRAM_DDR3L_MEMCONF 256*54fd6939SJiyong ParkRCAR_DRAM_DDR3L_MEMCONF :=1 257*54fd6939SJiyong Parkendif 258*54fd6939SJiyong Park$(eval $(call add_define,RCAR_DRAM_DDR3L_MEMCONF)) 259*54fd6939SJiyong Park 260*54fd6939SJiyong Park# Process RCAR_DRAM_DDR3L_MEMDUAL flag 261*54fd6939SJiyong Parkifndef RCAR_DRAM_DDR3L_MEMDUAL 262*54fd6939SJiyong ParkRCAR_DRAM_DDR3L_MEMDUAL :=1 263*54fd6939SJiyong Parkendif 264*54fd6939SJiyong Park$(eval $(call add_define,RCAR_DRAM_DDR3L_MEMDUAL)) 265*54fd6939SJiyong Park 266*54fd6939SJiyong Park# Process RCAR_BL33_ARG0 flag 267*54fd6939SJiyong Parkifdef RCAR_BL33_ARG0 268*54fd6939SJiyong Park$(eval $(call add_define,RCAR_BL33_ARG0)) 269*54fd6939SJiyong Parkendif 270*54fd6939SJiyong Park 271*54fd6939SJiyong Park#Process RCAR_BL2_DCACHE flag 272*54fd6939SJiyong Parkifndef RCAR_BL2_DCACHE 273*54fd6939SJiyong ParkRCAR_BL2_DCACHE := 0 274*54fd6939SJiyong Parkendif 275*54fd6939SJiyong Park$(eval $(call add_define,RCAR_BL2_DCACHE)) 276*54fd6939SJiyong Park 277*54fd6939SJiyong Park# Process RCAR_DRAM_CHANNEL flag 278*54fd6939SJiyong Parkifndef RCAR_DRAM_CHANNEL 279*54fd6939SJiyong ParkRCAR_DRAM_CHANNEL :=15 280*54fd6939SJiyong Parkendif 281*54fd6939SJiyong Park$(eval $(call add_define,RCAR_DRAM_CHANNEL)) 282*54fd6939SJiyong Park 283*54fd6939SJiyong Park#Process RCAR_SYSTEM_RESET_KEEPON_DDR flag 284*54fd6939SJiyong Parkifndef RCAR_SYSTEM_RESET_KEEPON_DDR 285*54fd6939SJiyong ParkRCAR_SYSTEM_RESET_KEEPON_DDR := 0 286*54fd6939SJiyong Parkendif 287*54fd6939SJiyong Park$(eval $(call add_define,RCAR_SYSTEM_RESET_KEEPON_DDR)) 288*54fd6939SJiyong Park 289*54fd6939SJiyong Parkifndef RCAR_GEN3_BL33_GZIP 290*54fd6939SJiyong ParkRCAR_GEN3_BL33_GZIP := 0 291*54fd6939SJiyong Parkendif 292*54fd6939SJiyong Park$(eval $(call add_define,RCAR_GEN3_BL33_GZIP)) 293*54fd6939SJiyong Park 294*54fd6939SJiyong Park# RCAR_SYSTEM_RESET_KEEPON_DDR requires power control of PMIC etc. 295*54fd6939SJiyong Park# When executing SYSTEM_SUSPEND other than Salvator-X, Salvator-XS and Ebisu, 296*54fd6939SJiyong Park# processing equivalent to that implemented in PMIC_ROHM_BD9571 is necessary. 297*54fd6939SJiyong Park# Also, it is necessary to enable RCAR_SYSTEM_SUSPEND. 298*54fd6939SJiyong Parkifeq (${RCAR_SYSTEM_RESET_KEEPON_DDR},1) 299*54fd6939SJiyong Park ifeq (${PMIC_ROHM_BD9571},0) 300*54fd6939SJiyong Park $(error "Error: When you want RCAR_SYSTEM_RESET_KEEPON_DDR to be enable, please also set PMIC_ROHM_BD9571 to enable.") 301*54fd6939SJiyong Park endif 302*54fd6939SJiyong Park ifeq (${RCAR_SYSTEM_SUSPEND},0) 303*54fd6939SJiyong Park $(error "Error: When you want RCAR_SYSTEM_RESET_KEEPON_DDR to be enable, please also set RCAR_SYSTEM_SUSPEND to enable.") 304*54fd6939SJiyong Park endif 305*54fd6939SJiyong Parkendif 306*54fd6939SJiyong Park 307*54fd6939SJiyong Parkinclude drivers/renesas/common/ddr/ddr.mk 308*54fd6939SJiyong Parkinclude drivers/renesas/rcar/qos/qos.mk 309*54fd6939SJiyong Parkinclude drivers/renesas/rcar/pfc/pfc.mk 310*54fd6939SJiyong Parkinclude lib/libfdt/libfdt.mk 311*54fd6939SJiyong Park 312*54fd6939SJiyong ParkPLAT_INCLUDES += -Idrivers/renesas/common/ddr \ 313*54fd6939SJiyong Park -Idrivers/renesas/rcar/qos \ 314*54fd6939SJiyong Park -Idrivers/renesas/rcar/board \ 315*54fd6939SJiyong Park -Idrivers/renesas/rcar/cpld/ \ 316*54fd6939SJiyong Park -Idrivers/renesas/common \ 317*54fd6939SJiyong Park -Idrivers/renesas/common/iic_dvfs \ 318*54fd6939SJiyong Park -Idrivers/renesas/common/avs \ 319*54fd6939SJiyong Park -Idrivers/renesas/common/delay \ 320*54fd6939SJiyong Park -Idrivers/renesas/common/rom \ 321*54fd6939SJiyong Park -Idrivers/renesas/common/scif \ 322*54fd6939SJiyong Park -Idrivers/renesas/common/emmc \ 323*54fd6939SJiyong Park -Idrivers/renesas/common/pwrc \ 324*54fd6939SJiyong Park -Idrivers/renesas/common/io 325*54fd6939SJiyong Park 326*54fd6939SJiyong ParkBL2_SOURCES += plat/renesas/rcar/bl2_plat_setup.c \ 327*54fd6939SJiyong Park drivers/renesas/rcar/board/board.c 328*54fd6939SJiyong Park 329*54fd6939SJiyong Parkifeq (${RCAR_GEN3_BL33_GZIP},1) 330*54fd6939SJiyong Parkinclude lib/zlib/zlib.mk 331*54fd6939SJiyong Park 332*54fd6939SJiyong ParkBL2_SOURCES += common/image_decompress.c \ 333*54fd6939SJiyong Park $(ZLIB_SOURCES) 334*54fd6939SJiyong Parkendif 335*54fd6939SJiyong Park 336*54fd6939SJiyong Parkifeq (${RCAR_GEN3_ULCB},1) 337*54fd6939SJiyong ParkBL31_SOURCES += drivers/renesas/rcar/cpld/ulcb_cpld.c 338*54fd6939SJiyong Parkendif 339*54fd6939SJiyong Park 340*54fd6939SJiyong Park# build the layout images for the bootrom and the necessary srecords 341*54fd6939SJiyong Parkrcar: rcar_layout_tool rcar_srecord 342*54fd6939SJiyong Parkdistclean realclean clean: clean_layout_tool clean_srecord 343*54fd6939SJiyong Park 344*54fd6939SJiyong Park# layout images 345*54fd6939SJiyong ParkLAYOUT_TOOLPATH ?= tools/renesas/rcar_layout_create 346*54fd6939SJiyong Park 347*54fd6939SJiyong Parkclean_layout_tool: 348*54fd6939SJiyong Park @echo "clean layout tool" 349*54fd6939SJiyong Park ${Q}${MAKE} -C ${LAYOUT_TOOLPATH} clean 350*54fd6939SJiyong Park 351*54fd6939SJiyong Park.PHONY: rcar_layout_tool 352*54fd6939SJiyong Parkrcar_layout_tool: 353*54fd6939SJiyong Park @echo "generating layout srecs" 354*54fd6939SJiyong Park ${Q}${MAKE} CPPFLAGS="-D=AARCH64" --no-print-directory -C ${LAYOUT_TOOLPATH} 355*54fd6939SJiyong Park 356*54fd6939SJiyong Park# srecords 357*54fd6939SJiyong ParkSREC_PATH = ${BUILD_PLAT} 358*54fd6939SJiyong ParkBL2_ELF_SRC = ${SREC_PATH}/bl2/bl2.elf 359*54fd6939SJiyong ParkBL31_ELF_SRC = ${SREC_PATH}/bl31/bl31.elf 360*54fd6939SJiyong Park 361*54fd6939SJiyong Parkclean_srecord: 362*54fd6939SJiyong Park @echo "clean bl2 and bl31 srecs" 363*54fd6939SJiyong Park rm -f ${SREC_PATH}/bl2.srec ${SREC_PATH}/bl31.srec 364*54fd6939SJiyong Park 365*54fd6939SJiyong Park.PHONY: rcar_srecord 366*54fd6939SJiyong Parkrcar_srecord: $(BL2_ELF_SRC) $(BL31_ELF_SRC) 367*54fd6939SJiyong Park @echo "generating srec: ${SREC_PATH}/bl2.srec" 368*54fd6939SJiyong Park $(Q)$(OC) -O srec --srec-forceS3 ${BL2_ELF_SRC} ${SREC_PATH}/bl2.srec 369*54fd6939SJiyong Park @echo "generating srec: ${SREC_PATH}/bl31.srec" 370*54fd6939SJiyong Park $(Q)$(OC) -O srec --srec-forceS3 ${BL31_ELF_SRC} ${SREC_PATH}/bl31.srec 371*54fd6939SJiyong Park 372