342 lines
11 KiB
Python
342 lines
11 KiB
Python
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 = "typec-aw35615",
|
|
srcs = glob([
|
|
"**/*.h",
|
|
]),
|
|
conditional_srcs = {
|
|
"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",
|
|
],
|
|
},
|
|
},
|
|
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",
|
|
],
|
|
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 = "typec-aw35615.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",
|
|
]
|
|
)
|
|
|
|
ddk_module(
|
|
name = "tcpci-husb311",
|
|
srcs = glob([
|
|
"**/*.h",
|
|
]),
|
|
conditional_srcs = {
|
|
"CONFIG_TYPEC_HUSB311": {
|
|
True: [
|
|
"typec/husb311/tcpci_husb311.c",
|
|
],
|
|
},
|
|
},
|
|
hdrs = [
|
|
],
|
|
local_defines = [
|
|
#"DEBUG",
|
|
],
|
|
linux_includes = [
|
|
],
|
|
out = "tcpci-husb311.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",
|
|
]
|
|
) |