^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) # 64-bit ARM SoCs from TI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) if ARM64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) if ARCH_K3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) config ARCH_K3_AM6_SOC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) bool "K3 AM6 SoC"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) Enable support for TI's AM6 SoC Family support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) config ARCH_K3_J721E_SOC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) bool "K3 J721E SoC"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) Enable support for TI's J721E SoC Family support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) # TI SOC drivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) menuconfig SOC_TI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) bool "TI SOC drivers support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) if SOC_TI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) config KEYSTONE_NAVIGATOR_QMSS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) tristate "Keystone Queue Manager Sub System"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) depends on ARCH_KEYSTONE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) Say y here to support the Keystone multicore Navigator Queue
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) Manager support. The Queue Manager is a hardware module that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) is responsible for accelerating management of the packet queues.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) Packets are queued/de-queued by writing/reading descriptor address
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) to a particular memory mapped location in the Queue Manager module.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) config KEYSTONE_NAVIGATOR_DMA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) tristate "TI Keystone Navigator Packet DMA support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) depends on ARCH_KEYSTONE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) Say y tp enable support for the Keystone Navigator Packet DMA on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) on Keystone family of devices. It sets up the dma channels for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) Queue Manager Sub System.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) config AMX3_PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) tristate "AMx3 Power Management"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) depends on SOC_AM33XX || SOC_AM43XX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) depends on WKUP_M3_IPC && TI_EMIF_SRAM && SRAM && RTC_DRV_OMAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) Enable power management on AM335x and AM437x. Required for suspend to mem
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) and standby states on both AM335x and AM437x platforms and for deeper cpuidle
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) c-states on AM335x. Also required for rtc and ddr in self-refresh low
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) power mode on AM437x platforms.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) config WKUP_M3_IPC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) tristate "TI AMx3 Wkup-M3 IPC Driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) depends on WKUP_M3_RPROC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) depends on OMAP2PLUS_MBOX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) TI AM33XX and AM43XX have a Cortex M3, the Wakeup M3, to handle
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) low power transitions. This IPC driver provides the necessary API
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) to communicate and use the Wakeup M3 for PM features like suspend
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) resume and boots it using wkup_m3_rproc driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) config TI_SCI_PM_DOMAINS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) tristate "TI SCI PM Domains Driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) depends on TI_SCI_PROTOCOL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) depends on PM_GENERIC_DOMAINS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) Generic power domain implementation for TI device implementing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) the TI SCI protocol.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) To compile this as a module, choose M here. The module will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) called ti_sci_pm_domains. Note this is needed early in boot before
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) rootfs may be available.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) config TI_K3_RINGACC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) bool "K3 Ring accelerator Sub System"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) depends on ARCH_K3 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) depends on TI_SCI_INTA_IRQCHIP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) Say y here to support the K3 Ring accelerator module.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) The Ring Accelerator (RINGACC or RA) provides hardware acceleration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) to enable straightforward passing of work between a producer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) and a consumer. There is one RINGACC module per NAVSS on TI AM65x SoCs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) config TI_K3_SOCINFO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) depends on ARCH_K3 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) select SOC_BUS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) select MFD_SYSCON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) Include support for the SoC bus socinfo for the TI K3 Multicore SoC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) platforms to provide information about the SoC family and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) variant to user space.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) config TI_PRUSS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) tristate "TI PRU-ICSS Subsystem Platform drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) depends on SOC_AM33XX || SOC_AM43XX || SOC_DRA7XX || ARCH_KEYSTONE || ARCH_K3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) select MFD_SYSCON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) TI PRU-ICSS Subsystem platform specific support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) Say Y or M here to support the Programmable Realtime Unit (PRU)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) processors on various TI SoCs. It's safe to say N here if you're
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) not interested in the PRU or if you are unsure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) endif # SOC_TI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) config TI_SCI_INTA_MSI_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) select GENERIC_MSI_IRQ_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) Driver to enable Interrupt Aggregator specific MSI Domain.