17e532c4bSJorge Ramirez-Ortiz# 2223d989eSMarek Vasut# Copyright (c) 2018-2025, Renesas Electronics Corporation. All rights reserved. 37e532c4bSJorge Ramirez-Ortiz# 47e532c4bSJorge Ramirez-Ortiz# SPDX-License-Identifier: BSD-3-Clause 57e532c4bSJorge Ramirez-Ortiz# 67e532c4bSJorge Ramirez-Ortiz 7011a4c2fSBiju Dasinclude plat/renesas/common/common.mk 87e532c4bSJorge Ramirez-Ortiz 9cfa466abSToshiyuki OgasaharaENABLE_STACK_PROTECTOR := strong 10cfa466abSToshiyuki Ogasahara 117e532c4bSJorge Ramirez-Ortizifndef LSI 127e532c4bSJorge Ramirez-Ortiz $(error "Error: Unknown LSI. Please use LSI=<LSI name> to specify the LSI") 137e532c4bSJorge Ramirez-Ortizelse 147e532c4bSJorge Ramirez-Ortiz ifeq (${LSI},AUTO) 157e532c4bSJorge Ramirez-Ortiz RCAR_LSI:=${RCAR_AUTO} 167e532c4bSJorge Ramirez-Ortiz else ifeq (${LSI},H3) 177e532c4bSJorge Ramirez-Ortiz RCAR_LSI:=${RCAR_H3} 187e532c4bSJorge Ramirez-Ortiz ifndef LSI_CUT 197e532c4bSJorge Ramirez-Ortiz # enable compatible function. 207e532c4bSJorge Ramirez-Ortiz RCAR_LSI_CUT_COMPAT := 1 217e532c4bSJorge Ramirez-Ortiz $(eval $(call add_define,RCAR_LSI_CUT_COMPAT)) 227e532c4bSJorge Ramirez-Ortiz else 237e532c4bSJorge Ramirez-Ortiz # disable compatible function. 247e532c4bSJorge Ramirez-Ortiz ifeq (${LSI_CUT},10) 257e532c4bSJorge Ramirez-Ortiz RCAR_LSI_CUT:=0 267e532c4bSJorge Ramirez-Ortiz else ifeq (${LSI_CUT},11) 277e532c4bSJorge Ramirez-Ortiz RCAR_LSI_CUT:=1 287e532c4bSJorge Ramirez-Ortiz else ifeq (${LSI_CUT},20) 297e532c4bSJorge Ramirez-Ortiz RCAR_LSI_CUT:=10 307e532c4bSJorge Ramirez-Ortiz else ifeq (${LSI_CUT},30) 317e532c4bSJorge Ramirez-Ortiz RCAR_LSI_CUT:=20 327e532c4bSJorge Ramirez-Ortiz else 337e532c4bSJorge Ramirez-Ortiz $(error "Error: ${LSI_CUT} is not supported.") 347e532c4bSJorge Ramirez-Ortiz endif 357e532c4bSJorge Ramirez-Ortiz $(eval $(call add_define,RCAR_LSI_CUT)) 367e532c4bSJorge Ramirez-Ortiz endif 377e532c4bSJorge Ramirez-Ortiz else ifeq (${LSI},H3N) 387e532c4bSJorge Ramirez-Ortiz RCAR_LSI:=${RCAR_H3N} 397e532c4bSJorge Ramirez-Ortiz ifndef LSI_CUT 407e532c4bSJorge Ramirez-Ortiz # enable compatible function. 417e532c4bSJorge Ramirez-Ortiz RCAR_LSI_CUT_COMPAT := 1 427e532c4bSJorge Ramirez-Ortiz $(eval $(call add_define,RCAR_LSI_CUT_COMPAT)) 437e532c4bSJorge Ramirez-Ortiz else 447e532c4bSJorge Ramirez-Ortiz # disable compatible function. 457e532c4bSJorge Ramirez-Ortiz ifeq (${LSI_CUT},30) 467e532c4bSJorge Ramirez-Ortiz RCAR_LSI_CUT:=20 477e532c4bSJorge Ramirez-Ortiz else 487e532c4bSJorge Ramirez-Ortiz $(error "Error: ${LSI_CUT} is not supported.") 497e532c4bSJorge Ramirez-Ortiz endif 507e532c4bSJorge Ramirez-Ortiz $(eval $(call add_define,RCAR_LSI_CUT)) 517e532c4bSJorge Ramirez-Ortiz endif 527e532c4bSJorge Ramirez-Ortiz else ifeq (${LSI},M3) 537e532c4bSJorge Ramirez-Ortiz RCAR_LSI:=${RCAR_M3} 547e532c4bSJorge Ramirez-Ortiz ifndef LSI_CUT 557e532c4bSJorge Ramirez-Ortiz # enable compatible function. 567e532c4bSJorge Ramirez-Ortiz RCAR_LSI_CUT_COMPAT := 1 577e532c4bSJorge Ramirez-Ortiz $(eval $(call add_define,RCAR_LSI_CUT_COMPAT)) 587e532c4bSJorge Ramirez-Ortiz else 597e532c4bSJorge Ramirez-Ortiz # disable compatible function. 607e532c4bSJorge Ramirez-Ortiz ifeq (${LSI_CUT},10) 617e532c4bSJorge Ramirez-Ortiz RCAR_LSI_CUT:=0 627e532c4bSJorge Ramirez-Ortiz else ifeq (${LSI_CUT},11) 637e532c4bSJorge Ramirez-Ortiz RCAR_LSI_CUT:=1 64845d8fbbSMarek Vasut else ifeq (${LSI_CUT},13) 65845d8fbbSMarek Vasut RCAR_LSI_CUT:=3 66845d8fbbSMarek Vasut else ifeq (${LSI_CUT},30) 67845d8fbbSMarek Vasut RCAR_LSI_CUT:=20 687e532c4bSJorge Ramirez-Ortiz else 697e532c4bSJorge Ramirez-Ortiz $(error "Error: ${LSI_CUT} is not supported.") 707e532c4bSJorge Ramirez-Ortiz endif 717e532c4bSJorge Ramirez-Ortiz $(eval $(call add_define,RCAR_LSI_CUT)) 727e532c4bSJorge Ramirez-Ortiz endif 737e532c4bSJorge Ramirez-Ortiz else ifeq (${LSI},M3N) 747e532c4bSJorge Ramirez-Ortiz RCAR_LSI:=${RCAR_M3N} 757e532c4bSJorge Ramirez-Ortiz ifndef LSI_CUT 767e532c4bSJorge Ramirez-Ortiz # enable compatible function. 777e532c4bSJorge Ramirez-Ortiz RCAR_LSI_CUT_COMPAT := 1 787e532c4bSJorge Ramirez-Ortiz $(eval $(call add_define,RCAR_LSI_CUT_COMPAT)) 797e532c4bSJorge Ramirez-Ortiz else 807e532c4bSJorge Ramirez-Ortiz # disable compatible function. 817e532c4bSJorge Ramirez-Ortiz ifeq (${LSI_CUT},10) 827e532c4bSJorge Ramirez-Ortiz RCAR_LSI_CUT:=0 837e532c4bSJorge Ramirez-Ortiz else ifeq (${LSI_CUT},11) 847e532c4bSJorge Ramirez-Ortiz RCAR_LSI_CUT:=1 857e532c4bSJorge Ramirez-Ortiz else 867e532c4bSJorge Ramirez-Ortiz $(error "Error: ${LSI_CUT} is not supported.") 877e532c4bSJorge Ramirez-Ortiz endif 887e532c4bSJorge Ramirez-Ortiz $(eval $(call add_define,RCAR_LSI_CUT)) 897e532c4bSJorge Ramirez-Ortiz endif 907e532c4bSJorge Ramirez-Ortiz else ifeq (${LSI},E3) 917e532c4bSJorge Ramirez-Ortiz RCAR_LSI:=${RCAR_E3} 927e532c4bSJorge Ramirez-Ortiz ifndef LSI_CUT 937e532c4bSJorge Ramirez-Ortiz # enable compatible function. 947e532c4bSJorge Ramirez-Ortiz RCAR_LSI_CUT_COMPAT := 1 957e532c4bSJorge Ramirez-Ortiz $(eval $(call add_define,RCAR_LSI_CUT_COMPAT)) 967e532c4bSJorge Ramirez-Ortiz else 977e532c4bSJorge Ramirez-Ortiz # disable compatible function. 987e532c4bSJorge Ramirez-Ortiz ifeq (${LSI_CUT},10) 997e532c4bSJorge Ramirez-Ortiz RCAR_LSI_CUT:=0 100845d8fbbSMarek Vasut else ifeq (${LSI_CUT},11) 101845d8fbbSMarek Vasut RCAR_LSI_CUT:=1 1027e532c4bSJorge Ramirez-Ortiz else 1037e532c4bSJorge Ramirez-Ortiz $(error "Error: ${LSI_CUT} is not supported.") 1047e532c4bSJorge Ramirez-Ortiz endif 1057e532c4bSJorge Ramirez-Ortiz $(eval $(call add_define,RCAR_LSI_CUT)) 1067e532c4bSJorge Ramirez-Ortiz endif 107bfbf5df4SMarek Vasut else ifeq (${LSI},D3) 108bfbf5df4SMarek Vasut RCAR_LSI:=${RCAR_D3} 109bfbf5df4SMarek Vasut ifndef LSI_CUT 110bfbf5df4SMarek Vasut # enable compatible function. 111bfbf5df4SMarek Vasut RCAR_LSI_CUT_COMPAT := 1 112bfbf5df4SMarek Vasut $(eval $(call add_define,RCAR_LSI_CUT_COMPAT)) 113bfbf5df4SMarek Vasut else 114bfbf5df4SMarek Vasut # disable compatible function. 115bfbf5df4SMarek Vasut ifeq (${LSI_CUT},10) 116bfbf5df4SMarek Vasut RCAR_LSI_CUT:=0 117bfbf5df4SMarek Vasut else 118bfbf5df4SMarek Vasut $(error "Error: ${LSI_CUT} is not supported.") 119bfbf5df4SMarek Vasut endif 120bfbf5df4SMarek Vasut $(eval $(call add_define,RCAR_LSI_CUT)) 121bfbf5df4SMarek Vasut endif 122b709fe9cSValentine Barshak else ifeq (${LSI},V3M) 123b709fe9cSValentine Barshak RCAR_LSI:=${RCAR_V3M} 124b709fe9cSValentine Barshak ifndef LSI_CUT 125b709fe9cSValentine Barshak # enable compatible function. 126b709fe9cSValentine Barshak RCAR_LSI_CUT_COMPAT := 1 127b709fe9cSValentine Barshak $(eval $(call add_define,RCAR_LSI_CUT_COMPAT)) 128b709fe9cSValentine Barshak else 129b709fe9cSValentine Barshak # disable compatible function. 130b709fe9cSValentine Barshak ifeq (${LSI_CUT},10) 131b709fe9cSValentine Barshak RCAR_LSI_CUT:=0 132b709fe9cSValentine Barshak endif 133b709fe9cSValentine Barshak ifeq (${LSI_CUT},20) 134b709fe9cSValentine Barshak RCAR_LSI_CUT:=10 135b709fe9cSValentine Barshak endif 136b709fe9cSValentine Barshak $(eval $(call add_define,RCAR_LSI_CUT)) 137b709fe9cSValentine Barshak endif 1387e532c4bSJorge Ramirez-Ortiz else 1397e532c4bSJorge Ramirez-Ortiz $(error "Error: ${LSI} is not supported.") 1407e532c4bSJorge Ramirez-Ortiz endif 1417e532c4bSJorge Ramirez-Ortiz $(eval $(call add_define,RCAR_LSI)) 1427e532c4bSJorge Ramirez-Ortizendif 1437e532c4bSJorge Ramirez-Ortiz 1446e93392bSJorge Ramirez-Ortiz# lock RPC HYPERFLASH access by default 1456e93392bSJorge Ramirez-Ortiz# unlock to repogram the ATF firmware from u-boot 1466e93392bSJorge Ramirez-Ortizifndef RCAR_RPC_HYPERFLASH_LOCKED 1476e93392bSJorge Ramirez-OrtizRCAR_RPC_HYPERFLASH_LOCKED := 1 1486e93392bSJorge Ramirez-Ortizendif 1496e93392bSJorge Ramirez-Ortiz$(eval $(call add_define,RCAR_RPC_HYPERFLASH_LOCKED)) 1506e93392bSJorge Ramirez-Ortiz 1511a571151SMarek Vasut# Support A/B switching with RPC HYPERFLASH access by default 1521a571151SMarek Vasut# Use together with https://github.com/marex/abloader . 1531a571151SMarek Vasutifndef RCAR_RPC_HYPERFLASH_ABLOADER 1541a571151SMarek VasutRCAR_RPC_HYPERFLASH_ABLOADER := 0 1551a571151SMarek Vasutendif 1561a571151SMarek Vasut$(eval $(call add_define,RCAR_RPC_HYPERFLASH_ABLOADER)) 1571a571151SMarek Vasut 1587e532c4bSJorge Ramirez-Ortiz# Process RCAR_SECURE_BOOT flag 1597e532c4bSJorge Ramirez-Ortizifndef RCAR_SECURE_BOOT 1607e532c4bSJorge Ramirez-OrtizRCAR_SECURE_BOOT := 1 1617e532c4bSJorge Ramirez-Ortizendif 1627e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,RCAR_SECURE_BOOT)) 1637e532c4bSJorge Ramirez-Ortiz 1647e532c4bSJorge Ramirez-Ortiz# Process RCAR_QOS_TYPE flag 1657e532c4bSJorge Ramirez-Ortizifndef RCAR_QOS_TYPE 1667e532c4bSJorge Ramirez-OrtizRCAR_QOS_TYPE := 0 1677e532c4bSJorge Ramirez-Ortizendif 1687e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,RCAR_QOS_TYPE)) 1697e532c4bSJorge Ramirez-Ortiz 1707e532c4bSJorge Ramirez-Ortiz# Process RCAR_DRAM_SPLIT flag 1717e532c4bSJorge Ramirez-Ortizifndef RCAR_DRAM_SPLIT 1727e532c4bSJorge Ramirez-OrtizRCAR_DRAM_SPLIT := 0 1737e532c4bSJorge Ramirez-Ortizendif 1747e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,RCAR_DRAM_SPLIT)) 1757e532c4bSJorge Ramirez-Ortiz 1767e532c4bSJorge Ramirez-Ortiz# Process RCAR_BL33_EXECUTION_EL flag 1777e532c4bSJorge Ramirez-Ortizifndef RCAR_BL33_EXECUTION_EL 1787e532c4bSJorge Ramirez-OrtizRCAR_BL33_EXECUTION_EL := 0 1797e532c4bSJorge Ramirez-Ortizendif 1807e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,RCAR_BL33_EXECUTION_EL)) 1817e532c4bSJorge Ramirez-Ortiz 1827e532c4bSJorge Ramirez-Ortiz# Process RCAR_AVS_SETTING_ENABLE flag 1837e532c4bSJorge Ramirez-Ortizifeq (${RCAR_AVS_SETTING_ENABLE},0) 1847e532c4bSJorge Ramirez-OrtizAVS_SETTING_ENABLE := 0 1857e532c4bSJorge Ramirez-Ortizelse 1867e532c4bSJorge Ramirez-OrtizAVS_SETTING_ENABLE := 1 1877e532c4bSJorge Ramirez-Ortizendif 1887e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,AVS_SETTING_ENABLE)) 1897e532c4bSJorge Ramirez-Ortiz 1907e532c4bSJorge Ramirez-Ortiz# Process RCAR_LOSSY_ENABLE flag 1917e532c4bSJorge Ramirez-Ortizifndef RCAR_LOSSY_ENABLE 1927e532c4bSJorge Ramirez-OrtizRCAR_LOSSY_ENABLE := 0 1937e532c4bSJorge Ramirez-Ortizendif 1947e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,RCAR_LOSSY_ENABLE)) 1957e532c4bSJorge Ramirez-Ortiz 1967e532c4bSJorge Ramirez-Ortiz# Process LIFEC_DBSC_PROTECT_ENABLE flag 1977e532c4bSJorge Ramirez-Ortizifndef LIFEC_DBSC_PROTECT_ENABLE 1987e532c4bSJorge Ramirez-OrtizLIFEC_DBSC_PROTECT_ENABLE := 1 1997e532c4bSJorge Ramirez-Ortizendif 2007e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,LIFEC_DBSC_PROTECT_ENABLE)) 2017e532c4bSJorge Ramirez-Ortiz 2027e532c4bSJorge Ramirez-Ortiz# Process PMIC_ROHM_BD9571 flag 2037e532c4bSJorge Ramirez-Ortizifndef PMIC_ROHM_BD9571 2047e532c4bSJorge Ramirez-OrtizPMIC_ROHM_BD9571 := 1 2057e532c4bSJorge Ramirez-Ortizendif 2067e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,PMIC_ROHM_BD9571)) 2077e532c4bSJorge Ramirez-Ortiz 2087e532c4bSJorge Ramirez-Ortiz# Process PMIC_LEVEL_MODE flag 2097e532c4bSJorge Ramirez-Ortizifndef PMIC_LEVEL_MODE 2107e532c4bSJorge Ramirez-OrtizPMIC_LEVEL_MODE := 1 2117e532c4bSJorge Ramirez-Ortizendif 2127e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,PMIC_LEVEL_MODE)) 2137e532c4bSJorge Ramirez-Ortiz 2147e532c4bSJorge Ramirez-Ortiz# Process RCAR_GEN3_ULCB flag 2157e532c4bSJorge Ramirez-Ortizifndef RCAR_GEN3_ULCB 2167e532c4bSJorge Ramirez-OrtizRCAR_GEN3_ULCB := 0 2177e532c4bSJorge Ramirez-Ortizendif 2187e532c4bSJorge Ramirez-Ortizifeq (${RCAR_GEN3_ULCB},1) 2197e532c4bSJorge Ramirez-Ortiz BOARD_DEFAULT := 0x10 2207e532c4bSJorge Ramirez-Ortiz $(eval $(call add_define,BOARD_DEFAULT)) 2217e532c4bSJorge Ramirez-Ortizendif 2227e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,RCAR_GEN3_ULCB)) 2237e532c4bSJorge Ramirez-Ortiz 2247e532c4bSJorge Ramirez-Ortiz# Process RCAR_REF_INT flag 2257e532c4bSJorge Ramirez-Ortizifndef RCAR_REF_INT 2267e532c4bSJorge Ramirez-OrtizRCAR_REF_INT :=0 2277e532c4bSJorge Ramirez-Ortizendif 2287e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,RCAR_REF_INT)) 2297e532c4bSJorge Ramirez-Ortiz 2307e532c4bSJorge Ramirez-Ortiz# Process RCAR_REWT_TRAINING flag 2317e532c4bSJorge Ramirez-Ortizifndef RCAR_REWT_TRAINING 23211d15c3eSToshiyuki OgasaharaRCAR_REWT_TRAINING := 1 2337e532c4bSJorge Ramirez-Ortizendif 2347e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,RCAR_REWT_TRAINING)) 2357e532c4bSJorge Ramirez-Ortiz 2367e532c4bSJorge Ramirez-Ortiz# Process RCAR_SYSTEM_SUSPEND flag 2377e532c4bSJorge Ramirez-Ortizifndef RCAR_SYSTEM_SUSPEND 2387e532c4bSJorge Ramirez-OrtizRCAR_SYSTEM_SUSPEND := 1 2397e532c4bSJorge Ramirez-Ortizendif 2407e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,RCAR_SYSTEM_SUSPEND)) 2417e532c4bSJorge Ramirez-Ortiz 2427e532c4bSJorge Ramirez-Ortiz# SYSTEM_SUSPEND requires power control of PMIC etc. 2437e532c4bSJorge Ramirez-Ortiz# When executing SYSTEM_SUSPEND other than Salvator-X, Salvator-XS and Ebisu, 2447e532c4bSJorge Ramirez-Ortiz# processing equivalent to that implemented in PMIC_ROHM_BD9571 is necessary. 2457e532c4bSJorge Ramirez-Ortizifeq (${RCAR_SYSTEM_SUSPEND},1) 2467e532c4bSJorge Ramirez-Ortiz ifeq (${PMIC_ROHM_BD9571},0) 2477e532c4bSJorge Ramirez-Ortiz $(error "Error: When you want RCAR_SYSTEM_SUSPEND to be enable, please also set PMIC_ROHM_BD9571 to enable.") 2487e532c4bSJorge Ramirez-Ortiz endif 2497e532c4bSJorge Ramirez-Ortizendif 2507e532c4bSJorge Ramirez-Ortiz 2517e532c4bSJorge Ramirez-Ortiz# Process RCAR_DRAM_LPDDR4_MEMCONF flag 2527e532c4bSJorge Ramirez-Ortizifndef RCAR_DRAM_LPDDR4_MEMCONF 2537e532c4bSJorge Ramirez-OrtizRCAR_DRAM_LPDDR4_MEMCONF :=1 2547e532c4bSJorge Ramirez-Ortizendif 2557e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,RCAR_DRAM_LPDDR4_MEMCONF)) 2567e532c4bSJorge Ramirez-Ortiz 2574379a3e9SToshiyuki Ogasahara# Process RCAR_DRAM_MEMRANK flag 2584379a3e9SToshiyuki Ogasaharaifndef RCAR_DRAM_MEMRANK 2594379a3e9SToshiyuki OgasaharaRCAR_DRAM_MEMRANK :=0 2604379a3e9SToshiyuki Ogasaharaendif 2614379a3e9SToshiyuki Ogasahara$(eval $(call add_define,RCAR_DRAM_MEMRANK)) 2624379a3e9SToshiyuki Ogasahara 2637e532c4bSJorge Ramirez-Ortiz# Process RCAR_DRAM_DDR3L_MEMCONF flag 2647e532c4bSJorge Ramirez-Ortizifndef RCAR_DRAM_DDR3L_MEMCONF 2657e532c4bSJorge Ramirez-OrtizRCAR_DRAM_DDR3L_MEMCONF :=1 2667e532c4bSJorge Ramirez-Ortizendif 2677e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,RCAR_DRAM_DDR3L_MEMCONF)) 2687e532c4bSJorge Ramirez-Ortiz 2697e532c4bSJorge Ramirez-Ortiz# Process RCAR_DRAM_DDR3L_MEMDUAL flag 2707e532c4bSJorge Ramirez-Ortizifndef RCAR_DRAM_DDR3L_MEMDUAL 2717e532c4bSJorge Ramirez-OrtizRCAR_DRAM_DDR3L_MEMDUAL :=1 2727e532c4bSJorge Ramirez-Ortizendif 2737e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,RCAR_DRAM_DDR3L_MEMDUAL)) 2747e532c4bSJorge Ramirez-Ortiz 2757e532c4bSJorge Ramirez-Ortiz# Process RCAR_BL33_ARG0 flag 2767e532c4bSJorge Ramirez-Ortizifdef RCAR_BL33_ARG0 2777e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,RCAR_BL33_ARG0)) 2787e532c4bSJorge Ramirez-Ortizendif 2797e532c4bSJorge Ramirez-Ortiz 2807e532c4bSJorge Ramirez-Ortiz#Process RCAR_BL2_DCACHE flag 2817e532c4bSJorge Ramirez-Ortizifndef RCAR_BL2_DCACHE 2827e532c4bSJorge Ramirez-OrtizRCAR_BL2_DCACHE := 0 2837e532c4bSJorge Ramirez-Ortizendif 2847e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,RCAR_BL2_DCACHE)) 2857e532c4bSJorge Ramirez-Ortiz 2867e532c4bSJorge Ramirez-Ortiz# Process RCAR_DRAM_CHANNEL flag 2877e532c4bSJorge Ramirez-Ortizifndef RCAR_DRAM_CHANNEL 2887e532c4bSJorge Ramirez-OrtizRCAR_DRAM_CHANNEL :=15 2897e532c4bSJorge Ramirez-Ortizendif 2907e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,RCAR_DRAM_CHANNEL)) 2917e532c4bSJorge Ramirez-Ortiz 2927e532c4bSJorge Ramirez-Ortiz#Process RCAR_SYSTEM_RESET_KEEPON_DDR flag 2937e532c4bSJorge Ramirez-Ortizifndef RCAR_SYSTEM_RESET_KEEPON_DDR 2947e532c4bSJorge Ramirez-OrtizRCAR_SYSTEM_RESET_KEEPON_DDR := 0 2957e532c4bSJorge Ramirez-Ortizendif 2967e532c4bSJorge Ramirez-Ortiz$(eval $(call add_define,RCAR_SYSTEM_RESET_KEEPON_DDR)) 2977e532c4bSJorge Ramirez-Ortiz 298ddf2ca03SMarek Vasutifndef RCAR_GEN3_BL33_GZIP 299ddf2ca03SMarek VasutRCAR_GEN3_BL33_GZIP := 0 300ddf2ca03SMarek Vasutendif 301ddf2ca03SMarek Vasut$(eval $(call add_define,RCAR_GEN3_BL33_GZIP)) 302ddf2ca03SMarek Vasut 3037e532c4bSJorge Ramirez-Ortiz# RCAR_SYSTEM_RESET_KEEPON_DDR requires power control of PMIC etc. 3047e532c4bSJorge Ramirez-Ortiz# When executing SYSTEM_SUSPEND other than Salvator-X, Salvator-XS and Ebisu, 3057e532c4bSJorge Ramirez-Ortiz# processing equivalent to that implemented in PMIC_ROHM_BD9571 is necessary. 3067e532c4bSJorge Ramirez-Ortiz# Also, it is necessary to enable RCAR_SYSTEM_SUSPEND. 3077e532c4bSJorge Ramirez-Ortizifeq (${RCAR_SYSTEM_RESET_KEEPON_DDR},1) 3087e532c4bSJorge Ramirez-Ortiz ifeq (${PMIC_ROHM_BD9571},0) 3097e532c4bSJorge Ramirez-Ortiz $(error "Error: When you want RCAR_SYSTEM_RESET_KEEPON_DDR to be enable, please also set PMIC_ROHM_BD9571 to enable.") 3107e532c4bSJorge Ramirez-Ortiz endif 3117e532c4bSJorge Ramirez-Ortiz ifeq (${RCAR_SYSTEM_SUSPEND},0) 3127e532c4bSJorge Ramirez-Ortiz $(error "Error: When you want RCAR_SYSTEM_RESET_KEEPON_DDR to be enable, please also set RCAR_SYSTEM_SUSPEND to enable.") 3137e532c4bSJorge Ramirez-Ortiz endif 3147e532c4bSJorge Ramirez-Ortizendif 3157e532c4bSJorge Ramirez-Ortiz 316faf5587cSLad Prabhakarinclude drivers/renesas/common/ddr/ddr.mk 317c67703ebSMarek Vasutinclude drivers/renesas/rcar/qos/qos.mk 3182a690b6dSMarek Vasutinclude drivers/renesas/rcar/pfc/pfc.mk 3191d85c4bdSMarek Vasutinclude lib/libfdt/libfdt.mk 3207e532c4bSJorge Ramirez-Ortiz 321*06f8eb57SMarek VasutPLAT_INCLUDES += -Iplat/renesas/rcar/include \ 322*06f8eb57SMarek Vasut -Iplat/renesas/common/include \ 323*06f8eb57SMarek Vasut -Idrivers/renesas/common/ddr \ 324c67703ebSMarek Vasut -Idrivers/renesas/rcar/qos \ 3257e532c4bSJorge Ramirez-Ortiz -Idrivers/renesas/rcar/board \ 326bd57db53SMarek Vasut -Idrivers/renesas/rcar/cpld/ \ 327662d3cc8SBiju Das -Idrivers/renesas/common \ 328be92e5a2SBiju Das -Idrivers/renesas/common/iic_dvfs \ 329b50b6c81SBiju Das -Idrivers/renesas/common/avs \ 330cdcf1f14SBiju Das -Idrivers/renesas/common/delay \ 331e17997dfSBiju Das -Idrivers/renesas/common/rom \ 332865e3474SBiju Das -Idrivers/renesas/common/scif \ 333b28c29d0SBiju Das -Idrivers/renesas/common/emmc \ 334c40739a6SBiju Das -Idrivers/renesas/common/pwrc \ 33592196d4fSMarek Vasut -Idrivers/renesas/common/timer \ 3362ddb5575SBiju Das -Idrivers/renesas/common/io 3377e532c4bSJorge Ramirez-Ortiz 338499c2713SBiju DasBL2_SOURCES += plat/renesas/rcar/bl2_plat_setup.c \ 339011a4c2fSBiju Das drivers/renesas/rcar/board/board.c 3407e532c4bSJorge Ramirez-Ortiz 341ddf2ca03SMarek Vasutifeq (${RCAR_GEN3_BL33_GZIP},1) 342ddf2ca03SMarek Vasutinclude lib/zlib/zlib.mk 343ddf2ca03SMarek Vasut 344ddf2ca03SMarek VasutBL2_SOURCES += common/image_decompress.c \ 345ddf2ca03SMarek Vasut $(ZLIB_SOURCES) 346ddf2ca03SMarek Vasutendif 347ddf2ca03SMarek Vasut 348cfa466abSToshiyuki Ogasaharaifneq (${ENABLE_STACK_PROTECTOR},0) 349223d989eSMarek VasutBL_COMMON_SOURCES += plat/renesas/common/rcar_stack_protector.c 350cfa466abSToshiyuki Ogasaharaendif 351cfa466abSToshiyuki Ogasahara 3527e532c4bSJorge Ramirez-Ortizifeq (${RCAR_GEN3_ULCB},1) 3537e532c4bSJorge Ramirez-OrtizBL31_SOURCES += drivers/renesas/rcar/cpld/ulcb_cpld.c 3547e532c4bSJorge Ramirez-Ortizendif 3557e532c4bSJorge Ramirez-Ortiz 3567e532c4bSJorge Ramirez-Ortiz# build the layout images for the bootrom and the necessary srecords 3577e532c4bSJorge Ramirez-Ortizrcar: rcar_layout_tool rcar_srecord 3587e532c4bSJorge Ramirez-Ortizdistclean realclean clean: clean_layout_tool clean_srecord 3597e532c4bSJorge Ramirez-Ortiz 3607e532c4bSJorge Ramirez-Ortiz# layout images 3617e532c4bSJorge Ramirez-OrtizLAYOUT_TOOLPATH ?= tools/renesas/rcar_layout_create 3627e532c4bSJorge Ramirez-Ortiz 3637e532c4bSJorge Ramirez-Ortizclean_layout_tool: 3647c4e1eeaSChris Kay $(s)echo "clean layout tool" 3657c4e1eeaSChris Kay $(q)${MAKE} -C ${LAYOUT_TOOLPATH} clean 3667e532c4bSJorge Ramirez-Ortiz 3677e532c4bSJorge Ramirez-Ortiz.PHONY: rcar_layout_tool 3687e532c4bSJorge Ramirez-Ortizrcar_layout_tool: 3697c4e1eeaSChris Kay $(s)echo "generating layout srecs" 3707c4e1eeaSChris Kay $(q)${MAKE} CPPFLAGS="-D=AARCH64" --no-print-directory -C ${LAYOUT_TOOLPATH} 3717e532c4bSJorge Ramirez-Ortiz 3727e532c4bSJorge Ramirez-Ortiz# srecords 3737e532c4bSJorge Ramirez-OrtizSREC_PATH = ${BUILD_PLAT} 3747e532c4bSJorge Ramirez-OrtizBL2_ELF_SRC = ${SREC_PATH}/bl2/bl2.elf 3757e532c4bSJorge Ramirez-OrtizBL31_ELF_SRC = ${SREC_PATH}/bl31/bl31.elf 3767e532c4bSJorge Ramirez-Ortiz 3777e532c4bSJorge Ramirez-Ortizclean_srecord: 3787c4e1eeaSChris Kay $(s)echo "clean bl2 and bl31 srecs" 3797e532c4bSJorge Ramirez-Ortiz rm -f ${SREC_PATH}/bl2.srec ${SREC_PATH}/bl31.srec 3807e532c4bSJorge Ramirez-Ortiz 3814d1289bdSChris Kay$(SREC_PATH)/bl2.srec: $(BL2_ELF_SRC) 3827c4e1eeaSChris Kay $(s)echo "generating srec: $(SREC_PATH)/bl2.srec" 3837c4e1eeaSChris Kay $(q)$($(ARCH)-oc) -O srec --srec-forceS3 $(BL2_ELF_SRC) $(SREC_PATH)/bl2.srec 3844d1289bdSChris Kay 3854d1289bdSChris Kay$(SREC_PATH)/bl31.srec: $(BL31_ELF_SRC) 3867c4e1eeaSChris Kay $(s)echo "generating srec: $(SREC_PATH)/bl31.srec" 3877c4e1eeaSChris Kay $(q)$($(ARCH)-oc) -O srec --srec-forceS3 $(BL31_ELF_SRC) $(SREC_PATH)/bl31.srec 3884d1289bdSChris Kay 3897e532c4bSJorge Ramirez-Ortiz.PHONY: rcar_srecord 3904d1289bdSChris Kayrcar_srecord: $(SREC_PATH)/bl2.srec $(SREC_PATH)/bl31.srec 391