# SPDX-License-Identifier: GPL-2.0 # # Makefile for GXP driver. # GXP_CHIP ?= AMALTHEA CONFIG_$(GXP_CHIP) ?= m GCIP_DIR := gcip-kernel-driver/drivers/gcip obj-$(CONFIG_$(GXP_CHIP)) += gxp.o gxp-objs += \ gxp-bpm.o \ gxp-client.o \ gxp-core-telemetry.o \ gxp-debug-dump.o \ gxp-debugfs.o \ gxp-dma-fence.o \ gxp-dma-iommu.o \ gxp-dmabuf.o \ gxp-domain-pool.o \ gxp-doorbell.o \ gxp-eventfd.o \ gxp-firmware-data.o \ gxp-firmware-loader.o \ gxp-firmware.o \ gxp-lpm.o \ gxp-mailbox-manager.o \ gxp-mailbox.o \ gxp-mapping.o \ gxp-mb-notification.o \ gxp-pm.o \ gxp-ssmt.o \ gxp-thermal.o \ gxp-vd.o ifeq ($(GXP_CHIP),AMALTHEA) gxp-objs += \ gsx01-mailbox-driver.o \ gxp-platform.o \ gxp-mailbox-impl.o GMODULE_PATH := $(OUT_DIR)/../google-modules EDGETPU_CHIP := janeiro endif ifeq ($(CONFIG_$(GXP_CHIP)),m) gxp-objs += $(GCIP_DIR)/gcip.o endif KERNEL_SRC ?= /lib/modules/$(shell uname -r)/build M ?= $(shell pwd) # Obtain the current git commit hash for logging on probe GIT_PATH=$(shell cd $(KERNEL_SRC); readlink -e $(M)) ifeq ($(shell git --git-dir=$(GIT_PATH)/.git rev-parse --is-inside-work-tree),true) GIT_REPO_STATE=$(shell (git --git-dir=$(GIT_PATH)/.git --work-tree=$(GIT_PATH) status --porcelain | grep -q .) && echo -dirty) ccflags-y += -DGIT_REPO_TAG=\"$(shell git --git-dir=$(GIT_PATH)/.git rev-parse --short HEAD)$(GIT_REPO_STATE)\" else ccflags-y += -DGIT_REPO_TAG=\"Not\ a\ git\ repository\" endif # If building via make directly, specify target platform by adding # "GXP_PLATFORM=" # With one of the following values: # - SILICON # - ZEBU # - IP_ZEBU # - GEM5 # Defaults to building for SILICON if not otherwise specified. GXP_PLATFORM ?= SILICON gxp-flags := -DCONFIG_GXP_$(GXP_PLATFORM) -DCONFIG_$(GXP_CHIP)=1 \ -I$(M)/include -I$(M)/gcip-kernel-driver/include \ -I$(srctree)/$(M)/include \ -I$(srctree)/$(M)/gcip-kernel-driver/include \ -I$(srctree)/drivers/gxp/include ccflags-y += $(EXTRA_CFLAGS) $(gxp-flags) KBUILD_OPTIONS += GXP_CHIP=$(GXP_CHIP) GXP_PLATFORM=$(GXP_PLATFORM) # Access TPU driver's exported symbols. EXTRA_SYMBOLS += $(GMODULE_PATH)/edgetpu/$(EDGETPU_CHIP)/drivers/edgetpu/Module.symvers modules modules_install: $(MAKE) -C $(KERNEL_SRC) M=$(M)/$(GCIP_DIR) gcip.o $(MAKE) -C $(KERNEL_SRC) M=$(M) W=1 $(KBUILD_OPTIONS) \ EXTRA_CFLAGS="$(EXTRA_CFLAGS)" KBUILD_EXTRA_SYMBOLS="$(EXTRA_SYMBOLS)" $(@) clean: $(MAKE) -C $(KERNEL_SRC) M=$(M)/$(GCIP_DIR) $(@) $(MAKE) -C $(KERNEL_SRC) M=$(M) W=1 $(KBUILD_OPTIONS) $(@)