mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
This driver exposes EMC frequency control interface to user space via linux devfreq framework. Users could change EMC frequency to the frequency value from the available frequencies of EMC clock: $ /sys/class/devfreq/bwmgr# cat available_frequencies 665600000 2750000000 3200000000 4266000000 and update the EMC floor frequency by writing into the min_freq QoS sysfs node: $ /sys/class/devfreq/bwmgr# echo 4266000000 > min_freq and update the EMC max frequency by writing into the max_rate QoS sysfs node to cap the EMC frequency: $ /sys/class/devfreq/bwmgr# echo 4266000000 > max_freq This driver does not directly manage the EMC clock rate. Instead it just delivers the min/max frequency information to BPMP, and BPMP is still the only entity that has the full control of EMC and other related memory clocks. Bug 5483386 Bug 5196455 Change-Id: I6124eeb7411a13bde5c51582064534063abca8d3 Signed-off-by: Johnny Liu <johnliu@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3453755 GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: Rajkumar Kasirajan <rkasirajan@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
198 lines
7.9 KiB
Python
198 lines
7.9 KiB
Python
# SPDX-License-Identifier: GPL-2.0-only
|
|
# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
|
|
load("//build/kernel/kleaf:kernel.bzl", "kernel_module")
|
|
|
|
package(
|
|
default_visibility = [
|
|
"//visibility:public",
|
|
],
|
|
)
|
|
|
|
filegroup(
|
|
name = "oot.includes",
|
|
srcs = glob([
|
|
"include/**/*.h",
|
|
]),
|
|
)
|
|
|
|
filegroup(
|
|
name = "host1x.includes",
|
|
srcs = glob([
|
|
"drivers/gpu/host1x/include/**/*.h",
|
|
"drivers/gpu/host1x-fence/include/**/*.h",
|
|
]),
|
|
)
|
|
|
|
filegroup(
|
|
name = "nvmap.includes",
|
|
srcs = glob([
|
|
"drivers/video/tegra/nvmap/include/**/*.h",
|
|
]),
|
|
)
|
|
|
|
filegroup(
|
|
name = "pci.includes",
|
|
srcs = glob([
|
|
"drivers/pci/endpoint/functions/*.h",
|
|
]),
|
|
)
|
|
|
|
kernel_module(
|
|
name = "nvoot",
|
|
srcs = glob(
|
|
["**"],
|
|
exclude = [
|
|
".*",
|
|
".*/**",
|
|
"*.bazel",
|
|
"**/*.bzl",
|
|
],
|
|
) + [
|
|
"//hwpm:hwpm_headers",
|
|
"//nvidia-oot/scripts/conftest:conftest_headers",
|
|
],
|
|
outs = [
|
|
# keep sorted
|
|
"drivers/block/tegra_oops_virt_storage/tegra_hv_vblk_oops.ko",
|
|
"drivers/block/tegra_virt_storage/tegra_vblk.ko",
|
|
"drivers/bluetooth/realtek/rtk_btusb.ko",
|
|
"drivers/bus/tegra-aocluster.ko",
|
|
"drivers/cpuidle/cpuidle-debugfs.ko",
|
|
"drivers/cpuidle/cpuidle-tegra-auto.ko",
|
|
"drivers/crypto/tegra-hv-vse-safety.ko",
|
|
"drivers/crypto/tegra-nvvse-cryptodev.ko",
|
|
"drivers/crypto/tegra-se-nvrng.ko",
|
|
"drivers/crypto/tegra/tegra-se-kds.ko",
|
|
"drivers/crypto/tegra/tegra-se.ko",
|
|
"drivers/devfreq/governor_pod_scaling.ko",
|
|
"drivers/devfreq/tegra_wmark.ko",
|
|
"drivers/firmware/tegra/ivc_ext.ko",
|
|
"drivers/firmware/tegra/tegra_bpmp.ko",
|
|
"drivers/gpio/gpio-max77851.ko",
|
|
"drivers/gpu/drm/tegra/tegra-drm.ko",
|
|
"drivers/gpu/host1x-emu/host1x-emu.ko",
|
|
"drivers/gpu/host1x-fence/host1x-fence.ko",
|
|
"drivers/gpu/host1x/host1x.ko",
|
|
"drivers/gpu/host1x-nvhost/host1x-nvhost.ko",
|
|
"drivers/hwmon/f75308.ko",
|
|
"drivers/hwmon/ina232.ko",
|
|
"drivers/i2c/busses/i2c-nvvrs11.ko",
|
|
"drivers/i2c/busses/i2c-tegra-slave-byte.ko",
|
|
"drivers/media/i2c/max9295.ko",
|
|
"drivers/media/i2c/max9296.ko",
|
|
"drivers/media/platform/tegra/cam_fsync/cam_fsync.ko",
|
|
"drivers/media/platform/tegra/cdi/cdi_dev.ko",
|
|
"drivers/media/platform/tegra/cdi/cdi_gpio.ko",
|
|
"drivers/media/platform/tegra/cdi/cdi_mgr.ko",
|
|
"drivers/media/platform/tegra/cdi/cdi_pwm.ko",
|
|
"drivers/media/platform/tegra/isc/isc_dev.ko",
|
|
"drivers/media/platform/tegra/isc/isc_gpio.ko",
|
|
"drivers/media/platform/tegra/isc/isc_mgr.ko",
|
|
"drivers/media/platform/tegra/isc/isc_pwm.ko",
|
|
"drivers/media/platform/tegra/v4l2loopback/v4l2loopback.ko",
|
|
"drivers/memory/tegra/mc-t26x.ko",
|
|
"drivers/memory/tegra/mem-qual.ko",
|
|
"drivers/memory/tegra/smmu-hwpm.ko",
|
|
"drivers/memory/tegra/tegra264-mc-hwpm.ko",
|
|
"drivers/mfd/max77851.ko",
|
|
"drivers/mfd/nvidia-vrs-pseq.ko",
|
|
"drivers/misc/bluedroid_pm.ko",
|
|
"drivers/misc/ioctl_example.ko",
|
|
"drivers/misc/nvscic2c-pcie/nvscic2c-pcie-epc.ko",
|
|
"drivers/misc/nvscic2c-pcie/nvscic2c-pcie-epf.ko",
|
|
"drivers/misc/nvsciipc/nvsciipc.ko",
|
|
"drivers/misc/tegra-cec/tegra_cec.ko",
|
|
"drivers/misc/tegra-pcie-dma-test.ko",
|
|
"drivers/mtd/devices/tegra_hv_mtd.ko",
|
|
"drivers/net/can/mttcan/mttcan.ko",
|
|
"drivers/net/ethernet/marvell/oak/oak_pci.ko",
|
|
"drivers/net/ethernet/microchip/lan743x.ko",
|
|
"drivers/net/ethernet/nvidia/nvethernet/nvethernet.ko",
|
|
"drivers/net/ethernet/nvidia/pcie/tegra_vnet.ko",
|
|
"drivers/net/ethernet/realtek/r8125/r8125.ko",
|
|
"drivers/net/ethernet/realtek/r8126/r8126.ko",
|
|
"drivers/net/ethernet/realtek/r8168/r8168.ko",
|
|
"drivers/nv-p2p/nvidia-p2p.ko",
|
|
"drivers/nvpmodel/nvpmodel-clk-cap.ko",
|
|
"drivers/nvpps/nvpps.ko",
|
|
"drivers/nvtzvault/nvtzvault.ko",
|
|
"drivers/nv-virtio/nv-virtio-console-poc.ko",
|
|
"drivers/pci/controller/pcie-tegra-vf.ko",
|
|
"drivers/pci/controller/pcie-tegra264.ko",
|
|
"drivers/pci/controller/pcie-tegra264-ep.ko",
|
|
"drivers/pci/controller/tegra-pcie-dma-lib.ko",
|
|
"drivers/pci/controller/tegra-pcie-edma.ko",
|
|
"drivers/pci/endpoint/functions/pci-epf-dma-test.ko",
|
|
"drivers/pci/endpoint/functions/pci-epf-tegra-vnet.ko",
|
|
"drivers/pinctrl/pinctrl-max77851.ko",
|
|
"drivers/pinctrl/pinctrl-tegra194-pexclk-padctrl.ko",
|
|
"drivers/pinctrl/pinctrl-tegra234-dpaux.ko",
|
|
"drivers/platform/tegra/aon/tegra234-aon.ko",
|
|
"drivers/platform/tegra/aon/tegra-aon-ivc-echo.ko",
|
|
"drivers/platform/tegra/dce/tegra-dce.ko",
|
|
"drivers/platform/tegra/mce/tegra-mce.ko",
|
|
"drivers/platform/tegra/mc-hwpm.ko",
|
|
"drivers/platform/tegra/mc-utils/mc-utils.ko",
|
|
"drivers/platform/tegra/nvadsp/nvadsp.ko",
|
|
"drivers/platform/tegra/psc/tegra23x_psc.ko",
|
|
"drivers/platform/tegra/tegra-bootloader-debug.ko",
|
|
"drivers/platform/tegra/tegra-bpmp-bwmgr.ko",
|
|
"drivers/platform/tegra/tegra-cactmon-mc-all.ko",
|
|
"drivers/platform/tegra/tegra-fsicom.ko",
|
|
"drivers/platform/tegra/tegra-hv-xhci.ko",
|
|
"drivers/platform/tegra/tegra-hv-xhci-debug.ko",
|
|
"drivers/platform/tegra/tegra-uss-io-proxy.ko",
|
|
"drivers/platform/tegra/uncore_pmu/tegra23x_perf_uncore.ko",
|
|
"drivers/power/reset/max77851-poweroff.ko",
|
|
"drivers/pwm/pwm-tegra-tachometer.ko",
|
|
"drivers/ras/arm64-ras.ko",
|
|
"drivers/regulator/max77851-regulator.ko",
|
|
"drivers/rtc/nvvrs-pseq-rtc.ko",
|
|
"drivers/rtc/rtc-max77851.ko",
|
|
"drivers/scsi/ufs/ufs-tegra.ko",
|
|
"drivers/soc/tegra/fuse/kfuse.ko",
|
|
"drivers/spi/spi-aurix-tegra.ko",
|
|
"drivers/spi/spi-tegra124-slave.ko",
|
|
"drivers/spi/spi-tegra210-quad.ko",
|
|
"drivers/thermal/max77851_thermal.ko",
|
|
"drivers/tty/serial/wch_35x/wch.ko",
|
|
"drivers/tty/serial/tegra_hv_comm.ko",
|
|
"drivers/usb/typec/fusb301.ko",
|
|
"drivers/video/tegra/camera/tegra_camera_platform.ko",
|
|
"drivers/video/tegra/dc/bridge/maxim_gmsl_dp_serializer.ko",
|
|
"drivers/video/tegra/dc/bridge/maxim_gmsl_hdmi_serializer.ko",
|
|
"drivers/video/tegra/dc/bridge/nvdisp_serdes.ko",
|
|
"drivers/video/tegra/dc/bridge/ti_fpdlink_dp_serializer.ko",
|
|
"drivers/video/tegra/host/capture/nvhost-capture.ko",
|
|
"drivers/video/tegra/host/nvcsi/nvhost-nvcsi.ko",
|
|
"drivers/video/tegra/host/nvdla/nvhost-nvdla.ko",
|
|
"drivers/video/tegra/nvmap/nvmap.ko",
|
|
"drivers/video/tegra/tsec/tsecriscv.ko",
|
|
"drivers/video/tegra/virt/tegra_gr_comm.ko",
|
|
"drivers/virt/tegra/hvc_sysfs.ko",
|
|
"drivers/virt/tegra/ivc-cdev.ko",
|
|
"drivers/virt/tegra/tegra_hv.ko",
|
|
"drivers/virt/tegra/tegra_hv_pm_ctl.ko",
|
|
"drivers/virt/tegra/tegra_hv_vcpu_yield.ko",
|
|
"drivers/virt/tegra/userspace_ivc_mempool.ko",
|
|
"drivers/watchdog/max77851_wdt.ko",
|
|
"drivers/watchdog/softdog-platform.ko",
|
|
"drivers/watchdog/watchdog-tegra-t18x.ko",
|
|
"sound/soc/tegra/snd-soc-tegra186-arad.ko",
|
|
"sound/soc/tegra/snd-soc-tegra210-adsp.ko",
|
|
"sound/soc/tegra/snd-soc-tegra210-afc.ko",
|
|
"sound/soc/tegra/snd-soc-tegra210-iqc.ko",
|
|
"sound/soc/tegra/snd-soc-tegra-controls.ko",
|
|
"sound/soc/tegra/snd-soc-tegra-utils.ko",
|
|
"sound/soc/tegra-virt-alt/snd-soc-tegra210-virt-alt-admaif.ko",
|
|
"sound/soc/tegra-virt-alt/snd-soc-tegra210-virt-alt-adsp.ko",
|
|
"sound/soc/tegra-virt-alt/snd-soc-tegra-virt-t210ref-pcm.ko",
|
|
"sound/tegra-safety-audio/safety-i2s.ko",
|
|
],
|
|
kernel_build = "//nvidia-build/kleaf:tegra_android",
|
|
deps = [
|
|
"//hwpm/drivers/tegra/hwpm:hwpm",
|
|
],
|
|
)
|