1# SPDX-License-Identifier: GPL-2.0
2# Greybus core
3greybus-y :=	core.o		\
4		debugfs.o	\
5		hd.o		\
6		manifest.o	\
7		module.o	\
8		interface.o	\
9		bundle.o	\
10		connection.o	\
11		control.o	\
12		svc.o		\
13		svc_watchdog.o	\
14		operation.o
15
16obj-$(CONFIG_GREYBUS)		+= greybus.o
17
18# needed for trace events
19ccflags-y += -I$(src)
20
21
22# Greybus Host controller drivers
23gb-es2-y := es2.o
24
25obj-$(CONFIG_GREYBUS_ES2)	+= gb-es2.o
26
27# Greybus class drivers
28gb-bootrom-y		:= bootrom.o
29gb-camera-y		:= camera.o
30gb-firmware-y		:= fw-core.o fw-download.o fw-management.o authentication.o
31gb-spilib-y		:= spilib.o
32gb-hid-y		:= hid.o
33gb-light-y		:= light.o
34gb-log-y		:= log.o
35gb-loopback-y		:= loopback.o
36gb-power-supply-y	:= power_supply.o
37gb-raw-y		:= raw.o
38gb-vibrator-y		:= vibrator.o
39
40obj-$(CONFIG_GREYBUS_BOOTROM)	+= gb-bootrom.o
41obj-$(CONFIG_GREYBUS_CAMERA)	+= gb-camera.o
42obj-$(CONFIG_GREYBUS_FIRMWARE)	+= gb-firmware.o gb-spilib.o
43obj-$(CONFIG_GREYBUS_HID)	+= gb-hid.o
44obj-$(CONFIG_GREYBUS_LIGHT)	+= gb-light.o
45obj-$(CONFIG_GREYBUS_LOG)	+= gb-log.o
46obj-$(CONFIG_GREYBUS_LOOPBACK)	+= gb-loopback.o
47obj-$(CONFIG_GREYBUS_POWER)	+= gb-power-supply.o
48obj-$(CONFIG_GREYBUS_RAW)	+= gb-raw.o
49obj-$(CONFIG_GREYBUS_VIBRATOR)	+= gb-vibrator.o
50
51# Greybus Audio is a bunch of modules
52gb-audio-module-y	:= audio_module.o audio_topology.o
53gb-audio-codec-y	:= audio_codec.o
54gb-audio-gb-y		:= audio_gb.o
55gb-audio-apbridgea-y	:= audio_apbridgea.o
56gb-audio-manager-y	:= audio_manager.o audio_manager_module.o
57
58# Greybus Audio sysfs helpers can be useful when debugging
59#GB_AUDIO_MANAGER_SYSFS ?= true
60#ifeq ($(GB_AUDIO_MANAGER_SYSFS),true)
61#gb-audio-manager-y += audio_manager_sysfs.o
62#ccflags-y += -DGB_AUDIO_MANAGER_SYSFS
63#endif
64
65obj-$(CONFIG_GREYBUS_AUDIO_MSM8994)	+= gb-audio-codec.o
66obj-$(CONFIG_GREYBUS_AUDIO_MSM8994)	+= gb-audio-module.o
67obj-$(CONFIG_GREYBUS_AUDIO)		+= gb-audio-gb.o
68obj-$(CONFIG_GREYBUS_AUDIO)		+= gb-audio-apbridgea.o
69obj-$(CONFIG_GREYBUS_AUDIO)		+= gb-audio-manager.o
70
71
72# Greybus Bridged PHY drivers
73gb-gbphy-y := gbphy.o
74gb-gpio-y := gpio.o
75gb-i2c-y := i2c.o
76gb-pwm-y := pwm.o
77gb-sdio-y := sdio.o
78gb-spi-y := spi.o
79gb-uart-y := uart.o
80gb-usb-y := usb.o
81
82obj-$(CONFIG_GREYBUS_BRIDGED_PHY)	+= gb-gbphy.o
83obj-$(CONFIG_GREYBUS_GPIO)		+= gb-gpio.o
84obj-$(CONFIG_GREYBUS_I2C)		+= gb-i2c.o
85obj-$(CONFIG_GREYBUS_PWM)		+= gb-pwm.o
86obj-$(CONFIG_GREYBUS_SDIO)		+= gb-sdio.o
87obj-$(CONFIG_GREYBUS_SPI)		+= gb-spi.o gb-spilib.o
88obj-$(CONFIG_GREYBUS_UART)		+= gb-uart.o
89obj-$(CONFIG_GREYBUS_USB)		+= gb-usb.o
90
91
92# Greybus Platform driver
93gb-arche-y	:= arche-platform.o arche-apb-ctrl.o
94
95obj-$(CONFIG_GREYBUS_ARCHE)	+= gb-arche.o
96