load("//build/kernel/kleaf:kernel.bzl", "ddk_headers", "ddk_module") load("//common_drivers:amlogic_utils.bzl", "m_k_files", "kernel_select") m_k_files() ddk_module( name = "amlogic-usb", srcs = glob([ "**/*.h", ]), conditional_srcs = { "CONFIG_AMLOGIC_USB_SUPPORT": { True: [ "usb_main.c", "dwc_otg/310/dwc_otg_driver.c", "dwc_otg/310/dwc_otg_attr.c", "dwc_otg/310/dwc_otg_cil.c", "dwc_otg/310/dwc_otg_cil_intr.c", "dwc_otg/310/dwc_otg_pcd_linux.c", "dwc_otg/310/dwc_otg_pcd.c", "dwc_otg/310/dwc_otg_pcd_intr.c", "dwc_otg/310/dwc_otg_hcd.c", "dwc_otg/310/dwc_otg_hcd_linux.c", "dwc_otg/310/dwc_otg_hcd_intr.c", "dwc_otg/310/dwc_otg_hcd_queue.c", "dwc_otg/310/dwc_otg_hcd_ddma.c", "dwc_otg/310/dwc_otg_adp.c", "dwc_otg/310/usbphy.c", "dwc_otg/310/common_port/dwc_common_linux.c", "dwc_otg/310/dwc_otg_cfi.c", "xhci_amlogic/xhci-meson.c", "xhci_amlogic/xhci-mem-meson.c", "xhci_amlogic/xhci-ext-caps-meson.c", "xhci_amlogic/xhci-ring-meson.c", "xhci_amlogic/xhci-hub-meson.c", "xhci_amlogic/xhci-trace-meson.c", "xhci_amlogic/xhci-dbg-meson.c", "xhci_amlogic/xhci-plat-meson.c", ], }, "CONFIG_AMLOGIC_USB_DWC3": { True: [ "dwc3_amlogic/core-meson.c", ], }, "CONFIG_TRACING": { True: [ "dwc3_amlogic/trace-meson.c", ], }, "CONFIG_AMLOGIC_USB_DWC3_HOST": { True: [ "dwc3_amlogic/host-meson.c", ], }, "CONFIG_AMLOGIC_USB_DWC3_GADGET": { True: [ "dwc3_amlogic/gadget-meson.c", "dwc3_amlogic/ep0-meson.c", ], }, "CONFIG_AMLOGIC_USB_DWC3_DUAL_ROLE": { True: [ "dwc3_amlogic/host-meson.c", "dwc3_amlogic/gadget-meson.c", "dwc3_amlogic/ep0-meson.c", "dwc3_amlogic/drd-meson.c", ], }, "CONFIG_AMLOGIC_USB_DWC3_ULPI": { True: [ "dwc3_amlogic/ulpi-meson.c", ], }, "CONFIG_AMLOGIC_USB_DWC3_DEBUGFS": { True: [ "dwc3_amlogic/debugfs-meson.c", ], }, "CONFIG_AMLOGIC_USB_DWC3_OTG": { True: [ "dwc3_amlogic/dwc3-otg.c", ], }, "CONFIG_AMLOGIC_BC": { True: [ "bc/amlogic-bc.c", ], }, "CONFIG_AMLOGIC_CC": { True: [ "cc/amlogic-cc.c", ], }, "CONFIG_AMLOGIC_CRG": { True: [ "crg/crg-drd-glue.c", "crg/crg.c", "crg/crg_drd.c", "crg/crg_udc.c", "crg/crg_usbphy.c", "crgdrdphy/phy-aml-crg-drd-usb.c", "crgdrdphy/phy-aml-crg-drd-usb2.c", "crgdrdphy/phy-aml-crg-drd-usb3.c", "crgdrdphy/phy-aml-crg-drd-otg-v2.c", "crgdrdphy/phy-aml-crg-drd-otg.c", "crgdrdphy/phy-aml-m31-usb2.c", "crgdrdphy/phy-aml-m31-usb3.c", ], }, "CONFIG_DEBUG_FS": { True: [ "xhci_amlogic/xhci-debugfs-meson.c", ], }, "CONFIG_MESON_USBPHY": { True: [ "phy_meson_usb/phy-meson-usb-core.c", "phy_meson_usb/phy-meson-usb-com.c", "phy_meson_usb/phy-meson-aml-usb2-com.c", "phy_meson_usb/phy-meson-usb2-crg-otg.c", "phy_meson_usb/phy-meson-usb2-crg-otg-v2.c", "phy_meson_usb/phy-meson-usb-rtmux-otg.c", "phy_meson_usb/phy-meson-synopsis-usb3-com.c", "phy_meson_usb/phy-meson-m31-usb-com.c", "phy_meson_usb/phy-meson-aml-usb3-com.c", "phy_meson_usb/socs/phy-meson-sm1-usb.c", "phy_meson_usb/socs/phy-meson-sc2-usb.c", "phy_meson_usb/socs/phy-meson-s4-usb.c", "phy_meson_usb/socs/phy-meson-t5w-usb.c", "phy_meson_usb/socs/phy-meson-t7c-usb.c", "phy_meson_usb/socs/phy-meson-a5-usb.c", "phy_meson_usb/socs/phy-meson-s5-usb.c", "phy_meson_usb/socs/phy-meson-t5m-usb.c", "phy_meson_usb/socs/phy-meson-a4-usb.c", "phy_meson_usb/socs/phy-meson-txhd2-usb.c", "phy_meson_usb/socs/phy-meson-s7-usb.c", "phy_meson_usb/socs/phy-meson-s7d-usb.c", "phy_meson_usb/socs/phy-meson-s6-usb.c", "phy_meson_usb/socs/phy-meson-t6d-usb.c", "phy_meson_usb/socs/phy-meson-t6w-usb.c", "phy_meson_usb/socs/phy-meson-t6x-usb.c", "phy_meson_usb/socs/phy-meson-c4-usb.c", "phy_meson_usb/socs/phy-meson-a9-usb.c", "phy_meson_usb/socs/phy-meson-c5-usb.c", ], }, "CONFIG_AMLOGIC_USB2PHY": { True: [ "usb2phy/phy-aml-new-usb-v2.c", "usb2phy/phy-aml-new-usb2-v2.c", ], }, "CONFIG_AMLOGIC_USBPHY": { True: [ "usb3v2phy/phy-aml-new-usb3-v2.c", "usb3v2phy/phy-aml-new-usb3-com.c", ], }, "CONFIG_AMLOGIC_USB3PHY": { True: [ "usb3v3phy/phy-aml-new-usb3-v3.c", "usbotg/phy-aml-new-otg.c", ], }, "CONFIG_AMLOGIC_USBPHYC2": { True: [ "usbc2phy/phy-aml-new-usb2-c2.c", "usbc2phy/phy-aml-new-usb3-c2.c", ], }, "CONFIG_USB_XHCI_DBGCAP": { True: [ "xhci_amlogic/xhci-dbgcap-meson.c", "xhci_amlogic/xhci-dbgtty-meson.c", ], }, "CONFIG_USB_PCI": { True: [ "xhci_amlogic/pci-quirks-meson.c", ], }, }, hdrs = [ "//common:drivers/usb/host/xhci-mvebu.h", "//common:drivers/base/base.h", ], local_defines = [ "pr_fmt(fmt)=\"[amlogic-usb]: \" fmt", "LM_INTERFACE", #"DEBUG", "DWC_HS_ELECT_TST", "linux", "DWC_LINUX", ], linux_includes = [ "dwc_otg/310/common_port", "../../../common/drivers/usb/host", "../../../common/drivers/base", "xhci_amlogic", "dwc3_amlogic", ], out = "amlogic-usb.ko", kernel_build = kernel_select(), visibility = ["//visibility:public"], deps = [ "//common_drivers/drivers/gki_tool:amlogic-gkitool", "//common_drivers/drivers/secmon:amlogic-secmon", "//common_drivers/drivers/debug:amlogic-debug-iotrace", "//common_drivers/drivers/debug:amlogic-debug", "//common_drivers/drivers/power:amlogic-power", "//common_drivers/drivers/pm:amlogic-pm", "//common_drivers/drivers/cpu_info:amlogic-cpuinfo", "//common_drivers/drivers/usb:typec-mux-meson", ] ) ddk_module( name = "typec-mux-meson", srcs = glob([ "**/*.h", ]), conditional_srcs = { "CONFIG_TYPEC_MUX_MESON": { True: [ "typec/mux/typec-mux-meson.c", ], }, }, hdrs = [ ], local_defines = [ ], linux_includes = [ ], out = "typec-mux-meson.ko", kernel_build = kernel_select(), visibility = ["//visibility:public"], deps = [ ] ) ddk_module( name = "meson-typec-ctrl", srcs = glob([ "**/*.h", ]), conditional_srcs = { "CONFIG_MESON_TYPEC_CTRL": { True: [ "typec/meson-typec-ctrl-core.c", ], }, "CONFIG_ANDROID_VENDOR_HOOKS": { True: [ "typec/tcpm_log.c", ], }, "CONFIG_TYPEC_AW35615_WHOLE": { True: [ "typec/aw35615/aw35615_driver.c", "typec/aw35615/aw35615_global.c", "typec/aw35615/platform_helpers.c", "typec/aw35615/dfs.c", "typec/aw35615/core.c", "typec/aw35615/PDPolicy.c", "typec/aw35615/timer.c", "typec/aw35615/PDProtocol.c", "typec/aw35615/TypeC.c", "typec/aw35615/Port.c", "typec/aw35615/vendor_info.c", "typec/aw35615/modules/dpm.c", "typec/aw35615/modules/observer.c", "typec/aw35615/vdm/bitfield_translators.c", "typec/aw35615/vdm/vdm.c", "typec/aw35615/vdm/vdm_callbacks.c", "typec/aw35615/vdm/DisplayPort/dp.c", "typec/aw35615/typec-aw35615-dbg.c", "typec/aw35615/typec-aw35615-trace.c", ], }, "CONFIG_TYPEC_AW35615_TCPM": { True: [ "typec/aw35615/tcpci_aw35615.c", ], }, "CONFIG_TYPEC_HUSB311": { True: [ "typec/husb311/tcpci_husb311.c", ], }, }, hdrs = [ "//common:drivers/usb/typec/class.h", ], local_defines = [ "AW_HAVE_SNK", "AW_HAVE_SRC", "AW_HAVE_DRP", "AW_HAVE_VBUS_ONLY", "AW_HAVE_ACCMODE", "AW_HAVE_EXT_MSG", "AW_HAVE_VDM", "AW_DEBUG_CODE", "AW_HAVE_DP", "AW_HAVE_PD", "MESON_AW", "DEBUG", ], linux_includes = [ # tell define_trace.h where to find the typec-aw35615 trace header "typec/aw35615/", "typec/aw35615/modules/", "typec/aw35615/vdm/", "typec/aw35615/vdm/DisplayPort", "../../../common/drivers/usb/typec", ], out = "meson-typec-ctrl.ko", kernel_build = kernel_select(), visibility = ["//visibility:public"], deps = [ "//common_drivers/drivers/gki_tool:amlogic-gkitool", "//common_drivers/drivers/i2c/busses:amlogic-i2c", "//common_drivers/drivers/usb:amlogic-usb", "//common_drivers/drivers/usb:typec-mux-meson", ] )