blob: f7c68e1e5a32c1881e8fe2aa11dc7c88cf01eafb [file] [log] [blame]
load(
"@bazel_skylib//rules:common_settings.bzl",
"bool_flag",
)
load(
":mgk.bzl",
"define_mgk",
)
load(
":mgk_modules.bzl",
"mgk_gki_modules",
"mgk_module_outs",
"platform_ack_modules",
)
package(
default_visibility = [
"//visibility:public",
],
)
bool_flag(
name = "internal_build",
build_setting_default = False,
)
config_setting(
name = "internal_build_is_true",
flag_values = {":internal_build": "1"},
)
filegroup(
name = "mgk_dt_headers",
srcs = glob([
"include/dt-bindings/**",
"include/dtc/**",
]),
visibility = [
"//kernel_device_modules-5.15:__subpackages__",
],
)
filegroup(
name = "insmod_cfgs",
srcs = glob([
"insmod_cfg/**",
]),
)
filegroup(
name = "mgk_headers",
srcs = [
"Makefile.include",
] + glob([
"**/*.h",
]),
visibility = [
"//vendor/mediatek/kernel_modules:__subpackages__",
],
)
filegroup(
name = "kasan_config",
srcs = [
"kernel/configs/kasan.config",
],
)
filegroup(
name = "khwasan_config",
srcs = [
"kernel/configs/khwasan.config",
],
)
mt8696_common_kleaf_modules = [
# keep sorted
"//vendor/mediatek/kernel_modules/connectivity/bt/mt76xx/sdio:btmtksdio",
"//vendor/mediatek/kernel_modules/connectivity/wlan/core/gen4-mt7663:wlan_drv_gen4",
"//vendor/mediatek/kernel_modules/met_drv_secure_v3:met_drv_secure_v3",
"//vendor/mediatek/kernel_modules/met_drv_v3:met_drv_v3",
"//vendor/mediatek/kernel_modules/met_drv_v3/met_api:met_api_v3_cus",
"//vendor/mediatek/kernel_modules/met_drv_v3/met_api:met_api_v3_int",
]
mt8696_common_device_modules = [
# keep sorted
"drivers/block/zram/zram-mtk.ko",
"drivers/char/hw_random/optee-rng.ko",
"drivers/char/hw_random/sec-rng.ko",
"drivers/clk/mediatek/clk-bringup.ko",
"drivers/clk/mediatek/clk-chk-mt8696.ko",
"drivers/clk/mediatek/clk-common.ko",
"drivers/clk/mediatek/clk-dbg-mt8696.ko",
"drivers/clk/mediatek/clk-disable-unused.ko",
"drivers/clk/mediatek/clk-mt8696.ko",
"drivers/clk/mediatek/clk-mt8696-ether.ko",
"drivers/clk/mediatek/clk-mt8696-img.ko",
"drivers/clk/mediatek/clk-mt8696-mm.ko",
"drivers/clk/mediatek/clk-mt8696-vdec.ko",
"drivers/clk/mediatek/clk-mt8696-vdsoc.ko",
"drivers/clk/mediatek/clk-mt8696-venc.ko",
"drivers/clocksource/timer-mediatek.ko",
"drivers/cpufreq/mediatek-oot-cpufreq-hw.ko",
"drivers/devfreq/mtk-dvfsrc-devfreq.ko",
"drivers/dma-buf/heaps/mtk_heap_debug.ko",
"drivers/dma-buf/heaps/mtk_sec_heap_mt8xxx.ko",
"drivers/dma-buf/heaps/system_heap.ko",
"drivers/dma/mediatek/mtk-uart-apdma.ko",
"drivers/gpu/drm/mediatek/mediatek-drm.ko",
"drivers/gpu/img-rogue/23.2/mtk_mfg.ko",
"drivers/gpu/img-rogue/23.2/pvrsrvkm_matisse.ko",
"drivers/i2c/busses/i2c-mt65xx.ko",
"drivers/iio/adc/mt6577_auxadc.ko",
"drivers/iommu/mtk_iommu_mt8xxx.ko",
"drivers/mailbox/mtk-mbox-mailbox.ko",
"drivers/media/platform/mtk-jpeg/mtk_jpeg.ko",
"drivers/media/platform/mtk-vcodec/mtk-vcodec-common.ko",
"drivers/media/platform/mtk-vcodec/mtk-vcodec-dec-v2.ko",
"drivers/media/platform/mtk-vcodec/mtk-vcodec-enc-v2.ko",
"drivers/media/platform/mtk-vcu/mtk-vcu.ko",
"drivers/memory/mediatek/emi.ko",
"drivers/memory/mediatek/emi-mpu.ko",
"drivers/memory/mediatek/emi-mpu-test.ko",
"drivers/memory/mediatek/mtk_dramc.ko",
"drivers/memory/mtk-smi.ko",
"drivers/mfd/mtk-spmi-pmic.ko",
"drivers/mfd/mtk-spmi-pmic-debug.ko",
"drivers/misc/mediatek/aee/aed/aee_aed.ko",
"drivers/misc/mediatek/aee/aed/aee_rs.ko",
"drivers/misc/mediatek/aee/mrdump/mrdump.ko",
"drivers/misc/mediatek/atf/atf_logger.ko",
"drivers/misc/mediatek/clkbuf/clkbuf.ko",
"drivers/misc/mediatek/clkbuf/mt6359p-clkbuf.ko",
"drivers/misc/mediatek/clkbuf/mt6366-clkbuf.ko",
"drivers/misc/mediatek/clkbuf/mt6685-clkbuf.ko",
"drivers/misc/mediatek/cmdq/mailbox/cmdq-platform-mt8696.ko",
"drivers/misc/mediatek/cmdq/mailbox/mtk-cmdq-drv-ext.ko",
"drivers/misc/mediatek/devinfo/devinfo.ko",
"drivers/misc/mediatek/dvfsrc/mtk-dvfsrc-helper.ko",
"drivers/misc/mediatek/et/mtk_et.ko",
"drivers/misc/mediatek/freqhopping/fhctl.ko",
"drivers/misc/mediatek/gpt_rtc/gpt_rtc.ko",
"drivers/misc/mediatek/hdmi/hdmitx/mt8696/mtk-hdmi.ko",
"drivers/misc/mediatek/iommu/iommu_secure_mt8xxx.ko",
"drivers/misc/mediatek/jpeg/jpeg-driver.ko",
"drivers/misc/mediatek/lens/vcm/proprietary/main/mainaf.ko",
"drivers/misc/mediatek/lens/vcm/proprietary/main2/main2af.ko",
"drivers/misc/mediatek/lens/vcm/proprietary/main3/main3af.ko",
"drivers/misc/mediatek/lens/vcm/proprietary/sub/subaf.ko",
"drivers/misc/mediatek/lens/vcm/proprietary/sub2/sub2af.ko",
"drivers/misc/mediatek/log_store/log_store.ko",
"drivers/misc/mediatek/masp/sec.ko",
"drivers/misc/mediatek/mcupm/v2/mcupm.ko",
"drivers/misc/mediatek/mdp/irt_dma/irt_dma.ko",
"drivers/misc/mediatek/mdp/mtk_mdp.ko",
"drivers/misc/mediatek/monitor_hang/monitor_hang.ko",
"drivers/misc/mediatek/mtee/tz_module.ko",
"drivers/misc/mediatek/mtprintk/mtk_printk_ctrl.ko",
"drivers/misc/mediatek/mtprof/bootprof.ko",
"drivers/misc/mediatek/performance/mtk_ioctl_powerhal.ko",
"drivers/misc/mediatek/performance/mtk_ioctl_touch_boost.ko",
"drivers/misc/mediatek/performance/mtk_perf_ioctl.ko",
"drivers/misc/mediatek/performance/powerhal_cpu_ctrl/powerhal_cpu_ctrl.ko",
"drivers/misc/mediatek/performance/touch_boost/touch_boost.ko",
"drivers/misc/mediatek/power/dummy-battery.ko",
"drivers/misc/mediatek/sda/cache-parity.ko",
"drivers/misc/mediatek/sda/dbgtop-drm.ko",
"drivers/misc/mediatek/sda/irq-dbg.ko",
"drivers/misc/mediatek/secure_efuse/optee_read.ko",
"drivers/misc/mediatek/stc/stc.ko",
"drivers/misc/mediatek/tee_gp/tee_client_api.ko",
"drivers/misc/mediatek/tinysys_scmi/tinysys-scmi.ko",
"drivers/misc/mediatek/typec/tcpc/pd_dbg_info.ko",
"drivers/misc/mediatek/typec/tcpc/rt_pd_manager.ko",
"drivers/misc/mediatek/typec/tcpc/tcpc_class.ko",
"drivers/misc/mediatek/typec/tcpc/tcpci_late_sync.ko",
"drivers/misc/mediatek/usb/usb_boost/usb_boost.ko",
"drivers/misc/mediatek/usb/usb_meta/usb_meta.ko",
"drivers/misc/mediatek/video/mt8696/mtk_disp_mgr_mod.ko",
"drivers/misc/mediatek/video/mt8696/mtk_disp_notify.ko",
"drivers/misc/mediatek/vq/mediatek-vq.ko",
"drivers/mmc/host/mtk-sd.ko",
"drivers/net/ethernet/mediatek/mtk_star_emac.ko",
"drivers/net/phy/realtek.ko",
"drivers/phy/mediatek/phy-mtk-xsphy.ko",
"drivers/phy/mediatek/tphy.ko",
"drivers/pinctrl/mediatek/pinctrl-mt8696.ko",
"drivers/pinctrl/mediatek/pinctrl-mtk-common-v2_debug.ko",
"drivers/pinctrl/mediatek/pinctrl-mtk-v2.ko",
"drivers/pwm/pwm-mediatek.ko",
"drivers/regulator/mt6395-regulator.ko",
"drivers/regulator/mtk-dvfsrc-regulator.ko",
"drivers/regulator/rt5738-regulator.ko",
"drivers/reset/reset-ti-syscon.ko",
"drivers/rpmsg/mtk_rpmsg_mbox.ko",
"drivers/soc/mediatek/mtk-dvfsrc.ko",
"drivers/soc/mediatek/mtk-dvfsrc-start.ko",
"drivers/soc/mediatek/mtk-mbox.ko",
"drivers/soc/mediatek/mtk-pm-domain-disable-unused.ko",
"drivers/soc/mediatek/mtk-scpsys.ko",
"drivers/soc/mediatek/mtk-socinfo.ko",
"drivers/soc/mediatek/mtk_tinysys_ipi.ko",
"drivers/spi/spi-mt65xx.ko",
"drivers/spmi/spmi-mtk-mpu.ko",
"drivers/spmi/spmi-mtk-pmif.ko",
"drivers/tee/optee/optee.ko",
"drivers/tee/tee.ko",
"drivers/thermal/mediatek/board_temp.ko",
"drivers/thermal/mediatek/soc_temp.ko",
"drivers/thermal/mediatek/thermal_interface.ko",
"drivers/thermal/mediatek/vtskin_temp.ko",
"drivers/tty/serial/8250/8250_mtk.ko",
"drivers/usb/host/xhci-mtk-hcd.ko",
"drivers/usb/mtu3/mtu3.ko",
"drivers/watchdog/mtk_wdt.ko",
"sound/soc/codecs/snd-soc-mtk-earc-rx.ko",
"sound/soc/mediatek/common/mtk-afe-external.ko",
"sound/soc/mediatek/common/mtk-sp-spk-amp.ko",
"sound/soc/mediatek/common/snd-soc-mtk-common.ko",
"sound/soc/mediatek/mt8532/mt8696-sound1.ko",
"sound/soc/mediatek/mt8532/snd-soc-mt8532-pcm.ko",
"sound/soc/mediatek/mt8696/mt8696-evb.ko",
"sound/soc/mediatek/mt8696/snd-soc-mt8696-pcm.ko",
]
platform_device_modules = [
"drivers/misc/google/usb/typec/tcpm/tcpci.ko",
"drivers/misc/google/usb/typec/tcpm/tcpm.ko",
"drivers/misc/google/usb/typec/tcpm/tcpci_rt1711h.ko",
"drivers/misc/mediatek/typec/mux/mux_switch.ko",
"drivers/misc/mediatek/extcon/extcon-kirkwood-usb.ko",
"drivers/spi/spidev.ko",
]
# The configuration settings should set these flags to meaningful
# values. This allows the same kernel_module macro to be used against
# different kernel builds, since the meaning of the flag changes
# based on the configuration settings.
filegroup(
name = "mgk_undefined",
srcs = [],
)
label_flag(
name = "mgk_kernel_build",
build_setting_default = ":mgk_undefined",
)
label_flag(
name = "mgk_device_modules",
build_setting_default = ":mgk_undefined",
)
KIRKWOOD_64_DTBO_NAMES = [
"kirkwood_dongle",
"kirkwood_dongle-p0",
"kirkwood",
"kirkwoodpro",
]
KIRKWOOD_64_INSMOD_CFGS = [
":insmod_cfgs",
"//vendor/mediatek/kernel_modules/connectivity/wlan/core/gen4-mt7663:wlan_drv_gen4_insmod_cfgs",
"//vendor/mediatek/kernel_modules/connectivity/bt/mt76xx/sdio:btmtksdio_insmod_cfgs",
]
define_mgk(
name = "kirkwood_64",
device_build_config = "build.config.kirkwood_64",
device_modules = mt8696_common_device_modules + platform_device_modules,
dtb_name = "mt8696",
dtbo_names = KIRKWOOD_64_DTBO_NAMES,
gki_modules = mgk_gki_modules,
in_tree_modules = mgk_module_outs + platform_ack_modules,
insmod_cfgs = KIRKWOOD_64_INSMOD_CFGS,
kleaf_modules = mt8696_common_kleaf_modules,
)