1# SPDX-License-Identifier: GPL-2.0+
2#
3# (C) Copyright 2014 - 2016 Xilinx, Inc.
4# Michal Simek <michal.simek@amd.com>
5
6obj-y	:= zynqmp.o
7
8ifneq ($(CONFIG_XILINX_PS_INIT_FILE),"")
9PS_INIT_FILE := $(shell cd $(srctree); readlink -f $(CONFIG_XILINX_PS_INIT_FILE))
10init-objs := ps_init_gpl.o
11spl/board/xilinx/zynqmp/ps_init_gpl.o board/xilinx/zynqmp/ps_init_gpl.o: $(PS_INIT_FILE)
12	$(CC) $(c_flags) -I $(srctree)/$(src) -c -o $@ $^
13endif
14
15DEVICE_TREE ?= $(CONFIG_DEFAULT_DEVICE_TREE:"%"=%)
16ifeq ($(DEVICE_TREE),)
17DEVICE_TREE := unset
18endif
19
20ifeq ($(init-objs),)
21hw-platform-y :=$(shell echo $(DEVICE_TREE))
22init-objs := $(if $(wildcard $(srctree)/$(src)/$(hw-platform-y)/psu_init_gpl.c),\
23	$(hw-platform-y)/psu_init_gpl.o)
24endif
25
26ifeq ($(init-objs),)
27ifneq ($(wildcard $(srctree)/$(src)/psu_init_gpl.c),)
28init-objs := psu_init_gpl.o
29$(if $(CONFIG_SPL_BUILD),\
30$(warning Put custom psu_init_gpl.c/h to board/xilinx/zynqmp/custom_hw_platform/))
31endif
32endif
33
34obj-$(CONFIG_$(SPL_)ZYNQMP_PSU_INIT_ENABLED) += $(init-objs)
35
36ifdef CONFIG_SPL_BUILD
37ifneq ($(CONFIG_ZYNQMP_SPL_PM_CFG_OBJ_FILE),"")
38obj-$(CONFIG_SPL_BUILD) += pm_cfg_obj.o
39$(obj)/pm_cfg_obj.o: $(shell cd $(srctree); readlink -f $(CONFIG_ZYNQMP_SPL_PM_CFG_OBJ_FILE)) FORCE
40endif
41endif
42
43ifndef CONFIG_SPL_BUILD
44obj-$(CONFIG_CMD_ZYNQMP) += cmds.o
45endif
46
47# Suppress "warning: function declaration isn't a prototype"
48CFLAGS_REMOVE_psu_init_gpl.o := -Wstrict-prototypes
49
50# To include xil_io.h
51CFLAGS_psu_init_gpl.o := -I$(srctree)/$(src)
52
53# To suppress "warning: cast to pointer from integer of different size"
54CFLAGS_psu_init_gpl.o += -Wno-int-to-pointer-cast
55