diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bbaa2dc --- /dev/null +++ b/.gitignore @@ -0,0 +1,64 @@ +tags +# +# NOTE! Don't add files that are generated in specific +# subdirectories here. Add them in the ".gitignore" file +# in that subdirectory instead. +# +# NOTE! Please use 'git ls-files -i --exclude-standard' +# command after changing this file, to see if there are +# any tracked files which get ignored after the change. +# +# Normal rules +# +.* +*.o +*.o.* +*.s +*.so.dbg +*.mod.c +*.i +*.lst +*.symtypes +*.order +*.elf +*.lzma +*.gcno +*.dwo +*.su +*.swo +*.swp + +# +# Top-level generic files +# +/tags +/TAGS +/out +/tmp +/.vscode +# +# git files that we don't want to ignore even it they are dot-files +# +!.gitignore +!.gitmodules + +# cscope files +cscope.* +ncscope.* + +# gnu global files +GPATH +GRTAGS +GSYMS +GTAGS + +# id-utils files + +*.orig +*~ +\#*# + +# Kconfig presets +.config +.config.old + diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..437606a --- /dev/null +++ b/.gitmodules @@ -0,0 +1,12 @@ +[submodule "package"] + path = package + url = https://github.com/mangopi-sbc/tina-package +[submodule "lichee/brandy-2.0/spl-pub"] + path = lichee/brandy-2.0/spl-pub + url = https://github.com/mangopi-sbc/tina-spl-pub +[submodule "lichee/brandy-2.0/u-boot-2018"] + path = lichee/brandy-2.0/u-boot-2018 + url = https://github.com/mangopi-sbc/tina-u-boot-2018 +[submodule "lichee/linux-5.4"] + path = lichee/linux-5.4 + url = https://github.com/mangopi-sbc/tina-linux-5.4 diff --git a/Config.in b/Config.in new file mode 100644 index 0000000..827ed84 --- /dev/null +++ b/Config.in @@ -0,0 +1,37 @@ +# Copyright (C) 2006-2013 OpenWrt.org +# Copyright (C) 2016-2016 tracewong +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +mainmenu "Tina Configuration" + +config MODULES + option modules + bool + default y + +config HAVE_DOT_CONFIG + bool + default y + +source "target/Config.in" + +source "config/Config-images.in" + +source "config/Config-build.in" + +source "config/Config-systeminit.in" + +source "config/Config-devel.in" + +source "toolchain/Config.in" + +source "target/imagebuilder/Config.in" + +source "target/sdk/Config.in" + +source "target/toolchain/Config.in" + +source "tmp/.config-package.in" diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1643e68 --- /dev/null +++ b/Makefile @@ -0,0 +1,3 @@ +### DO NOT EDIT THIS FILE ### +include build/main.mk +### DO NOT EDIT THIS FILE ### diff --git a/build/.gitignore b/build/.gitignore new file mode 100644 index 0000000..5fa84d8 --- /dev/null +++ b/build/.gitignore @@ -0,0 +1,78 @@ +# +# NOTE! Don't add files that are generated in specific +# subdirectories here. Add them in the ".gitignore" file +# in that subdirectory instead. +# +# NOTE! Please use 'git ls-files -i --exclude-standard' +# command after changing this file, to see if there are +# any tracked files which get ignored after the change. +# +# Normal rules +# +.* +*.o +*.o.* +*.s +*.so.dbg +*.mod.c +*.i +*.lst +*.symtypes +*.order +*.elf +*.tar +*.gz +*.bz2 +*.lzma +*.xz +*.lz4 +*.lzo +*.gcno +*.dwo +*.su +*.swo +*.swp + +# +# Top-level generic files +# +/tags +/TAGS + +# +# git files that we don't want to ignore even it they are dot-files +# +!.gitignore +!.mailmap + +# cscope files +cscope.* +ncscope.* + +# gnu global files +GPATH +GRTAGS +GSYMS +GTAGS + +# id-utils files +ID + +*.orig +*~ +\#*# + +# +# Leavings from module signing +# +extra_certificates +signing_key.pem +signing_key.priv +signing_key.x509 +x509.genkey + +# Kconfig presets +all.config + +# Kdevelop4 +*.kdev4 diff --git a/build/LICENSE b/build/LICENSE new file mode 100644 index 0000000..d60c31a --- /dev/null +++ b/build/LICENSE @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/build/README b/build/README new file mode 100644 index 0000000..8ff5fc7 --- /dev/null +++ b/build/README @@ -0,0 +1,17 @@ +Tina Linux V2 Version SDK Description + +build system only support linux 64bit system + +compile: +$ source build/envsetup.sh +$ lunch +$ make +$ pack [-d] +note: +${board}-tina for tina linux firmware, ${board}-dragonboard for board +test firmware +[-d] option for serial used default(uart0) io or TF-card io(card0) + +firmware: +firmware at out/{board}/tina_{board}_card.img. +burn tools at tools/aw_tools diff --git a/build/autotools.mk b/build/autotools.mk new file mode 100644 index 0000000..259569b --- /dev/null +++ b/build/autotools.mk @@ -0,0 +1,170 @@ +# +# Copyright (C) 2007-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +autoconf_bool = $(patsubst %,$(if $($(1)),--enable,--disable)-%,$(2)) + +# delete *.la-files from staging_dir - we can not yet remove respective lines within all package +# Makefiles, since backfire still uses libtool v1.5.x which (may) require those files +define libtool_remove_files + find $(1) -name '*.la' | $(XARGS) rm -f; +endef + + +AM_TOOL_PATHS:= \ + AUTOM4TE=$(STAGING_DIR_HOST)/bin/autom4te \ + AUTOCONF=$(STAGING_DIR_HOST)/bin/autoconf \ + AUTOMAKE=$(STAGING_DIR_HOST)/bin/automake \ + ACLOCAL=$(STAGING_DIR_HOST)/bin/aclocal \ + AUTOHEADER=$(STAGING_DIR_HOST)/bin/autoheader \ + LIBTOOLIZE=$(STAGING_DIR_HOST)/bin/libtoolize \ + LIBTOOL=$(STAGING_DIR_HOST)/bin/libtool \ + M4=$(STAGING_DIR_HOST)/bin/m4 \ + AUTOPOINT=true + +# 1: build dir +# 2: remove files +# 3: automake paths +# 4: libtool paths +# 5: extra m4 dirs +define autoreconf + (cd $(1); \ + $(patsubst %,rm -f %;,$(2)) \ + $(foreach p,$(3), \ + if [ -f $(p)/configure.ac ] || [ -f $(p)/configure.in ]; then \ + [ -d $(p)/autom4te.cache ] && rm -rf autom4te.cache; \ + [ -e $(p)/config.rpath ] || \ + ln -s $(SCRIPT_DIR)/config.rpath $(p)/config.rpath; \ + touch NEWS AUTHORS COPYING ABOUT-NLS ChangeLog; \ + $(AM_TOOL_PATHS) $(STAGING_DIR_HOST)/bin/autoreconf -v -f -i -s \ + $(if $(word 2,$(3)),--no-recursive) \ + -B $(STAGING_DIR_HOST)/share/aclocal \ + $(patsubst %,-I %,$(5)) \ + $(patsubst %,-I %,$(4)) $(p) || true; \ + fi; \ + ) \ + ); +endef + +# 1: build dir +define patch_libtool + @(cd $(1); \ + for lt in $$$$($$(STAGING_DIR_HOST)/bin/find . -name ltmain.sh); do \ + lt_version="$$$$($$(STAGING_DIR_HOST)/bin/sed -ne 's,^[[:space:]]*VERSION="\?\([0-9]\.[0-9]\+\).*,\1,p' $$$$lt)"; \ + case "$$$$lt_version" in \ + 1.5|2.2|2.4) echo "autotools.mk: Found libtool v$$$$lt_version - applying patch to $$$$lt"; \ + (cd $$$$(dirname $$$$lt) && $$(PATCH) -N -s -p1 < $$(TOPDIR)/tools/libtool/files/libtool-v$$$$lt_version.patch || true) ;; \ + *) echo "autotools.mk: error: Unsupported libtool version v$$$$lt_version - cannot patch $$$$lt"; exit 1 ;; \ + esac; \ + done; \ + ); +endef + + +PKG_LIBTOOL_PATHS?=$(CONFIGURE_PATH) +PKG_AUTOMAKE_PATHS?=$(CONFIGURE_PATH) +PKG_MACRO_PATHS?=m4 +PKG_REMOVE_FILES?=aclocal.m4 + +Hooks/InstallDev/Post += libtool_remove_files + +define autoreconf_target + $(strip $(call autoreconf, \ + $(PKG_BUILD_DIR), $(PKG_REMOVE_FILES), \ + $(PKG_AUTOMAKE_PATHS), $(PKG_LIBTOOL_PATHS), \ + $(STAGING_DIR)/host/share/aclocal $(STAGING_DIR)/usr/share/aclocal $(PKG_MACRO_PATHS))) +endef + +define patch_libtool_target + $(strip $(call patch_libtool, \ + $(PKG_BUILD_DIR))) +endef + +define gettext_version_target + (cd $(PKG_BUILD_DIR) && \ + GETTEXT_VERSION=$(shell $(STAGING_DIR)/host/bin/gettext -V | $(STAGING_DIR_HOST)/bin/sed -ne '1s/.* //p') && \ + $(STAGING_DIR_HOST)/bin/sed \ + -i $(PKG_BUILD_DIR)/configure.ac \ + -e "s/AM_GNU_GETTEXT_VERSION(.*)/AM_GNU_GETTEXT_VERSION(\[$$$$GETTEXT_VERSION\])/g" && \ + $(STAGING_DIR)/host/bin/autopoint --force \ + ); +endef + +ifneq ($(filter gettext-version,$(PKG_FIXUP)),) + Hooks/Configure/Pre += gettext_version_target + ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),) + Hooks/Configure/Pre += autoreconf_target + endif +endif + +ifneq ($(filter patch-libtool,$(PKG_FIXUP)),) + Hooks/Configure/Pre += patch_libtool_target +endif + +ifneq ($(filter libtool,$(PKG_FIXUP)),) + PKG_BUILD_DEPENDS += libtool libintl libiconv + ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),) + Hooks/Configure/Pre += autoreconf_target + endif +endif + +ifneq ($(filter libtool-ucxx,$(PKG_FIXUP)),) + PKG_BUILD_DEPENDS += libtool libintl libiconv + ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),) + Hooks/Configure/Pre += autoreconf_target + endif +endif + +ifneq ($(filter autoreconf,$(PKG_FIXUP)),) + ifeq ($(filter autoreconf,$(Hooks/Configure/Pre)),) + Hooks/Configure/Pre += autoreconf_target + endif +endif + + +HOST_FIXUP?=$(PKG_FIXUP) +HOST_LIBTOOL_PATHS?=$(if $(PKG_LIBTOOL_PATHS),$(PKG_LIBTOOL_PATHS),.) +HOST_AUTOMAKE_PATHS?=$(if $(PKG_AUTOMAKE_PATHS),$(PKG_AUTOMAKE_PATHS),.) +HOST_MACRO_PATHS?=$(if $(PKG_MACRO_PATHS),$(PKG_MACRO_PATHS),m4) +HOST_REMOVE_FILES?=$(PKG_REMOVE_FILES) + +define autoreconf_host + $(strip $(call autoreconf, \ + $(HOST_BUILD_DIR), $(HOST_REMOVE_FILES), \ + $(HOST_AUTOMAKE_PATHS), $(HOST_LIBTOOL_PATHS), \ + $(HOST_MACRO_PATHS))) +endef + +define patch_libtool_host + $(strip $(call patch_libtool, \ + $(HOST_BUILD_DIR))) +endef + +ifneq ($(filter patch-libtool,$(PKG_FIXUP)),) + Hooks/HostConfigure/Pre += patch_libtool_host +endif + +ifneq ($(filter patch-libtool,$(HOST_FIXUP)),) + Hooks/HostConfigure/Pre += $(strip $(call patch_libtool,$(HOST_BUILD_DIR))) +endif + +ifneq ($(filter libtool,$(HOST_FIXUP)),) + ifeq ($(filter no-autoreconf,$(HOST_FIXUP)),) + Hooks/HostConfigure/Pre += autoreconf_host + endif +endif + +ifneq ($(filter libtool-ucxx,$(HOST_FIXUP)),) + ifeq ($(filter no-autoreconf,$(HOST_FIXUP)),) + Hooks/HostConfigure/Pre += autoreconf_host + endif +endif + +ifneq ($(filter autoreconf,$(HOST_FIXUP)),) + ifeq ($(filter autoreconf,$(Hooks/HostConfigure/Pre)),) + Hooks/HostConfigure/Pre += autoreconf_host + endif +endif diff --git a/build/aw-upgrade.mk b/build/aw-upgrade.mk new file mode 100755 index 0000000..d21862f --- /dev/null +++ b/build/aw-upgrade.mk @@ -0,0 +1,94 @@ +# +# Copyright (C) 2006-2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# author:henrisk.ho + +define Aw/BuildUpgradeImage/prepare + #$(1): target_dir #$(2): temp_usr + + #prepare for base system (no include /usr) + #for procd + -mv $(1)/usr/lib/libjson-c.so.* $(1)/lib/ + -mv $(1)/usr/bin/readlink $(1)/bin/ + -mv $(1)/usr/bin/basename $(1)/bin/ + -mv $(1)/usr/bin/jshn $(1)/bin/ + + #for wifi + -mv $(1)/usr/sbin/wpa* $(1)/sbin/ + -mv $(1)/usr/sbin/hostapd* $(1)/sbin/ + -mv $(1)/usr/lib/libnl-tiny.so $(1)/lib/ + + #for filesystem tools + -mv $(1)/usr/sbin/mke2fs $(1)/sbin/ + -mv $(1)/usr/sbin/mkfs.ext4 $(1)/sbin/ + -mv $(1)/usr/sbin/mkfs.jffs2 $(1)/sbin/ + + -mv $(1)/usr/lib/libext2fs.so* $(1)/lib/ + -mv $(1)/usr/lib/libcom_err.so* $(1)/lib/ + -mv $(1)/usr/lib/libuuid.so* $(1)/lib/ + -mv $(1)/usr/lib/libe2p.so* $(1)/lib/ + -mv $(1)/usr/lib/libz.so* $(1)/lib/ + + #for tinymp3player + -mv $(1)/usr/lib/libmad.so* $(1)/lib/ + -mv $(1)/usr/lib/libasound.so* $(1)/lib/ + + #ssl + -mv $(1)/usr/lib/libssl.so* $(1)/lib/ + + #curl + -mv $(1)/usr/lib/libcurl.so* $(1)/lib/ + + #crypto + -mv $(1)/usr/lib/libcrypto.so* $(1)/lib/ + + find $(1)/usr/lib | grep libstdc++.so | xargs -i mv {} $(1)/lib + + #for link /usr/bin /usr/sbin + rm -rf $(2) + mv $(1)/usr $(2) + mkdir -p $(1)/lib/functions + mkdir -p $(1)/usr/share + cp -r $(2)/bin $(1)/usr/ + find $(1)/usr/bin -type f -exec rm {} \; + -cp $(2)/share/libubox/jshn.sh $(1)/lib/functions/ + -cp -r $(2)/share/* $(1)/usr/share/ + +endef + +define Aw/BuildUpgradeImage/resume + #$(1): target_dir #$(2): temp_usr + rm -rf $(1)/usr + mv $(2) $(1)/usr +endef + +define Aw/BuildUpgradeImage/normal-prepare + #$(1): target_dir #$(2): temp_usr + $(call Aw/BuildUpgradeImage/prepare,$(1),$(2)) +endef + +define Aw/BuildUpgradeImage/normal-resume + #$(1): target_dir #$(2): temp_usr + $(call Aw/BuildUpgradeImage/resume,$(1),$(2)) +endef + +ifeq ($(CONFIG_TARGET_AW_OTA_INITRAMFS),y) +define Aw/BuildUpgradeImage/initramfs-prepare + #$(1): target_dir #$(2): temp_usr + $(call Aw/BuildUpgradeImage/prepare,$(1),$(2)) +endef + +define Aw/BuildUpgradeImage/initramfs-resume + #$(1): target_dir #$(2): temp_usr + $(call Aw/BuildUpgradeImage/resume,$(1),$(2)) +endef +else +define Aw/BuildUpgradeImage/initramfs-prepare +endef + +define Aw/BuildUpgradeImage/initramfs-resume +endef +endif diff --git a/build/board.mk b/build/board.mk new file mode 100644 index 0000000..832d413 --- /dev/null +++ b/build/board.mk @@ -0,0 +1,10 @@ +# +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2016-2016 tracewong +# +# This is free software, licensed under the GNU General Public License v2. +# See LICENSE for more information. +# +include $(TOPDIR)/target/allwinner/generic/common.mk +include $(TOPDIR)/target/allwinner/$(TARGET_PLATFORM)-common/BoardConfigCommon.mk +include $(TOPDIR)/target/allwinner/$(TARGET_BOARD)/BoardConfig.mk diff --git a/build/cmake.mk b/build/cmake.mk new file mode 100644 index 0000000..9dd95f5 --- /dev/null +++ b/build/cmake.mk @@ -0,0 +1,126 @@ +cmake_bool = $(patsubst %,-D%:BOOL=$(if $($(1)),ON,OFF),$(2)) + +PKG_INSTALL:=1 + +ifneq ($(findstring c,$(OPENWRT_VERBOSE)),) + MAKE_FLAGS+=VERBOSE=1 +endif + +CMAKE_BINARY_DIR = $(PKG_BUILD_DIR)$(if $(CMAKE_BINARY_SUBDIR),/$(CMAKE_BINARY_SUBDIR)) +CMAKE_SOURCE_DIR = $(PKG_BUILD_DIR)$(if $(CMAKE_SOURCE_SUBDIR),/$(CMAKE_SOURCE_SUBDIR)) +HOST_CMAKE_SOURCE_DIR = $(HOST_BUILD_DIR)$(if $(CMAKE_SOURCE_SUBDIR),/$(CMAKE_SOURCE_SUBDIR)) +MAKE_PATH = $(firstword $(CMAKE_BINARY_SUBDIR) .) + +ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) + cmake_tool=$(TOOLCHAIN_DIR)/bin/$(1) +else + cmake_tool=$(shell which $(1)) +endif + +ifeq ($(CONFIG_CCACHE),) + CMAKE_C_COMPILER:=$(call cmake_tool,$(TARGET_CC)) + CMAKE_CXX_COMPILER:=$(call cmake_tool,$(TARGET_CXX)) + CMAKE_C_COMPILER_ARG1:= + CMAKE_CXX_COMPILER_ARG1:= +else + CCACHE:=$(STAGING_DIR_HOST)/bin/ccache + CMAKE_C_COMPILER:=$(CCACHE) + CMAKE_C_COMPILER_ARG1:=$(TARGET_CC_NOCACHE) + CMAKE_CXX_COMPILER:=$(CCACHE) + CMAKE_CXX_COMPILER_ARG1:=$(TARGET_CXX_NOCACHE) +endif +CMAKE_AR:=$(call cmake_tool,$(TARGET_AR)) +CMAKE_NM:=$(call cmake_tool,$(TARGET_NM)) +CMAKE_RANLIB:=$(call cmake_tool,$(TARGET_RANLIB)) + +CMAKE_FIND_ROOT_PATH:=$(STAGING_DIR)/usr;$(TOOLCHAIN_DIR)$(if $(CONFIG_EXTERNAL_TOOLCHAIN),;$(CONFIG_TOOLCHAIN_ROOT)) +CMAKE_HOST_FIND_ROOT_PATH:=$(STAGING_DIR)/host;$(STAGING_DIR_HOSTPKG);$(STAGING_DIR_HOST) +CMAKE_SHARED_LDFLAGS:=-Wl,-Bsymbolic-functions + +define Build/Configure/Default + mkdir -p $(CMAKE_BINARY_DIR) + (cd $(CMAKE_BINARY_DIR); \ + CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \ + CXXFLAGS="$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" \ + cmake \ + -DCMAKE_SYSTEM_NAME=Linux \ + -DCMAKE_SYSTEM_VERSION=1 \ + -DCMAKE_SYSTEM_PROCESSOR=$(ARCH) \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \ + -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \ + -DCMAKE_C_COMPILER="$(CMAKE_C_COMPILER)" \ + -DCMAKE_C_COMPILER_ARG1="$(CMAKE_C_COMPILER_ARG1)" \ + -DCMAKE_CXX_COMPILER="$(CMAKE_CXX_COMPILER)" \ + -DCMAKE_CXX_COMPILER_ARG1="$(CMAKE_CXX_COMPILER_ARG1)" \ + -DCMAKE_ASM_COMPILER="$(CMAKE_C_COMPILER)" \ + -DCMAKE_ASM_COMPILER_ARG1="$(CMAKE_C_COMPILER_ARG1)" \ + -DCMAKE_EXE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS)" \ + -DCMAKE_MODULE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS) $(CMAKE_SHARED_LDFLAGS)" \ + -DCMAKE_SHARED_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS) $(CMAKE_SHARED_LDFLAGS)" \ + -DCMAKE_AR="$(CMAKE_AR)" \ + -DCMAKE_NM="$(CMAKE_NM)" \ + -DCMAKE_RANLIB="$(CMAKE_RANLIB)" \ + -DCMAKE_FIND_ROOT_PATH="$(CMAKE_FIND_ROOT_PATH)" \ + -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=BOTH \ + -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ + -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ + -DCMAKE_STRIP=: \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DDL_LIBRARY=$(STAGING_DIR) \ + -DCMAKE_PREFIX_PATH=$(STAGING_DIR) \ + -DCMAKE_SKIP_RPATH=TRUE \ + -DCMAKE_EXPORT_PACKAGE_REGISTRY=FALSE \ + -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE \ + -DCMAKE_FIND_USE_PACKAGE_REGISTRY=FALSE \ + -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=TRUE \ + -DCMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY=FALSE \ + -DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=TRUE \ + $(CMAKE_OPTIONS) \ + $(CMAKE_SOURCE_DIR) \ + ) +endef + +define Build/InstallDev/cmake + $(INSTALL_DIR) $(1) + $(CP) $(PKG_INSTALL_DIR)/* $(1)/ +endef + +Build/InstallDev = $(if $(CMAKE_INSTALL),$(Build/InstallDev/cmake)) + +define Host/Configure/Default + (cd $(HOST_BUILD_DIR); \ + CFLAGS="$(HOST_CFLAGS)" \ + CXXFLAGS="$(HOST_CFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" \ + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \ + -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \ + -DCMAKE_EXE_LINKER_FLAGS:STRING="$(HOST_LDFLAGS)" \ + -DCMAKE_MODULE_LINKER_FLAGS:STRING="$(HOST_LDFLAGS)" \ + -DCMAKE_SHARED_LINKER_FLAGS:STRING="$(HOST_LDFLAGS)" \ + -DCMAKE_FIND_ROOT_PATH="$(CMAKE_HOST_FIND_ROOT_PATH)" \ + -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=BOTH \ + -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ + -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ + -DCMAKE_STRIP=: \ + -DCMAKE_INSTALL_PREFIX=$(HOST_BUILD_PREFIX) \ + -DCMAKE_PREFIX_PATH=$(HOST_BUILD_PREFIX) \ + -DCMAKE_SKIP_RPATH=TRUE \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_EXPORT_PACKAGE_REGISTRY=FALSE \ + -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE \ + -DCMAKE_FIND_USE_PACKAGE_REGISTRY=FALSE \ + -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=TRUE \ + -DCMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY=FALSE \ + -DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=TRUE \ + $(CMAKE_HOST_OPTIONS) \ + $(HOST_CMAKE_SOURCE_DIR) \ + ) +endef + +MAKE_FLAGS += \ + CMAKE_COMMAND='$$(if $$(CMAKE_DISABLE_$$@),:,$(STAGING_DIR_HOST)/bin/cmake)' \ + CMAKE_DISABLE_cmake_check_build_system=1 diff --git a/build/config.mk b/build/config.mk new file mode 100644 index 0000000..0fe18b3 --- /dev/null +++ b/build/config.mk @@ -0,0 +1,108 @@ +# --------------------------------------------------------------- +# Set up configuration for host machine. We don't do cross- +# compiles except for arm/mips, so the HOST is whatever we are +# running on + +UNAME := $(shell uname -sm) + +# HOST_OS +ifneq (,$(findstring Linux,$(UNAME))) + HOST_OS := linux +endif + +# BUILD_OS is the real host doing the build. +ifeq ($(HOST_OS),linux) +BUILD_OS := $(HOST_OS) +endif + +ifeq ($(HOST_OS),) +$(error Unable to determine HOST_OS from uname -sm: $(UNAME)!) +endif + +# HOST_ARCH +ifneq (,$(findstring x86_64,$(UNAME))) + HOST_ARCH := x86_64 + HOST_2ND_ARCH := x86 + HOST_IS_64_BIT := true +endif + +BUILD_ARCH := $(HOST_ARCH) +BUILD_2ND_ARCH := $(HOST_2ND_ARCH) + +ifeq ($(HOST_ARCH),) +$(error Unable to determine HOST_ARCH from uname -sm: $(UNAME)!) +endif + +# the host build defaults to release, and it must be release or debug +ifeq ($(HOST_BUILD_TYPE),) +HOST_BUILD_TYPE := release +endif + +ifneq ($(HOST_BUILD_TYPE),release) +ifneq ($(HOST_BUILD_TYPE),debug) +$(error HOST_BUILD_TYPE must be either release or debug, not '$(HOST_BUILD_TYPE)') +endif +endif + +# We don't want to move all the prebuilt host tools to a $(HOST_OS)-x86_64 dir. +HOST_PREBUILT_ARCH := x86 +# This is the standard way to name a directory containing prebuilt host +# objects. E.g., prebuilt/$(HOST_PREBUILT_TAG)/cc +ifeq ($(HOST_OS),linux) + HOST_PREBUILT_TAG := linux +else + HOST_PREBUILT_TAG := $(HOST_OS)-$(HOST_PREBUILT_ARCH) +endif + +include $(BUILD_SYSTEM)/product-config.mk + +# Boards may be defined under target/allwinner/$(TARGET_DEVICE) +# Search in both places, make sure only one exists. +# Real boards should always be associated with an OEM vendor. +board_config_mk := \ + $(strip $(wildcard \ + $(shell test -d target && find target -maxdepth 4 -path '*/$(TARGET_DEVICE)/BoardConfig.mk') \ + )) +ifeq ($(board_config_mk),) + $(error No config file found for TARGET_DEVICE $(TARGET_DEVICE)) +endif +ifneq ($(words $(board_config_mk)),1) + $(error Multiple board config files for TARGET_PRODUCT $(TARGET_PRODUCT): $(board_config_mk)) +endif +include $(board_config_mk) + +# Set up version information +include $(BUILD_SYSTEM)/version.mk + +ifeq ($(TARGET_ARCH),) + $(error TARGET_ARCH not defined by board config: $(board_config_mk)) +endif +TARGET_DEVICE_DIR := $(patsubst %/,%,$(dir $(board_config_mk))) +board_config_mk := + +# --------------------------------------------------------------- +# Set up configuration for target machine. +# The following must be set: +# TARGET_OS = { linux } +# TARGET_ARCH = { arm | x86 | mips } + +TARGET_OS := linux +# TARGET_ARCH should be set by BoardConfig.mk and will be checked later +ifneq ($(filter %64,$(TARGET_ARCH)),) +TARGET_IS_64_BIT := true +endif + +# the target build type defaults to release +ifneq ($(TARGET_BUILD_TYPE),debug) +TARGET_BUILD_TYPE := release +endif + +ifeq ($(PRINT_BUILD_CONFIG),) +PRINT_BUILD_CONFIG := true +endif + +ifeq ($(OUT_DIR),) +OUT_DIR := out/$(TARGET_BOARD) +endif + +include $(BUILD_SYSTEM)/dumpvar.mk diff --git a/build/debug.mk b/build/debug.mk new file mode 100644 index 0000000..59a99c0 --- /dev/null +++ b/build/debug.mk @@ -0,0 +1,51 @@ +# +# Copyright (C) 2007 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +# debug flags: +# +# d: show subdirectory tree +# t: show added targets +# l: show legacy targets +# r: show autorebuild messages +# v: verbose (no .SILENCE for common targets) + +ifeq ($(DUMP),) + ifeq ($(DEBUG),all) + build_debug:=dltvr + else + build_debug:=$(DEBUG) + endif +endif + +ifneq ($(DEBUG),) + +define debug +$$(findstring $(2),$$(if $$(DEBUG_SCOPE_DIR),$$(if $$(filter $$(DEBUG_SCOPE_DIR)%,$(1)),$(build_debug)),$(build_debug))) +endef + +define warn +$$(if $(call debug,$(1),$(2)),$$(warning $(3))) +endef + +define debug_eval +$$(if $(call debug,$(1),$(2)),$(3)) +endef + +define warn_eval +$(call warn,$(1),$(2),$(3) $(4)) +$(4) +endef + +else + +debug:= +warn:= +debug_eval:= +warn_eval = $(4) + +endif + diff --git a/build/depends.mk b/build/depends.mk new file mode 100644 index 0000000..53e5b1e --- /dev/null +++ b/build/depends.mk @@ -0,0 +1,48 @@ +# +# Copyright (C) 2007 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# define a dependency on a subtree +# parameters: +# 1: directories/files +# 2: directory dependency +# 3: tempfile for file listings +# 4: find options + +DEP_FINDPARAMS := -x "*/.svn*" -x ".*" -x "*:*" -x "*\!*" -x "* *" -x "*\\\#*" -x "*/.*_check" -x "*/.*.swp" + +find_md5=$(SH_FUNC) find $(1) -type f $(patsubst -x,-and -not -path,$(DEP_FINDPARAMS) $(2)) | md5s + +define rdep + .PRECIOUS: $(2) + .SILENT: $(2)_check + + $(2): $(2)_check + +ifneq ($(wildcard $(2)),) + $(2)_check:: + $(if $(3), \ + $(call find_md5,$(1),$(4)) > $(3).1; \ + { [ \! -f "$(3)" ] || diff $(3) $(3).1 >/dev/null; } && \ + ) \ + { \ + [ -f "$(2)_check.1" ] && mv "$(2)_check.1"; \ + $(TOPDIR)/scripts/timestamp.pl $(DEP_FINDPARAMS) $(4) -n $(2) $(1) && { \ + $(call debug_eval,$(SUBDIR),r,echo "No need to rebuild $(2)";) \ + touch -r "$(2)" "$(2)_check"; \ + } \ + } || { \ + $(call debug_eval,$(SUBDIR),r,echo "Need to rebuild $(2)";) \ + touch "$(2)_check"; \ + } + $(if $(3), mv $(3).1 $(3)) +else + $(2)_check:: + $(if $(3), rm -f $(3) $(3).1) + $(call debug_eval,$(SUBDIR),r,echo "Target $(2) not built") +endif + +endef + diff --git a/build/device.mk b/build/device.mk new file mode 100644 index 0000000..20ff447 --- /dev/null +++ b/build/device.mk @@ -0,0 +1,76 @@ +# +# Copyright (C) 2007 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +_device_var_list := \ + DEVICE_NAME \ + DEVICE_BOARD \ + DEVICE_REGION + +define dump-device +$(info ==== $(1) ====)\ +$(foreach v,$(_device_var_list),\ +$(info DEVICES.$(1).$(v) := $(DEVICES.$(1).$(v))))\ +$(info --------) +endef + +define dump-devices +$(foreach p,$(DEVICES),$(call dump-device,$(p))) +endef + +# +# $(1): device to inherit +# +define inherit-device + $(foreach v,$(_device_var_list), \ + $(eval $(v) := $($(v)) $(INHERIT_TAG)$(strip $(1)))) +endef + +# +# $(1): device makefile list +# +#TODO: check to make sure that devices have all the necessary vars defined +define import-devices +$(call import-nodes,DEVICES,$(1),$(_device_var_list)) +endef + + +# +# $(1): short device name like "sooner" +# +define _resolve-short-device-name + $(eval dn := $(strip $(1))) + $(eval d := \ + $(foreach d,$(DEVICES), \ + $(if $(filter $(dn),$(DEVICES.$(d).DEVICE_NAME)), \ + $(d) \ + )) \ + ) + $(eval d := $(sort $(d))) + $(if $(filter 1,$(words $(d))), \ + $(d), \ + $(if $(filter 0,$(words $(d))), \ + $(error No matches for device "$(dn)"), \ + $(error Device "$(dn)" ambiguous: matches $(d)) \ + ) \ + ) +endef + +# +# $(1): short device name like "sooner" +# +define resolve-short-device-name +$(strip $(call _resolve-short-device-name,$(1))) +endef diff --git a/build/device_table.txt b/build/device_table.txt new file mode 100644 index 0000000..f45b158 --- /dev/null +++ b/build/device_table.txt @@ -0,0 +1,5 @@ +# minimal device table file for OpenWrt + +# +/dev d 755 0 0 - - - - - +/dev/console c 600 0 0 5 1 0 0 - diff --git a/build/download.mk b/build/download.mk new file mode 100644 index 0000000..0705be8 --- /dev/null +++ b/build/download.mk @@ -0,0 +1,187 @@ +# +# Copyright (C) 2006-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +OPENWRT_GIT = http://github.com/openwrt + +DOWNLOAD_RDEP=$(STAMP_PREPARED) $(HOST_STAMP_PREPARED) + +# Try to guess the download method from the URL +define dl_method +$(strip \ + $(if $(2),$(2), \ + $(if $(filter @APACHE/% @GNOME/% @GNU/% @KERNEL/% @SF/% @SAVANNAH/% ftp://% http://% https://% file://%,$(1)),default, \ + $(if $(filter git://%,$(1)),git, \ + $(if $(filter svn://%,$(1)),svn, \ + $(if $(filter cvs://%,$(1)),cvs, \ + $(if $(filter hg://%,$(1)),hg, \ + $(if $(filter sftp://%,$(1)),bzr, \ + unknown \ + ) \ + ) \ + ) \ + ) \ + ) \ + ) \ + ) \ +) +endef + +# code for creating tarballs from cvs/svn/git/bzr/hg/darcs checkouts - useful for mirror support +dl_pack/bz2=$(TAR) cjf $(1) $(2) +dl_pack/gz=$(TAR) czf $(1) $(2) +dl_pack/xz=$(TAR) c $(2) | xz -zc > $(1) +dl_pack/unknown=echo "ERROR: Unknown pack format for file $(1)"; false +define dl_pack + $(if $(dl_pack/$(call ext,$(1))),$(dl_pack/$(call ext,$(1))),$(dl_pack/unknown)) +endef + +define DownloadMethod/unknown + @echo "ERROR: No download method available"; false +endef + +define DownloadMethod/default + $(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(FILE)" "$(MD5SUM)" "$(URL_FILE)" $(foreach url,$(URL),"$(url)") +endef + +define wrap_mirror +$(if $(if $(MIRROR),$(filter-out x,$(MIRROR_MD5SUM))),$(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(FILE)" "$(MIRROR_MD5SUM)" "" || ( $(1) ),$(1)) +endef + +define DownloadMethod/cvs + $(call wrap_mirror, \ + echo "Checking out files from the cvs repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + cvs -d $(URL) export $(VERSION) $(SUBDIR) && \ + echo "Packing checkout..." && \ + $(call dl_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + +define DownloadMethod/svn + $(call wrap_mirror, \ + echo "Checking out files from the svn repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + ( svn help export | grep -q trust-server-cert && \ + svn export --non-interactive --trust-server-cert -r$(VERSION) $(URL) $(SUBDIR) || \ + svn export --non-interactive -r$(VERSION) $(URL) $(SUBDIR) ) && \ + echo "Packing checkout..." && \ + $(call dl_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + +define DownloadMethod/git + $(call wrap_mirror, \ + echo "Checking out files from the git repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + git clone $(URL) $(SUBDIR) --recursive && \ + (cd $(SUBDIR) && git checkout $(VERSION) && git submodule update) && \ + echo "Packing checkout..." && \ + rm -rf $(SUBDIR)/.git && \ + $(call dl_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + +define DownloadMethod/bzr + $(call wrap_mirror, \ + echo "Checking out files from the bzr repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + bzr export -r$(VERSION) $(SUBDIR) $(URL) && \ + echo "Packing checkout..." && \ + $(call dl_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + +define DownloadMethod/hg + $(call wrap_mirror, \ + echo "Checking out files from the hg repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + hg clone -r $(VERSION) $(URL) $(SUBDIR) && \ + find $(SUBDIR) -name .hg | xargs rm -rf && \ + echo "Packing checkout..." && \ + $(call dl_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + +define DownloadMethod/darcs + $(call wrap_mirror, \ + echo "Checking out files from the darcs repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + darcs get -t $(VERSION) $(URL) $(SUBDIR) && \ + find $(SUBDIR) -name _darcs | xargs rm -rf && \ + echo "Packing checkout..." && \ + $(call dl_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + +Validate/cvs=VERSION SUBDIR +Validate/svn=VERSION SUBDIR +Validate/git=VERSION SUBDIR +Validate/bzr=VERSION SUBDIR +Validate/hg=VERSION SUBDIR +Validate/darcs=VERSION SUBDIR + +define Download/Defaults + URL:= + FILE:= + URL_FILE:= + PROTO:= + MD5SUM:= + SUBDIR:= + MIRROR:=1 + MIRROR_MD5SUM:=x + VERSION:= +endef + +define Download + $(eval $(Download/Defaults)) + $(eval $(Download/$(1))) + $(foreach FIELD,URL FILE $(Validate/$(call dl_method,$(URL),$(PROTO))), + ifeq ($($(FIELD)),) + $$(error Download/$(1) is missing the $(FIELD) field.) + endif + ) + + $(foreach dep,$(DOWNLOAD_RDEP), + $(dep): $(DL_DIR)/$(FILE) + ) + download: $(DL_DIR)/$(FILE) + + $(DL_DIR)/$(FILE): + mkdir -p $(DL_DIR) + $(call locked,$(if $(DownloadMethod/$(call dl_method,$(URL),$(PROTO))),$(DownloadMethod/$(call dl_method,$(URL),$(PROTO))),$(DownloadMethod/unknown)),$(FILE)) + +endef diff --git a/build/dumpvar.mk b/build/dumpvar.mk new file mode 100644 index 0000000..dec0cfd --- /dev/null +++ b/build/dumpvar.mk @@ -0,0 +1,77 @@ +# --------------------------------------------------------------- +# the setpath shell function in envsetup.sh uses this to figure out +# what to add to the path given the config we have chosen. +ifeq ($(CALLED_FROM_SETUP),true) + +# The "dumpvar" stuff lets you say something like +# +# CALLED_FROM_SETUP=true \ +# make -f config/envsetup.make dumpvar-TARGET_OUT +# or +# CALLED_FROM_SETUP=true \ +# make -f config/envsetup.make dumpvar-abs-HOST_OUT_EXECUTABLES +# +# The plain (non-abs) version just dumps the value of the named variable. +# The "abs" version will treat the variable as a path, and dumps an +# absolute path to it. +# +dumpvar_goals := \ + $(strip $(patsubst dumpvar-%,%,$(filter dumpvar-%,$(MAKECMDGOALS)))) +ifdef dumpvar_goals + + ifneq ($(words $(dumpvar_goals)),1) + $(error Only one "dumpvar-" goal allowed. Saw "$(MAKECMDGOALS)") + endif + + # If the goal is of the form "dumpvar-abs-VARNAME", then + # treat VARNAME as a path and return the absolute path to it. + absolute_dumpvar := $(strip $(filter abs-%,$(dumpvar_goals))) + ifdef absolute_dumpvar + dumpvar_goals := $(patsubst abs-%,%,$(dumpvar_goals)) + ifneq ($(filter /%,$($(dumpvar_goals))),) + DUMPVAR_VALUE := $($(dumpvar_goals)) + else + DUMPVAR_VALUE := $(PWD)/$($(dumpvar_goals)) + endif + dumpvar_target := dumpvar-abs-$(dumpvar_goals) + else + DUMPVAR_VALUE := $($(dumpvar_goals)) + dumpvar_target := dumpvar-$(dumpvar_goals) + endif + +.PHONY: $(dumpvar_target) +$(dumpvar_target): + @echo $(DUMPVAR_VALUE) + +endif # dumpvar_goals + +ifneq ($(dumpvar_goals),report_config) +PRINT_BUILD_CONFIG:= +endif + +endif # CALLED_FROM_SETUP + +ifneq ($(PRINT_BUILD_CONFIG),) +HOST_OS_EXTRA:=$(shell python -c "import platform; print(platform.platform())") +$(info ============================================) +$(info PLATFORM_VERSION_CODENAME=$(PLATFORM_VERSION_CODENAME)) +$(info PLATFORM_VERSION=$(PLATFORM_VERSION)) +$(info PRODUCT_VERSION=$(TARGET_VERSION_PRODUCT)) +$(info TARGET_PRODUCT=$(TARGET_PRODUCT)) +$(info TARGET_BUILD_VARIANT=$(TARGET_BUILD_VARIANT)) +$(info TARGET_BUILD_TYPE=$(TARGET_BUILD_TYPE)) +$(info TARGET_BUILD_APPS=$(TARGET_BUILD_APPS)) +$(info TARGET_ARCH=$(TARGET_ARCH)) +$(info TARGET_ARCH_VARIANT=$(TARGET_ARCH_VARIANT)) +$(info TARGET_CPU_VARIANT=$(TARGET_CPU_VARIANT)) +$(info TARGET_2ND_ARCH=$(TARGET_2ND_ARCH)) +$(info TARGET_2ND_ARCH_VARIANT=$(TARGET_2ND_ARCH_VARIANT)) +$(info TARGET_2ND_CPU_VARIANT=$(TARGET_2ND_CPU_VARIANT)) +$(info HOST_ARCH=$(HOST_ARCH)) +$(info HOST_OS=$(HOST_OS)) +$(info HOST_OS_EXTRA=$(HOST_OS_EXTRA)) +$(info HOST_BUILD_TYPE=$(HOST_BUILD_TYPE)) +$(info BUILD_ID=$(BUILD_ID)) +$(info TARGET_OUT_DIR=$(OUT_DIR)) +$(info ============================================) +endif diff --git a/build/envsetup.sh b/build/envsetup.sh new file mode 100755 index 0000000..c128ab6 --- /dev/null +++ b/build/envsetup.sh @@ -0,0 +1,2024 @@ +function hmm() { +cat <- + +== build project == +- m: Make from the top of the tree. +- mm: Build package in the current directory, but not their dependencies. +- mma: Build package in the current directory, and their dependencies. +- mmb: Clean and build package in the current directory, but not their dependencies. +- p: Pack from the top of the tree. +- pd: Pack card0 from the top of the tree. +- mp: Make and pack from the top of the tree +- mpd: Make and pack card0 from the top of the tree +- mboot: Build boot0 and uboot, including uboot for nor. +- mboot0: Just build boot0. +- muboot: Build uboot, including uboot for nor. +- muboot_nor: Just build uboot for nor. +- mkernel: Build kernel. +- mlibc: Build c library. + +== jump directory == +- croot: Jump to the top of the tree. +- cboot: Jump to uboot. +- cboot0: Jump to boot0. +- cdts: Jump to device tree. +- cbin: Jump to uboot/boot0 bin directory. +- ckernel: Jump to kernel. +- cdevice: Jump to target. +- ccommon: Jump to platform common. +- cconfigs: Jump to configs of target. +- cout: Jump to out directory of target. +- ctarget: Jump to target of compile directory. +- crootfs: Jump to rootfs of compile directory. +- ctoolchain: Jump to toolchain directory. +- callwinnerpk: Jump to package allwinner directory. +- ctinatest: Jump to tinateset directory. +- godir: Go to the directory containing a file. + +== grep file == +- cgrep: Greps on all local C/C++ files. + +Look at the source to view more functions. The complete list is: +EOF + T=$(gettop) + local A + A="" + for i in `cat $T/build/envsetup.sh | sed -n "/^[ \t]*function /s/function \([a-z_]*\).*/\1/p" | sort | uniq`; do + A="$A $i" + done + echo $A +} + +function gettop +{ + local TOPFILE=build/envsetup.sh + if [ -n "$TINA_TOP" -a -f "$TINA_TOP/$TOPFILE" ] ; then + # The following circumlocution ensures we remove symlinks from TOP. + (\cd $TINA_TOP; pwd) + else + if [ -f $TOPFILE ] ; then + # The following circumlocution (repeated below as well) ensures + # that we record the true directory name and not one that is + # faked up with symlink names. + (pwd) + else + local here="$(pwd)" + while [ "${here}" != "/" ]; do + if [ -f "${here}/${TOPFILE}" ]; then + (\cd ${here}; pwd) + break + fi + here="$(dirname ${here})" + done + fi + fi +} + +function add_lunch_combo() +{ + local c + for c in ${LUNCH_MENU_CHOICES[@]} ; do + if [ "$1" = "$c" ] ; then + return + fi + done + LUNCH_MENU_CHOICES=(${LUNCH_MENU_CHOICES[@]} $1) +} + +function print_lunch_menu() +{ + local uname=$(uname) + echo + echo "You're building on" $uname + echo + echo "Lunch menu... pick a combo:" + + local i=1 + local choice + for choice in ${LUNCH_MENU_CHOICES[@]} + do + echo " $i. $choice" + i=$(($i+1)) + done + echo +} + +# check to see if the supplied product is one we can build +function check_platform() +{ + local T=$(gettop) + [ -d "$T/target/allwinner" ] || return 1 + + local v + for v in ${PLATFORM_CHOICES} + do + [ "$v" = "$1" ] && return 0 + done + return 1 +} + +function check_product() +{ + T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + + TARGET_PRODUCT=$1 \ + TARGET_BUILD_VARIANT= \ + TARGET_BUILD_TYPE= \ + TARGET_BUILD_APPS= \ + get_build_var TARGET_DEVICE > /dev/null +} + +# check to see if the supplied variant is valid +function check_variant() +{ + for v in ${VARIANT_CHOICES} + do + [ "$v" = "$1" ] && return 0 + done + return 1 +} + +# check whether parameters of platform is missing. +function check_parameters() +{ + chip=${TARGET_CHIP} + if [ "x$chip" = "x" ]; then + echo "platform($TARGET_PLATFORM) not support" + echo "Please check whether device is missing!" + return 1 + fi + return 0 +} + +# Get the exact value of a build variable. +function get_build_var() +{ + T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + + (\cd $T; CALLED_FROM_SETUP=true BUILD_SYSTEM=build \ + command make --no-print-directory -f build/config.mk dumpvar-$1) +} + +function get_chip +{ + local T=$(gettop) + [ -z "$T" ] && return -1 + [ -z "${TARGET_PLATFORM}" ] && return -1 + [ -z "${TARGET_KERNEL_VERSION}" ] && return -1 + + local longan_kernel_config=$T/target/allwinner/${TARGET_BOARD}/config-${TARGET_KERNEL_VERSION} + local tina_kernel_config=$T/device/config/chips/${TARGET_PLATFORM}/configs/${TARGET_BOARD#*-}/linux/config-${TARGET_KERNEL_VERSION} + local tina_new_kernel_config=$T/device/config/chips/${TARGET_PLATFORM}/configs/${TARGET_BOARD#*-}/linux-${TARGET_KERNEL_VERSION}/config-${TARGET_KERNEL_VERSION} + [ -e "${longan_kernel_config}" ] && awk -F'[_=]' '/CONFIG_ARCH_SUN.*P.*=y/{print tolower($3)}' "${longan_kernel_config}" | head -n 1 && return + [ -e "${tina_new_kernel_config}" ] && awk -F'[_=]' '/CONFIG_ARCH_SUN.*W.*=y/{print tolower($3"p1")}' "${tina_new_kernel_config}" | head -n 1 && return + [ -e "${tina_kernel_config}" ] && awk -F'[_=]' '/CONFIG_ARCH_SUN.*P.*=y/{print tolower($3)}' "${tina_kernel_config}" | head -n 1 && return + return -1 +} + +function get_uboot +{ + local T=$(gettop) + [ -z "$T" ] && return -1 + [ -z "${TARGET_PRODUCT}" ] && return -1 + local f="$T/target/allwinner/${TARGET_PRODUCT/_/-}/Makefile" + [ -f "$f" ] || return -1 + + awk -F":=" '/UBOOT_PATCHVER/{print $2}' $f +} + +function get_kernel +{ + local T=$(gettop) + [ -z "$T" ] && return -1 + [ -z "${TARGET_PRODUCT}" ] && return -1 + local f="$T/target/allwinner/${TARGET_PRODUCT/_/-}/Makefile" + [ -f "$f" ] || return -1 + + awk -F":=" '/KERNEL_PATCHVER/{print $2}' $f +} + +function get_arch +{ + local T=$(gettop) + [ -z "$T" ] && return -1 + [ -z "${TARGET_PRODUCT}" ] && return -1 + local f="$T/target/allwinner/${TARGET_PRODUCT/_/-}/Makefile" + [ -f "$f" ] || return -1 + + awk -F":=" '/ARCH/{print $2}' $f +} + +function parse_boardconfig() +{ + local special_config="$T/device/config/chips/${TARGET_PLATFORM}/configs/${TARGET_PLAN}/BoardConfig.mk" + local default_config="$T/device/config/chips/${TARGET_PLATFORM}/configs/default/BoardConfig.mk" + local default_config_nor="$T/device/config/chips/${TARGET_PLATFORM}/configs/default/BoardConfig_nor.mk" + local config_list="" + + local f="$T/device/config/chips/${TARGET_PLATFORM}/configs/${TARGET_PLAN}/sys_config.fex" + local B="$( awk -F"=" '/^storage_type/{print $2}' $f | sed 's/^[ \t]*//g' )" + if [ x"$B" = x"3" ]; then + config_list=($default_config_nor $special_config) + else + config_list=($default_config $special_config) + fi + + local fetch_list="" + local fpare_list="" + for f in ${config_list[@]}; do + if [ -f $f ]; then + fetch_list=(${fetch_list[@]} $f) + fpare_list="$fpare_list -f $f" + fi + done + + local cfgkeylist=( + LICHEE_BUSSINESS + LICHEE_BRANDY_DEFCONF + LICHEE_BRANDY_SPL + LICHEE_BOARD + LICHEE_REDUNDANT_ENV_SIZE + ) + + local cfgkey="" + local cfgval="" + for cfgkey in ${cfgkeylist[@]}; do + #don't use current value in env + export $cfgkey="" + if [ -n "$fpare_list" ]; then + cfgval="$(echo '__unique:;@echo ${'"$cfgkey"'}' | command make -f - $fpare_list --no-print-directory __unique)" + else + cfgval="" + fi + export $cfgkey=$cfgval + done + +} + +function fix_after_lunch +{ + local T="$(gettop)" + cd $T/device/config/chips/${TARGET_PLATFORM}/configs/${TARGET_PLAN} + [ -e linux-${TARGET_KERNEL_VERSION}/board.dts ] && { + rm -f board.dts + ln -s linux-${TARGET_KERNEL_VERSION}/board.dts board.dts + } + [ -L linux ] && rm -f linux + [ -e linux ] || { + ln -s linux-${TARGET_KERNEL_VERSION} linux + } +} + +function lunch +{ + # get last platfrom as default platform + local T="$(gettop)" + local last + if [ -f "$T/.config" ]; then + #last="$(awk -F[=_] '/CONFIG_TARGET_[a-z_0-9]*[^_]=y/{print $3 "_" $4; exit}' ${T}/.config)" + last="$(sed -n -r '/CONFIG_TARGET_[a-zA-Z_0-9]*[^_]=y/{s/CONFIG_TARGET_([a-zA-Z_0-9]*[^_])=y/\1/;p;q}' ${T}/.config)" + fi + + # select platform + local select + if [ "$1" ] ; then + select=$1 + else + print_lunch_menu + echo -n "Which would you like?" + [ -n "${last}" ] && echo -n " [Default ${last}]" + echo -n ": " + read select + fi + if [ -z "${select}" ]; then + select="${last}-tina" + elif (echo -n $select | grep -q -e "^[0-9][0-9]*$"); then + [ $select -le ${#LUNCH_MENU_CHOICES[@]} ] \ + && select=${LUNCH_MENU_CHOICES[$(($select-1))]} + elif (echo -n $select | grep -q -e "^[^\-][^\-]*-[^\-][^\-]*$"); then + select="$select" + else + echo + echo "Invalid lunch combo: $select" >&2 + return 1 + fi + + # check platform + local platform=$(echo -n $select | sed -e "s/_.*$//") + check_platform ${platform} + if [ $? -ne 0 ]; then + echo + echo "** Don't have a platform spec for: '$platform'" >&2 + echo "** Must be one of ${PLATFORM_CHOICES}" >&2 + echo "** Do you have the right repo manifest?" >&2 + platform= + fi + + # check product + local product=$(echo -n $select | sed -e "s/-.*$//") + check_product $product + if [ $? -ne 0 ] + then + echo + echo "** Don't have a product spec for: '$product'" >&2 + echo "** Do you have the right repo manifest?" >&2 + product= + fi + + local variant=$(echo -n $select | sed -e "s/^[^\-]*-//") + check_variant $variant + if [ $? -ne 0 ] + then + echo + echo "** Invalid variant: '$variant'" >&2 + echo "** Must be one of ${VARIANT_CHOICES}" >&2 + variant= + fi + + [ -z "$product" -o -z "$variant" -o -z "$platform" ] && return 1 + + export TARGET_PRODUCT=$product + export TARGET_PLATFORM=$platform + export TARGET_BOARD=$(get_build_var TARGET_DEVICE) + export TARGET_PLAN=${TARGET_BOARD#*-} + export TARGET_BUILD_VARIANT=$variant + export TARGET_BUILD_TYPE=release + export TARGET_KERNEL_VERSION=$(get_kernel) + export TARGET_UBOOT=u-boot-$(get_uboot) + export TARGET_CHIP=$(get_chip) + export TINA_TARGET_ARCH=$(get_arch) + export TINA_BUILD_TOP=$(gettop) + + export LICHEE_ARISC_PATH=${TINA_BUILD_TOP}/lichee/arisc + export LICHEE_CHIP_CONFIG_DIR=${TINA_BUILD_TOP}/device/config/chips/${TARGET_PLATFORM} + export LICHEE_BOARD_CONFIG_DIR=${LICHEE_CHIP_CONFIG_DIR}/configs/${TARGET_PLAN} + + #for plat_config.sh + parse_boardconfig + export LICHEE_PACK_OUT_DIR=${TINA_BUILD_TOP}/out/${TARGET_BOARD}/image + export LICHEE_PLAT_OUT=${TINA_BUILD_TOP}/out/${TARGET_BOARD} + echo "============================================" + echo "TINA_BUILD_TOP=${TINA_BUILD_TOP}" + echo "TINA_TARGET_ARCH=${TINA_TARGET_ARCH}" + echo "TARGET_PRODUCT=${TARGET_PRODUCT}" + echo "TARGET_PLATFORM=${TARGET_PLATFORM}" + echo "TARGET_BOARD=${TARGET_BOARD}" + echo "TARGET_PLAN=${TARGET_PLAN}" + echo "TARGET_BUILD_VARIANT=${TARGET_BUILD_VARIANT}" + echo "TARGET_BUILD_TYPE=${TARGET_BUILD_TYPE}" + echo "TARGET_KERNEL_VERSION=${TARGET_KERNEL_VERSION}" + echo "TARGET_UBOOT=${TARGET_UBOOT}" + echo "TARGET_CHIP=${TARGET_CHIP}" + echo "============================================" + + export BUILD_ENV_SEQUENCE_NUMBER=10 + # With this environment variable new GCC can apply colors to warnings/errors + export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' + + rm -rf tmp + + [ -e $T/target/allwinner/${TARGET_BOARD}/${TARGET_PRODUCT}-setup.sh ] \ + && source $T/target/allwinner/${TARGET_BOARD}/${TARGET_PRODUCT}-setup.sh + + check_parameters + + (fix_after_lunch) + + # after lunch other platform, restart buildserver + clbuildserver + prepare_buildserver +} + +# Tab completion for lunch. +function _lunch +{ + local cur prev + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + + COMPREPLY=( $(compgen -W "${LUNCH_MENU_CHOICES[*]}" -- ${cur}) ) + return 0 +} + +# Tab completion for m. +function _m +{ + local T=$(gettop) + [ -z "$T" ] && return + [ -f "$T/build/toplevel.mk" ] || return + + local cur prev list + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + list="$(grep "[^\.].*config:" $T/build/toplevel.mk | awk -F: '{print $1}')" + COMPREPLY=( $(compgen -W "${list}" -- ${cur}) ) +} + +function envsetup +{ + if [ "x$SHELL" != "x/bin/bash" ]; then + case `ps -o command -p $$` in + *bash*) + ;; + *) + echo -n "WARNING: Only bash is supported, " + echo "use of other shell would lead to erroneous results" + ;; + esac + fi + + # check top of SDK + if [ ! -f "$(pwd)/build/envsetup.sh" ]; then + echo "ERROR: Please source envsetup.sh in the root of SDK" + return -1 + else + export TINA_TOP="$(pwd)" + fi + + # reset these variables. + # LUNCH_MENU_CHOICES will be built up again when the vendorsetup.sh are included + unset LUNCH_MENU_CHOICES + export LUNCH_MENU_CHOICES + export VARIANT_CHOICES=tina + export PLATFORM_CHOICES="$(ls $(gettop)/target/allwinner 2>/dev/null \ + | awk -F- '/.*-.*/{print $1}' | sort | uniq)" + + # Execute the contents of any vendorsetup.sh files we can find. + local vendors vendor awchips + if [ -d "$(pwd)/device/config/chips" ]; then + # only show platfroms with chip configuration. + awchips="$(ls $(pwd)/device/config/chips | awk '{print " -e "$1"-"}')" + if [ $? -eq 0 ]; then + verdors="$(find -L target -maxdepth 4 -name 'vendorsetup.sh' | grep ${awchips} 2>/dev/null | sort)" + else + verdors="$(find -L target -maxdepth 4 -name 'vendorsetup.sh' 2>/dev/null | sort)" + fi + else + verdors="$(find -L target -maxdepth 4 -name 'vendorsetup.sh' 2>/dev/null | sort)" + fi + for verdor in ${verdors} + do + source ${verdor} + done + echo "Setup env done! Please run lunch next." + + # completion + complete -F _lunch lunch + complete -F _m m +} + +function m +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + + (\cd $T && make $@) +} + +function mm +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + + $T/scripts/mm.sh $T $* +} + +function mma +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + + $T/scripts/mma.sh $T $* +} + +function mmb +{ + mm -B +} + +function p +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + + (\cd $T && pack $@) +} + +function pd +{ + p -d +} + +function mp +{ + m $@ && p +} + +function mpd +{ + m $@ && pd +} + +# Build brandy(uboot,boot0,fes) if you want. +function build_boot() +{ + local T=$(gettop) + local chip=${TARGET_CHIP} + local cmd=$1 + local o_option=$2 + local platform + local bin_dir + + local f="$T/device/config/chips/${TARGET_PLATFORM}/configs/${TARGET_PLAN}/sys_config.fex" + local B="$( awk -F"=" '/^storage_type/{print $2}' $f | sed 's/^[ \t]*//g' )" + if [ x"$B" = x"3" ]; then + export LICHEE_FLASH="nor" + else + export LICHEE_FLASH="default" + fi + + echo $TARGET_PRODUCT $TARGET_PLATFORM $TARGET_BOARD + if [ -z "$TARGET_BOARD" -o -z "$TARGET_PLATFORM" ]; then + echo "Please use lunch to select a target board before build boot." + return 1 + fi + + if [ "x$chip" = "x" ]; then + echo "platform($TARGET_PLATFORM) not support" + return 1 + fi + + platform=${chip} + + bin_dir="device/config/chips/${TARGET_PLATFORM}/bin" + if [ "${TARGET_UBOOT}" = "u-boot-2018" ]; then + \cd $T/lichee/brandy-2.0/ + [ x"$o_option" = x"uboot" -a -f "u-boot-2018/configs/${chip}_tina_defconfig" ] && { + platform=${chip}_tina + } + [ x"$o_option" = x"uboot" -a -f "u-boot-2018/configs/${TARGET_BOARD}_defconfig" ] && { + platform=${TARGET_BOARD} + bin_dir="device/config/chips/${TARGET_PLATFORM}/configs/${TARGET_BOARD#*-}/bin" + mkdir -p $T/${bin_dir} + } + [ x"$o_option" = x"uboot" -a -f "$T/device/config/chips/${TARGET_PLATFORM}/configs/${TARGET_PLAN}/BoardConfig.mk" ] && { + if [ x"${LICHEE_BRANDY_DEFCONF}" != "x" ]; then + platform=${LICHEE_BRANDY_DEFCONF%%_def*} + fi + } + if [ x"$o_option" == "xboot0" ]; then + if [ x"${LICHEE_BRANDY_SPL}" != x ]; then + o_option=${LICHEE_BRANDY_SPL} + else + o_option=spl + fi + + if [ ! -f "spl-pub/Makefile" ]; then + o_option=spl + fi + + if [ ! -f "spl/Makefile" ]; then + o_option=spl-pub + fi + fi + else + \cd $T/lichee/brandy/ + fi + + echo "build_boot platform:$platform o_option:$o_option" + if [ x"$o_option" != "x" ] && [ "${TARGET_UBOOT}" = "u-boot-2018" ]; then + TARGET_BIN_DIR=${bin_dir} ./build.sh -p $platform -o $o_option -b ${TARGET_PLATFORM} + elif [ x"$o_option" != "x" ]; then + TARGET_BIN_DIR=${bin_dir} ./build.sh -p $platform -o $o_option + else + TARGET_BIN_DIR=${bin_dir} ./build.sh -p $platform + fi + if [ $? -ne 0 ]; then + echo "$cmd stop for build error in brandy, Please check!" + \cd - 1>/dev/null + return 1 + fi + \cd - 1>/dev/null + echo "$cmd success!" + return 0 +} + +function mkarisc +{ + echo "=== Start build scp.bin ===" + + local arisc_cfg; + + if [ x"mr813" != x${TARGET_PLATFORM} -a x"r818" != x${TARGET_PLATFORM} ]; + then echo "Platform ${TARGET_PLATFORM} Skip marisc." && return 0 + fi + + if [ -f ${LICHEE_BOARD_CONFIG_DIR}/../default/arisc.config ] + then + arisc_cfg=${LICHEE_BOARD_CONFIG_DIR}/../default/arisc.config + fi + + if [ -f ${LICHEE_CHIP_CONFIG_DIR}/tools/arisc_config_parse.sh ] + then + ${LICHEE_CHIP_CONFIG_DIR}/tools/arisc_config_parse.sh + fi + + if [ -f ${LICHEE_BOARD_CONFIG_DIR}/arisc.config ] + then + arisc_cfg=${LICHEE_BOARD_CONFIG_DIR}/arisc.config + fi + + if [ ! -e ${arisc_cfg} ] + then + return 1; + fi + + if [ ! -d ${LICHEE_ARISC_PATH} ]; + then + echo "arisc project lost, use repo sync to get it" + return 1; + fi + + cp ${arisc_cfg} ${LICHEE_ARISC_PATH}/.config + command make -C ${LICHEE_ARISC_PATH} + + [ $? -ne 0 ] && print_red "Error to build scp.bin" && return 1 + + [ ! -e ${LICHEE_CHIP_CONFIG_DIR}/bin ] && print_red "Error Not exist bin dir." && return 1 + echo "cp ${LICHEE_ARISC_PATH}/ar100s/scp.bin to ${LICHEE_CHIP_CONFIG_DIR}/bin/scp.bin" + cp ${LICHEE_ARISC_PATH}/ar100s/scp.bin ${LICHEE_CHIP_CONFIG_DIR}/bin/scp.bin + [ $? -ne 0 ] && print_red 'Error to cp scp.bin' && return 1 + + echo "make arisc success!" + return 0 +} + +function muboot +{ + (build_boot muboot uboot) +} + +function mboot +{ + (build_boot muboot uboot) + (build_boot mboot0 boot0) +} + +function mboot0 +{ + (build_boot mboot0 boot0) +} + +function muboot_nor +{ + (build_boot muboot_nor uboot_nor) +} + +function mkernel +{ + m target/allwinner/install $@ +} + +function mlibc() { + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + + $T/scripts/mlibc.sh $T $* +} + +function make_img_md5(){ + #$1: target image + md5sum $1 | awk '{print $1}' > $1.md5 +} + +function ota_save_files() +{ + [ $# -lt 1 ] && echo "usage:ota_save_files file_dir" && return 1 + local target_dir=$1 + echo target_dir:"$target_dir" + [ ! -d "$target_dir" ] && echo target_dir:"$target_dir" not exit!! && return 1 + + local T=$(gettop) + local BIN_DIR=$T/out/${TARGET_BOARD} + local boot_img="$(readlink -f "$BIN_DIR"/image/boot.fex)" + local rootfs_img="$(readlink -f "$BIN_DIR"/image/rootfs.fex)" + local recovery_img="$(readlink -f "$BIN_DIR"/image/recovery.fex)" + #uboot and boot0 + local boot_package_img="$(readlink -f "$BIN_DIR"/image/boot_package.fex)" + local boot0_nand_img="$(readlink -f "$BIN_DIR"/image/boot0_nand.fex)" + local boot0_sdcard_img="$(readlink -f "$BIN_DIR"/image/boot0_sdcard.fex)" + + rm -f "$target_dir"/*.img "$target_dir"/*.md5 "$target_dir"/*.signature + [ -f "$boot_img" ] \ + && cp "$boot_img" "$target_dir"/boot.img \ + && make_img_md5 "$target_dir"/boot.img + [ -f "$rootfs_img" ] \ + && cp "$rootfs_img" "$target_dir"/rootfs.img \ + && make_img_md5 "$target_dir"/rootfs.img + [ -f "$recovery_img" ] \ + && cp "$recovery_img" "$target_dir"/recovery.img \ + && make_img_md5 "$target_dir"/recovery.img + [ -f "$boot_package_img" ] \ + && cp "$boot_package_img" "$target_dir"/boot_package.img \ + && make_img_md5 "$target_dir"/boot_package.img + [ -f "$boot0_nand_img" ] \ + && cp "$boot0_nand_img" "$target_dir"/boot0_nand.img \ + && make_img_md5 "$target_dir"/boot0_nand.img + [ -f "$boot0_sdcard_img" ] \ + && cp "$boot0_sdcard_img" "$target_dir"/boot0_sdcard.img \ + && make_img_md5 "$target_dir"/boot0_sdcard.img + ls -l "$target_dir" +} + +function make_ota_image(){ + local T=$(gettop) + local chip=sunxi + local need_usr=0 + local make_ota_fail=0 + [ x$CHIP = x"sun5i" ] && chip=sun5i + local BIN_DIR=$T/out/${TARGET_BOARD} + local OTA_DIR=$BIN_DIR/ota + mkdir -p $OTA_DIR + print_red "build ota package" + grep "CONFIG_SUNXI_SMALL_STORAGE_OTA=y" $T/target/allwinner/${TARGET_BOARD}/defconfig \ + && need_usr=1 + #target image + target_list="$BIN_DIR/boot.img $BIN_DIR/rootfs.img $BIN_DIR/usr.img" + if [ $need_usr -eq 0 ];then + target_list="$BIN_DIR/boot.img $BIN_DIR/rootfs.img" + fi + [ -n "$1" ] && [ x"$1" = x"--force" ] && rm -rf $target_list + for i in $target_list; do + if [ ! -f "$i" ]; then + img=${i##*/} + print_red "$i is not exsit! rebuild the image." + make -j16 + if [ $? -ne 0 ] + then + print_red "make $img file! make_ota_image fail!" + make_ota_fail=1 + fi + break + fi + done + + rm -rf $OTA_DIR/target_sys + mkdir -p $OTA_DIR/target_sys + dd if=$BIN_DIR/boot.img of=$OTA_DIR/target_sys/boot.img + make_img_md5 $OTA_DIR/target_sys/boot.img + dd if=$BIN_DIR/rootfs.img of=$OTA_DIR/target_sys/rootfs.img + make_img_md5 $OTA_DIR/target_sys/rootfs.img + + local storage_type_nor=0 + local f="$T/device/config/chips/${TARGET_PLATFORM}/configs/${TARGET_PLAN}/sys_config.fex" + local B="$( awk -F"=" '/^storage_type/{print $2}' $f | sed 's/^[ \t]*//g' )" + case $B in + *-1) + print_red "###storage type error###" + print_red "###cannot choose boot0, please config storage_type in sys_config ###" + ;; + *0 | *5) + local boot0_img=boot0_nand.fex + ;; + *1 | *2 | *4) + local boot0_img=boot0_sdcard.fex + ;; + 3) + local boot0_img=boot0_spinor.fex + storage_type_nor=1 + ;; + *) + print_red "###storage type error###" + print_red "###cannot choose boot0, please config storage_type in sys_config ###" + ;; + esac + rm -rf $OTA_DIR/boot0_sys + [ -n "$boot0_img" ] && { + mkdir -p $OTA_DIR/boot0_sys + dd if=$BIN_DIR/image/$boot0_img of=$OTA_DIR/boot0_sys/boot0.img + make_img_md5 $OTA_DIR/boot0_sys/boot0.img + } + local U="$(get_uboot)" + if [[ "$U" =~ "2011" ]]; then + local uboot_img=u-boot.fex + else + if [ x"$storage_type_nor" = x"1" ]; then + local uboot_img=boot_package_nor.fex + else + local uboot_img=boot_package.fex + fi + fi + rm -rf $OTA_DIR/uboot_sys + mkdir -p $OTA_DIR/uboot_sys + dd if=$BIN_DIR/image/$uboot_img of=$OTA_DIR/uboot_sys/uboot.img + make_img_md5 $OTA_DIR/uboot_sys/uboot.img + + if [ $need_usr -eq 1 ];then + rm -rf $OTA_DIR/usr_sys + mkdir -p $OTA_DIR/usr_sys + dd if=$BIN_DIR/usr.img of=$OTA_DIR/usr_sys/usr.img + make_img_md5 $OTA_DIR/usr_sys/usr.img + fi + + grep -v -e CONFIG_TARGET_ROOTFS_INITRAMFS \ + $T/target/allwinner/${TARGET_BOARD}/defconfig_ota > .config_ota + echo 'CONFIG_TARGET_ROOTFS_INITRAMFS=y' >> .config_ota + echo 'CONFIG_TARGET_AW_OTA_INITRAMFS=y' >> .config_ota + echo 'CONFIG_TARGET_INITRAMFS_COMPRESSION_XZ=y' >> .config_ota + + make V=s -j16 TARGET_CONFIG=.config_ota + if [ $? -ne 0 ] + then + print_red "make_ota_image fail!" + make_ota_fail=1 + fi + + rm -rf $OTA_DIR/ramdisk_sys + mkdir -p $OTA_DIR/ramdisk_sys + + local recovery_img_source="boot_initramfs.img" + local recovery_img_dest="boot_initramfs.img" + if grep -q CONFIG_SUNXI_BOOT_IMAGE_NAME_SUFFIX_RECOVERY=y .config_ota; then + echo "have CONFIG_SUNXI_BOOT_IMAGE_NAME_SUFFIX_RECOVERY" + echo "use boot_initramfs_recovery.img" + recovery_img_source="boot_initramfs_recovery.img" + fi + + dd if=$BIN_DIR/$recovery_img_source of=$OTA_DIR/ramdisk_sys/$recovery_img_dest + make_img_md5 $OTA_DIR/ramdisk_sys/$recovery_img_dest + +########################################################### + rm -rf $OTA_DIR/package_sys + mkdir -p $OTA_DIR/package_sys + + dd if=$OTA_DIR/ramdisk_sys/$recovery_img_dest of=$OTA_DIR/package_sys/recovery.img + make_img_md5 $OTA_DIR/package_sys/recovery.img + dd if=$OTA_DIR/target_sys/boot.img of=$OTA_DIR/package_sys/boot.img + make_img_md5 $OTA_DIR/package_sys/boot.img + dd if=$OTA_DIR/target_sys/rootfs.img of=$OTA_DIR/package_sys/rootfs.img + make_img_md5 $OTA_DIR/package_sys/rootfs.img + + dd if=$OTA_DIR/boot0_sys/boot0.img of=$OTA_DIR/package_sys/boot0.img + make_img_md5 $OTA_DIR/package_sys/boot0.img + dd if=$OTA_DIR/uboot_sys/uboot.img of=$OTA_DIR/package_sys/uboot.img + make_img_md5 $OTA_DIR/package_sys/uboot.img + if [ -f $BIN_DIR/image/bootlogo.fex ]; then + dd if=$BIN_DIR/image/bootlogo.fex of=$OTA_DIR/package_sys/bootlogo.img + make_img_md5 $OTA_DIR/package_sys/bootlogo.img + fi + + ota_tar="ota"$1".tar" + echo "#####${ota_tar}#####" + cd $OTA_DIR/package_sys/ && \ + tar -rvf ${ota_tar} boot.img && \ + tar -rvf ${ota_tar} boot.img.md5 && \ + tar -rvf ${ota_tar} rootfs.img && \ + tar -rvf ${ota_tar} rootfs.img.md5 && \ + tar -rvf ${ota_tar} recovery.img && \ + tar -rvf ${ota_tar} recovery.img.md5 && \ + tar -rvf ${ota_tar} boot0.img && \ + tar -rvf ${ota_tar} boot0.img.md5 && \ + tar -rvf ${ota_tar} uboot.img && \ + tar -rvf ${ota_tar} uboot.img.md5 && \ + if [ -f bootlogo.img ]; then + tar -rvf ${ota_tar} bootlogo.img + tar -rvf ${ota_tar} bootlogo.img.md5 + fi + \cd $T +############################################################## + + if [ $need_usr -eq 1 ];then + \cd $OTA_DIR && \ + tar -zcvf target_sys.tar.gz target_sys && \ + tar -zcvf ramdisk_sys.tar.gz ramdisk_sys && \ + tar -zcvf boot0_sys.tar.gz boot0_sys && \ + tar -zcvf uboot_sys.tar.gz uboot_sys && \ + tar -zcvf usr_sys.tar.gz usr_sys && \ + \cd $T + else + \cd $OTA_DIR && \ + tar -zcvf target_sys.tar.gz target_sys && \ + tar -zcvf ramdisk_sys.tar.gz ramdisk_sys && \ + tar -zcvf boot0_sys.tar.gz boot0_sys && \ + tar -zcvf uboot_sys.tar.gz uboot_sys && \ + \cd $T + fi + + if [ $make_ota_fail -ne 0 ];then + print_red "build ota package fail!" + else + print_green "build ota package finish!" + fi +} + +function make_ota_package_for_dual_app +{ + local T=$(gettop) + local BIN_DIR=$T/out/${TARGET_BOARD} + local OTA_DIR=$BIN_DIR/ota_dual_app + local make_fail=0 + local ota_package=app_ota.tar + mkdir -p "$OTA_DIR" + \cd "$OTA_DIR" + rm -f $ota_package $ota_package.md5 + target_list="$BIN_DIR/image/app.fex" + for i in $target_list; do + img=${i##*/} + if [ ! -f "$i" ]; then + print_red "$i not exsit!" + make_fail=1 + break + fi + dd if="$i" of="$img" bs=512 conv=sync + make_img_md5 "$img" + tar -rvf "$ota_package" "$img" + tar -rvf "$ota_package" "$img.md5" + done + if [ x$make_fail = x"1" ]; then + print_red "make fail" + rm -f $ota_package + else + make_img_md5 "$ota_package" + print_red "$OTA_DIR/$ota_package" + fi + \cd - > /dev/null +} + +function swupdate_init_key() { + T=$(gettop) + local password="swupdate" + local SWUPDATE_CONFIG_DIR="$T/target/allwinner/${TARGET_BOARD}/swupdate" + local BUSYBOX_BASEFILE_DIR="$T/target/allwinner/${TARGET_BOARD}/busybox-init-base-files" + local PROCD_BASEFILE_DIR="$T/target/allwinner/${TARGET_BOARD}/base-files" + local KEY_DIR="etc" + mkdir -p $SWUPDATE_CONFIG_DIR + \cd $SWUPDATE_CONFIG_DIR + echo "-------------------- init password --------------------" + if [ "$1" ] ; then + password="$1" + fi + echo "$password" > swupdate_priv.password + echo "-------------------- init priv key --------------------" + openssl genrsa -aes256 -passout file:swupdate_priv.password -out swupdate_priv.pem + echo "-------------------- init public key --------------------" + openssl rsa -in swupdate_priv.pem -passin file:swupdate_priv.password -out swupdate_public.pem -outform PEM -pubout + mkdir -p "$PROCD_BASEFILE_DIR/$KEY_DIR" + cp swupdate_public.pem "$PROCD_BASEFILE_DIR/$KEY_DIR" + mkdir -p "$BUSYBOX_BASEFILE_DIR/$KEY_DIR" + cp swupdate_public.pem "$BUSYBOX_BASEFILE_DIR/$KEY_DIR" + echo "-------------------- out files --------------------" + echo "password:$(pwd)/swupdate_priv.password" + echo "private key:$(pwd)/swupdate_priv.pem" + echo "public key:$(pwd)/swupdate_public.pem" + echo "public key:$PROCD_BASEFILE_DIR/$KEY_DIR/swupdate_public.pem" + echo "public key:$BUSYBOX_BASEFILE_DIR/$KEY_DIR/swupdate_public.pem" + + \cd - +} + +function make_recovery_img() { + + T=$(gettop) + \cd $T + local recovery_img_config="$T/target/allwinner/${TARGET_BOARD}/defconfig_ota" + + #do some check + if grep -q CONFIG_SUNXI_BOOT_IMAGE_NAME_SUFFIX_RECOVERY=y "$recovery_img_config"; then + echo "have CONFIG_SUNXI_BOOT_IMAGE_NAME_SUFFIX_RECOVERY" + else + print_red "warning: no CONFIG_SUNXI_BOOT_IMAGE_NAME_SUFFIX_RECOVERY" + echo -e "make ota_menuconfig" + echo -e "\t---> Target Images" + echo -e "\t\t---> [*] customize image name" + echo -e "\t\t\t---> Boot Image(kernel) name suffix (boot_recovery.img/boot_initramfs_recovery.img)" + fi + if grep -q CONFIG_TARGET_ROOTFS_INITRAMFS=y "$recovery_img_config"; then + echo "have CONFIG_TARGET_ROOTFS_INITRAMFS" + else + print_red "warning: no CONFIG_TARGET_ROOTFS_INITRAMFS" + echo -e "make ota_menuconfig" + echo -e "\t---> Target Images" + echo -e "\t\t---> [*] ramdisk" + echo -e "\t\t\t---> Compression (xz)" + fi + + #call make + make V=s -j16 TARGET_CONFIG="$recovery_img_config" + if [ $? -ne 0 ]; then + print_red "make recovery img fail!" + fi + \cd - > /dev/null + +} + + +function swupdate_make_recovery_img() { + make_recovery_img "$@" +} + +function swupdate_pack_swu() { + + T=$(gettop) + \cd $T + local BIN_DIR=$T/out/${TARGET_BOARD} + local SWU_DIR=$BIN_DIR/swupdate + local SWUPDATE_CONFIG_DIR="$T/target/allwinner/${TARGET_BOARD}/swupdate" + local SWUPDATE_COMMON_CONFIG_DIR="$T/target/allwinner/${TARGET_COMMON}/swupdate" + local SWUPDATE_GENERIC_CONFIG_DIR="$T/target/allwinner/generic/swupdate" + mkdir -p $SWUPDATE_CONFIG_DIR + local TARGET_COMMON="$(awk -F "-" '{print $1}' <<< ${TARGET_BOARD})-common" + local CFG="sw-subimgs$1.cfg" + mkdir -p "$SWU_DIR" + local storage_type_nor=0 + local f="$T/device/config/chips/${TARGET_PLATFORM}/configs/${TARGET_PLAN}/sys_config.fex" + local B="$( awk -F"=" '/^storage_type/{print $2}' $f | sed 's/^[ \t]*//g' )" + case $B in + -1) + print_red "###storage type error###" + print_red "###cannot choose boot0, please config storage_type in sys_config ###" + ;; + *0 | *5) + local boot0_img=boot0_nand.fex + ;; + *1 | *2 | *4) + local boot0_img=boot0_sdcard.fex + ;; + 3) + local boot0_img=boot0_spinor.fex + storage_type_nor=1 + ;; + *) + print_red "###storage type error###" + print_red "###cannot choose boot0, please config storage_type in sys_config ###" + ;; + esac + [ -n "$boot0_img" ] && { + rm -rf $BIN_DIR/boot0.img + dd if=$BIN_DIR/image/$boot0_img of=$BIN_DIR/boot0.img + } + local U="$(get_uboot)" + if [[ "$U" =~ "2011" ]]; then + local uboot_img=u-boot.fex + else + if [ x"$storage_type_nor" = x"1" ]; then + local uboot_img=boot_package_nor.fex + else + local uboot_img=boot_package.fex + fi + fi + rm -rf $BIN_DIR/uboot.img + dd if=$BIN_DIR/image/$uboot_img of=$BIN_DIR/uboot.img + + if [ -e $SWUPDATE_CONFIG_DIR/$CFG ]; then + local SWUPDATE_SUBIMGS="$SWUPDATE_CONFIG_DIR/$CFG" + elif [ -e $SWUPDATE_COMMON_CONFIG_DIR/$CFG ]; then + local SWUPDATE_SUBIMGS="$SWUPDATE_COMMON_CONFIG_DIR/$CFG" + else + local SWUPDATE_SUBIMGS="$SWUPDATE_GENERIC_CONFIG_DIR/$CFG" + fi + + unset swota_file_list + unset swota_copy_file_list + + echo "####$SWUPDATE_SUBIMGS####" + . $SWUPDATE_SUBIMGS + + echo ${swota_file_list[@]} | sed 's/ /\n/g' + echo ${swota_copy_file_list[@]} | sed 's/ /\n/g' + + [ ! -f "$SWUPDATE_SUBIMGS" ] && print_red "$SWUPDATE_SUBIMGS not exist!!" && return 1 + + echo "-------------------- config --------------------" + echo "subimgs config by: $SWUPDATE_SUBIMGS" + echo "out dir: $SWU_DIR" + + echo "-------------------- do copy --------------------" + cp "$SWUPDATE_SUBIMGS" "$SWU_DIR" + rm -f "$SWU_DIR/sw-subimgs-fix.cfg" + + # files pack into swu + for line in ${swota_file_list[@]} ; do + ori_file=$(echo $line | awk -F: '{print $1}') + base_name=$(basename "$line") + fix_name=${base_name#*:} + [ ! -f "$ori_file" ] && print_red "$ori_file not exist!!" && return 1 + cp $ori_file $SWU_DIR/$fix_name + echo $fix_name >> "$SWU_DIR/sw-subimgs-fix.cfg" + done + + # files only copy but not pack into swu + for line in ${swota_copy_file_list[@]} ; do + ori_file=$(echo $line | awk -F: '{print $1}') + base_name=$(basename "$line") + fix_name=${base_name#*:} + [ ! -f "$ori_file" ] && print_red "$ori_file not exist!!" && return 1 + cp $ori_file $SWU_DIR/$fix_name + echo $fix_name >> "$SWU_DIR/sw-subimgs-copy.cfg" + done + \cd - > /dev/null + \cd "$SWU_DIR" + + echo "-------------------- do sha256 --------------------" + cp sw-description sw-description.bk + [ -f $SWU_DIR/sw-subimgs-fix.cfg ] && { + while IFS= read -r line + do + item="$line" + if grep -q -E "sha256 = \"@$item\"" sw-description ; then + echo "sha256 $item" + item_hash=$(sha256sum "$item" | awk '{print $1}') + item_size=$(du -b "$item" | awk '{print $1}') + sed -i "s/\(.*\)\(sha256 = \"@$item\"\)/\1sha256 = \"$item_hash\"/g" sw-description + sed -i "s/\(.*\)\(size = \"@$item\"\)/\1size = \"$item_size\"/g" sw-description + fi + done < "$SWU_DIR/sw-subimgs-fix.cfg" + } + + [ -f $SWU_DIR/sw-subimgs-copy.cfg ] && { + while IFS= read -r line + do + item="$line" + if grep -q -E "sha256 = \"@$item\"" sw-description ; then + echo "sha256 $item" + item_hash=$(sha256sum "$item" | awk '{print $1}') + item_size=$(du -b "$item" | awk '{print $1}') + sed -i "s/\(.*\)\(sha256 = \"@$item\"\)/\1sha256 = \"$item_hash\"/g" sw-description + sed -i "s/\(.*\)\(size = \"@$item\"\)/\1size = \"$item_size\"/g" sw-description + fi + done < "$SWU_DIR/sw-subimgs-copy.cfg" + } + + diff sw-description.bk sw-description + + echo "-------------------- do sign --------------------" + + local swupdate_need_sign="" + grep "CONFIG_SWUPDATE_CONFIG_SIGNED_IMAGES=y" "$T/target/allwinner/${TARGET_BOARD}/defconfig" && { + swupdate_need_sign=1 + echo "need do sign" + } + + local swupdate_sign_method="" + local password_para="" + #for rsa + local priv_key_file="$SWUPDATE_CONFIG_DIR/swupdate_priv.pem" + local password_file="$SWUPDATE_CONFIG_DIR/swupdate_priv.password" + #for cms + local cert_cert_file="$SWUPDATE_CONFIG_DIR/swupdate_cert.cert.pem" + local cert_key_file="$SWUPDATE_CONFIG_DIR/swupdate_cert.key.pem" + + [ x$swupdate_need_sign = x"1" ] && { + echo "add sw-description.sig to sw-subimgs-fix.cfg" + sed '1 asw-description.sig' -i sw-subimgs-fix.cfg + grep "CONFIG_SWUPDATE_CONFIG_SIGALG_RAWRSA=y" "$T/target/allwinner/${TARGET_BOARD}/defconfig" && swupdate_sign_method="RSA" + grep "CONFIG_SWUPDATE_CONFIG_SIGALG_CMS=y" "$T/target/allwinner/${TARGET_BOARD}/defconfig" && swupdate_sign_method="CMS" + [ -e "$password_file" ] && { + echo "password file exist" + password_para="-passin file:$password_file" + } + + if [ x"$swupdate_sign_method" = x"RSA" ]; then + echo "generate sw-description.sig with rsa" + openssl dgst -sha256 -sign "$priv_key_file" $password_para "$SWU_DIR/sw-description" > "$SWU_DIR/sw-description.sig" + elif [ x"$swupdate_sign_method" = x"CMS" ]; then + echo "generate sw-description.sig with cms" + openssl cms -sign -in "$SWU_DIR/sw-description" -out "$SWU_DIR/sw-description.sig" -signer "$cert_cert_file" \ + -inkey "$cert_key_file" -outform DER -nosmimecap -binary + fi + } + + echo "-------------------- do md5sum --------------------" + local md5_file="cpio_item_md5" + rm -f $md5_file + while IFS= read -r line + do + md5sum "$line" >> $md5_file + done < "$SWU_DIR/sw-subimgs-fix.cfg" + echo "$md5_file" >> sw-subimgs-fix.cfg + cat $md5_file + + echo "-------------------- do cpio --------------------" + while IFS= read -r line + do + echo "$line" + done < "$SWU_DIR/sw-subimgs-fix.cfg" | cpio -ov -H crc > "$SWU_DIR/tina-${TARGET_BOARD}$1.swu" + + echo "-------------------- out file in --------------------" + echo "" + print_red "$SWU_DIR/tina-${TARGET_BOARD}$1.swu" + du -sh "$SWU_DIR/tina-${TARGET_BOARD}$1.swu" + echo "" + + \cd - > /dev/null +} + +function swupdate_make_delta() +{ + [ $# -lt 2 ] && print_red "usage:swupdate_make_delta base_swu new_swu [output_dir]" && return 1 + + local BIN_DIR=$T/out/${TARGET_BOARD} + local SWU_DIR=$BIN_DIR/swupdate + local base_swu=$(readlink -f "$1") + local new_swu=$(readlink -f "$2") + local delta_dir="$SWU_DIR/swupdate_delta" + [ -n "$3" ] && delta_dir="$3/swupdate_delta" + + echo "base_swu : $base_swu" + echo "new_swu : $new_swu" + echo "delta_dir : $delta_dir" + + rm -rf "$delta_dir" + mkdir -p "$delta_dir/base" + mkdir -p "$delta_dir/base_sig" + mkdir -p "$delta_dir/new" + mkdir -p "$delta_dir/delta" + + local md5_file="cpio_item_md5" + local check="" + + cd "$delta_dir/base" + cpio -idmv < "$base_swu" + check=$(md5sum --quiet -c $md5_file) + [ x"$check" = x"" ] || { + print_red "check md5 fail" + md5sum -c $md5_file + cd - + return 1 + } + cd - + + cd "$delta_dir/new" + cpio -idmv < "$new_swu" + check=$(md5sum --quiet -c $md5_file) + [ x"$check" = x"" ] || { + print_red "check md5 fail" + md5sum -c $md5_file + cd - + return 1 + } + cd - + + #uncompress *.gz before make delta + for file in "$delta_dir"/base/*; do + local filename=$(basename "$file") + local basefile=$delta_dir/base/$filename + local newfile=$delta_dir/new/$filename + if [ x${filename##*.} = x"gz" ]; then + echo "unzip $basefile" + gzip -d $basefile + echo "unzip $newfile" + gzip -d $newfile + fi + if [ x${filename##*.} = x"zst" ]; then + echo "unzstd $basefile" + zstd -d $basefile + echo "unzstd $newfile" + zstd -d $newfile + fi + done + + for file in "$delta_dir"/base/*; do + local filename=$(basename "$file") + local basefile=$delta_dir/base/$filename + local newfile=$delta_dir/new/$filename + local sigfile=$delta_dir/base_sig/$filename.rdiff.sig + local deltafile=$delta_dir/delta/$filename.rdiff.delta + + if [ -f "$basefile" ]; then + $T/out/host/bin/rdiff signature "$basefile" "$sigfile" + [ -e "$newfile" ] && { + echo "prepare $deltafile" + $T/out/host/bin/rdiff delta "$sigfile" "$newfile" "$deltafile" + } + fi + done + ll -h "$delta_dir/delta/" +} + +function make_swupdate_img() +{ + swupdate_pack_swu "$@" +} + +function print_red(){ + echo -e '\033[0;31;1m' + echo $1 + echo -e '\033[0m' +} + +function print_green(){ + echo -e '\033[0;32;1m' + echo $1 + echo -e '\033[0m' +} + +function ota_general_keys() +{ + local target_dir=$1 + local key_name=OTA_Key.pem + + [ $# -lt 1 ] && echo "usage:ota_general_keys key_dir" && return 1 + rm -f "$target_dir"/*.pem + #this is for test, finally we should manage ota key with other keys + #general key + openssl genrsa -out "$target_dir"/OTA_Key.pem -f4 2048 + #get public key + openssl rsa -in "$target_dir"/OTA_Key.pem -pubout -out "$target_dir"/OTA_Key_pub.pem + ls -ll "$target_dir" + echo "done! please keep the key safe!" +} + +function ota_sign_files() +{ + local target_dir=$1 + local key_dir=$2 + local key_name=OTA_Key.pem + [ ! -n "$3" ] && key_name=$3 + [ $# -lt 2 ] && echo "usage:ota_sign_files files_dir key_dir [key_name]" && return 1 + target_list="boot.img rootfs.img recovery.img boot_package.img boot0_nand.img boot0_sdcard.img" + rm -f "$patch_dir"/*.signature + for i in $target_list; do + [ ! -f "$target_dir"/"$i" ] && print_red "$target_dir/$i is not exist!" + echo "do signature for $target_dir/$i" + openssl dgst -sha256 -out "$target_dir"/"$i.signature" -sign "$key_dir"/"$key_name" "$target_dir"/"$i" + done + ls -ll "$target_dir" +} + +function ota_general_patchs() +{ + local old_file_dir="$1/ota/package_sys" + local new_file_dir="$2/ota/package_sys" + local patch_dir=$3 + local target_list="recovery.img boot.img rootfs.img " + + [ $# -lt 3 ] && echo "usage:ota_general_patchs old_file_dir new_file_dir patch_dir" && return 1 + + rm -rf "$patch_dir"/*.patch "$patch_dir"/*.md5 + + for i in $target_list; do + [ ! -f "$old_file_dir"/"$i" ] && print_red "$old_file_dir/$i is not exist!" + [ ! -f "$new_file_dir"/"$i" ] && print_red "$new_file_dir/$i is not exist!" + echo "Generating patch for $i" + bsdiff "$old_file_dir"/"$i" "$new_file_dir"/"$i" "$patch_dir"/"$i.patch" + cp "$new_file_dir"/"$i.md5" "$patch_dir"/"$i.md5" + done + + ls -ll "$patch_dir" + + print_green "Generate patch finished!!!" +} + +function make_ramfs() { + local T=$(gettop) + local make_ramfs_fail=0 + + local ramfs_img_config="$T/target/allwinner/${TARGET_BOARD}/defconfig_ramfs" + + print_red "build ramfs img" + + #call make + make V=s -j16 TARGET_CONFIG="$ramfs_img_config" + if [ $? -ne 0 ]; then + print_red "make ramfs img fail!" + make_ramfs_fail=1 + fi + + if [ $make_ramfs_fail -ne 0 ];then + print_red "build ramfs fail!" + else + print_red "build ramfs finish!" + print_red "cp $T/out/${TARGET_BOARD}/compile_dir/target/rootfs to $T/out/${TARGET_BOARD}/compile_dir/target/rootfs_ramfs" + rm -rf "$T/out/${TARGET_BOARD}/compile_dir/target/rootfs_ramfs" + cp -fpr "$T/out/${TARGET_BOARD}/compile_dir/target/rootfs" "$T/out/${TARGET_BOARD}/compile_dir/target/rootfs_ramfs" + du -sh "$T/out/${TARGET_BOARD}/compile_dir/target/rootfs_ramfs" + fi + + \cd "$T/out/${TARGET_BOARD}/compile_dir/target/" + ramfs_cpio=rootfs_ramfs.cpio.none + #ramfs_cpio=rootfs_ramfs.cpio.gz + #ramfs_cpio=rootfs_ramfs.cpio.xz + rm -f ${ramfs_cpio} + ln -s rootfs_ramfs skel + ../../../../scripts/build_rootfs.sh c ${ramfs_cpio} + mv ${ramfs_cpio} "$T/target/allwinner/${TARGET_BOARD}/" + \cd "$T" + du -sh "$T/target/allwinner/${TARGET_BOARD}/${ramfs_cpio}" +} + +get_uart_debug_port() +{ + local f="$T/device/config/chips/${TARGET_PLATFORM}/configs/${TARGET_PLAN}/sys_config.fex" + local key_name="uart_debug_port" + local count=`cat $f | grep "$key_name" -c` + local uart_port=0 + + while true + do + if [ $count = 0 ]; then + break; + fi + str=`cat $f |grep "$key_name" |awk 'NR=='$count` + count=$(($count-1)) + if [ "x${str:0:1}" = "x;" ]; then + continue; + fi + uart_port=`echo $str |tr -d ' '|awk -F "=" '{print $2}'` + done + echo "uart$uart_port" +} + +pack_usage() +{ + printf "Usage: pack [-cCHIP] [-pPLATFORM] [-bBOARD] [-d] [-s] [-m] [-w] [-i] [-h] + -c CHIP (default: $chip) + -p PLATFORM (default: $platform) + -b BOARD (default: $board) + -d pack firmware with debug info output to card0 + -s pack firmware with signature + -m pack dump firmware + -w pack programmer firmware + -i pack sys_partition.fex downloadfile img.tar.gz + -h print this help message +" +} + +function pack() { + local T=$(gettop) + local chip=sun5i + local platform=$(get_build_var TARGET_BUILD_VARIANT) + local board_platform=$(get_build_var TARGET_BOARD_PLATFORM) + local board=$(get_build_var TARGET_BOARD) + local debug=$(get_uart_debug_port) + local sigmode=none + local securemode=none + local mode=normal + local programmer=none + local tar_image=none + unset OPTIND + while getopts "dsvmwih" arg + do + case $arg in + d) + debug=card0 + ;; + s) + sigmode=secure + ;; + v) + securemode=secure + ;; + m) + mode=dump + ;; + w) + programmer=programmer + ;; + i) + tar_image=tar_image + ;; + h) + pack_usage + return 0 + ;; + ?) + return 1 + ;; + esac + done + + check_parameters + [ "$?" -eq 1 ] && return + + $T/scripts/pack_img.sh -c $chip -p $platform -b $board \ + -d $debug -s $sigmode -m $mode -w $programmer -v $securemode -i $tar_image -t $T + + independently_pack=$(grep "CONFIG_SUPPORT_PACK_OUT_OF_TINA=y" $T/.config) + if [ x"${independently_pack}" != x"" ]; then + $T/scripts/independently_pack/collect_files.sh + fi +} + +function createkeys() +{ + local T=$(gettop) + $T/scripts/createkeys -c ${TARGET_PLATFORM} +} + +function croot() +{ + T=$(gettop) + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + \cd $T +} + +function cboot() +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + [ -z "${TARGET_UBOOT}" ] && "Please lunch your combo firstly" && return + + if [ "${TARGET_UBOOT}" = "u-boot-2018" ]; then + \cd $(gettop)/lichee/brandy-2.0/${TARGET_UBOOT} + else + \cd $(gettop)/lichee/brandy/${TARGET_UBOOT} + fi +} + +function cboot0() +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + [ -z "${TARGET_UBOOT}" ] && "Please lunch your combo firstly" && return + + if [ "${TARGET_UBOOT}" = "u-boot-2014.07" ]; then + \cd $(gettop)/lichee/bootloader/uboot_2014_sunxi_spl/ + elif [ "${TARGET_UBOOT}" = "u-boot-2011.09" ]; then + \cd $(gettop)/lichee/bootloader/uboot_2011_sunxi_spl/ + elif [ "${TARGET_UBOOT}" = "u-boot-2018" ]; then + \cd $T/lichee/brandy-2.0/spl* + fi +} + +function copensbi() +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + + \cd $T/lichee/brandy-2.0/opensbi +} + +function cbin() +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + + local target_bin_dir="$T/device/config/chips/${TARGET_PLATFORM}/configs/${TARGET_PLAN}/bin" + local tina_bin_dir="$T/target/allwinner/${TARGET_BOARD%-*}-common/bin" + local longan_bin_dir="$T/device/config/chips/${TARGET_PLATFORM}/bin" + + [ -e $longan_bin_dir -a -e $tina_bin_dir ] || \ + [ -e $target_bin_dir -a -e $tina_bin_dir ] && { + print_red "warning: both longan and tina bin dir exist, default jump to longan" + print_red "tina: $tina_bin_dir" + } + + [ -e $longan_bin_dir -a -e $target_bin_dir ] && { + echo -e "\033[0;31;1mwarning: There are longan bin dir for both platform and target\033[0m" + echo -e "\033[0;31;1mplease input 1 or 2 to select a dir to enter:\033[0m" + echo "1.platform: $longan_bin_dir" + echo "2.target: $target_bin_dir" + local num + read num + if [ $num -eq 1 ]; then + \cd $longan_bin_dir && return + elif [ $num -eq 2 ]; then + \cd $target_bin_dir && return + else + print_red "Syntax error, please input '1' or '2'" && return + fi + } + + [ -e $longan_bin_dir ] && \cd $longan_bin_dir && return + [ -e $target_bin_dir ] && \cd $target_bin_dir && return + [ -e $tina_bin_dir ] && \cd $tina_bin_dir && return +} + +function cdts() +{ + local T=$(gettop) + local S= + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + local K="linux-${TARGET_KERNEL_VERSION}" + local A="${TINA_TARGET_ARCH}" + [ -z "$K" -o -z "$A" ] && "Please lunch your combo firstly" && return + [ "$A" = "aarch64" ] && { + S=sunxi + A=arm64 + } + [ "$A" = "riscv" ] && { + S=sunxi + A=riscv + } + + \cd $T/lichee/$K/arch/$A/boot/dts/$S +} + +function ckernel +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + + \cd $T/lichee/linux-${TARGET_KERNEL_VERSION}/ +} + +function carisc +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + + \cd $T/lichee/arisc/ar100s +} + + +function cgeneric +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + + \cd $T/target/allwinner/generic +} + +function callwinnerpk +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + [ -z "${TARGET_BOARD}" ] && "Please lunch your combo firstly" && return + + \cd $T/package/allwinner +} + +function ctinatest +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + [ -z "${TARGET_BOARD}" ] && "Please lunch your combo firstly" && return + + \cd $T/package/testtools/tinatest +} + +function cdevice +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + [ -z "${TARGET_BOARD}" ] && "Please lunch your combo firstly" && return + + \cd $T/target/allwinner/${TARGET_BOARD} +} + +function ccommon +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + [ -z "${TARGET_BOARD}" ] && "Please lunch your combo firstly" && return + + \cd $T/target/allwinner/${TARGET_PLATFORM}-common +} + +function cconfigs +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + [ -z "${TARGET_BOARD}" ] && "Please lunch your combo firstly" && return + + local tina_config_dir="$T/target/allwinner/${TARGET_BOARD}/configs" + local longan_config_dir="$T/device/config/chips/${TARGET_PLATFORM}/configs/${TARGET_BOARD#*-}/linux" + + [ -e $longan_config_dir -a -e $tina_config_dir ] && { + print_red "warning: both longan and tina configs dir exist" + print_red "tina: $tina_config_dir" + print_red "longan: $longan_config_dir" + } + + [ -e $tina_config_dir ] && \cd $tina_config_dir && return + [ -e $longan_config_dir ] && \cd $longan_config_dir && return +} + +function ctoolchain() +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + [ -z "${TARGET_BOARD}" ] && "Please lunch your combo firstly" && return + + local A=${TINA_TARGET_ARCH} + local C="$(awk -F\" '/CONFIG_LIBC=/{print $2}' \ + $T/target/allwinner/${TARGET_BOARD}/defconfig)" + + if [ "$TARGET_PLATFORM" = "r6" -o "$TARGET_PLATFORM" = "c200s" -o "$TARGET_PLATFORM" = "v133" -o "$TARGET_PLATFORM" = "c600" ]; then + C=arm9-$C + fi + + if [ "$A" = "riscv" ];then + \cd $T/prebuilt/gcc/linux-x86/$A/toolchain-thead-$C/riscv* + else + \cd $T/prebuilt/gcc/linux-x86/$A/toolchain-sunxi-$C/toolchain + fi +} + +function crootfs() +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + [ -z "${TARGET_BOARD}" ] && "Please lunch your combo firstly" && return + + \cd $T/out/${TARGET_BOARD}/compile_dir/target/rootfs +} + +function cout() +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + [ -z "${TARGET_BOARD}" ] && "Please lunch your combo firstly" && return + + \cd $T/out/${TARGET_BOARD} +} + +function cgrep() +{ + find . -name .repo -prune -o -name .git -prune -o -name out -prune -o -type f \( -name '*.c' -o -name '*.cc' -o -name '*.cpp' -o -name '*.h' \) -print0 | xargs -0 grep --color -n "$@" +} + +function mgrep() +{ + find . -name .repo -prune -o -name .git -prune -o -path ./out -prune -o \( -regextype posix-egrep -iregex '(.*\/Makefile|.*\/Makefile\..*|.*\.make|.*\.mak|.*\.mk|.*\.bp)' -o -regextype posix-extended -regex '(.*/)?soong/[^/]*.go' \) -type f \ + -exec grep --color -n "$@" {} + +} + + +function ctarget() +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + [ -z "${TARGET_BOARD}" ] && "Please lunch your combo firstly" && return + + \cd $T/out/${TARGET_BOARD}/compile_dir/target +} + +function add-rootfs-demo() +{ + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + cp -rf $(gettop)/package/add-rootfs-demo/* $(gettop)/out/${TARGET_BOARD}/compile_dir/target/rootfs + rm $(gettop)/out/${TARGET_BOARD}/compile_dir/target/rootfs/README + $(gettop)/out/host/bin/mksquashfs4 $(gettop)/out/${TARGET_BOARD}/compile_dir/target/rootfs \ + $(gettop)/out/${TARGET_BOARD}/root.squashfs -noappend -root-owned -comp xz -b 256k \ + -p '/dev d 755 0 0' -p '/dev/console c 600 0 0 5 1' -processors 1 + rm $(gettop)/out/${TARGET_BOARD}/rootfs.img + dd if=$(gettop)/out/${TARGET_BOARD}/root.squashfs of=$(gettop)/out/${TARGET_BOARD}/rootfs.img bs=128k conv=sync +} + +function prepare_buildserver() +{ + $T/tools/build/buildserver --path $T 2>/dev/null 1>&2 & +} + +function clbuildserver() +{ + lsof $T/tools/build/buildserver 2> /dev/null | grep -q buildserver + if [ $? -eq 0 ]; then + echo "clean buildserver" + lsof $T/tools/build/buildserver 2> /dev/null | grep buildserver | awk '{ print $2}' | xargs kill -9 + else + echo "no buildserver to clean" + fi +} + +function mkrootfs_squashfs4() +{ + kernelfs_formate=`grep CONFIG_SQUASHFS=y $(gettop)/lichee/*/.config | cut -d ":" -f 2` + echo -e "\033[31m$kernelfs_formate\033[0m" + if [ -z $kernelfs_formate ];then + echo -e "\033[31m run -make kernel_menuconfig- choice "squashfs" first!\033[0m" + else + compression=`grep ^CONFIG_KERNEL.*y$ $(gettop)/.config | awk 'NR==1{print}' | sed -r 's/.*_(.*)=.*/\1/' | tr '[A-Z]' '[a-z]'` + if [ -n "$compression" ];then + $(gettop)/out/host/bin/mksquashfs4 $(gettop)/out/${TARGET_BOARD}/compile_dir/target/rootfs $(gettop)/out/${TARGET_BOARD}/root.squashfs \ + -noappend -root-owned -comp $compression -b 256k -p '/dev d 755 0 0' -p '/dev/console c 600 0 0 5 1' -processors 1 + else + $(gettop)/out/host/bin/mksquashfs4 $(gettop)/out/${TARGET_BOARD}/compile_dir/target/rootfs $(gettop)/out/${TARGET_BOARD}/root.squashfs \ + -noappend -root-owned -comp xz -b 256k -p '/dev d 755 0 0' -p '/dev/console c 600 0 0 5 1' -processors 1 + fi + rm $(gettop)/out/${TARGET_BOARD}/rootfs.img + dd if=$(gettop)/out/${TARGET_BOARD}/root.squashfs of=$(gettop)/out/${TARGET_BOARD}/rootfs.img bs=128k conv=sync + fi +} + +function mkrootfs_ext4() +{ + kernelfs_formate=`grep CONFIG_EXT4_FS=y $(gettop)/lichee/*/.config | cut -d ":" -f 2` + echo -e "\033[31m $kernelfs_formate\033[0m" + if [ -z $kernelfs_formate ];then + echo -e "\033[31m run -make kernel_menuconfig- choice "ext4fs" first!\033[0m" + else + $(gettop)/out/host/bin/make_ext4fs -l 50331648 -b 4096 -i 6000 -m 0 -J $(gettop)/out/${TARGET_BOARD}/root.ext4 $(gettop)/out/${TARGET_BOARD}/compile_dir/target/rootfs + rm $(gettop)/out/${TARGET_BOARD}/rootfs.img + dd if=$(gettop)/out/${TARGET_BOARD}/root.ext4 of=$(gettop)/out/${TARGET_BOARD}/rootfs.img bs=128k conv=sync + fi +} + +function mkrootfs_jffs2() +{ + kernelfs_formate=`grep CONFIG_JFFS2_FS=y $(gettop)/lichee/*/.config | cut -d ":" -f 2` + echo -e "\033[31m$kernelfs_formate\033[0m" + if [ -z $kernelfs_formate ];then + echo -e "\033[31m run -make kernel_menuconfig- choice "jffs2fs" first!\033[0m" + else + $(gettop)/out/host/bin/mkfs.jffs2 --little-endian --squash-uids -v -X rtime -x zlib -x lzma -D $(gettop)/build/device_table.txt \ + -e 128KiB -o $(gettop)/out/${TARGET_BOARD}/root.jffs2-128k -d $(gettop)/out/${TARGET_BOARD}/compile_dir/target/rootfs \ + -v 2>&1 1>/dev/null | awk '/^.+$/' + rm $(gettop)/out/${TARGET_BOARD}/rootfs.img + dd if=$(gettop)/out/${TARGET_BOARD}/root.jffs2-128k of=$(gettop)/out/${TARGET_BOARD}/rootfs.img bs=128k conv=sync + fi +} + +function recomp_rootfs() +{ + T=$(gettop) + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + + file_formate=`grep ^CONFIG_TARGET_ROOTFS.*y $(gettop)/.config | cut -d "_" -f 4 | grep "=" | sed -r 's/(.*)=.*/\1/'` + echo -e "\033[31m $file_formate\033[0m" + if [ -z $file_formate ];then + echo -e "\033[31m run -make menuconfig- choice fs_formate of target images!\033[0m" + else + [ x$file_formate = x"SQUASHFS" ] && mkrootfs_squashfs4 + [ x$file_formate = x"EXT4FS" ] && mkrootfs_ext4 + [ x$file_formate = x"JFFS2" ] && mkrootfs_jffs2 + fi +} + +function tina_update_all_config() +{ + T=$(gettop) + local T=$(gettop) + [ -z "$T" ] \ + && echo "Couldn't locate the top of the tree. Try setting TOP." \ + && return + + filter=$1 + + time=$(date "+%Y%m%d-%H%M%S") + echo "${time}" + for platform in $(ls $T/target/allwinner/) + do + if [[ $platform =~ $filter ]]; then + [ -e $T/target/allwinner/$platform/BoardConfig.mk ] && { + # echo ${platform//-/_}-tina + lunch ${platform//-/_}-tina + make oldconfig + } + fi + done + time=$(date "+%Y%m%d-%H%M%S") + echo "${time}" +} + +function godir () +{ + if [[ -z "$1" ]]; then + echo "Usage: godir " + return + fi + local T=$(gettop) + if [[ ! -f $T/filelist ]]; then + echo -n "Creating index..." + (\cd $T; find . -wholename ./out -prune -o -wholename ./.repo -prune -o -type f > filelist) + echo " Done" + echo "" + fi + local lines + lines=($(\grep "$1" $T/filelist | sed -e 's/\/[^/]*$//' | sort | uniq)) + if [[ ${#lines[@]} = 0 ]]; then + echo "Not found" + return + fi + local pathname + local choice + if [[ ${#lines[@]} > 1 ]]; then + while [[ -z "$pathname" ]]; do + local index=1 + local line + for line in ${lines[@]}; do + printf "%6s %s\n" "[$index]" $line + index=$(($index + 1)) + done + echo + echo -n "Select one: " + unset choice + read choice + if [[ $choice -gt ${#lines[@]} || $choice -lt 1 ]]; then + echo "Invalid choice" + continue + fi + pathname=${lines[$(($choice-1))]} + done + else + pathname=${lines[0]} + fi + \cd $T/$pathname +} + +function get_newest_file() +{ + # find the newest file in $1 + find $1 -type f -and -not -path "*/.git*" -and -not -path ".*" -and -not -path "*:*" -and -not -path "*\!*" -and -not -path "* *" -and -not -path "*\#*" -and -not -path "*/.*_check" -and -not -path "*/.*.swp" -and -not -path "*/.newest-*.patch" -printf "%T@ %Tc %p\n" | sort -n | tail -n 1 +} + +function make() +{ + local T=$(gettop) + local start_time=$(date +"%s") + + if [[ x"$@" = x"" ]] || [[ "$@" =~ "-j" ]] ; then + prepare_buildserver + elif [[ x"$@" = x"clean" ]] || [[ x"$@" = x"distclean" ]]; then + clbuildserver + fi + + command make V=s "$@" + + local ret=$? + local end_time=$(date +"%s") + local tdiff=$(($end_time-$start_time)) + local hours=$(($tdiff / 3600 )) + local mins=$((($tdiff % 3600) / 60)) + local secs=$(($tdiff % 60)) + + echo + if [ $ret -eq 0 ] ; then + echo -n -e "#### make completed successfully " + else + echo -n -e "#### make failed to build some targets " + fi + + if [ $hours -gt 0 ] ; then + printf "(%02g:%02g:%02g (hh:mm:ss))" $hours $mins $secs + elif [ $mins -gt 0 ] ; then + printf "(%02g:%02g (mm:ss))" $mins $secs + elif [ $secs -gt 0 ] ; then + printf "(%s seconds)" $secs + fi + echo -e " ####" + echo + + return $ret +} + +[ -e ./build/.hooks/expand_func ] && source ./build/.hooks/expand_func + +#### MAIN #### +envsetup diff --git a/build/feeds.mk b/build/feeds.mk new file mode 100644 index 0000000..4f71b39 --- /dev/null +++ b/build/feeds.mk @@ -0,0 +1,39 @@ +# +# Copyright (C) 2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +-include $(TMP_DIR)/.packagesubdirs + +FEEDS_AVAILABLE:=$(shell $(SCRIPT_DIR)/feeds list -n) +FEEDS_INSTALLED:=$(notdir $(wildcard $(TOPDIR)/package/feeds/*)) +FEEDS_ENABLED:=$(foreach feed,$(FEEDS_INSTALLED),$(if $(CONFIG_FEED_$(feed)),$(feed))) +FEEDS_DISABLED:=$(filter-out $(FEEDS_ENABLED),$(FEEDS_AVAILABLE)) + +PKG_CONFIG_DEPENDS += \ + CONFIG_PER_FEED_REPO \ + CONFIG_PER_FEED_REPO_ADD_DISABLED \ + CONFIG_PER_FEED_REPO_ADD_COMMENTED \ + $(foreach feed,$(FEEDS_INSTALLED),CONFIG_FEED_$(feed)) + +# 1: package name +define FeedPackageDir +$(strip $(if $(CONFIG_PER_FEED_REPO), \ + $(abspath $(PACKAGE_DIR)/$(if $(Package/$(1)/subdir),$(Package/$(1)/subdir),base)), \ + $(PACKAGE_DIR))) +endef + +# 1: destination file +define FeedSourcesAppend +( \ + $(strip $(if $(CONFIG_PER_FEED_REPO), \ + $(foreach feed,base kernel $(FEEDS_ENABLED),echo "src/gz %n_$(feed) %U/$(feed)";) \ + $(if $(CONFIG_PER_FEED_REPO_ADD_DISABLED), \ + $(foreach feed,$(FEEDS_DISABLED),echo "$(if $(CONFIG_PER_FEED_REPO_ADD_COMMENTED),# )src/gz %n_$(feed) %U/$(feed)";)) \ + , \ + echo "src/gz %n %U"; \ + )) \ +) >> $(1) +endef diff --git a/build/hardened-ld-pie.specs b/build/hardened-ld-pie.specs new file mode 100644 index 0000000..7317b19 --- /dev/null +++ b/build/hardened-ld-pie.specs @@ -0,0 +1,2 @@ +*self_spec: ++ %{no-pie|static|r|shared:;:-pie} diff --git a/build/hardening.mk b/build/hardening.mk new file mode 100644 index 0000000..0c9d1a8 --- /dev/null +++ b/build/hardening.mk @@ -0,0 +1,62 @@ +# +# Copyright (C) 2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +PKG_CHECK_FORMAT_SECURITY ?= 1 +PKG_ASLR_PIE ?= 1 +PKG_SSP ?= 1 +PKG_FORTIFY_SOURCE ?= 1 +PKG_RELRO ?= 1 + +ifdef CONFIG_PKG_CHECK_FORMAT_SECURITY + ifeq ($(strip $(PKG_CHECK_FORMAT_SECURITY)),1) + TARGET_CFLAGS += -Wformat -Werror=format-security + endif +endif +ifdef CONFIG_PKG_ASLR_PIE + ifeq ($(strip $(PKG_ASLR_PIE)),1) + TARGET_CFLAGS += -fPIC + TARGET_LDFLAGS += -specs=$(BUILD_DIR)/hardened-ld-pie.specs + endif +endif +ifdef CONFIG_PKG_CC_STACKPROTECTOR_REGULAR + ifeq ($(strip $(PKG_SSP)),1) + TARGET_CFLAGS += -fstack-protector + endif +endif +ifdef CONFIG_PKG_CC_STACKPROTECTOR_STRONG + ifeq ($(strip $(PKG_SSP)),1) + TARGET_CFLAGS += -fstack-protector-strong + endif +endif +ifdef CONFIG_PKG_CC_STACKPROTECTOR_ALL + ifeq ($(strip $(PKG_SSP)),1) + TARGET_CFLAGS += -fstack-protector-all + endif +endif +ifdef CONFIG_PKG_FORTIFY_SOURCE_1 + ifeq ($(strip $(PKG_FORTIFY_SOURCE)),1) + TARGET_CFLAGS += -D_FORTIFY_SOURCE=1 + endif +endif +ifdef CONFIG_PKG_FORTIFY_SOURCE_2 + ifeq ($(strip $(PKG_FORTIFY_SOURCE)),1) + TARGET_CFLAGS += -D_FORTIFY_SOURCE=2 + endif +endif +ifdef CONFIG_PKG_RELRO_PARTIAL + ifeq ($(strip $(PKG_RELRO)),1) + TARGET_CFLAGS += -Wl,-z,relro + TARGET_LDFLAGS += -zrelro + endif +endif +ifdef CONFIG_PKG_RELRO_FULL + ifeq ($(strip $(PKG_RELRO)),1) + TARGET_CFLAGS += -Wl,-z,now -Wl,-z,relro + TARGET_LDFLAGS += -znow -zrelro + endif +endif + diff --git a/build/host-build.mk b/build/host-build.mk new file mode 100644 index 0000000..1c6ce9b --- /dev/null +++ b/build/host-build.mk @@ -0,0 +1,208 @@ +# +# Copyright (C) 2006-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +HOST_BUILD_DIR ?= $(COMPILE_DIR_HOST)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION)) +HOST_INSTALL_DIR ?= $(HOST_BUILD_DIR)/host-install +HOST_BUILD_PARALLEL ?= + +ifneq ($(CONFIG_PKG_BUILD_USE_JOBSERVER),) + HOST_MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) -j) +else + HOST_MAKE_J:=-j$(CONFIG_PKG_BUILD_JOBS) +endif + +ifeq ($(strip $(HOST_BUILD_PARALLEL)),0) +HOST_JOBS?=-j1 +else +HOST_JOBS?=$(if $(HOST_BUILD_PARALLEL)$(CONFIG_PKG_DEFAULT_PARALLEL),\ + $(if $(CONFIG_PKG_BUILD_PARALLEL),$(HOST_MAKE_J),-j1),-j1) +endif + +include $(BUILD_DIR)/host.mk +include $(BUILD_DIR)/unpack.mk +include $(BUILD_DIR)/depends.mk + +BUILD_TYPES += host +HOST_STAMP_PREPARED=$(HOST_BUILD_DIR)/.prepared$(if $(HOST_QUILT)$(DUMP),,$(shell $(call find_md5,${CURDIR} $(PKG_FILE_DEPENDS),))$(call confvar,$(HOST_PREPARED_DEPENDS))) +HOST_STAMP_CONFIGURED:=$(HOST_BUILD_DIR)/.configured +HOST_STAMP_BUILT:=$(HOST_BUILD_DIR)/.built +HOST_BUILD_PREFIX:=$(if $(IS_PACKAGE_BUILD),$(STAGING_DIR)/host,$(STAGING_DIR_HOST)) +HOST_STAMP_INSTALLED:=$(HOST_BUILD_PREFIX)/stamp/.$(PKG_NAME)_installed + +override MAKEFLAGS= + +include $(BUILD_DIR)/download.mk +include $(BUILD_DIR)/quilt.mk +include $(BUILD_DIR)/autotools.mk + +Host/Patch:=$(Host/Patch/Default) +ifneq ($(strip $(HOST_UNPACK)),) + define Host/Prepare/Default + $(HOST_UNPACK) + $(Host/Patch) + endef +endif + +define Host/Prepare + $(call Host/Prepare/Default) +endef + +ifeq ($(HOST_OS),Darwin) + HOST_CFLAGS += -I/usr/local/opt/openssl/include + HOST_LDFLAGS += -L/usr/local/opt/openssl/lib +endif + +HOST_CONFIGURE_VARS = \ + CC="$(HOSTCC)" \ + CFLAGS="$(HOST_CFLAGS)" \ + CPPFLAGS="$(HOST_CPPFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" \ + SHELL="$(SHELL)" + +HOST_CONFIGURE_ARGS = \ + --target=$(GNU_HOST_NAME) \ + --host=$(GNU_HOST_NAME) \ + --build=$(GNU_HOST_NAME) \ + --program-prefix="" \ + --program-suffix="" \ + --prefix=$(HOST_BUILD_PREFIX) \ + --exec-prefix=$(HOST_BUILD_PREFIX) \ + --sysconfdir=$(HOST_BUILD_PREFIX)/etc \ + --localstatedir=$(HOST_BUILD_PREFIX)/var \ + --sbindir=$(HOST_BUILD_PREFIX)/bin + +HOST_MAKE_FLAGS = + +HOST_CONFIGURE_CMD = $(BASH) ./configure + +define Host/Configure/Default + $(if $(HOST_CONFIGURE_PARALLEL),+)(cd $(HOST_BUILD_DIR)/$(3); \ + if [ -x configure ]; then \ + $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(HOST_BUILD_DIR)/$(3)/ && \ + $(2) \ + $(HOST_CONFIGURE_CMD) \ + $(HOST_CONFIGURE_VARS) \ + $(HOST_CONFIGURE_ARGS) \ + $(1); \ + fi \ + ) +endef + +define Host/Configure + $(call Host/Configure/Default) +endef + +define Host/Compile/Default + +$(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) \ + $(HOST_MAKE_FLAGS) \ + $(1) +endef + +define Host/Compile + $(call Host/Compile/Default) +endef + +define Host/Install/Default + $(_SINGLE)$(MAKE) -C $(HOST_BUILD_DIR) install +endef + +define Host/Install + $(call Host/Install/Default) +endef + + +ifneq ($(if $(HOST_QUILT),,$(CONFIG_AUTOREBUILD)),) + define HostHost/Autoclean + $(call rdep,${CURDIR} $(PKG_FILE_DEPENDS),$(HOST_STAMP_PREPARED)) + $(if $(if $(Host/Compile),$(filter prepare,$(MAKECMDGOALS)),1),,$(call rdep,$(HOST_BUILD_DIR),$(HOST_STAMP_BUILT))) + endef +endif + +define Download/default + FILE:=$(PKG_SOURCE) + URL:=$(PKG_SOURCE_URL) + PROTO:=$(PKG_SOURCE_PROTO) + SUBDIR:=$(PKG_SOURCE_SUBDIR) + VERSION:=$(PKG_SOURCE_VERSION) + MD5SUM:=$(PKG_MD5SUM) + MIRROR_MD5SUM:=$(PKG_MIRROR_MD5SUM) +endef + +define Host/Exports/Default + $(1) : export ACLOCAL_INCLUDE=$$(foreach p,$$(wildcard $$(STAGING_DIR_HOST)/share/aclocal $$(STAGING_DIR_HOST)/share/aclocal-* $(if $(IS_PACKAGE_BUILD),$$(STAGING_DIR_HOST)/share/aclocal $$(STAGING_DIR_HOST)/share/aclocal-*)),-I $$(p)) + $(1) : export STAGING_PREFIX=$$(HOST_BUILD_PREFIX) + $(1) : export PKG_CONFIG_PATH=$$(STAGING_DIR_HOST)/lib/pkgconfig:$$(HOST_BUILD_PREFIX)/lib/pkgconfig + $(1) : export PKG_CONFIG_LIBDIR=$$(HOST_BUILD_PREFIX)/lib/pkgconfig + $(1) : export CCACHE_DIR:=$(STAGING_DIR_HOST)/ccache + $(if $(IS_PACKAGE_BUILD),$(1) : export PATH=$$(TARGET_PATH_PKG)) +endef +Host/Exports=$(Host/Exports/Default) + +.NOTPARALLEL: + +ifndef DUMP + define HostBuild + $(if $(HOST_QUILT),$(Host/Quilt)) + $(if $(if $(PKG_HOST_ONLY),,$(STAMP_PREPARED)),,$(if $(strip $(PKG_SOURCE_URL)),$(call Download,default))) + $(if $(DUMP),,$(call HostHost/Autoclean)) + + $(HOST_STAMP_PREPARED): + @-rm -rf $(HOST_BUILD_DIR) + @mkdir -p $(HOST_BUILD_DIR) + $(foreach hook,$(Hooks/HostPrepare/Pre),$(call $(hook))$(sep)) + $(call Host/Prepare) + $(foreach hook,$(Hooks/HostPrepare/Post),$(call $(hook))$(sep)) + touch $$@ + + $(call Host/Exports,$(HOST_STAMP_CONFIGURED)) + $(HOST_STAMP_CONFIGURED): $(HOST_STAMP_PREPARED) + $(foreach hook,$(Hooks/HostConfigure/Pre),$(call $(hook))$(sep)) + $(call Host/Configure) + $(foreach hook,$(Hooks/HostConfigure/Post),$(call $(hook))$(sep)) + touch $$@ + + $(call Host/Exports,$(HOST_STAMP_BUILT)) + $(HOST_STAMP_BUILT): $(HOST_STAMP_CONFIGURED) + $(foreach hook,$(Hooks/HostCompile/Pre),$(call $(hook))$(sep)) + $(call Host/Compile) + $(foreach hook,$(Hooks/HostCompile/Post),$(call $(hook))$(sep)) + touch $$@ + + $(HOST_STAMP_INSTALLED): $(HOST_STAMP_BUILT) $(if $(FORCE_HOST_INSTALL),FORCE) + $(call Host/Install) + $(foreach hook,$(Hooks/HostInstall/Post),$(call $(hook))$(sep)) + mkdir -p $$(shell dirname $$@) + touch $(HOST_STAMP_BUILT) + touch $$@ + + ifndef STAMP_BUILT + prepare: host-prepare + compile: host-compile + install: host-install + clean: host-clean + update: host-update + refresh: host-refresh + endif + + host-prepare: $(HOST_STAMP_PREPARED) + host-configure: $(HOST_STAMP_CONFIGURED) + host-compile: $(HOST_STAMP_BUILT) $(if $(STAMP_BUILT),$(HOST_STAMP_INSTALLED)) + host-install: $(HOST_STAMP_INSTALLED) + host-clean: FORCE + $(call Host/Clean) + $(call Host/Uninstall) + rm -rf $(HOST_BUILD_DIR) $(HOST_STAMP_INSTALLED) $(HOST_STAMP_BUILT) + + endef + + download: + prepare: + compile: + install: + clean: + +endif diff --git a/build/host.mk b/build/host.mk new file mode 100755 index 0000000..b2277cc --- /dev/null +++ b/build/host.mk @@ -0,0 +1,55 @@ +# +# Copyright (C) 2007-2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /build/LICENSE for more information. +# +ifneq ($(__build/host.mk_inc),1) +__build/host.mk_inc=1 + +TMP_DIR ?= $(TOPDIR)/tmp +ifeq ($(if $(TARGET_BUILD),,$(DUMP)),) + -include $(TMP_DIR)/.host.mk +endif + +ifneq ($(__host_inc),1) +__host_inc:=1 + +export PATH:=$(TOPDIR)/out/host/bin:$(PATH) + +try-run = $(shell set -e; \ + TMP_F="$(TMP_DIR)/try-run.$$$$.tmp"; \ + if ($(1)) >/dev/null 2>&1; then echo "$(2)"; else echo "$(3)"; fi; \ + rm -f "$$TMP_F"; \ +) + +host-cc-option = $(call try-run, \ + $(HOSTCC) $(HOST_CFLAGS) $(1) -c -xc /dev/null -o "$$TMP_F",$(1),$(2) \ +) + +.PRECIOUS: $(TMP_DIR)/.host.mk +$(TMP_DIR)/.host.mk: $(TOPDIR)/build/host.mk + @mkdir -p $(TMP_DIR) + @( \ + HOST_OS=`uname`; \ + case "$$HOST_OS" in \ + Linux) HOST_ARCH=`uname -m`;; \ + Darwin) HOST_ARCH=`uname -m`;; \ + *) HOST_ARCH=`uname -p`;; \ + esac; \ + GNU_HOST_NAME=`gcc -dumpmachine`; \ + [ -z "$$GNU_HOST_NAME" -o "$$HOST_OS" = "Darwin" ] && \ + GNU_HOST_NAME=`$(TOPDIR)/scripts/config.guess`; \ + echo "HOST_OS:=$$HOST_OS" > $@; \ + echo "HOST_ARCH:=$$HOST_ARCH" >> $@; \ + echo "GNU_HOST_NAME:=$$GNU_HOST_NAME" >> $@; \ + if gfind -L /dev/null || find -L /dev/null; then \ + echo "FIND_L=find -L \$$(1)" >> $@; \ + else \ + echo "FIND_L=find \$$(1) -follow" >> $@; \ + fi \ + ) >/dev/null 2>/dev/null + +endif + +endif #__build/host.mk_inc diff --git a/build/image.mk b/build/image.mk new file mode 100755 index 0000000..76ead63 --- /dev/null +++ b/build/image.mk @@ -0,0 +1,674 @@ +# +# Copyright (C) 2006-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +override TARGET_BUILD= +include $(BUILD_DIR)/prereq.mk +include $(BUILD_DIR)/kernel.mk +include $(BUILD_DIR)/host.mk +include $(BUILD_DIR)/version.mk +include $(BUILD_DIR)/aw-upgrade.mk + +override MAKE:=$(_SINGLE)$(SUBMAKE) +override NO_TRACE_MAKE:=$(_SINGLE)$(NO_TRACE_MAKE) + +KDIR=$(KERNEL_BUILD_DIR) +KDIR_TMP=$(KDIR)/tmp +DTS_DIR:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts + +sanitize = $(call tolower,$(subst _,-,$(1))) + +DIST_SANITIZED:=$(call sanitize,$(VERSION_DIST)) +EXTRA_NAME_SANITIZED=$(call sanitize,$(EXTRA_IMAGE_NAME)) + +IMG_PREFIX:=$(BOARD) + +MKFS_DEVTABLE_OPT := -D $(BUILD_DIR)/device_table.txt + +ifneq ($(CONFIG_BIG_ENDIAN),) + JFFS2OPTS := --big-endian --squash-uids -v +else + JFFS2OPTS := --little-endian --squash-uids -v +endif + +ifeq ($(CONFIG_JFFS2_RTIME),y) + JFFS2OPTS += -X rtime +endif +ifeq ($(CONFIG_JFFS2_ZLIB),y) + JFFS2OPTS += -X zlib +endif +ifeq ($(CONFIG_JFFS2_LZMA),y) + JFFS2OPTS += -X lzma --compression-mode=size +endif +ifneq ($(CONFIG_JFFS2_RTIME),y) + JFFS2OPTS += -x rtime +endif +ifneq ($(CONFIG_JFFS2_ZLIB),y) + JFFS2OPTS += -x zlib +endif +ifneq ($(CONFIG_JFFS2_LZMA),y) + JFFS2OPTS += -x lzma +endif + +JFFS2OPTS += $(MKFS_DEVTABLE_OPT) + +SQUASHFS_BLOCKSIZE := $(CONFIG_TARGET_SQUASHFS_BLOCK_SIZE)k +SQUASHFSOPT := -b $(SQUASHFS_BLOCKSIZE) +SQUASHFSOPT += -p '/dev d 755 0 0' -p '/dev/console c 600 0 0 5 1' +SQUASHFSCOMP := gzip +LZMA_XZ_OPTIONS := -Xpreset 9 -Xe -Xlc 0 -Xlp 2 -Xpb 2 +ifeq ($(CONFIG_SQUASHFS_LZMA),y) + SQUASHFSCOMP := lzma $(LZMA_XZ_OPTIONS) +endif +ifeq ($(CONFIG_SQUASHFS_LZ4),y) + SQUASHFSCOMP := lz4 +endif +ifeq ($(CONFIG_SQUASHFS_XZ),y) + ifneq ($(filter arm x86 powerpc sparc,$(LINUX_KARCH)),) + BCJ_FILTER:=-Xbcj $(LINUX_KARCH) + endif + SQUASHFSCOMP := xz $(LZMA_XZ_OPTIONS) $(BCJ_FILTER) +endif + +SQUASHFS_COMP := xz +ifeq ($(CONFIG_KERNEL_SQUASHFS_ZLIB),y) + SQUASHFS_COMP := gzip +endif + +ifeq ($(CONFIG_KERNEL_SQUASHFS_XZ),y) + SQUASHFS_COMP := xz +endif + +ifeq ($(CONFIG_KERNEL_SQUASHFS_LZ4),y) + SQUASHFS_COMP := lz4 +endif + +JFFS2_BLOCKSIZE ?= 64k 128k + +fs-types-$(CONFIG_TARGET_ROOTFS_SQUASHFS) += squashfs +fs-types-$(CONFIG_TARGET_ROOTFS_JFFS2) += $(addprefix jffs2-,$(JFFS2_BLOCKSIZE)) +fs-types-$(CONFIG_TARGET_ROOTFS_JFFS2_NAND) += $(addprefix jffs2-nand-,$(NAND_BLOCKSIZE)) +fs-types-$(CONFIG_TARGET_ROOTFS_EXT4FS) += ext4 +fs-types-$(CONFIG_TARGET_ROOTFS_ISO) += iso +fs-subtypes-$(CONFIG_TARGET_ROOTFS_JFFS2) += $(addsuffix -raw,$(addprefix jffs2-,$(JFFS2_BLOCKSIZE))) +fs-subtypes-$(CONFIG_TARGET_ROOTFS_CPIOGZ) += cpiogz +fs-subtypes-$(CONFIG_TARGET_ROOTFS_TARGZ) += targz + +define quote +" +endef + +multi-partitions := $(foreach p,\ + $(subst $(quote),,$(CONFIG_IMAGE_TO_MULTI_PARTITIONS)),\ + $(patsubst %/,%,$(p))$(sep)) root + +TARGET_FILESYSTEMS := $(fs-types-y) + +FS_64K := $(filter-out jffs2-%,$(TARGET_FILESYSTEMS)) jffs2-64k +FS_128K := $(filter-out jffs2-%,$(TARGET_FILESYSTEMS)) jffs2-128k +FS_256K := $(filter-out jffs2-%,$(TARGET_FILESYSTEMS)) jffs2-256k + +define add_jffs2_mark + echo -ne '\xde\xad\xc0\xde' >> $(1) +endef + +PROFILE_SANITIZED := $(call sanitize,$(PROFILE)) + +define split_args +$(foreach data, \ + $(subst |,$(space),\ + $(subst $(space),^,$(1))), \ + $(call $(2),$(strip $(subst ^,$(space),$(data))))) +endef + +define build_cmd +$(if $(Build/$(word 1,$(1))),,$(error Missing Build/$(word 1,$(1)))) +$(call Build/$(word 1,$(1)),$(wordlist 2,$(words $(1)),$(1))) + +endef + +define concat_cmd +$(call split_args,$(1),build_cmd) +endef + +# pad to 4k, 8k, 16k, 64k, 128k, 256k and add jffs2 end-of-filesystem mark +define prepare_generic_squashfs + $(STAGING_DIR_HOST)/bin/padjffs2 $(1) 4 8 16 64 128 256 +endef + +define Image/BuildKernel/Initramfs + $(call Image/Build/Initramfs) +endef + +define Image/BuildKernel/MkuImage + mkimage -A $(ARCH) -O linux -T kernel -C $(1) -a $(2) -e $(3) \ + -n '$(call toupper,$(ARCH)) OpenWrt Linux-$(LINUX_VERSION)' -d $(4) $(5) +endef + +define Image/BuildKernel/MkFIT + $(TOPDIR)/scripts/mkits.sh \ + -D $(1) -o $(KDIR)/fit-$(1).its -k $(2) $(if $(3),-d $(3)) -C $(4) -a $(5) -e $(6) \ + -A $(ARCH) -v $(LINUX_VERSION) + PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/fit-$(1).its $(KDIR)/fit-$(1)$(7).itb +endef + +# $(1) source dts file +# $(2) target dtb file +# $(3) extra CPP flags +# $(4) extra DTC flags +define Image/BuildDTB + $(TARGET_CROSS)cpp -nostdinc -x assembler-with-cpp \ + -I$(DTS_DIR) \ + -I$(DTS_DIR)/include \ + -undef -D__DTS__ $(3) \ + -o $(2).tmp $(1) + $(LINUX_DIR)/scripts/dtc/dtc -O dtb \ + -i$(dir $(1)) $(4) \ + -o $(2) $(2).tmp + $(RM) $(2).tmp +endef + +define Image/mkfs/jffs2/sub + $(STAGING_DIR_HOST)/bin/mkfs.jffs2 $(3) --pad -e $(patsubst %k,%KiB,$(1)) -o $(KDIR)/root.jffs2-$(2) -d $(TARGET_DIR) -v 2>&1 1>/dev/null | awk '/^.+$$$$/' + $(call add_jffs2_mark,$(KDIR)/root.jffs2-$(2)) +endef + +define Image/mkfs/jffs2/sub-raw + $(STAGING_DIR_HOST)/bin/mkfs.jffs2 $(3) -e $(patsubst %k,%KiB,$(1)) -o $(KDIR)/root.jffs2-$(2)-raw -d $(TARGET_DIR) -v 2>&1 1>/dev/null | awk '/^.+$$$$/' +endef + +define Image/mkfs/jffs2/template + Image/mkfs/jffs2-$(1) = $$(call Image/mkfs/jffs2/sub,$(1),$(1),$(JFFS2OPTS)) + Image/mkfs/jffs2-$(1)-raw = $$(call Image/mkfs/jffs2/sub-raw,$(1),$(1),$(JFFS2OPTS)) + +endef + +define Image/mkfs/jffs2-nand/template + Image/mkfs/jffs2-nand-$(1) = \ + $$(call Image/mkfs/jffs2/sub, \ + $(word 2,$(subst -, ,$(1))),nand-$(1), \ + $(JFFS2OPTS) --no-cleanmarkers --pagesize=$(word 1,$(subst -, ,$(1)))) + +endef + +$(eval $(foreach S,$(JFFS2_BLOCKSIZE),$(call Image/mkfs/jffs2/template,$(S)))) +$(eval $(foreach S,$(NAND_BLOCKSIZE),$(call Image/mkfs/jffs2-nand/template,$(S)))) + +MKSQUSHFS_CPU_NUM=$(shell expr `grep -c process /proc/cpuinfo` / 2) +ifeq ($(MKSQUSHFS_CPU_NUM), 0) + MKSQUSHFS_CPU_NUM=1 +endif + +define Image/mkfs/squashfs-common + $(STAGING_DIR_HOST)/bin/mksquashfs4 $(1) $(KDIR)/$(2) -noappend -root-owned -comp $(SQUASHFS_COMP) $(SQUASHFSOPT) -processors $(if $(CONFIG_PKG_BUILD_JOBS),$(CONFIG_PKG_BUILD_JOBS),$(MKSQUSHFS_CPU_NUM)) +endef + +# $(1): input file or directory. (as default, it will TARGET_DIR, +# but if we define the Image/Input. It will be passed as intput file or directory) +# $(2): output file. (file name foramt: partition.filetype, such as root.squashfs) +# +define Image/mkfs/squashfs + @mkdir -p $(1)/overlay +ifneq ($(CONFIG_SUNXI_SMALL_STORAGE_OTA),) + $(call Aw/BuildUpgradeImage/normal-prepare,$(1),./temp_usr) + $(STAGING_DIR_HOST)/bin/mksquashfs4 ./temp_usr $(KDIR)/usr.squashfs -noappend -root-owned -comp $(SQUASHFS_COMP) $(SQUASHFSOPT) -processors $(if $(CONFIG_PKG_BUILD_JOBS),$(CONFIG_PKG_BUILD_JOBS),$(MKSQUSHFS_CPU_NUM)) +endif +ifneq ($(CONFIG_PACKAGE_sepolicy-demo)$(CONFIG_PACKAGE_refpolicy),) + echo "$(STAGING_DIR)/host/sbin/setfiles -r $(1) $(1)/etc/selinux/targeted/contexts/files/file_contexts $(1)" > $(TARGET_OUT_DIR)/.fakeroot-script + echo "$(Image/mkfs/squashfs-common)" >> $(TARGET_OUT_DIR)/.fakeroot-script + chmod +x $(TARGET_OUT_DIR)/.fakeroot-script + $(STAGING_DIR_HOST)/bin/fakeroot $(TARGET_OUT_DIR)/.fakeroot-script +else + $(call Image/mkfs/squashfs-common,$(1),$(2)) +endif +ifneq ($(CONFIG_SUNXI_SMALL_STORAGE_OTA),) + $(call Aw/BuildUpgradeImage/normal-resume,$(1),./temp_usr) +endif +endef + +# $(1): board name +# $(2): rootfs type +# $(3): kernel image +ifneq ($(CONFIG_NAND_SUPPORT),) + define Image/Build/SysupgradeNAND + mkdir -p "$(KDIR_TMP)/sysupgrade-$(1)/" + echo "BOARD=$(1)" > "$(KDIR_TMP)/sysupgrade-$(1)/CONTROL" + [ -z "$(2)" ] || $(CP) "$(KDIR)/root.$(2)" "$(KDIR_TMP)/sysupgrade-$(1)/root" + [ -z "$(3)" ] || $(CP) "$(3)" "$(KDIR_TMP)/sysupgrade-$(1)/kernel" + (cd "$(KDIR_TMP)"; $(TAR) cvf \ + "$(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(1)-$(2)-sysupgrade.tar" sysupgrade-$(1) \ + $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ + ) + endef + +# $(1) board name +# $(2) ubinize-image options (e.g. --uboot-env and/or --kernel kernelimage) +# $(3) rootfstype (e.g. squashfs or ubifs) +# $(4) options to pass-through to ubinize (i.e. $($(PROFILE)_UBI_OPTS))) + define Image/Build/UbinizeImage + sh $(TOPDIR)/scripts/ubinize-image.sh $(2) \ + "$(KDIR)/root.$(3)" \ + "$(KDIR)/$(IMG_PREFIX)-$(1)-$(3)-ubinized.bin" \ + $(4) + endef + +endif + +ifneq ($(CONFIG_TARGET_ROOTFS_UBIFS),) + define Image/mkfs/ubifs/generate + $(CP) ./ubinize$(1).cfg $(KDIR) + ( cd $(KDIR); \ + $(STAGING_DIR_HOST)/bin/ubinize \ + $(if $($(PROFILE)_UBI_OPTS), \ + $(shell echo $($(PROFILE)_UBI_OPTS)), \ + $(shell echo $(UBI_OPTS)) \ + ) \ + -o $(KDIR)/root$(1).ubi \ + ubinize$(1).cfg \ + ) + endef + + define Image/mkfs/ubifs + + ifneq ($($(PROFILE)_UBIFS_OPTS)$(UBIFS_OPTS),) + $(STAGING_DIR_HOST)/bin/mkfs.ubifs \ + $(if $($(PROFILE)_UBIFS_OPTS), \ + $(shell echo $($(PROFILE)_UBIFS_OPTS)), \ + $(shell echo $(UBIFS_OPTS)) \ + ) \ + $(if $(CONFIG_TARGET_UBIFS_FREE_SPACE_FIXUP),--space-fixup) \ + $(if $(CONFIG_TARGET_UBIFS_COMPRESSION_NONE),--compr=none) \ + $(if $(CONFIG_TARGET_UBIFS_COMPRESSION_LZO),--compr=lzo) \ + $(if $(CONFIG_TARGET_UBIFS_COMPRESSION_ZLIB),--compr=zlib) \ + $(if $(shell echo $(CONFIG_TARGET_UBIFS_JOURNAL_SIZE)),--jrn-size=$(CONFIG_TARGET_UBIFS_JOURNAL_SIZE)) \ + --squash-uids \ + -o $(KDIR)/root.ubifs \ + -d $(TARGET_DIR) + endif + $(call Image/Build,ubifs) + + ifneq ($($(PROFILE)_UBI_OPTS)$(UBI_OPTS),) + $(if $(wildcard ./ubinize.cfg),$(call Image/mkfs/ubifs/generate,)) + $(if $(wildcard ./ubinize-overlay.cfg),$(call Image/mkfs/ubifs/generate,-overlay)) + endif + $(if $(wildcard ./ubinize.cfg),$(call Image/Build,ubi)) + endef +endif + +define Image/mkfs/cpiogz + ( cd $(TARGET_DIR); find . | cpio -o -H newc | gzip -9n >$(TARGET_OUT_DIR)/$(IMG_PREFIX)-rootfs.cpio.gz ) +endef + +define Image/mkfs/targz + $(TAR) -cp --numeric-owner --owner=0 --group=0 --sort=name \ + $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ + -C $(TARGET_DIR)/ . | gzip -9n > $(TARGET_OUT_DIR)/$(IMG_PREFIX)$(if $(PROFILE_SANITIZED),-$(PROFILE_SANITIZED))-rootfs.tar.gz +endef + +E2SIZE=$(shell echo $$(($(CONFIG_TARGET_ROOTFS_PARTSIZE)*1024*1024))) + +define Image/mkfs/ext4 + $(STAGING_DIR_HOST)/bin/make_ext4fs \ + -l $(E2SIZE) -b $(CONFIG_TARGET_EXT4_BLOCKSIZE) \ + -i $(CONFIG_TARGET_EXT4_MAXINODE) \ + -m $(CONFIG_TARGET_EXT4_RESERVED_PCT) \ + $(if $(CONFIG_TARGET_EXT4_JOURNAL),,-J) \ + $(if $(SOURCE_DATE_EPOCH),-T $(SOURCE_DATE_EPOCH)) \ + $(KDIR)/root.ext4 $(TARGET_DIR)/ +endef + +define Image/mkfs/prepare/default + # Use symbolic permissions to avoid clobbering SUID/SGID/sticky bits + - $(FIND) $(TARGET_DIR) -type f -not -perm /0100 -not -name 'ssh_host*' -not -name 'shadow' -print0 | $(XARGS) -0 chmod u+rw,g+r,o+r + - $(FIND) $(TARGET_DIR) -type f -perm /0100 -print0 | $(XARGS) -0 chmod u+rwx,g+rx,o+rx + - $(FIND) $(TARGET_DIR) -type d -print0 | $(XARGS) -0 chmod u+rwx,g+rx,o+rx + $(INSTALL_DIR) $(TARGET_DIR)/tmp $(TARGET_DIR)/overlay + chmod 1777 $(TARGET_DIR)/tmp +ifneq ($(CONFIG_SUNXI_SEPARATE_APP_FROM_ROOTFS),) + rm -rf $(TARGET_DIR)/../app + mkdir -p $(TARGET_DIR)/mnt/app + mv $(TARGET_DIR)/mnt/app $(TARGET_DIR)/../app + mkdir -p $(TARGET_DIR)/mnt/app +endif +ifneq ($(CONFIG_SUNXI_SEPARATE_DATA_FROM_ROOTFS),) + rm -rf $(TARGET_DIR)/../data + mkdir -p $(TARGET_DIR)/data + mv $(TARGET_DIR)/data $(TARGET_DIR)/../data + mkdir -p $(TARGET_DIR)/data +endif +endef + +define Image/mkfs/prepare + $(call Image/mkfs/prepare/default) +endef + +define Image/Checksum + ( cd ${TARGET_OUT_DIR} ; \ + $(FIND) -maxdepth 1 -type f \! -name 'md5sums' -printf "%P\n" | sort | xargs $1 > $2 \ + ) +endef + +# $(1): filesystem type +# $(2): partition name (option) +# +# Before call Image/mkfs/{filetype}, will call Hooks/mkfs/Pre, +# that it can crete the image filter scripts to process the partition files. +# +# And, also cat define the Image/Input to change the input directory of this +# partition image. +# +define BuildImage/mkfs + install: mkfs-$(1)$(if $(strip $(2)),-$(2)) + .PHONY: mkfs-$(1)$(if $(strip $(2)),-$(2)) + mkfs-$(1)$(if $(strip $(2)),-$(2)): kernel_prepare + $(foreach hook,$(Hooks/mkfs/Pre),$(call $(hook),$(1),$(2))$(sep)) + $(call Image/mkfs/$(1),$(if $(Image/Input),$(Image/Input),$(TARGET_DIR)),$(2).$(1)) + $(call Build/mkfs/default,$(1)) + $(call Build/mkfs/$(1),$(1)) + $(foreach hook,$(Hooks/mkfs/Post),$(call $(hook),$(1),$(2))$(sep)) + $(KDIR)/$(if $(strip $(2)),$(strip $(2)),root).$(1): mkfs-$(1)$(if $(strip $(2)),-$(2)) + $(eval Image/Input:=) + +endef + +# Build commands that can be called from Device/* templates +define Build/uImage + mkimage -A $(LINUX_KARCH) \ + -O linux -T kernel \ + -C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ + -n '$(call toupper,$(LINUX_KARCH)) OpenWrt Linux-$(LINUX_VERSION)' -d $@ $@.new + @mv $@.new $@ +endef + +define Build/netgear-chk + $(STAGING_DIR_HOST)/bin/mkchkimg \ + -o $@.new \ + -k $@ \ + -b $(NETGEAR_BOARD_ID) \ + -r $(NETGEAR_REGION) + mv $@.new $@ +endef + +define Build/netgear-dni + $(STAGING_DIR_HOST)/bin/mkdniimg \ + -B $(NETGEAR_BOARD_ID) -v OpenWrt.$(REVISION) \ + $(if $(NETGEAR_HW_ID),-H $(NETGEAR_HW_ID)) \ + -r "$(1)" \ + -i $@ -o $@.new + mv $@.new $@ +endef + +define Build/fit + $(TOPDIR)/scripts/mkits.sh \ + -D $(DEVICE_NAME) -o $@.its -k $@ \ + $(if $(word 2,$(1)),-d $(word 2,$(1))) -C $(word 1,$(1)) \ + -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ + -A $(ARCH) -v $(LINUX_VERSION) + PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new + @mv $@.new $@ +endef + +define Build/lzma + $(STAGING_DIR_HOST)/bin/lzma e $@ -lc1 -lp2 -pb2 $(1) $@.new + @mv $@.new $@ +endef + +define Build/gzip + gzip -9n -c $@ $(1) > $@.new + @mv $@.new $@ +endef + +define Build/jffs2 + rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 && \ + mkdir -p $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$$(dirname $(1)) && \ + cp $@ $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$(1) && \ + $(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad \ + $(if $(CONFIG_BIG_ENDIAN),--big-endian,--little-endian) \ + --squash-uids -v -e $(patsubst %k,%KiB,$(BLOCKSIZE)) \ + -o $@.new \ + -d $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 \ + 2>&1 1>/dev/null | awk '/^.+$$$$/' && \ + $(STAGING_DIR_HOST)/bin/padjffs2 $@.new -J $(patsubst %k,,$(BLOCKSIZE)) + -rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/ + @mv $@.new $@ +endef + +define Build/kernel-bin + rm -f $@ + cp $< $@ +endef + +define Build/patch-cmdline + $(STAGING_DIR_HOST)/bin/patch-cmdline $@ '$(CMDLINE)' +endef + +define Build/append-kernel + dd if=$(word 1,$^) $(if $(1),bs=$(1) conv=sync) >> $@ +endef + +define Build/append-rootfs + dd if=$(word 2,$^) $(if $(1),bs=$(1) conv=sync) >> $@ +endef + +define Build/append-ubi + sh $(TOPDIR)/scripts/ubinize-image.sh \ + $(if $(KERNEL_IN_UBI),--kernel $(word 1,$^)) \ + $(word 2,$^) \ + $@.tmp \ + -p $(BLOCKSIZE) -m $(PAGESIZE) -E 5 \ + $(if $(SUBPAGESIZE),-s $(SUBPAGESIZE)) + cat $@.tmp >> $@ + rm $@.tmp +endef + +define Build/pad-to + dd if=$@ of=$@.new bs=$(1) conv=sync + mv $@.new $@ +endef + +define Build/pad-rootfs + $(call prepare_generic_squashfs,$@ $(1)) +endef + +define Build/pad-offset + let \ + size="$$(stat -c%s $@)" \ + pad="$(word 1, $(1))" \ + offset="$(word 2, $(1))" \ + pad="(pad - ((size + offset) % pad)) % pad" \ + newsize='size + pad'; \ + dd if=$@ of=$@.new bs=$$newsize count=1 conv=sync + mv $@.new $@ +endef + +define Build/check-size + @[ $$(($(subst k,* 1024,$(subst m, * 1024k,$(1))))) -ge "$$(stat -c%s $@)" ] || { \ + echo "WARNING: Image file $@ is too big" >&2; \ + rm -f $@; \ + } +endef + +define Build/combined-image + -sh $(TOPDIR)/scripts/combined-image.sh \ + "$(word 1,$^)" \ + "$@" \ + "$@.new" + @mv $@.new $@ +endef + +define Build/sysupgrade-nand + sh $(TOPDIR)/scripts/sysupgrade-nand.sh \ + --board $(if $(BOARD_NAME),$(BOARD_NAME),$(DEVICE_NAME)) \ + --kernel $(word 1,$^) \ + --rootfs $(word 2,$^) \ + $@ +endef + +define Device/Init + PROFILES := $(PROFILE) + DEVICE_NAME := $(1) + KERNEL:= + KERNEL_INITRAMFS = $$(KERNEL) + KERNEL_SIZE:= + CMDLINE:= + + IMAGE_PREFIX := $(IMG_PREFIX)-$(1) + IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1)-$$(2) + KERNEL_PREFIX = $(1) + KERNEL_SUFFIX := -kernel.bin + KERNEL_IMAGE = $$(KERNEL_PREFIX)$$(KERNEL_SUFFIX) + KERNEL_INITRAMFS_PREFIX = $$(IMAGE_PREFIX)-initramfs + KERNEL_INITRAMFS_IMAGE = $$(KERNEL_INITRAMFS_PREFIX)$$(KERNEL_SUFFIX) + KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs + KERNEL_INSTALL := + KERNEL_NAME := vmlinux + KERNEL_DEPENDS := + KERNEL_SIZE := + + FILESYSTEMS := $(TARGET_FILESYSTEMS) +endef + +define Device/ExportVar + $(1) : $(2):=$$($(2)) + +endef +define Device/Export + $(foreach var,$(DEVICE_VARS) DEVICE_NAME KERNEL KERNEL_INITRAMFS KERNEL_INITRAMFS_IMAGE,$(call Device/ExportVar,$(1),$(var))) + $(1) : FILESYSTEM:=$(2) +endef + +define Device/Check + _TARGET = $$(if $$(filter $(PROFILE),$$(PROFILES)),install,install-disabled) + _COMPILE_TARGET = $$(if $(if $(IB),,$(CONFIG_IB)$$(filter $(PROFILE),$$(PROFILES))),compile,compile-disabled) +endef + +ifndef IB +define Device/Build/initramfs + $(call Device/Export,$(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE),$(1)) + $$(_TARGET): $(TARGET_OUT_DIR)/$$(KERNEL_INITRAMFS_IMAGE) + + $(KDIR)/$$(KERNEL_INITRAMFS_NAME):: image_prepare + $(TARGET_OUT_DIR)/$$(KERNEL_INITRAMFS_IMAGE): $(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE) + cp $$^ $$@ + + $(KDIR)/tmp/$$(KERNEL_INITRAMFS_IMAGE): $(KDIR)/$$(KERNEL_INITRAMFS_NAME) $(CURDIR)/Makefile $$(KERNEL_DEPENDS) + @rm -f $$@ + $$(call concat_cmd,$$(KERNEL_INITRAMFS)) +endef +endif + +define Device/Build/check_size + @[ $$(($(subst k,* 1024,$(subst m, * 1024k,$(1))))) -ge "$$(stat -c%s $@)" ] || { \ + echo "WARNING: Image file $@ is too big" >&2; \ + rm -f $@; \ + } +endef + +define Device/Build/compile + $$(_COMPILE_TARGET): $(KDIR)/$(1) + $(eval $(call Device/Export,$(KDIR)/$(1))) + $(KDIR)/$(1): + $$(call concat_cmd,$(COMPILE/$(1))) + +endef + +define Device/Build/kernel + _KERNEL_IMAGES += $(KDIR)/$$(KERNEL_NAME) + $(KDIR)/$$(KERNEL_NAME):: image_prepare + $$(_TARGET): $$(if $$(KERNEL_INSTALL),$(TARGET_OUT_DIR)/$$(KERNEL_IMAGE)) + $(call Device/Export,$(KDIR)/$$(KERNEL_IMAGE),$(1)) + $(TARGET_OUT_DIR)/$$(KERNEL_IMAGE): $(KDIR)/$$(KERNEL_IMAGE) + cp $$^ $$@ + ifndef IB + ifdef CONFIG_IB + install: $(KDIR)/$$(KERNEL_IMAGE) + endif + $(KDIR)/$$(KERNEL_IMAGE): $(KDIR)/$$(KERNEL_NAME) $(CURDIR)/Makefile $$(KERNEL_DEPENDS) + @rm -f $$@ + $$(call concat_cmd,$$(KERNEL)) + $$(if $$(KERNEL_SIZE),$$(call Device/Build/check_size,$$(KERNEL_SIZE))) + endif +endef + +define Device/Build/image + $$(_TARGET): $(TARGET_OUT_DIR)/$(call IMAGE_NAME,$(1),$(2)) + $(eval $(call Device/Export,$(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)),$(1))) + $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)): $(KDIR)/$$(KERNEL_IMAGE) $(KDIR)/root.$(1) + @rm -f $$@ + [ -f $$(word 1,$$^) -a -f $$(word 2,$$^) ] + $$(call concat_cmd,$(if $(IMAGE/$(2)/$(1)),$(IMAGE/$(2)/$(1)),$(IMAGE/$(2)))) + + .IGNORE: $(TARGET_OUT_DIR)/$(call IMAGE_NAME,$(1),$(2)) + $(TARGET_OUT_DIR)/$(call IMAGE_NAME,$(1),$(2)): $(KDIR)/tmp/$(call IMAGE_NAME,$(1),$(2)) + cp $$^ $$@ + +endef + +define Device/Build + $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),$(call Device/Build/initramfs,$(1))) + $(call Device/Build/kernel,$(1)) + + $$(eval $$(foreach compile,$$(COMPILE), \ + $$(call Device/Build/compile,$$(compile),$(1)))) + + $$(eval $$(foreach image,$$(IMAGES), \ + $$(foreach fs,$$(filter $(TARGET_FILESYSTEMS),$$(FILESYSTEMS)), \ + $$(call Device/Build/image,$$(fs),$$(image),$(1))))) +endef + +define Device + $(call Device/Init,$(1)) + $(call Device/Default,$(1)) + $(call Device/Check,$(1)) + $(call Device/$(1),$(1)) + $(call Device/Build,$(1)) + +endef + +define BuildImage + + download: + prepare: + compile: + clean: + image_prepare: + + ifeq ($(IB),) + .PHONY: download prepare compile clean image_prepare mkfs_prepare kernel_prepare install + compile: + $(call Build/Compile) + + clean: + $(call Build/Clean) + + image_prepare: compile + mkdir -p $(KDIR)/tmp + $(call Image/Prepare) + else + image_prepare: + mkdir -p $(KDIR)/tmp + endif + + mkfs_prepare: image_prepare + $(call Image/mkfs/prepare) + + kernel_prepare: mkfs_prepare + $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),$(if $(IB),,$(call Image/BuildKernel/Initramfs)), $(call Image/BuildKernel)) + $(call Image/InstallKernel) + + $(foreach device,$(TARGET_DEVICES),$(call Device,$(device))) + $(foreach fs,$(TARGET_FILESYSTEMS) $(fs-subtypes-y),\ + $(foreach p,$(multi-partitions),$(eval $(call BuildImage/mkfs,$(fs),$(p))))) + + install: kernel_prepare + $(foreach fs,$(TARGET_FILESYSTEMS), + $(call Image/Build,$(fs)) + ) + $(call Image/mkfs/ubifs) + $(call Image/Checksum,md5sum --binary,md5sums) + $(call Image/Checksum,openssl dgst -sha256,sha256sums) + +endef diff --git a/build/kernel-build.mk b/build/kernel-build.mk new file mode 100755 index 0000000..c92205a --- /dev/null +++ b/build/kernel-build.mk @@ -0,0 +1,242 @@ +# +# Copyright (C) 2006-2007 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(BUILD_DIR)/host.mk +include $(BUILD_DIR)/prereq.mk + +ifneq ($(DUMP),1) + all: compile +endif + +export QUILT=1 +STAMP_PREPARED:=$(LINUX_DIR)/.prepared +STAMP_CONFIGURED:=$(LINUX_DIR)/.configured +include $(BUILD_DIR)/download.mk +include $(BUILD_DIR)/quilt.mk +include $(BUILD_DIR)/kernel-defaults.mk + +define Kernel/Prepare + $(call Kernel/Prepare/Default) +endef + +define Kernel/Configure + $(call Kernel/Configure/Default) +endef + +define Kernel/CompileModules + $(call Kernel/CompileModules/Default) +endef + +define Kernel/CompileImage + $(call Kernel/CompileImage/Default) + $(call Kernel/CompileImage/Initramfs) +ifneq ($(CONFIG_REDUCE_KERNEL_SIZE),) + $(SCRIPT_DIR)/reduce-kernel-size.sh c $(LINUX_DIR)/.config +endif +endef + +define Kernel/Clean + $(call Kernel/Clean/Default) +endef + +define Download/kernel + URL:=$(LINUX_SITE) + FILE:=$(LINUX_SOURCE) + MD5SUM:=$(LINUX_KERNEL_MD5SUM) +endef + +ifdef CONFIG_COLLECT_KERNEL_DEBUG + define Kernel/CollectDebug + rm -rf $(KERNEL_BUILD_DIR)/debug + mkdir -p $(KERNEL_BUILD_DIR)/debug/modules + $(CP) $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/debug/ + -$(CP) \ + $(STAGING_DIR_ROOT)/lib/modules/$(LINUX_VERSION)/* \ + $(KERNEL_BUILD_DIR)/debug/modules/ + $(FIND) $(KERNEL_BUILD_DIR)/debug -type f | $(XARGS) $(KERNEL_CROSS)strip --only-keep-debug + $(TAR) c -C $(KERNEL_BUILD_DIR) debug \ + $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ + | bzip2 -c -9 > $(TARGET_OUT_DIR)/kernel-debug.tar.bz2 + endef +endif + +define BuildKernel + $(if $(QUILT),$(Build/Quilt)) + $(if $(LINUX_SITE),$(call Download,kernel)) + + .NOTPARALLEL: + + $(STAMP_PREPARED): $(if $(LINUX_SITE),$(DL_DIR)/$(LINUX_SOURCE)) + -rm -rf $(KERNEL_BUILD_DIR) + -mkdir -p $(KERNEL_BUILD_DIR) + $(Kernel/Prepare) + touch $$@ + + $(KERNEL_BUILD_DIR)/symtab.h: FORCE + rm -f $(KERNEL_BUILD_DIR)/symtab.h + touch $(KERNEL_BUILD_DIR)/symtab.h + +$(MAKE) $(KERNEL_MAKEOPTS) vmlinux + if [ -e $(STAGING_DIR_ROOT)/lib/modules ]; then \ + find $(LINUX_DIR) $(STAGING_DIR_ROOT)/lib/modules -name \*.ko | \ + xargs $(TARGET_CROSS)nm | \ + awk '$$$$1 == "U" { print $$$$2 } ' | \ + sort -u > $(KERNEL_BUILD_DIR)/mod_symtab.txt;\ + $(TARGET_CROSS)nm -n $(LINUX_DIR)/vmlinux.o | grep ' [rR] __ksymtab' | sed -e 's,........ [rR] __ksymtab_,,' > $(KERNEL_BUILD_DIR)/kernel_symtab.txt;\ + grep -Ff $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_include.txt;\ + grep -Fvf $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_exclude.txt;\ + ( \ + echo '#define SYMTAB_KEEP \'; \ + cat $(KERNEL_BUILD_DIR)/sym_include.txt | \ + awk '{print "KEEP(*(___ksymtab+" $$$$1 ")) \\" }'; \ + echo; \ + echo '#define SYMTAB_KEEP_GPL \'; \ + cat $(KERNEL_BUILD_DIR)/sym_include.txt | \ + awk '{print "KEEP(*(___ksymtab_gpl+" $$$$1 ")) \\" }'; \ + echo; \ + echo '#define SYMTAB_DISCARD \'; \ + cat $(KERNEL_BUILD_DIR)/sym_exclude.txt | \ + awk '{print "*(___ksymtab+" $$$$1 ") \\" }'; \ + echo; \ + echo '#define SYMTAB_DISCARD_GPL \'; \ + cat $(KERNEL_BUILD_DIR)/sym_exclude.txt | \ + awk '{print "*(___ksymtab_gpl+" $$$$1 ") \\" }'; \ + echo; \ + ) > $$@ ;\ + fi +ifneq ($(CONFIG_KERNEL_CONFIG_FILE_SUFFIX_RECOVERY),) + $(STAMP_CONFIGURED): $(STAMP_PREPARED) $(LINUX_KCONFIG_LIST_RECOVERY) $(TOPDIR)/.config + $(Kernel/Configure) + touch $$@ +else ifneq ($(CONFIG_KERNEL_CONFIG_FILE_SUFFIX_RAMFS),) + $(STAMP_CONFIGURED): $(STAMP_PREPARED) $(LINUX_KCONFIG_LIST_RAMFS) $(TOPDIR)/.config + $(Kernel/Configure) + touch $$@ +else + $(STAMP_CONFIGURED): $(STAMP_PREPARED) $(LINUX_KCONFIG_LIST) $(TOPDIR)/.config + $(Kernel/Configure) + touch $$@ +endif + + $(LINUX_DIR)/.modules: $(STAMP_CONFIGURED) $(LINUX_DIR)/.config FORCE + $(Kernel/CompileModules) + touch $$@ + + $(LINUX_DIR)/.image: $(STAMP_CONFIGURED) $(if $(CONFIG_STRIP_KERNEL_EXPORTS),$(KERNEL_BUILD_DIR)/symtab.h) FORCE +ifdef CONFIG_REDUCE_ROOTFS_SIZE + $(SCRIPT_DIR)/reduce-rootfs-size.sh d $(TARGET_DIR) + $(SCRIPT_DIR)/reduce-rootfs-size.sh c $(TARGET_DIR) +endif + if [ "x$(TARGET_ARCH)" = "xriscv" ]; then \ + mv $(TARGET_DIR)/lib64xthead/lp64d/* $(TARGET_DIR)/lib/; \ + rm -rf $(TARGET_DIR)/lib64xthead/lp64d/; \ + ln -s ../lib $(TARGET_DIR)/lib64xthead/lp64d; \ + mv $(TARGET_DIR)/usr/lib64xthead/lp64d/* $(TARGET_DIR)/usr/lib/; \ + rm -rf $(TARGET_DIR)/usr/lib64xthead/lp64d/; \ + ln -s ../lib $(TARGET_DIR)/usr/lib64xthead/lp64d; \ + fi + if [ -f "$(LICHEE_CHIP_CONFIG_DIR)/configs/$(subst $(TARGET_PLATFORM)-,,$(TARGET_BOARD))/board.dts" ]; then \ + if [ "x$(LINUX_KARCH)" = "xarm" ]; then \ + if [ -f $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts/board.dts ]; then \ + cmp -s $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts/board.dts $(LICHEE_CHIP_CONFIG_DIR)/configs/$(subst $(TARGET_PLATFORM)-,,$(TARGET_BOARD))/board.dts || \ + cp $(LICHEE_CHIP_CONFIG_DIR)/configs/$(subst $(TARGET_PLATFORM)-,,$(TARGET_BOARD))/board.dts $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts/board.dts; \ + else \ + cp $(LICHEE_CHIP_CONFIG_DIR)/configs/$(subst $(TARGET_PLATFORM)-,,$(TARGET_BOARD))/board.dts $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts/board.dts; \ + fi \ + elif [ "x$(LINUX_KARCH)" = "xarm64" ]; then \ + if [ -f $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts/board.dts ]; then \ + cmp -s $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts/sunxi/board.dts $(LICHEE_CHIP_CONFIG_DIR)/configs/$(subst $(TARGET_PLATFORM)-,,$(TARGET_BOARD))/board.dts || \ + cp $(LICHEE_CHIP_CONFIG_DIR)/configs/$(subst $(TARGET_PLATFORM)-,,$(TARGET_BOARD))/board.dts $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts/sunxi/board.dts; \ + else \ + cp $(LICHEE_CHIP_CONFIG_DIR)/configs/$(subst $(TARGET_PLATFORM)-,,$(TARGET_BOARD))/board.dts $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts/sunxi/board.dts; \ + fi \ + elif [ "x$(LINUX_KARCH)" = "xriscv" ]; then \ + if [ -f $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts/board.dts ]; then \ + cmp -s $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts/board.dts $(LICHEE_CHIP_CONFIG_DIR)/configs/$(subst $(TARGET_PLATFORM)-,,$(TARGET_BOARD))/sunxi/board.dts || \ + cp $(LICHEE_CHIP_CONFIG_DIR)/configs/$(subst $(TARGET_PLATFORM)-,,$(TARGET_BOARD))/board.dts $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts/sunxi/board.dts; \ + else \ + cp $(LICHEE_CHIP_CONFIG_DIR)/configs/$(subst $(TARGET_PLATFORM)-,,$(TARGET_BOARD))/board.dts $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts/sunxi/board.dts; \ + fi \ + fi \ + fi + + $(Kernel/CompileImage) + $(Kernel/CollectDebug) + touch $$@ + + mostlyclean: FORCE + $(Kernel/Clean) + + define BuildKernel + endef + + download: $(if $(LINUX_SITE),$(DL_DIR)/$(LINUX_SOURCE)) + prepare: $(STAMP_CONFIGURED) + compile: $(LINUX_DIR)/.modules + +$(MAKE) -C ../generic/image compile TARGET_BUILD= + + oldconfig menuconfig nconfig: $(STAMP_PREPARED) $(STAMP_CHECKED) FORCE + rm -f $(LINUX_DIR)/.config.prev + rm -f $(STAMP_CONFIGURED) + $(LINUX_RECONF_CMD) > $(LINUX_DIR)/.config + $(_SINGLE)$(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKEOPTS) $$@ + @if [ ! -f "$(LICHEE_CHIP_CONFIG_DIR)/configs/$(subst $(TARGET_PLATFORM)-,,$(TARGET_BOARD))/linux/config-$(KERNEL_PATCHVER)" ]; then \ + $(LINUX_RECONF_DIFF) $(LINUX_DIR)/.config > $(LINUX_RECONFIG_TARGET); \ + else \ + cmp -s $(LINUX_DIR)/.config $(LINUX_RECONFIG_TARGET) || { \ + cp -rf $(LINUX_DIR)/.config $(LINUX_DIR)/arch/$(LINUX_KARCH)/configs/tina_defconfig; \ + $(MAKE) CC=$(TARGET_CC) -C $(LINUX_DIR) ARCH=$(LINUX_KARCH) tina_defconfig > /dev/null; \ + cp $(LINUX_DIR)/.config $(LINUX_RECONFIG_TARGET); \ + rm -rf $(LINUX_DIR)/arch/$(LINUX_KARCH)/configs/tina_defconfig; \ + } \ + fi + + recovery_menuconfig: $(STAMP_PREPARED) $(STAMP_CHECKED) FORCE + rm -f $(LINUX_DIR)/.config.prev + rm -f $(STAMP_CONFIGURED) + $(LINUX_RECONF_CMD_RECOVERY) > $(LINUX_DIR)/.config + $(_SINGLE)$(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKEOPTS) menuconfig + @if [ ! -f "$(LICHEE_CHIP_CONFIG_DIR)/configs/$(subst $(TARGET_PLATFORM)-,,$(TARGET_BOARD))/linux/config-$(KERNEL_PATCHVER)_recovery" ]; then \ + $(LINUX_RECONF_DIFF_RECOVERY) $(LINUX_DIR)/.config > $(LINUX_RECONFIG_TARGET_RECOVERY); \ + else \ + cmp -s $(LINUX_DIR)/.config $(LINUX_RECONFIG_TARGET_RECOVERY) || { \ + cp -rf $(LINUX_DIR)/.config $(LINUX_DIR)/arch/$(LINUX_KARCH)/configs/tina_defconfig; \ + $(MAKE) CC=$(TARGET_CC) -C $(LINUX_DIR) ARCH=$(LINUX_KARCH) tina_defconfig > /dev/null; \ + cp $(LINUX_DIR)/.config $(LINUX_RECONFIG_TARGET_RECOVERY); \ + rm -rf $(LINUX_DIR)/arch/$(LINUX_KARCH)/configs/tina_defconfig; \ + } \ + fi + + ramfs_menuconfig: $(STAMP_PREPARED) $(STAMP_CHECKED) FORCE + rm -f $(LINUX_DIR)/.config.prev + rm -f $(STAMP_CONFIGURED) + $(LINUX_RECONF_CMD_RAMFS) > $(LINUX_DIR)/.config + $(_SINGLE)$(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKEOPTS) menuconfig + @if [ ! -f "$(LICHEE_CHIP_CONFIG_DIR)/configs/$(subst $(TARGET_PLATFORM)-,,$(TARGET_BOARD))/linux/config-$(KERNEL_PATCHVER)_ramfs" ]; then \ + $(LINUX_RECONF_DIFF_RAMFS) $(LINUX_DIR)/.config > $(LINUX_RECONFIG_TARGET_RAMFS); \ + else \ + cmp -s $(LINUX_DIR)/.config $(LINUX_RECONFIG_TARGET_RAMFS) || { \ + cp -rf $(LINUX_DIR)/.config $(LINUX_DIR)/arch/$(LINUX_KARCH)/configs/tina_defconfig; \ + $(MAKE) CC=$(TARGET_CC) -C $(LINUX_DIR) ARCH=$(LINUX_KARCH) tina_defconfig > /dev/null; \ + cp $(LINUX_DIR)/.config $(LINUX_RECONFIG_TARGET_RAMFS); \ + rm -rf $(LINUX_DIR)/arch/$(LINUX_KARCH)/configs/tina_defconfig; \ + } \ + fi + + install: $(LINUX_DIR)/.image + +$(MAKE) -C ../generic/image compile install TARGET_BUILD= + + clean: FORCE + if [ -d $(LINUX_DIR) ]; then \ + $(_SINGLE)$(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKEOPTS) $$@; \ + fi + rm -rf $(KERNEL_BUILD_DIR) + + image-prereq: + @+$(NO_TRACE_MAKE) -s -C ../generic/image prereq TARGET_BUILD= + + prereq: image-prereq + +endef diff --git a/build/kernel-defaults.mk b/build/kernel-defaults.mk new file mode 100755 index 0000000..4190782 --- /dev/null +++ b/build/kernel-defaults.mk @@ -0,0 +1,198 @@ +# +# Copyright (C) 2006-2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(BUILD_DIR)/aw-upgrade.mk + +ifeq ($(CONFIG_COMPLILE_KERNEL64_USER32),y) +KERNEL_CROSS:=$(ARCH)-openwrt-linux- +KERNEL_CC:=$(KERNEL_CROSS)gcc +endif + +KERNEL_MAKEOPTS := -C $(LINUX_DIR) \ + HOSTCFLAGS="$(HOST_CFLAGS) -Wall -Wmissing-prototypes -Wstrict-prototypes" \ + CROSS_COMPILE="$(KERNEL_CROSS)" \ + ARCH="$(LINUX_KARCH)" \ + KBUILD_HAVE_NLS=no \ + KBUILD_BUILD_USER="$(call qstrip,$(CONFIG_KERNEL_BUILD_USER))" \ + KBUILD_BUILD_HOST="$(call qstrip,$(CONFIG_KERNEL_BUILD_DOMAIN))" \ + CONFIG_SHELL="$(BASH)" \ + $(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='') \ + $(if $(PKG_BUILD_ID),LDFLAGS_MODULE=--build-id=0x$(PKG_BUILD_ID)) + +ifdef CONFIG_STRIP_KERNEL_EXPORTS + KERNEL_MAKEOPTS += \ + EXTRA_LDSFLAGS="-I$(KERNEL_BUILD_DIR) -include symtab.h" +endif + +INITRAMFS_EXTRA_FILES ?= $(GENERIC_PLATFORM_DIR)/image/initramfs-base-files.txt + +ifneq (,$(KERNEL_CC)) + KERNEL_MAKEOPTS += CC="$(KERNEL_CC)" +endif + +ifdef CONFIG_USE_SPARSE + KERNEL_MAKEOPTS += C=1 CHECK=$(STAGING_DIR_HOST)/bin/sparse +endif + +export HOST_EXTRACFLAGS=-I$(STAGING_DIR_HOST)/include + +# defined in quilt.mk +Kernel/Patch:=$(Kernel/Patch/Default) + +define Kernel/Prepare/Default + mkdir -p $(KERNEL_BUILD_DIR) + if [ -d $(LINUX_DIR) ]; then \ + rmdir $(LINUX_DIR); \ + fi + ln -s $(TOPDIR)/lichee/linux-$(KERNEL_PATCHVER) $(LINUX_DIR) +endef + +# +# $(1); the input file for initramfs +# +ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) + ifeq ($(strip $(CONFIG_EXTERNAL_CPIO)),"") + define Kernel/SetInitramfs/PreConfigure + grep -v -e INITRAMFS -e CONFIG_RD_ -e CONFIG_BLK_DEV_INITRD $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config + echo 'CONFIG_BLK_DEV_INITRD=y' >> $(LINUX_DIR)/.config + echo 'CONFIG_INITRAMFS_SOURCE="$(strip $(1) $(INITRAMFS_EXTRA_FILES))"' >> $(LINUX_DIR)/.config + endef + else + define Kernel/SetInitramfs/PreConfigure + grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config + echo 'CONFIG_BLK_DEV_INITRD=y' >> $(LINUX_DIR)/.config + echo 'CONFIG_INITRAMFS_SOURCE="$(call qstrip,$(CONFIG_EXTERNAL_CPIO))"' >> $(LINUX_DIR)/.config + endef + endif + + define Kernel/SetInitramfs + rm -f $(LINUX_DIR)/.config.prev + mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.old + $(call Kernel/SetInitramfs/PreConfigure,$(1)) + echo 'CONFIG_INITRAMFS_ROOT_UID=$(shell id -u)' >> $(LINUX_DIR)/.config + echo 'CONFIG_INITRAMFS_ROOT_GID=$(shell id -g)' >> $(LINUX_DIR)/.config + echo "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_NONE),CONFIG_INITRAMFS_COMPRESSION_NONE=y,# CONFIG_INITRAMFS_COMPRESSION_NONE is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_GZIP),CONFIG_INITRAMFS_COMPRESSION_GZIP=y\nCONFIG_RD_GZIP=y,# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set\n# CONFIG_RD_GZIP is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_BZIP2),CONFIG_INITRAMFS_COMPRESSION_BZIP2=y\nCONFIG_RD_BZIP2=y,# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set\n# CONFIG_RD_BZIP2 is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZMA),CONFIG_INITRAMFS_COMPRESSION_LZMA=y\nCONFIG_RD_LZMA=y,# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set\n# CONFIG_RD_LZMA is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZO),CONFIG_INITRAMFS_COMPRESSION_LZO=y\nCONFIG_RD_LZO=y,# CONFIG_INITRAMFS_COMPRESSION_LZO is not set\n# CONFIG_RD_LZO is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_XZ),CONFIG_INITRAMFS_COMPRESSION_XZ=y\nCONFIG_RD_XZ=y,# CONFIG_INITRAMFS_COMPRESSION_XZ is not set\n# CONFIG_RD_XZ is not set)" >> $(LINUX_DIR)/.config + echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZ4),CONFIG_INITRAMFS_COMPRESSION_LZ4=y\nCONFIG_RD_LZ4=y,# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set\n# CONFIG_RD_LZ4 is not set)" >> $(LINUX_DIR)/.config + endef +else +endif + +define Kernel/SetNoInitramfs + mv $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.old + grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config.set + echo 'CONFIG_INITRAMFS_SOURCE=""' >> $(LINUX_DIR)/.config.set +endef + +define Kernel/Configure/Default + +ifneq ($(CONFIG_KERNEL_CONFIG_FILE_SUFFIX_RECOVERY),) + $(LINUX_CONF_CMD_RECOVERY) > $(LINUX_DIR)/.config.target +else ifneq ($(CONFIG_KERNEL_CONFIG_FILE_SUFFIX_RAMFS),) + $(LINUX_CONF_CMD_RAMFS) > $(LINUX_DIR)/.config.target +else + $(LINUX_CONF_CMD) > $(LINUX_DIR)/.config.target +endif + +# copy CONFIG_KERNEL_* settings over to .config.target + awk '/^(#[[:space:]]+)?CONFIG_KERNEL/{sub("CONFIG_KERNEL_","CONFIG_");print}' $(TOPDIR)/.config >> $(LINUX_DIR)/.config.target + echo "# CONFIG_KALLSYMS_EXTRA_PASS is not set" >> $(LINUX_DIR)/.config.target + echo "# CONFIG_KALLSYMS_ALL is not set" >> $(LINUX_DIR)/.config.target + echo "CONFIG_KALLSYMS_UNCOMPRESSED=y" >> $(LINUX_DIR)/.config.target +ifneq ($(CONFIG_REDUCE_KERNEL_SIZE),) + $(SCRIPT_DIR)/reduce-kernel-size.sh d $(LINUX_DIR)/.config.target +endif + $(SCRIPT_DIR)/metadata.pl kconfig $(TMP_DIR)/.packageinfo $(TOPDIR)/.config $(KERNEL_PATCHVER) > $(LINUX_DIR)/.config.override + $(SCRIPT_DIR)/kconfig.pl 'm+' '+' $(LINUX_DIR)/.config.target /dev/null $(LINUX_DIR)/.config.override > $(LINUX_DIR)/.config.set + $(call Kernel/SetNoInitramfs) + rm -rf $(KERNEL_BUILD_DIR)/modules + cmp -s $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.prev || { \ + cp $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config; \ + cp $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.prev; \ + } + # update .config + $(_SINGLE) [ -f $(LINUX_DIR)/.config ] || cp $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config +ifneq ($(UPDATE_CONFIG),) + $(_SINGLE) $(MAKE) $(KERNEL_MAKEOPTS) defconfig KBUILD_DEFCONFIG="../../../.config.set" +endif +ifeq ($(CONFIG_COMPLILE_KERNEL64_USER32),y) + $(_SINGLE) [ -d $(LINUX_DIR)/user_headers ] || $(MAKE) $(subst arm64,arm,$(KERNEL_MAKEOPTS)) \ + INSTALL_HDR_PATH=$(LINUX_DIR)/user_headers headers_install +else +# $(_SINGLE) [ -d $(LINUX_DIR)/user_headers ] || $(MAKE) $(KERNEL_MAKEOPTS) INSTALL_HDR_PATH=$(LINUX_DIR)/user_headers headers_install + $(_SINGLE) $(MAKE) $(KERNEL_MAKEOPTS) INSTALL_HDR_PATH=$(LINUX_DIR)/user_headers headers_install +endif + $(SH_FUNC) grep '=[ym]' $(LINUX_DIR)/.config.set | LC_ALL=C sort | md5s > $(LINUX_DIR)/.vermagic +endef + +define Kernel/Configure/Initramfs + $(call Kernel/SetInitramfs,$(1)) +endef + +define Kernel/CompileModules/Default + rm -f $(LINUX_DIR)/vmlinux $(LINUX_DIR)/System.map + +$(MAKE) $(KERNEL_MAKEOPTS) modules +endef + +OBJCOPY_STRIP = -R .reginfo -R .notes -R .note -R .comment -R .mdebug -R .note.gnu.build-id + +# AMD64 shares the location with x86 +ifeq ($(LINUX_KARCH),x86_64) +IMAGES_DIR:=../../x86/boot +endif + +define Kernel/CopyImage + cmp -s $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux$(1).debug || { \ + $(KERNEL_CROSS)objcopy -O binary $(OBJCOPY_STRIP) -S $(LINUX_DIR)/vmlinux $(LINUX_KERNEL)$(1); \ + $(KERNEL_CROSS)objcopy $(OBJCOPY_STRIP) -S $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux$(1).elf; \ + $(CP) $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux$(1).debug; \ + $(CP) $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/$(IMAGES_DIR)/Image $(KERNEL_BUILD_DIR)/bImage$(1); \ + $(foreach k, \ + $(if $(KERNEL_IMAGES),$(KERNEL_IMAGES),$(filter-out dtbs,$(KERNELNAME))), \ + $(CP) $(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/$(IMAGES_DIR)/$(k) $(KERNEL_BUILD_DIR)/$(k)$(1); \ + ) \ + } +endef + +define Kernel/CompileImage/Default + rm -f $(TARGET_DIR)/init + +$(MAKE) $(KERNEL_MAKEOPTS) $(if $(KERNELNAME),$(KERNELNAME),all) modules +$(call Kernel/CopyImage) +endef + +ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) +define Kernel/CompileImage/Initramfs + $(foreach hook,$(Hooks/mkfs/Pre),$(call $(hook),initramfs,root)$(sep)) + $(call Kernel/Configure/Initramfs,$(if $(Image/Input),$(Image/Input),$(TARGET_DIR))) + $(CP) $(GENERIC_PLATFORM_DIR)/base-files/init $(TARGET_DIR)/init + rm -rf $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)/usr/initramfs_data.cpio* +ifneq ($(CONFIG_SUNXI_SMALL_STORAGE_OTA),) + $(call Aw/BuildUpgradeImage/normal-prepare,$(TARGET_DIR),./temp_usr) +endif + +$(MAKE) $(KERNEL_MAKEOPTS) $(if $(KERNELNAME),$(KERNELNAME),all) modules +ifneq ($(CONFIG_SUNXI_SMALL_STORAGE_OTA),) + $(call Aw/BuildUpgradeImage/normal-resume,$(TARGET_DIR),./temp_usr) +endif + $(foreach hook,$(Hooks/mkfs/post),$(call $(hook),$(1),$(2))$(sep)) + $(eval Image/Input:=) + $(call Kernel/CopyImage,-initramfs) +endef +else +define Kernel/CompileImage/Initramfs +endef +endif + +define Kernel/Clean/Default + rm -f $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)/.configured + rm -f $(LINUX_KERNEL) + $(_SINGLE)$(MAKE) -C $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) clean +endef + + diff --git a/build/kernel-version.mk b/build/kernel-version.mk new file mode 100644 index 0000000..149eb8c --- /dev/null +++ b/build/kernel-version.mk @@ -0,0 +1,34 @@ +# Use the default kernel version if the Makefile doesn't override it + +LINUX_RELEASE?=1 + +LINUX_VERSION-3.4 ?= .39 +LINUX_VERSION-3.10 ?= .65 +LINUX_VERSION-3.18 ?= .26 +LINUX_VERSION-4.1 ?= .16 +LINUX_VERSION-4.3 ?= .4 +LINUX_VERSION-4.4 ?= .89 +LINUX_VERSION-4.9 ?= .191 +LINUX_VERSION-5.4 ?= .61 + +LINUX_KERNEL_MD5SUM-3.18.26 = fb3ef8da32a25607807887b9567a6927 +LINUX_KERNEL_MD5SUM-4.1.16 = e4bf22fed49b476b47acffc00c03267a +LINUX_KERNEL_MD5SUM-4.3.4 = 5275d02132107c28b85f986bad576d91 +LINUX_KERNEL_MD5SUM-4.4 = 9a78fa2eb6c68ca5a40ed5af08142599 + +#avoid append a plus sign in kernel verison, refer to linux-X.X/scripts/setlocalversion +export LOCALVERSION="" + +ifdef KERNEL_PATCHVER + LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER))) +endif + +split_version=$(subst ., ,$(1)) +merge_version=$(subst $(space),.,$(1)) +KERNEL_BASE=$(firstword $(subst -, ,$(LINUX_VERSION))) +KERNEL=$(call merge_version,$(wordlist 1,2,$(call split_version,$(KERNEL_BASE)))) +KERNEL_PATCHVER ?= $(KERNEL) + +# disable the md5sum check for unknown kernel versions +LINUX_KERNEL_MD5SUM:=$(LINUX_KERNEL_MD5SUM-$(strip $(LINUX_VERSION))) +LINUX_KERNEL_MD5SUM?=x diff --git a/build/kernel.mk b/build/kernel.mk new file mode 100755 index 0000000..85ecff2 --- /dev/null +++ b/build/kernel.mk @@ -0,0 +1,247 @@ +# +# Copyright (C) 2006-2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifneq ($(__build/kernel.mk_inc),1) +__build/kernel.mk_inc=1 + +ifeq ($(__target_inc),) + include $(BUILD_DIR)/target.mk +endif + +ifeq ($(DUMP),1) + KERNEL?= + BOARD?= + LINUX_VERSION?= + LINUX_VERMAGIC?= +else + ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) + export GCC_HONOUR_COPTS=s + endif + + LINUX_KMOD_SUFFIX=ko + + ifneq (,$(findstring uml,$(BOARD))) + KERNEL_CC?=$(HOSTCC) + KERNEL_CROSS?= + else + KERNEL_CC?=$(TARGET_CC) + KERNEL_CROSS?=$(TARGET_CROSS) + endif + + ifeq ($(TARGET_BUILD),1) + PATCH_DIR ?= ./patches$(if $(wildcard ./patches-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER)) + FILES_DIR ?= $(foreach dir,$(wildcard ./files ./files-$(KERNEL_PATCHVER)),"$(dir)") + endif + KERNEL_BUILD_DIR ?= $(COMPILE_DIR)/linux-$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET)) + LINUX_DIR ?= $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION) + LINUX_UAPI_DIR=uapi/ + LINUX_VERMAGIC:=$(strip $(shell cat $(LINUX_DIR)/.vermagic 2>/dev/null)) + LINUX_VERMAGIC:=$(if $(LINUX_VERMAGIC),$(LINUX_VERMAGIC),unknown) + + LINUX_UNAME_VERSION:=$(if $(word 3,$(subst ., ,$(KERNEL_BASE))),$(KERNEL_BASE),$(KERNEL_BASE).0) + ifneq ($(findstring -rc,$(LINUX_VERSION)),) + LINUX_UNAME_VERSION:=$(LINUX_UNAME_VERSION)-$(strip $(lastword $(subst -, ,$(LINUX_VERSION)))) + endif + + MODULES_SUBDIR:=lib/modules/$(LINUX_UNAME_VERSION) + TARGET_MODULES_DIR := $(LINUX_TARGET_DIR)/$(MODULES_SUBDIR) + + LINUX_KERNEL:=$(KERNEL_BUILD_DIR)/vmlinux + + LINUX_SOURCE:=linux-$(LINUX_VERSION).tar.xz + TESTING:=$(if $(findstring -rc,$(LINUX_VERSION)),/testing,) + #LINUX_SITE:=@KERNEL/linux/kernel/v$(word 1,$(subst ., ,$(KERNEL_BASE))).x$(TESTING) + + ifneq ($(TARGET_BUILD),1) + PKG_BUILD_DIR ?= $(KERNEL_BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION)) + endif +endif + +ifneq (,$(findstring uml,$(BOARD))) + LINUX_KARCH=um +else ifneq (,$(findstring $(ARCH) , aarch64 aarch64_be )) + LINUX_KARCH := arm64 +else ifneq (,$(findstring $(ARCH) , arceb )) + LINUX_KARCH := arc +else ifneq (,$(findstring $(ARCH) , armeb )) + LINUX_KARCH := arm +else ifneq (,$(findstring $(ARCH) , mipsel mips64 mips64el )) + LINUX_KARCH := mips +else ifneq (,$(findstring $(ARCH) , sh2 sh3 sh4 )) + LINUX_KARCH := sh +else ifneq (,$(findstring $(ARCH) , i386 x86_64 )) + LINUX_KARCH := x86 +else + LINUX_KARCH := $(ARCH) +endif + +define KernelPackage/Defaults + FILES:= + AUTOLOAD:= +endef + +define ModuleAutoLoad + $(SH_FUNC) \ + export modules=; \ + probe_module() { \ + mods="$$$$$$$$1"; \ + boot="$$$$$$$$2"; \ + shift 2; \ + for mod in $(sort $$$$$$$$mods); do \ + mkdir -p $(2)/etc/modules.d; \ + echo "$$$$$$$$mod" >> $(2)/etc/modules.d/$(1); \ + done; \ + if [ -e $(2)/etc/modules.d/$(1) ]; then \ + if [ "$$$$$$$$boot" = "1" ]; then \ + mkdir -p $(2)/etc/modules-boot.d; \ + ln -s ../modules.d/$(1) $(2)/etc/modules-boot.d/; \ + fi; \ + modules="$$$$$$$${modules:+$$$$$$$$modules }$$$$$$$$mods"; \ + fi; \ + }; \ + add_module() { \ + priority="$$$$$$$$1"; \ + mods="$$$$$$$$2"; \ + boot="$$$$$$$$3"; \ + shift 3; \ + for mod in $(sort $$$$$$$$mods); do \ + mkdir -p $(2)/etc/modules.d; \ + echo "$$$$$$$$mod" >> $(2)/etc/modules.d/$$$$$$$$priority-$(1); \ + done; \ + if [ -e $(2)/etc/modules.d/$$$$$$$$priority-$(1) ]; then \ + if [ "$$$$$$$$boot" = "1" ]; then \ + mkdir -p $(2)/etc/modules-boot.d; \ + ln -s ../modules.d/$$$$$$$$priority-$(1) $(2)/etc/modules-boot.d/; \ + fi; \ + modules="$$$$$$$${modules:+$$$$$$$$modules }$$$$$$$$priority-$(1)"; \ + fi; \ + }; \ + $(3) \ + if [ -n "$$$$$$$$modules" ]; then \ + mkdir -p $(2)/etc/modules.d; \ + mkdir -p $(2)/CONTROL; \ + echo "#!/bin/sh" > $(2)/CONTROL/postinst-pkg; \ + echo "[ -z \"\$$$$$$$$IPKG_INSTROOT\" ] || exit 0" >> $(2)/CONTROL/postinst-pkg; \ + echo ". /lib/functions.sh" >> $(2)/CONTROL/postinst-pkg; \ + echo "insert_modules $$$$$$$$modules" >> $(2)/CONTROL/postinst-pkg; \ + chmod 0755 $(2)/CONTROL/postinst-pkg; \ + fi +endef + +ifeq ($(DUMP)$(TARGET_BUILD),) + -include $(LINUX_DIR)/.config +endif + +define KernelPackage/depends + $(STAMP_BUILT): $(LINUX_DIR)/.config + define KernelPackage/depends + endef +endef + +define KernelPackage + NAME:=$(1) + $(eval $(call Package/Default)) + $(eval $(call KernelPackage/Defaults)) + $(eval $(call KernelPackage/$(1))) + $(eval $(call KernelPackage/$(1)/$(BOARD))) + + define Package/kmod-$(1) + TITLE:=$(TITLE) + SECTION:=kernel + CATEGORY:=Kernel modules + DESCRIPTION:=$(DESCRIPTION) + EXTRA_DEPENDS:=kernel (=$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC)) + VERSION:=$(LINUX_VERSION)$(if $(PKG_VERSION),+$(PKG_VERSION))-$(if $(PKG_RELEASE),$(PKG_RELEASE),$(LINUX_RELEASE)) + PACKAGE_SUBDIR:=$(if $(FEED),$(FEED),kernel) + STAMP_CONFIGURED:=$(if $(call detectfile,$(STAMP_CONFIGURED)_$(call detectfile_y,$(FILES))),$(STAMP_CONFIGURED)_$(call detectfile,$(FILES)),$(STAMP_CONFIGURED)_$(call detectfile_y,$(FILES))) + + $(call KernelPackage/$(1)) + $(call KernelPackage/$(1)/$(BOARD)) + endef + + ifdef KernelPackage/$(1)/conffiles + define Package/kmod-$(1)/conffiles +$(call KernelPackage/$(1)/conffiles) + endef + endif + + ifdef KernelPackage/$(1)/description + define Package/kmod-$(1)/description +$(call KernelPackage/$(1)/description) + endef + endif + + ifdef KernelPackage/$(1)/config + define Package/kmod-$(1)/config +$(call KernelPackage/$(1)/config) + endef + endif + + $(call KernelPackage/depends) + + ifneq ($(if $(filter-out %=y %=n %=m,$(KCONFIG)),$(filter m y,$(foreach c,$(filter-out %=y %=n %=m,$(KCONFIG)),$($(c)))),.),) + ifneq ($(strip $(FILES)),) + define Package/kmod-$(1)/install + @for mod in $$(call version_filter,$$(FILES)); do \ + if grep -q "$$$$$$$${mod##$(LINUX_DIR)/}" "$(LINUX_DIR)/modules.builtin"; then \ + echo "NOTICE: module '$$$$$$$$mod' is built-in."; \ + elif [ -e $$$$$$$$mod ]; then \ + mkdir -p $$(1)/$(MODULES_SUBDIR) ; \ + $(CP) -L $$$$$$$$mod $$(1)/$(MODULES_SUBDIR)/ ; \ + else \ + echo "ERROR: module '$$$$$$$$mod' is missing." >&2; \ + exit 1; \ + fi; \ + done; + $(call ModuleAutoLoad,$(1),$$(1),$(AUTOLOAD)) + $(call KernelPackage/$(1)/install,$$(1)) + endef + endif + $(if $(CONFIG_PACKAGE_kmod-$(1)), + else + compile: $(1)-disabled + $(1)-disabled: + @echo "WARNING: kmod-$(1) is not available in the kernel config - generating empty package" >&2 + + define Package/kmod-$(1)/install + true + endef + ) + endif + $$(eval $$(call BuildPackage,kmod-$(1))) + + $$(IPKG_kmod-$(1)): $$(wildcard $$(FILES)) +endef + +version_filter=$(if $(findstring @,$(1)),$(shell $(SCRIPT_DIR)/metadata.pl version_filter $(KERNEL_PATCHVER) $(1)),$(1)) + +define AutoLoad + add_module "$(1)" "$(call version_filter,$(2))" "$(3)"; +endef + +define AutoProbe + probe_module "$(call version_filter,$(1))" "$(2)"; +endef + +version_field=$(if $(word $(1),$(2)),$(word $(1),$(2)),0) +kernel_version_merge=$$(( ($(call version_field,1,$(1)) << 24) + ($(call version_field,2,$(1)) << 16) + ($(call version_field,3,$(1)) << 8) + $(call version_field,4,$(1)) )) + +ifdef DUMP + kernel_version_cmp= +else + kernel_version_cmp=$(shell [ $(call kernel_version_merge,$(call split_version,$(2))) $(1) $(call kernel_version_merge,$(call split_version,$(3))) ] && echo 1 ) +endif + +CompareKernelPatchVer=$(if $(call kernel_version_cmp,-$(2),$(1),$(3)),1,0) + +kernel_patchver_gt=$(call kernel_version_cmp,-gt,$(KERNEL_PATCHVER),$(1)) +kernel_patchver_ge=$(call kernel_version_cmp,-ge,$(KERNEL_PATCHVER),$(1)) +kernel_patchver_eq=$(call kernel_version_cmp,-eq,$(KERNEL_PATCHVER),$(1)) +kernel_patchver_le=$(call kernel_version_cmp,-le,$(KERNEL_PATCHVER),$(1)) +kernel_patchver_lt=$(call kernel_version_cmp,-lt,$(KERNEL_PATCHVER),$(1)) + +endif #__build/kernel.mk_inc diff --git a/build/main.mk b/build/main.mk new file mode 100644 index 0000000..c1aaaaa --- /dev/null +++ b/build/main.mk @@ -0,0 +1,96 @@ +# Makefile for OpenWrt +# +# Copyright (C) 2007 OpenWrt.org +# Copyright (C) 2016 tracewong +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +TOPDIR:=${CURDIR} +LC_ALL:=C +LANG:=C +TZ:=UTC +export TOPDIR LC_ALL LANG TZ + +empty:= +space:= $(empty) $(empty) +$(if $(findstring $(space),$(TOPDIR)),$(error ERROR: The path to the OpenWrt directory must not include any spaces)) + +world: + +include $(TOPDIR)/build/host.mk + +ifneq ($(OPENWRT_BUILD),1) + _SINGLE=export MAKEFLAGS=$(space); + + override OPENWRT_BUILD=1 + export OPENWRT_BUILD + GREP_OPTIONS= + export GREP_OPTIONS + include $(TOPDIR)/build/debug.mk + include $(TOPDIR)/build/depends.mk + include $(TOPDIR)/build/toplevel.mk +else + include rules.mk + include $(BUILD_DIR)/depends.mk + include $(BUILD_DIR)/subdir.mk + include target/Makefile + include package/Makefile + include tools/Makefile + include toolchain/Makefile + +$(toolchain/stamp-install): $(tools/stamp-install) +$(target/stamp-compile): $(toolchain/stamp-install) $(tools/stamp-install) $(COMPILE_DIR)/.prepared +$(package/stamp-compile): $(target/stamp-compile) $(package/stamp-cleanup) +$(package/stamp-install): $(package/stamp-compile) +$(target/stamp-install): $(package/stamp-compile) $(package/stamp-install) + +printdb: + @true + +prepare: $(target/stamp-compile) + +clean: FORCE + -@$(FIND) $(TARGET_OUT_DIR) -name ".built*" -exec rm {} \; + -@$(FIND) $(TARGET_OUT_DIR) -name ".configured*" -exec rm {} \; + -@$(FIND) $(TARGET_OUT_DIR) -name ".dep_*" -exec rm {} \; + -@$(FIND) $(TARGET_OUT_DIR) -name ".prepared*" -exec rm {} \; + +dirclean: clean + rm -rf $(STAGING_DIR_HOST) $(TOOLCHAIN_DIR) $(COMPILE_DIR_HOST) $(COMPILE_DIR_TOOLCHAIN) + rm -rf $(TMP_DIR) + +ifndef DUMP_TARGET_DB +$(COMPILE_DIR)/.prepared: Makefile + @mkdir -p $$(dirname $@) + @touch $@ + +tmp/.prereq_packages: .config + unset ERROR; \ + for package in $(sort $(prereq-y) $(prereq-m)); do \ + $(_SINGLE)$(NO_TRACE_MAKE) -s -r -C package/$$package prereq || ERROR=1; \ + done; \ + if [ -n "$$ERROR" ]; then \ + echo "Package prerequisite check failed."; \ + false; \ + fi + touch $@ +endif + +# check prerequisites before starting to build +prereq: $(target/stamp-prereq) tmp/.prereq_packages + @if [ ! -f "$(BUILD_DIR)/site/$(ARCH)" ]; then \ + echo 'ERROR: Missing site config for architecture "$(ARCH)" !'; \ + echo ' The missing file will cause configure scripts to fail during compilation.'; \ + echo ' Please provide a "$(BUILD_DIR)/site/$(ARCH)" file and restart the build.'; \ + exit 1; \ + fi + +prepare: .config $(tools/stamp-install) $(toolchain/stamp-install) +world: prepare $(target/stamp-compile) $(package/stamp-compile) $(package/stamp-install) $(target/stamp-install) FORCE + $(_SINGLE)$(SUBMAKE) -r package/index + +.PHONY: clean dirclean prereq prepare world package/symlinks package/symlinks-install package/symlinks-clean + +endif diff --git a/build/netfilter.mk b/build/netfilter.mk new file mode 100755 index 0000000..5de9ff8 --- /dev/null +++ b/build/netfilter.mk @@ -0,0 +1,379 @@ +# +# Copyright (C) 2006-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifneq ($(__inc_netfilter),1) +__inc_netfilter:=1 + +ifeq ($(NF_KMOD),1) +P_V4:=ipv4/netfilter/ +P_V6:=ipv6/netfilter/ +P_XT:=netfilter/ +P_EBT:=bridge/netfilter/ +endif + +# 1: variable +# 2: kconfig symbols +# 3: file list +# 4: version dependency +define nf_add + $(if $(4),ifeq ($$(strip $$(call CompareKernelPatchVer,$$(KERNEL_PATCHVER),$(firstword $(4)),$(lastword $(4)))),1)) + $(1)-$$($(2)) += $(3) + $(if $(4),endif) + KCONFIG_$(1) = $(filter-out $(2),$(KCONFIG_$(1))) $(2) +endef + + +# core + +# kernel only +$(eval $(if $(NF_KMOD),$(call nf_add,NF_IPT,CONFIG_IP_NF_IPTABLES, $(P_V4)ip_tables),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_IPT,CONFIG_NETFILTER_XTABLES, $(P_XT)x_tables),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_CORE,CONFIG_NETFILTER_XTABLES, $(P_XT)xt_tcpudp),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_CORE,CONFIG_IP_NF_FILTER, $(P_V4)iptable_filter),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_CORE,CONFIG_IP_NF_MANGLE, $(P_V4)iptable_mangle),)) + +# userland only +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_CORE,CONFIG_IP_NF_IPTABLES, xt_standard ipt_icmp xt_tcp xt_udp xt_comment xt_id xt_set xt_SET))) + +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_LIMIT, $(P_XT)xt_limit)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_MAC, $(P_XT)xt_mac)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_MULTIPORT, $(P_XT)xt_multiport)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_COMMENT, $(P_XT)xt_comment)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_ID, $(P_XT)xt_id)) + +#cluster +$(eval $(call nf_add,IPT_CLUSTER,CONFIG_NETFILTER_XT_MATCH_CLUSTER, $(P_XT)xt_cluster)) + +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_LOG, $(P_XT)xt_LOG)) +#$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_LOG, $(P_XT)nf_log_common)) +#$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_LOG, $(P_V4)nf_log_ipv4)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_TCPMSS, $(P_XT)xt_TCPMSS)) +$(eval $(call nf_add,IPT_CORE,CONFIG_IP_NF_TARGET_REJECT, $(P_V4)ipt_REJECT)) +#$(eval $(call nf_add,IPT_CORE,CONFIG_IP_NF_TARGET_REJECT, $(P_V4)nf_reject_ipv4)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_TIME, $(P_XT)xt_time)) +$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MARK, $(P_XT)xt_mark)) + +# kernel has xt_MARK.ko merged into xt_mark.ko, userspace is still separate +# userland: xt_MARK.so +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MARK, $(P_XT)xt_MARK))) + + +# conntrack + +# kernel only +$(eval $(if $(NF_KMOD),$(call nf_add,NF_CONNTRACK,CONFIG_NF_CONNTRACK, $(P_XT)nf_conntrack),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_CONNTRACK,CONFIG_NF_CONNTRACK_RTCACHE, $(P_XT)nf_conntrack_rtcache),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_CONNTRACK,CONFIG_NF_DEFRAG_IPV4, $(P_V4)nf_defrag_ipv4),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_CONNTRACK,CONFIG_NF_CONNTRACK_IPV4, $(P_V4)nf_conntrack_ipv4),)) + +$(eval $(call nf_add,IPT_CONNTRACK,CONFIG_NETFILTER_XT_MATCH_STATE, $(P_XT)xt_state)) +$(eval $(call nf_add,IPT_CONNTRACK,CONFIG_IP_NF_RAW, $(P_V4)iptable_raw)) +$(eval $(call nf_add,IPT_CONNTRACK,CONFIG_NETFILTER_XT_TARGET_CT, $(P_XT)xt_CT)) +$(eval $(call nf_add,IPT_CONNTRACK,CONFIG_NETFILTER_XT_MATCH_CONNTRACK, $(P_XT)xt_conntrack)) + + +# conntrack-extra + +$(eval $(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_MATCH_CONNBYTES, $(P_XT)xt_connbytes)) +$(eval $(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_MATCH_CONNLIMIT, $(P_XT)xt_connlimit)) +$(eval $(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_CONNMARK, $(P_XT)xt_connmark)) +$(eval $(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_MATCH_HELPER, $(P_XT)xt_helper)) +$(eval $(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_MATCH_RECENT, $(P_XT)xt_recent)) + +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_CONNMARK, $(P_XT)xt_CONNMARK))) + +# extra + +$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_ADDRTYPE, $(if $(NF_KMOD),$(P_XT)xt_addrtype,$(P_XT)ipt_addrtype))) +$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_OWNER, $(P_XT)xt_owner)) +$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_PHYSDEV, $(P_XT)xt_physdev)) +$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_PKTTYPE, $(P_XT)xt_pkttype)) +$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_QUOTA, $(P_XT)xt_quota)) + +#$(eval $(call nf_add,IPT_EXTRA,CONFIG_IP_NF_TARGET_ROUTE, $(P_V4)ipt_ROUTE)) + + +# filter + +$(eval $(call nf_add,IPT_FILTER,CONFIG_NETFILTER_XT_MATCH_STRING, $(P_XT)xt_string)) + + +# ipopt + +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_DSCP, $(P_XT)xt_dscp)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_DSCP, $(P_XT)xt_DSCP)) +$(eval $(call nf_add,IPT_HASHLIMIT,CONFIG_NETFILTER_XT_MATCH_HASHLIMIT, $(P_XT)xt_hashlimit)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_LENGTH, $(P_XT)xt_length)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_STATISTIC, $(P_XT)xt_statistic)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_TCPMSS, $(P_XT)xt_tcpmss)) + +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_CLASSIFY, $(P_XT)xt_CLASSIFY)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_MATCH_DSCP, $(P_V4)ipt_dscp)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_TARGET_ECN, $(P_V4)ipt_ECN)) + +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_ECN, $(P_XT)xt_ecn)) + +# userland only +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_DSCP, xt_tos))) +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_DSCP, xt_TOS))) +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_HL, ipt_ttl))) +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_HL, ipt_TTL))) + +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_HL, $(P_XT)xt_hl)) +$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_HL, $(P_XT)xt_HL)) + +# iprange +$(eval $(call nf_add,IPT_IPRANGE,CONFIG_NETFILTER_XT_MATCH_IPRANGE, $(P_XT)xt_iprange)) + +#clusterip +$(eval $(call nf_add,IPT_CLUSTERIP,CONFIG_IP_NF_TARGET_CLUSTERIP, $(P_V4)ipt_CLUSTERIP)) + +# ipsec +$(eval $(call nf_add,IPT_IPSEC,CONFIG_IP_NF_MATCH_AH, $(P_V4)ipt_ah)) +$(eval $(call nf_add,IPT_IPSEC,CONFIG_NETFILTER_XT_MATCH_ESP, $(P_XT)xt_esp)) +$(eval $(call nf_add,IPT_IPSEC,CONFIG_NETFILTER_XT_MATCH_POLICY, $(P_XT)xt_policy)) + + +# IPv6 + +# kernel only +$(eval $(if $(NF_KMOD),$(call nf_add,NF_IPT6,CONFIG_IP6_NF_IPTABLES, $(P_V6)ip6_tables),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,NF_CONNTRACK6,CONFIG_NF_DEFRAG_IPV6, $(P_V6)nf_defrag_ipv6),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_CONNTRACK6,CONFIG_NF_CONNTRACK_IPV6, $(P_V6)nf_conntrack_ipv6),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_FILTER, $(P_V6)ip6table_filter),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_MANGLE, $(P_V6)ip6table_mangle),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_QUEUE, $(P_V6)ip6_queue),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_RAW, $(P_V6)ip6table_raw),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_NF_LOG_IPV6, $(P_V6)nf_log_ipv6),)) + +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_IPTABLES, ip6t_icmp6))) + + +$(eval $(call nf_add,IPT_IPV6,CONFIG_IP6_NF_TARGET_LOG, $(P_V6)ip6t_LOG)) +$(eval $(call nf_add,IPT_IPV6,CONFIG_IP6_NF_TARGET_REJECT, $(P_V6)ip6t_REJECT)) +#$(eval $(call nf_add,IPT_IPV6,CONFIG_IP6_NF_TARGET_REJECT, $(P_V6)nf_reject_ipv6)) + +# ipv6 extra +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_IPV6HEADER, $(P_V6)ip6t_ipv6header)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_AH, $(P_V6)ip6t_ah)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_MH, $(P_V6)ip6t_mh)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_EUI64, $(P_V6)ip6t_eui64)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_OPTS, $(P_V6)ip6t_hbh)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_FRAG, $(P_V6)ip6t_frag)) +$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_RT, $(P_V6)ip6t_rt)) + +# nat + +# kernel only +$(eval $(if $(NF_KMOD),$(call nf_add,NF_NAT,CONFIG_NF_NAT, $(P_XT)nf_nat),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_NAT,CONFIG_NF_NAT_REDIRECT, $(P_XT)nf_nat_redirect, ge 3.19.0),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_NAT,CONFIG_NF_NAT_IPV4, $(P_V4)nf_nat_ipv4),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NF_NAT6,CONFIG_NF_NAT_IPV6, $(P_V6)nf_nat_ipv6),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT,CONFIG_NETFILTER_XT_NAT, $(P_XT)xt_nat),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT,CONFIG_IP_NF_NAT, $(P_V4)iptable_nat),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT6,CONFIG_IP6_NF_NAT, $(P_V6)ip6table_nat),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT6,CONFIG_IP6_NF_NAT, $(P_V6)nf_nat_masquerade_ipv6),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT6,CONFIG_IP6_NF_TARGET_MASQUERADE, $(P_V6)ip6t_MASQUERADE),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT6,CONFIG_IP6_NF_TARGET_NPT, $(P_V6)ip6t_NPT),)) + +# userland only +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_NAT,CONFIG_NF_NAT, ipt_SNAT ipt_DNAT))) +$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_NAT6,CONFIG_IP6_NF_TARGET_NPT, ip6t_DNPT ip6t_SNPT))) + +#$(eval $(call nf_add,IPT_NAT,CONFIG_IP_NF_TARGET_MASQUERADE, $(P_V4)ipt_MASQUERADE)) +#$(eval $(call nf_add,IPT_NAT,CONFIG_IP_NF_TARGET_MASQUERADE, $(P_V4)nf_nat_masquerade_ipv4)) +$(eval $(call nf_add,IPT_NAT,CONFIG_IP_NF_TARGET_REDIRECT, $(P_XT)xt_REDIRECT)) + + +# nat-extra + +$(eval $(call nf_add,IPT_NAT_EXTRA,CONFIG_IP_NF_TARGET_NETMAP, $(P_XT)xt_NETMAP)) + + +# nathelper + +$(eval $(call nf_add,NF_NATHELPER,CONFIG_NF_CONNTRACK_FTP, $(P_XT)nf_conntrack_ftp)) +$(eval $(call nf_add,NF_NATHELPER,CONFIG_NF_NAT_FTP, $(P_XT)nf_nat_ftp)) + + +# nathelper-extra + +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_BROADCAST, $(P_XT)nf_conntrack_broadcast)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_AMANDA, $(P_XT)nf_conntrack_amanda)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_AMANDA, $(P_XT)nf_nat_amanda)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CT_PROTO_GRE, $(P_XT)nf_conntrack_proto_gre)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_PROTO_GRE, $(P_V4)nf_nat_proto_gre)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_H323, $(P_XT)nf_conntrack_h323)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_H323, $(P_V4)nf_nat_h323)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_PPTP, $(P_XT)nf_conntrack_pptp)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_PPTP, $(P_V4)nf_nat_pptp)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_SIP, $(P_XT)nf_conntrack_sip)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_SIP, $(P_XT)nf_nat_sip)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_SNMP, $(P_XT)nf_conntrack_snmp)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_SNMP_BASIC, $(P_V4)nf_nat_snmp_basic)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_TFTP, $(P_XT)nf_conntrack_tftp)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_TFTP, $(P_XT)nf_nat_tftp)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_IRC, $(P_XT)nf_conntrack_irc)) +$(eval $(call nf_add,NF_NATHELPER_EXTRA,CONFIG_NF_NAT_IRC, $(P_XT)nf_nat_irc)) + + +# ulog + +$(eval $(call nf_add,IPT_ULOG,CONFIG_IP_NF_TARGET_ULOG, $(P_V4)ipt_ULOG)) + + +# nflog + +$(eval $(call nf_add,IPT_NFLOG,CONFIG_NETFILTER_XT_TARGET_NFLOG, $(P_XT)xt_NFLOG)) + + +# nfqueue + +$(eval $(call nf_add,IPT_NFQUEUE,CONFIG_NETFILTER_XT_TARGET_NFQUEUE, $(P_XT)xt_NFQUEUE)) + + +# debugging + +$(eval $(call nf_add,IPT_DEBUG,CONFIG_NETFILTER_XT_TARGET_TRACE, $(P_XT)xt_TRACE)) + +# tproxy + +$(eval $(call nf_add,IPT_TPROXY,CONFIG_NETFILTER_XT_MATCH_SOCKET, $(P_XT)xt_socket)) +$(eval $(call nf_add,IPT_TPROXY,CONFIG_NETFILTER_XT_TARGET_TPROXY, $(P_XT)xt_TPROXY)) + +# led +$(eval $(call nf_add,IPT_LED,CONFIG_NETFILTER_XT_TARGET_LED, $(P_XT)xt_LED)) + +# tee + +$(eval $(call nf_add,IPT_TEE,CONFIG_NETFILTER_XT_TARGET_TEE, $(P_XT)xt_TEE)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_TEE,CONFIG_NF_DUP_IPV4, $(P_V4)nf_dup_ipv4, ge 4.3),)) +$(eval $(if $(NF_KMOD),$(call nf_add,IPT_TEE,CONFIG_NF_DUP_IPV6, $(P_V6)nf_dup_ipv6, ge 4.3),)) + +# u32 + +$(eval $(call nf_add,IPT_U32,CONFIG_NETFILTER_XT_MATCH_U32, $(P_XT)xt_u32)) + + +# netlink + +$(eval $(call nf_add,NFNETLINK,CONFIG_NETFILTER_NETLINK, $(P_XT)nfnetlink)) + +# nflog + +$(eval $(call nf_add,NFNETLINK_LOG,CONFIG_NETFILTER_NETLINK_LOG, $(P_XT)nfnetlink_log)) + +# nfqueue + +$(eval $(call nf_add,NFNETLINK_QUEUE,CONFIG_NETFILTER_NETLINK_QUEUE, $(P_XT)nfnetlink_queue)) + +# +# ebtables +# + +$(eval $(if $(NF_KMOD),$(call nf_add,EBTABLES,CONFIG_BRIDGE_NF_EBTABLES, $(P_EBT)ebtables),)) + +# ebtables: tables +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_BROUTE, $(P_EBT)ebtable_broute)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_T_FILTER, $(P_EBT)ebtable_filter)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_T_NAT, $(P_EBT)ebtable_nat)) + +# ebtables: matches +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_802_3, $(P_EBT)ebt_802_3)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_AMONG, $(P_EBT)ebt_among)) +$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_ARP, $(P_EBT)ebt_arp)) +$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_IP, $(P_EBT)ebt_ip)) +$(eval $(call nf_add,EBTABLES_IP6,CONFIG_BRIDGE_EBT_IP6, $(P_EBT)ebt_ip6)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_LIMIT, $(P_EBT)ebt_limit)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_MARK, $(P_EBT)ebt_mark_m)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_PKTTYPE, $(P_EBT)ebt_pkttype)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_STP, $(P_EBT)ebt_stp)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_VLAN, $(P_EBT)ebt_vlan)) + +# targets +$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_ARPREPLY, $(P_EBT)ebt_arpreply)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_MARK_T, $(P_EBT)ebt_mark)) +$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_DNAT, $(P_EBT)ebt_dnat)) +$(eval $(call nf_add,EBTABLES,CONFIG_BRIDGE_EBT_REDIRECT, $(P_EBT)ebt_redirect)) +$(eval $(call nf_add,EBTABLES_IP4,CONFIG_BRIDGE_EBT_SNAT, $(P_EBT)ebt_snat)) + +# watchers +$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_LOG, $(P_EBT)ebt_log)) +$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_ULOG, $(P_EBT)ebt_ulog)) +$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_NFLOG, $(P_EBT)ebt_nflog)) +$(eval $(call nf_add,EBTABLES_WATCHERS,CONFIG_BRIDGE_EBT_NFQUEUE, $(P_EBT)ebt_nfqueue)) + +# nftables +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NF_TABLES, $(P_XT)nf_tables),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NF_TABLES_INET, $(P_XT)nf_tables_inet),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_EXTHDR, $(P_XT)nft_exthdr),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_META, $(P_XT)nft_meta),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_CT, $(P_XT)nft_ct),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_RBTREE, $(P_XT)nft_rbtree),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_HASH, $(P_XT)nft_hash),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_COUNTER, $(P_XT)nft_counter),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_LOG, $(P_XT)nft_log),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_LIMIT, $(P_XT)nft_limit),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_REJECT, $(P_XT)nft_reject $(P_V4)nft_reject_ipv4 $(P_V6)nft_reject_ipv6),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_REJECT_INET, $(P_XT)nft_reject_inet),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NF_REJECT_IPV4, $(P_V4)nf_reject_ipv4),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NF_REJECT_IPV6, $(P_V6)nf_reject_ipv6),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NF_TABLES_IPV4, $(P_V4)nf_tables_ipv4),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_CHAIN_ROUTE_IPV4, $(P_V4)nft_chain_route_ipv4),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NF_TABLES_IPV6, $(P_V6)nf_tables_ipv6),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_CHAIN_ROUTE_IPV6, $(P_V6)nft_chain_route_ipv6),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_CORE,CONFIG_NFT_REDIR, $(P_XT)nft_redir, ge 3.19.0),)) + +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_NAT, $(P_XT)nft_nat),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NF_NAT_MASQUERADE_IPV4, $(P_V4)nf_nat_masquerade_ipv4),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NF_NAT_MASQUERADE_IPV6, $(P_V6)nf_nat_masquerade_ipv6),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_CHAIN_NAT_IPV4, $(P_V4)nft_chain_nat_ipv4),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_REDIR_IPV4, $(P_V4)nft_redir_ipv4, ge 3.19.0),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT6,CONFIG_NFT_REDIR_IPV6, $(P_V6)nft_redir_ipv6, ge 3.19.0),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT6,CONFIG_NFT_CHAIN_NAT_IPV6, $(P_V6)nft_chain_nat_ipv6),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_MASQ, $(P_XT)nft_masq),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_MASQ_IPV4, $(P_V4)nft_masq_ipv4),)) +$(eval $(if $(NF_KMOD),$(call nf_add,NFT_NAT,CONFIG_NFT_MASQ_IPV6, $(P_V6)nft_masq_ipv6),)) + +# userland only +IPT_BUILTIN += $(NF_IPT-y) $(NF_IPT-m) +IPT_BUILTIN += $(IPT_CORE-y) $(IPT_CORE-m) +IPT_BUILTIN += $(NF_CONNTRACK-y) +IPT_BUILTIN += $(NF_CONNTRACK6-y) +IPT_BUILTIN += $(IPT_CONNTRACK-y) +IPT_BUILTIN += $(IPT_CONNTRACK_EXTRA-y) +IPT_BUILTIN += $(IPT_EXTRA-y) +IPT_BUILTIN += $(IPT_FILTER-y) +IPT_BUILTIN += $(IPT_IPOPT-y) +IPT_BUILTIN += $(IPT_IPRANGE-y) +IPT_BUILTIN += $(IPT_CLUSTER-y) +IPT_BUILTIN += $(IPT_CLUSTERIP-y) +IPT_BUILTIN += $(IPT_IPSEC-y) +IPT_BUILTIN += $(IPT_IPV6-y) $(IPT_IPV6-m) +IPT_BUILTIN += $(NF_NAT-y) +IPT_BUILTIN += $(NF_NAT6-y) +IPT_BUILTIN += $(IPT_NAT-y) +IPT_BUILTIN += $(IPT_NAT6-y) +IPT_BUILTIN += $(IPT_NAT_EXTRA-y) +IPT_BUILTIN += $(NF_NATHELPER-y) +IPT_BUILTIN += $(NF_NATHELPER_EXTRA-y) +IPT_BUILTIN += $(IPT_ULOG-y) +IPT_BUILTIN += $(IPT_DEBUG-y) +IPT_BUILTIN += $(IPT_TPROXY-y) +IPT_BUILTIN += $(NFNETLINK-y) +IPT_BUILTIN += $(NFNETLINK_LOG-y) +IPT_BUILTIN += $(NFNETLINK_QUEUE-y) +IPT_BUILTIN += $(EBTABLES-y) +IPT_BUILTIN += $(EBTABLES_IP4-y) +IPT_BUILTIN += $(EBTABLES_IP6-y) +IPT_BUILTIN += $(EBTABLES_WATCHERS-y) + +endif # __inc_netfilter diff --git a/build/nls.mk b/build/nls.mk new file mode 100644 index 0000000..51463b9 --- /dev/null +++ b/build/nls.mk @@ -0,0 +1,40 @@ +# +# Copyright (C) 2011-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +# iconv full +ifeq ($(CONFIG_BUILD_NLS),y) + ICONV_PREFIX:=$(STAGING_DIR)/usr/lib/libiconv-full + ICONV_FULL:=1 + + INTL_PREFIX:=$(STAGING_DIR)/usr/lib/libintl-full + INTL_FULL:=1 + +# iconv stub +else + ICONV_PREFIX:=$(STAGING_DIR)/usr/lib/libiconv-stub + ICONV_FULL:= + + INTL_PREFIX:=$(STAGING_DIR)/usr/lib/libintl-stub + INTL_FULL:= +endif + +PKG_CONFIG_DEPENDS += CONFIG_BUILD_NLS +PKG_BUILD_DEPENDS += !BUILD_NLS:libiconv !BUILD_NLS:libintl + +ICONV_DEPENDS:=+BUILD_NLS:libiconv-full +ICONV_CFLAGS:=-I$(ICONV_PREFIX)/include +ICONV_CPPFLAGS:=-I$(ICONV_PREFIX)/include +ICONV_LDFLAGS:=-L$(ICONV_PREFIX)/lib -Wl,-rpath-link=$(ICONV_PREFIX)/lib + +INTL_DEPENDS:=+BUILD_NLS:libintl-full +INTL_CFLAGS:=-I$(INTL_PREFIX)/include +INTL_CPPFLAGS:=-I$(INTL_PREFIX)/include +INTL_LDFLAGS:=-L$(INTL_PREFIX)/lib -Wl,-rpath-link=$(INTL_PREFIX)/lib + +TARGET_CFLAGS += $(ICONV_CFLAGS) $(INTL_CFLAGS) +TARGET_CPPFLAGS += $(ICONV_CPPFLAGS) $(INTL_CPPFLAGS) +TARGET_LDFLAGS += $(ICONV_LDFLAGS) $(INTL_LDFLAGS) diff --git a/build/node_fns.mk b/build/node_fns.mk new file mode 100644 index 0000000..ccfcc25 --- /dev/null +++ b/build/node_fns.mk @@ -0,0 +1,256 @@ +# +# Copyright (C) 2007 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# +# Clears a list of variables using ":=". +# +# E.g., +# $(call clear-var-list,A B C) +# would be the same as: +# A := +# B := +# C := +# +# $(1): list of variable names to clear +# +define clear-var-list +$(foreach v,$(1),$(eval $(v):=)) +endef + +# +# Copies a list of variables into another list of variables. +# The target list is the same as the source list, but has +# a dotted prefix affixed to it. +# +# E.g., +# $(call copy-var-list, PREFIX, A B) +# would be the same as: +# PREFIX.A := $(A) +# PREFIX.B := $(B) +# +# $(1): destination prefix +# $(2): list of variable names to copy +# +define copy-var-list +$(foreach v,$(2),$(eval $(strip $(1)).$(v):=$($(v)))) +endef + +# +# Moves a list of variables into another list of variables. +# The variable names differ by a prefix. After moving, the +# source variable is cleared. +# +# NOTE: Spaces are not allowed around the prefixes. +# +# E.g., +# $(call move-var-list,SRC,DST,A B) +# would be the same as: +# DST.A := $(SRC.A) +# SRC.A := +# DST.B := $(SRC.B) +# SRC.B := +# +# $(1): source prefix +# $(2): destination prefix +# $(3): list of variable names to move +# +define move-var-list +$(foreach v,$(3), \ + $(eval $(2).$(v) := $($(1).$(v))) \ + $(eval $(1).$(v) :=) \ + ) +endef + +# +# $(1): haystack +# $(2): needle +# +# Guarantees that needle appears at most once in haystack, +# without changing the order of other elements in haystack. +# If needle appears multiple times, only the first occurrance +# will survive. +# +# How it works: +# +# - Stick everything in haystack into a single word, +# with "|||" separating the words. +# - Replace occurrances of "|||$(needle)|||" with "||| |||", +# breaking haystack back into multiple words, with spaces +# where needle appeared. +# - Add needle between the first and second words of haystack. +# - Replace "|||" with spaces, breaking haystack back into +# individual words. +# +define uniq-word +$(strip \ + $(if $(filter-out 0 1,$(words $(filter $(2),$(1)))), \ + $(eval h := |||$(subst $(space),|||,$(strip $(1)))|||) \ + $(eval h := $(subst |||$(strip $(2))|||,|||$(space)|||,$(h))) \ + $(eval h := $(word 1,$(h)) $(2) $(wordlist 2,9999,$(h))) \ + $(subst |||,$(space),$(h)) \ + , \ + $(1) \ + )) +endef + +INHERIT_TAG := @inherit: + +# +# Walks through the list of variables, each qualified by the prefix, +# and finds instances of words beginning with INHERIT_TAG. Scrape +# off INHERIT_TAG from each matching word, and return the sorted, +# unique set of those words. +# +# E.g., given +# PREFIX.A := A $(INHERIT_TAG)aaa B C +# PREFIX.B := B $(INHERIT_TAG)aaa C $(INHERIT_TAG)bbb D E +# Then +# $(call get-inherited-nodes,PREFIX,A B) +# returns +# aaa bbb +# +# $(1): variable prefix +# $(2): list of variables to check +# +define get-inherited-nodes +$(sort \ + $(subst $(INHERIT_TAG),, \ + $(filter $(INHERIT_TAG)%, \ + $(foreach v,$(2),$($(1).$(v))) \ + ))) +endef + +# +# for each variable ( (prefix + name) * vars ): +# get list of inherited words; if not empty: +# for each inherit: +# replace the first occurrence with (prefix + inherited + var) +# clear the source var so we can't inherit the value twice +# +# $(1): context prefix +# $(2): name of this node +# $(3): list of variable names +# +define _expand-inherited-values + $(foreach v,$(3), \ + $(eval ### "Shorthand for the name of the target variable") \ + $(eval _eiv_tv := $(1).$(2).$(v)) \ + $(eval ### "Get the list of nodes that this variable inherits") \ + $(eval _eiv_i := \ + $(sort \ + $(patsubst $(INHERIT_TAG)%,%, \ + $(filter $(INHERIT_TAG)%, $($(_eiv_tv)) \ + )))) \ + $(foreach i,$(_eiv_i), \ + $(eval ### "Make sure that this inherit appears only once") \ + $(eval $(_eiv_tv) := \ + $(call uniq-word,$($(_eiv_tv)),$(INHERIT_TAG)$(i))) \ + $(eval ### "Expand the inherit tag") \ + $(eval $(_eiv_tv) := \ + $(strip \ + $(patsubst $(INHERIT_TAG)$(i),$($(1).$(i).$(v)), \ + $($(_eiv_tv))))) \ + $(eval ### "Clear the child so DAGs don't create duplicate entries" ) \ + $(eval $(1).$(i).$(v) :=) \ + $(eval ### "If we just inherited ourselves, it's a cycle.") \ + $(if $(filter $(INHERIT_TAG)$(2),$($(_eiv_tv))), \ + $(warning Cycle detected between "$(2)" and "$(i)" for context "$(1)") \ + $(error import of "$(2)" failed) \ + ) \ + ) \ + ) \ + $(eval _eiv_tv :=) \ + $(eval _eiv_i :=) +endef + +# +# $(1): context prefix +# $(2): makefile representing this node +# $(3): list of node variable names +# +# _include_stack contains the list of included files, with the most recent files first. +define _import-node + $(eval _include_stack := $(2) $$(_include_stack)) + $(call clear-var-list, $(3)) + $(eval LOCAL_PATH := $(patsubst %/,%,$(dir $(2)))) + $(eval MAKEFILE_LIST :=) + $(eval include $(2)) + $(eval _included := $(filter-out $(2),$(MAKEFILE_LIST))) + $(eval MAKEFILE_LIST :=) + $(eval LOCAL_PATH :=) + $(call copy-var-list, $(1).$(2), $(3)) + $(call clear-var-list, $(3)) + + $(eval $(1).$(2).inherited := \ + $(call get-inherited-nodes,$(1).$(2),$(3))) + $(call _import-nodes-inner,$(1),$($(1).$(2).inherited),$(3)) + + $(call _expand-inherited-values,$(1),$(2),$(3)) + + $(eval $(1).$(2).inherited :=) + $(eval _include_stack := $(wordlist 2,9999,$$(_include_stack))) +endef + +# +# This will generate a warning for _included above +# $(if $(_included), \ +# $(eval $(warning product spec file: $(2)))\ +# $(foreach _inc,$(_included),$(eval $(warning $(space)$(space)$(space)includes: $(_inc)))),) +# + +# +# $(1): context prefix +# $(2): list of makefiles representing nodes to import +# $(3): list of node variable names +# +#TODO: Make the "does not exist" message more helpful; +# should print out the name of the file trying to include it. +define _import-nodes-inner + $(foreach _in,$(2), \ + $(if $(wildcard $(_in)), \ + $(if $($(1).$(_in).seen), \ + $(eval ### "skipping already-imported $(_in)") \ + , \ + $(eval $(1).$(_in).seen := true) \ + $(call _import-node,$(1),$(strip $(_in)),$(3)) \ + ) \ + , \ + $(error $(1): "$(_in)" does not exist) \ + ) \ + ) +endef + +# +# $(1): output list variable name, like "PRODUCTS" or "DEVICES" +# $(2): list of makefiles representing nodes to import +# $(3): list of node variable names +# +define import-nodes +$(if \ + $(foreach _in,$(2), \ + $(eval _node_import_context := _nic.$(1).[[$(_in)]]) \ + $(if $(_include_stack),$(eval $(error ASSERTION FAILED: _include_stack \ + should be empty here: $(_include_stack))),) \ + $(eval _include_stack := ) \ + $(call _import-nodes-inner,$(_node_import_context),$(_in),$(3)) \ + $(call move-var-list,$(_node_import_context).$(_in),$(1).$(_in),$(3)) \ + $(eval _node_import_context :=) \ + $(eval $(1) := $($(1)) $(_in)) \ + $(if $(_include_stack),$(eval $(error ASSERTION FAILED: _include_stack \ + should be empty here: $(_include_stack))),) \ + ) \ +,) +endef diff --git a/build/package-bin.mk b/build/package-bin.mk new file mode 100644 index 0000000..3ed938a --- /dev/null +++ b/build/package-bin.mk @@ -0,0 +1,33 @@ +# +# Copyright (C) 2007-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifeq ($(DUMP),) + define BuildTarget/bin + ifeq ($(if $(VARIANT),$(BUILD_VARIANT)),$(VARIANT)) + ifdef Package/$(1)/install + ifneq ($(CONFIG_PACKAGE_$(1))$(DEVELOPER),) + compile: install-bin-$(1) + else + compile: $(1)-disabled + $(1)-disabled: + @echo "WARNING: skipping $(1) -- package not selected" >&2 + endif + endif + endif + + install-bin-$(1): $(STAMP_BUILT) + rm -rf $(TARGET_OUT_DIR)/$(1) + $(INSTALL_DIR) $(TARGET_OUT_DIR)/$(1) + $(call Package/$(1)/install,$(TARGET_OUT_DIR)/$(1)) + + clean-$(1): + rm -rf $(TARGET_OUT_DIR)/$(1) + + clean: clean-$(1) + .PHONY: install-bin-$(1) + endef +endif diff --git a/build/package-defaults.mk b/build/package-defaults.mk new file mode 100644 index 0000000..9c69da0 --- /dev/null +++ b/build/package-defaults.mk @@ -0,0 +1,165 @@ +# +# Copyright (C) 2006 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +PKG_DEFAULT_DEPENDS = +libc +SSP_SUPPORT:libssp +USE_GLIBC:librt +USE_GLIBC:libpthread + +ifneq ($(PKG_NAME),toolchain) + PKG_FIXUP_DEPENDS = $(if $(filter kmod-%,$(1)),$(2),$(PKG_DEFAULT_DEPENDS) $(filter-out $(PKG_DEFAULT_DEPENDS),$(2))) +else + PKG_FIXUP_DEPENDS = $(2) +endif + +define Package/Default + CONFIGFILE:= + SECTION:=opt + CATEGORY:=Extra packages + PACKAGE_SUBDIR:=$(FEED) + DEPENDS:= + MDEPENDS:= + CONFLICTS:= + PROVIDES:= + EXTRA_DEPENDS:= + MAINTAINER:=$(PKG_MAINTAINER) + SOURCE:=$(patsubst $(TOPDIR)/%,%,$(CURDIR)) + ifneq ($(PKG_VERSION),) + ifneq ($(PKG_RELEASE),) + VERSION:=$(PKG_VERSION)-$(PKG_RELEASE) + else + VERSION:=$(PKG_VERSION) + endif + else + VERSION:=$(PKG_RELEASE) + endif + ABI_VERSION:= + ifneq ($(PKG_FLAGS),) + PKGFLAGS:=$(PKG_FLAGS) + else + PKGFLAGS:= + endif + ifneq ($(ARCH_PACKAGES),) + PKGARCH:=$(ARCH_PACKAGES) + else + PKGARCH:=$(BOARD) + endif + DEFAULT:= + MENU:= + SUBMENU:= + SUBMENUDEP:= + TITLE:= + KCONFIG:= + BUILDONLY:= + HIDDEN:= + URL:= + VARIANT:= + DEFAULT_VARIANT:= + USERID:= +endef + +Build/Patch:=$(Build/Patch/Default) +ifneq ($(strip $(PKG_UNPACK)),) + define Build/Prepare/Default + $(PKG_UNPACK) + $(Build/Patch) + endef +endif + +EXTRA_CXXFLAGS = $(EXTRA_CFLAGS) +ifeq ($(CONFIG_BUILD_NLS),y) + DISABLE_NLS:= +else + DISABLE_NLS:=--disable-nls +endif + +CONFIGURE_PREFIX:=/usr +CONFIGURE_ARGS = \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --program-prefix="" \ + --program-suffix="" \ + --prefix=$(CONFIGURE_PREFIX) \ + --exec-prefix=$(CONFIGURE_PREFIX) \ + --bindir=$(CONFIGURE_PREFIX)/bin \ + --sbindir=$(CONFIGURE_PREFIX)/sbin \ + --libexecdir=$(CONFIGURE_PREFIX)/lib \ + --sysconfdir=/etc \ + --datadir=$(CONFIGURE_PREFIX)/share \ + --localstatedir=/var \ + --mandir=$(CONFIGURE_PREFIX)/man \ + --infodir=$(CONFIGURE_PREFIX)/info \ + $(DISABLE_NLS) \ + $(DISABLE_LARGEFILE) \ + $(DISABLE_IPV6) + +CONFIGURE_VARS = \ + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \ + CXXFLAGS="$(TARGET_CXXFLAGS) $(EXTRA_CFLAGS)" \ + CPPFLAGS="$(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" \ + LIBS="$(TARGET_LIBS)" + + +CONFIGURE_PATH = . +CONFIGURE_CMD = ./configure + +replace_script=$(FIND) $(1) -name $(2) | $(XARGS) chmod u+w; \ + $(FIND) $(1) -name $(2) | $(XARGS) -n1 cp --remove-destination \ + $(SCRIPT_DIR)/$(2); + +define Build/Configure/Default + (cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH)/$(strip $(3)); \ + if [ -x $(CONFIGURE_CMD) ]; then \ + $(call replace_script,$(PKG_BUILD_DIR)/$(3),config.guess) \ + $(call replace_script,$(PKG_BUILD_DIR)/$(3),config.sub) \ + $(CONFIGURE_VARS) \ + $(2) \ + $(CONFIGURE_CMD) \ + $(CONFIGURE_ARGS) \ + $(1); \ + fi; \ + ) +endef + +MAKE_VARS = \ + CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \ + CXXFLAGS="$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" \ + LIBS="$(TARGET_LIBS)" + +MAKE_FLAGS = \ + $(TARGET_CONFIGURE_OPTS) \ + CROSS="$(TARGET_CROSS)" \ + ARCH="$(ARCH)" + +MAKE_INSTALL_FLAGS = \ + $(MAKE_FLAGS) \ + DESTDIR="$(PKG_INSTALL_DIR)" + +MAKE_PATH = . + +define Build/Compile/Default + +$(MAKE_VARS) \ + $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \ + $(MAKE_FLAGS) \ + $(1); +endef + +define Build/Install/Default + $(MAKE_VARS) \ + $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \ + $(MAKE_INSTALL_FLAGS) \ + $(if $(1), $(1), install); +endef + +define Build/Dist/Default + $(call Build/Compile/Default, DESTDIR="$(PKG_BUILD_DIR)/tmp" CC="$(TARGET_CC)" dist) +endef + +define Build/DistCheck/Default + $(call Build/Compile/Default, DESTDIR="$(PKG_BUILD_DIR)/tmp" CC="$(TARGET_CC)" distcheck) +endef diff --git a/build/package-dumpinfo.mk b/build/package-dumpinfo.mk new file mode 100644 index 0000000..666e963 --- /dev/null +++ b/build/package-dumpinfo.mk @@ -0,0 +1,91 @@ +# +# Copyright (C) 2006 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifneq ($(DUMP),) + +dumpinfo: FORCE + +define Config/template +Preconfig: $(1) +Preconfig-Type: $(2) +Preconfig-Default: $(3) +Preconfig-Label: $(4) + +endef + +define Config + Preconfig/$(1) = $$(call Config/template,$(1),$(2),$(3),$(4)) + preconfig_$$(1) += $(1) +endef + +define Dumpinfo/Package +$(info Package: $(1) +$(if $(MENU),Menu: $(MENU) +)$(if $(SUBMENU),Submenu: $(SUBMENU) +)$(if $(SUBMENUDEP),Submenu-Depends: $(SUBMENUDEP) +)$(if $(DEFAULT),Default: $(DEFAULT) +)$(if $(findstring $(PREREQ_CHECK),1),Prereq-Check: 1 +)Version: $(VERSION) +Depends: $(call PKG_FIXUP_DEPENDS,$(1),$(DEPENDS)) +Conflicts: $(CONFLICTS) +Menu-Depends: $(MDEPENDS) +Provides: $(PROVIDES) +$(if $(VARIANT),Build-Variant: $(VARIANT) +$(if $(DEFAULT_VARIANT),Default-Variant: $(VARIANT) +))$(if $(PKG_BUILD_DEPENDS),Build-Depends: $(PKG_BUILD_DEPENDS) +)$(if $(HOST_BUILD_DEPENDS),Build-Depends/host: $(HOST_BUILD_DEPENDS) +)$(if $(BUILD_TYPES),Build-Types: $(BUILD_TYPES) +)Section: $(SECTION) +Category: $(CATEGORY) +Title: $(TITLE) +Maintainer: $(MAINTAINER) +$(if $(USERID),Require-User: $(USERID) +)Source: $(PKG_SOURCE) +$(if $(PKG_LICENSE),License: $(PKG_LICENSE) +)$(if $(PKG_LICENSE_FILES),LicenseFiles: $(PKG_LICENSE_FILES) +)Type: $(if $(Package/$(1)/targets),$(Package/$(1)/targets),$(if $(PKG_TARGETS),$(PKG_TARGETS),ipkg)) +$(if $(KCONFIG),Kernel-Config: $(KCONFIG) +)$(if $(BUILDONLY),Build-Only: $(BUILDONLY) +)$(if $(HIDDEN),Hidden: $(HIDDEN) +)$(if $(PACKAGE_SUBDIR),Package-Subdir: $(PACKAGE_SUBDIR) +)Description: $(if $(Package/$(1)/description),$(Package/$(1)/description),$(TITLE)) +$(if $(URL),$(URL) +)$(MAINTAINER) +@@ +$(if $(Package/$(1)/config),Config: +$(Package/$(1)/config) +@@ +)$(foreach pc,$(preconfig_$(1)), +$(Preconfig/$(pc)))) +endef + +define Feature/Default + TARGET_NAME:= + TARGET_TITLE:= + PRIORITY:= + NAME:= +endef + +define Feature + $(eval $(Feature/Default)) + $(eval $(Feature/$(1))) + $(if $(DUMP),$(call Dumpinfo/Feature,$(1))) +endef + +define Dumpinfo/Feature +$(info Feature: $(TARGET_NAME)_$(1) +Target-Name: $(TARGET_NAME) +Target-Title: $(TARGET_TITLE) +Feature-Name: $(NAME) +$(if $(PRIORITY),Feature-Priority: $(PRIORITY) +)Feature-Description: +$(Feature/$(1)/description) +@@ +) +endef + +endif diff --git a/build/package-ipkg.mk b/build/package-ipkg.mk new file mode 100644 index 0000000..6d32c78 --- /dev/null +++ b/build/package-ipkg.mk @@ -0,0 +1,235 @@ +# +# Copyright (C) 2006-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(BUILD_DIR)/feeds.mk + +# invoke ipkg-build with some default options +IPKG_BUILD:= \ + $(SCRIPT_DIR)/ipkg-build -c -o 0 -g 0 + +IPKG_STATE_DIR:=$(TARGET_DIR)/usr/lib/opkg + +# 1: package name +# 2: variable name +# 3: variable suffix +# 4: file is a script +define BuildIPKGVariable +ifdef Package/$(1)/$(2) + $$(IPKG_$(1)) : VAR_$(2)$(3)=$$(Package/$(1)/$(2)) + $(call shexport,Package/$(1)/$(2)) + $(1)_COMMANDS += echo "$$$$$$$$$(call shvar,Package/$(1)/$(2))" > $(2)$(3); $(if $(4),chmod 0755 $(2)$(3);) +endif +endef + +PARENL :=( +PARENR :=) + +dep_split=$(subst :,$(space),$(1)) +dep_rem=$(subst !,,$(subst $(strip $(PARENL)),,$(subst $(strip $(PARENR)),,$(word 1,$(call dep_split,$(1)))))) +dep_confvar=$(strip $(foreach cond,$(subst ||, ,$(call dep_rem,$(1))),$(CONFIG_$(cond)))) +dep_pos=$(if $(call dep_confvar,$(1)),$(call dep_val,$(1))) +dep_neg=$(if $(call dep_confvar,$(1)),,$(call dep_val,$(1))) +dep_if=$(if $(findstring !,$(1)),$(call dep_neg,$(1)),$(call dep_pos,$(1))) +dep_val=$(word 2,$(call dep_split,$(1))) +#strip_deps=$(strip $(subst +,,$(filter-out @%,$(1)))) +strip_deps=$(strip $(filter-out @%, $(patsubst +%,%,$(1)))) +filter_deps=$(foreach dep,$(call strip_deps,$(1)),$(if $(findstring :,$(dep)),$(call dep_if,$(dep)),$(dep))) + +define AddDependency + $$(if $(1),$$(if $(2),$$(foreach pkg,$(1),$$(IPKG_$$(pkg))): $$(foreach pkg,$(2),$$(IPKG_$$(pkg))))) +endef + +define FixupReverseDependencies + DEPS := $$(filter %:$(1),$$(IDEPEND)) + DEPS := $$(patsubst %:$(1),%,$$(DEPS)) + DEPS := $$(filter $$(DEPS),$$(IPKGS)) + $(call AddDependency,$$(DEPS),$(1)) +endef + +define FixupDependencies + DEPS := $$(filter $(1):%,$$(IDEPEND)) + DEPS := $$(patsubst $(1):%,%,$$(DEPS)) + DEPS := $$(filter $$(DEPS),$$(IPKGS)) + $(call AddDependency,$(1),$$(DEPS)) +endef + +ifneq ($(PKG_NAME),toolchain) + define CheckDependencies + @( \ + rm -f $(PKG_INFO_DIR)/$(1).missing; \ + ( \ + export \ + READELF=$(TARGET_CROSS)readelf \ + OBJCOPY=$(TARGET_CROSS)objcopy \ + XARGS="$(XARGS)"; \ + $(SCRIPT_DIR)/gen-dependencies.sh "$$(IDIR_$(1))"; \ + ) | while read FILE; do \ + grep -qxF "$$$$FILE" $(PKG_INFO_DIR)/$(1).provides || \ + echo "$$$$FILE" >> $(PKG_INFO_DIR)/$(1).missing; \ + done; \ + if [ -f "$(PKG_INFO_DIR)/$(1).missing" ]; then \ + echo "Package $(1) is missing dependencies for the following libraries:" >&2; \ + cat "$(PKG_INFO_DIR)/$(1).missing" >&2; \ + false; \ + fi; \ + ) + endef +endif + +_addsep=$(word 1,$(1))$(foreach w,$(wordlist 2,$(words $(1)),$(1)),$(strip $(2) $(w))) +_cleansep=$(subst $(space)$(2)$(space),$(2)$(space),$(1)) +mergelist=$(call _cleansep,$(call _addsep,$(1),$(comma)),$(comma)) +addfield=$(if $(strip $(2)),$(1): $(2)) +_define=define +_endef=endef + +ifeq ($(DUMP),) + define BuildTarget/ipkg + PDIR_$(1):=$(call FeedPackageDir,$(1)) + IPKG_$(1):=$$(PDIR_$(1))/$(1)_$(VERSION)_$(PKGARCH).ipk + IDIR_$(1):=$(PKG_BUILD_DIR)/ipkg-$(PKGARCH)/$(1) + KEEP_$(1):=$(strip $(call Package/$(1)/conffiles)) + + ifeq ($(BUILD_VARIANT),$$(if $$(VARIANT),$$(VARIANT),$(BUILD_VARIANT))) + ifdef Package/$(1)/install + ifneq ($(CONFIG_PACKAGE_$(1))$(DEVELOPER),) + IPKGS += $(1) + compile: $$(IPKG_$(1)) $(PKG_INFO_DIR)/$(1).provides $(STAGING_DIR_ROOT)/stamp/.$(1)_installed + ifneq ($(ABI_VERSION),) + compile: $(PKG_INFO_DIR)/$(1).version + endif + + ifeq ($(CONFIG_PACKAGE_$(1)),y) + .PHONY: $(PKG_INSTALL_STAMP).$(1) + compile: $(PKG_INSTALL_STAMP).$(1) + $(PKG_INSTALL_STAMP).$(1): + if [ -f $(PKG_INSTALL_STAMP).clean ]; then \ + rm -f \ + $(PKG_INSTALL_STAMP) \ + $(PKG_INSTALL_STAMP).clean; \ + fi; \ + echo "$(1)" >> $(PKG_INSTALL_STAMP) + endif + else + $(if $(CONFIG_PACKAGE_$(1)),$$(info WARNING: skipping $(1) -- package not selected)) + endif + endif + endif + + DEPENDS:=$(call PKG_FIXUP_DEPENDS,$(1),$(DEPENDS)) + IDEPEND_$(1):=$$(call filter_deps,$$(DEPENDS)) + IDEPEND += $$(patsubst %,$(1):%,$$(IDEPEND_$(1))) + $(FixupDependencies) + $(FixupReverseDependencies) + + $(eval $(call BuildIPKGVariable,$(1),conffiles)) + $(eval $(call BuildIPKGVariable,$(1),preinst,,1)) + $(eval $(call BuildIPKGVariable,$(1),postinst,-pkg,1)) + $(eval $(call BuildIPKGVariable,$(1),prerm,-pkg,1)) + $(eval $(call BuildIPKGVariable,$(1),postrm,,1)) + + $(STAGING_DIR_ROOT)/stamp/.$(1)_installed: $(STAMP_BUILT) + rm -rf $(STAGING_DIR_ROOT)/tmp-$(1) + mkdir -p $(STAGING_DIR_ROOT)/stamp $(STAGING_DIR_ROOT)/tmp-$(1) + $(call Package/$(1)/install,$(STAGING_DIR_ROOT)/tmp-$(1)) + $(call Package/$(1)/install_lib,$(STAGING_DIR_ROOT)/tmp-$(1)) + $(call locked,$(CP) $(STAGING_DIR_ROOT)/tmp-$(1)/. $(STAGING_DIR_ROOT)/,root-copy) + rm -rf $(STAGING_DIR_ROOT)/tmp-$(1) + touch $$@ + + $(PKG_INFO_DIR)/$(1).version: $$(IPKG_$(1)) + echo '$(ABI_VERSION)' | cmp -s - $$@ || \ + echo '$(ABI_VERSION)' > $$@ + + Package/$(1)/DEPENDS := $$(call mergelist,$$(filter-out @%,$$(IDEPEND_$(1)))) + ifneq ($$(EXTRA_DEPENDS),) + Package/$(1)/DEPENDS := $$(EXTRA_DEPENDS)$$(if $$(Package/$(1)/DEPENDS),$$(comma) $$(Package/$(1)/DEPENDS)) + endif + +$(_define) Package/$(1)/CONTROL +Package: $(1) +Version: $(VERSION) +$$(call addfield,Depends,$$(Package/$(1)/DEPENDS) +)$$(call addfield,Conflicts,$$(call mergelist,$(CONFLICTS)) +)$$(call addfield,Provides,$(PROVIDES) +)$$(call addfield,Source,$(SOURCE) +)$$(call addfield,License,$$(PKG_LICENSE) +)$$(call addfield,LicenseFiles,$$(PKG_LICENSE_FILES) +)$$(call addfield,Section,$(SECTION) +)$$(call addfield,Require-User,$(USERID) +)$(if $(filter hold,$(PKG_FLAGS)),Status: unknown hold not-installed +)$(if $(filter essential,$(PKG_FLAGS)),Essential: yes +)$(if $(MAINTAINER),Maintainer: $(MAINTAINER) +)Architecture: $(PKGARCH) +Installed-Size: 0 +$(_endef) + + $(PKG_INFO_DIR)/$(1).provides: $$(IPKG_$(1)) + $$(IPKG_$(1)) : export CONTROL=$$(Package/$(1)/CONTROL) + $$(IPKG_$(1)) : export DESCRIPTION=$$(Package/$(1)/description) + $$(IPKG_$(1)): $(STAMP_BUILT) $(BUILD_DIR)/package-ipkg.mk + @rm -rf $$(PDIR_$(1))/$(1)_* $$(IDIR_$(1)) + mkdir -p $(PACKAGE_DIR) $$(IDIR_$(1))/CONTROL $(PKG_INFO_DIR) + $(call Package/$(1)/install,$$(IDIR_$(1))) + -find $$(IDIR_$(1)) -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| $(XARGS) rm -rf + @( \ + find $$(IDIR_$(1)) -name lib\*.so\* -or -name \*.ko | awk -F/ '{ print $$$$NF }'; \ + for file in $$(patsubst %,$(PKG_INFO_DIR)/%.provides,$$(IDEPEND_$(1))); do \ + if [ -f "$$$$file" ]; then \ + cat $$$$file; \ + fi; \ + done; $(Package/$(1)/extra_provides) \ + ) | sort -u > $(PKG_INFO_DIR)/$(1).provides + $(if $(PROVIDES),@for pkg in $(PROVIDES); do cp $(PKG_INFO_DIR)/$(1).provides $(PKG_INFO_DIR)/$$$$pkg.provides; done) + $(CheckDependencies) + + $(RSTRIP) $$(IDIR_$(1)) + (cd $$(IDIR_$(1))/CONTROL; \ + ( \ + echo "$$$$CONTROL"; \ + printf "Description: "; echo "$$$$DESCRIPTION" | sed -e 's,^[[:space:]]*, ,g'; \ + ) > control; \ + chmod 644 control; \ + ( \ + echo "#!/bin/sh"; \ + echo "[ \"\$$$${IPKG_NO_SCRIPT}\" = \"1\" ] && exit 0"; \ + echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \ + echo "default_postinst \$$$$0 \$$$$@"; \ + ) > postinst; \ + ( \ + echo "#!/bin/sh"; \ + echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \ + echo "default_prerm \$$$$0 \$$$$@"; \ + ) > prerm; \ + chmod 0755 postinst prerm; \ + $($(1)_COMMANDS) \ + ) + + ifneq ($$(KEEP_$(1)),) + @( \ + keepfiles=""; \ + for x in $$(KEEP_$(1)); do \ + [ -f "$$(IDIR_$(1))/$$$$x" ] || keepfiles="$$$${keepfiles:+$$$$keepfiles }$$$$x"; \ + done; \ + [ -z "$$$$keepfiles" ] || { \ + mkdir -p $$(IDIR_$(1))/lib/upgrade/keep.d; \ + for x in $$$$keepfiles; do echo $$$$x >> $$(IDIR_$(1))/lib/upgrade/keep.d/$(1); done; \ + }; \ + ) + endif + + $(INSTALL_DIR) $$(PDIR_$(1)) + $(IPKG_BUILD) $$(IDIR_$(1)) $$(PDIR_$(1)) + @[ -f $$(IPKG_$(1)) ] + + $(1)-clean: + rm -f $$(PDIR_$(1))/$(1)_* + + clean: $(1)-clean + + endef +endif diff --git a/build/package-seccomp.mk b/build/package-seccomp.mk new file mode 100644 index 0000000..fa49617 --- /dev/null +++ b/build/package-seccomp.mk @@ -0,0 +1,15 @@ +# +# Copyright (C) 2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +PKG_CONFIG_DEPENDS+= CONFIG_KERNEL_SECCOMP + +ifeq ($(CONFIG_KERNEL_SECCOMP),y) + define InstallSeccomp + $(INSTALL_DIR) $(1)/etc/seccomp + $(INSTALL_DATA) $(2) $(1)/etc/seccomp/ + endef +endif diff --git a/build/package.mk b/build/package.mk new file mode 100644 index 0000000..d0f45df --- /dev/null +++ b/build/package.mk @@ -0,0 +1,326 @@ +# +# Copyright (C) 2006-2008 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +__package_mk:=1 + +all: $(if $(DUMP),dumpinfo,compile) + +PKG_BUILD_DIR ?= $(COMPILE_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION)) +PKG_INSTALL_DIR ?= $(PKG_BUILD_DIR)/ipkg-install +PKG_MD5SUM ?= unknown +PKG_BUILD_PARALLEL ?= +PKG_USE_MIPS16 ?= 1 +PKG_IREMAP ?= 1 + +ifneq ($(CONFIG_PKG_BUILD_USE_JOBSERVER),) + MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) -j) +else + MAKE_J:=-j$(CONFIG_PKG_BUILD_JOBS) +endif + +ifeq ($(strip $(PKG_BUILD_PARALLEL)),0) +PKG_JOBS?=-j1 +else +PKG_JOBS?=$(if $(PKG_BUILD_PARALLEL)$(CONFIG_PKG_DEFAULT_PARALLEL),\ + $(if $(CONFIG_PKG_BUILD_PARALLEL),$(MAKE_J),-j1),-j1) +endif +ifdef CONFIG_USE_MIPS16 + ifeq ($(strip $(PKG_USE_MIPS16)),1) + TARGET_ASFLAGS_DEFAULT = $(filter-out -mips16 -minterlink-mips16,$(TARGET_CFLAGS)) + TARGET_CFLAGS += -mips16 -minterlink-mips16 + endif +endif +ifeq ($(strip $(PKG_IREMAP)),1) + IREMAP_CFLAGS = $(call iremap,$(PKG_BUILD_DIR),$(notdir $(PKG_BUILD_DIR))) + TARGET_CFLAGS += $(IREMAP_CFLAGS) +endif + +include $(BUILD_DIR)/hardening.mk +include $(BUILD_DIR)/prereq.mk +include $(BUILD_DIR)/host.mk +include $(BUILD_DIR)/unpack.mk +include $(BUILD_DIR)/depends.mk + +find_library_dependencies = $(wildcard $(patsubst %,$(STAGING_DIR)/pkginfo/%.version, \ + $(filter-out $(BUILD_PACKAGES),$(foreach dep, \ + $(filter-out @%, $(patsubst +%,%,$(1))), \ + $(if $(findstring :,$(dep)), \ + $(word 2,$(subst :,$(space),$(dep))), \ + $(dep) \ + ) \ + )))) + +PKG_DIR_NAME:=$(lastword $(subst /,$(space),$(CURDIR))) +STAMP_NO_AUTOREBUILD=$(wildcard $(PKG_BUILD_DIR)/.no_autorebuild) +PREV_STAMP_PREPARED:=$(if $(STAMP_NO_AUTOREBUILD),$(wildcard $(PKG_BUILD_DIR)/.prepared*)) +ifneq ($(PREV_STAMP_PREPARED),) + STAMP_PREPARED:=$(PREV_STAMP_PREPARED) + CONFIG_AUTOREBUILD:= +else + STAMP_PREPARED=$(PKG_BUILD_DIR)/.prepared$(if $(QUILT)$(DUMP),,_$(shell $(call find_md5,${CURDIR} $(PKG_FILE_DEPENDS),))$(call confvar,$(PKG_PREPARED_DEPENDS))) +endif +STAMP_CONFIGURED=$(PKG_BUILD_DIR)/.configured$(if $(DUMP),,_$(call confvar,$(PKG_CONFIG_DEPENDS))) +STAMP_CONFIGURED_WILDCARD=$(PKG_BUILD_DIR)/.configured_* +STAMP_BUILT:=$(PKG_BUILD_DIR)/.built +STAMP_INSTALLED:=$(STAGING_DIR)/stamp/.$(PKG_DIR_NAME)$(if $(BUILD_VARIANT),.$(BUILD_VARIANT),)_installed + +STAGING_FILES_LIST:=$(PKG_DIR_NAME)$(if $(BUILD_VARIANT),.$(BUILD_VARIANT),).list + +define CleanStaging + rm -f $(STAMP_INSTALLED) + @-(\ + cd "$(STAGING_DIR)"; \ + if [ -f packages/$(STAGING_FILES_LIST) ]; then \ + cat packages/$(STAGING_FILES_LIST) | xargs -r rm -f 2>/dev/null; \ + fi; \ + ) +endef + +ifneq ($(if $(CONFIG_SRC_TREE_OVERRIDE),$(wildcard ./git-src)),) + USE_GIT_TREE:=1 + QUILT:=1 +endif +ifdef USE_SOURCE_DIR + QUILT:=1 +endif +ifneq ($(wildcard $(PKG_BUILD_DIR)/.source_dir),) + QUILT:=1 +endif + +PKG_INSTALL_STAMP:=$(PKG_INFO_DIR)/$(PKG_DIR_NAME).$(if $(BUILD_VARIANT),$(BUILD_VARIANT),default).install + +include $(BUILD_DIR)/download.mk +include $(BUILD_DIR)/quilt.mk +include $(BUILD_DIR)/package-defaults.mk +include $(BUILD_DIR)/package-dumpinfo.mk +include $(BUILD_DIR)/package-ipkg.mk +include $(BUILD_DIR)/package-bin.mk +include $(BUILD_DIR)/autotools.mk + +ifeq ($(CONFIG_COMPLILE_KERNEL64_USER32),y) +ARCH=arm +CONFIG_ARCH="arm" +TARGET_ARCH=arm +endif + +override MAKEFLAGS= +CONFIG_SITE:=$(BUILD_DIR)/site/$(ARCH) +CUR_MAKEFILE:=$(filter-out Makefile,$(firstword $(MAKEFILE_LIST))) +SUBMAKE:=$(NO_TRACE_MAKE) $(if $(CUR_MAKEFILE),-f $(CUR_MAKEFILE)) +PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig:$(STAGING_DIR)/usr/share/pkgconfig +unexport QUIET CONFIG_SITE + +ifeq ($(DUMP)$(filter prereq clean refresh update,$(MAKECMDGOALS)),) + ifneq ($(if $(QUILT),,$(CONFIG_AUTOREBUILD)),) + define Build/Autoclean + $(PKG_BUILD_DIR)/.dep_files: $(STAMP_PREPARED) + $(call rdep,${CURDIR} $(PKG_FILE_DEPENDS),$(STAMP_PREPARED),$(PKG_BUILD_DIR)/.dep_files,-x "*/.dep_*") + $(if $(filter prepare,$(MAKECMDGOALS)),,$(call rdep,$(PKG_BUILD_DIR),$(STAMP_BUILT),,-x "*/.dep_*" -x "*/ipkg*")) + endef + endif +endif + +define Download/default + FILE:=$(PKG_SOURCE) + URL:=$(PKG_SOURCE_URL) + SUBDIR:=$(PKG_SOURCE_SUBDIR) + PROTO:=$(PKG_SOURCE_PROTO) + $(if $(PKG_SOURCE_MIRROR),MIRROR:=$(filter 1,$(PKG_MIRROR))) + $(if $(PKG_MIRROR_MD5SUM),MIRROR_MD5SUM:=$(PKG_MIRROR_MD5SUM)) + VERSION:=$(PKG_SOURCE_VERSION) + MD5SUM:=$(PKG_MD5SUM) +endef + +ifdef USE_GIT_TREE + define Build/Prepare/Default + mkdir -p $(PKG_BUILD_DIR) + ln -s $(CURDIR)/git-src $(PKG_BUILD_DIR)/.git + ( cd $(PKG_BUILD_DIR); git checkout .) + endef +endif +ifdef USE_SOURCE_DIR + define Build/Prepare/Default + rm -rf $(PKG_BUILD_DIR) + $(if $(wildcard $(USE_SOURCE_DIR)/*),,@echo "Error: USE_SOURCE_DIR=$(USE_SOURCE_DIR) path not found"; false) + ln -snf $(USE_SOURCE_DIR) $(PKG_BUILD_DIR) + touch $(PKG_BUILD_DIR)/.source_dir + endef +endif + +define Build/Exports/Default + $(1) : export ACLOCAL_INCLUDE=$$(foreach p,$$(wildcard $$(STAGING_DIR)/usr/share/aclocal $$(STAGING_DIR)/usr/share/aclocal-* $$(STAGING_DIR)/host/share/aclocal $$(STAGING_DIR)/host/share/aclocal-*),-I $$(p)) + $(1) : export STAGING_PREFIX=$$(STAGING_DIR)/usr + $(1) : export PATH=$$(TARGET_PATH_PKG) + $(1) : export CONFIG_SITE:=$$(CONFIG_SITE) + $(1) : export PKG_CONFIG_PATH:=$$(PKG_CONFIG_PATH) + $(1) : export PKG_CONFIG_LIBDIR:=$$(PKG_CONFIG_PATH) + $(1) : export CCACHE_DIR:=$(STAGING_DIR)/ccache +endef +Build/Exports=$(Build/Exports/Default) + +define Build/DefaultTargets + $(if $(QUILT),$(Build/Quilt)) + $(if $(USE_SOURCE_DIR)$(USE_GIT_TREE),,$(if $(strip $(PKG_SOURCE_URL)),$(call Download,default))) + $(call Build/Autoclean) + + download: + $(foreach hook,$(Hooks/Download), + $(call $(hook))$(sep) + ) + + $(STAMP_PREPARED) : export PATH=$$(TARGET_PATH_PKG) + $(STAMP_PREPARED): + @-rm -rf $(PKG_BUILD_DIR) + @mkdir -p $(PKG_BUILD_DIR) + $(foreach hook,$(Hooks/Prepare/Pre),$(call $(hook))$(sep)) + $(Build/Prepare) + $(foreach hook,$(Hooks/Prepare/Post),$(call $(hook))$(sep)) + touch $$@ + + $(call Build/Exports,$(STAMP_CONFIGURED)) + $(STAMP_CONFIGURED): $(STAMP_PREPARED) + rm -f $(STAMP_CONFIGURED_WILDCARD) + $(CleanStaging) + $(foreach hook,$(Hooks/Configure/Pre),$(call $(hook))$(sep)) + $(Build/Configure) + $(foreach hook,$(Hooks/Configure/Post),$(call $(hook))$(sep)) + touch $$@ + + $(call Build/Exports,$(STAMP_BUILT)) + $(STAMP_BUILT): $(STAMP_CONFIGURED) + $(foreach hook,$(Hooks/Compile/Pre),$(call $(hook))$(sep)) + $(Build/Compile) + $(foreach hook,$(Hooks/Compile/Post),$(call $(hook))$(sep)) + $(Build/Install) + $(foreach hook,$(Hooks/Install/Post),$(call $(hook))$(sep)) + touch $$@ + + $(STAMP_INSTALLED) : export PATH=$$(TARGET_PATH_PKG) + $(STAMP_INSTALLED): $(STAMP_BUILT) + rm -rf $(TMP_DIR)/stage-$(PKG_DIR_NAME) + mkdir -p $(TMP_DIR)/stage-$(PKG_DIR_NAME)/host $(STAGING_DIR)/packages $(STAGING_DIR_HOST)/packages + $(foreach hook,$(Hooks/InstallDev/Pre),\ + $(call $(hook),$(TMP_DIR)/stage-$(PKG_DIR_NAME),$(TMP_DIR)/stage-$(PKG_DIR_NAME)/host)$(sep)\ + ) + $(call Build/InstallDev,$(TMP_DIR)/stage-$(PKG_DIR_NAME),$(TMP_DIR)/stage-$(PKG_DIR_NAME)/host) + $(foreach hook,$(Hooks/InstallDev/Post),\ + $(call $(hook),$(TMP_DIR)/stage-$(PKG_DIR_NAME),$(TMP_DIR)/stage-$(PKG_DIR_NAME)/host)$(sep)\ + ) + if [ -f $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) ]; then \ + $(SCRIPT_DIR)/clean-package.sh \ + "$(STAGING_DIR)/packages/$(STAGING_FILES_LIST)" \ + "$(STAGING_DIR)"; \ + fi + if [ -d $(TMP_DIR)/stage-$(PKG_DIR_NAME) ]; then \ + (cd $(TMP_DIR)/stage-$(PKG_DIR_NAME); find ./ > $(TMP_DIR)/stage-$(PKG_DIR_NAME).files); \ + $(call locked, \ + mv $(TMP_DIR)/stage-$(PKG_DIR_NAME).files $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) && \ + $(CP) $(TMP_DIR)/stage-$(PKG_DIR_NAME)/* $(STAGING_DIR)/; \ + ,staging-dir); \ + fi + rm -rf $(TMP_DIR)/stage-$(PKG_DIR_NAME) + touch $$@ + + ifdef Build/InstallDev + compile: $(STAMP_INSTALLED) + endif + + define Build/DefaultTargets + endef + + prepare: $(STAMP_PREPARED) + configure: $(STAMP_CONFIGURED) + dist: $(STAMP_CONFIGURED) + distcheck: $(STAMP_CONFIGURED) +endef + +define Build/IncludeOverlay + $(eval -include $(wildcard $(TOPDIR)/overlay/*/$(PKG_DIR_NAME).mk)) + define Build/IncludeOverlay + endef +endef + +define BuildPackage + $(Build/IncludeOverlay) + $(eval $(Package/Default)) + $(eval $(Package/$(1))) + +ifdef DESCRIPTION +$$(error DESCRIPTION:= is obsolete, use Package/PKG_NAME/description) +endif + +ifndef Package/$(1)/description +define Package/$(1)/description + $(TITLE) +endef +endif + + BUILD_PACKAGES += $(1) + $(STAMP_PREPARED): $$(if $(QUILT)$(DUMP),,$(call find_library_dependencies,$(DEPENDS))) + + $(foreach FIELD, TITLE CATEGORY SECTION VERSION, + ifeq ($($(FIELD)),) + $$(error Package/$(1) is missing the $(FIELD) field) + endif + ) + + $(if $(DUMP), \ + $(Dumpinfo/Package), \ + $(foreach target, \ + $(if $(Package/$(1)/targets),$(Package/$(1)/targets), \ + $(if $(PKG_TARGETS),$(PKG_TARGETS), ipkg) \ + ), $(BuildTarget/$(target)) \ + ) \ + ) + $(if $(PKG_HOST_ONLY)$(DUMP),,$(call Build/DefaultTargets,$(1))) +endef + +define pkg_install_files + $(foreach install_file,$(1),$(INSTALL_DIR) $(3)/`dirname $(install_file)`; $(INSTALL_DATA) $(2)/$(install_file) $(3)/`dirname $(install_file)`;) +endef + +define pkg_install_bin + $(foreach install_apps,$(1),$(INSTALL_DIR) $(3)/`dirname $(install_apps)`; $(INSTALL_BIN) $(2)/$(install_apps) $(3)/`dirname $(install_apps)`;) +endef + +Build/Prepare=$(call Build/Prepare/Default,) +Build/Configure=$(call Build/Configure/Default,) +Build/Compile=$(call Build/Compile/Default,) +Build/Install=$(if $(PKG_INSTALL),$(call Build/Install/Default,)) +Build/Dist=$(call Build/Dist/Default,) +Build/DistCheck=$(call Build/DistCheck/Default,) + +.NOTPARALLEL: + +.PHONY: prepare-package-install +prepare-package-install: + @mkdir -p $(PKG_INFO_DIR) + @touch $(PKG_INSTALL_STAMP).clean + @echo "$(filter-out essential,$(PKG_FLAGS))" > $(PKG_INSTALL_STAMP).flags + +$(PACKAGE_DIR): + mkdir -p $@ + +dumpinfo: +download: +prepare: +configure: +compile: prepare-package-install +install: compile + +clean: FORCE + $(CleanStaging) + $(call Build/UninstallDev,$(STAGING_DIR),$(STAGING_DIR_HOST)) + $(Build/Clean) + rm -f $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) $(STAGING_DIR_HOST)/packages/$(STAGING_FILES_LIST) + rm -rf $(PKG_BUILD_DIR) + +dist: + $(Build/Dist) + +distcheck: + $(Build/DistCheck) diff --git a/build/prereq-build.mk b/build/prereq-build.mk new file mode 100644 index 0000000..0417839 --- /dev/null +++ b/build/prereq-build.mk @@ -0,0 +1,170 @@ +# +# Copyright (C) 2006-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk +include $(BUILD_DIR)/prereq.mk +include $(BUILD_DIR)/host.mk +include $(BUILD_DIR)/host-build.mk + +SHELL:=sh +PKG_NAME:=Build dependency + + +# Required for the toolchain +$(eval $(call TestHostCommand,working-make, \ + Please install GNU make v3.81 or later. (This version has bugs), \ + $(MAKE) -v | grep -E 'Make (3\.8[1-9]|3\.9[0-9]|[4-9]\.)')) + +$(eval $(call TestHostCommand,case-sensitive-fs, \ + OpenWrt can only be built on a case-sensitive filesystem, \ + rm -f $(TMP_DIR)/test.*; touch $(TMP_DIR)/test.fs; \ + test ! -f $(TMP_DIR)/test.FS)) + +$(eval $(call SetupHostCommand,gcc, \ + Please install the GNU C Compiler (gcc), \ + $(CC) --version | grep gcc, \ + gcc --version | grep gcc, \ + gcc49 --version | grep gcc, \ + gcc48 --version | grep gcc, \ + gcc47 --version | grep gcc, \ + gcc46 --version | grep gcc, \ + gcc --version | grep Apple.LLVM )) + +$(eval $(call TestHostCommand,working-gcc, \ + Please reinstall the GNU C Compiler - it appears to be broken, \ + echo 'int main(int argc, char **argv) { return 0; }' | \ + gcc -x c -o $(TMP_DIR)/a.out -)) + +$(eval $(call SetupHostCommand,g++, \ + Please install the GNU C++ Compiler (g++), \ + $(CXX) --version | grep g++, \ + g++ --version | grep g++, \ + g++49 --version | grep g++, \ + g++48 --version | grep g++, \ + g++47 --version | grep g++, \ + g++46 --version | grep g++, \ + g++ --version | grep Apple.LLVM )) + +$(eval $(call TestHostCommand,working-g++, \ + Please reinstall the GNU C++ Compiler - it appears to be broken, \ + echo 'int main(int argc, char **argv) { return 0; }' | \ + g++ -x c++ -o $(TMP_DIR)/a.out - -lstdc++ && \ + $(TMP_DIR)/a.out)) + +$(eval $(call TestHostCommand,ncurses, \ + Please install ncurses. (Missing libncurses.so or ncurses.h), \ + echo 'int main(int argc, char **argv) { initscr(); return 0; }' | \ + gcc -include ncurses.h -x c -o $(TMP_DIR)/a.out - -lncurses)) + +ifeq ($(HOST_OS),Linux) + zlib_link_flags := -Wl,-Bstatic -lz -Wl,-Bdynamic +else + zlib_link_flags := -lz +endif + +$(eval $(call TestHostCommand,zlib, \ + Please install a static zlib. (Missing libz.a or zlib.h), \ + echo 'int main(int argc, char **argv) { gzdopen(0, "rb"); return 0; }' | \ + gcc -include zlib.h -x c -o $(TMP_DIR)/a.out - $(zlib_link_flags))) + +$(eval $(call TestHostCommand,libssl, \ + Please install the openssl library (with development headers), \ + echo 'int main(int argc, char **argv) { SSL_library_init(); return 0; }' | \ + gcc $(HOST_CFLAGS) -include openssl/ssl.h -x c -o $(TMP_DIR)/a.out - -lcrypto -lssl $(HOST_LDFLAGS))) + +$(eval $(call TestHostCommand,perl-thread-queue, \ + Please install the Perl Thread::Queue module, \ + perl -MThread::Queue -e 1)) + + +$(eval $(call SetupHostCommand,tar,Please install GNU 'tar', \ + gtar --version 2>&1 | grep GNU, \ + gnutar --version 2>&1 | grep GNU, \ + tar --version 2>&1 | grep GNU)) + +$(eval $(call SetupHostCommand,find,Please install GNU 'find', \ + gfind --version 2>&1 | grep GNU, \ + find --version 2>&1 | grep GNU)) + +$(eval $(call SetupHostCommand,bash,Please install GNU 'bash', \ + bash --version 2>&1 | grep GNU)) + +$(eval $(call SetupHostCommand,patch,Please install GNU 'patch', \ + gpatch --version 2>&1 | grep 'Free Software Foundation', \ + patch --version 2>&1 | grep 'Free Software Foundation')) + +$(eval $(call SetupHostCommand,diff,Please install diffutils, \ + gdiff --version 2>&1 | grep diff, \ + diff --version 2>&1 | grep diff)) + +$(eval $(call SetupHostCommand,cp,Please install GNU fileutils, \ + gcp --help, \ + cp --help)) + +$(eval $(call SetupHostCommand,seq,, \ + gseq --version, \ + seq --version)) + +$(eval $(call SetupHostCommand,awk,Please install GNU 'awk', \ + gawk --version 2>&1 | grep GNU, \ + awk --version 2>&1 | grep GNU)) + +$(eval $(call SetupHostCommand,grep,Please install GNU 'grep', \ + ggrep --version 2>&1 | grep GNU, \ + grep --version 2>&1 | grep GNU)) + +$(eval $(call SetupHostCommand,getopt, \ + Please install an extended getopt version that supports --long, \ + gnugetopt -o t --long test -- --test | grep '^ *--test *--', \ + /usr/local/bin/getopt -o t --long test -- --test | grep '^ *--test *--', \ + getopt -o t --long test -- --test | grep '^ *--test *--')) + +$(eval $(call SetupHostCommand,stat,Cannot find a file stat utility, \ + gnustat -c%s $(TMP_DIR)/.host.mk, \ + gstat -c%s $(TMP_DIR)/.host.mk, \ + stat -c%s $(TMP_DIR)/.host.mk)) + +$(eval $(call SetupHostCommand,md5sum,, \ + gmd5sum /dev/null | grep d41d8cd98f00b204e9800998ecf8427e, \ + md5sum /dev/null | grep d41d8cd98f00b204e9800998ecf8427e, \ + $(SCRIPT_DIR)/md5sum /dev/null | grep d41d8cd98f00b204e9800998ecf8427e)) + +$(eval $(call SetupHostCommand,unzip,Please install 'unzip', \ + unzip 2>&1 | grep zipfile, \ + unzip)) + +$(eval $(call SetupHostCommand,bzip2,Please install 'bzip2', \ + bzip2 --version &1 | grep Python, \ + python2 -V 2>&1 | grep Python, \ + python -V 2>&1 | grep Python)) + +#$(eval $(call SetupHostCommand,svn,Please install the Subversion client, \ + #svn --version | grep Subversion)) + +$(eval $(call SetupHostCommand,git,Please install Git (git-core) >= 1.6.5, \ + git --exec-path | xargs -I % -- grep -q -- --recursive %/git-submodule)) + +$(eval $(call SetupHostCommand,file,Please install the 'file' package, \ + file --version 2>&1 | grep file)) + +$(eval $(call SetupHostCommand,openssl,Please install the 'openssl' utility, \ + openssl version | grep '\(OpenSSL\|LibreSSL\)')) + + +# Install ldconfig stub +$(eval $(call TestHostCommand,ldconfig-stub,Failed to install stub, \ + touch $(STAGING_DIR_HOST)/bin/ldconfig && \ + chmod +x $(STAGING_DIR_HOST)/bin/ldconfig)) diff --git a/build/prereq.mk b/build/prereq.mk new file mode 100644 index 0000000..6cb590e --- /dev/null +++ b/build/prereq.mk @@ -0,0 +1,108 @@ +# +# Copyright (C) 2006-2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifneq ($(__prereq_inc),1) +__prereq_inc:=1 + +prereq: + if [ -f $(TMP_DIR)/.prereq-error ]; then \ + echo; \ + cat $(TMP_DIR)/.prereq-error; \ + rm -f $(TMP_DIR)/.prereq-error; \ + echo; \ + false; \ + fi + +.SILENT: prereq +endif + +PREREQ_PREV= + +# 1: display name +# 2: error message +define Require + export PREREQ_CHECK=1 + ifeq ($$(CHECK_$(1)),) + prereq: prereq-$(1) + + prereq-$(1): $(if $(PREREQ_PREV),prereq-$(PREREQ_PREV)) FORCE + printf "Checking '$(1)'... " + if $(NO_TRACE_MAKE) -f $(firstword $(MAKEFILE_LIST)) check-$(1) >/dev/null 2>/dev/null; then \ + echo 'ok.'; \ + else \ + echo 'failed.'; \ + echo "$(PKG_NAME): $(strip $(2))" >> $(TMP_DIR)/.prereq-error; \ + fi + + check-$(1): FORCE + $(call Require/$(1)) + CHECK_$(1):=1 + + .SILENT: prereq-$(1) check-$(1) + .NOTPARALLEL: + endif + + PREREQ_PREV=$(1) +endef + + +define RequireCommand + define Require/$(1) + which $(1) + endef + + $$(eval $$(call Require,$(1),$(2))) +endef + +define RequireHeader + define Require/$(1) + [ -e "$(1)" ] + endef + + $$(eval $$(call Require,$(1),$(2))) +endef + +define QuoteHostCommand +'$(subst ','"'"',$(strip $(1)))' +endef + +# 1: display name +# 2: failure message +# 3: test +define TestHostCommand + define Require/$(1) + ($(3)) >/dev/null 2>/dev/null + endef + + $$(eval $$(call Require,$(1),$(2))) +endef + +# 1: canonical name +# 2: failure message +# 3+: candidates +define SetupHostCommand + define Require/$(1) + [ -f "$(STAGING_DIR_HOST)/bin/$(strip $(1))" ] && exit 0; \ + for cmd in $(call QuoteHostCommand,$(3)) $(call QuoteHostCommand,$(4)) \ + $(call QuoteHostCommand,$(5)) $(call QuoteHostCommand,$(6)) \ + $(call QuoteHostCommand,$(7)) $(call QuoteHostCommand,$(8)) \ + $(call QuoteHostCommand,$(9)); do \ + if [ -n "$$$$$$$$cmd" ]; then \ + bin="$$$$$$$$(PATH="$(subst $(space),:,$(filter-out $(STAGING_DIR_HOST)/%,$(subst :,$(space),$(PATH))))" \ + which "$$$$$$$${cmd%% *}")"; \ + if [ -x "$$$$$$$$bin" ] && eval "$$$$$$$$cmd" >/dev/null 2>/dev/null; then \ + mkdir -p "$(STAGING_DIR_HOST)/bin"; \ + ln -sf "$$$$$$$$bin" "$(STAGING_DIR_HOST)/bin/$(strip $(1))"; \ + exit 0; \ + fi; \ + fi; \ + done; \ + exit 1 + endef + + $$(eval $$(call Require,$(1),$(if $(2),$(2),Missing $(1) command))) +endef diff --git a/build/product-config.mk b/build/product-config.mk new file mode 100644 index 0000000..4c774ff --- /dev/null +++ b/build/product-config.mk @@ -0,0 +1,273 @@ +########################################################### +## Return non-empty if $(1) is a C identifier; i.e., if it +## matches /^[a-zA-Z_][a-zA-Z0-9_]*$/. We do this by first +## making sure that it isn't empty and doesn't start with +## a digit, then by removing each valid character. If the +## final result is empty, then it was a valid C identifier. +## +## $(1): word to check +########################################################### + +_ici_digits := 0 1 2 3 4 5 6 7 8 9 +_ici_alphaunderscore := \ + a b c d e f g h i j k l m n o p q r s t u v w x y z \ + A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _ +define is-c-identifier +$(strip \ + $(if $(1), \ + $(if $(filter $(addsuffix %,$(_ici_digits)),$(1)), \ + , \ + $(eval w := $(1)) \ + $(foreach c,$(_ici_digits) $(_ici_alphaunderscore), \ + $(eval w := $(subst $(c),,$(w))) \ + ) \ + $(if $(w),,TRUE) \ + $(eval w :=) \ + ) \ + ) \ + ) +endef +# --------------------------------------------------------------- +# Include the product definitions. +# We need to do this to translate TARGET_PRODUCT into its +# underlying TARGET_DEVICE before we start defining any rules. +# +include $(BUILD_SYSTEM)/node_fns.mk +include $(BUILD_SYSTEM)/product.mk +include $(BUILD_SYSTEM)/device.mk + +all_product_configs := $(get-all-product-makefiles) + +# Find the product config makefile for the current product. +# all_product_configs consists items like: +# : +# or just in case the product name is the +# same as the base filename of the product config makefile. +current_product_makefile := +all_product_makefiles := +$(foreach f, $(all_product_configs),\ + $(eval _cpm_words := $(subst :,$(space),$(f)))\ + $(eval _cpm_word1 := $(word 1,$(_cpm_words)))\ + $(eval _cpm_word2 := $(word 2,$(_cpm_words)))\ + $(if $(_cpm_word2),\ + $(eval all_product_makefiles += $(_cpm_word2))\ + $(if $(filter $(TARGET_PRODUCT),$(_cpm_word1)),\ + $(eval current_product_makefile += $(_cpm_word2)),),\ + $(eval all_product_makefiles += $(f))\ + $(if $(filter $(TARGET_PRODUCT),$(basename $(notdir $(f)))),\ + $(eval current_product_makefile += $(f)),))) +_cpm_words := +_cpm_word1 := +_cpm_word2 := +current_product_makefile := $(strip $(current_product_makefile)) +all_product_makefiles := $(strip $(all_product_makefiles)) + +ifneq (,$(filter product-graph dump-products, $(MAKECMDGOALS))) +# Import all product makefiles. +$(call import-products, $(all_product_makefiles)) +else +# Import just the current product. +ifndef current_product_makefile +$(error Can not locate config makefile for product "$(TARGET_PRODUCT)") +endif +ifneq (1,$(words $(current_product_makefile))) +$(error Product "$(TARGET_PRODUCT)" ambiguous: matches $(current_product_makefile)) +endif +$(call import-products, $(current_product_makefile)) +endif # Import all or just the current product makefile + +# Sanity check +$(check-all-products) + +ifneq ($(filter dump-products, $(MAKECMDGOALS)),) +$(dump-products) +$(error done) +endif + +# Convert a short name like "sooner" into the path to the product +# file defining that product. +# +INTERNAL_PRODUCT := $(call resolve-short-product-name, $(TARGET_PRODUCT)) +ifneq ($(current_product_makefile),$(INTERNAL_PRODUCT)) +$(error PRODUCT_NAME inconsistent in $(current_product_makefile) and $(INTERNAL_PRODUCT)) +endif +current_product_makefile := +all_product_makefiles := +all_product_configs := + + +############################################################################# +# TODO: Remove this hack once only 1 runtime is left. +# Include the runtime product makefile based on the product's PRODUCT_RUNTIMES +$(call clear-var-list, $(_product_var_list)) + +# Set PRODUCT_RUNTIMES, allowing buildspec to override using OVERRIDE_RUNTIMES +product_runtimes := $(sort $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_RUNTIMES)) +ifneq ($(OVERRIDE_RUNTIMES),) + $(info Overriding PRODUCT_RUNTIMES=$(product_runtimes) with $(OVERRIDE_RUNTIMES)) + product_runtimes := $(OVERRIDE_RUNTIMES) +endif +$(foreach runtime, $(product_runtimes), $(eval include $(SRC_TARGET_DIR)/product/$(runtime).mk)) +$(foreach v, $(_product_var_list), $(if $($(v)),\ + $(eval PRODUCTS.$(INTERNAL_PRODUCT).$(v) += $(sort $($(v)))))) + +$(call clear-var-list, $(_product_var_list)) +# Now we can assign to PRODUCT_RUNTIMES +PRODUCT_RUNTIMES := $(product_runtimes) +product_runtimes := + +PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PROPERTY_OVERRIDES += persist.sys.dalvik.vm.lib.2=$(DALVIK_VM_LIB) + +ifeq ($(words $(PRODUCT_RUNTIMES)),1) + # If we only have one runtime, we can strip classes.dex by default during dex_preopt + DEX_PREOPT_DEFAULT := true +else + # If we have more than one, we leave the classes.dex alone for post-boot analysis + DEX_PREOPT_DEFAULT := nostripping +endif + +############################################################################# + +# A list of module names of BOOTCLASSPATH (jar files) +PRODUCT_BOOT_JARS := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_BOOT_JARS)) +PRODUCT_SYSTEM_SERVER_JARS := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SYSTEM_SERVER_JARS)) + +# Find the device that this product maps to. +TARGET_DEVICE := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEVICE) + +# Figure out which resoure configuration options to use for this +# product. +PRODUCT_LOCALES := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_LOCALES)) +# TODO: also keep track of things like "port", "land" in product files. + +# If CUSTOM_LOCALES contains any locales not already included +# in PRODUCT_LOCALES, add them to PRODUCT_LOCALES. +extra_locales := $(filter-out $(PRODUCT_LOCALES),$(CUSTOM_LOCALES)) +ifneq (,$(extra_locales)) + ifneq ($(CALLED_FROM_SETUP),true) + # Don't spam stdout, because envsetup.sh may be scraping values from it. + $(info Adding CUSTOM_LOCALES [$(extra_locales)] to PRODUCT_LOCALES [$(PRODUCT_LOCALES)]) + endif + PRODUCT_LOCALES += $(extra_locales) + extra_locales := +endif + +# Add PRODUCT_LOCALES to PRODUCT_AAPT_CONFIG +PRODUCT_AAPT_CONFIG := $(strip $(PRODUCT_LOCALES) $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_AAPT_CONFIG)) +PRODUCT_AAPT_PREF_CONFIG := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_AAPT_PREF_CONFIG)) +PRODUCT_AAPT_PREBUILT_DPI := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_AAPT_PREBUILT_DPI)) + +# Keep a copy of the space-separated config +PRODUCT_AAPT_CONFIG_SP := $(PRODUCT_AAPT_CONFIG) + +# Convert spaces to commas. +PRODUCT_AAPT_CONFIG := \ + $(subst $(space),$(comma),$(strip $(PRODUCT_AAPT_CONFIG))) + +# product-scoped aapt flags +PRODUCT_AAPT_FLAGS := +ifneq ($(filter en_XA ar_XB,$(PRODUCT_LOCALES)),) +# Force generating resources for pseudo-locales. +PRODUCT_AAPT_FLAGS += --pseudo-localize +endif + +PRODUCT_BRAND := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_BRAND)) + +PRODUCT_MODEL := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_MODEL)) +ifndef PRODUCT_MODEL + PRODUCT_MODEL := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_NAME)) +endif + +PRODUCT_MANUFACTURER := \ + $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_MANUFACTURER)) +ifndef PRODUCT_MANUFACTURER + PRODUCT_MANUFACTURER := unknown +endif + +ifeq ($(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_CHARACTERISTICS),) + TARGET_AAPT_CHARACTERISTICS := default +else + TARGET_AAPT_CHARACTERISTICS := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_CHARACTERISTICS)) +endif + +PRODUCT_DEFAULT_WIFI_CHANNELS := \ + $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEFAULT_WIFI_CHANNELS)) + +PRODUCT_DEFAULT_DEV_CERTIFICATE := \ + $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEFAULT_DEV_CERTIFICATE)) +ifdef PRODUCT_DEFAULT_DEV_CERTIFICATE +ifneq (1,$(words $(PRODUCT_DEFAULT_DEV_CERTIFICATE))) + $(error PRODUCT_DEFAULT_DEV_CERTIFICATE='$(PRODUCT_DEFAULT_DEV_CERTIFICATE)', \ + only 1 certificate is allowed.) +endif +endif + +# A list of words like :[:]. +# The file at the source path should be copied to the destination path +# when building this product. is relative to +# $(PRODUCT_OUT), so it should look like, e.g., "system/etc/file.xml". +# The rules for these copy steps are defined in build/core/Makefile. +# The optional : is used to indicate the owner of a vendor file. +PRODUCT_COPY_FILES := \ + $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_COPY_FILES)) + +# A list of property assignments, like "key = value", with zero or more +# whitespace characters on either side of the '='. +PRODUCT_PROPERTY_OVERRIDES := \ + $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PROPERTY_OVERRIDES)) + +# A list of property assignments, like "key = value", with zero or more +# whitespace characters on either side of the '='. +# used for adding properties to default.prop +PRODUCT_DEFAULT_PROPERTY_OVERRIDES := \ + $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEFAULT_PROPERTY_OVERRIDES)) + +# Should we use the default resources or add any product specific overlays +PRODUCT_PACKAGE_OVERLAYS := \ + $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PACKAGE_OVERLAYS)) +DEVICE_PACKAGE_OVERLAYS := \ + $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).DEVICE_PACKAGE_OVERLAYS)) + +# An list of whitespace-separated words. +PRODUCT_TAGS := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_TAGS)) + +# The list of product-specific kernel header dirs +PRODUCT_VENDOR_KERNEL_HEADERS := \ + $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_VENDOR_KERNEL_HEADERS) + +# Add the product-defined properties to the build properties. +ADDITIONAL_BUILD_PROPERTIES := \ + $(ADDITIONAL_BUILD_PROPERTIES) \ + $(PRODUCT_PROPERTY_OVERRIDES) + +# The OTA key(s) specified by the product config, if any. The names +# of these keys are stored in the target-files zip so that post-build +# signing tools can substitute them for the test key embedded by +# default. +PRODUCT_OTA_PUBLIC_KEYS := $(sort \ + $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_OTA_PUBLIC_KEYS)) + +PRODUCT_EXTRA_RECOVERY_KEYS := $(sort \ + $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_EXTRA_RECOVERY_KEYS)) + +# If there is no room in /system for the image, place it in /data +PRODUCT_DEX_PREOPT_IMAGE_IN_DATA := \ + $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEX_PREOPT_IMAGE_IN_DATA)) + +PRODUCT_DEX_PREOPT_DEFAULT_FLAGS := \ + $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEX_PREOPT_DEFAULT_FLAGS)) +PRODUCT_DEX_PREOPT_BOOT_FLAGS := \ + $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEX_PREOPT_BOOT_FLAGS)) +# Resolve and setup per-module dex-preopot configs. +PRODUCT_DEX_PREOPT_MODULE_CONFIGS := \ + $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEX_PREOPT_MODULE_CONFIGS)) +# If a module has multiple setups, the first takes precedence. +_pdpmc_modules := +$(foreach c,$(PRODUCT_DEX_PREOPT_MODULE_CONFIGS),\ + $(eval m := $(firstword $(subst =,$(space),$(c))))\ + $(if $(filter $(_pdpmc_modules),$(m)),,\ + $(eval _pdpmc_modules += $(m))\ + $(eval cf := $(patsubst $(m)=%,%,$(c)))\ + $(eval cf := $(subst $(_PDPMC_SP_PLACE_HOLDER),$(space),$(cf)))\ + $(eval DEXPREOPT.$(TARGET_PRODUCT).$(m).CONFIG := $(cf)))) +_pdpmc_modules := diff --git a/build/product.mk b/build/product.mk new file mode 100644 index 0000000..62568ef --- /dev/null +++ b/build/product.mk @@ -0,0 +1,315 @@ +# +# Copyright (C) 2007 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# +# Functions for including AndroidProducts.mk files +# PRODUCT_MAKEFILES is set up in AndroidProducts.mks. +# Format of PRODUCT_MAKEFILES: +# : +# If the is the same as the base file name (without dir +# and the .mk suffix) of the product makefile, ":" can be +# omitted. + +# +# Returns the list of all TinaProducts.mk files. +# $(call ) isn't necessary. +# +define _find-tina-products-files +$(shell test -d target && find target -maxdepth 4 -name TinaProducts.mk) +endef + +# +# Returns the sorted concatenation of PRODUCT_MAKEFILES +# variables set in the given AndroidProducts.mk files. +# $(1): the list of AndroidProducts.mk files. +# +define get-product-makefiles +$(sort \ + $(foreach f,$(1), \ + $(eval PRODUCT_MAKEFILES :=) \ + $(eval LOCAL_DIR := $(patsubst %/,%,$(dir $(f)))) \ + $(eval include $(f)) \ + $(PRODUCT_MAKEFILES) \ + ) \ + $(eval PRODUCT_MAKEFILES :=) \ + $(eval LOCAL_DIR :=) \ + ) +endef + +# +# Returns the sorted concatenation of all PRODUCT_MAKEFILES +# variables set in all AndroidProducts.mk files. +# $(call ) isn't necessary. +# +define get-all-product-makefiles +$(call get-product-makefiles,$(_find-tina-products-files)) +endef + +# +# Functions for including product makefiles +# + +_product_var_list := \ + PRODUCT_NAME \ + PRODUCT_MODEL \ + PRODUCT_LOCALES \ + PRODUCT_AAPT_CONFIG \ + PRODUCT_AAPT_PREF_CONFIG \ + PRODUCT_AAPT_PREBUILT_DPI \ + PRODUCT_PACKAGES \ + PRODUCT_PACKAGES_DEBUG \ + PRODUCT_PACKAGES_ENG \ + PRODUCT_PACKAGES_TESTS \ + PRODUCT_DEVICE \ + PRODUCT_MANUFACTURER \ + PRODUCT_BRAND \ + PRODUCT_PROPERTY_OVERRIDES \ + PRODUCT_DEFAULT_PROPERTY_OVERRIDES \ + PRODUCT_CHARACTERISTICS \ + PRODUCT_COPY_FILES \ + PRODUCT_OTA_PUBLIC_KEYS \ + PRODUCT_EXTRA_RECOVERY_KEYS \ + PRODUCT_PACKAGE_OVERLAYS \ + DEVICE_PACKAGE_OVERLAYS \ + PRODUCT_TAGS \ + PRODUCT_SDK_ATREE_FILES \ + PRODUCT_SDK_ADDON_NAME \ + PRODUCT_SDK_ADDON_COPY_FILES \ + PRODUCT_SDK_ADDON_COPY_MODULES \ + PRODUCT_SDK_ADDON_DOC_MODULES \ + PRODUCT_SDK_ADDON_SYS_IMG_SOURCE_PROP \ + PRODUCT_DEFAULT_WIFI_CHANNELS \ + PRODUCT_DEFAULT_DEV_CERTIFICATE \ + PRODUCT_RESTRICT_VENDOR_FILES \ + PRODUCT_VENDOR_KERNEL_HEADERS \ + PRODUCT_FACTORY_RAMDISK_MODULES \ + PRODUCT_FACTORY_BUNDLE_MODULES \ + PRODUCT_RUNTIMES \ + PRODUCT_BOOT_JARS \ + PRODUCT_SUPPORTS_VERITY \ + PRODUCT_OEM_PROPERTIES \ + PRODUCT_SYSTEM_PROPERTY_BLACKLIST \ + PRODUCT_SYSTEM_SERVER_JARS \ + PRODUCT_VERITY_SIGNING_KEY \ + PRODUCT_SYSTEM_VERITY_PARTITION \ + PRODUCT_VENDOR_VERITY_PARTITION \ + PRODUCT_DEX_PREOPT_IMAGE_IN_DATA \ + PRODUCT_DEX_PREOPT_MODULE_CONFIGS \ + PRODUCT_DEX_PREOPT_DEFAULT_FLAGS \ + PRODUCT_DEX_PREOPT_BOOT_FLAGS \ + + +define dump-product +$(info ==== $(1) ====)\ +$(foreach v,$(_product_var_list),\ +$(info PRODUCTS.$(1).$(v) := $(PRODUCTS.$(1).$(v))))\ +$(info --------) +endef + +define dump-products +$(foreach p,$(PRODUCTS),$(call dump-product,$(p))) +endef + +# +# $(1): product to inherit +# +# Does three things: +# 1. Inherits all of the variables from $1. +# 2. Records the inheritance in the .INHERITS_FROM variable +# 3. Records that we've visited this node, in ALL_PRODUCTS +# +define inherit-product + $(foreach v,$(_product_var_list), \ + $(eval $(v) := $($(v)) $(INHERIT_TAG)$(strip $(1)))) \ + $(eval inherit_var := \ + PRODUCTS.$(strip $(word 1,$(_include_stack))).INHERITS_FROM) \ + $(eval $(inherit_var) := $(sort $($(inherit_var)) $(strip $(1)))) \ + $(eval inherit_var:=) \ + $(eval ALL_PRODUCTS := $(sort $(ALL_PRODUCTS) $(word 1,$(_include_stack)))) +endef + + +# +# Do inherit-product only if $(1) exists +# +define inherit-product-if-exists + $(if $(wildcard $(1)),$(call inherit-product,$(1)),) +endef + +# +# $(1): product makefile list +# +#TODO: check to make sure that products have all the necessary vars defined +define import-products +$(call import-nodes,PRODUCTS,$(1),$(_product_var_list)) +endef + + +# +# Does various consistency checks on all of the known products. +# Takes no parameters, so $(call ) is not necessary. +# +define check-all-products +$(if ,, \ + $(eval _cap_names :=) \ + $(foreach p,$(PRODUCTS), \ + $(eval pn := $(strip $(PRODUCTS.$(p).PRODUCT_NAME))) \ + $(if $(pn),,$(error $(p): PRODUCT_NAME must be defined.)) \ + $(if $(filter $(pn),$(_cap_names)), \ + $(error $(p): PRODUCT_NAME must be unique; "$(pn)" already used by $(strip \ + $(foreach \ + pp,$(PRODUCTS), + $(if $(filter $(pn),$(PRODUCTS.$(pp).PRODUCT_NAME)), \ + $(pp) \ + ))) \ + ) \ + ) \ + $(eval _cap_names += $(pn)) \ + $(if $(call is-c-identifier,$(pn)),, \ + $(error $(p): PRODUCT_NAME must be a valid C identifier, not "$(pn)") \ + ) \ + $(eval pb := $(strip $(PRODUCTS.$(p).PRODUCT_BRAND))) \ + $(if $(pb),,$(error $(p): PRODUCT_BRAND must be defined.)) \ + $(foreach cf,$(strip $(PRODUCTS.$(p).PRODUCT_COPY_FILES)), \ + $(if $(filter 2 3,$(words $(subst :,$(space),$(cf)))),, \ + $(error $(p): malformed COPY_FILE "$(cf)") \ + ) \ + ) \ + ) \ +) +endef + + +# +# Returns the product makefile path for the product with the provided name +# +# $(1): short product name like "generic" +# +define _resolve-short-product-name + $(eval pn := $(strip $(1))) + $(eval p := \ + $(foreach p,$(PRODUCTS), \ + $(if $(filter $(pn),$(PRODUCTS.$(p).PRODUCT_NAME)), \ + $(p) \ + )) \ + ) + $(eval p := $(sort $(p))) + $(if $(filter 1,$(words $(p))), \ + $(p), \ + $(if $(filter 0,$(words $(p))), \ + $(error No matches for product "$(pn)"), \ + $(error Product "$(pn)" ambiguous: matches $(p)) \ + ) \ + ) +endef +define resolve-short-product-name +$(strip $(call _resolve-short-product-name,$(1))) +endef + + +_product_stash_var_list := $(_product_var_list) \ + PRODUCT_BOOTCLASSPATH \ + PRODUCT_SYSTEM_SERVER_CLASSPATH \ + TARGET_ARCH \ + TARGET_ARCH_VARIANT \ + TARGET_CPU_VARIANT \ + TARGET_BOARD_PLATFORM \ + TARGET_BOARD_PLATFORM_GPU \ + TARGET_BOARD_KERNEL_HEADERS \ + TARGET_DEVICE_KERNEL_HEADERS \ + TARGET_PRODUCT_KERNEL_HEADERS \ + TARGET_BOOTLOADER_BOARD_NAME \ + TARGET_COMPRESS_MODULE_SYMBOLS \ + TARGET_NO_BOOTLOADER \ + TARGET_NO_KERNEL \ + TARGET_NO_RECOVERY \ + TARGET_NO_RADIOIMAGE \ + TARGET_HARDWARE_3D \ + TARGET_PROVIDES_INIT_RC \ + TARGET_CPU_ABI \ + TARGET_CPU_ABI2 \ + TARGET_CPU_SMP \ + + +_product_stash_var_list += \ + BOARD_WPA_SUPPLICANT_DRIVER \ + BOARD_WLAN_DEVICE \ + BOARD_USES_GENERIC_AUDIO \ + BOARD_KERNEL_CMDLINE \ + BOARD_KERNEL_BASE \ + BOARD_HAVE_BLUETOOTH \ + BOARD_VENDOR_USE_AKMD \ + BOARD_EGL_CFG \ + BOARD_BOOTIMAGE_PARTITION_SIZE \ + BOARD_RECOVERYIMAGE_PARTITION_SIZE \ + BOARD_SYSTEMIMAGE_PARTITION_SIZE \ + BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE \ + BOARD_USERDATAIMAGE_PARTITION_SIZE \ + BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE \ + BOARD_CACHEIMAGE_PARTITION_SIZE \ + BOARD_FLASH_BLOCK_SIZE \ + BOARD_VENDORIMAGE_PARTITION_SIZE \ + BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE \ + BOARD_INSTALLER_CMDLINE \ + + +_product_stash_var_list += \ + DEFAULT_SYSTEM_DEV_CERTIFICATE \ + WITH_DEXPREOPT \ + WITH_DEXPREOPT_BOOT_IMG_ONLY + +# +# Stash values of the variables in _product_stash_var_list. +# $(1): Renamed prefix +# +define stash-product-vars +$(foreach v,$(_product_stash_var_list), \ + $(eval $(strip $(1))_$(call rot13,$(v)):=$$($$(v))) \ + ) +endef + +# +# Assert that the the variable stashed by stash-product-vars remains untouched. +# $(1): The prefix as supplied to stash-product-vars +# +define assert-product-vars +$(strip \ + $(eval changed_variables:=) + $(foreach v,$(_product_stash_var_list), \ + $(if $(call streq,$($(v)),$($(strip $(1))_$(call rot13,$(v)))),, \ + $(eval $(warning $(v) has been modified: $($(v)))) \ + $(eval $(warning previous value: $($(strip $(1))_$(call rot13,$(v))))) \ + $(eval changed_variables := $(changed_variables) $(v))) \ + ) \ + $(if $(changed_variables),\ + $(eval $(error The following variables have been changed: $(changed_variables))),) +) +endef + +define add-to-product-copy-files-if-exists +$(if $(wildcard $(word 1,$(subst :, ,$(1)))),$(1)) +endef + +# whitespace placeholder when we record module's dex-preopt config. +_PDPMC_SP_PLACE_HOLDER := |@SP@| +# Set up dex-preopt config for a module. +# $(1) list of module names +# $(2) the modules' dex-preopt config +define add-product-dex-preopt-module-config +$(eval _c := $(subst $(space),$(_PDPMC_SP_PLACE_HOLDER),$(strip $(2))))\ +$(eval PRODUCT_DEX_PREOPT_MODULE_CONFIGS += \ + $(foreach m,$(1),$(m)=$(_c))) +endef diff --git a/build/quilt.mk b/build/quilt.mk new file mode 100644 index 0000000..b18b636 --- /dev/null +++ b/build/quilt.mk @@ -0,0 +1,171 @@ +# +# Copyright (C) 2007-2009 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. + +ifneq ($(if $(DUMP),1,$(__quilt_inc)),1) +__quilt_inc:=1 + +ifeq ($(TARGET_BUILD),1) + PKG_BUILD_DIR:=$(LINUX_DIR) +endif +PATCH_DIR?=./patches +FILES_DIR?=./files +HOST_PATCH_DIR?=$(PATCH_DIR) +HOST_FILES_DIR?=$(FILES_DIR) + +ifeq ($(MAKECMDGOALS),refresh) + override QUILT=1 + override HOST_QUILT=1 +endif + +QUILT_CMD:=quilt --quiltrc=- + +define filter_series +sed -e s,\\\#.*,, $(1) | grep -E \[a-zA-Z0-9\] +endef + +define PatchDir/Quilt + @mkdir -p "$(1)/patches$(if $(3),/$(patsubst %/,%,$(3)))" + @if [ -s "$(2)/series" ]; then \ + mkdir -p "$(1)/patches/$(3)"; \ + cp "$(2)/series" "$(1)/patches/$(3)"; \ + fi + @for patch in $$$$( (cd "$(2)" && if [ -f series ]; then $(call filter_series,series); else ls | sort; fi; ) 2>/dev/null ); do ( \ + cp "$(2)/$$$$patch" "$(1)/patches/$(3)"; \ + echo "$(3)$$$$patch" >> "$(1)/patches/series"; \ + ); done + $(if $(3),@echo $(3) >> "$(1)/patches/.subdirs") +endef + +define PatchDir/Default + @if [ -d "$(2)" ] && [ "$$$$(ls $(2) | wc -l)" -gt 0 ]; then \ + export PATCH="$(PATCH)"; \ + if [ -s "$(2)/series" ]; then \ + $(call filter_series,$(2)/series) | xargs -n1 \ + $(KPATCH) "$(1)" "$(2)"; \ + else \ + $(KPATCH) "$(1)" "$(2)"; \ + fi; \ + fi +endef + +define PatchDir +$(call PatchDir/$(if $(strip $(QUILT)),Quilt,Default),$(strip $(1)),$(strip $(2)),$(strip $(3))) +endef + +define HostPatchDir +$(call PatchDir/$(if $(strip $(HOST_QUILT)),Quilt,Default),$(strip $(1)),$(strip $(2)),$(strip $(3))) +endef + +ifneq ($(PKG_BUILD_DIR),) + QUILT?=$(if $(wildcard $(PKG_BUILD_DIR)/.quilt_used),y) + ifneq ($(QUILT),) + STAMP_CHECKED:=$(PKG_BUILD_DIR)/.quilt_checked + override CONFIG_AUTOREBUILD= + quilt-check: $(STAMP_CHECKED) + endif +endif + +ifneq ($(HOST_BUILD_DIR),) + HOST_QUILT?=$(if $(findstring command,$(origin QUILT)),$(QUILT),$(if $(wildcard $(HOST_BUILD_DIR)/.quilt_used),y)) + ifneq ($(HOST_QUILT),) + HOST_STAMP_CHECKED:=$(HOST_BUILD_DIR)/.quilt_checked + override CONFIG_AUTOREBUILD= + host-quilt-check: $(HOST_STAMP_CHECKED) + endif +endif + +define Host/Patch/Default + $(if $(HOST_QUILT),rm -rf $(HOST_BUILD_DIR)/patches; mkdir -p $(HOST_BUILD_DIR)/patches) + $(call HostPatchDir,$(HOST_BUILD_DIR),$(HOST_PATCH_DIR),) + $(if $(HOST_QUILT),touch $(HOST_BUILD_DIR)/.quilt_used) +endef + +define Build/Patch/Default + $(if $(QUILT),rm -rf $(PKG_BUILD_DIR)/patches; mkdir -p $(PKG_BUILD_DIR)/patches) + $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR),) + $(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used) +endef + +kernel_files=$(foreach fdir,$(GENERIC_FILES_DIR) $(FILES_DIR),$(fdir)/.) +define Kernel/Patch/Default + rm -rf $(PKG_BUILD_DIR)/patches; mkdir -p $(PKG_BUILD_DIR)/patches + $(if $(kernel_files),$(CP) $(kernel_files) $(LINUX_DIR)/) + find $(LINUX_DIR)/ -name \*.rej -or -name \*.orig | $(XARGS) rm -f + $(call PatchDir,$(PKG_BUILD_DIR),$(GENERIC_PATCH_DIR),generic/) + $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR),platform/) +endef + +define Quilt/RefreshDir + mkdir -p $(2) + -rm -f $(2)/* 2>/dev/null >/dev/null + @( \ + for patch in $$$$($(if $(3),grep "^$(3)",cat) $(1)/patches/series | awk '{print $$$$1}'); do \ + $(CP) -v "$(1)/patches/$$$$patch" $(2); \ + done; \ + ) +endef + +define Quilt/Refresh/Host + $(call Quilt/RefreshDir,$(HOST_BUILD_DIR),$(PATCH_DIR)) +endef + +define Quilt/Refresh/Package + $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)) +endef + +define Quilt/Refresh/Kernel + @[ -z "$$(grep -v '^generic/' $(PKG_BUILD_DIR)/patches/series | grep -v '^platform/')" ] || { \ + echo "All kernel patches must start with either generic/ or platform/"; \ + false; \ + } + $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(GENERIC_PATCH_DIR),generic/) + $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR),platform/) +endef + +define Quilt/Template + $($(2)STAMP_CONFIGURED): $($(2)STAMP_CHECKED) + $(if $(NO_RECONFIGURE),$($(2)STAMP_BUILT),$($(2)STAMP_CONFIGURED)): FORCE + $($(2)STAMP_CHECKED): $($(2)STAMP_PREPARED) + if [ -s "$(1)/patches/series" ]; then \ + (cd "$(1)"; \ + if $(QUILT_CMD) next >/dev/null 2>&1; then \ + $(QUILT_CMD) push -a; \ + else \ + $(QUILT_CMD) top >/dev/null 2>&1; \ + fi \ + ); \ + fi + touch "$$@" + + $(3)quilt-check: $($(2)STAMP_PREPARED) FORCE + @[ -f "$(1)/.quilt_used" ] || { \ + echo "The source directory was not unpacked using quilt. Please rebuild with QUILT=1"; \ + false; \ + } + @[ -f "$(1)/patches/series" ] || { \ + echo "The source directory contains no quilt patches."; \ + false; \ + } + @[ -n "$$$$(ls $(1)/patches/series)" -o "$$$$(cat $(1)/patches/series | md5sum)" = "$$(sort $(1)/patches/series | md5sum)" ] || { \ + echo "The patches are not sorted in the right order. Please fix."; \ + false; \ + } + + $(3)refresh: $(3)quilt-check + @cd "$(1)"; $(QUILT_CMD) pop -a -f >/dev/null 2>/dev/null + @cd "$(1)"; while $(QUILT_CMD) next 2>/dev/null >/dev/null && $(QUILT_CMD) push; do \ + QUILT_DIFF_OPTS="-p" $(QUILT_CMD) refresh -p ab --no-index --no-timestamps; \ + done; ! $(QUILT_CMD) next 2>/dev/null >/dev/null + $(Quilt/Refresh/$(4)) + + $(3)update: $(3)quilt-check + $(Quilt/Refresh/$(4)) +endef + +Build/Quilt=$(call Quilt/Template,$(PKG_BUILD_DIR),,,$(if $(TARGET_BUILD),Kernel,Package)) +Host/Quilt=$(call Quilt/Template,$(HOST_BUILD_DIR),HOST_,host-,Host) + +endif diff --git a/build/rules.mk b/build/rules.mk new file mode 100755 index 0000000..7142383 --- /dev/null +++ b/build/rules.mk @@ -0,0 +1,523 @@ +# +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2016-2016 tracewong +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifneq ($(__rules_inc),1) +__rules_inc=1 + +ifeq ($(DUMP),) + -include $(TOPDIR)/.config +endif +include $(TOPDIR)/build/board.mk +include $(TOPDIR)/build/debug.mk +include $(TOPDIR)/build/verbose.mk + +export TMP_DIR:=$(TOPDIR)/tmp + +qstrip=$(strip $(subst ",,$(1))) +#")) + +empty:= +space:= $(empty) $(empty) +comma:=, +merge=$(subst $(space),,$(1)) +confvar=$(call merge,$(foreach v,$(1),$(if $($(v)),y,n))) +detectfile=$(call merge,$(foreach v,$(1),$(if $(filter $(v),$(wildcard $(v))),y,))) +detectfile_y=$(call merge,$(foreach v,$(1),y)) +strip_last=$(patsubst %.$(lastword $(subst .,$(space),$(1))),%,$(1)) + +paren_left = ( +paren_right = ) +chars_lower = a b c d e f g h i j k l m n o p q r s t u v w x y z +chars_upper = A B C D E F G H I J K L M N O P Q R S T U V W X Y Z + +define sep + +endef + +define newline + + +endef + +__tr_list = $(join $(join $(1),$(foreach char,$(1),$(comma))),$(2)) +__tr_head_stripped = $(subst $(space),,$(foreach cv,$(call __tr_list,$(1),$(2)),$$$(paren_left)subst$(cv)$(comma))) +__tr_head = $(subst $(paren_left)subst,$(paren_left)subst$(space),$(__tr_head_stripped)) +__tr_tail = $(subst $(space),,$(foreach cv,$(1),$(paren_right))) +__tr_template = $(__tr_head)$$(1)$(__tr_tail) + +$(eval toupper = $(call __tr_template,$(chars_lower),$(chars_upper))) +$(eval tolower = $(call __tr_template,$(chars_upper),$(chars_lower))) + +_SINGLE=export MAKEFLAGS=$(space); +CFLAGS:= +ARCH:=$(call qstrip,$(TARGET_ARCH)) +ARCH_PACKAGES:=$(call qstrip,$(TARGET_ARCH_PACKAGES)) +BOARD:=$(call qstrip,$(TARGET_BOARD)) +TARGET_OPTIMIZATION:=$(call qstrip,$(CONFIG_TARGET_OPTIMIZATION)) +export EXTRA_OPTIMIZATION:=$(filter-out -fno-plt,$(call qstrip,$(CONFIG_EXTRA_OPTIMIZATION))) +TARGET_SUFFIX=$(call qstrip,$(CONFIG_TARGET_SUFFIX)) +TOOLCHAIN_LIBC=$(call qstrip,$(CONFIG_TOOLCHAIN_LIBC)) +BUILD_SUFFIX:=$(call qstrip,$(CONFIG_BUILD_SUFFIX)) +SUBDIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR}) +BUILD_SUBDIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR}) +export SHELL:=/usr/bin/env bash +IS_PACKAGE_BUILD := $(if $(filter package/%,$(BUILD_SUBDIR)),1) + +OPTIMIZE_FOR_CPU=$(subst i386,i486,$(ARCH)) + +ifeq ($(ARCH),powerpc) + FPIC:=-fPIC +else + FPIC:=-fpic +endif + +HOST_FPIC:=-fPIC + +ARCH_SUFFIX:=$(call qstrip,$(CONFIG_CPU_TYPE)) +GCC_ARCH:= + +ifneq ($(ARCH_SUFFIX),) + ARCH_SUFFIX:=_$(ARCH_SUFFIX) +endif +ifneq ($(filter -march=armv%,$(TARGET_OPTIMIZATION)),) + GCC_ARCH:=$(patsubst -march=%,%,$(filter -march=armv%,$(TARGET_OPTIMIZATION))) +endif +ifdef CONFIG_HAS_SPE_FPU + TARGET_SUFFIX:=$(TARGET_SUFFIX)spe +endif +ifdef CONFIG_MIPS64_ABI + ifneq ($(CONFIG_MIPS64_ABI_O32),y) + ARCH_SUFFIX:=$(ARCH_SUFFIX)_$(call qstrip,$(CONFIG_MIPS64_ABI)) + endif +endif + +DL_DIR:=$(TOPDIR)/dl +OUT_DIR:=$(TOPDIR)/out +TARGET_OUT_DIR:=$(TOPDIR)/out/$(BOARD) +BUILD_DIR:=$(TOPDIR)/build +SCRIPT_DIR:=$(TOPDIR)/scripts +COMPILE_DIR_BASE:=$(TARGET_OUT_DIR)/compile_dir +TARGET_CFLAGS:=$(TARGET_OPTIMIZATION)$(if $(CONFIG_DEBUG), -g3) $(call qstrip,$(CONFIG_EXTRA_OPTIMIZATION)) + +ifeq ($(CONFIG_UPDATE_TOOLCHAIN), ) + ifeq ($(ARCH), arm) + CONFIG_TOOLCHAIN_PREFIX=$(ARCH)-openwrt-linux-$(TARGET_SUFFIX)- + CONFIG_TARGET_NAME=$(ARCH)-openwrt-linux + else + ifeq ($(ARCH), riscv) + ifeq ($(CONFIG_EXT_TOOLCHAIN_LIBC_USE_GLIBC),y) + CONFIG_TOOLCHAIN_PREFIX=riscv64-unknown-linux-gnu- + CONFIG_TARGET_NAME=riscv64-unknown-linux-gnu + endif + else + ifeq ($(CONFIG_COMPLILE_KERNEL64_USER32),y) + ifeq ($(CONFIG_EXT_TOOLCHAIN_LIBC_USE_GLIBC),y) + CONFIG_TOOLCHAIN_PREFIX=arm-openwrt-linux-gnueabi- + CONFIG_TARGET_NAME=arm-openwrt-linux + else + CONFIG_TOOLCHAIN_PREFIX=arm-openwrt-linux-muslgnueabi- + CONFIG_TARGET_NAME=arm-openwrt-linux + endif + else + # use aarch64 toolchain + CONFIG_TOOLCHAIN_PREFIX=$(ARCH)-openwrt-linux-$(TARGET_SUFFIX)- + CONFIG_TARGET_NAME=$(ARCH)-openwrt-linux + endif + endif + endif + + ifeq ($(ARCH), arm) + ifeq ($(TARGET_CPU_VARIANT),arm926ej-s) + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/$(ARCH)/toolchain-sunxi-arm9-$(TOOLCHAIN_LIBC)/toolchain + TARGET_CFLAGS+=-Wno-unused-result + else + # use arm toolchain + ifeq ($(CONFIG_EXT_TOOLCHAIN_GCC_5_3_1),y) + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/$(ARCH)/toolchain-sunxi-$(TOOLCHAIN_LIBC)-gcc-531/toolchain + TARGET_CFLAGS+= + else + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/$(ARCH)/toolchain-sunxi-$(TOOLCHAIN_LIBC)/toolchain + TARGET_CFLAGS+= + endif + endif + else + ifeq ($(ARCH), riscv) + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/$(ARCH)/toolchain-thead-$(TOOLCHAIN_LIBC)/riscv64-glibc-gcc-thead_20200702 + TARGET_CFLAGS+=-Wno-format-truncation + else + ifeq ($(CONFIG_COMPLILE_KERNEL64_USER32),y) + ifeq ($(CONFIG_EXT_TOOLCHAIN_GCC_5_3_1),y) + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-$(TOOLCHAIN_LIBC)-gcc-531/toolchain + TARGET_CFLAGS+= + else + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-$(TOOLCHAIN_LIBC)/toolchain + TARGET_CFLAGS+= + endif + else + # use aarch64 toolchain + ifeq ($(CONFIG_EXT_TOOLCHAIN_GCC_8_3_0),y) + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/$(ARCH)/toolchain-sunxi-$(TOOLCHAIN_LIBC)-gcc-830/toolchain + TARGET_CFLAGS+= + else + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/$(ARCH)/toolchain-sunxi-$(TOOLCHAIN_LIBC)/toolchain + TARGET_CFLAGS+= + endif + endif + endif + endif + + CONFIG_TOOLCHAIN_BIN_PATH="./usr/bin ./bin" + CONFIG_TOOLCHAIN_LIB_PATH="./usr/lib ./lib" + CONFIG_LIBATOMIC_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + CONFIG_LIBC_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + CONFIG_LIBGCC_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + CONFIG_LIBPTHREAD_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + CONFIG_LIBRT_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + CONFIG_LIBSSP_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + CONFIG_LIBSTDCPP_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + CONFIG_LIBASAN_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + + ifneq ($(ARCH), riscv) + CONFIG_LIBATOMIC_FILE_SPEC="./lib/libatomic.so.*" + CONFIG_LIBGCC_FILE_SPEC="./lib/libgcc_s.so.*" + CONFIG_LIBPTHREAD_FILE_SPEC="./lib/libpthread{-*.so,.so.*}" + CONFIG_LIBRT_FILE_SPEC="./lib/librt{-*.so,.so.*}" + CONFIG_LIBSSP_FILE_SPEC="./lib/libssp.so.*" + CONFIG_LIBSTDCPP_FILE_SPEC="./lib/libstdc++.so.*" + CONFIG_LIBASAN_FILE_SPEC="./lib/libasan.so.*" + else + CONFIG_LIBC_ROOT_DIR="$(CONFIG_TOOLCHAIN_ROOT)/sysroot/" + CONFIG_LIBGCC_ROOT_DIR="$(CONFIG_TOOLCHAIN_ROOT)/riscv64-unknown-linux-gnu/" + CONFIG_LIBPTHREAD_ROOT_DIR="$(CONFIG_TOOLCHAIN_ROOT)/sysroot/" + CONFIG_LIBRT_ROOT_DIR="$(CONFIG_TOOLCHAIN_ROOT)/sysroot/" + CONFIG_LIBSSP_ROOT_DIR="$(CONFIG_TOOLCHAIN_ROOT)/sysroot/" + CONFIG_LIBSTDCPP_ROOT_DIR="$(CONFIG_TOOLCHAIN_ROOT)/riscv64-unknown-linux-gnu/" + endif + + ifeq ($(CONFIG_TOOLCHAIN_LIBC), "musl") + CONFIG_TOOLCHAIN_INC_PATH="./usr/include ./include ./include/fortify" + ifneq ($(ARCH), riscv) + CONFIG_LIBC_FILE_SPEC="./lib/ld-musl-*.so* ./lib/lib{anl,c,gomp,cidn,crypt,dl,m,nsl,nss_dns,nss_files,resolv,util}{-*.so,.so*}" + endif + else ifeq ($(CONFIG_TOOLCHAIN_LIBC), "glibc") + CONFIG_TOOLCHAIN_INC_PATH="./usr/include ./include" + ifneq ($(ARCH), riscv) + CONFIG_LIBC_FILE_SPEC="./lib/ld-{*.so,linux*.so.*} ./lib/lib{anl,c,cidn,gomp,crypt,dl,m,nsl,nss_dns,nss_files,resolv,util}{-*.so,.so*}" + endif + CONFIG_LDD_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + CONFIG_LDD_FILE_SPEC="./usr/bin/ldd" + endif +else + CONFIG_MAKE_TOOLCHAIN:=y + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/$(ARCH) +endif + +ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) + GCCV:=$(call qstrip,$(CONFIG_GCC_VERSION)) + LIBC:=$(call qstrip,$(CONFIG_LIBC)) + LIBCV:=$(call qstrip,$(CONFIG_LIBC_VERSION)) + REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-openwrt-linux$(if $(TARGET_SUFFIX),-$(TARGET_SUFFIX)) + GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-openwrt-linux + DIR_SUFFIX:=_$(LIBC)-$(LIBCV)$(if $(CONFIG_arm),_eabi) + TARGET_DIR_NAME = target + TOOLCHAIN_DIR_NAME = toolchain +else + ifeq ($(CONFIG_NATIVE_TOOLCHAIN),) + GNU_TARGET_NAME=$(call qstrip,$(CONFIG_TARGET_NAME)) + else + GNU_TARGET_NAME=$(shell gcc -dumpmachine) + endif + REAL_GNU_TARGET_NAME=$(GNU_TARGET_NAME) + TARGET_DIR_NAME:=target + TOOLCHAIN_DIR_NAME:=toolchain +endif + +ifeq ($(or $(CONFIG_EXTERNAL_TOOLCHAIN),$(CONFIG_GCC_VERSION_8_3_0),$(CONFIG_GCC_VERSION_4_8),$(CONFIG_GCC_VERSION_4_8_3),$(CONFIG_GCC_VERSION_4_5_1),$(CONFIG_TARGET_uml),$(CONFIG_EXT_TOOLCHAIN_GCC_5_3_1)),) + iremap = -iremap $(1):$(2) +endif + +PACKAGE_DIR:=$(TARGET_OUT_DIR)/packages +COMPILE_DIR:=$(COMPILE_DIR_BASE)/$(TARGET_DIR_NAME) +STAGING_DIR:=$(TARGET_OUT_DIR)/staging_dir/$(TARGET_DIR_NAME) +COMPILE_DIR_TOOLCHAIN:=$(COMPILE_DIR_BASE)/$(TOOLCHAIN_DIR_NAME) +TOOLCHAIN_DIR:=$(TARGET_OUT_DIR)/staging_dir/$(TOOLCHAIN_DIR_NAME) +STAMP_DIR:=$(COMPILE_DIR)/stamp +STAMP_DIR_HOST=$(COMPILE_DIR_HOST)/stamp +TARGET_ROOTFS_DIR?=$(if $(call qstrip,$(CONFIG_TARGET_ROOTFS_DIR)),$(call qstrip,$(CONFIG_TARGET_ROOTFS_DIR)),$(COMPILE_DIR)) +TARGET_DIR:=$(TARGET_ROOTFS_DIR)/rootfs +STAGING_DIR_ROOT:=$(STAGING_DIR)/rootfs +BUILD_LOG_DIR:=$(TOPDIR)/logs +PKG_INFO_DIR := $(STAGING_DIR)/pkginfo + +COMPILE_DIR_HOST:=$(if $(IS_PACKAGE_BUILD),$(COMPILE_DIR)/host,$(COMPILE_DIR_BASE)/host) +STAGING_DIR_HOST:=$(TOPDIR)/out/host + +TARGET_PATH:=$(subst $(space),:,$(filter-out .,$(filter-out ./,$(subst :,$(space),$(PATH))))) +TARGET_INIT_PATH:=$(call qstrip,$(CONFIG_TARGET_INIT_PATH)) +TARGET_INIT_PATH:=$(if $(TARGET_INIT_PATH),$(TARGET_INIT_PATH),/usr/sbin:/sbin:/usr/bin:/bin) +ifndef ($(or $(CONFIG_GCC_VERSION_4_5_1),$(CONFIG_GCC_VERSION_4_8_3)),) + TARGET_CFLAGS:=$(filter-out -fno-plt,$(call qstrip,$(TARGET_CFLAGS))) + TARGET_CFLAGS+=-Wno-unused-result +endif +TARGET_CXXFLAGS = $(TARGET_CFLAGS) +TARGET_ASFLAGS_DEFAULT = $(TARGET_CFLAGS) +TARGET_ASFLAGS = $(TARGET_ASFLAGS_DEFAULT) +TARGET_CPPFLAGS:=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include +TARGET_LDFLAGS:=-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib +ifneq ($(CONFIG_EXTERNAL_TOOLCHAIN),) +LIBGCC_S_PATH=$(realpath $(wildcard $(call qstrip,$(CONFIG_LIBGCC_ROOT_DIR))/$(call qstrip,$(CONFIG_LIBGCC_FILE_SPEC)))) +LIBGCC_S=$(if $(LIBGCC_S_PATH),-L$(dir $(LIBGCC_S_PATH)) -lgcc_s) +LIBGCC_A=$(realpath $(lastword $(wildcard $(dir $(LIBGCC_S_PATH))/gcc/*/*/libgcc.a))) +else +LIBGCC_A=$(lastword $(wildcard $(TOOLCHAIN_DIR)/lib/gcc/*/*/libgcc.a)) +LIBGCC_S=$(if $(wildcard $(TOOLCHAIN_DIR)/lib/libgcc_s.so),-L$(TOOLCHAIN_DIR)/lib -lgcc_s,$(LIBGCC_A)) +endif +LIBRPC=-lrpc +LIBRPC_DEPENDS=+librpc + +ifeq ($(CONFIG_ARCH_64BIT),y) + LIB_SUFFIX:=64 +endif + +ifndef DUMP + ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) + -include $(TOOLCHAIN_DIR)/info.mk + export GCC_HONOUR_COPTS:=0 + TARGET_CROSS:=$(if $(TARGET_CROSS),$(TARGET_CROSS),$(OPTIMIZE_FOR_CPU)-openwrt-linux$(if $(TARGET_SUFFIX),-$(TARGET_SUFFIX))-) + ifdef ($(or $(CONFIG_GCC_VERSION_4_5_1),$(CONFIG_GCC_VERSION_4_8_3)),) + TARGET_CFLAGS+= -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result + endif + TARGET_CPPFLAGS+= -I$(TOOLCHAIN_DIR)/usr/include + ifeq ($(CONFIG_USE_MUSL),y) + TARGET_CPPFLAGS+= -I$(TOOLCHAIN_DIR)/include/fortify + endif + TARGET_CPPFLAGS+= -I$(TOOLCHAIN_DIR)/include + TARGET_LDFLAGS+= -L$(TOOLCHAIN_DIR)/usr/lib -L$(TOOLCHAIN_DIR)/lib + TARGET_PATH:=$(TOOLCHAIN_DIR)/bin:$(TARGET_PATH) + else + ifeq ($(CONFIG_NATIVE_TOOLCHAIN),) + TARGET_CROSS:=$(call qstrip,$(CONFIG_TOOLCHAIN_PREFIX)) + TOOLCHAIN_ROOT_DIR:=$(call qstrip,$(CONFIG_TOOLCHAIN_ROOT)) + TOOLCHAIN_BIN_DIRS:=$(patsubst ./%,$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_BIN_PATH))) + TOOLCHAIN_INC_DIRS:=$(patsubst ./%,$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_INC_PATH))) + TOOLCHAIN_LIB_DIRS:=$(patsubst ./%,$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_LIB_PATH))) + ifneq ($(TOOLCHAIN_BIN_DIRS),) + TARGET_PATH:=$(subst $(space),:,$(TOOLCHAIN_BIN_DIRS)):$(TARGET_PATH) + endif + ifneq ($(TOOLCHAIN_INC_DIRS),) + TARGET_CPPFLAGS+= $(patsubst %,-I%,$(TOOLCHAIN_INC_DIRS)) + endif + ifneq ($(TOOLCHAIN_LIB_DIRS),) + TARGET_LDFLAGS+= $(patsubst %,-L%,$(TOOLCHAIN_LIB_DIRS)) + endif + TARGET_CXXFLAGS+=-Wno-virtual-dtor + ifeq ($(CONFIG_COMPLILE_KERNEL64_USER32),y) + ARCH64PATH:=$(TOPDIR)/prebuilt/gcc/linux-x86/aarch64/toolchain-sunxi-$(TOOLCHAIN_LIBC)/toolchain + TARGET_PATH:=$(TOOLCHAIN_DIR)/bin:$(TARGET_PATH):$(ARCH64PATH)/bin + else + TARGET_PATH:=$(TOOLCHAIN_DIR)/bin:$(TARGET_PATH) + endif + endif + endif +endif +TARGET_PATH_PKG:=$(STAGING_DIR)/host/bin:$(TARGET_PATH) + +ifeq ($(CONFIG_SOFT_FLOAT),y) + SOFT_FLOAT_CONFIG_OPTION:=--with-float=soft + ifeq ($(CONFIG_arm),y) + TARGET_CFLAGS+= -mfloat-abi=soft + else + TARGET_CFLAGS+= -msoft-float + endif +else + SOFT_FLOAT_CONFIG_OPTION:= + ifeq ($(or $(CONFIG_arm),$(CONFIG_COMPLILE_KERNEL64_USER32)),y) + ifeq ($(CONFIG_COMPLILE_KERNEL64_USER32),y) + TARGET_CFLAGS +=-Os -pipe -march=armv8-a -mtune=cortex-a53 -mfpu=neon + endif + TARGET_CFLAGS+= -mfloat-abi=hard + endif +endif + +export PATH:=$(TARGET_PATH) +export STAGING_DIR STAGING_DIR_HOST +export SH_FUNC:=. $(BUILD_DIR)/shell.sh; + +PKG_CONFIG:=$(STAGING_DIR_HOST)/bin/pkg-config + +export PKG_CONFIG + +HOSTCC:=gcc +HOSTCXX:=g++ +HOST_CPPFLAGS:=-I$(STAGING_DIR_HOST)/include -I$(STAGING_DIR_HOST)/usr/include $(if $(IS_PACKAGE_BUILD),-I$(STAGING_DIR)/host/include) +HOST_CFLAGS:=-O2 $(HOST_CPPFLAGS) +HOST_LDFLAGS:=-L$(STAGING_DIR_HOST)/lib -L$(STAGING_DIR_HOST)/usr/lib $(if $(IS_PACKAGE_BUILD),-L$(STAGING_DIR)/host/lib) + +ifeq ($(or $(CONFIG_EXTERNAL_TOOLCHAIN),$(CONFIG_GCC_VERSION_4_5_1),$(CONFIG_GCC_VERSION_4_8_3)),) + TARGET_AR:=$(TARGET_CROSS)gcc-ar + TARGET_RANLIB:=$(TARGET_CROSS)gcc-ranlib + TARGET_NM:=$(TARGET_CROSS)gcc-nm +else + TARGET_AR:=$(TARGET_CROSS)ar + TARGET_RANLIB:=$(TARGET_CROSS)ranlib + TARGET_NM:=$(TARGET_CROSS)nm +endif + +BUILD_KEY=$(TOPDIR)/key-build + +TARGET_CC:=$(TARGET_CROSS)gcc +TARGET_CXX:=$(TARGET_CROSS)g++ +KPATCH:=$(SCRIPT_DIR)/patch-kernel.sh +SED:=$(STAGING_DIR_HOST)/bin/sed -i -e +CP:=cp -fpR +LN:=ln -sf +XARGS:=xargs -r + +BASH:=bash +TAR:=tar +FIND:=find +PATCH:=patch +PYTHON:=python + +INSTALL_BIN:=install -m0755 +INSTALL_DIR:=install -d -m0755 +INSTALL_DATA:=install -m0644 +INSTALL_CONF:=install -m0600 + +TARGET_CC_NOCACHE:=$(TARGET_CC) +TARGET_CXX_NOCACHE:=$(TARGET_CXX) +HOSTCC_NOCACHE:=$(HOSTCC) +HOSTCXX_NOCACHE:=$(HOSTCXX) +export TARGET_CC_NOCACHE +export TARGET_CXX_NOCACHE +export HOSTCC_NOCACHE + +ifneq ($(CONFIG_CCACHE),) + TARGET_CC:= ccache_cc + TARGET_CXX:= ccache_cxx + HOSTCC:= ccache $(HOSTCC) + HOSTCXX:= ccache $(HOSTCXX) +endif + +TARGET_CONFIGURE_OPTS = \ + AR="$(TARGET_AR)" \ + AS="$(TARGET_CC) -c $(TARGET_ASFLAGS)" \ + LD=$(TARGET_CROSS)ld \ + NM="$(TARGET_NM)" \ + CC="$(TARGET_CC)" \ + GCC="$(TARGET_CC)" \ + CXX="$(TARGET_CXX)" \ + RANLIB="$(TARGET_RANLIB)" \ + STRIP=$(TARGET_CROSS)strip \ + OBJCOPY=$(TARGET_CROSS)objcopy \ + OBJDUMP=$(TARGET_CROSS)objdump \ + SIZE=$(TARGET_CROSS)size + +# strip an entire directory +ifneq ($(CONFIG_NO_STRIP),) + RSTRIP:=: + STRIP:=: +else + ifneq ($(CONFIG_USE_STRIP),) + STRIP:=$(TARGET_CROSS)strip $(call qstrip,$(CONFIG_STRIP_ARGS)) + else + ifneq ($(CONFIG_USE_SSTRIP),) + STRIP:=$(STAGING_DIR_HOST)/bin/sstrip + endif + endif + RSTRIP= \ + export CROSS="$(TARGET_CROSS)" \ + $(if $(PKG_BUILD_ID),KEEP_BUILD_ID=1) \ + $(if $(CONFIG_KERNEL_KALLSYMS),NO_RENAME=1) \ + $(if $(CONFIG_KERNEL_PROFILING),KEEP_SYMBOLS=1); \ + NM="$(TARGET_CROSS)nm" \ + STRIP="$(STRIP)" \ + STRIP_KMOD="$(SCRIPT_DIR)/strip-kmod.sh" \ + PATCHELF="$(STAGING_DIR_HOST)/bin/patchelf" \ + $(SCRIPT_DIR)/rstrip.sh +endif + +ifeq ($(CONFIG_IPV6),y) + DISABLE_IPV6:= +else + DISABLE_IPV6:=--disable-ipv6 +endif + +TAR_OPTIONS:=-xf - + +ifeq ($(CONFIG_BUILD_LOG),y) + BUILD_LOG:=1 +endif + +export BISON_PKGDATADIR:=$(STAGING_DIR_HOST)/share/bison +export M4:=$(STAGING_DIR_HOST)/bin/m4 + +define shvar +V_$(subst .,_,$(subst -,_,$(subst /,_,$(1)))) +endef + +define shexport +export $(call shvar,$(1))=$$(call $(1)) +endef + +define include_mk +$(eval -include $(if $(DUMP),,$(STAGING_DIR)/mk/$(strip $(1)))) +endef + +# Execute commands under flock +# $(1) => The shell expression. +# $(2) => The lock name. If not given, the global lock will be used. +ifneq ($(wildcard $(STAGING_DIR_HOST)/bin/flock),) + define locked + SHELL= \ + flock \ + $(TMP_DIR)/.$(if $(2),$(strip $(2)),global).flock \ + -c '$(subst ','\'',$(1))' + endef +else + locked=$(1) +endif + +# Recursively copy paths into another directory, purge dangling +# symlinks before. +# $(1) => File glob expression +# $(2) => Destination directory +define file_copy + for src_dir in $(sort $(foreach d,$(wildcard $(1)),$(dir $(d)))); do \ + ( cd $$src_dir; find -type f -or -type d ) | \ + ( cd $(2); while :; do \ + read FILE; \ + [ -z "$$FILE" ] && break; \ + [ -L "$$FILE" ] || continue; \ + echo "Removing symlink $(2)/$$FILE"; \ + rm -f "$$FILE"; \ + done; ); \ + done; \ + $(CP) $(1) $(2) +endef + +# file extension +ext=$(word $(words $(subst ., ,$(1))),$(subst ., ,$(1))) + +all: +FORCE: ; +.PHONY: FORCE + +val.%: + @$(if $(filter undefined,$(origin $*)),\ + echo "$* undefined" >&2, \ + echo '$(subst ','"'"',$($*))' \ + ) + +var.%: + @$(if $(filter undefined,$(origin $*)),\ + echo "$* undefined" >&2, \ + echo "$*='"'$(subst ','"'\"'\"'"',$($*))'"'" \ + ) + +endif #__rules_inc diff --git a/build/scan.awk b/build/scan.awk new file mode 100644 index 0000000..0f02782 --- /dev/null +++ b/build/scan.awk @@ -0,0 +1,19 @@ +BEGIN { FS="/" } +$1 ~ /^feeds/ { FEEDS[$NF]=$0 } +$1 !~ /^feeds/ { PKGS[$NF]=$0 } +END { + # Filter-out OpenWrt packages which have a feeds equivalent + for (pkg in PKGS) + if (pkg in FEEDS) { + print PKGS[pkg] > of + delete PKGS[pkg] + } + n = asort(PKGS) + for (i=1; i <= n; i++) { + print PKGS[i] + } + n = asort(FEEDS) + for (i=1; i <= n; i++){ + print FEEDS[i] + } +} diff --git a/build/scan.mk b/build/scan.mk new file mode 100644 index 0000000..22326e2 --- /dev/null +++ b/build/scan.mk @@ -0,0 +1,102 @@ +include $(TOPDIR)/build/verbose.mk +TMP_DIR:=$(TOPDIR)/tmp + +all: $(TMP_DIR)/.$(SCAN_TARGET) + +include $(TOPDIR)/build/host.mk + +SCAN_TARGET ?= packageinfo +SCAN_NAME ?= package +SCAN_DIR ?= package +TARGET_STAMP:=$(TMP_DIR)/info/.files-$(SCAN_TARGET).stamp +FILELIST:=$(TMP_DIR)/info/.files-$(SCAN_TARGET)-$(SCAN_COOKIE) +OVERRIDELIST:=$(TMP_DIR)/info/.overrides-$(SCAN_TARGET)-$(SCAN_COOKIE) + +ifeq ($(IS_TTY),1) + define progress + printf "\033[M\r$(1)" >&2; + endef +else + define progress + :; + endef +endif + +define feedname +$(if $(patsubst feeds/%,,$(1)),,$(word 2,$(subst /, ,$(1)))) +endef + +define PackageDir + $(TMP_DIR)/.$(SCAN_TARGET): $(TMP_DIR)/info/.$(SCAN_TARGET)-$(1) + $(TMP_DIR)/info/.$(SCAN_TARGET)-$(1): $(SCAN_DIR)/$(2)/Makefile $(SCAN_STAMP) $(foreach DEP,$(DEPS_$(SCAN_DIR)/$(2)/Makefile) $(SCAN_DEPS),$(wildcard $(if $(filter /%,$(DEP)),$(DEP),$(SCAN_DIR)/$(2)/$(DEP)))) + { \ + $$(call progress,Collecting $(SCAN_NAME) info: $(SCAN_DIR)/$(2)) \ + echo Source-Makefile: $(SCAN_DIR)/$(2)/Makefile; \ + $(if $(3),echo Override: $(3),true); \ + $(NO_TRACE_MAKE) --no-print-dir -r DUMP=1 FEED="$(call feedname,$(2))" -C $(SCAN_DIR)/$(2) $(SCAN_MAKEOPTS) 2>/dev/null || { \ + mkdir -p "$(TOPDIR)/logs/$(SCAN_DIR)/$(2)"; \ + $(NO_TRACE_MAKE) --no-print-dir -r DUMP=1 FEED="$(call feedname,$(2))" -C $(SCAN_DIR)/$(2) $(SCAN_MAKEOPTS) > $(TOPDIR)/logs/$(SCAN_DIR)/$(2)/dump.txt 2>&1; \ + $$(call progress,ERROR: please fix $(SCAN_DIR)/$(2)/Makefile - see logs/$(SCAN_DIR)/$(2)/dump.txt for details\n) \ + rm -f $$@; \ + }; \ + echo; \ + } > $$@ || true +endef + +$(OVERRIDELIST): + rm -f $(TMP_DIR)/info/.overrides-$(SCAN_TARGET)-* + touch $@ + +ifeq ($(SCAN_NAME),target) + GREP_STRING=BuildTarget +else + GREP_STRING=(Build/DefaultTargets|BuildPackage|.+Package) +endif + +$(FILELIST): $(OVERRIDELIST) + rm -f $(TMP_DIR)/info/.files-$(SCAN_TARGET)-* + $(call FIND_L, $(SCAN_DIR)) $(SCAN_EXTRA) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -aHE 'call $(GREP_STRING)' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq | awk -v of=$(OVERRIDELIST) -f build/scan.awk > $@ + +$(TMP_DIR)/info/.files-$(SCAN_TARGET).mk: $(FILELIST) + ( \ + cat $< | awk '{print "$(SCAN_DIR)/" $$0 "/Makefile" }' | xargs grep -HE '^ *SCAN_DEPS *= *' | awk -F: '{ gsub(/^.*DEPS *= */, "", $$2); print "DEPS_" $$1 "=" $$2 }'; \ + awk -F/ -v deps="$$DEPS" -v of="$(OVERRIDELIST)" ' \ + BEGIN { \ + while (getline < (of)) \ + override[$$NF]=$$0; \ + close(of) \ + } \ + { \ + info=$$0; \ + gsub(/\//, "_", info); \ + dir=$$0; \ + pkg=""; \ + if($$NF in override) \ + pkg=override[$$NF]; \ + print "$$(eval $$(call PackageDir," info "," dir "," pkg "))"; \ + } ' < $<; \ + true; \ + ) > $@ + +-include $(TMP_DIR)/info/.files-$(SCAN_TARGET).mk + +$(TARGET_STAMP):: + +( \ + $(NO_TRACE_MAKE) $(FILELIST); \ + MD5SUM=$$(cat $(FILELIST) $(OVERRIDELIST) | (md5sum || md5) 2>/dev/null | awk '{print $$1}'); \ + [ -f "$@.$$MD5SUM" ] || { \ + rm -f $@.*; \ + touch $@.$$MD5SUM; \ + touch $@; \ + } \ + ) + +$(TMP_DIR)/.$(SCAN_TARGET): $(TARGET_STAMP) $(SCAN_STAMP) + $(call progress,Collecting $(SCAN_NAME) info: merging...) + -cat $(FILELIST) | awk '{gsub(/\//, "_", $$0);print "$(TMP_DIR)/info/.$(SCAN_TARGET)-" $$0}' | xargs cat > $@ 2>/dev/null + $(call progress,Collecting $(SCAN_NAME) info: done) + echo + +FORCE: +.PHONY: FORCE +.NOTPARALLEL: diff --git a/build/scons.mk b/build/scons.mk new file mode 100644 index 0000000..a8306b6 --- /dev/null +++ b/build/scons.mk @@ -0,0 +1,23 @@ +export PLATFORM=posix + +SCONS_VARS = \ + CC="$(TARGET_CC_NOCACHE)" \ + CXX="$(TARGET_CXX_NOCACHE)" \ + CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \ + CXXFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \ + CPPFLAGS="$(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" \ + DESTDIR="$(PKG_INSTALL_DIR)" + +define Build/Configure/Default + (cd $(PKG_BUILD_DIR); \ + $(SCONS_VARS) \ + scons \ + prefix=/usr \ + $(SCONS_OPTIONS) \ + install \ + ) +endef + +define Build/Compile +endef diff --git a/build/shell.sh b/build/shell.sh new file mode 100644 index 0000000..6389304 --- /dev/null +++ b/build/shell.sh @@ -0,0 +1,37 @@ +getvar() { + eval "echo \"\${$1}\"" +} + +var2file() { + local var + eval "var=\"\${$1}\"" + if [ -n "$var" ]; then echo "$var" > "$2"; fi +} + +isset() { + local var + eval "var=\"\${$1}\"" + [ -n "$var" ] +} + +trapret() {( + local retvals="$1"; shift + local cmd="$1"; shift + for retval in $(echo $retvals); do + local trap_$retval=1 + done + "$cmd" "$@" || { + local retval="$?" + eval "trapped=\${trap_$retval}" + [ -n "$trapped" ] || { + return $retval + } + } +)} + +md5s() { + cat "$@" | ( + md5sum 2>/dev/null || + md5 + ) | awk '{print $1}' +} diff --git a/build/site/aarch64 b/build/site/aarch64 new file mode 100644 index 0000000..2616f3b --- /dev/null +++ b/build/site/aarch64 @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/build/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +ac_cv_sizeof___int64=8 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=8 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=8 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=8 +ac_cv_sizeof_ssize_t=8 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=8 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=8 diff --git a/build/site/aarch64_be b/build/site/aarch64_be new file mode 100644 index 0000000..1970c65 --- /dev/null +++ b/build/site/aarch64_be @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/build/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +ac_cv_sizeof___int64=8 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=8 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=8 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=8 +ac_cv_sizeof_ssize_t=8 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=8 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=8 diff --git a/build/site/arm b/build/site/arm new file mode 100644 index 0000000..1416aa0 --- /dev/null +++ b/build/site/arm @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/build/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/build/site/armeb b/build/site/armeb new file mode 100644 index 0000000..539722a --- /dev/null +++ b/build/site/armeb @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/build/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=no} +ac_cv_c_bigendian=${ac_cv_c_bigendian=yes} + +ac_cv_sizeof___int64=0 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=4 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=4 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=4 +ac_cv_sizeof_ssize_t=4 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=4 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=4 diff --git a/build/site/linux b/build/site/linux new file mode 100644 index 0000000..b193d25 --- /dev/null +++ b/build/site/linux @@ -0,0 +1,78 @@ +ac_atomic_add=yes +ac_atomic_sub=yes +ac_cv_c_gettext_without_libintl=yes +ac_cv_c_long_double=no +ac_cv_conv_longlong_to_float=yes +ac_cv_file__dev_zero=yes +ac_cv_func___va_copy=no +ac_cv_func__exit=yes +ac_cv_func_bcopy=yes +ac_cv_func_bzero=yes +ac_cv_func_bcmp=yes +ac_cv_func_creal=yes +ac_cv_func_cimag=yes +ac_cv_func_fchmod=yes +ac_cv_func_getaddrinfo=yes +ac_cv_func_getcwd=yes +ac_cv_func_getdomainname=yes +ac_cv_func_getpgrp_void=yes +ac_cv_func_getpwuid_r=yes +ac_cv_func_gettimeofday=yes +ac_cv_func_index=yes +ac_cv_func_lstat_dereferences_slashed_symlink=yes +ac_cv_func_lstat_empty_string_bug=no +ac_cv_func_lstat=yes +ac_cv_func_malloc_0_nonnull=yes +ac_cv_func_malloc_works=yes +ac_cv_func_memcmp_clean=yes +ac_cv_func_memcmp_working=yes +ac_cv_func_posix_getgrgid_r=yes +ac_cv_func_posix_getpwuid_r=yes +ac_cv_func_psignal=yes +ac_cv_func_pthread_key_delete=yes +ac_cv_func_realloc_0_nonnull=yes +ac_cv_func_realloc_works=yes +ac_cv_func_rename=yes +ac_cv_func_rindex=yes +ac_cv_func_setlocale=yes +ac_cv_func_setgrent_void=yes +ac_cv_func_setpgrp_void=yes +ac_cv_func_setresuid=no +ac_cv_func_setvbuf_reversed=no +ac_cv_func_stat_empty_string_bug=no +ac_cv_func_stat_ignores_trailing_slash=no +ac_cv_func_strerror=yes +ac_cv_func_strftime=yes +ac_cv_func_utimes=yes +ac_cv_func___adjtimex=yes +ac_cv_func_va_copy=no +ac_cv_func_vsnprintf=yes +ac_cv_have_accrights_in_msghdr=no +ac_cv_have_broken_snprintf=no +ac_cv_have_control_in_msghdr=yes +ac_cv_have_decl_sys_siglist=no +ac_cv_have_openpty_ctty_bug=yes +ac_cv_have_space_d_name_in_struct_dirent=yes +ac_cv_header_netinet_sctp_h=no +ac_cv_header_netinet_sctp_uio_h=no +ac_cv_int64_t=yes +ac_cv_lbl_unaligned_fail=no +ac_cv_linux_kernel_pppoe=yes +ac_cv_linux_vers=2 +ac_cv_pack_bitfields_reversed=yes +ac_cv_path_LDCONFIG= +ac_cv_regexec_segfault_emptystr=no +ac_cv_sctp=no +ac_cv_sys_restartable_syscalls=yes +ac_cv_time_r_type=POSIX +ac_cv_type_suseconds_t=yes +ac_cv_uchar=no +ac_cv_uint=yes +ac_cv_uint64_t=yes +ac_cv_ulong=yes +ac_cv_ushort=yes +ac_cv_va_copy=C99 +ac_cv_va_val_copy=yes +as_cv_unaligned_access=yes +ac_cv_func_malloc_0_nonnull=yes +ac_cv_func_realloc_0_nonnull=yes diff --git a/build/site/riscv b/build/site/riscv new file mode 100644 index 0000000..2616f3b --- /dev/null +++ b/build/site/riscv @@ -0,0 +1,30 @@ +#!/bin/sh +. $TOPDIR/build/site/linux +ac_cv_c_littleendian=${ac_cv_c_littleendian=yes} +ac_cv_c_bigendian=${ac_cv_c_bigendian=no} + +ac_cv_sizeof___int64=8 +ac_cv_sizeof_char=1 +ac_cv_sizeof_int=4 +ac_cv_sizeof_int16_t=2 +ac_cv_sizeof_int32_t=4 +ac_cv_sizeof_int64_t=8 +ac_cv_sizeof_long_int=8 +ac_cv_sizeof_long_long=8 +ac_cv_sizeof_long=8 +ac_cv_sizeof_off_t=8 +ac_cv_sizeof_short_int=2 +ac_cv_sizeof_short=2 +ac_cv_sizeof_size_t=8 +ac_cv_sizeof_ssize_t=8 +ac_cv_sizeof_u_int16_t=2 +ac_cv_sizeof_u_int32_t=4 +ac_cv_sizeof_u_int64_t=8 +ac_cv_sizeof_uint16_t=2 +ac_cv_sizeof_uint32_t=4 +ac_cv_sizeof_uint64_t=8 +ac_cv_sizeof_unsigned_int=4 +ac_cv_sizeof_unsigned_long=8 +ac_cv_sizeof_unsigned_long_long=8 +ac_cv_sizeof_unsigned_short=2 +ac_cv_sizeof_void_p=8 diff --git a/build/subdir.mk b/build/subdir.mk new file mode 100644 index 0000000..f4085f9 --- /dev/null +++ b/build/subdir.mk @@ -0,0 +1,92 @@ +# +# Copyright (C) 2007 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifeq ($(MAKECMDGOALS),prereq) + SUBTARGETS:=prereq + PREREQ_ONLY:=1 +else + SUBTARGETS:=clean download prepare compile install update refresh prereq dist distcheck configure +endif + +subtarget-default = $(filter-out ., \ + $(if $($(1)/builddirs-$(2)),$($(1)/builddirs-$(2)), \ + $(if $($(1)/builddirs-default),$($(1)/builddirs-default), \ + $($(1)/builddirs)))) + +define subtarget + $(call warn_eval,$(1),t,T,$(1)/$(2): $($(1)/) $(foreach bd,$(call subtarget-default,$(1),$(2)),$(1)/$(bd)/$(2))) + +endef + +define ERROR + ($(call MESSAGE, $(2)); $(if $(BUILD_LOG), echo "$(2)" >> $(BUILD_LOG_DIR)/$(1)/error.txt)) +endef + +lastdir=$(word $(words $(subst /, ,$(1))),$(subst /, ,$(1))) +diralias=$(if $(findstring $(1),$(call lastdir,$(1))),,$(call lastdir,$(1))) + +# 1: subdir +# 2: target +# 3: build type +# 4: build variant +log_make = \ + $(if $(call debug,$(1),v),,@)+ \ + $(if $(BUILD_LOG), \ + set -o pipefail; \ + mkdir -p $(BUILD_LOG_DIR)/$(1)$(if $(4),/$(4));) \ + $$(SUBMAKE) -r -C $(1) $(if $(3),$(3)-)$(2) \ + BUILD_SUBDIR="$(1)" \ + BUILD_VARIANT="$(4)" \ + $(if $(BUILD_LOG),SILENT= 2>&1 | tee $(BUILD_LOG_DIR)/$(1)$(if $(4),/$(4))/$(if $(3),$(3)-)$(2).txt) + +# Parameters: +define subdir + $(call warn,$(1),d,D $(1)) + $(foreach bd,$($(1)/builddirs), + $(call warn,$(1),d,BD $(1)/$(bd)) + $(foreach target,$(SUBTARGETS), + $(foreach btype,$(buildtypes-$(bd)), + $(call warn_eval,$(1)/$(bd),t,T,$(1)/$(bd)/$(btype)/$(target): $(if $(QUILT),,$($(1)/$(bd)/$(btype)/$(target)) $(call $(1)//$(btype)/$(target),$(1)/$(bd)/$(btype)))) + $(call log_make,$(1)/$(bd),$(target),$(btype),$(filter-out __default,$(variant))) \ + $(if $(findstring $(bd),$($(1)/builddirs-ignore-$(btype)-$(target))), || $(call ERROR,$(1), ERROR: $(1)/$(bd) [$(btype)] failed to build.)) + $(if $(call diralias,$(bd)),$(call warn_eval,$(1)/$(bd),l,T,$(1)/$(call diralias,$(bd))/$(btype)/$(target): $(1)/$(bd)/$(btype)/$(target))) + ) + $(call warn_eval,$(1)/$(bd),t,T,$(1)/$(bd)/$(target): $(if $(QUILT),,$($(1)/$(bd)/$(target)) $(call $(1)//$(target),$(1)/$(bd)))) + $(foreach variant,$(if $(BUILD_VARIANT),$(BUILD_VARIANT),$(if $(strip $($(1)/$(bd)/variants)),$($(1)/$(bd)/variants),$(if $($(1)/$(bd)/default-variant),$($(1)/$(bd)/default-variant),__default))), + $(if $(BUILD_LOG),@mkdir -p $(BUILD_LOG_DIR)/$(1)/$(bd)/$(filter-out __default,$(variant))) + $(call log_make,$(1)/$(bd),$(target),,$(filter-out __default,$(variant))) \ + $(if $(findstring $(bd),$($(1)/builddirs-ignore-$(target))), || $(call ERROR,$(1), ERROR: $(1)/$(bd) failed to build$(if $(filter-out __default,$(variant)), (build variant: $(variant))).)) + ) + $(if $(PREREQ_ONLY)$(DUMP_TARGET_DB),, + # aliases + $(if $(call diralias,$(bd)),$(call warn_eval,$(1)/$(bd),l,T,$(1)/$(call diralias,$(bd))/$(target): $(1)/$(bd)/$(target))) + ) + ) + ) + $(foreach target,$(SUBTARGETS),$(call subtarget,$(1),$(target))) +endef + +ifndef DUMP_TARGET_DB +# Parameters: +define stampfile + $(1)/stamp-$(3):=$(if $(6),$(6),$(STAGING_DIR))/stamp/.$(2)_$(3)$(5) + $$($(1)/stamp-$(3)): $(TMP_DIR)/.build $(4) + @+$(SCRIPT_DIR)/timestamp.pl -n $$($(1)/stamp-$(3)) $(1) $(4) || \ + $(MAKE) $(if $(QUIET),--no-print-directory) $$($(1)/flags-$(3)) $(1)/$(3) + @mkdir -p $$$$(dirname $$($(1)/stamp-$(3))) + @touch $$($(1)/stamp-$(3)) + + $$(if $(call debug,$(1),v),,.SILENT: $$($(1)/stamp-$(3))) + + .PRECIOUS: $$($(1)/stamp-$(3)) # work around a make bug + + $(1)//clean:=$(1)/stamp-$(3)/clean + $(1)/stamp-$(3)/clean: FORCE + @rm -f $$($(1)/stamp-$(3)) + +endef +endif diff --git a/build/target.mk b/build/target.mk new file mode 100755 index 0000000..d413983 --- /dev/null +++ b/build/target.mk @@ -0,0 +1,355 @@ +# +# Copyright (C) 2007-2008 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifneq ($(__target_inc),1) +__target_inc=1 + +# default device type +DEVICE_TYPE?= + +# Default packages - the really basic set +DEFAULT_PACKAGES:=base-files libc libgcc busybox dropbear mtd uci opkg netifd fstools uclient-fetch logd +# For nas targets +DEFAULT_PACKAGES.nas:=block-mount fdisk lsblk mdadm +# For router targets +DEFAULT_PACKAGES.router:=dnsmasq iptables ip6tables ppp ppp-mod-pppoe firewall odhcpd odhcp6c +DEFAULT_PACKAGES.bootloader:= + +ifneq ($(DUMP),) + all: dumpinfo +endif + +target_conf=$(subst .,_,$(subst -,_,$(subst /,_,$(1)))) +ifeq ($(DUMP),) + PLATFORM_DIR:=$(TOPDIR)/target/allwinner/$(BOARD) + DEVICE_PLATFORM_DIR:=$(TOPDIR)/device/config/chips/$(shell echo -n $(BOARD) | sed -e 's/-.*//g')/configs/$(shell echo -n $(BOARD) | sed -e 's/[^-]*-//g')/linux + PLATFORM_COMMON_DIR:=$(TOPDIR)/target/allwinner/$(shell echo -n $(BOARD) | sed -e 's/-.*//g')-common + SUBTARGET:=$(strip $(foreach subdir,$(patsubst $(PLATFORM_DIR)/%/target.mk,%,$(wildcard $(PLATFORM_DIR)/*/target.mk)),$(if $(CONFIG_TARGET_$(call target_conf,$(BOARD)_$(subdir))),$(subdir)))) +else + PLATFORM_DIR:=${CURDIR} + DEVICE_PLATFORM_DIR:=$(TOPDIR)/device/config/chips/$(shell echo -n $(BOARD) | sed -e 's/-.*//g')/configs/$(shell echo -n $(BOARD) | sed -e 's/[^-]*-//g')/linux + ifeq ($(SUBTARGETS),) + SUBTARGETS:=$(strip $(patsubst $(PLATFORM_DIR)/%/target.mk,%,$(wildcard $(PLATFORM_DIR)/*/target.mk))) + endif +endif + +TARGETID:=$(BOARD)$(if $(SUBTARGET),/$(SUBTARGET)) +PLATFORM_SUBDIR:=$(PLATFORM_DIR)$(if $(SUBTARGET),/$(SUBTARGET)) + +ifneq ($(TARGET_BUILD),1) + ifndef DUMP + include $(PLATFORM_DIR)/Makefile + ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR)) + include $(PLATFORM_SUBDIR)/target.mk + endif + endif +else + ifneq ($(SUBTARGET),) + -include ./$(SUBTARGET)/target.mk + endif +endif + +# Add device specific packages (here below to allow device type set from subtarget) +DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.$(DEVICE_TYPE)) + +filter_packages = $(filter-out -% $(patsubst -%,%,$(filter -%,$(1))),$(1)) +extra_packages = $(if $(filter wpad-mini wpad nas,$(1)),iwinfo) + +define Profile/Default + NAME:=$(TARGET_BUILD_VARIANT) + PACKAGES:= +endef + +ifndef Profile +define Profile + $(eval $(call Profile/Default)) + $(eval $(call Profile/$(1))) + dumpinfo : $(call shexport,Profile/$(1)/Config) + dumpinfo : $(call shexport,Profile/$(1)/Description) + DUMPINFO += \ + echo "Target-Profile: $(1)"; \ + echo "Target-Profile-Name: $(NAME)"; \ + echo "Target-Profile-Packages: $(PACKAGES) $(call extra_packages,$(DEFAULT_PACKAGES) $(PACKAGES))"; \ + if [ -f ./config/profile-$(1) ]; then \ + echo "Target-Profile-Kconfig: yes"; \ + fi; \ + echo "Target-Profile-Config: "; \ + echo "$$$$$$$$$(call shvar,Profile/$(1)/Config)"; \ + echo "@@"; \ + echo "Target-Profile-Description:"; \ + echo "$$$$$$$$$(call shvar,Profile/$(1)/Description)"; \ + echo "@@"; \ + echo; + ifeq ($(CONFIG_TARGET_$(call target_conf,$(BOARD)_$(if $(SUBTARGET),$(SUBTARGET)_))$(1)),y) + PROFILE=$(1) + endif +endef +endif + +$(eval $(call Profile,$(PRODUCT_BOARD))) + +ifeq ($(TARGET_BUILD),1) + $(eval $(call IncludeProfiles)) +else + ifeq ($(DUMP),) + $(eval $(call IncludeProfiles)) + endif +endif + +ifneq ($(TARGET_BUILD)$(if $(DUMP),,1),) + include $(BUILD_DIR)/kernel-version.mk +endif + +GENERIC_PLATFORM_DIR := $(TOPDIR)/target/allwinner/generic +GENERIC_PATCH_DIR := $(GENERIC_PLATFORM_DIR)/patches$(if $(wildcard $(GENERIC_PLATFORM_DIR)/patches-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER)) +GENERIC_FILES_DIR := $(foreach dir,$(wildcard $(GENERIC_PLATFORM_DIR)/files $(GENERIC_PLATFORM_DIR)/files-$(KERNEL_PATCHVER)),"$(dir)") + +__config_name_list = $(1)/config-$(KERNEL_PATCHVER) $(1)/config-default $(2)/config-$(KERNEL_PATCHVER) $(2)/config-default +__config_list = $(firstword $(wildcard $(call __config_name_list,$(1),$(2)))) +find_kernel_config=$(if $(__config_list),$(__config_list),$(lastword $(__config_name_list))) + +__config_name_list_recovery = $(1)/config-$(KERNEL_PATCHVER)_recovery $(1)/config-default_recovery $(2)/config-$(KERNEL_PATCHVER)_recovery $(2)/config-default_recovery +__config_list_recovery = $(firstword $(wildcard $(call __config_name_list_recovery,$(1),$(2)))) +find_kernel_config_recovery=$(if $(__config_list_recovery),$(__config_list_recovery),$(lastword $(__config_name_list_recovery))) + +__config_name_list_ramfs = $(1)/config-$(KERNEL_PATCHVER)_ramfs $(1)/config-default_ramfs $(2)/config-$(KERNEL_PATCHVER)_ramfs $(2)/config-default_ramfs +__config_list_ramfs = $(firstword $(wildcard $(call __config_name_list_ramfs,$(1),$(2)))) +find_kernel_config_ramfs=$(if $(__config_list_ramfs),$(__config_list_ramfs),$(lastword $(__config_name_list_ramfs))) + +GENERIC_LINUX_CONFIG = $(call find_kernel_config,$(GENERIC_PLATFORM_DIR)) +LINUX_TARGET_CONFIG = $(call find_kernel_config,$(DEVICE_PLATFORM_DIR),$(PLATFORM_DIR)) +ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR)) + LINUX_SUBTARGET_CONFIG = $(call find_kernel_config,$(PLATFORM_SUBDIR)) +endif + +GENERIC_LINUX_CONFIG_RECOVERY = $(call find_kernel_config_recovery,$(GENERIC_PLATFORM_DIR)) +LINUX_TARGET_CONFIG_RECOVERY = $(call find_kernel_config_recovery,$(DEVICE_PLATFORM_DIR),$(PLATFORM_DIR)) +ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR)) + LINUX_SUBTARGET_CONFIG_RECOVERY = $(call find_kernel_config_recovery,$(PLATFORM_SUBDIR)) +endif + +GENERIC_LINUX_CONFIG_RAMFS = $(call find_kernel_config_ramfs,$(GENERIC_PLATFORM_DIR)) +LINUX_TARGET_CONFIG_RAMFS = $(call find_kernel_config_ramfs,$(DEVICE_PLATFORM_DIR),$(PLATFORM_DIR)) +ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR)) + LINUX_SUBTARGET_CONFIG_RAMFS = $(call find_kernel_config_ramfs,$(PLATFORM_SUBDIR)) +endif + +# config file list used for compiling +LINUX_KCONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG) $(TOPDIR)/env/kernel-config) +LINUX_KCONFIG_LIST_RECOVERY = $(wildcard $(GENERIC_LINUX_CONFIG_RECOVERY) $(LINUX_TARGET_CONFIG_RECOVERY) $(LINUX_SUBTARGET_CONFIG_RECOVERY) $(TOPDIR)/env/kernel-config_recovery) +LINUX_KCONFIG_LIST_RAMFS = $(wildcard $(GENERIC_LINUX_CONFIG_RAMFS) $(LINUX_TARGET_CONFIG_RAMFS) $(LINUX_SUBTARGET_CONFIG_RAMFS) $(TOPDIR)/env/kernel-config_ramfs) + +# default config list for reconfiguring +# defaults to subtarget if subtarget exists and target does not +# defaults to target otherwise +USE_SUBTARGET_CONFIG = $(if $(wildcard $(LINUX_TARGET_CONFIG)),,$(if $(LINUX_SUBTARGET_CONFIG),1)) +USE_SUBTARGET_CONFIG_RECOVERY = $(if $(wildcard $(LINUX_TARGET_CONFIG_RECOVERY)),,$(if $(LINUX_SUBTARGET_CONFIG_RECOVERY),1)) +USE_SUBTARGET_CONFIG_RAMFS = $(if $(wildcard $(LINUX_TARGET_CONFIG_RAMFS)),,$(if $(LINUX_SUBTARGET_CONFIG_RAMFS),1)) + +LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(if $(USE_SUBTARGET_CONFIG),$(LINUX_SUBTARGET_CONFIG))) +LINUX_RECONFIG_TARGET = $(if $(USE_SUBTARGET_CONFIG),$(LINUX_SUBTARGET_CONFIG),$(LINUX_TARGET_CONFIG)) + +LINUX_RECONFIG_LIST_RECOVERY = $(wildcard $(GENERIC_LINUX_CONFIG_RECOVERY) $(LINUX_TARGET_CONFIG_RECOVERY) $(if $(USE_SUBTARGET_CONFIG_RECOVERY),$(LINUX_SUBTARGET_CONFIG_RECOVERY))) +LINUX_RECONFIG_TARGET_RECOVERY = $(if $(USE_SUBTARGET_CONFIG_RECOVERY),$(LINUX_SUBTARGET_CONFIG_RECOVERY),$(LINUX_TARGET_CONFIG_RECOVERY)) + +LINUX_RECONFIG_LIST_RAMFS = $(wildcard $(GENERIC_LINUX_CONFIG_RAMFS) $(LINUX_TARGET_CONFIG_RAMFS) $(if $(USE_SUBTARGET_CONFIG_RAMFS),$(LINUX_SUBTARGET_CONFIG_RAMFS))) +LINUX_RECONFIG_TARGET_RAMFS = $(if $(USE_SUBTARGET_CONFIG_RAMFS),$(LINUX_SUBTARGET_CONFIG_RAMFS),$(LINUX_TARGET_CONFIG_RAMFS)) + +# select the config file to be changed by kernel_menuconfig/kernel_oldconfig +ifeq ($(CONFIG_TARGET),platform) + LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG)) + LINUX_RECONFIG_TARGET = $(LINUX_TARGET_CONFIG) + LINUX_RECONFIG_LIST_RECOVERY = $(wildcard $(GENERIC_LINUX_CONFIG_RECOVERY) $(LINUX_TARGET_CONFIG_RECOVERY)) + LINUX_RECONFIG_TARGET_RECOVERY = $(LINUX_TARGET_CONFIG_RECOVERY) + LINUX_RECONFIG_LIST_RAMFS = $(wildcard $(GENERIC_LINUX_CONFIG_RAMFS) $(LINUX_TARGET_CONFIG_RAMFS)) + LINUX_RECONFIG_TARGET_RAMFS = $(LINUX_TARGET_CONFIG_RAMFS) +endif +ifeq ($(CONFIG_TARGET),subtarget) + LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG)) + LINUX_RECONFIG_TARGET = $(LINUX_SUBTARGET_CONFIG) + LINUX_RECONFIG_LIST_RECOVERY = $(wildcard $(GENERIC_LINUX_CONFIG_RECOVERY) $(LINUX_TARGET_CONFIG_RECOVERY) $(LINUX_SUBTARGET_CONFIG_RECOVERY)) + LINUX_RECONFIG_TARGET_RECOVERY = $(LINUX_SUBTARGET_CONFIG_RECOVERY) + LINUX_RECONFIG_LIST_RAMFS = $(wildcard $(GENERIC_LINUX_CONFIG_RAMFS) $(LINUX_TARGET_CONFIG_RAMFS) $(LINUX_SUBTARGET_CONFIG_RAMFS)) + LINUX_RECONFIG_TARGET_RAMFS = $(LINUX_SUBTARGET_CONFIG_RAMFS) +endif +ifeq ($(CONFIG_TARGET),subtarget_platform) + LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_SUBTARGET_CONFIG) $(LINUX_TARGET_CONFIG)) + LINUX_RECONFIG_TARGET = $(LINUX_TARGET_CONFIG) + LINUX_RECONFIG_LIST_RECOVERY = $(wildcard $(GENERIC_LINUX_CONFIG_RECOVERY) $(LINUX_SUBTARGET_CONFIG_RECOVERY) $(LINUX_TARGET_CONFIG_RECOVERY)) + LINUX_RECONFIG_TARGET_RECOVERY = $(LINUX_TARGET_CONFIG_RECOVERY) + LINUX_RECONFIG_LIST_RAMFS = $(wildcard $(GENERIC_LINUX_CONFIG_RAMFS) $(LINUX_SUBTARGET_CONFIG_RAMFS) $(LINUX_TARGET_CONFIG_RAMFS)) + LINUX_RECONFIG_TARGET_RAMFS = $(LINUX_TARGET_CONFIG_RAMFS) +endif +ifeq ($(CONFIG_TARGET),env) + LINUX_RECONFIG_LIST = $(LINUX_KCONFIG_LIST) + LINUX_RECONFIG_TARGET = $(TOPDIR)/env/kernel-config + LINUX_RECONFIG_LIST_RECOVERY = $(LINUX_KCONFIG_LIST_RECOVERY) + LINUX_RECONFIG_TARGET_RECOVERY = $(TOPDIR)/env/kernel-config_recovery + LINUX_RECONFIG_LIST_RAMFS = $(LINUX_KCONFIG_LIST_RAMFS) + LINUX_RECONFIG_TARGET_RAMFS = $(TOPDIR)/env/kernel-config_ramfs +endif + +__linux_confcmd = $(SCRIPT_DIR)/kconfig.pl $(2) $(patsubst %,+,$(wordlist 2,9999,$(1))) $(1) + +LINUX_CONF_CMD = $(call __linux_confcmd,$(LINUX_KCONFIG_LIST),) +LINUX_RECONF_CMD = $(call __linux_confcmd,$(LINUX_RECONFIG_LIST),) +LINUX_RECONF_DIFF = $(call __linux_confcmd,$(filter-out $(LINUX_RECONFIG_TARGET),$(LINUX_RECONFIG_LIST)),'>') + +LINUX_CONF_CMD_RECOVERY = $(call __linux_confcmd,$(LINUX_KCONFIG_LIST_RECOVERY),) +LINUX_RECONF_CMD_RECOVERY = $(call __linux_confcmd,$(LINUX_RECONFIG_LIST_RECOVERY),) +LINUX_RECONF_DIFF_RECOVERY = $(call __linux_confcmd,$(filter-out $(LINUX_RECONFIG_TARGET),$(LINUX_RECONFIG_LIST_RECOVERY)),'>') + +LINUX_CONF_CMD_RAMFS = $(call __linux_confcmd,$(LINUX_KCONFIG_LIST_RAMFS),) +LINUX_RECONF_CMD_RAMFS = $(call __linux_confcmd,$(LINUX_RECONFIG_LIST_RAMFS),) +LINUX_RECONF_DIFF_RAMFS = $(call __linux_confcmd,$(filter-out $(LINUX_RECONFIG_TARGET),$(LINUX_RECONFIG_LIST_RAMFS)),'>') + +ifeq ($(DUMP),1) + BuildTarget=$(BuildTargets/DumpCurrent) + + ifneq ($(BOARD),) + TMP_CONFIG:=$(TMP_DIR)/.kconfig-$(call target_conf,$(TARGETID)) + $(TMP_CONFIG): $(LINUX_KCONFIG_LIST) + $(LINUX_CONF_CMD) > $@ || rm -f $@ + -include $(TMP_CONFIG) + .SILENT: $(TMP_CONFIG) + .PRECIOUS: $(TMP_CONFIG) + + ifneq ($(CONFIG_OF),) + FEATURES += dt + endif + ifneq ($(CONFIG_GENERIC_GPIO)$(CONFIG_GPIOLIB),) + FEATURES += gpio + endif + ifneq ($(CONFIG_PCI),) + FEATURES += pci + endif + ifneq ($(CONFIG_PCIEPORTBUS),) + FEATURES += pcie + endif + ifneq ($(CONFIG_USB)$(CONFIG_USB_SUPPORT),) + ifneq ($(CONFIG_USB_ARCH_HAS_HCD)$(CONFIG_USB_EHCI_HCD),) + FEATURES += usb + endif + endif + ifneq ($(CONFIG_PCMCIA)$(CONFIG_PCCARD),) + FEATURES += pcmcia + endif + ifneq ($(CONFIG_VGA_CONSOLE)$(CONFIG_FB),) + FEATURES += display + endif + ifneq ($(CONFIG_RTC_CLASS),) + FEATURES += rtc + endif + FEATURES += $(foreach v,v4 v5 v6 v7,$(if $(findstring -march=arm$(v),$(CFLAGS)),arm_$(v))) + + # remove duplicates + FEATURES:=$(sort $(FEATURES)) + endif + CPU_CFLAGS = -Os -pipe + ifneq ($(findstring mips,$(ARCH)),) + ifneq ($(findstring mips64,$(ARCH)),) + CPU_TYPE ?= mips64 + else + CPU_TYPE ?= mips32 + endif + CPU_CFLAGS += -mno-branch-likely + CPU_CFLAGS_mips32 = -mips32 -mtune=mips32 + CPU_CFLAGS_mips32r2 = -mips32r2 -mtune=mips32r2 + CPU_CFLAGS_mips64 = -mips64 -mtune=mips64 -mabi=64 + CPU_CFLAGS_24kc = -mips32r2 -mtune=24kc + CPU_CFLAGS_24kec = -mips32r2 -mtune=24kec + CPU_CFLAGS_34kc = -mips32r2 -mtune=34kc + CPU_CFLAGS_74kc = -mips32r2 -mtune=74kc + CPU_CFLAGS_octeon = -march=octeon -mabi=64 + CPU_CFLAGS_dsp = -mdsp + CPU_CFLAGS_dsp2 = -mdspr2 + endif + ifeq ($(ARCH),i386) + CPU_TYPE ?= i486 + CPU_CFLAGS_i486 = -march=i486 + CPU_CFLAGS_pentium4 = -march=pentium4 + CPU_CFLAGS_geode = -march=geode -mmmx -m3dnow + endif + ifneq ($(findstring arm,$(ARCH)),) + CPU_TYPE ?= xscale + CPU_CFLAGS_arm920t = -march=armv4t -mtune=arm920t + CPU_CFLAGS_arm926ej-s = -march=armv5te -mtune=arm926ej-s + CPU_CFLAGS_arm1136j-s = -march=armv6 -mtune=arm1136j-s + CPU_CFLAGS_arm1176jzf-s = -march=armv6 -mtune=arm1176jzf-s + CPU_CFLAGS_cortex-a5 = -march=armv7-a -mtune=cortex-a5 + CPU_CFLAGS_cortex-a7 = -march=armv7-a -mtune=cortex-a7 + CPU_CFLAGS_cortex-a8 = -march=armv7-a -mtune=cortex-a8 + CPU_CFLAGS_cortex-a9 = -march=armv7-a -mtune=cortex-a9 + CPU_CFLAGS_cortex-a15 = -march=armv7-a -mtune=cortex-a15 + CPU_CFLAGS_fa526 = -march=armv4 -mtune=fa526 + CPU_CFLAGS_mpcore = -march=armv6k -mtune=mpcore + CPU_CFLAGS_xscale = -march=armv5te -mtune=xscale + ifeq ($(CONFIG_SOFT_FLOAT),) + CPU_CFLAGS_neon = -mfpu=neon + CPU_CFLAGS_vfp = -mfpu=vfp + CPU_CFLAGS_vfpv3 = -mfpu=vfpv3-d16 + CPU_CFLAGS_neon-vfpv4 = -mfpu=neon-vfpv4 + endif + endif + ifeq ($(ARCH),powerpc) + CPU_CFLAGS_603e:=-mcpu=603e + CPU_CFLAGS_8540:=-mcpu=8540 + CPU_CFLAGS_405:=-mcpu=405 + CPU_CFLAGS_440:=-mcpu=440 + endif + ifeq ($(ARCH),sparc) + CPU_TYPE = sparc + CPU_CFLAGS_ultrasparc = -mcpu=ultrasparc + endif + ifeq ($(ARCH),aarch64) + CPU_TYPE ?= armv8-a + CPU_CFLAGS_armv8-a = -mcpu=armv8-a + endif + ifeq ($(ARCH),arc) + CPU_TYPE ?= arc700 + CPU_CFLAGS += -matomic + CPU_CFLAGS_arc700 = -marc700 + CPU_CFLAGS_archs = -marchs + endif + DEFAULT_CFLAGS=$(strip $(CPU_CFLAGS) $(CPU_CFLAGS_$(CPU_TYPE)) $(CPU_CFLAGS_$(CPU_SUBTYPE))) +endif + +define BuildTargets/DumpCurrent + .PHONY: dumpinfo + dumpinfo : export DESCRIPTION=$$(Target/Description) + dumpinfo: + @echo 'Target: $(TARGETID)'; \ + echo 'Target-Board: $(BOARD)'; \ + echo 'Target-Name: $(BOARDNAME)$(if $(SUBTARGETS),$(if $(SUBTARGET),))'; \ + echo 'Target-Path: $(subst $(TOPDIR)/,,$(PWD))'; \ + echo 'Target-Arch: $(ARCH)'; \ + echo 'Target-Arch-Packages: $(if $(TARGET_ARCH_PACKAGES),$(TARGET_ARCH_PACKAGES),$(BOARD))'; \ + echo 'Target-Features: $(FEATURES)'; \ + echo 'Target-Depends: $(DEPENDS)'; \ + echo 'Target-Optimization: $(if $(CFLAGS),$(CFLAGS),$(DEFAULT_CFLAGS))'; \ + echo 'CPU-Type: $(CPU_TYPE)$(if $(CPU_SUBTYPE),+$(CPU_SUBTYPE))'; \ + echo 'Linux-Version: $(LINUX_VERSION)'; \ + echo 'Linux-Release: $(LINUX_RELEASE)'; \ + echo 'Linux-Kernel-Arch: $(LINUX_KARCH)'; \ + $(if $(SUBTARGET),,$(if $(DEFAULT_SUBTARGET), echo 'Default-Subtarget: $(DEFAULT_SUBTARGET)'; )) \ + echo 'Target-Description:'; \ + echo "$$$$DESCRIPTION"; \ + echo '@@'; \ + echo 'Default-Packages: $(DEFAULT_PACKAGES) $(call extra_packages,$(DEFAULT_PACKAGES))'; \ + $(DUMPINFO) + $(if $(SUBTARGET),,@$(foreach SUBTARGET,$(SUBTARGETS),$(SUBMAKE) -s DUMP=1 SUBTARGET=$(SUBTARGET); )) +endef + +ifneq ($(__build/kernel.mk_inc),1) +include $(BUILD_DIR)/kernel.mk +endif +ifeq ($(TARGET_BUILD),1) + include $(BUILD_DIR)/kernel-build.mk + BuildTarget?=$(BuildKernel) +endif + +endif #__target_inc diff --git a/build/toolchain-build.mk b/build/toolchain-build.mk new file mode 100644 index 0000000..f5513ef --- /dev/null +++ b/build/toolchain-build.mk @@ -0,0 +1,25 @@ +# +# Copyright (C) 2009 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +override CONFIG_AUTOREBUILD= + +REAL_STAGING_DIR_HOST:=$(STAGING_DIR_HOST) +STAGING_DIR_HOST:=$(TOOLCHAIN_DIR) +COMPILE_DIR_HOST:=$(COMPILE_DIR_TOOLCHAIN) + +include $(BUILD_DIR)/host-build.mk + +HOST_STAMP_PREPARED=$(HOST_BUILD_DIR)/.prepared + +define FixupLibdir + if [ -d $(1)/lib64 -a \! -L $(1)/lib64 ]; then \ + mkdir -p $(1)/lib; \ + mv $(1)/lib64/* $(1)/lib/; \ + rm -rf $(1)/lib64; \ + fi + ln -sf lib $(1)/lib64 +endef diff --git a/build/top_main.mk b/build/top_main.mk new file mode 100644 index 0000000..1643e68 --- /dev/null +++ b/build/top_main.mk @@ -0,0 +1,3 @@ +### DO NOT EDIT THIS FILE ### +include build/main.mk +### DO NOT EDIT THIS FILE ### diff --git a/build/toplevel.mk b/build/toplevel.mk new file mode 100644 index 0000000..f27dabf --- /dev/null +++ b/build/toplevel.mk @@ -0,0 +1,351 @@ +# Makefile for OpenWrt +# +# Copyright (C) 2007-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +RELEASE:=Designated Driver +PREP_MK= OPENWRT_BUILD= QUIET=0 + +export IS_TTY=$(shell tty -s && echo 1 || echo 0) + +include $(TOPDIR)/build/verbose.mk + +ifeq ($(SDK),1) + include $(TOPDIR)/build/version.mk +else + REVISION:=$(shell $(TOPDIR)/scripts/getver.sh -id) +endif + +HOSTCC ?= $(CC) +export RELEASE +export REVISION +export GIT_CONFIG_PARAMETERS='core.autocrlf=false' +export MAKE_JOBSERVER=$(filter --jobserver%,$(MAKEFLAGS)) +export SOURCE_DATE_EPOCH:=$(shell $(TOPDIR)/scripts/get_source_date_epoch.sh) + +# prevent perforce from messing with the patch utility +unexport P4PORT P4USER P4CONFIG P4CLIENT + +# prevent user defaults for quilt from interfering +unexport QUILT_PATCHES QUILT_PATCH_OPTS + +unexport C_INCLUDE_PATH CROSS_COMPILE ARCH + +# prevent distro default LPATH from interfering +unexport LPATH + +# make sure that a predefined CFLAGS variable does not disturb packages +export CFLAGS= +export LDFLAGS= + +empty:= +space:= $(empty) $(empty) +path:=$(subst :,$(space),$(PATH)) +path:=$(filter-out .%,$(path)) +path:=$(subst $(space),:,$(path)) +export PATH:=$(path) + +unexport TAR_OPTIONS + +ifneq ($(shell $(HOSTCC) 2>&1 | grep clang),) + export HOSTCC_REAL?=$(HOSTCC) + export HOSTCC_WRAPPER:=$(TOPDIR)/scripts/clang-gcc-wrapper +else + export HOSTCC_WRAPPER:=$(HOSTCC) +endif + +ifeq ($(FORCE),) + .config scripts/config/conf scripts/config/mconf: out/host/.prereq-build +endif + +SCAN_COOKIE?=$(shell echo $$$$) +export SCAN_COOKIE + +SUBMAKE:=umask 022; $(SUBMAKE) + +ULIMIT_FIX=_limit=`ulimit -n`; [ "$$_limit" = "unlimited" -o "$$_limit" -ge 1024 ] || ulimit -n 1024; + +prepare-mk: FORCE ; + +ifdef SDK + IGNORE_PACKAGES = allwinner +endif + +ifeq ($(TARGET_CONFIG),) + TARGET_CONFIG=target/allwinner/$(TARGET_BOARD)/defconfig +endif +_ignore = $(foreach p,$(IGNORE_PACKAGES),--ignore $(p)) + +prepare-tmpinfo: FORCE + @+$(MAKE) -r -s out/host/.prereq-build $(PREP_MK) + mkdir -p tmp/info + $(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f build/scan.mk SCAN_TARGET="packageinfo" SCAN_DIR="package" SCAN_NAME="package" SCAN_DEPS="$(TOPDIR)/build/package*.mk $(TOPDIR)/overlay/*/*.mk" SCAN_DEPTH=5 SCAN_EXTRA="" + $(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f build/scan.mk SCAN_TARGET="targetinfo" SCAN_DIR="target/allwinner" SCAN_NAME="target" SCAN_DEPS="*.mk $(TOPDIR)/build/kernel*.mk $(TOPDIR)/build/target.mk" SCAN_DEPTH=2 SCAN_EXTRA="" SCAN_MAKEOPTS="TARGET_BUILD=1" + for type in package target; do \ + f=tmp/.$${type}info; t=tmp/.config-$${type}.in; \ + [ "$$t" -nt "$$f" ] || ./scripts/metadata.pl $(_ignore) $${type}_config "$$f" > "$$t" || { rm -f "$$t"; echo "Failed to build $$t"; false; break; }; \ + done + [ tmp/.config-feeds.in -nt tmp/.packagesubdirs ] || ./scripts/feeds feed_config > tmp/.config-feeds.in + ./scripts/metadata.pl package_mk tmp/.packageinfo > tmp/.packagedeps || { rm -f tmp/.packagedeps; false; } + ./scripts/metadata.pl package_subdirs tmp/.packageinfo > tmp/.packagesubdirs || { rm -f tmp/.packagesubdirs; false; } + touch $(TOPDIR)/tmp/.build + +.config: ./scripts/config/conf $(if $(CONFIG_HAVE_DOT_CONFIG),,prepare-tmpinfo) + @+if [ \! -e .config ] || ! grep CONFIG_HAVE_DOT_CONFIG .config >/dev/null; then \ + if [ "x$(TARGET_BUILD_VARIANT)" = "xtina" ]; then \ + [ -e $(TARGET_CONFIG) ] && \ + cp $(TARGET_CONFIG) .config; \ + fi \ + elif [ -e .config -a "x$(TARGET_BUILD_VARIANT)" = "xtina" ]; then \ + cp $(TARGET_CONFIG) .config; \ + fi + +scripts/config/mconf: + @$(_SINGLE)$(SUBMAKE) -s -C scripts/config all CC="$(HOSTCC_WRAPPER)" + +$(eval $(call rdep,scripts/config,scripts/config/mconf)) + +scripts/config/conf: + @$(_SINGLE)$(SUBMAKE) -s -C scripts/config conf CC="$(HOSTCC_WRAPPER)" + +config: scripts/config/conf prepare-tmpinfo FORCE + $< Config.in + +config-clean: FORCE + $(_SINGLE)$(NO_TRACE_MAKE) -C scripts/config clean + +defconfig: scripts/config/conf prepare-tmpinfo FORCE + touch .config + @if [ -z $(TARGET_BOARD) ]; then \ + echo "please run command:"; \ + echo "$ source build/envsetup.sh"; \ + echo "$ make defconfig"; \ + else \ + [ "x$(TARGET_BUILD_VARIANT)" = "xtina" ] && \ + [ -e target/allwinner/$(TARGET_BOARD)/defconfig ] && \ + cp target/allwinner/$(TARGET_BOARD)/defconfig .config; \ + $< --defconfig=.config Config.in; \ + if cat .config|grep CONFIG_TARGET_BOARD=\"$(TARGET_BOARD)\" >> /dev/null; then \ + [ "x$(TARGET_BUILD_VARIANT)" = "xtina" ] && \ + cp .config target/allwinner/$(TARGET_BOARD)/defconfig; \ + echo ; \ + else \ + rm .config; \ + fi \ + fi + +oldconfig: scripts/config/conf prepare-tmpinfo FORCE + @if [ -z $(TARGET_BOARD) ]; then \ + echo "please run command:"; \ + echo "$ source build/envsetup.sh"; \ + echo "$ make oldconfig"; \ + else \ + [ "x$(TARGET_BUILD_VARIANT)" = "xtina" ] && \ + [ -e target/allwinner/$(TARGET_BOARD)/defconfig ] && \ + cp target/allwinner/$(TARGET_BOARD)/defconfig .config; \ + $< --allnoconfig Config.in; \ + if cat .config|grep CONFIG_TARGET_BOARD=\"$(TARGET_BOARD)\" >> /dev/null; then \ + [ "x$(TARGET_BUILD_VARIANT)" = "xtina" ] && \ + cp .config target/allwinner/$(TARGET_BOARD)/defconfig; \ + echo ; \ + else \ + rm .config; \ + fi \ + fi + +menuconfig: scripts/config/mconf prepare-tmpinfo FORCE + if [ -z $(TARGET_BOARD) ]; then \ + echo "please run command:"; \ + echo "$ source build/envsetup.sh"; \ + echo "$ make menuconfig"; \ + else \ + [ "x$(TARGET_BUILD_VARIANT)" = "xtina" ] && \ + [ -e target/allwinner/$(TARGET_BOARD)/defconfig ] && \ + cp target/allwinner/$(TARGET_BOARD)/defconfig .config; \ + $< Config.in; \ + if cat .config|grep CONFIG_TARGET_BOARD=\"$(TARGET_BOARD)\" >> /dev/null; then \ + [ "x$(TARGET_BUILD_VARIANT)" = "xtina" ] && \ + cp .config target/allwinner/$(TARGET_BOARD)/defconfig; \ + echo ; \ + else \ + rm .config; \ + fi \ + fi + +ota_menuconfig: scripts/config/mconf prepare-tmpinfo FORCE + if [ -z $(TARGET_BOARD) ]; then \ + echo "please run command:"; \ + echo "$ source build/envsetup.sh"; \ + echo "$ make menuconfig"; \ + else \ + [ "x$(TARGET_BUILD_VARIANT)" = "xtina" ] && \ + [ -e target/allwinner/$(TARGET_BOARD)/defconfig_ota ] && \ + cp target/allwinner/$(TARGET_BOARD)/defconfig_ota .config; \ + $< Config.in; \ + if cat .config|grep CONFIG_TARGET_BOARD=\"$(TARGET_BOARD)\" >> /dev/null; then \ + [ "x$(TARGET_BUILD_VARIANT)" = "xtina" ] && \ + cp .config target/allwinner/$(TARGET_BOARD)/defconfig_ota; \ + echo ; \ + else \ + rm .config; \ + fi \ + fi + +recovery_menuconfig: scripts/config/mconf prepare-tmpinfo FORCE + if [ -z $(TARGET_BOARD) ]; then \ + echo "please run command:"; \ + echo "$ source build/envsetup.sh"; \ + echo "$ make menuconfig"; \ + else \ + [ "x$(TARGET_BUILD_VARIANT)" = "xtina" ] && \ + [ -e target/allwinner/$(TARGET_BOARD)/defconfig_recovery ] && \ + cp target/allwinner/$(TARGET_BOARD)/defconfig_recovery .config; \ + $< Config.in; \ + if cat .config|grep CONFIG_TARGET_BOARD=\"$(TARGET_BOARD)\" >> /dev/null; then \ + [ "x$(TARGET_BUILD_VARIANT)" = "xtina" ] && \ + cp .config target/allwinner/$(TARGET_BOARD)/defconfig_recovery; \ + echo ; \ + else \ + rm .config; \ + fi \ + fi + +ramfs_menuconfig: scripts/config/mconf prepare-tmpinfo FORCE + if [ -z $(TARGET_BOARD) ]; then \ + echo "please run command:"; \ + echo "$ source build/envsetup.sh"; \ + echo "$ make menuconfig"; \ + else \ + [ "x$(TARGET_BUILD_VARIANT)" = "xtina" ] && \ + [ -e target/allwinner/$(TARGET_BOARD)/defconfig_ramfs ] && \ + cp target/allwinner/$(TARGET_BOARD)/defconfig_ramfs .config; \ + $< Config.in; \ + if cat .config|grep CONFIG_TARGET_BOARD=\"$(TARGET_BOARD)\" >> /dev/null; then \ + [ "x$(TARGET_BUILD_VARIANT)" = "xtina" ] && \ + cp .config target/allwinner/$(TARGET_BOARD)/defconfig_ramfs; \ + echo ; \ + else \ + rm .config; \ + fi \ + fi + +prepare_kernel_conf: .config FORCE + +ifeq ($(wildcard out/host/bin/quilt),) + prepare_kernel_conf: + @+$(SUBMAKE) -r tools/quilt/install +else + prepare_kernel_conf: ; +endif + +rtos_menuconfig: + $(_SINGLE)$(NO_TRACE_MAKE) -C rtos menuconfig + +kernel_oldconfig: prepare_kernel_conf + $(_SINGLE)$(NO_TRACE_MAKE) -C target/allwinner oldconfig + +kernel_menuconfig: prepare_kernel_conf + $(_SINGLE)$(NO_TRACE_MAKE) -C target/allwinner menuconfig + +recovery_kernel_menuconfig: prepare_kernel_conf + $(_SINGLE)$(NO_TRACE_MAKE) -C target/allwinner recovery_menuconfig + +ramfs_kernel_menuconfig: prepare_kernel_conf + $(_SINGLE)$(NO_TRACE_MAKE) -C target/allwinner ramfs_menuconfig + +kernel_nconfig: prepare_kernel_conf + $(_SINGLE)$(NO_TRACE_MAKE) -C target/allwinner nconfig + +out/host/.prereq-build: build/prereq-build.mk + mkdir -p tmp + rm -f tmp/.host.mk + @$(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f $(TOPDIR)/build/prereq-build.mk prereq 2>/dev/null || { \ + echo "Prerequisite check failed. Use FORCE=1 to override."; \ + false; \ + } +ifneq ($(realpath $(TOPDIR)/build/prepare.mk),) + @$(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f $(TOPDIR)/build/prepare.mk prepare 2>/dev/null || { \ + echo "Preparation failed."; \ + false; \ + } +endif + touch $@ + +printdb: FORCE + @$(_SINGLE)$(NO_TRACE_MAKE) -p $@ V=99 DUMP_TARGET_DB=1 2>&1 + +download: .config FORCE + @+$(SUBMAKE) tools/download + @+$(SUBMAKE) toolchain/download + @+$(SUBMAKE) package/download + @+$(SUBMAKE) target/download + +clean dirclean: .config + @+$(SUBMAKE) -r $@ + +prereq:: prepare-tmpinfo .config + @+$(NO_TRACE_MAKE) -r -s $@ + +WARN_PARALLEL_ERROR = $(if $(BUILD_LOG),,$(and $(filter -j,$(MAKEFLAGS)),$(findstring s,$(OPENWRT_VERBOSE)))) + +ifeq ($(SDK),1) + +%:: + @+$(PREP_MK) $(NO_TRACE_MAKE) -r -s prereq + @./scripts/config/conf --defconfig=.config Config.in + @+$(ULIMIT_FIX) $(SUBMAKE) -r $@ + +else + +%:: + @+$(PREP_MK) $(NO_TRACE_MAKE) -r -s prereq + @( \ + cp .config tmp/.config; \ + ./scripts/config/conf --defconfig=tmp/.config -w tmp/.config Config.in > /dev/null 2>&1; \ + if ./scripts/kconfig.pl '>' .config tmp/.config | grep -q CONFIG; then \ + printf "$(_R)WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!$(_N)\n" >&2; \ + fi \ + ) + @+$(ULIMIT_FIX) $(SUBMAKE) -r $@ $(if $(WARN_PARALLEL_ERROR), || { \ + printf "$(_R)Build failed - please re-run with -j1 to see the real error message$(_N)\n" >&2; \ + false; \ + } ) + +endif + +# update all feeds, re-create index files, install symlinks +package/symlinks: + ./scripts/feeds update -a + ./scripts/feeds install -a + +# re-create index files, install symlinks +package/symlinks-install: + ./scripts/feeds update -i + ./scripts/feeds install -a + +# remove all symlinks, don't touch ./feeds +package/symlinks-clean: + ./scripts/feeds uninstall -a + +help: + cat ./build/README + +docs docs/compile: FORCE + @$(_SINGLE)$(SUBMAKE) -C docs compile + +docs/clean: FORCE + @$(_SINGLE)$(SUBMAKE) -C docs clean + +distclean: + rm -rf .config* feeds key-build* logs package/feeds package/openwrt-packages out tmp + @$(_SINGLE)$(SUBMAKE) -C scripts/config clean + +ifeq ($(findstring v,$(DEBUG)),) + .SILENT: symlinkclean clean dirclean distclean config-clean download help tmpinfo-clean .config scripts/config/mconf scripts/config/conf menuconfig out/host/.prereq-build tmp/.prereq-package prepare-tmpinfo +endif +.PHONY: help FORCE +.NOTPARALLEL: + diff --git a/build/uclibc++.mk b/build/uclibc++.mk new file mode 100644 index 0000000..a1a61f2 --- /dev/null +++ b/build/uclibc++.mk @@ -0,0 +1,16 @@ +ifndef DUMP + ifdef __package_mk + $(error uclibc++.mk must be included before package.mk) + endif +endif + +PKG_PREPARED_DEPENDS += CONFIG_USE_UCLIBCXX +CXX_DEPENDS = +USE_UCLIBCXX:uclibcxx +USE_LIBSTDCXX:libstdcpp + +ifneq ($(CONFIG_USE_UCLIBCXX),) + ifneq ($(CONFIG_CCACHE),) + TARGET_CXX_NOCACHE=g++-uc + else + TARGET_CXX=g++-uc + endif +endif diff --git a/build/unpack.mk b/build/unpack.mk new file mode 100644 index 0000000..3fabf46 --- /dev/null +++ b/build/unpack.mk @@ -0,0 +1,81 @@ +# +# Copyright (C) 2006-2007 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +# unpacking files with +s may break on some platforms. this typically emits error code 2 +ifneq ($(HOST_OS),Linux) + HOST_TAR:=trapret 2 $(TAR) +else + HOST_TAR:=$(TAR) +endif +TAR_CMD=$(HOST_TAR) -C $(1)/.. $(TAR_OPTIONS) +UNZIP_CMD=unzip -d $(1)/.. $(DL_DIR)/$(PKG_SOURCE) + +ifeq ($(PKG_SOURCE),) + PKG_UNPACK ?= true +else + +ifeq ($(strip $(UNPACK_CMD)),) + ifeq ($(strip $(PKG_CAT)),) + # try to autodetect file type + EXT:=$(call ext,$(PKG_SOURCE)) + EXT1:=$(EXT) + + ifeq ($(filter gz tgz,$(EXT)),$(EXT)) + EXT:=$(call ext,$(PKG_SOURCE:.$(EXT)=)) + DECOMPRESS_CMD:=gzip -dc $(DL_DIR)/$(PKG_SOURCE) | + endif + ifeq ($(filter bzip2 bz2 bz tbz2 tbz,$(EXT)),$(EXT)) + EXT:=$(call ext,$(PKG_SOURCE:.$(EXT)=)) + DECOMPRESS_CMD:=bzcat $(DL_DIR)/$(PKG_SOURCE) | + endif + ifeq ($(filter xz txz,$(EXT)),$(EXT)) + EXT:=$(call ext,$(PKG_SOURCE:.$(EXT)=)) + DECOMPRESS_CMD:=xzcat $(DL_DIR)/$(PKG_SOURCE) | + endif + ifeq ($(filter tgz tbz tbz2 txz,$(EXT1)),$(EXT1)) + EXT:=tar + endif + DECOMPRESS_CMD ?= cat $(DL_DIR)/$(PKG_SOURCE) | + ifeq ($(EXT),tar) + UNPACK_CMD=$(DECOMPRESS_CMD) $(TAR_CMD) + endif + ifeq ($(EXT),cpio) + UNPACK_CMD=$(DECOMPRESS_CMD) (cd $(1)/..; cpio -i -d) + endif + ifeq ($(EXT),zip) + UNPACK_CMD=$(UNZIP_CMD) + endif + endif + + # compatibility code for packages that set PKG_CAT + ifeq ($(strip $(UNPACK_CMD)),) + # use existing PKG_CAT + UNPACK_CMD=$(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | $(TAR_CMD) + ifeq ($(PKG_CAT),unzip) + UNPACK_CMD=$(UNZIP_CMD) + endif + # replace zcat with $(ZCAT), because some system don't support it properly + ifeq ($(PKG_CAT),zcat) + UNPACK_CMD=gzip -dc $(DL_DIR)/$(PKG_SOURCE) | $(TAR_CMD) + endif + endif + ifneq ($(strip $(CRLF_WORKAROUND)),) + CRLF_CMD := && find $(PKG_BUILD_DIR) -type f -print0 | xargs -0 perl -pi -e 's!\r$$$$!!g' + else + CRLF_CMD := + endif +endif + +ifdef PKG_BUILD_DIR + PKG_UNPACK ?= $(SH_FUNC) $(call UNPACK_CMD,$(PKG_BUILD_DIR)) $(call CRLF_CMD,$(PKG_BUILD_DIR)) +endif +ifdef HOST_BUILD_DIR + HOST_UNPACK ?= $(SH_FUNC) $(call UNPACK_CMD,$(HOST_BUILD_DIR)) $(call CRLF_CMD,$(HOST_BUILD_DIR)) +endif + +endif # PKG_SOURCE + diff --git a/build/verbose.mk b/build/verbose.mk new file mode 100644 index 0000000..b7e43f7 --- /dev/null +++ b/build/verbose.mk @@ -0,0 +1,67 @@ +# +# Copyright (C) 2006 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifndef OPENWRT_VERBOSE + OPENWRT_VERBOSE:= +endif +ifeq ("$(origin V)", "command line") + OPENWRT_VERBOSE:=$(V) +endif + +ifeq ($(OPENWRT_VERBOSE),1) + OPENWRT_VERBOSE:=w +endif +ifeq ($(OPENWRT_VERBOSE),99) + OPENWRT_VERBOSE:=s +endif + +ifeq ($(NO_TRACE_MAKE),) +NO_TRACE_MAKE := $(MAKE) V=s$(OPENWRT_VERBOSE) +export NO_TRACE_MAKE +endif + +ifeq ($(IS_TTY),1) + ifneq ($(strip $(NO_COLOR)),1) + _Y:=\\033[33m + _R:=\\033[31m + _N:=\\033[m + endif +endif + +ifeq ($(findstring s,$(OPENWRT_VERBOSE)),) + define MESSAGE + printf "$(_Y)%s$(_N)\n" "$(1)" >&8 + endef + + define ERROR_MESSAGE + printf "$(_R)%s$(_N)\n" "$(1)" >&8 + endef + + ifeq ($(QUIET),1) + ifneq ($(CURDIR),$(TOPDIR)) + _DIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR}) + else + _DIR:= + endif + _NULL:=$(if $(MAKECMDGOALS),$(shell \ + $(call MESSAGE, make[$(MAKELEVEL)]$(if $(_DIR), -C $(_DIR)) $(MAKECMDGOALS)); \ + )) + SUBMAKE=$(MAKE) + else + SILENT:=>/dev/null $(if $(findstring w,$(OPENWRT_VERBOSE)),,2>&1) + export QUIET:=1 + SUBMAKE=cmd() { $(SILENT) $(MAKE) -s $$* < /dev/null || { echo "make $$*: build failed. Please re-run make with -j1 V=s to see what's going on"; false; } } 8>&1 9>&2; cmd + endif + + .SILENT: $(MAKECMDGOALS) +else + SUBMAKE=$(MAKE) -w + define MESSAGE + printf "%s\n" "$(1)" + endef + ERROR_MESSAGE=$(MESSAGE) +endif diff --git a/build/version.mk b/build/version.mk new file mode 100644 index 0000000..5544b1e --- /dev/null +++ b/build/version.mk @@ -0,0 +1,108 @@ +# +# Copyright (C) 2012-2015 OpenWrt.org +# Copyright (C) 2015-2016 tracewong +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# Handle various build version information. +# +# Guarantees that the following are defined: +# PLATFORM_VERSION +# PLATFORM_SDK_VERSION +# PLATFORM_VERSION_CODENAME +# DEFAULT_APP_TARGET_SDK +# BUILD_ID +# BUILD_NUMBER + +ifeq "" "$(PLATFORM_VERSION)" + PLATFORM_VERSION := 4.0.0 +endif + +ifeq "" "$(PLATFORM_VERSION_CODENAME)" + PLATFORM_VERSION_CODENAME := Neptune +endif + +ifeq "" "$(BUILD_ID)" + BUILD_ID := 5C1C9C53 +endif + +ifeq "" "$(TARGET_VERSION_DIST)" + TARGET_VERSION_DIST := tina.$(USER).$(shell date +%Y%m%d.%H%M%S) +endif + +ifeq "" "$(TARGET_VERSION_MANUFACTURER)" + TARGET_VERSION_MANUFACTURER := allwinnertech +endif + +ifeq "" "$(TARGET_VERSION_MANUFACTURER_URL)" + TARGET_VERSION_MANUFACTURER_URL := www.allwinnertech.com +endif + +ifeq "" "$(TARGET_VERSION_REPO)" + TARGET_VERSION_REPO := http://github.com/tinalinux +endif + +ifeq "" "$(TARGET_VERSION_PRODUCT)" + TARGET_VERSION_PRODUCT := $(PLATFORM_VERSION) +endif + +qstrip_escape=$(subst ','\'',$(call qstrip,$(1))) +#' + +VERSION_NUMBER:=$(call qstrip_escape,$(PLATFORM_VERSION)) + +VERSION_CODENAME:=$(call qstrip_escape,$(PLATFORM_VERSION_CODENAME)) + +VERSION_DIST:=$(call qstrip_escape,$(TARGET_VERSION_DIST)) + +VERSION_MANUFACTURER:=$(call qstrip_escape,$(TARGET_VERSION_MANUFACTURER)) + +VERSION_MANUFACTURER_URL:=$(call qstrip_escape,$(TARGET_VERSION_MANUFACTURER_URL)) + +VERSION_PRODUCT:=$(call qstrip_escape,$(TARGET_VERSION_PRODUCT)) + +VERSION_HWREV:=$(call qstrip_escape,$(TARGET_VERSION_HWREV)) +VERSION_HWREV:=$(if $(VERSION_HWREV),$(VERSION_HWREV),V_0_0) + +define taint2sym +$(CONFIG_$(firstword $(subst :, ,$(subst +,,$(subst -,,$(1)))))) +endef + +define taint2name +$(lastword $(subst :, ,$(1))) +endef + +VERSION_TAINT_SPECS := \ + -ALL_KMODS:no-all \ + -IPV6:no-ipv6 \ + +USE_GLIBC:glibc \ + +USE_MKLIBS:mklibs \ + +BUSYBOX_CUSTOM:busybox \ + +OVERRIDE_PKGS:override \ + +VERSION_TAINTS := $(strip $(foreach taint,$(VERSION_TAINT_SPECS), \ + $(if $(findstring +,$(taint)), \ + $(if $(call taint2sym,$(taint)),$(call taint2name,$(taint))), \ + $(if $(call taint2sym,$(taint)),,$(call taint2name,$(taint))) \ + ))) + +PKG_CONFIG_DEPENDS += $(foreach taint,$(VERSION_TAINT_SPECS),$(call taint2sym,$(taint))) + +VERSION_SED:=$(SED) 's,%U,$(VERSION_REPO),g' \ + -e 's,%V,$(VERSION_NUMBER),g' \ + -e 's,%v,\L$(subst $(space),_,$(VERSION_NUMBER)),g' \ + -e 's,%C,$(VERSION_CODENAME),g' \ + -e 's,%c,\L$(subst $(space),_,$(VERSION_CODENAME)),g' \ + -e 's,%D,$(VERSION_DIST),g' \ + -e 's,%d,\L$(subst $(space),_,$(VERSION_DIST)),g' \ + -e 's,%R,$(BUILD_ID),g' \ + -e 's,%T,$(BOARD),g' \ + -e 's,%S,$(BOARD)/$(if $(SUBTARGET),$(SUBTARGET),generic),g' \ + -e 's,%t,$(VERSION_TAINTS),g' \ + -e 's,%M,$(VERSION_MANUFACTURER),g' \ + -e 's,%m,$(VERSION_MANUFACTURER_URL),g' \ + -e 's,%P,$(VERSION_PRODUCT),g' \ + -e 's,%h,$(VERSION_HWREV),g' + +VERSION_SED_SCRIPT:=$(subst '\'','\'\\\\\'\'',$(VERSION_SED)) diff --git a/config/Config-build.in b/config/Config-build.in new file mode 100755 index 0000000..36c7f41 --- /dev/null +++ b/config/Config-build.in @@ -0,0 +1,410 @@ +# Copyright (C) 2006-2013 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +menu "Global build settings" + + choice + prompt "compile system methods" if aarch64 + default COMPLILE_KERNEL64_USER32 if TARGET_r18_mozart + default COMPLILE_KERNEL64_USER64 + help + Select the system compilation methods. + + config COMPLILE_KERNEL64_USER64 + bool "KERNEL64_USER64" + help + This will use 64 bit toolchain compile complete system. + + config COMPLILE_KERNEL64_USER32 + bool "KERNEL64_USER32" + help + This will use 32 bit toolchain compile all user app,64 bit toolchain + compile kernel. + endchoice + + config ALL_KMODS + bool "Select all kernel module packages by default" + default ALL + + config ALL + bool "Select all userspace packages by default" + default n + + config SIGNED_PACKAGES + bool "Cryptographically signed package lists" + default n + + comment "Security options" + + config USE_SELINUX + bool "NSA SELinux Support" + default n + help + This selects NSA Security-Enhanced Linux (SELinux). + You will also need a policy configuration and a labeled filesystem. + If you are unsure how to answer this question, answer N. + + choice + prompt "choose the SELinux Policy" + default SELINUX_REFPOLICY + depends on USE_SELINUX + help + Select the system compilation methods. + + config SELINUX_REFPOLICY + bool "the reference policy" + + config SELINUX_SEPOLICY + depends on !LINUX_5_4 + bool "android sepolicy" + endchoice + + config USE_OPTEE + bool "OP-TEE Support" + default n + depends on (PLATFORM_r18 || PLATFORM_r30 || PLATFORM_r311 || PLATFORM_mr133 || PLATFORM_r328s2 || PLATFORM_r328s3 || PLATFORM_mr112 || PLATFORM_mr813 || PLATFORM_r818 || PLATFORM_r329 || PLATFORM_r528 || PLATFORM_v853) + help + OP-TEE is a Trusted Execution Environment (TEE) designed as + companion to a non-secure Linux kernel running on Arm; Cortex-A + cores using the TrustZone technology. + + choice + prompt "choose OP-TEE version" + default OPTEE_VERSION_2_5 if !(PLATFORM_mr813 || PLATFORM_r818 || PLATFORM_r329 || PLATFORM_r528 || PLATFORM_v853) + default OPTEE_VERSION_3_7 if (PLATFORM_mr813 || PLATFORM_r818 || PLATFORM_r329 || PLATFORM_r528 || PLATFORM_v853) + depends on USE_OPTEE + help + Select optee version. + + config OPTEE_VERSION_2_5 + bool "optee version 2.5.0" + + config OPTEE_VERSION_3_7 + bool "optee version 3.7.0" + endchoice + + config USE_DM_VERITY + bool "Device Mapper Verity" + default n + help + Dm-verity is meant to be set up as part of a verified boot path. + This device-mapper target creates a read-only device that + transparently validates the data on one underlying device against + a pre-generated tree of cryptographic checksums stored on a second + device. + + config USE_UBOOT_VERIFY_SQUASHFS + bool "Verify squashfs rootfs in uboot" + default n + help + When this option is enabled, it will append cert info to squashfs rootfs + during pack. + + Note: you should enable CONFIG_SUNXI_PART_VERIFY in uboot and rebuild uboot. + + comment "General build options" + + config DISPLAY_SUPPORT + bool "Show packages that require graphics support (local or remote)" + default n + + config BUILD_PATENTED + default y + bool "Compile with support for patented functionality" + help + When this option is disabled, software which provides patented functionality + will not be built. In case software provides optional support for patented + functionality, this optional support will get disabled for this package. + + config BUILD_NLS + default n + bool "Compile with full language support" + help + When this option is enabled, packages are built with the full versions of + iconv and GNU gettext instead of the default OpenWrt stubs. If uClibc is + used, it is also built with locale support. + + config SHADOW_PASSWORDS + bool + prompt "Enable shadow password support" + default y + help + Enable shadow password support. + + config CLEAN_IPKG + bool + prompt "Remove ipkg/opkg status data files in final images" + default n + help + This removes all ipkg/opkg status data files from the target directory + before building the root filesystem. + + config COLLECT_KERNEL_DEBUG + bool + prompt "Collect kernel debug information" + select KERNEL_DEBUG_INFO + default n + help + This collects debugging symbols from the kernel and all compiled modules. + Useful for release builds, so that kernel issues can be debugged offline + later. + + comment "Kernel build options" + + source "config/Config-kernel.in" + + comment "Package build options" + + config DEBUG + bool + prompt "Compile packages with debugging info" + default n + help + Adds -g3 to the CFLAGS. + + config IPV6 + bool + prompt "Enable IPv6 support in packages" + default y + help + Enables IPv6 support in kernel (builtin) and packages. + + config PKG_BUILD_PARALLEL + bool + prompt "Compile certain packages parallelized" + default y + help + This adds a -jX option to certain packages that are known to behave well + for parallel build. By default, the package make processes use the main + jobserver, in which case this option only takes effect when you add -jX + to the make command. + + If you are unsure, select N. + + config PKG_BUILD_USE_JOBSERVER + bool + prompt "Use top-level make jobserver for packages" + depends on PKG_BUILD_PARALLEL + default y + help + This passes the main make process jobserver fds to package builds, + enabling full parallelization across different packages. + + Note that disabling this may overcommit CPU resources depending on the + -j level of the main make process, the number of package submake jobs + selected below and the number of actual CPUs present. + Example: If the main make is passed a -j4 and the submake -j + is also set to 4, we may end up with 16 parallel make processes + in the worst case. + + config PKG_BUILD_JOBS + int + prompt "Number of package submake jobs (2-512)" + range 2 512 + default 2 + depends on PKG_BUILD_PARALLEL && !PKG_BUILD_USE_JOBSERVER + help + The number of jobs (-jX) to pass to packages submake. + + config PKG_DEFAULT_PARALLEL + bool + prompt "Parallelize the default package build rule (May break build)" + depends on PKG_BUILD_PARALLEL + depends on BROKEN + default n + help + Always set the default package build rules to parallel build. + + WARNING: This may break build or kill your cat, as it builds packages + with multiple jobs that are probably not tested in a parallel build + environment. + + Only say Y if you don't mind fixing broken packages. Before reporting + build bugs, set this to N and re-run the build. + + comment "Stripping options" + + choice + prompt "Binary stripping method" + default USE_STRIP if EXTERNAL_TOOLCHAIN + default USE_STRIP if USE_GLIBC + default USE_SSTRIP + help + Select the binary stripping method you wish to use. + + config NO_STRIP + bool "none" + help + This will install unstripped binaries (useful for native + compiling/debugging). + + config USE_STRIP + bool "strip" + help + This will install binaries stripped using strip from binutils. + + + config USE_SSTRIP + bool "sstrip" + depends on !USE_GLIBC + help + This will install binaries stripped using sstrip. + endchoice + + config STRIP_ARGS + string + prompt "Strip arguments" + depends on USE_STRIP + default "--strip-unneeded --remove-section=.comment --remove-section=.note" if DEBUG + default "--strip-all" + help + Specifies arguments passed to the strip command when stripping binaries. + + config STRIP_KERNEL_EXPORTS + bool "Strip unnecessary exports from the kernel image" + help + Reduces kernel size by stripping unused kernel exports from the kernel + image. Note that this might make the kernel incompatible with any kernel + modules that were not selected at the time the kernel image was created. + + config USE_MKLIBS + bool "Strip unnecessary functions from libraries" + help + Reduces libraries to only those functions that are necessary for using all + selected packages (including those selected as ). Note that this will + make the system libraries incompatible with most of the packages that are + not selected during the build process. + + choice + prompt "Preferred standard C++ library" + default USE_LIBSTDCXX if USE_GLIBC + default USE_LIBSTDCXX + help + Select the preferred standard C++ library for all packages that support this. + + config USE_UCLIBCXX + bool "uClibc++" + + config USE_LIBSTDCXX + bool "libstdc++" + endchoice + + comment "Hardening build options" + + config PKG_CHECK_FORMAT_SECURITY + bool + prompt "Enable gcc format-security" + default y + help + Add -Wformat -Werror=format-security to the CFLAGS. You can disable + this per package by adding PKG_CHECK_FORMAT_SECURITY:=0 in the package + Makefile. + + config PKG_ASLR_PIE + bool + prompt "User space ASLR PIE compilation" + select BUSYBOX_DEFAULT_PIE + default n + help + Add -fPIC to CFLAGS and -specs=hardened-build-ld to LDFLAGS. + This enables package build as Position Independent Executables (PIE) + to protect against "return-to-text" attacks. This belongs to the + feature of Address Space Layout Randomisation (ASLR), which is + implemented by the kernel and the ELF loader by randomising the + location of memory allocations. This makes memory addresses harder + to predict when an attacker is attempting a memory-corruption exploit. + You can disable this per package by adding PKG_ASLR_PIE:=0 in the package + Makefile. + + choice + prompt "User space Stack-Smashing Protection" + depends on USE_MUSL + default PKG_CC_STACKPROTECTOR_REGULAR + help + Enable GCC Stack Smashing Protection (SSP) for userspace applications + config PKG_CC_STACKPROTECTOR_NONE + bool "None" + config PKG_CC_STACKPROTECTOR_REGULAR + bool "Regular" + select SSP_SUPPORT if !USE_MUSL + depends on KERNEL_CC_STACKPROTECTOR_REGULAR + config PKG_CC_STACKPROTECTOR_STRONG + bool "Strong" + select SSP_SUPPORT if !USE_MUSL + depends on GCC_VERSION_5 + depends on KERNEL_CC_STACKPROTECTOR_STRONG + config PKG_CC_STACKPROTECTOR_ALL + bool "All" + select SSP_SUPPORT if !USE_MUSL + endchoice + + choice + prompt "Kernel space Stack-Smashing Protection" + default KERNEL_CC_STACKPROTECTOR_REGULAR + depends on USE_MUSL || !(x86_64 || i386) + help + Enable GCC Stack-Smashing Protection (SSP) for the kernel + config KERNEL_CC_STACKPROTECTOR_NONE + bool "None" + config KERNEL_CC_STACKPROTECTOR_REGULAR + bool "Regular" + config KERNEL_CC_STACKPROTECTOR_STRONG + depends on GCC_VERSION_5 + bool "Strong" + endchoice + + choice + prompt "Enable buffer-overflows detection (FORTIFY_SOURCE)" + default PKG_FORTIFY_SOURCE_1 + help + Enable the _FORTIFY_SOURCE macro which introduces additional + checks to detect buffer-overflows in the following standard library + functions: memcpy, mempcpy, memmove, memset, strcpy, stpcpy, + strncpy, strcat, strncat, sprintf, vsprintf, snprintf, vsnprintf, + gets. "Conservative" (_FORTIFY_SOURCE set to 1) only introduces + checks that shouldn't change the behavior of conforming programs, + while "aggressive" (_FORTIFY_SOURCES set to 2) some more checking is + added, but some conforming programs might fail. + config PKG_FORTIFY_SOURCE_NONE + bool "None" + config PKG_FORTIFY_SOURCE_1 + bool "Conservative" + config PKG_FORTIFY_SOURCE_2 + bool "Aggressive" + endchoice + + choice + prompt "Enable RELRO protection" + default PKG_RELRO_FULL + help + Enable a link-time protection known as RELRO (Relocation Read Only) + which helps to protect from certain type of exploitation techniques + altering the content of some ELF sections. "Partial" RELRO makes the + .dynamic section not writeable after initialization, introducing + almost no performance penalty, while "full" RELRO also marks the GOT + as read-only at the cost of initializing all of it at startup. + config PKG_RELRO_NONE + bool "None" + config PKG_RELRO_PARTIAL + bool "Partial" + config PKG_RELRO_FULL + bool "Full" + endchoice + + config SUNXI_MAKE_REDUNDANT_ENV + bool "sunxi make redundant env data" + default n + help + Create redundant env data with mkenvimage tools + + config SUNXI_REDUNDANT_ENV_SIZE + string "redundant env data size" + depends on SUNXI_MAKE_REDUNDANT_ENV + default 0x20000 + help + redundant env data size + +endmenu diff --git a/config/Config-devel.in b/config/Config-devel.in new file mode 100644 index 0000000..2c0d45f --- /dev/null +++ b/config/Config-devel.in @@ -0,0 +1,65 @@ +# Copyright (C) 2006-2013 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +menuconfig DEVEL + bool "Advanced configuration options (for developers)" + default n + + config BROKEN + bool "Show broken platforms / packages" if DEVEL + default n + + config LOCALMIRROR + string "Local mirror for source packages" if DEVEL + default "" + + config AUTOREBUILD + bool "Automatic rebuild of packages" if DEVEL + default y + help + Automatically rebuild packages when their files change. + + config BUILD_SUFFIX + string "Build suffix to append to the target BUILD_DIR variable" if DEVEL + default "" + help + Build suffix to append to the BUILD_DIR variable, i.e: './build_dir/{target-build-dir}_$(BUILD_SUFFIX)'. + This allows you to switch to a different .config whilst retaining all the build + objects generated by the first .config + + config TARGET_ROOTFS_DIR + string "Override the default TARGET_ROOTFS_DIR variable" if DEVEL + default "" + help + Override the default TARGET_ROOTFS_DIR variable content $(COMPILE_DIR) with + custom path. Use this option to re-define the location of the target + root filesystem directory. + + config CCACHE + bool "Use ccache" if DEVEL + default n + help + Compiler cache; see http://ccache.samba.org/. + + config BUILD_LOG + bool "Enable log files during build process" if DEVEL + help + If enabled, log files will be written to the ./log directory. + + config SRC_TREE_OVERRIDE + bool "Enable package source tree override" if DEVEL + help + If enabled, you can force a package to use a git tree as source + code instead of the normal tarball. Create a symlink 'git-src' + in the package directory, pointing to the .git tree that you want + to pull the source code from. + + config EXTRA_OPTIMIZATION + string "Additional compiler options" if DEVEL + default "-fno-caller-saves -fno-plt" if !CONFIG_EXTERNAL_TOOLCHAIN && !arc + default "-fno-caller-saves" + help + Extra target-independent optimizations to use when building for the target. diff --git a/config/Config-images.in b/config/Config-images.in new file mode 100755 index 0000000..13a101a --- /dev/null +++ b/config/Config-images.in @@ -0,0 +1,388 @@ +# Copyright (C) 2006-2013 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +menu "Target Images" + + menuconfig TARGET_ROOTFS_INITRAMFS + bool "ramdisk" + default y if USES_INITRAMFS + help + Embed the root filesystem into the kernel (initramfs). + + choice + prompt "Compression" + default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx + default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips + default TARGET_INITRAMFS_COMPRESSION_NONE + depends on TARGET_ROOTFS_INITRAMFS + help + Select ramdisk compression. + + config TARGET_INITRAMFS_COMPRESSION_NONE + bool "none" + + config TARGET_INITRAMFS_COMPRESSION_GZIP + bool "gzip" + + config TARGET_INITRAMFS_COMPRESSION_BZIP2 + bool "bzip2" + + config TARGET_INITRAMFS_COMPRESSION_LZMA + bool "lzma" + + config TARGET_INITRAMFS_COMPRESSION_LZO + bool "lzo" + + config TARGET_INITRAMFS_COMPRESSION_LZ4 + bool "lz4" + + config TARGET_INITRAMFS_COMPRESSION_XZ + bool "xz" + endchoice + + config EXTERNAL_CPIO + string + prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS + default "" + help + Kernel uses specified external cpio as INITRAMFS_SOURCE. + + comment "Root filesystem archives" + + config TARGET_ROOTFS_CPIOGZ + bool "cpio.gz" + default y if USES_CPIOGZ + help + Build a compressed cpio archive of the root filesystem. + + config TARGET_ROOTFS_TARGZ + bool "tar.gz" + default y if USES_TARGZ + help + Build a compressed tar archive of the root filesystem. + + comment "Root filesystem images" + + menuconfig TARGET_ROOTFS_EXT4FS + bool "ext4" + default y if USES_EXT4 + help + Build an ext4 root filesystem. + + config TARGET_EXT4_MAXINODE + int "Maximum number of inodes in root filesystem" + depends on TARGET_ROOTFS_EXT4FS + default 6000 + help + Select the maximum number of inodes in the root filesystem. + + config TARGET_EXT4_RESERVED_PCT + int "Percentage of reserved blocks in root filesystem" + depends on TARGET_ROOTFS_EXT4FS + default 0 + help + Select the percentage of reserved blocks in the root filesystem. + + choice + prompt "Root filesystem block size" + default TARGET_EXT4_BLOCKSIZE_4K + depends on TARGET_ROOTFS_EXT4FS + help + Select the block size of the root filesystem. + + config TARGET_EXT4_BLOCKSIZE_4K + bool "4k" + + config TARGET_EXT4_BLOCKSIZE_2K + bool "2k" + + config TARGET_EXT4_BLOCKSIZE_1K + bool "1k" + endchoice + + config TARGET_EXT4_BLOCKSIZE + int + default 4096 if TARGET_EXT4_BLOCKSIZE_4K + default 2048 if TARGET_EXT4_BLOCKSIZE_2K + default 1024 if TARGET_EXT4_BLOCKSIZE_1K + depends on TARGET_ROOTFS_EXT4FS + + config TARGET_EXT4_JOURNAL + bool "Create a journaling filesystem" + depends on TARGET_ROOTFS_EXT4FS + default n + help + Create an ext4 filesystem with a journal. + + config TARGET_ROOTFS_ISO + bool "iso" + default n + depends on TARGET_x86_generic + help + Create a bootable ISO image. + + config TARGET_ROOTFS_JFFS2 + bool "jffs2" + default y if USES_JFFS2 + help + Build a JFFS2 root filesystem. + + config TARGET_ROOTFS_JFFS2_NAND + bool "jffs2 for NAND" + default y if USES_JFFS2_NAND + depends on USES_JFFS2_NAND + help + Build a JFFS2 root filesystem for NAND flash. + + menuconfig TARGET_ROOTFS_SQUASHFS + bool "squashfs" + default y if USES_SQUASHFS + help + Build a squashfs root filesystem. + + choice + prompt "Compression" + default KERNEL_SQUASHFS_XZ + depends on TARGET_ROOTFS_SQUASHFS + help + Select SQUASHFS compression. + + config KERNEL_SQUASHFS_XZ + bool "xz" + + config KERNEL_SQUASHFS_LZ4 + depends on LINUX_4_9 || LINUX_4_4 + bool "lz4" + + config KERNEL_SQUASHFS_ZLIB + bool "gzip" + endchoice + + config TARGET_SQUASHFS_BLOCK_SIZE + int "Block size (in KiB)" + depends on TARGET_ROOTFS_SQUASHFS + default 64 if LOW_MEMORY_FOOTPRINT + default 256 + + menuconfig TARGET_ROOTFS_UBIFS + bool "ubifs" + default y if USES_UBIFS + depends on USES_UBIFS + help + Build a UBIFS root filesystem. + + choice + prompt "compression" + default TARGET_UBIFS_COMPRESSION_ZLIB + depends on TARGET_ROOTFS_UBIFS + help + Select compression type + + config TARGET_UBIFS_COMPRESSION_NONE + bool "none" + + config TARGET_UBIFS_COMPRESSION_LZO + bool "lzo" + + config TARGET_UBIFS_COMPRESSION_ZLIB + bool "zlib" + endchoice + + config TARGET_UBIFS_FREE_SPACE_FIXUP + bool "free space fixup" if TARGET_ROOTFS_UBIFS + default y + help + The filesystem free space has to be fixed up on first mount. + + config TARGET_UBIFS_JOURNAL_SIZE + string + prompt "journal size" if TARGET_ROOTFS_UBIFS + default "" + + config GRUB_IMAGES + bool "Build GRUB images (Linux x86 or x86_64 host only)" + depends on TARGET_x86_64 || (TARGET_x86 && !TARGET_x86_rdc) + depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_ISO || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS + select PACKAGE_grub2 + default y + + config GRUB_CONSOLE + bool "Use Console Terminal (in addition to Serial)" + depends on GRUB_IMAGES + default n if (TARGET_x86_generic_Soekris45xx || TARGET_x86_generic_Soekris48xx || TARGET_x86_net5501 || TARGET_x86_geos || TARGET_x86_alix2) + default y + + config GRUB_SERIAL + string "Serial port device" + depends on GRUB_IMAGES + default "hvc0" if TARGET_x86_xen_domu + default "ttyS0" if ! TARGET_x86_xen_domu + + config GRUB_BAUDRATE + int "Serial port baud rate" + depends on GRUB_IMAGES + default 38400 if TARGET_x86_generic + default 38400 if TARGET_x86_geode + default 115200 + + config GRUB_BOOTOPTS + string "Extra kernel boot options" + depends on GRUB_IMAGES + default "xencons=hvc" if TARGET_x86_xen_domu + help + If you don't know, just leave it blank. + + config GRUB_TIMEOUT + string "Seconds to wait before booting the default entry" + depends on GRUB_IMAGES + default "5" + help + If you don't know, 5 seconds is a reasonable default. + + config VDI_IMAGES + bool "Build VirtualBox image files (VDI)" + depends on TARGET_x86 || TARGET_x86_64 + select GRUB_IMAGES + select TARGET_IMAGES_PAD + select PACKAGE_kmod-e1000 + + config VMDK_IMAGES + bool "Build VMware image files (VMDK)" + depends on TARGET_x86 || TARGET_x86_64 + select GRUB_IMAGES + select TARGET_IMAGES_PAD + select PACKAGE_kmod-e1000 + + config TARGET_IMAGES_PAD + bool "Pad images to filesystem size (for JFFS2)" + depends on GRUB_IMAGES + + config TARGET_IMAGES_GZIP + bool "GZip images" + depends on TARGET_IMAGES_PAD || TARGET_ROOTFS_EXT4FS + default y + + comment "Image Options" + + source "target/allwinner/*/image/Config.in" + + config TARGET_KERNEL_PARTSIZE + int "Kernel partition size (in MB)" + depends on GRUB_IMAGES + default 4 + + config TARGET_ROOTFS_PARTSIZE + int "Root filesystem partition size (in MB)" + depends on GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532 + default 48 + help + Select the root filesystem partition size. + + config TARGET_ROOTFS_PARTNAME + string "Root partition on target device" + depends on GRUB_IMAGES + help + Override the root partition on the final device. If left empty, + it will be mounted by PARTUUID which makes the kernel find the + appropriate disk automatically. + + + menuconfig TARGET_ROOTFS_INCLUDE_KERNEL + bool "Include kernel in root filesystem" + depends on TARGET_ROOTFS_UBIFS || TARGET_ROOTFS_EXT4FS + default n + help + Include the kernel image in the rootfs. Typically, the image is placed + below /boot. + + config TARGET_ROOTFS_INCLUDE_UIMAGE + bool "include uImage" if TARGET_ROOTFS_INCLUDE_KERNEL + default y + help + This option might not apply to all targets. Make sure + to check target/allwinner//image/Makefile to + see if this option will have any effect. + + config TARGET_ROOTFS_INCLUDE_ZIMAGE + bool "include zImage" if TARGET_ROOTFS_INCLUDE_KERNEL + default y + help + This option might not apply to all targets. Make sure + to check target/allwinner//image/Makefile to + see if this option will have any effect. + + config TARGET_ROOTFS_INCLUDE_FIT + bool "include FIT" if TARGET_ROOTFS_INCLUDE_KERNEL + default y + help + This option might not apply to all targets. Make sure + to check target/allwinner//image/Makefile to + see if this option will have any effect. + + config TARGET_ROOTFS_INCLUDE_DTB + bool "Include DTB in root filesystem" + depends on USES_DEVICETREE && (TARGET_ROOTFS_UBIFS || TARGET_ROOTFS_EXT4FS) + default n + help + Include the device tree blob file(s) in the rootfs. Typically the DTBs + are placed below /boot. + + comment "Kernel Image Compression Mode setting" + + menuconfig TARGET_KERNEL_COMPRESSION_MODE + bool "kernel compression mode setting" + default n + help + setting kernel image compression mode. + + choice + prompt "Compression" + default KERNEL_KERNEL_GZIP + depends on TARGET_KERNEL_COMPRESSION_MODE + help + Select kernel image compression. + + config KERNEL_KERNEL_GZIP + bool "Gzip" + + config KERNEL_KERNEL_LZMA + bool "LZMA" + + config KERNEL_KERNEL_XZ + bool "XZ" + + config KERNEL_KERNEL_LZO + bool "LZO" + endchoice + + comment "Downsize root filesystem" + + config REDUCE_ROOTFS_SIZE + bool "downsize the root filesystem or initramfs" + default n + help + This option will reduce the storage size of the rootfs. Please read file + scripts/reduce-rootfs-size.sh. + + comment "Optimize kernel size" + + config REDUCE_KERNEL_SIZE + bool "downsize the kernel size (EXPERIMENTAL)" + default n + help + This option will reduce the storage size of the kernel by removing log + and debug information. Please read file scripts/reduce-kernel-size.sh + + comment "Boot Time Optimization" + + config BOOT_TIME_OPTIMIZATION + bool "Boot Time Optimization" + depends on KERNEL_KERNEL_LZO && ( KERNEL_SQUASHFS_ZLIB || TARGET_ROOTFS_EXT4FS) + default n + help + This option will optimize boot time. + +endmenu diff --git a/config/Config-kernel.in b/config/Config-kernel.in new file mode 100644 index 0000000..0b8b765 --- /dev/null +++ b/config/Config-kernel.in @@ -0,0 +1,638 @@ +# Copyright (C) 2006-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +config KERNEL_BUILD_USER + string "Custom Kernel Build User Name" + default "" + help + Sets the Kernel build user string, which for example will be returned + by 'uname -a' on running systems. + If not set, uses system user at build time. + +config KERNEL_BUILD_DOMAIN + string "Custom Kernel Build Domain Name" + default "" + help + Sets the Kernel build domain string, which for example will be + returned by 'uname -a' on running systems. + If not set, uses system hostname at build time. + +config KERNEL_PRINTK + bool "Enable support for printk" + default y + +config KERNEL_CRASHLOG + bool "Crash logging" + depends on !(arm || powerpc || sparc || TARGET_uml) + default y + +config KERNEL_SWAP + bool "Support for paging of anonymous memory (swap)" + default y + +config KERNEL_DEBUG_FS + bool "Compile the kernel with debug filesystem enabled" + default y + help + debugfs is a virtual file system that kernel developers use to put + debugging files into. Enable this option to be able to read and + write to these files. Many common debugging facilities, such as + ftrace, require the existence of debugfs. + +config KERNEL_HW_PERF_EVENTS + bool + default n + +config KERNEL_PERF_EVENTS + bool "Compile the kernel with performance events and counters" + default n + select KERNEL_HW_PERF_EVENTS + +config KERNEL_FRAME_POINTER + bool "Compile the kernel with frame pointers" + default n + +config KERNEL_PROFILING + bool "Compile the kernel with profiling enabled" + default n + select KERNEL_PERF_EVENTS + help + Enable the extended profiling support mechanisms used by profilers such + as OProfile. + +config KERNEL_KALLSYMS + bool "Compile the kernel with symbol table information" + default y + help + This will give you more information in stack traces from kernel oopses. + +config KERNEL_FTRACE + bool "Compile the kernel with tracing support" + depends on !TARGET_uml + default n + +config KERNEL_FTRACE_SYSCALLS + bool "Trace system calls" + depends on KERNEL_FTRACE + default n + +config KERNEL_ENABLE_DEFAULT_TRACERS + bool "Trace process context switches and events" + depends on KERNEL_FTRACE + default n + +config KERNEL_FUNCTION_TRACER + bool "Function tracer" + depends on KERNEL_FTRACE + default n + +config KERNEL_FUNCTION_GRAPH_TRACER + bool "Function graph tracer" + depends on KERNEL_FUNCTION_TRACER + default n + +config KERNEL_DYNAMIC_FTRACE + bool "Enable/disable function tracing dynamically" + depends on KERNEL_FUNCTION_TRACER + default n + +config KERNEL_FUNCTION_PROFILER + bool "Function profiler" + depends on KERNEL_FUNCTION_TRACER + default n + +config KERNEL_DEBUG_KERNEL + bool + default n + +config KERNEL_DEBUG_INFO + bool "Compile the kernel with debug information" + default y + select KERNEL_DEBUG_KERNEL + help + This will compile your kernel and modules with debug information. + +config KERNEL_DEBUG_LL_UART_NONE + bool + default n + depends on arm + +config KERNEL_DEBUG_LL + bool + default n + depends on arm + select KERNEL_DEBUG_LL_UART_NONE + help + ARM low level debugging. + +config KERNEL_DYNAMIC_DEBUG + bool "Compile the kernel with dynamic printk" + select KERNEL_DEBUG_FS + default n + help + Compiles debug level messages into the kernel, which would not + otherwise be available at runtime. These messages can then be + enabled/disabled based on various levels of scope - per source file, + function, module, format string, and line number. This mechanism + implicitly compiles in all pr_debug() and dev_dbg() calls, which + enlarges the kernel text size by about 2%. + +config KERNEL_EARLY_PRINTK + bool "Compile the kernel with early printk" + default y if TARGET_bcm53xx + default n + depends on arm + select KERNEL_DEBUG_KERNEL + select KERNEL_DEBUG_LL if arm + help + Compile the kernel with early printk support. This is only useful for + debugging purposes to send messages over the serial console in early boot. + Enable this to debug early boot problems. + +config KERNEL_KPROBES + bool "Compile the kernel with kprobes support" + default n + select KERNEL_FTRACE + select KERNEL_PERF_EVENTS + help + Compiles the kernel with KPROBES support, which allows you to trap + at almost any kernel address and execute a callback function. + register_kprobe() establishes a probepoint and specifies the + callback. Kprobes is useful for kernel debugging, non-intrusive + instrumentation and testing. + If in doubt, say "N". + +config KERNEL_KPROBE_EVENT + bool + default y if KERNEL_KPROBES + +config KERNEL_AIO + bool "Compile the kernel with asynchronous IO support" + default n + +config KERNEL_DIRECT_IO + bool "Compile the kernel with direct IO support" + default n + +config KERNEL_FHANDLE + bool "Compile the kernel with support for fhandle syscalls" + default n + +config KERNEL_FANOTIFY + bool "Compile the kernel with modern file notification support" + default n + +config KERNEL_BLK_DEV_BSG + bool "Compile the kernel with SCSI generic v4 support for any block device" + default n + +config KERNEL_MAGIC_SYSRQ + bool "Compile the kernel with SysRq support" + default y + +config KERNEL_COREDUMP + bool + +config KERNEL_ELF_CORE + bool "Enable process core dump support" + select KERNEL_COREDUMP + default y + +config KERNEL_PROVE_LOCKING + bool "Enable kernel lock checking" + select KERNEL_DEBUG_KERNEL + default n + +config KERNEL_PRINTK_TIME + bool "Enable printk timestamps" + default y + +config KERNEL_SLUB_DEBUG + bool + +config KERNEL_SLUB_DEBUG_ON + bool + +config KERNEL_SLABINFO + select KERNEL_SLUB_DEBUG + select KERNEL_SLUB_DEBUG_ON + bool "Enable /proc slab debug info" + +config KERNEL_PROC_PAGE_MONITOR + bool "Enable /proc page monitoring" + +config KERNEL_RELAY + bool + +config KERNEL_KEXEC + bool "Enable kexec support" + +config USE_RFKILL + bool "Enable rfkill support" + default RFKILL_SUPPORT + +config USE_SPARSE + bool "Enable sparse check during kernel build" + default n + +config KERNEL_DEVTMPFS + bool "Compile the kernel with device tmpfs enabled" + default n + help + devtmpfs is a simple, kernel-managed /dev filesystem. The kernel creates + devices nodes for all registered devices ti simplify boot, but leaves more + complex tasks to userspace (e.g. udev). + +if KERNEL_DEVTMPFS + + config KERNEL_DEVTMPFS_MOUNT + bool "Automatically mount devtmpfs after root filesystem is mounted" + default n + +endif + +# +# CGROUP support symbols +# + +config KERNEL_CGROUPS + bool "Enable kernel cgroups" + default n + +if KERNEL_CGROUPS + + config KERNEL_CGROUP_DEBUG + bool "Example debug cgroup subsystem" + default n + help + This option enables a simple cgroup subsystem that + exports useful debugging information about the cgroups + framework. + + config KERNEL_FREEZER + bool + default y if KERNEL_CGROUP_FREEZER + + config KERNEL_CGROUP_FREEZER + bool "Freezer cgroup subsystem" + default y + help + Provides a way to freeze and unfreeze all tasks in a + cgroup. + + config KERNEL_CGROUP_DEVICE + bool "Device controller for cgroups" + default y + help + Provides a cgroup implementing whitelists for devices which + a process in the cgroup can mknod or open. + + config KERNEL_CGROUP_PIDS + bool "PIDs cgroup subsystem" + default y + help + Provides enforcement of process number limits in the scope of a + cgroup. + + config KERNEL_CPUSETS + bool "Cpuset support" + default n + help + This option will let you create and manage CPUSETs which + allow dynamically partitioning a system into sets of CPUs and + Memory Nodes and assigning tasks to run only within those sets. + This is primarily useful on large SMP or NUMA systems. + + config KERNEL_PROC_PID_CPUSET + bool "Include legacy /proc//cpuset file" + default n + depends on KERNEL_CPUSETS + + config KERNEL_CGROUP_CPUACCT + bool "Simple CPU accounting cgroup subsystem" + default n + help + Provides a simple Resource Controller for monitoring the + total CPU consumed by the tasks in a cgroup. + + config KERNEL_RESOURCE_COUNTERS + bool "Resource counters" + default n + help + This option enables controller independent resource accounting + infrastructure that works with cgroups. + + config KERNEL_MM_OWNER + bool + default y if KERNEL_MEMCG + + config KERNEL_MEMCG + bool "Memory Resource Controller for Control Groups" + default n + depends on KERNEL_RESOURCE_COUNTERS || !LINUX_3_18 + help + Provides a memory resource controller that manages both anonymous + memory and page cache. (See Documentation/cgroups/memory.txt) + + Note that setting this option increases fixed memory overhead + associated with each page of memory in the system. By this, + 20(40)bytes/PAGE_SIZE on 32(64)bit system will be occupied by memory + usage tracking struct at boot. Total amount of this is printed out + at boot. + + Only enable when you're ok with these tradeoffs and really + sure you need the memory resource controller. Even when you enable + this, you can set "cgroup_disable=memory" at your boot option to + disable memory resource controller and you can avoid overheads + (but lose benefits of memory resource controller). + + This config option also selects MM_OWNER config option, which + could in turn add some fork/exit overhead. + + config KERNEL_MEMCG_SWAP + bool "Memory Resource Controller Swap Extension" + default n + depends on KERNEL_MEMCG + help + Add swap management feature to memory resource controller. When you + enable this, you can limit mem+swap usage per cgroup. In other words, + when you disable this, memory resource controller has no cares to + usage of swap...a process can exhaust all of the swap. This extension + is useful when you want to avoid exhaustion swap but this itself + adds more overheads and consumes memory for remembering information. + Especially if you use 32bit system or small memory system, please + be careful about enabling this. When memory resource controller + is disabled by boot option, this will be automatically disabled and + there will be no overhead from this. Even when you set this config=y, + if boot option "swapaccount=0" is set, swap will not be accounted. + Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page + size is 4096bytes, 512k per 1Gbytes of swap. + + config KERNEL_MEMCG_SWAP_ENABLED + bool "Memory Resource Controller Swap Extension enabled by default" + default n + depends on KERNEL_MEMCG_SWAP + help + Memory Resource Controller Swap Extension comes with its price in + a bigger memory consumption. General purpose distribution kernels + which want to enable the feature but keep it disabled by default + and let the user enable it by swapaccount boot command line + parameter should have this option unselected. + + Those who want to have the feature enabled by default should + select this option (if, for some reason, they need to disable it, + then swapaccount=0 does the trick). + + + config KERNEL_MEMCG_KMEM + bool "Memory Resource Controller Kernel Memory accounting (EXPERIMENTAL)" + default n + depends on KERNEL_MEMCG + help + The Kernel Memory extension for Memory Resource Controller can limit + the amount of memory used by kernel objects in the system. Those are + fundamentally different from the entities handled by the standard + Memory Controller, which are page-based, and can be swapped. Users of + the kmem extension can use it to guarantee that no group of processes + will ever exhaust kernel resources alone. + + config KERNEL_CGROUP_PERF + bool "Enable perf_event per-cpu per-container group (cgroup) monitoring" + select KERNEL_PERF_EVENTS + default n + help + This option extends the per-cpu mode to restrict monitoring to + threads which belong to the cgroup specified and run on the + designated cpu. + + menuconfig KERNEL_CGROUP_SCHED + bool "Group CPU scheduler" + default n + help + This feature lets CPU scheduler recognize task groups and control CPU + bandwidth allocation to such task groups. It uses cgroups to group + tasks. + + if KERNEL_CGROUP_SCHED + + config KERNEL_FAIR_GROUP_SCHED + bool "Group scheduling for SCHED_OTHER" + default n + + config KERNEL_CFS_BANDWIDTH + bool "CPU bandwidth provisioning for FAIR_GROUP_SCHED" + default n + depends on KERNEL_FAIR_GROUP_SCHED + help + This option allows users to define CPU bandwidth rates (limits) for + tasks running within the fair group scheduler. Groups with no limit + set are considered to be unconstrained and will run with no + restriction. + See tip/Documentation/scheduler/sched-bwc.txt for more information. + + config KERNEL_RT_GROUP_SCHED + bool "Group scheduling for SCHED_RR/FIFO" + default n + help + This feature lets you explicitly allocate real CPU bandwidth + to task groups. If enabled, it will also make it impossible to + schedule realtime tasks for non-root users until you allocate + realtime bandwidth for them. + + endif + + config KERNEL_BLK_CGROUP + bool "Block IO controller" + default y + help + Generic block IO controller cgroup interface. This is the common + cgroup interface which should be used by various IO controlling + policies. + + Currently, CFQ IO scheduler uses it to recognize task groups and + control disk bandwidth allocation (proportional time slice allocation) + to such task groups. It is also used by bio throttling logic in + block layer to implement upper limit in IO rates on a device. + + This option only enables generic Block IO controller infrastructure. + One needs to also enable actual IO controlling logic/policy. For + enabling proportional weight division of disk bandwidth in CFQ, set + CONFIG_CFQ_GROUP_IOSCHED=y; for enabling throttling policy, set + CONFIG_BLK_DEV_THROTTLING=y. + + config KERNEL_DEBUG_BLK_CGROUP + bool "Enable Block IO controller debugging" + default n + depends on KERNEL_BLK_CGROUP + help + Enable some debugging help. Currently it exports additional stat + files in a cgroup which can be useful for debugging. + + config KERNEL_NET_CLS_CGROUP + bool "Control Group Classifier" + default y + + config KERNEL_NETPRIO_CGROUP + bool "Network priority cgroup" + default y + +endif + +# +# Namespace support symbols +# + +config KERNEL_NAMESPACES + bool "Enable kernel namespaces" + default n + +if KERNEL_NAMESPACES + + config KERNEL_UTS_NS + bool "UTS namespace" + default y + help + In this namespace, tasks see different info provided + with the uname() system call. + + config KERNEL_IPC_NS + bool "IPC namespace" + default y + help + In this namespace, tasks work with IPC ids which correspond to + different IPC objects in different namespaces. + + config KERNEL_USER_NS + bool "User namespace (EXPERIMENTAL)" + default y + help + This allows containers, i.e. vservers, to use user namespaces + to provide different user info for different servers. + + config KERNEL_PID_NS + bool "PID Namespaces" + default y + help + Support process id namespaces. This allows having multiple + processes with the same pid as long as they are in different + pid namespaces. This is a building block of containers. + + config KERNEL_NET_NS + bool "Network namespace" + default y + help + Allow user space to create what appear to be multiple instances + of the network stack. + +endif + +# +# LXC related symbols +# + +config KERNEL_LXC_MISC + bool "Enable miscellaneous LXC related options" + default n + +if KERNEL_LXC_MISC + + config KERNEL_DEVPTS_MULTIPLE_INSTANCES + bool "Support multiple instances of devpts" + default y + help + Enable support for multiple instances of devpts filesystem. + If you want to have isolated PTY namespaces (eg: in containers), + say Y here. Otherwise, say N. If enabled, each mount of devpts + filesystem with the '-o newinstance' option will create an + independent PTY namespace. + + config KERNEL_POSIX_MQUEUE + bool "POSIX Message Queues" + default y + help + POSIX variant of message queues is a part of IPC. In POSIX message + queues every message has a priority which decides about succession + of receiving it by a process. If you want to compile and run + programs written e.g. for Solaris with use of its POSIX message + queues (functions mq_*) say Y here. + + POSIX message queues are visible as a filesystem called 'mqueue' + and can be mounted somewhere if you want to do filesystem + operations on message queues. + +endif + +config KERNEL_SECCOMP_FILTER + bool + default n + +config KERNEL_SECCOMP + bool "Enable seccomp support" + depends on !(TARGET_uml) + select KERNEL_SECCOMP_FILTER + default n + help + Build kernel with support for seccomp. + +# +# IPv6 configuration +# + +config KERNEL_IPV6 + def_bool IPV6 + +if KERNEL_IPV6 + + config KERNEL_IPV6_MULTIPLE_TABLES + def_bool y + + config KERNEL_IPV6_SUBTREES + def_bool y + + config KERNEL_IPV6_MROUTE + def_bool y + + config KERNEL_IPV6_PIMSM_V2 + def_bool n + + config KERNEL_XFRM_INTERFACE + def_bool n + +endif + +# +# NFS related symbols +# +config KERNEL_IP_PNP + bool "Compile the kernel with rootfs on NFS" + help + If you want to make your kernel boot off a NFS server as root + filesystem, select Y here. + +if KERNEL_IP_PNP + + config KERNEL_IP_PNP_DHCP + def_bool y + + config KERNEL_IP_PNP_BOOTP + def_bool n + + config KERNEL_IP_PNP_RARP + def_bool n + + config KERNEL_NFS_FS + def_bool y + + config KERNEL_NFS_V2 + def_bool y + + config KERNEL_NFS_V3 + def_bool y + + config KERNEL_ROOT_NFS + def_bool y + +endif diff --git a/config/Config-systeminit.in b/config/Config-systeminit.in new file mode 100644 index 0000000..a2723ab --- /dev/null +++ b/config/Config-systeminit.in @@ -0,0 +1,15 @@ +choice +prompt "System init" +default PROCD_INIT +help + "select the system of init type you wish to use" + +config SYSTEM_INIT_PROCD + bool "procd-init" + select PACKAGE_base-files + +config SYSTEM_INIT_BUSYBOX + bool "busybox-init" + select PACKAGE_busybox-init-base-files + +endchoice diff --git a/config/top_config.in b/config/top_config.in new file mode 100644 index 0000000..827ed84 --- /dev/null +++ b/config/top_config.in @@ -0,0 +1,37 @@ +# Copyright (C) 2006-2013 OpenWrt.org +# Copyright (C) 2016-2016 tracewong +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +mainmenu "Tina Configuration" + +config MODULES + option modules + bool + default y + +config HAVE_DOT_CONFIG + bool + default y + +source "target/Config.in" + +source "config/Config-images.in" + +source "config/Config-build.in" + +source "config/Config-systeminit.in" + +source "config/Config-devel.in" + +source "toolchain/Config.in" + +source "target/imagebuilder/Config.in" + +source "target/sdk/Config.in" + +source "target/toolchain/Config.in" + +source "tmp/.config-package.in" diff --git a/device/config/chips/f133/bin/boot0_nand_sun20iw1p1.bin b/device/config/chips/f133/bin/boot0_nand_sun20iw1p1.bin new file mode 100644 index 0000000..52a00da Binary files /dev/null and b/device/config/chips/f133/bin/boot0_nand_sun20iw1p1.bin differ diff --git a/device/config/chips/f133/bin/boot0_sdcard_sun20iw1p1.bin b/device/config/chips/f133/bin/boot0_sdcard_sun20iw1p1.bin new file mode 100644 index 0000000..02562cc Binary files /dev/null and b/device/config/chips/f133/bin/boot0_sdcard_sun20iw1p1.bin differ diff --git a/device/config/chips/f133/bin/boot0_spinor_sun20iw1p1.bin b/device/config/chips/f133/bin/boot0_spinor_sun20iw1p1.bin new file mode 100644 index 0000000..f60ca47 Binary files /dev/null and b/device/config/chips/f133/bin/boot0_spinor_sun20iw1p1.bin differ diff --git a/device/config/chips/f133/bin/dsp0.bin b/device/config/chips/f133/bin/dsp0.bin new file mode 100755 index 0000000..2c504bf Binary files /dev/null and b/device/config/chips/f133/bin/dsp0.bin differ diff --git a/device/config/chips/f133/bin/fes1_sun20iw1p1.bin b/device/config/chips/f133/bin/fes1_sun20iw1p1.bin new file mode 100644 index 0000000..79151bf Binary files /dev/null and b/device/config/chips/f133/bin/fes1_sun20iw1p1.bin differ diff --git a/device/config/chips/f133/bin/opensbi_sun20iw1p1.bin b/device/config/chips/f133/bin/opensbi_sun20iw1p1.bin new file mode 100755 index 0000000..57f992b Binary files /dev/null and b/device/config/chips/f133/bin/opensbi_sun20iw1p1.bin differ diff --git a/device/config/chips/f133/bin/sboot_sun20iw1p1.bin b/device/config/chips/f133/bin/sboot_sun20iw1p1.bin new file mode 100644 index 0000000..73c02e1 Binary files /dev/null and b/device/config/chips/f133/bin/sboot_sun20iw1p1.bin differ diff --git a/device/config/chips/f133/bin/u-boot-crashdump-sun20iw1p1.bin b/device/config/chips/f133/bin/u-boot-crashdump-sun20iw1p1.bin new file mode 100644 index 0000000..ce28bc3 Binary files /dev/null and b/device/config/chips/f133/bin/u-boot-crashdump-sun20iw1p1.bin differ diff --git a/device/config/chips/f133/bin/u-boot-spinor-sun20iw1p1.bin b/device/config/chips/f133/bin/u-boot-spinor-sun20iw1p1.bin new file mode 100644 index 0000000..ad9a975 Binary files /dev/null and b/device/config/chips/f133/bin/u-boot-spinor-sun20iw1p1.bin differ diff --git a/device/config/chips/f133/bin/u-boot-sun20iw1p1.bin b/device/config/chips/f133/bin/u-boot-sun20iw1p1.bin new file mode 100644 index 0000000..c9fd1fd Binary files /dev/null and b/device/config/chips/f133/bin/u-boot-sun20iw1p1.bin differ diff --git a/device/config/chips/f133/boot-resource/boot-resource.ini b/device/config/chips/f133/boot-resource/boot-resource.ini new file mode 100644 index 0000000..04d3fda --- /dev/null +++ b/device/config/chips/f133/boot-resource/boot-resource.ini @@ -0,0 +1,32 @@ + +[system] +ver=100 +date=2009-7-03 +ID=937ae0d0-50e3-43c2-9b84-bfef0cd21a41 + +[fsinfo] +disccnt=1 +disc0=c +;------------------------------------------------------------------------------------------------------------- +; +;------------------------------------------------------------------------------------------------------------- +[c] +;�ļ�ϵͳ�̷� +disc=c + +;�ļ�ϵͳ�������� +fsname=.\boot-resource.fex + +;�ļ�ϵͳ���� +format=fat16 + +;�ļ�ϵͳsize(k) +size=131072 + +;�ļ�ϵͳ���� +attr=0 + +;root location and counter define +rootcnt=1 +root0=.\boot-resource + diff --git a/device/config/chips/f133/boot-resource/boot-resource/bat/bat0.bmp b/device/config/chips/f133/boot-resource/boot-resource/bat/bat0.bmp new file mode 100644 index 0000000..2cfc573 Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/bat/bat0.bmp differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/bat/bat1.bmp b/device/config/chips/f133/boot-resource/boot-resource/bat/bat1.bmp new file mode 100644 index 0000000..216c489 Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/bat/bat1.bmp differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/bat/bat10.bmp b/device/config/chips/f133/boot-resource/boot-resource/bat/bat10.bmp new file mode 100644 index 0000000..417efdf Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/bat/bat10.bmp differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/bat/bat2.bmp b/device/config/chips/f133/boot-resource/boot-resource/bat/bat2.bmp new file mode 100644 index 0000000..33642c1 Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/bat/bat2.bmp differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/bat/bat3.bmp b/device/config/chips/f133/boot-resource/boot-resource/bat/bat3.bmp new file mode 100644 index 0000000..542e4b3 Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/bat/bat3.bmp differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/bat/bat4.bmp b/device/config/chips/f133/boot-resource/boot-resource/bat/bat4.bmp new file mode 100644 index 0000000..b3b87c2 Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/bat/bat4.bmp differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/bat/bat5.bmp b/device/config/chips/f133/boot-resource/boot-resource/bat/bat5.bmp new file mode 100644 index 0000000..9b7379a Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/bat/bat5.bmp differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/bat/bat6.bmp b/device/config/chips/f133/boot-resource/boot-resource/bat/bat6.bmp new file mode 100644 index 0000000..83a10e1 Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/bat/bat6.bmp differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/bat/bat7.bmp b/device/config/chips/f133/boot-resource/boot-resource/bat/bat7.bmp new file mode 100644 index 0000000..5615840 Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/bat/bat7.bmp differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/bat/bat8.bmp b/device/config/chips/f133/boot-resource/boot-resource/bat/bat8.bmp new file mode 100644 index 0000000..a13d6d6 Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/bat/bat8.bmp differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/bat/bat9.bmp b/device/config/chips/f133/boot-resource/boot-resource/bat/bat9.bmp new file mode 100644 index 0000000..8e90e20 Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/bat/bat9.bmp differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/bat/battery.bmp b/device/config/chips/f133/boot-resource/boot-resource/bat/battery.bmp new file mode 100644 index 0000000..ed17fba Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/bat/battery.bmp differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/bat/battery_charge.bmp b/device/config/chips/f133/boot-resource/boot-resource/bat/battery_charge.bmp new file mode 100644 index 0000000..8913393 Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/bat/battery_charge.bmp differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/bat/bempty.bmp b/device/config/chips/f133/boot-resource/boot-resource/bat/bempty.bmp new file mode 100644 index 0000000..91dd947 Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/bat/bempty.bmp differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/bat/bootlogo.bmp b/device/config/chips/f133/boot-resource/boot-resource/bat/bootlogo.bmp new file mode 100644 index 0000000..524345b Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/bat/bootlogo.bmp differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/bat/low_pwr.bmp b/device/config/chips/f133/boot-resource/boot-resource/bat/low_pwr.bmp new file mode 100644 index 0000000..aa808bf Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/bat/low_pwr.bmp differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/bootlogo.bmp b/device/config/chips/f133/boot-resource/boot-resource/bootlogo.bmp new file mode 100644 index 0000000..de8f0c2 Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/bootlogo.bmp differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/font24.sft b/device/config/chips/f133/boot-resource/boot-resource/font24.sft new file mode 100644 index 0000000..bf1ba18 Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/font24.sft differ diff --git a/device/config/chips/f133/boot-resource/boot-resource/font32.sft b/device/config/chips/f133/boot-resource/boot-resource/font32.sft new file mode 100644 index 0000000..c19f1f9 Binary files /dev/null and b/device/config/chips/f133/boot-resource/boot-resource/font32.sft differ diff --git a/device/config/chips/f133/configs/default/BoardConfig.mk b/device/config/chips/f133/configs/default/BoardConfig.mk new file mode 100644 index 0000000..aefa81e --- /dev/null +++ b/device/config/chips/f133/configs/default/BoardConfig.mk @@ -0,0 +1,14 @@ +LICHEE_CHIP:=sun20iw1p1 +LICHEE_PRODUCT:= +LICHEE_BOARD:= +LICHEE_FLASH:= +LICHEE_ARCH:=riscv +LICHEE_BRANDY_VER:=2.0 +LICHEE_BRANDY_DEFCONF:=sun20iw1p1_defconfig +LICHEE_KERN_VER:=5.4 +LICHEE_KERN_DEFCONF:=sun20iw1p1_defconfig +LICHEE_BUILDING_SYSTEM:=buildroot +LICHEE_BR_VER:=201902 +LICHEE_BR_DEFCONF:=sun20i_defconfig +LICHEE_COMPILER_TAR:=riscv64-glibc-gcc-thead_20200702.tar.xz +LICHEE_REDUNDANT_ENV_SIZE:=0x20000 diff --git a/device/config/chips/f133/configs/default/BoardConfig_nor.mk b/device/config/chips/f133/configs/default/BoardConfig_nor.mk new file mode 100644 index 0000000..b1c0457 --- /dev/null +++ b/device/config/chips/f133/configs/default/BoardConfig_nor.mk @@ -0,0 +1,15 @@ +LICHEE_CHIP:=sun20iw1p1 +LICHEE_PRODUCT:= +LICHEE_BOARD:= +LICHEE_ARCH:=riscv +LICHEE_FLASH:=nor +LICHEE_BRANDY_VER:=2.0 +LICHEE_BRANDY_DEFCONF:=sun20iw1p1_defconfig +LICHEE_KERN_VER:=5.4 +LICHEE_KERN_DEFCONF:=sun20iw1p1_defconfig +LICHEE_BUILDING_SYSTEM:= +LICHEE_BR_VER:= +LICHEE_BR_DEFCONF:=sun20i_defconfig +LICHEE_COMPILER_TAR:=riscv64-linux-x86_64-20200528.tar.xz +LICHEE_ROOTFS:=target_riscv.tar.bz2 +LICHEE_REDUNDANT_ENV_SIZE:=0x20000 diff --git a/device/config/chips/f133/configs/default/boot_package.cfg b/device/config/chips/f133/configs/default/boot_package.cfg new file mode 100644 index 0000000..beda70c --- /dev/null +++ b/device/config/chips/f133/configs/default/boot_package.cfg @@ -0,0 +1,9 @@ +[package] +;item=Item_TOC_name, Item_filename, +;item=scp, scp.fex +item=opensbi, opensbi.fex +item=u-boot, u-boot.fex +item=dtb, sunxi.fex +;item=logo, bootlogo.bmp.lzma +;item=shutdowncharge, bempty.bmp.lzma +;item=androidcharge, battery_charge.bmp.lzma diff --git a/device/config/chips/f133/configs/default/boot_package_nor.cfg b/device/config/chips/f133/configs/default/boot_package_nor.cfg new file mode 100755 index 0000000..19b6adf --- /dev/null +++ b/device/config/chips/f133/configs/default/boot_package_nor.cfg @@ -0,0 +1,9 @@ +[package] +;item=Item_TOC_name, Item_filename, +;item=scp, scp.fex +item=opensbi, opensbi.fex +item=u-boot, u-boot.fex +item=dtb, sunxi.fex +;item=logo, bootlogo.bmp.lzma +;item=shutdowncharge, bempty.bmp.lzma +;item=androidcharge, battery_charge.bmp.lzma diff --git a/device/config/chips/f133/configs/default/diskfs.fex b/device/config/chips/f133/configs/default/diskfs.fex new file mode 100644 index 0000000..a64a5a9 Binary files /dev/null and b/device/config/chips/f133/configs/default/diskfs.fex differ diff --git a/device/config/chips/f133/configs/default/dragon_toc.cfg b/device/config/chips/f133/configs/default/dragon_toc.cfg new file mode 100644 index 0000000..d95a12c --- /dev/null +++ b/device/config/chips/f133/configs/default/dragon_toc.cfg @@ -0,0 +1,29 @@ +;///////////////////////////////////////////////////////////////////////////// +;[key_ras] +;///////////////////////////////////////////////////////////////////////////// +[key_rsa] +key=Trustkey +key=NOTWORLD_KEY +key=PRIMARY_DEBUG_KEY +key=SCPFirmwareContentCertPK +key=SecondaryDebugCertPK +key=SoCFirmwareContentCert_KEY +key=TrustedFirmwareContentCertPK +key=TWORLD_KEY +key=NonTrustedFirmwareContentCertPK + + +[toc0] +;item=Item_TOC_name, Item_filename, Key_Name +item=toc0, sboot.bin, Trustkey + +[toc1] +;item=Item_TOC_name, Item_filename, Key_Name +rootkey=rootkey, rootkey.der, Trustkey +item=scp, scp.fex, SCPFirmwareContentCertPK +onlykey=boot, boot.fex, SCPFirmwareContentCertPK +item=u-boot, u-boot.fex, NonTrustedFirmwareContentCertPK +onlydata=soc-cfg, config.fex NULL +onlydata=dtb, sunxi.fex NULL +onlydata=board-cfg, board.fex NULL + diff --git a/device/config/chips/f133/configs/default/env.cfg b/device/config/chips/f133/configs/default/env.cfg new file mode 100755 index 0000000..56be691 --- /dev/null +++ b/device/config/chips/f133/configs/default/env.cfg @@ -0,0 +1,38 @@ + +#kernel command arguments +earlyprintk=sunxi-uart,0x02500000 +initcall_debug=0 +console=ttyS0,115200 +nand_root=/dev/ubiblock0_5 +mmc_root=/dev/mmcblk0p5 +nor_root=/dev/mtdblock5 +mtd_name=sys +rootfstype=squashfs +root_partition=rootfs +boot_partition=boot +init=/sbin/init +loglevel=8 +cma=0M +mac= +wifi_mac= +bt_mac= +specialstr= +keybox_list=widevine,ec_key,ec_cert1,ec_cert2,ec_cert3,rsa_key,rsa_cert1,rsa_cert2,rsa_cert3 +dsp0_partition=dsp0 +#set kernel cmdline if boot.img or recovery.img has no cmdline we will use this +setargs_nand=setenv bootargs ubi.mtd=${mtd_name} ubi.block=0,${root_partition} earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 +setargs_nand_ubi=setenv bootargs ubi.mtd=${mtd_name} ubi.block=0,${root_partition} earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 +setargs_mmc=setenv bootargs earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${mmc_root} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 +setargs_nor=setenv bootargs ubi.mtd=${mtd_name} ubi.block=0,${root_partition} earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nor_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 +#nand command syntax: sunxi_flash read address partition_name read_bytes +#0x4007f800 = 0x40080000(kernel entry) - 0x800(boot.img header 2k) +boot_dsp0=sunxi_flash read 45000000 ${dsp0_partition};bootr 45000000 0 0 +boot_normal=sunxi_flash read 41000000 ${boot_partition};bootm 41000000 +boot_recovery=sunxi_flash read 45000000 recovery;bootm 45000000 +boot_fastboot=fastboot + +#uboot system env config +bootdelay=1 +#default bootcmd, will change at runtime according to key press +#default nand boot +bootcmd=run setargs_nand boot_normal diff --git a/device/config/chips/f133/configs/default/env_burn.cfg b/device/config/chips/f133/configs/default/env_burn.cfg new file mode 100644 index 0000000..de40999 --- /dev/null +++ b/device/config/chips/f133/configs/default/env_burn.cfg @@ -0,0 +1,6 @@ +bootdelay=0 +bootcmd=run user_data_burn +user_data_burn=pburn 1 +#kernel command arguments +console=ttyS0,115200 + diff --git a/device/config/chips/f133/configs/default/image.cfg b/device/config/chips/f133/configs/default/image.cfg new file mode 100644 index 0000000..221b4ea --- /dev/null +++ b/device/config/chips/f133/configs/default/image.cfg @@ -0,0 +1,101 @@ +;/**************************************************************************/ +;2010-06-09 +;Sam +;image>�����ļ����� +;/**************************************************************************/ + +;��Ҫ���� 8�ֽ��ַ��� +[MAIN_TYPE] +ITEM_COMMON = "COMMON " +ITEM_INFO = "INFO " +ITEM_BOOTROM = "BOOTROM " +ITEM_FES = "FES " +ITEM_FET = "FET " +ITEM_FED = "FED " +ITEM_FEX = "FEX " +ITEM_BOOT = "BOOT " +ITEM_ROOTFSFAT12 = "RFSFAT12" +ITEM_ROOTFSFAT16 = "RFSFAT16" +ITEM_ROOTFSFAT32 = "FFSFAT32" +ITEM_USERFSFAT12 = "UFSFAT12" +ITEM_USERFSFAT16 = "UFSFAT16" +ITEM_USERFSFAT32 = "UFSFAT32" +ITEM_PHOENIX_SCRIPT = "PXSCRIPT" +ITEM_PHOENIX_TOOLS = "PXTOOLS " +ITEM_AUDIO_DSP = "AUDIODSP" +ITEM_VIDEO_DSP = "VIDEODSP" +ITEM_FONT = "FONT " +ITEM_FLASH_DRV = "FLASHDRV" +ITEM_OS_CORE = "OS_CORE " +ITEM_DRIVER = "DRIVER " +ITEM_PIC = "PICTURE " +ITEM_AUDIO = "AUDIO " +ITEM_VIDEO = "VIDEO " +ITEM_APPLICATION = "APP " + +;�����͸�ʽ�����ο����������ⶨ�壬��󳤶ȱ���Ϊ16�ֽ� +[SUB_TYPE] +SUBTYPEdemo1 = "071228HWSXXXX100" +;-->071228 2007-12-28 +;-->HWS hardware scan +;-->XXXX �û����� +;-->100 version 1.00 + +;·������ +[DIR_DEF] +INPUT_DIR = "..\\" + +;�ļ��б� +[FILELIST] +;----------------------------------------------------maintype��subtype���ɸı�----------------------------------------------; + ;-------------------------------��������---------------------------------------; + + ;-->�̶������ + {filename = "sys_config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG100000",}, + {filename = "config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG_BIN00",}, + {filename = "split_xxxx.fex", maintype = ITEM_COMMON, subtype = "SPLIT_0000000000",}, + {filename = "sys_partition.fex",maintype = ITEM_COMMON, subtype = "SYS_CONFIG000000",}, + {filename = "sunxi.fex", maintype = ITEM_COMMON, subtype = "DTB_CONFIG000000",}, + + ;-->boot�ļ� + {filename = "boot0_nand.fex", maintype = ITEM_BOOT, subtype = "BOOT0_0000000000",}, + {filename = "boot0_sdcard.fex", maintype = "12345678", subtype = "1234567890BOOT_0",}, + {filename = "u-boot.fex", maintype = "12345678", subtype = "UBOOT_0000000000",}, + {filename = "toc1.fex", maintype = "12345678", subtype = "TOC1_00000000000",}, + {filename = "toc0.fex", maintype = "12345678", subtype = "TOC0_00000000000",}, + {filename = "fes1.fex", maintype = ITEM_FES, subtype = "FES_1-0000000000",}, + {filename = "boot_package.fex", maintype = "12345678", subtype = "BOOTPKG-00000000",}, + + ;-------------------------------usb��������-------------------------------------; + ;-->tools�ļ� + {filename = "usbtool.fex", maintype = "PXTOOLSB", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultools.fex", maintype = "UPFLYTLS", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultls32.fex", maintype = "UPFLTL32", subtype = "xxxxxxxxxxxxxxxx",}, + + ;-------------------------------����������----------------------------------------; + ;-->�̶������PCʹ�� + {filename = "cardtool.fex", maintype = "12345678", subtype = "1234567890cardtl",}, + {filename = "cardscript.fex", maintype = "12345678", subtype = "1234567890script",}, + + ;-->��Ҫ��д�����ϵ��ļ� + {filename = "sunxi_mbr.fex", maintype = "12345678", subtype = "1234567890___MBR",}, + {filename = "dlinfo.fex", maintype = "12345678", subtype = "1234567890DLINFO",}, + {filename = "arisc.fex", maintype = "12345678", subtype = "1234567890ARISC" ,}, + ;-------------------------------����----------------------------------------------; + +;-------------------------------------------maintype��subtype���ɸı�-------------------------------------------------------; + +;����������Ϣ +[IMAGE_CFG] +version = 0x100234 ;-->Image�İ汾 +pid = 0x00001234 ;-->��ƷID +vid = 0x00008743 ;-->��Ӧ��ID +hardwareid = 0x100 ;-->Ӳ��ID bootrom +firmwareid = 0x100 ;-->�̼�ID bootrom +bootromconfig = "bootrom_071203_00001234.cfg" +rootfsconfig = "rootfs.cfg" +;;imagename = "ePDKv100_nand.img" +filelist = FILELIST +imagename = ..\sun4i_test_evb.img +encrypt = 0 ;-->�������Ҫ���ܽ���������Ϊ0 ����������Ϊ1 + diff --git a/device/config/chips/f133/configs/default/image_linux.cfg b/device/config/chips/f133/configs/default/image_linux.cfg new file mode 100644 index 0000000..ec9d73f --- /dev/null +++ b/device/config/chips/f133/configs/default/image_linux.cfg @@ -0,0 +1,108 @@ +;/**************************************************************************/ +;2010-06-09 +;Sam +;image>é…置文件内容 +;/**************************************************************************/ + +;主è¦ç±»åž‹ 8字节字符串 +[MAIN_TYPE] +ITEM_COMMON = "COMMON " +ITEM_INFO = "INFO " +ITEM_BOOTROM = "BOOTROM " +ITEM_FES = "FES " +ITEM_FET = "FET " +ITEM_FED = "FED " +ITEM_FEX = "FEX " +ITEM_BOOT = "BOOT " +ITEM_ROOTFSFAT12 = "RFSFAT12" +ITEM_ROOTFSFAT16 = "RFSFAT16" +ITEM_ROOTFSFAT32 = "FFSFAT32" +ITEM_USERFSFAT12 = "UFSFAT12" +ITEM_USERFSFAT16 = "UFSFAT16" +ITEM_USERFSFAT32 = "UFSFAT32" +ITEM_PHOENIX_SCRIPT = "PXSCRIPT" +ITEM_PHOENIX_TOOLS = "PXTOOLS " +ITEM_AUDIO_DSP = "AUDIODSP" +ITEM_VIDEO_DSP = "VIDEODSP" +ITEM_FONT = "FONT " +ITEM_FLASH_DRV = "FLASHDRV" +ITEM_OS_CORE = "OS_CORE " +ITEM_DRIVER = "DRIVER " +ITEM_PIC = "PICTURE " +ITEM_AUDIO = "AUDIO " +ITEM_VIDEO = "VIDEO " +ITEM_APPLICATION = "APP " + +;å­ç±»åž‹æ ¼å¼ï¼Œä¾›å‚考,å¯ä»¥å¦å¤–定义,最大长度必须为16字节 +[SUB_TYPE] +SUBTYPEdemo1 = "071228HWSXXXX100" +;-->071228 2007-12-28 +;-->HWS hardware scan +;-->XXXX 用户定义 +;-->100 version 1.00 + +;路径定义 +[DIR_DEF] +INPUT_DIR = "..\\" + +;文件列表 +[FILELIST] +;----------------------------------------------------maintype与subtypeä¸å¯æ”¹å˜----------------------------------------------; + ;-------------------------------公共部分---------------------------------------; + + ;-->固定ä¸å˜çš„ + {filename = "sys_config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG100000",}, + {filename = "config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG_BIN00",}, + {filename = "board.fex", maintype = ITEM_COMMON, subtype = "BOARD_CONFIG_BIN",}, + {filename = "split_xxxx.fex", maintype = ITEM_COMMON, subtype = "SPLIT_0000000000",}, + {filename = "sys_partition.fex",maintype = ITEM_COMMON, subtype = "SYS_CONFIG000000",}, + {filename = "sunxi.fex", maintype = ITEM_COMMON, subtype = "DTB_CONFIG000000",}, + + ;-->boot文件 + {filename = "boot0_nand.fex", maintype = ITEM_BOOT, subtype = "BOOT0_0000000000",}, + {filename = "boot0_sdcard.fex", maintype = "12345678", subtype = "1234567890BOOT_0",}, + {filename = "u-boot.fex", maintype = "12345678", subtype = "UBOOT_0000000000",}, + {filename = "u-boot-crash.fex", maintype = "12345678", subtype = "UBOOT_CRASH_0000",}, + {filename = "toc1.fex", maintype = "12345678", subtype = "TOC1_00000000000",}, + {filename = "toc0.fex", maintype = "12345678", subtype = "TOC0_00000000000",}, + {filename = "fes1.fex", maintype = ITEM_FES, subtype = "FES_1-0000000000",}, + {filename = "boot_package.fex", maintype = "12345678", subtype = "BOOTPKG-00000000",}, + + ;-------------------------------usbé‡äº§éƒ¨åˆ†-------------------------------------; + ;-->tools文件 + {filename = "usbtool.fex", maintype = "PXTOOLSB", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "usbtool_crash.fex",maintype = "PXTOOLCH", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultools.fex", maintype = "UPFLYTLS", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultls32.fex", maintype = "UPFLTL32", subtype = "xxxxxxxxxxxxxxxx",}, + + + ;-------------------------------å¡é‡äº§éƒ¨åˆ†----------------------------------------; + ;-->固定ä¸å˜çš„PC使用 + {filename = "cardtool.fex", maintype = "12345678", subtype = "1234567890cardtl",}, + {filename = "cardscript.fex", maintype = "12345678", subtype = "1234567890script",}, + + ;-->需è¦çƒ§å†™åˆ°å¡ä¸Šçš„文件 + {filename = "sunxi_gpt.fex", maintype = "12345678", subtype = "1234567890___GPT",}, + {filename = "sunxi_mbr.fex", maintype = "12345678", subtype = "1234567890___MBR",}, + {filename = "dlinfo.fex", maintype = "12345678", subtype = "1234567890DLINFO",}, + {filename = "arisc.fex", maintype = "12345678", subtype = "1234567890ARISC" ,}, + + ;-------------------------------其他----------------------------------------------; + {filename = "vmlinux.fex", maintype = "12345678", subtype = "123456789VMLINUX",}, + +;-------------------------------------------maintype与subtypeä¸å¯æ”¹å˜-------------------------------------------------------; + +;é•œåƒé…ç½®ä¿¡æ¯ +[IMAGE_CFG] +version = 0x100234 ;-->Image的版本 +pid = 0x00001234 ;-->产å“ID +vid = 0x00008743 ;-->供应商ID +hardwareid = 0x100 ;-->硬件ID bootrom +firmwareid = 0x100 ;-->固件ID bootrom +bootromconfig = "bootrom_071203_00001234.cfg" +rootfsconfig = "rootfs.cfg" +;;imagename = "ePDKv100_nand.img" +filelist = FILELIST +imagename = ..\sun4i_test_evb.img +encrypt = 0 ;-->如果ä¸éœ€è¦åŠ å¯†å°†æ­¤é¡¹è®¾ç½®ä¸º0 ,å¦åˆ™è®¾ç½®ä¸º1 + diff --git a/device/config/chips/f133/configs/default/image_nor.cfg b/device/config/chips/f133/configs/default/image_nor.cfg new file mode 100644 index 0000000..7cb9aa2 --- /dev/null +++ b/device/config/chips/f133/configs/default/image_nor.cfg @@ -0,0 +1,95 @@ +;/**************************************************************************/ +;2010-06-09 +;Sam +;image +;/**************************************************************************/ + + +[MAIN_TYPE] +ITEM_COMMON = "COMMON " +ITEM_INFO = "INFO " +ITEM_BOOTROM = "BOOTROM " +ITEM_FES = "FES " +ITEM_FET = "FET " +ITEM_FED = "FED " +ITEM_FEX = "FEX " +ITEM_BOOT = "BOOT " +ITEM_ROOTFSFAT12 = "RFSFAT12" +ITEM_ROOTFSFAT16 = "RFSFAT16" +ITEM_ROOTFSFAT32 = "FFSFAT32" +ITEM_USERFSFAT12 = "UFSFAT12" +ITEM_USERFSFAT16 = "UFSFAT16" +ITEM_USERFSFAT32 = "UFSFAT32" +ITEM_PHOENIX_SCRIPT = "PXSCRIPT" +ITEM_PHOENIX_TOOLS = "PXTOOLS " +ITEM_AUDIO_DSP = "AUDIODSP" +ITEM_VIDEO_DSP = "VIDEODSP" +ITEM_FONT = "FONT " +ITEM_FLASH_DRV = "FLASHDRV" +ITEM_OS_CORE = "OS_CORE " +ITEM_DRIVER = "DRIVER " +ITEM_PIC = "PICTURE " +ITEM_AUDIO = "AUDIO " +ITEM_VIDEO = "VIDEO " +ITEM_APPLICATION = "APP " + +[SUB_TYPE] +SUBTYPEdemo1 = "071228HWSXXXX100" +;-->071228 2007-12-28 +;-->HWS hardware scan +;-->100 version 1.00 + + +[DIR_DEF] +INPUT_DIR = "..\\" + +[FILELIST] + ;-->constant + {filename = "sys_config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG100000",}, + {filename = "config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG_BIN00",}, + {filename = "split_xxxx.fex", maintype = ITEM_COMMON, subtype = "SPLIT_0000000000",}, + {filename = "sys_partition.fex",maintype = ITEM_COMMON, subtype = "SYS_CONFIG000000",}, + {filename = "sunxi.fex", maintype = ITEM_COMMON, subtype = "DTB_CONFIG000000",}, + + ;-->boot files + {filename = "boot0_sdcard.fex", maintype = "12345678", subtype = "1234567890BOOT_0",}, + {filename = "boot0_spinor.fex", maintype = "12345678", subtype = "1234567890BNOR_0",}, + {filename = "u-boot.fex", maintype = "12345678", subtype = "UBOOT_0000000000",}, + {filename = "u-boot-crash.fex", maintype = "12345678", subtype = "UBOOT_CRASH_0000",}, + {filename = "toc1.fex", maintype = "12345678", subtype = "TOC1_00000000000",}, + {filename = "toc0.fex", maintype = "12345678", subtype = "TOC0_00000000000",}, + {filename = "fes1.fex", maintype = ITEM_FES, subtype = "FES_1-0000000000",}, + {filename = "boot_package.fex", maintype = "12345678", subtype = "BOOTPKG-00000000",}, + {filename = "boot_package_nor.fex", maintype = "12345678", subtype = "BOOTPKG-NOR00000",}, + ;-------------------------------usb download part-------------------------------------; + ;-->usb tools + {filename = "usbtool.fex", maintype = "PXTOOLSB", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "usbtool_crash.fex",maintype = "PXTOOLCH", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultools.fex", maintype = "UPFLYTLS", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultls32.fex", maintype = "UPFLTL32", subtype = "xxxxxxxxxxxxxxxx",}, + + ;-------------------------------card download part----------------------------------------; + ;-->card tools + {filename = "cardtool.fex", maintype = "12345678", subtype = "1234567890cardtl",}, + {filename = "cardscript.fex", maintype = "12345678", subtype = "1234567890script",}, + + ;-->other + {filename = "sunxi_gpt.fex", maintype = "12345678", subtype = "1234567890___GPT",}, + {filename = "sunxi_mbr_nor.fex", maintype = "12345678", subtype = "1234567890___MBR",}, + {filename = "dlinfo.fex", maintype = "12345678", subtype = "1234567890DLINFO",}, + {filename = "arisc.fex", maintype = "12345678", subtype = "1234567890ARISC" ,}, + + +[IMAGE_CFG] +version = 0x100234 +pid = 0x00001234 +vid = 0x00008743 +hardwareid = 0x100 +firmwareid = 0x100 +bootromconfig = "bootrom_071203_00001234.cfg" +rootfsconfig = "rootfs.cfg" +;;imagename = "ePDKv100_nand.img" +filelist = FILELIST +imagename = ..\sun4i_test_evb.img +encrypt = 0 + diff --git a/device/config/chips/f133/configs/default/overlay.fex b/device/config/chips/f133/configs/default/overlay.fex new file mode 100644 index 0000000..bdd6c8b Binary files /dev/null and b/device/config/chips/f133/configs/default/overlay.fex differ diff --git a/device/config/chips/f133/configs/default/sys_partition.fex b/device/config/chips/f133/configs/default/sys_partition.fex new file mode 100644 index 0000000..03ae910 --- /dev/null +++ b/device/config/chips/f133/configs/default/sys_partition.fex @@ -0,0 +1,68 @@ +;--------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大å°å†™ï¼Œç”¨æˆ·å¯ä»¥ä¿®æ”¹"="åŽé¢çš„数值,但是ä¸è¦ä¿®æ”¹å‰é¢çš„字符串 +;--------------------------------------------------------------------------------------------------- + + +;--------------------------------------------------------------------------------------------------- +; 固件下载å‚æ•°é…ç½® +;--------------------------------------------------------------------------------------------------- +;*************************************************************************************************** +; mbr的大å°, 以Kbyte为å•ä½ +;*************************************************************************************************** +[mbr] +size = 16384 + +;*************************************************************************************************** +; 分区é…ç½® +; +; +; partition 定义范例: +; [partition] ; //表示是一个分区 +; name = USERFS2 ; //分区å称 +; size = 16384 ; //åˆ†åŒºå¤§å° å•ä½: 扇区.分区表示个数最多2^31 * 512 = 2T +; downloadfile = "123.fex" ; //下载文件的路径和å称,å¯ä»¥ä½¿ç”¨ç›¸å¯¹è·¯å¾„,相对是指相对于image.cfg文件所在分区。也å¯ä»¥ä½¿ç”¨ç»å¯¹è·¯å¾„ +; keydata = 1 ; //ç§æœ‰æ•°æ®åˆ†åŒºï¼Œé‡æ–°é‡äº§æ•°æ®å°†ä¸ä¸¢å¤± +; encrypt = 1 ; //采用加密方å¼çƒ§å½•ï¼Œå°†æ供数æ®åŠ å¯†ï¼Œä½†æŸå¤±çƒ§å½•é€Ÿåº¦ +; = ? ; //ç§æœ‰ç”¨æ³• +; verify = 1 ; //è¦æ±‚é‡äº§å®ŒæˆåŽæ ¡éªŒæ˜¯å¦æ­£ç¡® +; +; 注:1ã€name唯一, ä¸å…许åŒå +; 2ã€name最大12个字符 +; 3ã€size = 0, 将创建一个无大å°çš„空分区 +; 4ã€ä¸ºäº†å®‰å…¨å’Œæ•ˆçŽ‡è€ƒè™‘,分区大å°æœ€å¥½ä¿è¯ä¸ºleb_sizeçš„æ•´æ•°å€ +; (leb_size = super_block_size - 2 * single_page_size) +;*************************************************************************************************** +[partition_start] + +[partition] + name = boot-resource + size = 12600 + downloadfile = "boot-resource.fex" + user_type = 0x8000 + +[partition] + name = env + size = 16632 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = env-redund + size = 2048 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = boot + size = 33264 + downloadfile = "boot.fex" + user_type = 0x8000 + +[partition] + name = rootfs + size = 1048576 + downloadfile = "rootfs.fex" + user_type = 0x8000 + + + diff --git a/device/config/chips/f133/configs/default/sys_partition_nor.fex b/device/config/chips/f133/configs/default/sys_partition_nor.fex new file mode 100644 index 0000000..2c2991c --- /dev/null +++ b/device/config/chips/f133/configs/default/sys_partition_nor.fex @@ -0,0 +1,67 @@ +;--------------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大å°å†™ï¼Œç”¨æˆ·å¯ä»¥ä¿®æ”¹"="åŽé¢çš„数值,但是ä¸è¦ä¿®æ”¹å‰é¢çš„字符串 +;--------------------------------------------------------------------------------------------------------- + + +;-------------------------------------------------------------------------------------------------- +; 固件下载å‚æ•°é…ç½® +;-------------------------------------------------------------------------------------------------- +;**************************************************** +; mbr的大å°, 以Kbyte为å•ä½ +;**************************************************** +[mbr] +size = 16 + +;******************************************************************************************************** +; 分区é…ç½® +; +; +; partition 定义范例: +; [partition] ; //表示是一个分区 +; name = USERFS2 ; //分区å称 +; size = 16384 ; //åˆ†åŒºå¤§å° å•ä½: 扇区.分区表示个数最多2^31 * 512 = 2T +; downloadfile = "123.fex" ; //下载文件的路径和å称,å¯ä»¥ä½¿ç”¨ç›¸å¯¹è·¯å¾„,相对是指相对于image.cfg文件所在分区。也å¯ä»¥ä½¿ç”¨ç»å¯¹è·¯å¾„ +; keydata = 1 ; //ç§æœ‰æ•°æ®åˆ†åŒºï¼Œé‡æ–°é‡äº§æ•°æ®å°†ä¸ä¸¢å¤± +; encrypt = 1 ; //采用加密方å¼çƒ§å½•ï¼Œå°†æ供数æ®åŠ å¯†ï¼Œä½†æŸå¤±çƒ§å½•é€Ÿåº¦ +; user_type = ? ; //ç§æœ‰ç”¨æ³• +; verify = 1 ; //è¦æ±‚é‡äº§å®ŒæˆåŽæ ¡éªŒæ˜¯å¦æ­£ç¡® +; +; 注:1ã€name唯一, ä¸å…许åŒå +; 2ã€name最大12个字符 +; 3ã€size = 0, 将创建一个无大å°çš„空分区 +; 4ã€ä¸ºäº†å®‰å…¨å’Œæ•ˆçŽ‡è€ƒè™‘,分区大å°æœ€å¥½ä¿è¯ä¸º16Må­—èŠ‚çš„æ•´æ•°å€ +;******************************************************************************************************** +[partition_start] + +[partition] + name = boot-resource + size = 1024 + downloadfile = "boot-resource.fex" + user_type = 0x8000 + +[partition] + name = env + size = 512 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = env-redund + size = 512 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = boot + size = 12288 + downloadfile = "boot.fex" + user_type = 0x8000 + +[partition] + name = rootfs + size = 8192 + downloadfile = "rootfs.fex" + user_type = 0x8000 + + + diff --git a/device/config/chips/f133/configs/evb1/BoardConfig.mk b/device/config/chips/f133/configs/evb1/BoardConfig.mk new file mode 100644 index 0000000..ce4382e --- /dev/null +++ b/device/config/chips/f133/configs/evb1/BoardConfig.mk @@ -0,0 +1,14 @@ +LICHEE_CHIP:=sun20iw1p1 +LICHEE_PRODUCT:= +LICHEE_BOARD:= +LICHEE_FLASH:= +LICHEE_ARCH:=riscv +LICHEE_BRANDY_VER:=2.0 +LICHEE_BRANDY_DEFCONF:=sun20iw1p1_defconfig +LICHEE_KERN_VER:=5.4 +LICHEE_KERN_DEFCONF:=sun20iw1p1_nodvfs_defconfig +LICHEE_BUILDING_SYSTEM:=buildroot +LICHEE_BR_VER:=201902 +LICHEE_BR_DEFCONF:=sun20i_defconfig +LICHEE_COMPILER_TAR:=riscv64-glibc-gcc-thead_20200702.tar.xz +LICHEE_REDUNDANT_ENV_SIZE:=0x20000 diff --git a/device/config/chips/f133/configs/evb1/board.dts b/device/config/chips/f133/configs/evb1/board.dts new file mode 120000 index 0000000..a205733 --- /dev/null +++ b/device/config/chips/f133/configs/evb1/board.dts @@ -0,0 +1 @@ +linux-5.4/board.dts \ No newline at end of file diff --git a/device/config/chips/f133/configs/evb1/linux b/device/config/chips/f133/configs/evb1/linux new file mode 120000 index 0000000..cfb20a2 --- /dev/null +++ b/device/config/chips/f133/configs/evb1/linux @@ -0,0 +1 @@ +linux-5.4 \ No newline at end of file diff --git a/device/config/chips/f133/configs/evb1/linux-5.4/board.dts b/device/config/chips/f133/configs/evb1/linux-5.4/board.dts new file mode 100755 index 0000000..ba32fb9 --- /dev/null +++ b/device/config/chips/f133/configs/evb1/linux-5.4/board.dts @@ -0,0 +1,1436 @@ +/* + * Allwinner Technology CO., Ltd. sun20iw1p1 fpga. + * + * fpga support. + */ + +/dts-v1/; + +#include "sun20iw1p1.dtsi" + +/{ + compatible = "allwinner,d1", "arm,sun20iw1p1", "allwinner,sun20iw1p1"; + + aliases { + dsp0 = &dsp0; + dsp0_gpio_int= &dsp0_gpio_int; + }; + + dsp0: dsp0 { + compatible = "allwinner,sun20iw1-dsp"; + status = "disabled"; + }; + + dsp0_gpio_int: dsp0_gpio_int { + compatible = "allwinner,sun20iw1-dsp-gpio-int"; + pin-group = "PB", "PC", "PD", "PE"; + status = "disabled"; + }; + + reg_vdd_cpu: vdd-cpu { + compatible = "sunxi-pwm-regulator"; + pwms = <&pwm 0 5000 1>; + regulator-name = "vdd_cpu"; + regulator-min-microvolt = <810000>; + regulator-max-microvolt = <1160000>; + regulator-ramp-delay = <25>; + regulator-always-on; + regulator-boot-on; + status = "okay"; + }; + + reg_usb1_vbus: usb1-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb1-vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-enable-ramp-delay = <1000>; + gpio = <&pio PB 3 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&CPU0 { + cpu-supply = <®_vdd_cpu>; +}; + +&pio { + sdc0_pins_a: sdc0@0 { + allwinner,pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + allwinner,function = "sdc0"; + allwinner,muxsel = <2>; + allwinner,drive = <3>; + allwinner,pull = <1>; + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "sdc0"; + drive-strength = <30>; + bias-pull-up; + power-source = <3300>; + }; + + + sdc0_pins_b: sdc0@1 { + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "sdc0"; + drive-strength = <30>; + bias-pull-up; + power-source = <1800>; + }; + + sdc0_pins_c: sdc0@2 { + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "gpio_in"; + }; + + /* TODO: add jtag pin */ + sdc0_pins_d: sdc0@3 { + pins = "PF2", "PF4"; + function = "uart0"; + drive-strength = <10>; + bias-pull-up; + }; + + sdc0_pins_e: sdc0@4 { + pins = "PF0", "PF1", "PF3", + "PF5"; + function = "jtag"; + drive-strength = <10>; + bias-pull-up; + }; + + + sdc1_pins_a: sdc1@0 { + pins = "PG0", "PG1", "PG2", + "PG3", "PG4", "PG5"; + function = "sdc1"; + drive-strength = <30>; + bias-pull-up; + }; + + sdc1_pins_b: sdc1@1 { + pins = "PG0", "PG1", "PG2", + "PG3", "PG4", "PG5"; + function = "gpio_in"; + }; + + sdc2_pins_a: sdc2@0 { + allwinner,pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + allwinner,function = "sdc2"; + allwinner,muxsel = <3>; + allwinner,drive = <3>; + allwinner,pull = <1>; + pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + function = "sdc2"; + drive-strength = <30>; + bias-pull-up; + }; + + sdc2_pins_b: sdc2@1 { + pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + function = "gpio_in"; + }; + + wlan_pins_a:wlan@0 { + pins = "PG11"; + function = "clk_fanout1"; + }; + + uart0_pins_a: uart0_pins@0 { /* For EVB1 board */ + pins = "PF2", "PF4"; + function = "uart0"; + drive-strength = <10>; + bias-pull-up; + }; + + uart0_pins_b: uart0_pins@1 { /* For EVB1 board */ + pins = "PF2", "PF4"; + function = "gpio_in"; + }; + + uart1_pins_a: uart1_pins@0 { /* For EVB1 board */ + pins = "PG6", "PG7", "PG8", "PG9"; + function = "uart1"; + drive-strength = <10>; + bias-pull-up; + }; + + uart1_pins_b: uart1_pins { /* For EVB1 board */ + pins = "PG6", "PG7", "PG8", "PG9"; + function = "gpio_in"; + }; + + uart2_pins_a: uart2_pins@0 { /* For EVB1 board */ + pins = "PC0", "PC1"; + function = "uart2"; + drive-strength = <10>; + bias-pull-up; + }; + + uart2_pins_b: uart2_pins@1 { /* For EVB1 board */ + pins = "PC0", "PC1"; + function = "gpio_in"; + }; + + uart3_pins_a: uart3_pins@0 { /* For EVB1 board */ + pins = "PD10", "PD11"; + function = "uart3"; + muxsel = <5>; + drive-strength = <10>; + bias-pull-up; + }; + + twi0_pins_a: twi0@0 { + pins = "PB10", "PB11"; /*sck sda*/ + function = "twi0"; + drive-strength = <10>; + }; + + twi0_pins_b: twi0@1 { + pins = "PB10", "PB11"; + function = "gpio_in"; + }; + + twi1_pins_a: twi1@0 { + pins = "PB4", "PB5"; + function = "twi1"; + drive-strength = <10>; + }; + + twi1_pins_b: twi1@1 { + pins = "PB4", "PB5"; + function = "gpio_in"; + }; + + twi2_pins_a: twi2@0 { + pins = "PE12", "PE13"; + function = "twi2"; + drive-strength = <10>; + }; + + twi2_pins_b: twi2@1 { + pins = "PE12", "PE13"; + function = "gpio_in"; + }; + + twi3_pins_a: twi3@0 { + pins = "PE6", "PE7"; + function = "twi3"; + drive-strength = <10>; + }; + + twi3_pins_b: twi3@1 { + pins = "PE6", "PE7"; + function = "gpio_in"; + }; + + gmac_pins_a: gmac@0 { + pins = "PE0", "PE1", "PE2", "PE3", + "PE4", "PE5", "PE6", "PE7", + "PE8", "PE9", "PE10", "PE11", + "PE12", "PE13", "PE14", "PE15"; + function = "gmac0"; + drive-strength = <10>; + }; + + gmac_pins_b: gmac@1 { + pins = "PE0", "PE1", "PE2", "PE3", + "PE4", "PE5", "PE6", "PE7", + "PE8", "PE9", "PE10", "PE11", + "PE12", "PE13", "PE14", "PE15"; + function = "gpio_in"; + }; + + dmic_pins_a: dmic@0 { + /* DMIC_PIN: CLK, DATA0, DATA1, DATA2, DATA3*/ + pins = "PB12", "PB11", "PB10", "PE14", "PB8"; + function = "dmic"; + drive-strength = <20>; + bias-disable; + }; + + dmic_pins_b: dmic@1 { + pins = "PB12", "PB11", "PB10", "PE14", "PB8"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + daudio0_pins_a: daudio0@0 { + pins = "PE17", "PE16", "PE15", "PE14", "PE13"; + function = "i2s0"; + drive-strength = <20>; + bias-disable; + }; + + daudio0_pins_b: daudio0_sleep@0 { + pins = "PE17", "PE16", "PE15", "PE14", "PE13"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + daudio1_pins_a: daudio1@0 { + pins = "PG11", "PG12", "PG13", "PG14", "PG15"; + function = "i2s1"; + drive-strength = <20>; + bias-disable; + }; + + daudio1_pins_b: daudio1_sleep@0 { + pins = "PG11", "PG12", "PG13", "PG14", "PG15"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + daudio2_pins_a: daudio2@0 { + /* I2S_PIN: MCLK, BCLK, LRCK */ + pins = "PF6", "PF3", "PF5"; + function = "i2s2"; + drive-strength = <20>; + bias-disable; + }; + + daudio2_pins_b: daudio2@1 { + /* I2S_PIN: DOUT0 */ + pins = "PF1"; + function = "i2s2_dout"; + drive-strength = <20>; + bias-disable; + }; + + daudio2_pins_c: daudio2@2 { + /* I2S_PIN: DIN0 */ + pins = "PF0"; + function = "i2s2_din"; + drive-strength = <20>; + bias-disable; + }; + + daudio2_pins_d: daudio2_sleep@0 { + pins = "PF6", "PF3", "PF5", "PF1", "PF0"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + spdif_pins_a: spdif@0 { + /* SPDIF_PIN: SPDIF_OUT */ + pins = "PG18"; + function = "spdif"; + drive-strength = <20>; + bias-disable; + }; + + spdif_pins_b: spdif_sleep@0 { + pins = "PG18"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + spi0_pins_a: spi0@0 { + pins = "PC2", "PC4", "PC5"; /* clk, mosi, miso */ + function = "spi0"; + muxsel = <2>; + drive-strength = <20>; + }; + + spi0_pins_b: spi0@1 { + pins = "PC3", "PC7", "PC6"; + function = "spi0"; + muxsel = <2>; + drive-strength = <20>; + bias-pull-up; /* cs, hold, wp should be pulled up */ + }; + + spi0_pins_c: spi0@2 { + pins = "PC2", "PC3", "PC4", "PC5","PC6", "PC7"; + function = "gpio_in"; + muxsel = <0>; + drive-strength = <10>; + }; + + spi1_pins_a: spi1@0 { + pins = "PD11", "PD12", "PD13"; /* clk, mosi, miso */ + function = "spi1"; + drive-strength = <10>; + }; + + spi1_pins_b: spi1@1 { + pins = "PD10", "PD14", "PD15"; + function = "spi1"; + drive-strength = <10>; + bias-pull-up; /* cs, hold, wp should be pulled up */ + }; + + spi1_pins_c: spi1@2 { + pins = "PD10", "PD11", "PD12", "PD13","PD14", "PD15"; + function = "gpio_in"; + drive-strength = <10>; + }; + + ledc_pins_a: ledc@0 { + pins = "PC0"; + function = "ledc"; + drive-strength = <10>; + }; + + ledc_pins_b: ledc@1 { + pins = "PC0"; + function = "gpio_in"; + }; + + pwm0_pin_a: pwm0@0 { + pins = "PD16"; + function = "pwm0"; + drive-strength = <10>; + bias-pull-up; + }; + + pwm0_pin_b: pwm0@1 { + pins = "PD16"; + function = "gpio_in"; + bias-disable; + }; + + pwm2_pin_a: pwm2@0 { + pins = "PD18"; + function = "pwm2"; + drive-strength = <10>; + bias-pull-up; + }; + + pwm2_pin_b: pwm2@1 { + pins = "PD18"; + function = "gpio_out"; + }; + + pwm7_pin_a: pwm7@0 { + pins = "PD22"; + function = "pwm7"; + drive-strength = <10>; + bias-pull-up; + }; + + pwm7_pin_b: pwm7@1 { + pins = "PD22"; + function = "gpio_in"; + }; + + + s_cir0_pins_a: s_cir@0 { + pins = "PB7"; + function = "ir"; + drive-strength = <10>; + bias-pull-up; + }; + + s_cir0_pins_b: s_cir@1 { + pins = "PB7"; + function = "gpio_in"; + }; + + ir1_pins_a: ir1@0 { + pins = "PB0"; + function = "ir"; + drive-strength = <10>; + bias-pull-up; + }; + + ir1_pins_b: ir1@1 { + pins = "PB0"; + function = "gpio_in"; + }; +}; + +&uart0 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart0_pins_a>; + pinctrl-1 = <&uart0_pins_b>; + status = "okay"; +}; + +&uart1 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart1_pins_a>; + pinctrl-1 = <&uart1_pins_b>; + status = "disabled"; +}; + +&uart2 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart2_pins_a>; + pinctrl-1 = <&uart2_pins_b>; + status = "disabled"; +}; + +&uart3 { + compatible = "allwinner,sun20iw1-dsp-uart"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart3_pins_a>; + pinctrl-1 = <&uart3_pins_a>; + status = "disabled"; +}; + +&soc { + card0_boot_para@2 { + /* + * Avoid dtc compiling warnings. + * @TODO: Developer should modify this to the actual value + */ + reg = <0x0 0x2 0x0 0x0>; + device_type = "card0_boot_para"; + card_ctrl = <0x0>; + card_high_speed = <0x1>; + card_line = <0x4>; + pinctrl-0 = <&sdc0_pins_a>; + }; + + card2_boot_para@3 { + /* + * Avoid dtc compiling warnings. + * @TODO: Developer should modify this to the actual value + */ + reg = <0x0 0x3 0x0 0x0>; + device_type = "card2_boot_para"; + card_ctrl = <0x2>; + card_high_speed = <0x1>; + card_line = <0x4>; + pinctrl-0 = <&sdc2_pins_a>; + /*pinctrl-0 = <&sdc0_pins_a>;*/ + /*sdc_ex_dly_used = <0x2>;*/ + sdc_io_1v8 = <0x1>; + /*sdc_type = "tm4";*/ + sdc_tm4_hs200_max_freq = <150>; + sdc_tm4_hs400_max_freq = <100>; + sdc_ex_dly_used = <2>; + /*sdc_tm4_win_th = <8>;*/ + /*sdc_dis_host_caps = <0x180>;*/ + }; + + rfkill: rfkill@0 { + compatible = "allwinner,sunxi-rfkill"; + chip_en; + power_en; + pinctrl-0 = <&wlan_pins_a>; + pinctrl-names = "default"; + status = "okay"; + + wlan: wlan@0 { + compatible = "allwinner,sunxi-wlan"; + clock-names = "32k-fanout1"; + clocks = <&ccu CLK_FANOUT1_OUT>; + wlan_busnum = <0x1>; + wlan_regon = <&pio PE 3 GPIO_ACTIVE_HIGH>; + wlan_hostwake = <&pio PG 10 GPIO_ACTIVE_HIGH>; + /*wlan_power = "VCC-3V3";*/ + /*wlan_power_vol = <3300000>;*/ + /*interrupt-parent = <&pio>; + interrupts = < PG 10 IRQ_TYPE_LEVEL_HIGH>;*/ + wakeup-source; + + }; + + bt: bt@0 { + compatible = "allwinner,sunxi-bt"; + clock-names = "32k-fanout1"; + clocks = <&ccu CLK_FANOUT1_OUT>; + /*bt_power_num = <0x01>;*/ + /*bt_power = "axp803-dldo1";*/ + /*bt_io_regulator = "axp803-dldo1";*/ + /*bt_io_vol = <3300000>;*/ + /*bt_power_vol = <330000>;*/ + bt_rst_n = <&pio PG 18 GPIO_ACTIVE_LOW>; + status = "disabled"; + }; + }; + + btlpm: btlpm@0 { + compatible = "allwinner,sunxi-btlpm"; + uart_index = <0x1>; + bt_wake = <&pio PG 16 GPIO_ACTIVE_HIGH>; + bt_hostwake = <&pio PG 17 GPIO_ACTIVE_HIGH>; + status = "disabled"; + }; + + addr_mgt: addr_mgt@0 { + compatible = "allwinner,sunxi-addr_mgt"; + type_addr_wifi = <0x0>; + type_addr_bt = <0x0>; + type_addr_eth = <0x0>; + status = "okay"; + }; +}; + +&sdc2 { + non-removable; + bus-width = <4>; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + no-sdio; + no-sd; + ctl-spec-caps = <0x308>; + cap-mmc-highspeed; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + mmc-bootpart-noacc; + max-frequency = <150000000>; + /*vmmc-supply = <®_dcdc1>;*/ + /*emmc io vol 3.3v*/ + /*vqmmc-supply = <®_aldo1>;*/ + /*emmc io vol 1.8v*/ + /*vqmmc-supply = <®_eldo1>;*/ + status = "disabled"; +}; + +&sdc0 { + bus-width = <4>; + cd-gpios = <&pio PF 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + /*non-removable;*/ + /*broken-cd;*/ + /*cd-inverted;*/ + /*data3-detect;*/ + /*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/ + cd-used-24M; + cap-sd-highspeed; + /*sd-uhs-sdr50;*/ + /*sd-uhs-ddr50;*/ + /*sd-uhs-sdr104;*/ + no-sdio; + no-mmc; + sunxi-power-save-mode; + /*sunxi-dis-signal-vol-sw;*/ + max-frequency = <150000000>; + ctl-spec-caps = <0x8>; + /*vmmc-supply = <®_dcdc1>;*/ + /*vqmmc33sw-supply = <®_dcdc1>;*/ + /*vdmmc33sw-supply = <®_dcdc1>;*/ + /*vqmmc18sw-supply = <®_eldo1>;*/ + /*vdmmc18sw-supply = <®_eldo1>;*/ + status = "disabled"; +}; + +&sdc1 { + bus-width = <4>; + no-mmc; + no-sd; + cap-sd-highspeed; + /*sd-uhs-sdr12*/ + /*sd-uhs-sdr25;*/ + /*sd-uhs-sdr50;*/ + /*sd-uhs-ddr50;*/ + /*sd-uhs-sdr104;*/ + /*sunxi-power-save-mode;*/ + /*sunxi-dis-signal-vol-sw;*/ + cap-sdio-irq; + keep-power-in-suspend; + ignore-pm-notify; + max-frequency = <150000000>; + ctl-spec-caps = <0x8>; + status = "okay"; +}; + + +/* +tvd configuration +used (create device, 0: do not create device, 1: create device) +agc_auto_enable (0: agc manual mode,agc_manual_value is valid; 1: agc auto mode) +agc_manual_value (agc manual value, default value is 64) +cagc_enable (cagc 0: disable, 1: enable) +fliter_used (3d fliter 0: disable, 1: enable) +support two PMU power (tvd_power0, tvd_power1) +support two GPIO power (tvd_gpio0, tvd_gpio1) +NOTICE: If tvd need pmu power or gpio power,params need be configured under [tvd] +tvd_sw (the switch of all tvd driver.) +tvd_interface (0: cvbs, 1: ypbpr,) +tvd_format (0:TVD_PL_YUV420 , 1: MB_YUV420, 2: TVD_PL_YUV422) +tvd_system (0:ntsc, 1:pal) +tvd_row (total row number in multi channel mode 1-2) +tvd_column (total column number in multi channel mode 1-2) +tvd_channelx_en (0:disable, 1~4:position in multi channel mode,In single channel + mode,mean enable) +tvd_row*tvd_column is the total tvd channel number to be used in multichannel mode ++--------------------+--------------------+ +| | | +| | | +| 1 | 2 | +| | | +| | | ++--------------------+--------------------+ +| | | +| | | +| 3 | 4 | +| | | +| | | ++--------------------+--------------------+ +*/ + +&tvd { + tvd_sw = <1>; + tvd_interface = <0>; + tvd_format = <0>; + tvd_system = <1>; + tvd_row = <1>; + tvd_column = <1>; + tvd_channel0_en = <1>; + tvd_channel1_en = <0>; + tvd_channel2_en = <0>; + tvd_channel3_en = <0>; + /*tvd_gpio0 = <&pio PD 22 GPIO_ACTIVE_HIGH>;*/ + /*tvd_gpio1 = <&pio PD 23 GPIO_ACTIVE_HIGH>;*/ + /*tvd_gpio2 = <&pio PD 24 GPIO_ACTIVE_HIGH>;*/ + /* dc1sw-supply = <®_dc1sw>;*/ + /* eldo3-supply = <®_eldo3>;*/ + /*tvd_power0 = "dc1sw"*/ + /*tvd_power1 = "eldo3"*/ +}; + +&tvd0 { + used = <1>; + agc_auto_enable = <1>; + agc_manual_value = <64>; + cagc_enable = <1>; + fliter_used = <1>; +}; + +/* Audio Driver modules */ +&sunxi_rpaf_dsp0 { + status = "disabled"; +}; + +/* if audiocodec is used, sdc0 and uart0 should be closed to enable PA. */ +&codec { + /* MIC and headphone gain setting */ + mic1gain = <0x1F>; + mic2gain = <0x1F>; + mic3gain = <0x1F>; + /* ADC/DAC DRC/HPF func enabled */ + /* 0x1:DAP_HP_EN; 0x2:DAP_SPK_EN; 0x3:DAP_HPSPK_EN */ + adcdrc_cfg = <0x0>; + adchpf_cfg = <0x1>; + dacdrc_cfg = <0x0>; + dachpf_cfg = <0x0>; + /* Volume about */ + digital_vol = <0x00>; + lineout_vol = <0x1a>; + headphonegain = <0x03>; + /* Pa enabled about */ + pa_level = <0x01>; + pa_pwr_level = <0x01>; + pa_msleep_time = <0x78>; + /* gpio-spk = <&pio PF 2 GPIO_ACTIVE_HIGH>;*/ + /* gpio-spk-pwr = <&pio PF 4 GPIO_ACTIVE_HIGH>; */ + /* CMA config about */ + playback_cma = <128>; + capture_cma = <256>; + /* regulator about */ + /* avcc-supply = <®_aldo1>; */ + /* hpvcc-supply = <®_eldo1>; */ + status = "okay"; +}; + +&sndcodec { + hp_detect_case = <0x00>; + jack_enable = <0x01>; + status = "okay"; +}; + +&dummy_cpudai { + status = "okay"; +}; + +&dmic { + pinctrl-names = "default","sleep"; + pinctrl-0 = <&dmic_pins_a>; + pinctrl-1 = <&dmic_pins_b>; + status = "okay"; +}; + +&dmic_codec { + status = "okay"; +}; + +&sounddmic { + status = "okay"; +}; + +/*----------------------------------------------------------------------------- + * pcm_lrck_period 16/32/64/128/256 + * slot_width_select 16bits/20bits/24bits/32bits + * frametype 0 --> short frame = 1 clock width; + * 1 --> long frame = 2 clock width; + * tdm_config 0 --> pcm + * 1 --> i2s + * mclk_div 0 --> not output + * 1/2/4/6/8/12/16/24/32/48/64/96/128/176/192 + * (set mclk as external codec clk source, freq is pll_audio/mclk_div) + * pinctrl_used 0 --> I2S/PCM use for internal + * 1 --> I2S/PCM use for external audio + * daudio_type: 0 --> external audio type + *---------------------------------------------------------------------------*/ +&daudio0 { + mclk_div = <0x01>; + frametype = <0x00>; + tdm_config = <0x01>; + sign_extend = <0x00>; + msb_lsb_first = <0x00>; + pcm_lrck_period = <0x80>; + slot_width_select = <0x20>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&daudio0_pins_a>; + pinctrl-1 = <&daudio0_pins_b>; + pinctrl_used = <0x0>; + status = "disabled"; +}; + +/*----------------------------------------------------------------------------- + * simple-audio-card,name name of sound card, e.g. + * "snddaudio0" --> use for external audio + * sound-dai "snd-soc-dummy" --> use for I2S + * "ac108" --> use for external audio of ac108 + *---------------------------------------------------------------------------*/ +&sounddaudio0 { + /* simple-audio-card,format = "i2s"; */ + /* simple-audio-card,frame-master = <&daudio0_master>; */ + /* simple-audio-card,bitclock-master = <&daudio0_master>; */ + /* simple-audio-card,bitclock-inversion; */ + /* simple-audio-card,frame-inversion; */ + status = "disabled"; + daudio0_master: simple-audio-card,codec { + /* sound-dai = <&ac108>; */ + }; +}; + +&daudio1 { + mclk_div = <0x01>; + frametype = <0x00>; + tdm_config = <0x01>; + sign_extend = <0x00>; + msb_lsb_first = <0x00>; + pcm_lrck_period = <0x80>; + slot_width_select = <0x20>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&daudio1_pins_a>; + pinctrl-1 = <&daudio1_pins_b>; + pinctrl_used = <0x0>; + status = "disabled"; +}; + +&sounddaudio1 { + status = "disabled"; + daudio1_master: simple-audio-card,codec { + /* sound-dai = <&ac108>; */ + }; +}; + +&daudio2 { + mclk_div = <0x01>; + frametype = <0x00>; + tdm_config = <0x01>; + sign_extend = <0x00>; + tx_data_mode = <0x00>; + rx_data_mode = <0x00>; + msb_lsb_first = <0x00>; + pcm_lrck_period = <0x80>; + slot_width_select = <0x20>; + asrc_function_en = <0x00>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&daudio2_pins_a &daudio2_pins_b &daudio2_pins_c>; + pinctrl-1 = <&daudio2_pins_d>; + pinctrl_used = <0x1>; + daudio_type = <0x0>; + status = "disabled"; +}; + +&sounddaudio2 { + status = "okay"; + daudio2_master: simple-audio-card,codec { + /* sound-dai = <&ac108>; */ + }; +}; + +&spdif { + pinctrl-names = "default","sleep"; + pinctrl-0 = <&spdif_pins_a>; + pinctrl-1 = <&spdif_pins_b>; + status = "okay"; +}; + +&soundspdif { + status = "okay"; +}; + +/* + *usb_port_type: usb mode. 0-device, 1-host, 2-otg. + *usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect. + *usb_detect_mode: 0-thread scan, 1-id gpio interrupt. + *usb_id_gpio: gpio for id detect. + *usb_det_vbus_gpio: gpio for id detect. gpio or "axp_ctrl"; + *usb_wakeup_suspend:0-SUPER_STANDBY, 1-USB_STANDBY. + */ +&usbc0 { + device_type = "usbc0"; + usb_port_type = <0x2>; + usb_detect_type = <0x1>; + usb_detect_mode = <0>; + usb_id_gpio = <&pio PB 6 GPIO_ACTIVE_HIGH>; + enable-active-high; + usb_det_vbus_gpio = <&pio PB 2 GPIO_ACTIVE_HIGH>; + usb_wakeup_suspend = <0>; + usb_serial_unique = <0>; + usb_serial_number = "20080411"; + rndis_wceis = <1>; + status = "okay"; +}; + +&ehci0 { + drvvbus-supply = <®_usb1_vbus>; +}; + +&ohci0 { + drvvbus-supply = <®_usb1_vbus>; +}; + +&usbc1 { + device_type = "usbc1"; + usb_port_type = <0x01>; + sb_detect_type = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0>; + status = "okay"; +}; + +&ehci1 { + drvvbus-supply = <®_usb1_vbus>; + status = "okay"; +}; + +&ohci1 { + drvvbus-supply = <®_usb1_vbus>; + status = "okay"; +}; + +&twi0 { + clock-frequency = <400000>; + pinctrl-0 = <&twi0_pins_a>; + pinctrl-1 = <&twi0_pins_b>; + pinctrl-names = "default", "sleep"; + status = "disabled"; + + eeprom@50 { + compatible = "atmel,24c16"; + reg = <0x50>; + status = "disabled"; + }; +}; + +&twi1 { + clock-frequency = <400000>; + pinctrl-0 = <&twi1_pins_a>; + pinctrl-1 = <&twi1_pins_b>; + pinctrl-names = "default", "sleep"; + status = "disabled"; +}; + +&twi2 { + clock-frequency = <400000>; + pinctrl-0 = <&twi2_pins_a>; + pinctrl-1 = <&twi2_pins_b>; + pinctrl-names = "default", "sleep"; + dmas = <&dma 45>, <&dma 45>; + dma-names = "tx", "rx"; + status = "okay"; + + /* pcf8574-usage: + * only use gpio0~7, 0 means PP0. + * pin set: + * gpios = <&pcf8574 0 GPIO_ACTIVE_LOW>; + * interrupt set: + * interrupt-parent = <&pcf8574>; + * interrupts = <0 IRQ_TYPE_EDGE_FALLING>; + */ + pcf8574: gpio@38 { + compatible = "nxp,pcf8574"; + reg = <0x38>; + gpio_base = <2020>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + interrupt-parent = <&pio>; + interrupts = ; + status = "disabled"; + }; + + ctp@14 { + compatible = "allwinner,goodix"; + device_type = "ctp"; + reg = <0x14>; + status = "okay"; + ctp_name = "gt9xxnew_ts"; + ctp_twi_id = <0x2>; + ctp_twi_addr = <0x14>; + ctp_screen_max_x = <0x320>; + ctp_screen_max_y = <0x1e0>; + ctp_revert_x_flag = <0x0>; + ctp_revert_y_flag = <0x0>; + ctp_exchange_x_y_flag = <0x0>; + ctp_int_port = <&pio PE 10 GPIO_ACTIVE_HIGH>; + ctp_wakeup = <&pio PE 11 GPIO_ACTIVE_HIGH>; + /*ctp-supply = <®_aldo2>;*/ + /*ctp_power_ldo = <®_aldo2>;*/ + /*ctp_power_ldo_vol = <3300>;*/ + }; +}; + +&twi3 { + clock-frequency = <400000>; + pinctrl-0 = <&twi3_pins_a>; + pinctrl-1 = <&twi3_pins_b>; + pinctrl-names = "default", "sleep"; + status = "disabled"; +}; + +&gmac0 { + phy-mode = "rgmii"; + use_ephy25m = <1>; + pinctrl-0 = <&gmac_pins_a>; + pinctrl-1 = <&gmac_pins_b>; + pinctrl-names = "default", "sleep"; + phy-rst = <&pio PE 16 GPIO_ACTIVE_HIGH>; + tx-delay = <3>; /*2~4*/ + rx-delay = <0>; + status = "disabled"; +}; + +&spi0 { + clock-frequency = <100000000>; + pinctrl-0 = <&spi0_pins_a &spi0_pins_b>; + pinctrl-1 = <&spi0_pins_c>; + pinctrl-names = "default", "sleep"; + /*spi-supply = <®_dcdc1>;*/ + spi_slave_mode = <0>; + spi0_cs_number = <1>; + spi0_cs_bitmap = <1>; + status = "okay"; + + spi-nand@0 { + compatible = "spi-nand"; + spi-max-frequency=<100000000>; + reg = <0x0>; + spi-rx-bus-width=<0x01>; + spi-tx-bus-width=<0x01>; + status="okay"; + }; + + spi-nor@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency=<30000000>; + reg = <0x0>; + spi-rx-bus-width=<0x01>; + spi-tx-bus-width=<0x01>; + status="disabled"; + }; +}; + +&spi1 { + clock-frequency = <100000000>; + pinctrl-0 = <&spi1_pins_a &spi1_pins_b>; + pinctrl-1 = <&spi1_pins_c>; + pinctrl-names = "default", "sleep"; + spi_slave_mode = <0>; + status = "disabled"; + + spi_board1@0 { + device_type = "spi_board1"; + compatible = "rohm,dh2228fv"; + spi-max-frequency = <0x5f5e100>; + reg = <0x0>; + spi-rx-bus-width = <0x4>; + spi-tx-bus-width = <0x4>; + status = "disabled"; + }; +}; + +&ledc { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&ledc_pins_a>; + pinctrl-1 = <&ledc_pins_b>; + led_count = <12>; + output_mode = "GRB"; + reset_ns = <84>; + t1h_ns = <800>; + t1l_ns = <320>; + t0h_ns = <300>; + t0l_ns = <800>; + wait_time0_ns = <84>; + wait_time1_ns = <84>; + wait_data_time_ns = <600000>; + status = "disabled"; +}; + +&keyboard0 { + key0 = <210 0x160>; + wakeup-source; + status = "disabled"; +}; + +/*---------------------------------------------------------------------------------- +disp init configuration + +disp_mode (0:screen0) +screenx_output_type (0:none; 1:lcd; 2:tv; 5:vdpo) +fbx format (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444) +fbx pixel sequence (0:ARGB 1:BGRA 2:ABGR 3:RGBA) +fb0_scaler_mode_enable(scaler mode enable, used FE) +fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0) +lcdx_backlight (lcd init backlight,the range:[0,256],default:197 +lcdx_yy (lcd init screen bright/contrast/saturation/hue, value:0~100, default:50/50/57/50) +lcd0_contrast (LCD contrast, 0~100) +lcd0_saturation (LCD saturation, 0~100) +lcd0_hue (LCD hue, 0~100) +framebuffer software rotation setting: +disp_rotation_used: (0:disable; 1:enable,you must set fbX_width to lcd_y, +set fbX_height to lcd_x) +degreeX: (X:screen index; 0:0 degree; 1:90 degree; 3:270 degree) +degreeX_Y: (X:screen index; Y:layer index 0~15; 0:0 degree; 1:90 degree; 3:270 degree) +devX_output_type : config output type in bootGUI framework in UBOOT-2018. + (0:none; 1:lcd; 2:tv;) +devX_output_mode : config output resolution(see include/video/sunxi_display2.h) of bootGUI framework in UBOOT-2018 +devX_screen_id : config display index of bootGUI framework in UBOOT-2018 +devX_do_hpd : whether do hpd detectation or not in UBOOT-2018 +chn_cfg_mode : Hardware DE channel allocation config. 0:single display with 6 + channel, 1:dual display with 4 channel in main display and 2 channel in second + display, 2:dual display with 3 channel in main display and 3 channel in second + in display. +----------------------------------------------------------------------------------*/ +&disp { + disp_init_enable = <1>; + disp_mode = <0>; + + screen0_output_type = <1>; + screen0_output_mode = <4>; + + screen1_output_type = <3>; + screen1_output_mode = <4>; + + screen1_output_format = <0>; + screen1_output_bits = <0>; + screen1_output_eotf = <4>; + screen1_output_cs = <257>; + screen1_output_range = <2>; + screen1_output_scan = <0>; + screen1_output_aspect_ratio = <8>; + dev0_output_type = <1>; + dev0_output_mode = <4>; + dev0_screen_id = <0>; + dev0_do_hpd = <0>; + + dev1_output_type = <4>; + dev1_output_mode = <10>; + dev1_screen_id = <1>; + dev1_do_hpd = <1>; + + def_output_dev = <0>; + + disp_rotation_used = <1>; + degree0 = <0>; + fb0_format = <0>; + fb0_buffer_num = <1>; + /*fb0_width = <800>;*/ + /*fb0_height = <480>;*/ /*read from lcd*/ + fb1_format = <0>; + fb1_width = <0>; + fb1_height = <0>; + chn_cfg_mode = <1>; + + disp_para_zone = <1>; + /*VCC-LCD*/ +/* dc1sw-supply = <®_dc1sw>;*/ + /*VCC-DSI*/ +/* eldo3-supply = <®_eldo3>;*/ + /*VCC-PD*/ +/* dcdc1-supply = <®_dcdc1>;*/ +}; + +/*---------------------------------------------------------------------------------- +;lcd0 configuration + +;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi +;lcd_hv_if 0:Parallel RGB; 8:Serial RGB; 10:Dummy RGB; 11: RGB Dummy;12:CCIR656 +;lcd_hv_clk_phase 0:0 degree;1:90 degree;2:180 degree;3:270 degree +;lcd_hv_sync_polarity 0:vs low,hs low; 1:vs high,hslow; 2:vs low,hs high; 3:vs high,hs high +;lcd_hv_syuv_seq 0:YUYV; 1:YVYU; 2:UYVY; 3:VYUY +;lcd_cpu_if 0:18bit/1 cycle parallel(RGB666); 4:16bit/1cycle parallel (RGB565) +; 6:18bit/3 cycle parallel(RGB666); 7:16bit/2cycle parallel (RGB565) +;lcd_cpu_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge; +;lcd_dsi_if 0:video mode; 1: Command mode; 2:video burst mode +;lcd_dsi_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge; +;lcd_x: lcd horizontal resolution +;lcd_y: lcd vertical resolution +;lcd_width: width of lcd in mm +;lcd_height: height of lcd in mm +;lcd_dclk_freq: in MHZ unit +;lcd_pwm_freq: in HZ unit +;lcd_pwm_pol: lcd backlight PWM polarity +;lcd_pwm_max_limit lcd backlight PWM max limit(<=255) +;lcd_hbp: hsync back porch(pixel) + hsync plus width(pixel); +;lcd_ht: hsync total cycle(pixel) +;lcd_vbp: vsync back porch(line) + vysnc plus width(line) +;lcd_vt: vysnc total cycle(line) +;lcd_hspw: hsync plus width(pixel) +;lcd_vspw: vysnc plus width(pixel) +;lcd_lvds_if: 0:single link; 1:dual link +;lcd_lvds_colordepth: 0:8bit; 1:6bit +;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode +;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither +;lcd_io_phase: 0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase; +; 8~11bit:dclk phase; 12~15bit:de phase) +;lcd_gamma_en lcd gamma correction enable +;lcd_bright_curve_en lcd bright curve correction enable +;lcd_cmap_en lcd color map function enable +;deu_mode 0:smoll lcd screen; 1:large lcd screen(larger than 10inch) +;lcdgamma4iep: Smart Backlight parameter, lcd gamma vale * 10; +; decrease it while lcd is not bright enough; increase while lcd is too bright +;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch) +;Pin setting for special function ie.LVDS, RGB data or vsync +; name(donot care) = port:PD12 +;Pin setting for gpio: +; lcd_gpio_X = port:PD12 +;Pin setting for backlight enable pin +; lcd_bl_en = port:PD12 +;fsync setting, pulse to csi +;lcd_fsync_en (0:disable fsync,1:enable) +;lcd_fsync_act_time (active time of fsync, unit:pixel) +;lcd_fsync_dis_time (disactive time of fsync, unit:pixel) +;lcd_fsync_pol (0:positive;1:negative) +;gpio config: <&pio for cpu or &r_pio for cpus, port, port num, pio function, +pull up or pull down(default 0), driver level(default 1), data> +;For dual link lvds: use lvds2link_pins_a and lvds2link_pins_b instead +;For rgb24: use rgb24_pins_a and rgb24_pins_b instead +;For lvds1: use lvds1_pins_a and lvds1_pins_b instead +;For lvds0: use lvds0_pins_a and lvds0_pins_b instead +;----------------------------------------------------------------------------------*/ +/* RGB 800 480 */ +&lcd0 { + lcd_used = <1>; + lcd_driver_name = "default_lcd"; + lcd_backlight = <50>; + lcd_if = <0>; + lcd_x = <800>; + lcd_y = <480>; + lcd_width = <150>; + lcd_height = <94>; + lcd_dclk_freq = <48>; + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <500>; + lcd_pwm_pol = <0>; + lcd_hbp = <55>; + lcd_ht = <1240>; + lcd_hspw = <20>; + lcd_vbp = <35>; + lcd_vt = <650>; + lcd_vspw = <10>; + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_io_phase = <0x0000>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + pinctrl-0 = <&rgb18_pins_a>; + pinctrl-1 = <&rgb18_pins_b>; +}; + +/* LVDS 1280 800 */ +/* +&lcd0 { + lcd_used = <1>; + lcd_driver_name = "default_lcd"; + lcd_backlight = <50>; + lcd_if = <3>; + + lcd_x = <1280>; + lcd_y = <800>; + lcd_width = <150>; + lcd_height = <94>; + lcd_dclk_freq = <71>; + lcd_rb_swap = <0>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <0>; + lcd_pwm_max_limit = <255>; + + lcd_hbp = <20>; + lcd_ht = <1418>; + lcd_hspw = <10>; + lcd_vbp = <10>; + lcd_vt = <814>; + lcd_vspw = <5>; + + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <1>; + lcd_io_phase = <0x0000>; + lcd_hv_clk_phase = <0>; + lcd_hv_sync_polarity = <0>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_act_time = <1000>; + lcd_fsync_dis_time = <1000>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + pinctrl-0 = <&lvds0_pins_a>; + pinctrl-1 = <&lvds0_pins_b>; + lcd_bl_en = <&pio PD 20 GPIO_ACTIVE_HIGH>; +}; +*/ +/* MIPI 800 1280 */ +/* +&lcd0 { + lcd_used = <1>; + lcd_driver_name = "he0801a068"; + lcd_backlight = <50>; + lcd_if = <4>; + + lcd_x = <800>; + lcd_y = <1280>; + lcd_width = <52>; + lcd_height = <52>; + lcd_dclk_freq = <78>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <0>; + lcd_pwm_max_limit = <255>; + + lcd_hbp = <149>; + lcd_ht = <978>; + lcd_hspw = <16>; + lcd_vbp = <7>; + lcd_vt = <1329>; + lcd_vspw = <5>; + + lcd_dsi_lane = <4>; + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_io_phase = <0x0000>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_act_time = <1000>; + lcd_fsync_dis_time = <1000>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + pinctrl-0 = <&dsi4lane_pins_a>; + pinctrl-1 = <&dsi4lane_pins_b>; + lcd_gpio_0 = <&pio PD 20 GPIO_ACTIVE_HIGH>; +}; +*/ + +&pwm0 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_pin_a>; + pinctrl-1 = <&pwm0_pin_b>; + status = "okay"; +}; + +&pwm2 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm2_pin_a>; + pinctrl-1 = <&pwm2_pin_b>; + status = "okay"; +}; + + +&pwm7 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm7_pin_a>; + pinctrl-1 = <&pwm7_pin_b>; + status = "okay"; +}; + +&rtp { + allwinner,tp-sensitive-adjust = <0xf>; + allwinner,filter-type = <0x1>; + allwinner,ts-attached; + status = "disabled"; +}; + +&tpadc { + key_cnt = <5>; + key1 = <420 115>; + key2 = <870 114>; + key3 = <1290 119>; + key4 = <1630 373>; + key5 = <1950 28>; + status = "disabled"; +}; + +&gpadc { + channel_num = <1>; + channel_select = <0x01>; + channel_data_select = <0>; + channel_compare_select = <0x01>; + channel_cld_select = <0x01>; + channel_chd_select = <0>; + channel0_compare_lowdata = <1600000>; + channel0_compare_higdata = <1200000>; + channel1_compare_lowdata = <460000>; + channel1_compare_higdata = <1200000>; + key_cnt = <5>; + key0_vol = <255>; + key0_val = <115>; + key1_vol = <480>; + key1_val = <114>; + key2_vol = <670>; + key2_val = <412>; + key3_vol = <820>; + key3_val = <407>; + key4_vol = <900>; + key4_val = <28>; + status = "okay"; + wakeup-source; +}; + +&s_cir0 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&s_cir0_pins_a>; + pinctrl-1 = <&s_cir0_pins_b>; + ir_protocol_used = <0>; + ir_addr_code0 = <0x0>; + status = "disabled"; +}; + +&ir1 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&ir1_pins_a>; + pinctrl-1 = <&ir1_pins_b>; + status = "disabled"; +}; diff --git a/device/config/chips/f133/configs/evb1/linux-5.4/config-5.4 b/device/config/chips/f133/configs/evb1/linux-5.4/config-5.4 new file mode 100755 index 0000000..9312485 --- /dev/null +++ b/device/config/chips/f133/configs/evb1/linux-5.4/config-5.4 @@ -0,0 +1,3377 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/riscv 5.4.61 Kernel Configuration +# +CONFIG_CC_VERSION_TEXT="riscv64-unknown-linux-gnu-gcc (C-SKY RISCV Tools V1.8.4 B20200702) 8.1.0" +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=80100 +CONFIG_CLANG_VERSION=0 +CONFIG_CC_CAN_LINK=y +CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_IRQ_WORK=y +CONFIG_THREAD_INFO_IN_TASK=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_BUILD_SALT="" +CONFIG_DEFAULT_HOSTNAME="(none)" +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_USELIB is not set +# CONFIG_AUDIT is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_MSI_IOMMU=y +CONFIG_SPARSE_IRQ=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +# end of IRQ subsystem + +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_GENERIC_CLOCKEVENTS=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=y +CONFIG_HIGH_RES_TIMERS=y +# end of Timers subsystem + +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_PREEMPTION=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +# CONFIG_TASKSTATS is not set +# CONFIG_PSI is not set +# end of CPU/Task time and stats accounting + +# +# RCU Subsystem +# +CONFIG_PREEMPT_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +CONFIG_TREE_SRCU=y +CONFIG_TASKS_RCU=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_RCU_NEED_SEGCBLIST=y +# end of RCU Subsystem + +CONFIG_IKCONFIG=y +# CONFIG_IKCONFIG_PROC is not set +# CONFIG_IKHEADERS is not set +CONFIG_LOG_BUF_SHIFT=13 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 +CONFIG_GENERIC_SCHED_CLOCK=y + +# +# Scheduler features +# +# end of Scheduler features + +CONFIG_ARCH_SUPPORTS_INT128=y +# CONFIG_CGROUPS is not set +# CONFIG_NAMESPACES is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +# CONFIG_BLK_DEV_INITRD is not set +# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_BPF=y +CONFIG_EXPERT=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_FHANDLE=y +CONFIG_POSIX_TIMERS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y +CONFIG_HAVE_FUTEX_CMPXCHG=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_IO_URING=y +CONFIG_ADVISE_SYSCALLS=y +CONFIG_MEMBARRIER=y +# CONFIG_KALLSYMS is not set +# CONFIG_BPF_SYSCALL is not set +# CONFIG_USERFAULTFD is not set +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +# CONFIG_PC104 is not set + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +# end of Kernel Performance Events And Counters + +CONFIG_VM_EVENT_COUNTERS=y +# CONFIG_SLUB_DEBUG is not set +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +CONFIG_SLAB_MERGE_DEFAULT=y +# CONFIG_SLAB_FREELIST_RANDOM is not set +# CONFIG_SLAB_FREELIST_HARDENED is not set +# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set +CONFIG_PROFILING=y +# end of General setup + +CONFIG_64BIT=y +CONFIG_RISCV=y +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=24 +CONFIG_MMU=y +CONFIG_ZONE_DMA32=y +CONFIG_VA_BITS=39 +CONFIG_PA_BITS=56 +CONFIG_PAGE_OFFSET=0xffffffe000000000 +CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_PGTABLE_LEVELS=3 +CONFIG_SUNXI_SOC_NAME="sun20iw1" + +# +# SoC selection +# +# CONFIG_SOC_SIFIVE is not set +CONFIG_RISCV_SUNXI=y +CONFIG_ARCH_SUNXI=y +# CONFIG_FPGA_V4_PLATFORM is not set +# CONFIG_FPGA_V7_PLATFORM is not set +CONFIG_EVB_PLATFORM=y +CONFIG_ARCH_SUN20I=y +CONFIG_ARCH_SUN20IW1=y +CONFIG_ARCH_SUN20IW1P1=y +# end of SoC selection + +# +# Platform type +# +# CONFIG_ARCH_RV32I is not set +CONFIG_ARCH_RV64I=y +# CONFIG_CMODEL_MEDLOW is not set +CONFIG_CMODEL_MEDANY=y +CONFIG_MODULE_SECTIONS=y +# CONFIG_MAXPHYSMEM_2GB is not set +CONFIG_MAXPHYSMEM_128GB=y +# CONFIG_SMP is not set +CONFIG_TUNE_GENERIC=y +CONFIG_RISCV_ISA_C=y +CONFIG_FPU=y +CONFIG_VECTOR=y +# end of Platform type + +# +# Kernel features +# +CONFIG_HZ_100=y +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=100 +CONFIG_SCHED_HRTICK=y +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# end of Kernel features + +# +# Boot options +# +CONFIG_CMDLINE="" +# end of Boot options + +# +# CPU Power Management +# + +# +# CPU Idle +# +CONFIG_CPU_IDLE=y +# CONFIG_CPU_IDLE_GOV_LADDER is not set +CONFIG_CPU_IDLE_GOV_MENU=y +# CONFIG_CPU_IDLE_GOV_TEO is not set + +# +# RISCV CPU Idle Drivers +# +# CONFIG_RISCV_CPUIDLE is not set +# end of RISCV CPU Idle Drivers +# end of CPU Idle + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set +# end of CPU Frequency scaling +# end of CPU Power Management + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_PM_SLEEP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# end of Power management options + +# +# General architecture-dependent options +# +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_HAVE_ASM_MODVERSIONS=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_LTO_NONE=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=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_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y +CONFIG_HAVE_COPY_THREAD_TLS=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_64BIT_TIME=y +# CONFIG_REFCOUNT_FULL is not set +# CONFIG_LOCK_EVENT_COUNTS is not set + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +# end of GCOV-based kernel profiling + +CONFIG_PLUGIN_HOSTCC="" +# end of General architecture-dependent options + +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 is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_BLOCK=y +CONFIG_BLK_SCSI_REQUEST=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_DEV_ZONED is not set +# CONFIG_BLK_CMDLINE_PARSER is not set +# CONFIG_BLK_WBT is not set +# CONFIG_BLK_DEBUG_FS is not set +# CONFIG_BLK_SED_OPAL is not set +# CONFIG_BLK_INLINE_ENCRYPTION is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_EFI_PARTITION=y +# end of Partition Types + +CONFIG_BLK_MQ_VIRTIO=y +CONFIG_BLK_PM=y + +# +# IO Schedulers +# +CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=y +# CONFIG_IOSCHED_BFQ is not set +# end of IO Schedulers + +CONFIG_ASN1=y +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ARCH_HAS_MMIOWB=y +# CONFIG_GKI_HIDDEN_DRM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_REGMAP_CONFIGS is not set +# CONFIG_GKI_HIDDEN_CRYPTO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_SOC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MMC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPIO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_QCOM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MEDIA_CONFIGS is not set +# CONFIG_GKI_HIDDEN_VIRTUAL_CONFIGS is not set +# CONFIG_GKI_LEGACY_WEXT_ALLCONFIG is not set +# CONFIG_GKI_HIDDEN_USB_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SOC_BUS_CONFIGS is not set +# CONFIG_GKI_HIDDEN_RPMSG_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPU_CONFIGS is not set +# CONFIG_GKI_HIDDEN_IRQ_CONFIGS is not set +# CONFIG_GKI_HIDDEN_HYPERVISOR_CONFIGS is not set +# CONFIG_GKI_HACKS_TO_FIX is not set +# CONFIG_GKI_OPT_FEATURES is not set +CONFIG_FREEZER=y + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +CONFIG_ELFCORE=y +CONFIG_BINFMT_SCRIPT=y +CONFIG_ARCH_HAS_BINFMT_FLAT=y +# CONFIG_BINFMT_FLAT is not set +# CONFIG_BINFMT_MISC is not set +# CONFIG_COREDUMP is not set +# end of Executable file formats + +# +# Memory Management options +# +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_HAVE_MEMBLOCK_NODE_MAP=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_MEMORY_ISOLATION=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_CONTIG_ALLOC=y +CONFIG_PHYS_ADDR_T_64BIT=y +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_NEED_PER_CPU_KM=y +# CONFIG_CLEANCACHE 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 is not set +# CONFIG_IDLE_PAGE_TRACKING is not set +# CONFIG_PERCPU_STATS is not set +# CONFIG_GUP_BENCHMARK is not set +CONFIG_ARCH_HAS_PTE_SPECIAL=y +# end of Memory Management options + +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +CONFIG_PACKET_DIAG=y +CONFIG_UNIX=y +CONFIG_UNIX_SCM=y +CONFIG_UNIX_DIAG=y +# CONFIG_TLS is not set +# CONFIG_XFRM_USER is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_FIB_TRIE_STATS=y +CONFIG_IP_MULTIPLE_TABLES=y +# CONFIG_IP_ROUTE_MULTIPATH is not set +# CONFIG_IP_ROUTE_VERBOSE is not set +# CONFIG_IP_PNP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_FOU is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_RAW_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 is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER is not set +# CONFIG_BPFILTER 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_BRIDGE is not set +CONFIG_HAVE_NET_DSA=y +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +# 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_NET_NSH is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_NET_NCSI is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +# CONFIG_BPF_JIT is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# end of Network testing +# end of Networking options + +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_AF_KCM is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_CFG80211=y +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +CONFIG_CFG80211_CERTIFICATION_ONUS=y +# CONFIG_CFG80211_REQUIRE_SIGNED_REGDB is not set +# CONFIG_CFG80211_REG_CELLULAR_HINTS is not set +# CONFIG_CFG80211_REG_RELAX_NO_IR is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_CRDA_SUPPORT is not set +# CONFIG_CFG80211_WEXT is not set +# CONFIG_MAC80211 is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +# CONFIG_PSAMPLE is not set +# CONFIG_NET_IFE is not set +# CONFIG_LWTUNNEL is not set +# CONFIG_FAILOVER is not set +CONFIG_HAVE_EBPF_JIT=y + +# +# Device Drivers +# +CONFIG_HAVE_PCI=y +# CONFIG_PCI is not set +# CONFIG_PCCARD is not set + +# +# Generic Driver Options +# +# CONFIG_UEVENT_HELPER is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# +CONFIG_FW_LOADER=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER is not set +# CONFIG_FW_LOADER_COMPRESS is not set +CONFIG_FW_CACHE=y +# end of Firmware loader + +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +CONFIG_GENERIC_CPU_DEVICES=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_REGMAP_MMIO=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_DMA_FENCE_TRACE is not set +# end of Generic Driver Options + +# +# Bus devices +# +# CONFIG_MOXTET is not set +# CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SUN50I_DE2_BUS is not set +# CONFIG_SUNXI_RSB is not set +CONFIG_SUNXI_MBUS=y +# CONFIG_SUNXI_NSI is not set +# end of Bus devices + +# CONFIG_CONNECTOR is not set +# CONFIG_GNSS is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set +# CONFIG_MTD_SUNXI_PARTS is not set + +# +# Partition parsers +# +# end of Partition parsers + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +# CONFIG_MTD_CHAR is not set +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_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_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# end of RAM/ROM/Flash chip drivers + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set +# end of Mapping drivers for chip access + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_MCHP23K256 is not set +# CONFIG_MTD_SST25L is not set +# 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 +# end of Self-contained MTD device drivers + +# CONFIG_MTD_ONENAND is not set +# CONFIG_MTD_RAW_NAND is not set +# CONFIG_MTD_SPI_NAND is not set + +# +# sunxi-nand +# +CONFIG_AW_MTD_SPINAND=y +# CONFIG_AW_MTD_RAWNAND is not set +CONFIG_AW_SPINAND_PHYSICAL_LAYER=y +CONFIG_AW_SPINAND_SECURE_STORAGE=y +# CONFIG_AW_SPINAND_PSTORE_MTD_PART is not set +# CONFIG_AW_SPINAND_ENABLE_PHY_CRC16 is not set +CONFIG_AW_SPINAND_SIMULATE_MULTIPLANE=y +# CONFIG_AW_MTD_SPINAND_OOB_RAW_SPARE is not set +# end of sunxi-nand + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# end of LPDDR & LPDDR2 PCM memory drivers + +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +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=y +# CONFIG_MTD_HYPERBUS 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_KOBJ=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_RESERVED_MEM=y +# CONFIG_OF_OVERLAY is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_SUNXI_NAND is not set +# CONFIG_BLK_DEV_LOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_VIRTIO_BLK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# NVME Support +# +# CONFIG_NVME_FC is not set +# CONFIG_NVME_TARGET is not set +# end of NVME Support + +# +# Misc devices +# +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES 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_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_XILINX_SDFEC is not set +# CONFIG_PVPANIC is not set +# CONFIG_HISI_HIKEY_USB is not set +# 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 is not set +# CONFIG_EEPROM_93XX46 is not set +# CONFIG_EEPROM_IDT_89HPESX is not set +# CONFIG_EEPROM_EE1004 is not set +# end of EEPROM support + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# end of Texas Instruments shared transport line discipline + +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC & related support +# + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# VOP Bus Driver +# +# CONFIG_VOP_BUS is not set + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# + +# +# VOP Driver +# +# end of Intel MIC & related support + +# CONFIG_ECHO is not set +# CONFIG_MISC_RTSX_USB is not set +CONFIG_SUNXI_RFKILL=y +CONFIG_SUNXI_ADDR_MGT=y +# CONFIG_SUNXI_BOOTEVENT is not set + +# +# sunxi Gorilla ESL platform +# +# CONFIG_SUNXI_GORILLA is not set +# end of sunxi Gorilla ESL platform + +# CONFIG_SUNXI_MIPSLOADER is not set +# CONFIG_SUNXI_TVUTILS is not set +# end of Misc devices + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# 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_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 is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# end of SCSI Transports + +# CONFIG_SCSI_LOWLEVEL is not set +# CONFIG_SCSI_DH is not set +# end of SCSI device support + +# CONFIG_ATA is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +CONFIG_NETDEVICES=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_TEAM is not set +# CONFIG_MACVLAN is not set +# CONFIG_IPVLAN is not set +# CONFIG_VXLAN is not set +# CONFIG_GENEVE is not set +# CONFIG_GTP is not set +# CONFIG_MACSEC is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_TUN is not set +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_VETH is not set +# CONFIG_VIRTIO_NET is not set +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# end of Distributed Switch Architecture drivers + +# CONFIG_ETHERNET is not set +# CONFIG_MDIO_DEVICE is not set +# CONFIG_PHYLIB is not set +# CONFIG_MICREL_KS8995MA is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +# CONFIG_USB_NET_DRIVERS is not set +CONFIG_WLAN=y +# CONFIG_WIRELESS_WDS is not set +# CONFIG_WLAN_VENDOR_ADMTEK is not set +# CONFIG_WLAN_VENDOR_ATH is not set +# CONFIG_WLAN_VENDOR_ATMEL is not set +# CONFIG_WLAN_VENDOR_BROADCOM is not set +# CONFIG_WLAN_VENDOR_CISCO is not set +# CONFIG_WLAN_VENDOR_INTEL is not set +# CONFIG_WLAN_VENDOR_INTERSIL is not set +# CONFIG_WLAN_VENDOR_MARVELL is not set +# CONFIG_WLAN_VENDOR_MEDIATEK is not set +# CONFIG_WLAN_VENDOR_RALINK is not set +# CONFIG_WLAN_VENDOR_REALTEK is not set +# CONFIG_WLAN_VENDOR_RSI is not set +# CONFIG_WLAN_VENDOR_ST is not set +# CONFIG_WLAN_VENDOR_TI is not set +# CONFIG_WLAN_VENDOR_ZYDAS is not set +# CONFIG_WLAN_VENDOR_QUANTENNA is not set +# CONFIG_XR829_WLAN is not set +CONFIG_XR819S_WLAN=m +# CONFIG_RTL8821CS is not set +# CONFIG_RTL8723DS is not set +# CONFIG_SPARD_WLAN_SUPPORT is not set +# CONFIG_BCMDHD is not set +# CONFIG_AIC_WLAN_SUPPORT is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_VIRT_WIFI is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_NETDEVSIM is not set +# CONFIG_NET_FAILOVER is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +CONFIG_INPUT_SENSORINIT=y + +# +# Input Device Drivers +# +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET 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_BU21029 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_EXC3000 is not set +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GOODIX is not set +# CONFIG_TOUCHSCREEN_HIDEEP is not set +# CONFIG_TOUCHSCREEN_ILI210X is not set +# CONFIG_TOUCHSCREEN_S6SY761 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_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_SUN4I is not set +# CONFIG_TOUCHSCREEN_SUNXI is not set +# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set +# CONFIG_TOUCHSCREEN_SX8654 is not set +# CONFIG_TOUCHSCREEN_TPS6507X is not set +# CONFIG_TOUCHSCREEN_ZET6223 is not set +# CONFIG_TOUCHSCREEN_ZFORCE is not set +# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set +# CONFIG_TOUCHSCREEN_IQS5XX is not set +# CONFIG_TOUCHSCREEN_GSLX680NEW is not set +CONFIG_TOUCHSCREEN_GT9XXNEW_TS=m +# CONFIG_TOUCHSCREEN_GT9XXNEWDUP_TS is not set +# CONFIG_TOUCHSCREEN_FTS is not set +# CONFIG_INPUT_MISC is not set +# CONFIG_RMI4_CORE is not set +CONFIG_INPUT_SENSOR=y +# CONFIG_SENSORS_SC7A20 is not set +# CONFIG_SENSORS_MIR3DA is not set +# CONFIG_STK3X1X is not set +# CONFIG_SUNXI_TPADC is not set +CONFIG_SUNXI_GPADC=m + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set +# end of Hardware I/O ports +# end of Input device support + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +# CONFIG_NULL_TTY is not set +# CONFIG_LDISC_AUTOLOAD is not set +# CONFIG_DEVMEM is not set +# CONFIG_DEVKMEM is not set + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +# CONFIG_SERIAL_SAMSUNG is not set +# 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_SIFIVE 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_FSL_LPUART is not set +# CONFIG_SERIAL_FSL_LINFLEXUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_SPRD is not set +CONFIG_SERIAL_SUNXI=y +# CONFIG_SERIAL_SUNXI_DMA is not set +CONFIG_SERIAL_SUNXI_CONSOLE=y +# CONFIG_SERIAL_SUNXI_EARLYCON is not set +# end of Serial drivers + +# CONFIG_SERIAL_DEV_BUS is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_RISCV_SBI is not set +# CONFIG_VIRTIO_CONSOLE is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set +# CONFIG_SUNXI_BS83B16C is not set +# end of Character devices + +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set +CONFIG_DUMP_REG=y +CONFIG_DUMP_REG_MISC=y +CONFIG_SUNXI_G2D=y +CONFIG_SUNXI_G2D_MIXER=y +CONFIG_SUNXI_G2D_ROTATE=y +CONFIG_SUNXI_SYNCFENCE=y +# CONFIG_SUNXI_DI is not set +CONFIG_SUNXI_SYS_INFO=y +# CONFIG_SUNXI_QA_TEST is not set +# CONFIG_SUNXI_SMC 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 is not set +# CONFIG_I2C_MUX_GPMUX is not set +# CONFIG_I2C_MUX_LTC4306 is not set +# CONFIG_I2C_MUX_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_PINCTRL is not set +# CONFIG_I2C_MUX_REG is not set +# CONFIG_I2C_DEMUX_PINCTRL is not set +# CONFIG_I2C_MUX_MLXCPLD is not set +# end of Multiplexer I2C Chip support + +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_MV64XXX is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_SUNXI=y +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_RK3X is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# 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 +# +# end of I2C Hardware Bus support + +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_SLAVE is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# end of I2C support + +# CONFIG_I3C is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y +# CONFIG_SPI_MEM is not set + +# +# 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 is not set +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_NXP_FLEXSPI 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_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_SIFIVE is not set +# CONFIG_SPI_SUN4I is not set +# CONFIG_SPI_SUN6I is not set +# CONFIG_SPI_MXIC is not set +CONFIG_SPI_SUNXI=y +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set + +# +# SPI Protocol Masters +# +# CONFIG_SPI_SPIDEV is not set +# CONFIG_SPI_LOOPBACK_TEST is not set +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPI_SLAVE is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set +# CONFIG_PPS is not set + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +# end of PTP clock support + +CONFIG_PINCTRL=y +CONFIG_PINMUX=y +CONFIG_PINCONF=y +CONFIG_GENERIC_PINCONF=y +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_MCP23S08 is not set +# CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_SX150X is not set +# CONFIG_PINCTRL_STMFX is not set +# CONFIG_PINCTRL_OCELOT is not set + +# +# Allwinner SOC PINCTRL DRIVER +# +CONFIG_PINCTRL_SUNXI=y +# CONFIG_PINCTRL_SUNXI_DEBUGFS is not set +# CONFIG_PINCTRL_SUNXI_TEST is not set +# CONFIG_PINCTRL_SUN8IW15P1 is not set +# CONFIG_PINCTRL_SUN8IW15P1_R is not set +CONFIG_PINCTRL_SUN8IW20=y +# CONFIG_PINCTRL_SUN50IW9 is not set +# CONFIG_PINCTRL_SUN50IW9_R is not set +# CONFIG_PINCTRL_SUN50IW10P1 is not set +# CONFIG_PINCTRL_SUN50IW10P1_R is not set +# CONFIG_PINCTRL_SUN50IW12 is not set +# CONFIG_PINCTRL_SUN50IW12_R is not set +# CONFIG_PINCTRL_SUN55IW3 is not set +# CONFIG_PINCTRL_SUN55IW3_R is not set +# CONFIG_PINCTRL_SUN4I_A10 is not set +# CONFIG_PINCTRL_SUN5I is not set +# CONFIG_PINCTRL_SUN6I_A31 is not set +# CONFIG_PINCTRL_SUN6I_A31_R is not set +# CONFIG_PINCTRL_SUN8I_A23 is not set +# CONFIG_PINCTRL_SUN8I_A33 is not set +# CONFIG_PINCTRL_SUN8I_A83T is not set +# CONFIG_PINCTRL_SUN8I_A83T_R is not set +# CONFIG_PINCTRL_SUN8I_A23_R is not set +# CONFIG_PINCTRL_SUN8I_H3 is not set +# CONFIG_PINCTRL_SUN8I_H3_R is not set +# CONFIG_PINCTRL_SUN8I_V3S is not set +# CONFIG_PINCTRL_SUN9I_A80 is not set +# CONFIG_PINCTRL_SUN9I_A80_R is not set +# CONFIG_PINCTRL_SUN50I_A64 is not set +# CONFIG_PINCTRL_SUN50I_A64_R is not set +# CONFIG_PINCTRL_SUN50I_A100 is not set +# CONFIG_PINCTRL_SUN50I_A100_R is not set +# CONFIG_PINCTRL_SUN50I_H5 is not set +# CONFIG_PINCTRL_SUN50I_H6 is not set +# CONFIG_PINCTRL_SUN50I_H6_R is not set +# end of Allwinner SOC PINCTRL DRIVER + +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_OF_GPIO=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_SUNXI is not set +# CONFIG_GPIO_CADENCE is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_FTGPIO010 is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_HLWD is not set +# CONFIG_GPIO_MB86S7X is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_AMD_FCH is not set +# end of Memory mapped GPIO drivers + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_BS83B16C is not set +# CONFIG_GPIO_GW_PLD is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_TPIC2810 is not set +# end of I2C GPIO expanders + +# +# MFD GPIO expanders +# +# end of MFD GPIO expanders + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX3191X is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_PISOSR is not set +# CONFIG_GPIO_XRA1403 is not set +# end of SPI GPIO expanders + +# +# USB GPIO expanders +# +# end of USB GPIO expanders + +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_W1 is not set +# CONFIG_POWER_AVS is not set +# CONFIG_POWER_RESET is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_POWER_SUPPLY_HWMON=y +# CONFIG_PDA_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_CHARGER_ADP5061 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_CHARGER_SBS is not set +# CONFIG_MANAGER_SBS is not set +# CONFIG_BATTERY_BQ27XXX is not set +# CONFIG_BATTERY_MAX17040 is not set +# CONFIG_BATTERY_MAX17042 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_LT3651 is not set +# CONFIG_CHARGER_DETECTOR_MAX14656 is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24257 is not set +# CONFIG_CHARGER_BQ24735 is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_CHARGER_RT9455 is not set +# CONFIG_CHARGER_UCS1002 is not set +CONFIG_HWMON=y +# 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_AS370 is not set +# CONFIG_SENSORS_ASC7621 is not set +# CONFIG_SENSORS_ASPEED is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS620 is not set +# CONFIG_SENSORS_DS1621 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_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_MAX6621 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_TC654 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_NPCM7XX 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_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_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set +# CONFIG_SENSORS_STTS751 is not set +# CONFIG_SENSORS_SMM665 is not set +# CONFIG_SENSORS_ADC128D818 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_TMP108 is not set +# CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83773G 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_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y +CONFIG_WATCHDOG_OPEN_TIMEOUT=0 +# CONFIG_WATCHDOG_SYSFS is not set + +# +# Watchdog Pretimeout Governors +# +# CONFIG_WATCHDOG_PRETIMEOUT_GOV 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_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +CONFIG_SUNXI_WATCHDOG=y +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +# CONFIG_MFD_ACX00 is not set +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_SUN4I_GPADC 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_BD9571MWV is not set +# CONFIG_MFD_AXP2101_I2C is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_MADERA 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_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_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 is not set +# CONFIG_MFD_MAX77650 is not set +# 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_CPCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_RT5033 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_SUN6I_PRCM=y +# CONFIG_MFD_SYSCON is not set +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_TI_LMU 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_TI_LP87565 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_TQMX86 is not set +# CONFIG_MFD_LOCHNAGAR 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_ROHM_BD718XX is not set +# CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_STPMIC1 is not set +# CONFIG_MFD_STMFX is not set +# end of Multifunction device drivers + +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_88PG86X is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +CONFIG_SUNXI_REGULATOR_PWM=y +# CONFIG_REGULATOR_DA9210 is not set +# CONFIG_REGULATOR_DA9211 is not set +# CONFIG_REGULATOR_FAN53555 is not set +# CONFIG_REGULATOR_GPIO is not set +# 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_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MCP16502 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 is not set +# CONFIG_REGULATOR_SLG51000 is not set +# CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X 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 is not set +# CONFIG_REGULATOR_TPS6524X is not set +# CONFIG_REGULATOR_VCTRL is not set +# CONFIG_RC_CORE is not set +CONFIG_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +# CONFIG_MEDIA_CAMERA_SUPPORT is not set +# 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_CEC_SUPPORT is not set +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set + +# +# Media drivers +# +# CONFIG_MEDIA_USB_SUPPORT is not set + +# +# Supported MMC/SDIO adapters +# +# CONFIG_CYPRESS_FIRMWARE is not set +CONFIG_VIDEOBUF2_CORE=y + +# +# Media ancillary drivers (tuners, sensors, i2c, spi, frontends) +# + +# +# Media SPI Adapters +# +# end of Media SPI Adapters + +# +# Customise DVB Frontends +# + +# +# Tools to develop new frontends +# +# end of Customise DVB Frontends + +CONFIG_VIDEO_ENCODER_DECODER_SUNXI=y +# CONFIG_VIDEO_GOOGLE_DECODER_SUNXI is not set + +# +# Graphics support +# + +# +# GPU support for sunxi +# +CONFIG_SUNXI_GPU_TYPE="None" +# end of GPU support for sunxi + +# CONFIG_DRM is not set +# CONFIG_DRM_DP_CEC is not set + +# +# ARM devices +# +# end of ARM devices + +# +# ACP (Audio CoProcessor) Configuration +# +# end of ACP (Audio CoProcessor) Configuration + +# +# Frame buffer Devices +# +CONFIG_FB_CMDLINE=y +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX 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_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set + +# +# Video support for sunxi +# +# CONFIG_FB_CONSOLE_SUNXI is not set +CONFIG_DISP2_SUNXI=y +CONFIG_SUNXI_DISP2_FB_DISABLE_ROTATE=y +# CONFIG_SUNXI_DISP2_FB_ROTATION_SUPPORT is not set +# CONFIG_SUNXI_DISP2_FB_HW_ROTATION_SUPPORT is not set +# CONFIG_SUNXI_DISP2_FB_DECOMPRESS_LZMA is not set +# CONFIG_TV_DISP2_SUNXI is not set +# CONFIG_VDPO_DISP2_SUNXI is not set +# CONFIG_EDP_DISP2_SUNXI is not set +# CONFIG_DISP2_SUNXI_BOOT_COLORBAR is not set +# CONFIG_DISP2_SUNXI_DEBUG is not set +# CONFIG_DISP2_SUNXI_COMPOSER is not set +# CONFIG_DISP2_LCD_ESD_DETECT is not set +# CONFIG_LCD_FB is not set +# CONFIG_LCD_FB_ENABLE_DEFERRED_IO is not set + +# +# LCD panels select +# +# CONFIG_LCD_SUPPORT_GG1P4062UTSW is not set +# CONFIG_LCD_SUPPORT_DX0960BE40A1 is not set +# CONFIG_LCD_SUPPORT_TFT720X1280 is not set +# CONFIG_LCD_SUPPORT_FD055HD003S is not set +CONFIG_LCD_SUPPORT_HE0801A068=y +# CONFIG_LCD_SUPPORT_ILI9341 is not set +# CONFIG_LCD_SUPPORT_LH219WQ1 is not set +# CONFIG_LCD_SUPPORT_LS029B3SX02 is not set +# CONFIG_LCD_SUPPORT_LT070ME05000 is not set +# CONFIG_LCD_SUPPORT_S6D7AA0X01 is not set +# CONFIG_LCD_SUPPORT_T27P06 is not set +# CONFIG_LCD_SUPPORT_TFT720x1280 is not set +# CONFIG_LCD_SUPPORT_WTQ05027D01 is not set +# CONFIG_LCD_SUPPORT_H245QBN02 is not set +# CONFIG_LCD_SUPPORT_ST7789V is not set +# CONFIG_LCD_SUPPORT_ST7796S is not set +# CONFIG_LCD_SUPPORT_ST7701S is not set +# CONFIG_LCD_SUPPORT_T30P106 is not set +# CONFIG_LCD_SUPPORT_TO20T20000 is not set +# CONFIG_LCD_SUPPORT_FRD450H40014 is not set +# CONFIG_LCD_SUPPORT_S2003T46G is not set +# CONFIG_LCD_SUPPORT_WILLIAMLCD is not set +# CONFIG_LCD_SUPPORT_LQ101R1SX03 is not set +# CONFIG_LCD_SUPPORT_INET_DSI_PANEL is not set +# CONFIG_LCD_SUPPORT_WTL096601G03 is not set +# CONFIG_LCD_SUPPORT_RT13QV005D is not set +# CONFIG_LCD_SUPPORT_ST7789V_CPU is not set +# CONFIG_LCD_SUPPORT_CC08021801_310_800X1280 is not set +# CONFIG_LCD_SUPPORT_JD9366AB_3 is not set +# CONFIG_LCD_SUPPORT_TFT08006 is not set +# CONFIG_LCD_SUPPORT_BP101WX1_206 is not set +# CONFIG_LCD_SUPPORT_FX070 is not set +# CONFIG_LCD_SUPPORT_K101IM2QA04 is not set +# CONFIG_LCD_SUPPORT_K101_IM2BYL02_L_800X1280 is not set +# CONFIG_LCD_SUPPORT_K080_IM2HYL802R_800X1280 is not set +# end of LCD panels select + +# +# Display engine feature select +# +# CONFIG_DISP2_SUNXI_SUPPORT_SMBL is not set +# CONFIG_DISP2_SUNXI_SUPPORT_ENAHNCE is not set +# CONFIG_DISP2_SUNXI_DEVICE_OFF_ON_RELEASE is not set +# end of Display engine feature select +# end of Video support for sunxi +# end of Frame buffer Devices + +# +# Backlight & LCD device support +# +# CONFIG_LCD_CLASS_DEVICE is not set +# CONFIG_BACKLIGHT_CLASS_DEVICE is not set +# end of Backlight & LCD device support + +# CONFIG_LOGO is not set +# end of Graphics support + +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_DMAENGINE_PCM=y +CONFIG_SND_JACK=y +CONFIG_SND_JACK_INPUT_DEV=y +# CONFIG_SND_MIXER_OSS is not set +CONFIG_SND_PCM_TIMER=y +CONFIG_SND_HRTIMER=y +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_MAX_CARDS=32 +# CONFIG_SND_SUPPORT_OLD_API is not set +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_SEQUENCER is not set +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 + +# +# HD-Audio +# +# end of HD-Audio + +CONFIG_SND_HDA_PREALLOC_SIZE=64 +# CONFIG_SND_SPI is not set +# CONFIG_SND_USB is not set +CONFIG_SND_SOC=y +CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=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_AUDMIX 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_FSL_MICFIL is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set +# end of SoC Audio for Freescale CPUs + +# CONFIG_SND_I2S_HI6210_I2S is not set +# CONFIG_SND_I2S_HI3660_I2S is not set +# CONFIG_SND_SOC_IMG is not set +# CONFIG_SND_SOC_MTK_BTCVSD is not set +# CONFIG_SND_SOC_SOF_TOPLEVEL is not set + +# +# STMicroelectronics STM32 SOC audio support +# +# end of STMicroelectronics STM32 SOC audio support + +CONFIG_SND_SUNXI_SOC=y +CONFIG_SND_SUNXI_SOC_CPUDAI=y +CONFIG_SND_SUN20IW1_CODEC=y + +# +# Allwinner SoC Audio support +# +CONFIG_SND_SUNXI_SOC_SUN20IW1_CODEC=y +CONFIG_SND_SUNXI_SOC_SIMPLE_CARD=y +CONFIG_SND_SUNXI_SOC_DAUDIO=y +# CONFIG_SND_SUNXI_SOC_DAUDIO_ASRC is not set +# CONFIG_SND_SUNXI_SOC_SPDIF is not set +# CONFIG_SND_SUNXI_SOC_DMIC is not set +# CONFIG_SUNXI_AUDIO_DEBUG is not set +# CONFIG_SUNXI_RX_SYNC is not set +# end of Allwinner SoC Audio support + +# CONFIG_SND_SUNXI_RPAF is not set + +# +# Allwinner SoC Audio support V2 +# +# CONFIG_SND_SOC_SUNXI_SPDIF is not set +# CONFIG_SND_SOC_SUNXI_DMIC is not set +# CONFIG_SND_SOC_SUNXI_DAUDIO is not set +# CONFIG_SND_SOC_SUNXI_COMPONENTS is not set +# end of Allwinner SoC Audio support V2 + +# CONFIG_SND_SOC_XILINX_I2S is not set +# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set +# CONFIG_SND_SOC_XILINX_SPDIF is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +# CONFIG_ZX_TDM is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_ADAU1761_I2C is not set +# CONFIG_SND_SOC_ADAU1761_SPI is not set +# CONFIG_SND_SOC_ADAU7002 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4118 is not set +# CONFIG_SND_SOC_AK4458 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_AK5558 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_BD28623 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_CS35L34 is not set +# CONFIG_SND_SOC_CS35L35 is not set +# CONFIG_SND_SOC_CS35L36 is not set +# CONFIG_SND_SOC_CS42L42 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_CS43130 is not set +# CONFIG_SND_SOC_CS4341 is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_CS53L30 is not set +# CONFIG_SND_SOC_CX2072X is not set +CONFIG_SND_SOC_DMIC=y +# CONFIG_SND_SOC_ES7134 is not set +# CONFIG_SND_SOC_ES7241 is not set +# CONFIG_SND_SOC_ES8316 is not set +# CONFIG_SND_SOC_ES8328_I2C is not set +# CONFIG_SND_SOC_ES8328_SPI is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_INNO_RK3036 is not set +# CONFIG_SND_SOC_MAX98088 is not set +# CONFIG_SND_SOC_MAX98357A is not set +# CONFIG_SND_SOC_MAX98504 is not set +# CONFIG_SND_SOC_MAX9867 is not set +# CONFIG_SND_SOC_MAX98927 is not set +# CONFIG_SND_SOC_MAX98373 is not set +# CONFIG_SND_SOC_MAX9860 is not set +# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1789_I2C is not set +# CONFIG_SND_SOC_PCM179X_I2C is not set +# CONFIG_SND_SOC_PCM179X_SPI is not set +# CONFIG_SND_SOC_PCM186X_I2C is not set +# CONFIG_SND_SOC_PCM186X_SPI is not set +# CONFIG_SND_SOC_PCM3060_I2C is not set +# CONFIG_SND_SOC_PCM3060_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_RK3328 is not set +# CONFIG_SND_SOC_RT5616 is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF is not set +# CONFIG_SND_SOC_SSM2305 is not set +# 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 is not set +# CONFIG_SND_SOC_TAS5086 is not set +# CONFIG_SND_SOC_TAS571X is not set +# CONFIG_SND_SOC_TAS5720 is not set +# CONFIG_SND_SOC_TAS6424 is not set +# CONFIG_SND_SOC_TDA7419 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_TLV320AIC32X4_I2C is not set +# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_TSCS42XX is not set +# CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8524 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_WM8782 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_WM8904 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_ZX_AUD96P22 is not set +# CONFIG_SND_SOC_MAX9759 is not set +# CONFIG_SND_SOC_MT6351 is not set +# CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_NAU8540 is not set +# CONFIG_SND_SOC_NAU8810 is not set +# CONFIG_SND_SOC_NAU8822 is not set +# CONFIG_SND_SOC_NAU8824 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SOC_AC107 is not set +# CONFIG_SND_SOC_AC108 is not set +# CONFIG_SND_SOC_TD100 is not set +# end of CODEC drivers + +CONFIG_SND_SIMPLE_CARD_UTILS=y +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SND_AUDIO_GRAPH_CARD is not set + +# +# HID support +# +# CONFIG_HID is not set + +# +# USB HID support +# +# CONFIG_USB_HID is not set +# CONFIG_HID_PID is not set + +# +# USB HID Boot Protocol drivers +# +# CONFIG_USB_KBD is not set +# CONFIG_USB_MOUSE is not set +# end of USB HID Boot Protocol drivers +# end of USB HID support + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +# end of I2C HID support +# end of HID support + +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_USB_CONN_GPIO is not set +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +CONFIG_USB_AUTOSUSPEND_DELAY=2 +# CONFIG_USB_MON is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_XHCI_HCD is not set +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +# CONFIG_USB_EHCI_FSL is not set +CONFIG_USB_EHCI_HCD_SUNXI=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_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_SUNXI=y +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set +CONFIG_USB_SUNXI_HCD=y +CONFIG_USB_SUNXI_HCI=y +CONFIG_USB_SUNXI_EHCI0=y +CONFIG_USB_SUNXI_EHCI1=y +CONFIG_USB_SUNXI_OHCI0=y +CONFIG_USB_SUNXI_OHCI1=y + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# 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=m +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set +CONFIG_USB_UAS=m + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_CDNS3 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 is not set +# CONFIG_USB_ISP1760 is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +# CONFIG_USB_EZUSB_FX2 is not set +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# end of USB Physical Layer drivers + +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 +# CONFIG_U_SERIAL_CONSOLE is not set + +# +# 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_SNP_UDC_PLAT is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_NET2272 is not set +CONFIG_USB_SUNXI_UDC0=y +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_DUMMY_HCD is not set +# end of USB Peripheral Controller + +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_U_SERIAL=y +CONFIG_USB_F_SERIAL=y +CONFIG_USB_F_FS=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_UEVENT=y +CONFIG_USB_CONFIGFS_SERIAL=y +# CONFIG_USB_CONFIGFS_ACM is not set +# CONFIG_USB_CONFIGFS_OBEX is not set +# CONFIG_USB_CONFIGFS_NCM is not set +# CONFIG_USB_CONFIGFS_ECM is not set +# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set +# CONFIG_USB_CONFIGFS_RNDIS is not set +# CONFIG_USB_CONFIGFS_EEM is not set +# CONFIG_USB_CONFIGFS_MASS_STORAGE is not set +# CONFIG_USB_CONFIGFS_F_LB_SS is not set +CONFIG_USB_CONFIGFS_F_FS=y +# CONFIG_USB_CONFIGFS_F_AUDIO_SRC is not set +# CONFIG_USB_CONFIGFS_F_UAC1 is not set +# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set +# CONFIG_USB_CONFIGFS_F_UAC2 is not set +# CONFIG_USB_CONFIGFS_F_MIDI is not set +# CONFIG_USB_CONFIGFS_F_HID is not set +# CONFIG_USB_CONFIGFS_F_PRINTER is not set +CONFIG_USB_SUNXI_USB=y +CONFIG_USB_SUNXI_USB_MANAGER=y +CONFIG_USB_SUNXI_USB_DEBUG=y +CONFIG_USB_SUNXI_USB_ADB=y +# CONFIG_TYPEC is not set +CONFIG_USB_ROLE_SWITCH=y +CONFIG_MMC=y +# CONFIG_PWRSEQ_EMMC is not set +# CONFIG_PWRSEQ_SIMPLE is not set +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_USDHI6ROL0 is not set +CONFIG_MMC_SUNXI=y +CONFIG_MMC_SUNXI_V4P1X=y +CONFIG_MMC_SUNXI_V4P00X=y +CONFIG_MMC_SUNXI_V4P10X=y +CONFIG_MMC_SUNXI_V4P5X=y +CONFIG_MMC_SUNXI_V5P3X=y +# CONFIG_MMC_CQHCI is not set +# CONFIG_MMC_HSQ is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_SUPPORT=y +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_NVMEM=y + +# +# 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_ABEOZ9 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_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_ISL12026 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_PCF85363 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_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3028 is not set +# CONFIG_RTC_DRV_RV8803 is not set +# CONFIG_RTC_DRV_SD3078 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_RX6110 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_SUN6I is not set +CONFIG_RTC_DRV_SUNXI=y +CONFIG_SUNXI_REBOOT_FLAG=y +CONFIG_SUNXI_RTC_BOOTCOUNT=y +CONFIG_SUNXI_RTC_POWEROFF_ALARM=y +# CONFIG_RTC_DRV_CADENCE is not set +# CONFIG_RTC_DRV_FTRTC010 is not set +# CONFIG_RTC_DRV_SNVS is not set +# CONFIG_RTC_DRV_R7301 is not set + +# +# HID Sensor RTC drivers +# +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_ALTERA_MSGDMA is not set +CONFIG_DMA_SUN6I=y +# CONFIG_DW_AXI_DMAC is not set +# CONFIG_FSL_EDMA is not set +# CONFIG_INTEL_IDMA64 is not set +# CONFIG_QCOM_HIDMA_MGMT is not set +# CONFIG_QCOM_HIDMA is not set +# CONFIG_DW_DMAC is not set + +# +# DMA Clients +# +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_DMATEST is not set + +# +# DMABUF options +# +CONFIG_SYNC_FILE=y +# CONFIG_SW_SYNC is not set +# CONFIG_UDMABUF is not set +# CONFIG_DMABUF_SELFTESTS is not set +# end of DMABUF options + +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set +CONFIG_VIRTIO=y +# CONFIG_VIRTIO_MENU is not set + +# +# Microsoft Hyper-V guest support +# +# end of Microsoft Hyper-V guest support + +# CONFIG_GREYBUS is not set +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTLLIB is not set +# CONFIG_RTL8723BS is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set + +# +# Speakup console speech +# +# end of Speakup console speech + +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +CONFIG_ASHMEM=y +CONFIG_ION=y +CONFIG_ION_SYSTEM_HEAP=y +CONFIG_ION_CMA_HEAP=y +# end of Android + +# CONFIG_STAGING_BOARD is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_UNISYSSPAR is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT 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_PI433 is not set + +# +# Gasket devices +# +# end of Gasket devices + +# CONFIG_XIL_AXIS_FIFO is not set +# CONFIG_FIELDBUS_DEV is not set +# CONFIG_USB_WUSB_CBAF is not set +# CONFIG_UWB is not set +CONFIG_EXFAT_FS=y +CONFIG_EXFAT_DONT_MOUNT_VFAT=y +CONFIG_EXFAT_DISCARD=y +CONFIG_EXFAT_DELAYED_SYNC=y +CONFIG_EXFAT_KERNEL_DEBUG=y +CONFIG_EXFAT_DEBUG_MSG=y +CONFIG_EXFAT_DEFAULT_CODEPAGE=437 +CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_DEBUG is not set +# CONFIG_CLK_HSDK is not set +# CONFIG_COMMON_CLK_MAX9485 is not set +# CONFIG_COMMON_CLK_SI5341 is not set +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI544 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_COMMON_CLK_PWM is not set +# CONFIG_COMMON_CLK_VC5 is not set +# CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_CLK_SIFIVE is not set +# CONFIG_CLK_SUNXI is not set +CONFIG_SUNXI_CCU=y +CONFIG_SUN8IW20_CCU=y +CONFIG_SUN8IW20_R_CCU=y +# CONFIG_SUN8I_A83T_CCU is not set +# CONFIG_SUN8I_DE2_CCU is not set +# CONFIG_SUN8I_R_CCU is not set +CONFIG_SUNXI_RTC_CCU=y +# end of Common Clock Framework + +# CONFIG_HWSPINLOCK is not set +# CONFIG_HWSPINLOCK_SUNXI is not set + +# +# Clock Source drivers +# +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_SUN4I_TIMER=y +# CONFIG_SUN50I_TIMER is not set +# CONFIG_SUNXI_TIMER is not set +# CONFIG_SUNXI_TIMER_TEST is not set +# CONFIG_MTK_TIMER is not set +CONFIG_RISCV_TIMER=y +# end of Clock Source drivers + +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_IOVA=y +CONFIG_IOMMU_API=y +# CONFIG_IOMMU_LIMIT_IOVA_ALIGNMENT is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# end of Generic IOMMU Pagetable Support + +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set +CONFIG_OF_IOMMU=y +CONFIG_IOMMU_DMA=y +CONFIG_SUNXI_IOMMU=y +CONFIG_SUNXI_IOMMU_DEBUG=y +# CONFIG_SUNXI_IOMMU_TESTS is not set + +# +# Remoteproc drivers +# +# CONFIG_REMOTEPROC is not set +# end of Remoteproc drivers + +# +# Rpmsg drivers +# +# CONFIG_RPMSG_SUNXI_AMP is not set +# CONFIG_RPMSG_DSP_STANDBY is not set +# CONFIG_RPMSG_VIRTIO is not set +# CONFIG_RPMSG_SUNXI_TTY is not set +# CONFIG_RPMSG_SUNXI_CLIENT_SAMPLE is not set +# end of Rpmsg drivers + +# CONFIG_SOUNDWIRE is not set + +# +# SOC (System On Chip) specific Drivers +# + +# +# Amlogic SoC drivers +# +# end of Amlogic SoC drivers + +# +# Aspeed SoC drivers +# +# end of Aspeed SoC drivers + +# +# Broadcom SoC drivers +# +# end of Broadcom SoC drivers + +# +# NXP/Freescale QorIQ SoC drivers +# +# end of NXP/Freescale QorIQ SoC drivers + +# +# i.MX SoC drivers +# +# end of i.MX SoC drivers + +# +# Qualcomm SoC drivers +# +# end of Qualcomm SoC drivers + +# CONFIG_SUNXI_SRAM is not set +CONFIG_SUNXI_SID=y +CONFIG_SUNXI_RISCV_SUSPEND=y +# CONFIG_SOC_TI is not set + +# +# Xilinx SoC drivers +# +# CONFIG_XILINX_VCU is not set +# end of Xilinx SoC drivers +# end of SOC (System On Chip) specific Drivers + +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO 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_SIFIVE is not set +# CONFIG_PWM_SUN4I is not set +CONFIG_PWM_SUNXI_GROUP=y +# CONFIG_DSP_DEBUG is not set + +# +# IRQ chip support +# +CONFIG_IRQCHIP=y +# CONFIG_AL_FIC is not set +CONFIG_SIFIVE_PLIC=y +# CONFIG_SUNXI_WAKEUPGEN is not set +# CONFIG_SUN8I_NMI is not set +# end of IRQ chip support + +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_SIMPLE=y +CONFIG_RESET_SUNXI=y +# CONFIG_RESET_TI_SYSCON is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_SUN6I_MIPI_DPHY is not set +# CONFIG_PHY_SUN9I_USB is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_PHY_CADENCE_DP is not set +# CONFIG_PHY_CADENCE_DPHY is not set +# CONFIG_PHY_CADENCE_SIERRA is not set +# CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_MIXEL_MIPI_DPHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PHY_MAPPHONE_MDM6600 is not set +# end of PHY Subsystem + +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# end of Android + +# CONFIG_LIBNVDIMM is not set +# CONFIG_DAX is not set +CONFIG_NVMEM=y +CONFIG_NVMEM_SYSFS=y +CONFIG_NVMEM_SUNXI_SID=y + +# +# HW tracing support +# +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set +# end of HW tracing support + +# CONFIG_FPGA is not set +# CONFIG_FSI is not set +# CONFIG_SIOX is not set +# CONFIG_SLIMBUS is not set +# CONFIG_INTERCONNECT is not set +# CONFIG_COUNTER is not set +# end of Device Drivers + +# +# File systems +# +# CONFIG_VALIDATE_FS_PARSER is not set +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +# CONFIG_EXT4_FS is not set +# 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 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_FS_VERITY is not set +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_AUTOFS_FS is not set +CONFIG_FUSE_FS=y +CONFIG_CUSE=y +CONFIG_VIRTIO_FS=y +CONFIG_OVERLAY_FS=y +# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y +# CONFIG_OVERLAY_FS_INDEX is not set +# CONFIG_OVERLAY_FS_XINO_AUTO is not set +# CONFIG_OVERLAY_FS_METACOPY is not set +# CONFIG_INCREMENTAL_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set +# end of Caches + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set +# end of CD-ROM/DVD Filesystems + +# +# 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=y +CONFIG_NTFS_FS=y +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_RW=y +# end of DOS/FAT/NT Filesystems + +# +# 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_KERNFS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +# CONFIG_HUGETLBFS is not set +CONFIG_MEMFD_CREATE=y +CONFIG_ARCH_HAS_GIGANTIC_PAGE=y +CONFIG_CONFIGFS_FS=y +# end of Pseudo filesystems + +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ORANGEFS_FS is not set +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_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=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +# CONFIG_UBIFS_FS_LZO is not set +# CONFIG_UBIFS_FS_ZLIB is not set +# CONFIG_UBIFS_FS_ZSTD is not set +# CONFIG_UBIFS_ATIME_SUPPORT is not set +CONFIG_UBIFS_FS_XATTR=y +CONFIG_UBIFS_FS_SECURITY=y +# CONFIG_UBIFS_FS_AUTHENTICATION is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +# CONFIG_SQUASHFS_FILE_CACHE is not set +CONFIG_SQUASHFS_FILE_DIRECT=y +# CONFIG_SQUASHFS_DECOMP_SINGLE is not set +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y +# CONFIG_SQUASHFS_XATTR is not set +# CONFIG_SQUASHFS_ZLIB is not set +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +# CONFIG_SQUASHFS_XZ is not set +# CONFIG_SQUASHFS_ZSTD is not set +# 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 is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +# CONFIG_EROFS_FS is not set +# CONFIG_NETWORK_FILESYSTEMS 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_UNICODE is not set +# end of File systems + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +# CONFIG_HARDENED_USERCOPY is not set +# CONFIG_STATIC_USERMODEHELPER is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity" + +# +# Kernel hardening options +# + +# +# Memory initialization +# +CONFIG_INIT_STACK_NONE=y +# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set +# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# end of Memory initialization +# end of Kernel hardening options +# end of Security options + +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_ACOMP2=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_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Public-key cryptography +# +CONFIG_CRYPTO_RSA=y +# CONFIG_CRYPTO_DH is not set +CONFIG_CRYPTO_ECC=y +CONFIG_CRYPTO_ECDH=y +# CONFIG_CRYPTO_ECRDSA is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=y +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +# CONFIG_CRYPTO_AEGIS128 is not set +CONFIG_CRYPTO_SEQIV=y +# CONFIG_CRYPTO_ECHAINIV is not set + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CFB is not set +CONFIG_CRYPTO_CTR=y +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_OFB is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set +# CONFIG_CRYPTO_ADIANTUM is not set +# CONFIG_CRYPTO_ESSIV 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_XXHASH is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=y +# CONFIG_CRYPTO_POLY1305 is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# 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 is not set +CONFIG_CRYPTO_LIB_SHA256=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_SHA3 is not set +# CONFIG_CRYPTO_SM3 is not set +# CONFIG_CRYPTO_STREEBOG is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_AES_TI is not set +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_LIB_ARC4=y +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 is not set +# 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_SM4 is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set +CONFIG_CRYPTO_ZSTD=y + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +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_HASH_INFO=y +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_VIRTIO is not set +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set +# CONFIG_CRYPTO_DEV_CCREE is not set + +# +# Support for Allwinner Sunxi CryptoEngine +# + +# +# Choose one according to the actual usage +# +# CONFIG_CRYPTO_DEV_SUNXI is not set +# CONFIG_CRYPTO_DEV_SUNXI_IOCTL is not set +# end of Support for Allwinner Sunxi CryptoEngine + +# +# Certificates for signature checking +# +# end of Certificates for signature checking + +# +# Library routines +# +# CONFIG_PACKING is not set +CONFIG_BITREVERSE=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +# CONFIG_CORDIC is not set +CONFIG_RATIONAL=y +CONFIG_GENERIC_PCI_IOMAP=y +# CONFIG_CRC_CCITT is not set +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +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_CRC64 is not set +# CONFIG_CRC4 is not set +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +CONFIG_XXHASH=y +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y +CONFIG_XZ_DEC=y +# CONFIG_XZ_DEC_X86 is not set +# CONFIG_XZ_DEC_POWERPC is not set +# CONFIG_XZ_DEC_IA64 is not set +# CONFIG_XZ_DEC_ARM is not set +# CONFIG_XZ_DEC_ARMTHUMB is not set +# CONFIG_XZ_DEC_SPARC is not set +# CONFIG_XZ_DEC_TEST is not set +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_HAS_DMA_WRITE_COMBINE=y +CONFIG_DMA_DECLARE_COHERENT=y +CONFIG_ARCH_HAS_SETUP_DMA_OPS=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y +CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y +CONFIG_ARCH_HAS_DMA_COHERENT_TO_PFN=y +CONFIG_DMA_REMAP=y +CONFIG_DMA_DIRECT_REMAP=y +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=16 +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 +# CONFIG_DMA_API_DEBUG is not set +CONFIG_SGL_ALLOC=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_CLZ_TAB=y +# CONFIG_IRQ_POLL is not set +CONFIG_MPILIB=y +CONFIG_LIBFDT=y +CONFIG_SG_POOL=y +CONFIG_SBITMAP=y +# CONFIG_STRING_SELFTEST is not set +# end of Library routines + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +CONFIG_PRINTK_TIME=y +# CONFIG_PRINTK_CALLER is not set +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 +CONFIG_CONSOLE_LOGLEVEL_QUIET=4 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_DYNAMIC_DEBUG is not set +# CONFIG_DYNAMIC_DEBUG_CORE is not set +# end of printk and dmesg options + +# +# 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_DEBUG_INFO_BTF is not set +# CONFIG_GDB_SCRIPTS is not set +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=2048 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_INSTALL is not set +CONFIG_OPTIMIZE_INLINING=y +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# end of Compile-time checks and compiler options + +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_MAGIC_SYSRQ_SERIAL=y +CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_MISC=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_PAGE_OWNER is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_STATS is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_MEMORY_INIT is not set +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_KASAN_STACK=1 +# end of Memory Debugging + +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_SOFTLOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_WQ_WATCHDOG is not set +# end of Debug Lockups and Hangs + +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_DEBUG is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# 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=y +# CONFIG_DEBUG_RWSEMS 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_WW_MUTEX_SELFTEST is not set +# end of Lock Debugging (spinlocks, mutexes, etc...) + +CONFIG_STACKTRACE=y +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PLIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_RCU_PERF_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# end of RCU Debugging + +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_TRACING_SUPPORT=y +# CONFIG_FTRACE is not set +# CONFIG_RUNTIME_TESTING_MENU is not set +# CONFIG_MEMTEST is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_SAMPLES is not set +# CONFIG_UBSAN is not set +CONFIG_UBSAN_ALIGNMENT=y +# end of Kernel hacking diff --git a/device/config/chips/f133/configs/evb1/linux-5.4/config-5.4_recovery b/device/config/chips/f133/configs/evb1/linux-5.4/config-5.4_recovery new file mode 100755 index 0000000..2471009 --- /dev/null +++ b/device/config/chips/f133/configs/evb1/linux-5.4/config-5.4_recovery @@ -0,0 +1,3178 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/riscv 5.4.61 Kernel Configuration +# +CONFIG_CC_VERSION_TEXT="riscv64-unknown-linux-gnu-gcc (C-SKY RISCV Tools V1.8.4 B20200702) 8.1.0" +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=80100 +CONFIG_CLANG_VERSION=0 +CONFIG_CC_CAN_LINK=y +CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_IRQ_WORK=y +CONFIG_THREAD_INFO_IN_TASK=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_BUILD_SALT="" +CONFIG_DEFAULT_HOSTNAME="(none)" +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_USELIB is not set +# CONFIG_AUDIT is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_MSI_IOMMU=y +CONFIG_SPARSE_IRQ=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +# end of IRQ subsystem + +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_GENERIC_CLOCKEVENTS=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=y +CONFIG_HIGH_RES_TIMERS=y +# end of Timers subsystem + +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_PREEMPTION=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +# CONFIG_TASKSTATS is not set +# CONFIG_PSI is not set +# end of CPU/Task time and stats accounting + +# +# RCU Subsystem +# +CONFIG_PREEMPT_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +CONFIG_TREE_SRCU=y +CONFIG_TASKS_RCU=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_RCU_NEED_SEGCBLIST=y +# end of RCU Subsystem + +CONFIG_IKCONFIG=y +# CONFIG_IKCONFIG_PROC is not set +# CONFIG_IKHEADERS is not set +CONFIG_LOG_BUF_SHIFT=13 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 +CONFIG_GENERIC_SCHED_CLOCK=y + +# +# Scheduler features +# +# end of Scheduler features + +CONFIG_ARCH_SUPPORTS_INT128=y +# CONFIG_CGROUPS is not set +# CONFIG_NAMESPACES is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +# CONFIG_BLK_DEV_INITRD is not set +# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_BPF=y +CONFIG_EXPERT=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_FHANDLE=y +CONFIG_POSIX_TIMERS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y +CONFIG_HAVE_FUTEX_CMPXCHG=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_IO_URING=y +CONFIG_ADVISE_SYSCALLS=y +CONFIG_MEMBARRIER=y +# CONFIG_KALLSYMS is not set +# CONFIG_BPF_SYSCALL is not set +# CONFIG_USERFAULTFD is not set +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +# CONFIG_PC104 is not set + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +# end of Kernel Performance Events And Counters + +CONFIG_VM_EVENT_COUNTERS=y +# CONFIG_SLUB_DEBUG is not set +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +CONFIG_SLAB_MERGE_DEFAULT=y +# CONFIG_SLAB_FREELIST_RANDOM is not set +# CONFIG_SLAB_FREELIST_HARDENED is not set +# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set +CONFIG_PROFILING=y +# end of General setup + +CONFIG_64BIT=y +CONFIG_RISCV=y +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=24 +CONFIG_MMU=y +CONFIG_ZONE_DMA32=y +CONFIG_VA_BITS=39 +CONFIG_PA_BITS=56 +CONFIG_PAGE_OFFSET=0xffffffe000000000 +CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_PGTABLE_LEVELS=3 +CONFIG_SUNXI_SOC_NAME="sun20iw1" + +# +# SoC selection +# +# CONFIG_SOC_SIFIVE is not set +CONFIG_RISCV_SUNXI=y +CONFIG_ARCH_SUNXI=y +# CONFIG_FPGA_V4_PLATFORM is not set +# CONFIG_FPGA_V7_PLATFORM is not set +CONFIG_EVB_PLATFORM=y +CONFIG_ARCH_SUN20I=y +CONFIG_ARCH_SUN20IW1=y +CONFIG_ARCH_SUN20IW1P1=y +# end of SoC selection + +# +# Platform type +# +# CONFIG_ARCH_RV32I is not set +CONFIG_ARCH_RV64I=y +# CONFIG_CMODEL_MEDLOW is not set +CONFIG_CMODEL_MEDANY=y +CONFIG_MODULE_SECTIONS=y +# CONFIG_MAXPHYSMEM_2GB is not set +CONFIG_MAXPHYSMEM_128GB=y +# CONFIG_SMP is not set +CONFIG_TUNE_GENERIC=y +CONFIG_RISCV_ISA_C=y +CONFIG_FPU=y +CONFIG_VECTOR=y +# end of Platform type + +# +# Kernel features +# +CONFIG_HZ_100=y +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=100 +CONFIG_SCHED_HRTICK=y +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# end of Kernel features + +# +# Boot options +# +CONFIG_CMDLINE="" +# end of Boot options + +# +# CPU Power Management +# + +# +# CPU Idle +# +CONFIG_CPU_IDLE=y +# CONFIG_CPU_IDLE_GOV_LADDER is not set +CONFIG_CPU_IDLE_GOV_MENU=y +# CONFIG_CPU_IDLE_GOV_TEO is not set + +# +# RISCV CPU Idle Drivers +# +# CONFIG_RISCV_CPUIDLE is not set +# end of RISCV CPU Idle Drivers +# end of CPU Idle + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set +# end of CPU Frequency scaling +# end of CPU Power Management + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_PM_SLEEP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# end of Power management options + +# +# General architecture-dependent options +# +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_HAVE_ASM_MODVERSIONS=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_LTO_NONE=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=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_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y +CONFIG_HAVE_COPY_THREAD_TLS=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_64BIT_TIME=y +# CONFIG_REFCOUNT_FULL is not set +# CONFIG_LOCK_EVENT_COUNTS is not set + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +# end of GCOV-based kernel profiling + +CONFIG_PLUGIN_HOSTCC="" +# end of General architecture-dependent options + +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 is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_BLOCK=y +CONFIG_BLK_SCSI_REQUEST=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_DEV_ZONED is not set +# CONFIG_BLK_CMDLINE_PARSER is not set +# CONFIG_BLK_WBT is not set +# CONFIG_BLK_DEBUG_FS is not set +# CONFIG_BLK_SED_OPAL is not set +# CONFIG_BLK_INLINE_ENCRYPTION is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_EFI_PARTITION=y +# end of Partition Types + +CONFIG_BLK_MQ_VIRTIO=y +CONFIG_BLK_PM=y + +# +# IO Schedulers +# +CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=y +# CONFIG_IOSCHED_BFQ is not set +# end of IO Schedulers + +CONFIG_ASN1=y +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ARCH_HAS_MMIOWB=y +# CONFIG_GKI_HIDDEN_DRM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_REGMAP_CONFIGS is not set +# CONFIG_GKI_HIDDEN_CRYPTO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_SOC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MMC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPIO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_QCOM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MEDIA_CONFIGS is not set +# CONFIG_GKI_HIDDEN_VIRTUAL_CONFIGS is not set +# CONFIG_GKI_LEGACY_WEXT_ALLCONFIG is not set +# CONFIG_GKI_HIDDEN_USB_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SOC_BUS_CONFIGS is not set +# CONFIG_GKI_HIDDEN_RPMSG_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPU_CONFIGS is not set +# CONFIG_GKI_HIDDEN_IRQ_CONFIGS is not set +# CONFIG_GKI_HIDDEN_HYPERVISOR_CONFIGS is not set +# CONFIG_GKI_HACKS_TO_FIX is not set +# CONFIG_GKI_OPT_FEATURES is not set +CONFIG_FREEZER=y + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +CONFIG_ELFCORE=y +CONFIG_BINFMT_SCRIPT=y +CONFIG_ARCH_HAS_BINFMT_FLAT=y +# CONFIG_BINFMT_FLAT is not set +# CONFIG_BINFMT_MISC is not set +# CONFIG_COREDUMP is not set +# end of Executable file formats + +# +# Memory Management options +# +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_HAVE_MEMBLOCK_NODE_MAP=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_MEMORY_ISOLATION=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_CONTIG_ALLOC=y +CONFIG_PHYS_ADDR_T_64BIT=y +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_NEED_PER_CPU_KM=y +# CONFIG_CLEANCACHE 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 is not set +# CONFIG_IDLE_PAGE_TRACKING is not set +# CONFIG_PERCPU_STATS is not set +# CONFIG_GUP_BENCHMARK is not set +CONFIG_ARCH_HAS_PTE_SPECIAL=y +# end of Memory Management options + +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +CONFIG_PACKET_DIAG=y +CONFIG_UNIX=y +CONFIG_UNIX_SCM=y +CONFIG_UNIX_DIAG=y +# CONFIG_TLS is not set +# CONFIG_XFRM_USER is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_FIB_TRIE_STATS=y +CONFIG_IP_MULTIPLE_TABLES=y +# CONFIG_IP_ROUTE_MULTIPATH is not set +# CONFIG_IP_ROUTE_VERBOSE is not set +# CONFIG_IP_PNP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +# CONFIG_IP_MROUTE is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_FOU is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_RAW_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 is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y + +# +# Core Netfilter Configuration +# +# CONFIG_NETFILTER_INGRESS is not set +CONFIG_NETFILTER_NETLINK=m +# CONFIG_NETFILTER_NETLINK_ACCT is not set +# CONFIG_NETFILTER_NETLINK_QUEUE is not set +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NETFILTER_NETLINK_OSF is not set +CONFIG_NF_CONNTRACK=y +# CONFIG_NF_LOG_NETDEV is not set +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_ZONES=y +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CONNTRACK_LABELS=y +# CONFIG_NF_CT_PROTO_DCCP is not set +# CONFIG_NF_CT_PROTO_SCTP is not set +# CONFIG_NF_CT_PROTO_UDPLITE is not set +# CONFIG_NF_CONNTRACK_AMANDA is not set +# CONFIG_NF_CONNTRACK_FTP is not set +# CONFIG_NF_CONNTRACK_H323 is not set +# CONFIG_NF_CONNTRACK_IRC is not set +# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set +# CONFIG_NF_CONNTRACK_SNMP is not set +# CONFIG_NF_CONNTRACK_PPTP is not set +# CONFIG_NF_CONNTRACK_SANE is not set +# CONFIG_NF_CONNTRACK_SIP is not set +# CONFIG_NF_CONNTRACK_TFTP is not set +CONFIG_NF_CT_NETLINK=m +CONFIG_NF_CT_NETLINK_TIMEOUT=m +CONFIG_NF_NAT=y +CONFIG_NF_NAT_REDIRECT=y +CONFIG_NF_NAT_MASQUERADE=y +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +# CONFIG_NETFILTER_XT_MARK is not set +# CONFIG_NETFILTER_XT_CONNMARK is not set + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set +# CONFIG_NETFILTER_XT_TARGET_CONNMARK 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 is not set +# CONFIG_NETFILTER_XT_TARGET_LOG is not set +# CONFIG_NETFILTER_XT_TARGET_MARK is not set +CONFIG_NETFILTER_XT_NAT=y +CONFIG_NETFILTER_XT_TARGET_NETMAP=y +# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set +# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set +# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set +CONFIG_NETFILTER_XT_TARGET_REDIRECT=y +CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y +# CONFIG_NETFILTER_XT_TARGET_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set +# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set + +# +# Xtables matches +# +# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set +# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +# 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 is not set +# CONFIG_NETFILTER_XT_MATCH_ESP is not set +# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_HELPER is not set +# CONFIG_NETFILTER_XT_MATCH_HL is not set +# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set +# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set +# CONFIG_NETFILTER_XT_MATCH_L2TP is not set +# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set +# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_MAC is not set +# CONFIG_NETFILTER_XT_MATCH_MARK is not set +# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +# CONFIG_NETFILTER_XT_MATCH_OSF is not set +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set +# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set +# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set +# CONFIG_NETFILTER_XT_MATCH_QUOTA2 is not set +# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set +# CONFIG_NETFILTER_XT_MATCH_REALM is not set +# CONFIG_NETFILTER_XT_MATCH_RECENT is not set +# CONFIG_NETFILTER_XT_MATCH_SCTP is not set +# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set +CONFIG_NETFILTER_XT_MATCH_STATE=y +# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set +# CONFIG_NETFILTER_XT_MATCH_STRING is not set +# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set +# CONFIG_NETFILTER_XT_MATCH_TIME is not set +# CONFIG_NETFILTER_XT_MATCH_U32 is not set +# end of Core Netfilter Configuration + +# CONFIG_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=y +# CONFIG_NF_SOCKET_IPV4 is not set +CONFIG_NF_TPROXY_IPV4=y +# CONFIG_NF_DUP_IPV4 is not set +# CONFIG_NF_LOG_ARP is not set +# CONFIG_NF_LOG_IPV4 is not set +# CONFIG_NF_REJECT_IPV4 is not set +CONFIG_IP_NF_IPTABLES=y +# CONFIG_IP_NF_MATCH_AH is not set +# CONFIG_IP_NF_MATCH_ECN is not set +# CONFIG_IP_NF_MATCH_RPFILTER is not set +# CONFIG_IP_NF_MATCH_TTL is not set +CONFIG_IP_NF_FILTER=y +# CONFIG_IP_NF_TARGET_REJECT is not set +# CONFIG_IP_NF_TARGET_SYNPROXY is not set +CONFIG_IP_NF_NAT=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_IP_NF_TARGET_NETMAP=y +CONFIG_IP_NF_TARGET_REDIRECT=y +CONFIG_IP_NF_MANGLE=y +# 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 is not set +# CONFIG_IP_NF_ARPTABLES is not set +# end of IP: Netfilter Configuration + +# CONFIG_NF_CONNTRACK_BRIDGE is not set +# CONFIG_BPFILTER 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_BRIDGE is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_IEEE802154 is not set +# CONFIG_NET_SCHED is not set +# CONFIG_DCB is not set +# 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_NET_NSH is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_NET_NCSI is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +# CONFIG_BPF_JIT is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# end of Network testing +# end of Networking options + +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_AF_KCM is not set +CONFIG_FIB_RULES=y +# CONFIG_WIRELESS is not set +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +# CONFIG_PSAMPLE is not set +# CONFIG_NET_IFE is not set +# CONFIG_LWTUNNEL is not set +# CONFIG_FAILOVER is not set +CONFIG_HAVE_EBPF_JIT=y + +# +# Device Drivers +# +CONFIG_HAVE_PCI=y +# CONFIG_PCI is not set +# CONFIG_PCCARD is not set + +# +# Generic Driver Options +# +# CONFIG_UEVENT_HELPER is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# +CONFIG_FW_LOADER=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER is not set +# CONFIG_FW_LOADER_COMPRESS is not set +CONFIG_FW_CACHE=y +# end of Firmware loader + +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +CONFIG_GENERIC_CPU_DEVICES=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_DMA_FENCE_TRACE is not set +# end of Generic Driver Options + +# +# Bus devices +# +# CONFIG_MOXTET is not set +# CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SUN50I_DE2_BUS is not set +# CONFIG_SUNXI_RSB is not set +CONFIG_SUNXI_MBUS=y +# CONFIG_SUNXI_NSI is not set +# end of Bus devices + +# CONFIG_CONNECTOR is not set +# CONFIG_GNSS is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set +# CONFIG_MTD_SUNXI_PARTS is not set + +# +# Partition parsers +# +# end of Partition parsers + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +# CONFIG_MTD_CHAR is not set +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_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_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# end of RAM/ROM/Flash chip drivers + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set +# end of Mapping drivers for chip access + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_MCHP23K256 is not set +# CONFIG_MTD_SST25L is not set +# 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 +# end of Self-contained MTD device drivers + +# CONFIG_MTD_ONENAND is not set +# CONFIG_MTD_RAW_NAND is not set +# CONFIG_MTD_SPI_NAND is not set + +# +# sunxi-nand +# +CONFIG_AW_MTD_SPINAND=y +# CONFIG_AW_MTD_RAWNAND is not set +CONFIG_AW_SPINAND_PHYSICAL_LAYER=y +CONFIG_AW_SPINAND_SECURE_STORAGE=y +# CONFIG_AW_SPINAND_PSTORE_MTD_PART is not set +# CONFIG_AW_SPINAND_ENABLE_PHY_CRC16 is not set +CONFIG_AW_SPINAND_SIMULATE_MULTIPLANE=y +# CONFIG_AW_MTD_SPINAND_OOB_RAW_SPARE is not set +# end of sunxi-nand + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# end of LPDDR & LPDDR2 PCM memory drivers + +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +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=y +# CONFIG_MTD_HYPERBUS 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_KOBJ=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_RESERVED_MEM=y +# CONFIG_OF_OVERLAY is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_SUNXI_NAND is not set +# CONFIG_BLK_DEV_LOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_VIRTIO_BLK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# NVME Support +# +# CONFIG_NVME_FC is not set +# CONFIG_NVME_TARGET is not set +# end of NVME Support + +# +# Misc devices +# +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES 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_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_XILINX_SDFEC is not set +# CONFIG_PVPANIC is not set +# CONFIG_HISI_HIKEY_USB is not set +# 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 is not set +# CONFIG_EEPROM_93XX46 is not set +# CONFIG_EEPROM_IDT_89HPESX is not set +# CONFIG_EEPROM_EE1004 is not set +# end of EEPROM support + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# end of Texas Instruments shared transport line discipline + +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC & related support +# + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# VOP Bus Driver +# +# CONFIG_VOP_BUS is not set + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# + +# +# VOP Driver +# +# end of Intel MIC & related support + +# CONFIG_ECHO is not set +# CONFIG_MISC_RTSX_USB is not set +# CONFIG_SUNXI_BOOTEVENT is not set + +# +# sunxi Gorilla ESL platform +# +# CONFIG_SUNXI_GORILLA is not set +# end of sunxi Gorilla ESL platform + +# CONFIG_SUNXI_MIPSLOADER is not set +# CONFIG_SUNXI_TVUTILS is not set +# end of Misc devices + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# 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_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 is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# end of SCSI Transports + +# CONFIG_SCSI_LOWLEVEL is not set +# CONFIG_SCSI_DH is not set +# end of SCSI device support + +# CONFIG_ATA is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +# CONFIG_NETDEVICES is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +CONFIG_INPUT_SENSORINIT=y + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ADP5588 is not set +# CONFIG_KEYBOARD_ADP5589 is not set +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_QT1050 is not set +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 is not set +# CONFIG_KEYBOARD_DLINK_DIR685 is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYBOARD_GPIO_POLLED is not set +# CONFIG_KEYBOARD_TCA6416 is not set +# CONFIG_KEYBOARD_TCA8418 is not set +# CONFIG_KEYBOARD_MATRIX is not set +# CONFIG_KEYBOARD_LM8333 is not set +# CONFIG_KEYBOARD_MAX7359 is not set +# CONFIG_KEYBOARD_MCS is not set +# CONFIG_KEYBOARD_MPR121 is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_SAMSUNG is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_SUN4I_LRADC is not set +# CONFIG_KEYBOARD_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +# CONFIG_KEYBOARD_SUNXI is not set +# CONFIG_KEYBOARD_TPKEY is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET 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_BU21029 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_EXC3000 is not set +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GOODIX is not set +# CONFIG_TOUCHSCREEN_HIDEEP is not set +# CONFIG_TOUCHSCREEN_ILI210X is not set +# CONFIG_TOUCHSCREEN_S6SY761 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_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_SUN4I is not set +# CONFIG_TOUCHSCREEN_SUNXI is not set +# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set +# CONFIG_TOUCHSCREEN_SX8654 is not set +# CONFIG_TOUCHSCREEN_TPS6507X is not set +# CONFIG_TOUCHSCREEN_ZET6223 is not set +# CONFIG_TOUCHSCREEN_ZFORCE is not set +# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set +# CONFIG_TOUCHSCREEN_IQS5XX is not set +# CONFIG_TOUCHSCREEN_GSLX680NEW is not set +CONFIG_TOUCHSCREEN_GT9XXNEW_TS=y +# CONFIG_TOUCHSCREEN_GT9XXNEWDUP_TS is not set +# CONFIG_TOUCHSCREEN_FTS is not set +# CONFIG_INPUT_MISC is not set +# CONFIG_RMI4_CORE is not set +CONFIG_INPUT_SENSOR=y +# CONFIG_SENSORS_SC7A20 is not set +# CONFIG_SENSORS_MIR3DA is not set +# CONFIG_STK3X1X is not set +# CONFIG_SUNXI_TPADC is not set +CONFIG_SUNXI_GPADC=y + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +# 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_SERIO_SUN4I_PS2 is not set +# CONFIG_SERIO_GPIO_PS2 is not set +# CONFIG_USERIO is not set +# CONFIG_GAMEPORT is not set +# end of Hardware I/O ports +# end of Input device support + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +# CONFIG_NULL_TTY is not set +# CONFIG_LDISC_AUTOLOAD is not set +# CONFIG_DEVMEM is not set +# CONFIG_DEVKMEM is not set + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +# CONFIG_SERIAL_SAMSUNG is not set +# 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_SIFIVE 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_FSL_LPUART is not set +# CONFIG_SERIAL_FSL_LINFLEXUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_SPRD is not set +CONFIG_SERIAL_SUNXI=y +# CONFIG_SERIAL_SUNXI_DMA is not set +CONFIG_SERIAL_SUNXI_CONSOLE=y +# CONFIG_SERIAL_SUNXI_EARLYCON is not set +# end of Serial drivers + +# CONFIG_SERIAL_DEV_BUS is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_RISCV_SBI is not set +# CONFIG_VIRTIO_CONSOLE is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set +# CONFIG_SUNXI_BS83B16C is not set +# end of Character devices + +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set +# CONFIG_DUMP_REG is not set +# CONFIG_SUNXI_G2D is not set +# CONFIG_SUNXI_DI is not set +CONFIG_SUNXI_SYS_INFO=y +# CONFIG_SUNXI_QA_TEST is not set +# CONFIG_SUNXI_SMC 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 is not set +# CONFIG_I2C_MUX_GPMUX is not set +# CONFIG_I2C_MUX_LTC4306 is not set +# CONFIG_I2C_MUX_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_PINCTRL is not set +# CONFIG_I2C_MUX_REG is not set +# CONFIG_I2C_DEMUX_PINCTRL is not set +# CONFIG_I2C_MUX_MLXCPLD is not set +# end of Multiplexer I2C Chip support + +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_MV64XXX is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_SUNXI=y +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_RK3X is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# 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 +# +# end of I2C Hardware Bus support + +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_SLAVE is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# end of I2C support + +# CONFIG_I3C is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y +# CONFIG_SPI_MEM is not set + +# +# 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 is not set +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_NXP_FLEXSPI 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_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_SIFIVE is not set +# CONFIG_SPI_SUN4I is not set +# CONFIG_SPI_SUN6I is not set +# CONFIG_SPI_MXIC is not set +CONFIG_SPI_SUNXI=y +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set + +# +# SPI Protocol Masters +# +# CONFIG_SPI_SPIDEV is not set +# CONFIG_SPI_LOOPBACK_TEST is not set +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPI_SLAVE is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set +# CONFIG_PPS is not set + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +# end of PTP clock support + +CONFIG_PINCTRL=y +CONFIG_PINMUX=y +CONFIG_PINCONF=y +CONFIG_GENERIC_PINCONF=y +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_MCP23S08 is not set +# CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_SX150X is not set +# CONFIG_PINCTRL_STMFX is not set +# CONFIG_PINCTRL_OCELOT is not set + +# +# Allwinner SOC PINCTRL DRIVER +# +CONFIG_PINCTRL_SUNXI=y +# CONFIG_PINCTRL_SUNXI_DEBUGFS is not set +# CONFIG_PINCTRL_SUNXI_TEST is not set +# CONFIG_PINCTRL_SUN8IW15P1 is not set +# CONFIG_PINCTRL_SUN8IW15P1_R is not set +CONFIG_PINCTRL_SUN8IW20=y +# CONFIG_PINCTRL_SUN50IW9 is not set +# CONFIG_PINCTRL_SUN50IW9_R is not set +# CONFIG_PINCTRL_SUN50IW10P1 is not set +# CONFIG_PINCTRL_SUN50IW10P1_R is not set +# CONFIG_PINCTRL_SUN50IW12 is not set +# CONFIG_PINCTRL_SUN50IW12_R is not set +# CONFIG_PINCTRL_SUN55IW3 is not set +# CONFIG_PINCTRL_SUN55IW3_R is not set +# CONFIG_PINCTRL_SUN4I_A10 is not set +# CONFIG_PINCTRL_SUN5I is not set +# CONFIG_PINCTRL_SUN6I_A31 is not set +# CONFIG_PINCTRL_SUN6I_A31_R is not set +# CONFIG_PINCTRL_SUN8I_A23 is not set +# CONFIG_PINCTRL_SUN8I_A33 is not set +# CONFIG_PINCTRL_SUN8I_A83T is not set +# CONFIG_PINCTRL_SUN8I_A83T_R is not set +# CONFIG_PINCTRL_SUN8I_A23_R is not set +# CONFIG_PINCTRL_SUN8I_H3 is not set +# CONFIG_PINCTRL_SUN8I_H3_R is not set +# CONFIG_PINCTRL_SUN8I_V3S is not set +# CONFIG_PINCTRL_SUN9I_A80 is not set +# CONFIG_PINCTRL_SUN9I_A80_R is not set +# CONFIG_PINCTRL_SUN50I_A64 is not set +# CONFIG_PINCTRL_SUN50I_A64_R is not set +# CONFIG_PINCTRL_SUN50I_A100 is not set +# CONFIG_PINCTRL_SUN50I_A100_R is not set +# CONFIG_PINCTRL_SUN50I_H5 is not set +# CONFIG_PINCTRL_SUN50I_H6 is not set +# CONFIG_PINCTRL_SUN50I_H6_R is not set +# end of Allwinner SOC PINCTRL DRIVER + +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_OF_GPIO=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_SUNXI is not set +# CONFIG_GPIO_CADENCE is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_FTGPIO010 is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_HLWD is not set +# CONFIG_GPIO_MB86S7X is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_AMD_FCH is not set +# end of Memory mapped GPIO drivers + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_BS83B16C is not set +# CONFIG_GPIO_GW_PLD is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_TPIC2810 is not set +# end of I2C GPIO expanders + +# +# MFD GPIO expanders +# +# end of MFD GPIO expanders + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX3191X is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_PISOSR is not set +# CONFIG_GPIO_XRA1403 is not set +# end of SPI GPIO expanders + +# +# USB GPIO expanders +# +# end of USB GPIO expanders + +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_W1 is not set +# CONFIG_POWER_AVS is not set +# CONFIG_POWER_RESET is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_POWER_SUPPLY_HWMON=y +# CONFIG_PDA_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_CHARGER_ADP5061 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_CHARGER_SBS is not set +# CONFIG_MANAGER_SBS is not set +# CONFIG_BATTERY_BQ27XXX is not set +# CONFIG_BATTERY_MAX17040 is not set +# CONFIG_BATTERY_MAX17042 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_LT3651 is not set +# CONFIG_CHARGER_DETECTOR_MAX14656 is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24257 is not set +# CONFIG_CHARGER_BQ24735 is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_CHARGER_RT9455 is not set +# CONFIG_CHARGER_UCS1002 is not set +CONFIG_HWMON=y +# 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_AS370 is not set +# CONFIG_SENSORS_ASC7621 is not set +# CONFIG_SENSORS_ASPEED is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS620 is not set +# CONFIG_SENSORS_DS1621 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_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_MAX6621 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_TC654 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_NPCM7XX 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_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_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set +# CONFIG_SENSORS_STTS751 is not set +# CONFIG_SENSORS_SMM665 is not set +# CONFIG_SENSORS_ADC128D818 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_TMP108 is not set +# CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83773G 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_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y +CONFIG_WATCHDOG_OPEN_TIMEOUT=0 +# CONFIG_WATCHDOG_SYSFS is not set + +# +# Watchdog Pretimeout Governors +# +# CONFIG_WATCHDOG_PRETIMEOUT_GOV 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_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +CONFIG_SUNXI_WATCHDOG=y +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +# CONFIG_MFD_ACX00 is not set +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_SUN4I_GPADC 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_BD9571MWV is not set +# CONFIG_MFD_AXP2101_I2C is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_MADERA 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_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_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 is not set +# CONFIG_MFD_MAX77650 is not set +# 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_CPCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_RT5033 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_SUN6I_PRCM=y +# CONFIG_MFD_SYSCON is not set +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_TI_LMU 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_TI_LP87565 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_TQMX86 is not set +# CONFIG_MFD_LOCHNAGAR 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_ROHM_BD718XX is not set +# CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_STPMIC1 is not set +# CONFIG_MFD_STMFX is not set +# end of Multifunction device drivers + +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_88PG86X is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +CONFIG_SUNXI_REGULATOR_PWM=y +# CONFIG_REGULATOR_DA9210 is not set +# CONFIG_REGULATOR_DA9211 is not set +# CONFIG_REGULATOR_FAN53555 is not set +# CONFIG_REGULATOR_GPIO is not set +# 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_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MCP16502 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 is not set +# CONFIG_REGULATOR_SLG51000 is not set +# CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X 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 is not set +# CONFIG_REGULATOR_TPS6524X is not set +# CONFIG_REGULATOR_VCTRL is not set +# CONFIG_RC_CORE is not set +# CONFIG_MEDIA_SUPPORT is not set + +# +# Graphics support +# + +# +# GPU support for sunxi +# +CONFIG_SUNXI_GPU_TYPE="None" +# end of GPU support for sunxi + +# CONFIG_DRM is not set +# CONFIG_DRM_DP_CEC is not set + +# +# ARM devices +# +# end of ARM devices + +# +# ACP (Audio CoProcessor) Configuration +# +# end of ACP (Audio CoProcessor) Configuration + +# +# Frame buffer Devices +# +CONFIG_FB_CMDLINE=y +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX 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_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set + +# +# Video support for sunxi +# +# CONFIG_FB_CONSOLE_SUNXI is not set +CONFIG_DISP2_SUNXI=y +CONFIG_SUNXI_DISP2_FB_DISABLE_ROTATE=y +# CONFIG_SUNXI_DISP2_FB_ROTATION_SUPPORT is not set +# CONFIG_SUNXI_DISP2_FB_DECOMPRESS_LZMA is not set +# CONFIG_HDMI_DISP2_SUNXI is not set +# CONFIG_HDMI2_DISP2_SUNXI is not set +# CONFIG_HDMI_EP952_DISP2_SUNXI is not set +# CONFIG_TV_DISP2_SUNXI is not set +# CONFIG_VDPO_DISP2_SUNXI is not set +# CONFIG_EDP_DISP2_SUNXI is not set +# CONFIG_DISP2_SUNXI_BOOT_COLORBAR is not set +CONFIG_DISP2_SUNXI_DEBUG=y +# CONFIG_DISP2_SUNXI_COMPOSER is not set +# CONFIG_DISP2_LCD_ESD_DETECT is not set +# CONFIG_LCD_FB is not set +# CONFIG_LCD_FB_ENABLE_DEFERRED_IO is not set + +# +# LCD panels select +# +# CONFIG_LCD_SUPPORT_GG1P4062UTSW is not set +# CONFIG_LCD_SUPPORT_DX0960BE40A1 is not set +# CONFIG_LCD_SUPPORT_TFT720X1280 is not set +# CONFIG_LCD_SUPPORT_FD055HD003S is not set +CONFIG_LCD_SUPPORT_HE0801A068=y +# CONFIG_LCD_SUPPORT_ILI9341 is not set +# CONFIG_LCD_SUPPORT_LH219WQ1 is not set +# CONFIG_LCD_SUPPORT_LS029B3SX02 is not set +# CONFIG_LCD_SUPPORT_LT070ME05000 is not set +# CONFIG_LCD_SUPPORT_S6D7AA0X01 is not set +# CONFIG_LCD_SUPPORT_T27P06 is not set +# CONFIG_LCD_SUPPORT_TFT720x1280 is not set +# CONFIG_LCD_SUPPORT_WTQ05027D01 is not set +# CONFIG_LCD_SUPPORT_H245QBN02 is not set +# CONFIG_LCD_SUPPORT_ST7789V is not set +# CONFIG_LCD_SUPPORT_ST7796S is not set +# CONFIG_LCD_SUPPORT_ST7701S is not set +# CONFIG_LCD_SUPPORT_T30P106 is not set +# CONFIG_LCD_SUPPORT_TO20T20000 is not set +# CONFIG_LCD_SUPPORT_FRD450H40014 is not set +# CONFIG_LCD_SUPPORT_S2003T46G is not set +# CONFIG_LCD_SUPPORT_WILLIAMLCD is not set +# CONFIG_LCD_SUPPORT_LQ101R1SX03 is not set +# CONFIG_LCD_SUPPORT_INET_DSI_PANEL is not set +# CONFIG_LCD_SUPPORT_WTL096601G03 is not set +# CONFIG_LCD_SUPPORT_RT13QV005D is not set +# CONFIG_LCD_SUPPORT_ST7789V_CPU is not set +# CONFIG_LCD_SUPPORT_CC08021801_310_800X1280 is not set +# CONFIG_LCD_SUPPORT_JD9366AB_3 is not set +# CONFIG_LCD_SUPPORT_TFT08006 is not set +# CONFIG_LCD_SUPPORT_BP101WX1_206 is not set +# CONFIG_LCD_SUPPORT_FX070 is not set +# CONFIG_LCD_SUPPORT_K101IM2QA04 is not set +# CONFIG_LCD_SUPPORT_K101_IM2BYL02_L_800X1280 is not set +# CONFIG_LCD_SUPPORT_K080_IM2HYL802R_800X1280 is not set +# end of LCD panels select + +# +# Display engine feature select +# +# CONFIG_DISP2_SUNXI_SUPPORT_SMBL is not set +# CONFIG_DISP2_SUNXI_SUPPORT_ENAHNCE is not set +# CONFIG_DISP2_SUNXI_DEVICE_OFF_ON_RELEASE is not set +# end of Display engine feature select +# end of Video support for sunxi +# end of Frame buffer Devices + +# +# Backlight & LCD device support +# +# CONFIG_LCD_CLASS_DEVICE is not set +# CONFIG_BACKLIGHT_CLASS_DEVICE is not set +# end of Backlight & LCD device support + +# CONFIG_LOGO is not set +# end of Graphics support + +# CONFIG_SOUND is not set + +# +# HID support +# +# CONFIG_HID is not set + +# +# USB HID support +# +# CONFIG_USB_HID is not set +# CONFIG_HID_PID is not set + +# +# USB HID Boot Protocol drivers +# +# CONFIG_USB_KBD is not set +# CONFIG_USB_MOUSE is not set +# end of USB HID Boot Protocol drivers +# end of USB HID support + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +# end of I2C HID support +# end of HID support + +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_USB_CONN_GPIO is not set +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +CONFIG_USB_AUTOSUSPEND_DELAY=2 +# CONFIG_USB_MON is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_XHCI_HCD is not set +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +# CONFIG_USB_EHCI_FSL is not set +CONFIG_USB_EHCI_HCD_SUNXI=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_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_SUNXI=y +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set +CONFIG_USB_SUNXI_HCD=y +CONFIG_USB_SUNXI_HCI=y +CONFIG_USB_SUNXI_EHCI0=y +CONFIG_USB_SUNXI_EHCI1=y +CONFIG_USB_SUNXI_OHCI0=y +CONFIG_USB_SUNXI_OHCI1=y + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# 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 is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set +CONFIG_USB_UAS=y + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_CDNS3 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 is not set +# CONFIG_USB_ISP1760 is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +# CONFIG_USB_EZUSB_FX2 is not set +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# end of USB Physical Layer drivers + +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 +# CONFIG_U_SERIAL_CONSOLE is not set + +# +# 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_SNP_UDC_PLAT is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_NET2272 is not set +CONFIG_USB_SUNXI_UDC0=y +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_DUMMY_HCD is not set +# end of USB Peripheral Controller + +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_U_SERIAL=y +CONFIG_USB_F_SERIAL=y +CONFIG_USB_F_FS=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_UEVENT=y +CONFIG_USB_CONFIGFS_SERIAL=y +# CONFIG_USB_CONFIGFS_ACM is not set +# CONFIG_USB_CONFIGFS_OBEX is not set +# CONFIG_USB_CONFIGFS_NCM is not set +# CONFIG_USB_CONFIGFS_ECM is not set +# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set +# CONFIG_USB_CONFIGFS_RNDIS is not set +# CONFIG_USB_CONFIGFS_EEM is not set +# CONFIG_USB_CONFIGFS_MASS_STORAGE is not set +# CONFIG_USB_CONFIGFS_F_LB_SS is not set +CONFIG_USB_CONFIGFS_F_FS=y +# CONFIG_USB_CONFIGFS_F_HID is not set +# CONFIG_USB_CONFIGFS_F_PRINTER is not set +CONFIG_USB_SUNXI_USB=y +CONFIG_USB_SUNXI_USB_MANAGER=y +CONFIG_USB_SUNXI_USB_DEBUG=y +CONFIG_USB_SUNXI_USB_ADB=y +# CONFIG_TYPEC is not set +CONFIG_USB_ROLE_SWITCH=y +CONFIG_MMC=y +# CONFIG_PWRSEQ_EMMC is not set +# CONFIG_PWRSEQ_SIMPLE is not set +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_USDHI6ROL0 is not set +CONFIG_MMC_SUNXI=y +CONFIG_MMC_SUNXI_V4P1X=y +CONFIG_MMC_SUNXI_V4P00X=y +CONFIG_MMC_SUNXI_V4P10X=y +CONFIG_MMC_SUNXI_V4P5X=y +CONFIG_MMC_SUNXI_V5P3X=y +# CONFIG_MMC_CQHCI is not set +# CONFIG_MMC_HSQ is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_SUPPORT=y +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_NVMEM=y + +# +# 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_ABEOZ9 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_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_ISL12026 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_PCF85363 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_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3028 is not set +# CONFIG_RTC_DRV_RV8803 is not set +# CONFIG_RTC_DRV_SD3078 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_RX6110 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_SUN6I is not set +CONFIG_RTC_DRV_SUNXI=y +CONFIG_SUNXI_REBOOT_FLAG=y +CONFIG_SUNXI_RTC_BOOTCOUNT=y +CONFIG_SUNXI_RTC_POWEROFF_ALARM=y +# CONFIG_RTC_DRV_CADENCE is not set +# CONFIG_RTC_DRV_FTRTC010 is not set +# CONFIG_RTC_DRV_SNVS is not set +# CONFIG_RTC_DRV_R7301 is not set + +# +# HID Sensor RTC drivers +# +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_ALTERA_MSGDMA is not set +CONFIG_DMA_SUN6I=y +# CONFIG_DW_AXI_DMAC is not set +# CONFIG_FSL_EDMA is not set +# CONFIG_INTEL_IDMA64 is not set +# CONFIG_QCOM_HIDMA_MGMT is not set +# CONFIG_QCOM_HIDMA is not set +# CONFIG_DW_DMAC is not set + +# +# DMA Clients +# +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_DMATEST is not set + +# +# DMABUF options +# +CONFIG_SYNC_FILE=y +# CONFIG_SW_SYNC is not set +# CONFIG_UDMABUF is not set +# CONFIG_DMABUF_SELFTESTS is not set +# end of DMABUF options + +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set +CONFIG_VIRTIO=y +# CONFIG_VIRTIO_MENU is not set + +# +# Microsoft Hyper-V guest support +# +# end of Microsoft Hyper-V guest support + +# CONFIG_GREYBUS is not set +CONFIG_STAGING=y +# CONFIG_COMEDI is not set + +# +# Speakup console speech +# +# end of Speakup console speech + +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +# CONFIG_ION is not set +# end of Android + +# CONFIG_STAGING_BOARD is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_UNISYSSPAR is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_MOST is not set +# CONFIG_PI433 is not set + +# +# Gasket devices +# +# end of Gasket devices + +# CONFIG_XIL_AXIS_FIFO is not set +# CONFIG_FIELDBUS_DEV is not set +# CONFIG_USB_WUSB_CBAF is not set +# CONFIG_UWB is not set +CONFIG_EXFAT_FS=y +CONFIG_EXFAT_DONT_MOUNT_VFAT=y +CONFIG_EXFAT_DISCARD=y +CONFIG_EXFAT_DELAYED_SYNC=y +CONFIG_EXFAT_KERNEL_DEBUG=y +CONFIG_EXFAT_DEBUG_MSG=y +CONFIG_EXFAT_DEFAULT_CODEPAGE=437 +CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_DEBUG is not set +# CONFIG_CLK_HSDK is not set +# CONFIG_COMMON_CLK_MAX9485 is not set +# CONFIG_COMMON_CLK_SI5341 is not set +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI544 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_COMMON_CLK_PWM is not set +# CONFIG_COMMON_CLK_VC5 is not set +# CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_CLK_SIFIVE is not set +# CONFIG_CLK_SUNXI is not set +CONFIG_SUNXI_CCU=y +CONFIG_SUN8IW20_CCU=y +CONFIG_SUN8IW20_R_CCU=y +# CONFIG_SUN8I_A83T_CCU is not set +# CONFIG_SUN8I_DE2_CCU is not set +# CONFIG_SUN8I_R_CCU is not set +CONFIG_SUNXI_RTC_CCU=y +# end of Common Clock Framework + +# CONFIG_HWSPINLOCK is not set +# CONFIG_HWSPINLOCK_SUNXI is not set + +# +# Clock Source drivers +# +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_SUN4I_TIMER=y +# CONFIG_SUN50I_TIMER is not set +# CONFIG_SUNXI_TIMER is not set +# CONFIG_SUNXI_TIMER_TEST is not set +# CONFIG_MTK_TIMER is not set +CONFIG_RISCV_TIMER=y +# end of Clock Source drivers + +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_IOVA=y +CONFIG_IOMMU_API=y +# CONFIG_IOMMU_LIMIT_IOVA_ALIGNMENT is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# end of Generic IOMMU Pagetable Support + +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set +CONFIG_OF_IOMMU=y +CONFIG_IOMMU_DMA=y +CONFIG_SUNXI_IOMMU=y +CONFIG_SUNXI_IOMMU_DEBUG=y +# CONFIG_SUNXI_IOMMU_TESTS is not set + +# +# Remoteproc drivers +# +# CONFIG_REMOTEPROC is not set +# end of Remoteproc drivers + +# +# Rpmsg drivers +# +# CONFIG_RPMSG_SUNXI_AMP is not set +# CONFIG_RPMSG_DSP_STANDBY is not set +# CONFIG_RPMSG_VIRTIO is not set +# CONFIG_RPMSG_SUNXI_TTY is not set +# CONFIG_RPMSG_SUNXI_CLIENT_SAMPLE is not set +# end of Rpmsg drivers + +# CONFIG_SOUNDWIRE is not set + +# +# SOC (System On Chip) specific Drivers +# + +# +# Amlogic SoC drivers +# +# end of Amlogic SoC drivers + +# +# Aspeed SoC drivers +# +# end of Aspeed SoC drivers + +# +# Broadcom SoC drivers +# +# end of Broadcom SoC drivers + +# +# NXP/Freescale QorIQ SoC drivers +# +# end of NXP/Freescale QorIQ SoC drivers + +# +# i.MX SoC drivers +# +# end of i.MX SoC drivers + +# +# Qualcomm SoC drivers +# +# end of Qualcomm SoC drivers + +# CONFIG_SUNXI_SRAM is not set +CONFIG_SUNXI_SID=y +CONFIG_SUNXI_RISCV_SUSPEND=y +# CONFIG_SOC_TI is not set + +# +# Xilinx SoC drivers +# +# CONFIG_XILINX_VCU is not set +# end of Xilinx SoC drivers +# end of SOC (System On Chip) specific Drivers + +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO 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_SIFIVE is not set +# CONFIG_PWM_SUN4I is not set +CONFIG_PWM_SUNXI_GROUP=y +# CONFIG_DSP_DEBUG is not set + +# +# IRQ chip support +# +CONFIG_IRQCHIP=y +# CONFIG_AL_FIC is not set +CONFIG_SIFIVE_PLIC=y +# CONFIG_SUNXI_WAKEUPGEN is not set +# CONFIG_SUN8I_NMI is not set +# end of IRQ chip support + +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_SIMPLE=y +CONFIG_RESET_SUNXI=y +# CONFIG_RESET_TI_SYSCON is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_SUN6I_MIPI_DPHY is not set +# CONFIG_PHY_SUN9I_USB is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_PHY_CADENCE_DP is not set +# CONFIG_PHY_CADENCE_DPHY is not set +# CONFIG_PHY_CADENCE_SIERRA is not set +# CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_MIXEL_MIPI_DPHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PHY_MAPPHONE_MDM6600 is not set +# end of PHY Subsystem + +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# end of Android + +# CONFIG_LIBNVDIMM is not set +# CONFIG_DAX is not set +CONFIG_NVMEM=y +CONFIG_NVMEM_SYSFS=y +CONFIG_NVMEM_SUNXI_SID=y + +# +# HW tracing support +# +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set +# end of HW tracing support + +# CONFIG_FPGA is not set +# CONFIG_FSI is not set +# CONFIG_SIOX is not set +# CONFIG_SLIMBUS is not set +# CONFIG_INTERCONNECT is not set +# CONFIG_COUNTER is not set +# end of Device Drivers + +# +# File systems +# +# CONFIG_VALIDATE_FS_PARSER is not set +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +# CONFIG_EXT4_FS is not set +# 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 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_FS_VERITY is not set +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_AUTOFS_FS is not set +CONFIG_FUSE_FS=y +CONFIG_CUSE=y +CONFIG_VIRTIO_FS=y +CONFIG_OVERLAY_FS=y +# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y +# CONFIG_OVERLAY_FS_INDEX is not set +# CONFIG_OVERLAY_FS_XINO_AUTO is not set +# CONFIG_OVERLAY_FS_METACOPY is not set +# CONFIG_INCREMENTAL_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set +# end of Caches + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set +# end of CD-ROM/DVD Filesystems + +# +# 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=y +CONFIG_NTFS_FS=y +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_RW=y +# end of DOS/FAT/NT Filesystems + +# +# 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_KERNFS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +# CONFIG_HUGETLBFS is not set +CONFIG_MEMFD_CREATE=y +CONFIG_ARCH_HAS_GIGANTIC_PAGE=y +CONFIG_CONFIGFS_FS=y +# end of Pseudo filesystems + +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ORANGEFS_FS is not set +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_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=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +# CONFIG_UBIFS_FS_LZO is not set +# CONFIG_UBIFS_FS_ZLIB is not set +# CONFIG_UBIFS_FS_ZSTD is not set +# CONFIG_UBIFS_ATIME_SUPPORT is not set +CONFIG_UBIFS_FS_XATTR=y +CONFIG_UBIFS_FS_SECURITY=y +# CONFIG_UBIFS_FS_AUTHENTICATION is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +# CONFIG_SQUASHFS_FILE_CACHE is not set +CONFIG_SQUASHFS_FILE_DIRECT=y +# CONFIG_SQUASHFS_DECOMP_SINGLE is not set +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y +# CONFIG_SQUASHFS_XATTR is not set +# CONFIG_SQUASHFS_ZLIB is not set +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +# CONFIG_SQUASHFS_XZ is not set +# CONFIG_SQUASHFS_ZSTD is not set +# 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 is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +# CONFIG_EROFS_FS is not set +# CONFIG_NETWORK_FILESYSTEMS 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_UNICODE is not set +# end of File systems + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +# CONFIG_HARDENED_USERCOPY is not set +# CONFIG_STATIC_USERMODEHELPER is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity" + +# +# Kernel hardening options +# + +# +# Memory initialization +# +CONFIG_INIT_STACK_NONE=y +# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set +# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# end of Memory initialization +# end of Kernel hardening options +# end of Security options + +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_ACOMP2=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_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Public-key cryptography +# +CONFIG_CRYPTO_RSA=y +# CONFIG_CRYPTO_DH is not set +CONFIG_CRYPTO_ECC=y +CONFIG_CRYPTO_ECDH=y +# CONFIG_CRYPTO_ECRDSA is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=y +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +# CONFIG_CRYPTO_AEGIS128 is not set +CONFIG_CRYPTO_SEQIV=y +# CONFIG_CRYPTO_ECHAINIV is not set + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CFB is not set +CONFIG_CRYPTO_CTR=y +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_OFB is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set +# CONFIG_CRYPTO_ADIANTUM is not set +# CONFIG_CRYPTO_ESSIV 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_XXHASH is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=y +# CONFIG_CRYPTO_POLY1305 is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# 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 is not set +CONFIG_CRYPTO_LIB_SHA256=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_SHA3 is not set +# CONFIG_CRYPTO_SM3 is not set +# CONFIG_CRYPTO_STREEBOG is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_AES_TI is not set +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_LIB_ARC4=y +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 is not set +# 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_SM4 is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set +CONFIG_CRYPTO_ZSTD=y + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +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_HASH_INFO=y +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_VIRTIO is not set +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set +# CONFIG_CRYPTO_DEV_CCREE is not set + +# +# Support for Allwinner Sunxi CryptoEngine +# + +# +# Choose one according to the actual usage +# +# CONFIG_CRYPTO_DEV_SUNXI is not set +# CONFIG_CRYPTO_DEV_SUNXI_IOCTL is not set +# end of Support for Allwinner Sunxi CryptoEngine + +# +# Certificates for signature checking +# +# end of Certificates for signature checking + +# +# Library routines +# +# CONFIG_PACKING is not set +CONFIG_BITREVERSE=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +# CONFIG_CORDIC is not set +CONFIG_RATIONAL=y +CONFIG_GENERIC_PCI_IOMAP=y +# CONFIG_CRC_CCITT is not set +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +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_CRC64 is not set +# CONFIG_CRC4 is not set +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +CONFIG_XXHASH=y +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y +CONFIG_XZ_DEC=y +# CONFIG_XZ_DEC_X86 is not set +# CONFIG_XZ_DEC_POWERPC is not set +# CONFIG_XZ_DEC_IA64 is not set +# CONFIG_XZ_DEC_ARM is not set +# CONFIG_XZ_DEC_ARMTHUMB is not set +# CONFIG_XZ_DEC_SPARC is not set +# CONFIG_XZ_DEC_TEST is not set +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_HAS_DMA_WRITE_COMBINE=y +CONFIG_DMA_DECLARE_COHERENT=y +CONFIG_ARCH_HAS_SETUP_DMA_OPS=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y +CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y +CONFIG_ARCH_HAS_DMA_COHERENT_TO_PFN=y +CONFIG_DMA_REMAP=y +CONFIG_DMA_DIRECT_REMAP=y +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=16 +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 +# CONFIG_DMA_API_DEBUG is not set +CONFIG_SGL_ALLOC=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_CLZ_TAB=y +# CONFIG_IRQ_POLL is not set +CONFIG_MPILIB=y +CONFIG_LIBFDT=y +CONFIG_SG_POOL=y +CONFIG_SBITMAP=y +# CONFIG_STRING_SELFTEST is not set +# end of Library routines + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +CONFIG_PRINTK_TIME=y +# CONFIG_PRINTK_CALLER is not set +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 +CONFIG_CONSOLE_LOGLEVEL_QUIET=4 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_DYNAMIC_DEBUG is not set +# CONFIG_DYNAMIC_DEBUG_CORE is not set +# end of printk and dmesg options + +# +# 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_DEBUG_INFO_BTF is not set +# CONFIG_GDB_SCRIPTS is not set +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=2048 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_INSTALL is not set +CONFIG_OPTIMIZE_INLINING=y +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# end of Compile-time checks and compiler options + +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_MAGIC_SYSRQ_SERIAL=y +CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_MISC=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_PAGE_OWNER is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_STATS is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_MEMORY_INIT is not set +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_KASAN_STACK=1 +# end of Memory Debugging + +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_SOFTLOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_WQ_WATCHDOG is not set +# end of Debug Lockups and Hangs + +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_DEBUG is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# 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=y +# CONFIG_DEBUG_RWSEMS 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_WW_MUTEX_SELFTEST is not set +# end of Lock Debugging (spinlocks, mutexes, etc...) + +CONFIG_STACKTRACE=y +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PLIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_RCU_PERF_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# end of RCU Debugging + +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_TRACING_SUPPORT=y +# CONFIG_FTRACE is not set +# CONFIG_RUNTIME_TESTING_MENU is not set +# CONFIG_MEMTEST is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_SAMPLES is not set +# CONFIG_UBSAN is not set +CONFIG_UBSAN_ALIGNMENT=y +# end of Kernel hacking diff --git a/device/config/chips/f133/configs/evb1/overlay.fex b/device/config/chips/f133/configs/evb1/overlay.fex new file mode 100644 index 0000000..bdd6c8b Binary files /dev/null and b/device/config/chips/f133/configs/evb1/overlay.fex differ diff --git a/device/config/chips/f133/configs/evb1/sys_config.fex b/device/config/chips/f133/configs/evb1/sys_config.fex new file mode 100755 index 0000000..e2078e6 --- /dev/null +++ b/device/config/chips/f133/configs/evb1/sys_config.fex @@ -0,0 +1,209 @@ +;sunxi platform application +;--------------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大å°å†™ï¼Œç”¨æˆ·å¯ä»¥ä¿®æ”¹"="åŽé¢çš„数值,但是ä¸è¦ä¿®æ”¹å‰é¢çš„字符串 +; æè¿°gpioçš„å½¢å¼ï¼šPort:端å£+组内åºå·<功能分é…><内部电阻状æ€><驱动能力><输出电平状æ€> +;--------------------------------------------------------------------------------------------------------- + +;--------------------------------------------------------------------------------- +; version:版本1.00 +; machine:æ¿çº§æ–‡ä»¶å +;--------------------------------------------------------------------------------- +[product] +version = "100" +machine = "f133-evb" + + +;---------------------------------------------------------------------------------- +;debug_mode = 0-close printf, > 0-open printf +;---------------------------------------------------------------------------------- +[platform] +debug_mode = 1 + +;---------------------------------------------------------------------------------- +;storage_type = boot medium, 0-nand, 1-sd, 2-emmc, 3-nor, 4-emmc3, 5-spinand -1(defualt)auto scan +;---------------------------------------------------------------------------------- +[target] +boot_clock = 1008 +storage_type = 5 +nand_use_ubi = 1 + +[spinor_para] +;read_mode =4 +;flash_size =16 +;delay_cycle =1 +;frequency =100000000 + +spi_sclk = port:PC02<2><0><2> +spi_cs = port:PC03<2><1><2> +spi0_mosi = port:PC04<2><0><2> +spi0_miso = port:PC05<2><0><2> +spi0_wp = port:PC06<2><0><2> +spi0_hold = port:PC07<2><0><2> + +[card_boot] +card_no = 0 +;---------------------------------------------------------------------------------- +;card_ctrl -å¡é‡äº§ç›¸å…³çš„控制器选择0 | +;card_high_speed -é€Ÿåº¦æ¨¡å¼ 0为低速,1为高速| +;card_line -4:4线å¡ï¼Œ8:8线å¡| +;sdc_d1 -sdcå¡æ•°æ®1线信å·çš„GPIOé…ç½® | +;sdc_d0 -sdcå¡æ•°æ®0线信å·çš„GPIOé…ç½® | +;sdc_clk -sdcå¡æ—¶é’Ÿä¿¡å·çš„GPIOé…ç½® | +;sdc_cmd -sdc命令信å·çš„GPIOé…ç½®| +;sdc_d3 -sdcå¡æ•°æ®3线信å·çš„GPIOé…ç½® | +;sdc_d2 -sdcå¡æ•°æ®2线信å·çš„GPIOé…ç½® | +;---------------------------------------------------------------------------------- +[card0_boot_para] +card_ctrl = 0 +card_high_speed = 1 +card_line = 4 +sdc_d1 = port:PF0<2><1><2> +sdc_d0 = port:PF1<2><1><2> +sdc_clk = port:PF2<2><1><2> +sdc_cmd = port:PF3<2><1><2> +sdc_d3 = port:PF4<2><1><2> +sdc_d2 = port:PF5<2><1><2> +bus-width = 4 +cap-sd-highspeed = +cap-wait-while-busy = +no-sdio = +no-mmc = +sunxi-power-save-mode = + + +;---------------------------------------------------------------------------------- +;card_ctrl -å¡å¯åŠ¨æŽ§åˆ¶å™¨é€‰æ‹©2 +;card_high_speed -é€Ÿåº¦æ¨¡å¼ 0为低速,1为高速 +;card_line -4:4线å¡ï¼Œ8:8çº¿å¡ +;sdc_ds -dsä¿¡å·çš„GPIOé…ç½® +;sdc_d1 -sdcå¡æ•°æ®1线信å·çš„GPIOé…ç½® +;sdc_d0 -sdcå¡æ•°æ®0线信å·çš„GPIOé…ç½® +;sdc_clk -sdcå¡æ—¶é’Ÿä¿¡å·çš„GPIOé…ç½® +;sdc_cmd -sdc命令信å·çš„GPIOé…ç½® +;sdc_d3 -sdcå¡æ•°æ®3线信å·çš„GPIOé…ç½® +;sdc_d2 -sdcå¡æ•°æ®2线信å·çš„GPIOé…ç½® +;sdc_d4 -sdcå¡æ•°æ®4线信å·çš„GPIOé…ç½® +;sdc_d5 -sdcå¡æ•°æ®5线信å·çš„GPIOé…ç½® +;sdc_d6 -sdcå¡æ•°æ®6线信å·çš„GPIOé…ç½® +;sdc_d7 -sdcå¡æ•°æ®7线信å·çš„GPIOé…ç½® +;sdc_emmc_rst -emmc_rstä¿¡å·çš„GPIOé…ç½® +;sdc_ex_dly_used -ex_dly_usedä¿¡å· +;sdc_io_1v8 -sdc_io_1v8高速emmc模å¼é…ç½® +;---------------------------------------------------------------------------------- +[card2_boot_para] +card_ctrl = 2 +card_high_speed = 1 +card_line = 8 +sdc_clk = port:PF25<2><1><3> +sdc_cmd = port:PF24<2><1><3> +sdc_d0 = port:PF16<2><1><3> +sdc_d1 = port:PF17<2><1><3> +sdc_d2 = port:PF18<2><1><3> +sdc_d3 = port:PF19<2><1><3> +sdc_d4 = port:PF20<2><1><3> +sdc_d5 = port:PF21<2><1><3> +sdc_d6 = port:PF22<2><1><3> +sdc_d7 = port:PF23<2><1><3> +sdc_emmc_rst = port:PF31<2><1><3> +sdc_ds = port:PF27<2><1><3> + + + +;---------------------------------------------------------------------------------- +;jtag_enable |JTAG使能 | +;jtag_ms |测试模å¼é€‰æ‹©è¾“å…¥(TMS) çš„GPIOé…ç½®| +;jtag_ck |测试时钟输入(CLK) çš„GPIOé…ç½® | +;jtag_do |测试数æ®è¾“出(TDO) çš„GPIOé…ç½® | +;jtag_di |测试数æ®è¾“出(TDI) çš„GPIOé…ç½® | +;---------------------------------------------------------------------------------- +[jtag_para] +jtag_enable = 0 +jtag_ms = port:PE4<7> +jtag_ck = port:PE7<7> +jtag_do = port:PE6<7> +jtag_di = port:PE5<7> + +;***************************************************************************** +; +;dram select configuration +; +;select_mode : dram模å¼é€‰æ‹©, 0:ä¸è¿›è¡Œè‡ªåŠ¨è¯†åˆ« +; 1:gpio识别模å¼(dram_para, dram_para1-15, å…±16组有效) +; 2:gpadc识别模å¼(dram_para, dram_para1-7, å…±8组有效) +; 3:1个IO+gpadc识别模å¼(dram_para, dram_para1-15, å…±16组有效)。其中IOé…置优先级按select_gpio0>select_gpio1>select_gpio2>select_gpio3 +;gpadc_channel : 选择gpadcé€šé“ æœ‰æ•ˆå€¼(0-3) +;select_gpio1-4 : 选择gpio pin +;***************************************************************************** + + +[dram_select_para] +select_mode = 0 +gpadc_channel = 1 +select_gpio0 = port:PB7<0><1> +select_gpio1 = port:PB4<0><1> +select_gpio2 = port:PH1<0><1> +select_gpio3 = port:PH0<0><1> + + +;***************************************************************************** +;sdram configuration +; +;***************************************************************************** +[dram_para] +dram_clk = 528 +dram_type = 2 +dram_zq = 0x07b7bf9 +dram_odt_en = 0x00 +dram_para1 = 0x000000d2 +dram_para2 = 0x00000000 +dram_mr0 = 0x00000E73 +dram_mr1 = 0x02 +dram_mr2 = 0x0 +dram_mr3 = 0x0 +dram_tpr0 = 0x00471992 +dram_tpr1 = 0x0131A10C +dram_tpr2 = 0x00057041 +dram_tpr3 = 0xB4787896 +dram_tpr4 = 0x0 +dram_tpr5 = 0x48484848 +dram_tpr6 = 0x48 +dram_tpr7 = 0x1621121e +dram_tpr8 = 0x0 +dram_tpr9 = 0x0 +dram_tpr10 = 0x00000000 +dram_tpr11 = 0x00030010 +dram_tpr12 = 0x00000035 +dram_tpr13 = 0x34000000 +;---------------------------------------------------------------------------------- +;twi configuration +;twi_used 0:关闭, 1:打开 +;twi_port 0:twi0, 1:twi1, 2:twi2, 3:twi3, 4:twi4, 5:twi5, 6:r_twi0, 7:r_twi1 +;twi_scl boot0 sclçš„GPIOé…ç½® +;twi_sda boot0 sdaçš„GPIOé…ç½® +;---------------------------------------------------------------------------------- +[twi_para] +twi_used = 0 +twi_port = 2 +twi_scl = port:PG14<3><1> +twi_sda = port:PG15<3><1> + +;---------------------------------------------------------------------------------- +;uart configuration +;uart_debug_port |Boot串å£æŽ§åˆ¶å™¨ç¼–å· | +;uart_debug_tx |Boot串å£å‘é€çš„GPIOé…ç½®| +;uart_debug_rx |Boot串å£æŽ¥æ”¶çš„GPIOé…ç½® | +;---------------------------------------------------------------------------------- +[uart_para] +uart_debug_port = 0 +uart_debug_tx = port:PF02<3><1> +uart_debug_rx = port:PF04<3><1> + + +;---------------------------------------------------------------------------------- +;dram_region_mbytes :设置drm大å°ä»¥bytes为å•ä½ +;---------------------------------------------------------------------------------- +[secure] +dram_region_mbytes = 80 +drm_region_mbytes = 0 +drm_region_start_mbytes = 0 + diff --git a/device/config/chips/f133/configs/evb1/sys_partition.fex b/device/config/chips/f133/configs/evb1/sys_partition.fex new file mode 100755 index 0000000..eedf7b2 --- /dev/null +++ b/device/config/chips/f133/configs/evb1/sys_partition.fex @@ -0,0 +1,82 @@ +;--------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大å°å†™ï¼Œç”¨æˆ·å¯ä»¥ä¿®æ”¹"="åŽé¢çš„数值,但是ä¸è¦ä¿®æ”¹å‰é¢çš„字符串 +;--------------------------------------------------------------------------------------------------- + + +;--------------------------------------------------------------------------------------------------- +; 固件下载å‚æ•°é…ç½® +;--------------------------------------------------------------------------------------------------- +;*************************************************************************************************** +; mbr的大å°, 以Kbyte为å•ä½ +;*************************************************************************************************** +[mbr] +size = 16384 + +;*************************************************************************************************** +; 分区é…ç½® +; +; +; partition 定义范例: +; [partition] ; //表示是一个分区 +; name = USERFS2 ; //分区å称 +; size = 16384 ; //åˆ†åŒºå¤§å° å•ä½: 扇区.分区表示个数最多2^31 * 512 = 2T +; downloadfile = "123.fex" ; //下载文件的路径和å称,å¯ä»¥ä½¿ç”¨ç›¸å¯¹è·¯å¾„,相对是指相对于image.cfg文件所在分区。也å¯ä»¥ä½¿ç”¨ç»å¯¹è·¯å¾„ +; keydata = 1 ; //ç§æœ‰æ•°æ®åˆ†åŒºï¼Œé‡æ–°é‡äº§æ•°æ®å°†ä¸ä¸¢å¤± +; encrypt = 1 ; //采用加密方å¼çƒ§å½•ï¼Œå°†æ供数æ®åŠ å¯†ï¼Œä½†æŸå¤±çƒ§å½•é€Ÿåº¦ +; user_type = ? ; //ç§æœ‰ç”¨æ³• +; verify = 1 ; //è¦æ±‚é‡äº§å®ŒæˆåŽæ ¡éªŒæ˜¯å¦æ­£ç¡® +; +; 注:1ã€name唯一, ä¸å…许åŒå +; 2ã€name最大12个字符 +; 3ã€size = 0, 将创建一个无大å°çš„空分区 +; 4ã€align to logical block size(504 sectors), leb size = 2*(1 nand phy block size - 1 phy page size) +;*************************************************************************************************** +[partition_start] + +[partition] + name = boot-resource + size = 504 + downloadfile = "boot-resource.fex" + user_type = 0x8000 + +[partition] + name = env + size = 504 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = env-redund + size = 504 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = boot + size = 12800 + downloadfile = "boot.fex" + user_type = 0x8000 + +[partition] + name = rootfs + size = 53760 + downloadfile = "rootfs.fex" + user_type = 0x8000 + +;[partition] +; name = dsp0 +; size = 2048 +; downloadfile = "dsp0.fex" +; user_type = 0x8000 + +[partition] + name = recovery + size = 19840 + user_type = 0x8000 + +[partition] + name = rootfs_data + size = 10240 + user_type = 0x8000 + + diff --git a/device/config/chips/f133/configs/evb1/sys_partition_nor.fex b/device/config/chips/f133/configs/evb1/sys_partition_nor.fex new file mode 100644 index 0000000..88834ca --- /dev/null +++ b/device/config/chips/f133/configs/evb1/sys_partition_nor.fex @@ -0,0 +1,67 @@ +;--------------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大å°å†™ï¼Œç”¨æˆ·å¯ä»¥ä¿®æ”¹"="åŽé¢çš„数值,但是ä¸è¦ä¿®æ”¹å‰é¢çš„字符串 +;--------------------------------------------------------------------------------------------------------- + + +;-------------------------------------------------------------------------------------------------- +; 固件下载å‚æ•°é…ç½® +;-------------------------------------------------------------------------------------------------- +;**************************************************** +; mbr的大å°, 以Kbyte为å•ä½ +;**************************************************** +[mbr] +size = 16 + +;******************************************************************************************************** +; 分区é…ç½® +; +; +; partition 定义范例: +; [partition] ; //表示是一个分区 +; name = USERFS2 ; //分区å称 +; size = 16384 ; //åˆ†åŒºå¤§å° å•ä½: 扇区.分区表示个数最多2^31 * 512 = 2T +; downloadfile = "123.fex" ; //下载文件的路径和å称,å¯ä»¥ä½¿ç”¨ç›¸å¯¹è·¯å¾„,相对是指相对于image.cfg文件所在分区。也å¯ä»¥ä½¿ç”¨ç»å¯¹è·¯å¾„ +; keydata = 1 ; //ç§æœ‰æ•°æ®åˆ†åŒºï¼Œé‡æ–°é‡äº§æ•°æ®å°†ä¸ä¸¢å¤± +; encrypt = 1 ; //采用加密方å¼çƒ§å½•ï¼Œå°†æ供数æ®åŠ å¯†ï¼Œä½†æŸå¤±çƒ§å½•é€Ÿåº¦ +; user_type = ? ; //ç§æœ‰ç”¨æ³• +; verify = 1 ; //è¦æ±‚é‡äº§å®ŒæˆåŽæ ¡éªŒæ˜¯å¦æ­£ç¡® +; +; 注:1ã€name唯一, ä¸å…许åŒå +; 2ã€name最大12个字符 +; 3ã€size = 0, 将创建一个无大å°çš„空分区 +; 4ã€ä¸ºäº†å®‰å…¨å’Œæ•ˆçŽ‡è€ƒè™‘,分区大å°æœ€å¥½ä¿è¯ä¸º16Må­—èŠ‚çš„æ•´æ•°å€ +;******************************************************************************************************** +[partition_start] + +[partition] + name = boot-resource + size = 128 + ;downloadfile = "boot-resource.fex" + user_type = 0x8000 + +[partition] + name = env + size = 512 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = env-redund + size = 512 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = boot + size = 15360 + downloadfile = "boot.fex" + user_type = 0x8000 + +[partition] + name = rootfs + size = 15360 + downloadfile = "rootfs_nor.fex" + user_type = 0x8000 + + + diff --git a/device/config/chips/f133/configs/evb1/uboot-board.dts b/device/config/chips/f133/configs/evb1/uboot-board.dts new file mode 100755 index 0000000..d82becf --- /dev/null +++ b/device/config/chips/f133/configs/evb1/uboot-board.dts @@ -0,0 +1,419 @@ +/* + * Allwinner Technology CO., Ltd. sun20iw1p1 soc board. + * + * soc board support. + */ + +&platform { + eraseflag = <1>; + next_work = <3>; + debug_mode = <1>; +}; + +&target { + boot_clock = <1008>; /*CPU boot frequency, Unit: MHz*/ + storage_type = <0xffffffff>; /*boot medium, 0-nand, 1-card0, 2-card2, -1(defualt)auto scan*/ + burn_key = <0>; /*1:support burn key; 0:not support burn key*/ + dragonboard_test = <0>; /*1:support card boot dragonboard; 0:not support card boot dragonboard*/ +}; + + +&charger0 { + pmu_safe_vol = <3500>; +}; + + +&twi6 { + clock-frequency = <200000>; + pinctrl-0 = <&s_twi0_pins_a>; + no_suspend = <1>; + twi_drv_used = <1>; + status = "okay"; +}; + +&pwm2_pin_a { + pins = "PD18"; + function = "pwm2"; + muxsel = <5>; + drive-strength = <10>; + bias-pull-up; +}; + +&pwm2_pin_b { + pins = "PD18"; + muxsel = <0>; + function = "gpio_out"; +}; + +&pwm2 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm2_pin_a>; + pinctrl-1 = <&pwm2_pin_b>; + status = "okay"; +}; + +&pwm7_pin_a { + pins = "PD22"; + function = "pwm7"; + muxsel = <5>; + drive-strength = <10>; + bias-pull-up; +}; + +&pwm7_pin_b { + pins = "PD22"; + muxsel = <0>; + function = "gpio_in"; +}; + +&pwm7 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm7_pin_a>; + pinctrl-1 = <&pwm7_pin_b>; + status = "okay"; +}; + +&sdc0_pins_a { + allwinner,pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + allwinner,function = "sdc0"; + allwinner,muxsel = <2>; + allwinner,drive = <3>; + allwinner,pull = <1>; + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "sdc0"; + drive-strength = <30>; + bias-pull-up; + power-source = <3300>; +}; + +&sdc0_pins_b { + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "sdc0"; + drive-strength = <30>; + bias-pull-up; + power-source = <1800>; +}; + +&sdc0_pins_c { + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "gpio_in"; + +}; + + +&sdc2_pins_a { + allwinner,pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + allwinner,function = "sdc2"; + allwinner,muxsel = <3>; + allwinner,drive = <3>; + allwinner,pull = <1>; + pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + function = "sdc2"; + drive-strength = <30>; + bias-pull-up; + +}; + +&sdc2_pins_b { + pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + function = "gpio_in"; +}; + + + +&nand0_pins_a { + allwinner,pins = "PC0", "PC1", "PC2", "PC5", + "PC8", "PC9", "PC10", "PC11", + "PC12", "PC13", "PC14", "PC15", + "PC16"; + allwinner,pname= "nand0_we", "nand0_ale","nand0_cle", "nand0_nre", + "nand0_d0", "nand0_d1", "nand0_d2", "nand0_d3", + "nand0_d4", "nand0_d5", "nand0_d6", "nand0_d7", + "nand0_ndqs"; + allwinner,function = "nand0"; + allwinner,muxsel = <2>; + allwinner,drive = <1>; + allwinner,pull = <0>; +}; + +&nand0_pins_b { + allwinner,pins = "PC4", "PC6", "PC03", "PC07"; + allwinner,pname= "nand0_ce0", "nand0_rb0", "nand0_ce1", "nand0_rb1"; + allwinner,function = "nand0"; + allwinner,muxsel = <2>; + allwinner,drive = <1>; + allwinner,pull = <1>; /* only RB&CE should be pulled up */ +}; + +&nand0_pins_c { + allwinner,pins = "PC0", "PC1", "PC2", "PC3", + "PC4", "PC5", "PC6", "PC7", + "PC8", "PC9", "PC10", "PC11", + "PC12", "PC13", "PC14", "PC15", + "PC16"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <7>; + allwinner,drive = <1>; + allwinner,pull = <0>; +}; + +&card0_boot_para { /* Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value */ + /* reg = <0x0 0x2 0x0 0x0>; [> Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value <] */ + device_type = "card0_boot_para"; + card_ctrl = <0x0>; + card_high_speed = <0x1>; + card_line = <0x4>; + /* + pinctrl-0 = <&sdc0_pins_a>; + */ +}; + +&card2_boot_para { /* Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value */ + /* reg = <0x0 0x3 0x0 0x0>; [> Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value <] */ + device_type = "card2_boot_para"; + card_ctrl = <0x2>; + card_high_speed = <0x1>; + card_line = <0x4>; + pinctrl-0 = <&sdc2_pins_a>; + sdc_ex_dly_used = <0x2>; + sdc_tm4_hs200_max_freq = <150>; + sdc_tm4_hs400_max_freq = <100>; +}; +&gpio_bias { /* Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value */ + device_type = "gpio_bias"; +}; + +&nand0 { + compatible = "allwinner,sun20iw1-nand"; + device_type = "nand0"; + //reg = <0x0 0x04011000 0x0 0x1000>;/* nand0 */ + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&nand0_pins_a &nand0_pins_b>; + pinctrl-1 = <&nand0_pins_c>; + nand0_regulator1 = "vcc-nand"; + nand0_regulator2 = "none"; + nand0_cache_level = <0x55aaaa55>; + nand0_flush_cache_num = <0x55aaaa55>; + nand0_capacity_level = <0x55aaaa55>; + nand0_id_number_ctl = <0x55aaaa55>; + nand0_print_level = <0x55aaaa55>; + nand0_p0 = <0x55aaaa55>; + nand0_p1 = <0x55aaaa55>; + nand0_p2 = <0x55aaaa55>; + nand0_p3 = <0x55aaaa55>; + chip_code = "sun20iw1"; + status = "disabled"; +}; + +&disp { + disp_init_enable = <1>; + disp_mode = <0>; + + screen0_output_type = <1>; + screen0_output_mode = <4>; + + screen1_output_type = <1>; + screen1_output_mode = <4>; + + screen1_output_format = <0>; + screen1_output_bits = <0>; + screen1_output_eotf = <4>; + screen1_output_cs = <257>; + screen1_output_range = <2>; + screen1_output_scan = <0>; + screen1_output_aspect_ratio = <8>; + + dev0_output_type = <1>; + dev0_output_mode = <4>; + dev0_screen_id = <0>; + dev0_do_hpd = <0>; + + dev1_output_type = <4>; + dev1_output_mode = <10>; + dev1_screen_id = <1>; + dev1_do_hpd = <1>; + + def_output_dev = <0>; + + fb0_format = <0>; + fb0_width = <800>; + fb0_height = <480>; +/* + fb0_height = <1280>; +*/ + fb1_format = <0>; + fb1_width = <0>; + fb1_height = <0>; + chn_cfg_mode = <1>; + + disp_para_zone = <1>; + /*VCC-LCD*/ +/* dc1sw-supply = <®_dc1sw>;*/ + /*VCC-DSI*/ +/* eldo3-supply = <®_eldo3>;*/ + /*VCC-PD*/ +/* dcdc1-supply = <®_dcdc1>;*/ +}; + +/* RGB 800 480 */ +&lcd0 { + lcd_used = <1>; + lcd_driver_name = "default_lcd"; + lcd_backlight = <50>; + lcd_if = <0>; + lcd_x = <800>; + lcd_y = <480>; + lcd_width = <150>; + lcd_height = <94>; + lcd_dclk_freq = <48>; + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <500>; + lcd_pwm_pol = <0>; + lcd_hbp = <55>; + lcd_ht = <1240>; + lcd_hspw = <20>; + lcd_vbp = <35>; + lcd_vt = <650>; + lcd_vspw = <10>; + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_io_phase = <0x0000>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + pinctrl-0 = <&rgb18_pins_a>; + pinctrl-1 = <&rgb18_pins_b>; +}; + +/* LVDS 1280 800 */ +/* +&lcd0 { + lcd_used = <1>; + lcd_driver_name = "default_lcd"; + lcd_backlight = <50>; + lcd_if = <3>; + + lcd_x = <1280>; + lcd_y = <800>; + lcd_width = <150>; + lcd_height = <94>; + lcd_dclk_freq = <71>; + lcd_rb_swap = <0>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <0>; + lcd_pwm_max_limit = <255>; + + lcd_hbp = <20>; + lcd_ht = <1418>; + lcd_hspw = <10>; + lcd_vbp = <10>; + lcd_vt = <814>; + lcd_vspw = <5>; + + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <1>; + lcd_io_phase = <0x0000>; + lcd_hv_clk_phase = <0>; + lcd_hv_sync_polarity = <0>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_act_time = <1000>; + lcd_fsync_dis_time = <1000>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + pinctrl-0 = <&lvds0_pins_a>; + pinctrl-1 = <&lvds0_pins_b>; + lcd_bl_en = <&pio PD 20 GPIO_ACTIVE_HIGH>; +}; +*/ + +/* MIPI 800 1280 */ +/* +&lcd0 { + lcd_used = <1>; + lcd_driver_name = "he0801a068"; + lcd_backlight = <50>; + lcd_if = <4>; + + lcd_x = <800>; + lcd_y = <1280>; + lcd_width = <52>; + lcd_height = <52>; + lcd_dclk_freq = <78>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <0>; + lcd_pwm_max_limit = <255>; + + lcd_hbp = <149>; + lcd_ht = <978>; + lcd_hspw = <16>; + lcd_vbp = <7>; + lcd_vt = <1329>; + lcd_vspw = <5>; + + lcd_dsi_lane = <4>; + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_io_phase = <0x0000>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_act_time = <1000>; + lcd_fsync_dis_time = <1000>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + pinctrl-0 = <&dsi4lane_pins_a>; + pinctrl-1 = <&dsi4lane_pins_b>; + lcd_gpio_0 = <&pio PD 20 GPIO_ACTIVE_HIGH>; +}; +*/ + +&aliases { + nand0 = &nand0; + twi6 = &twi6; + pwm = &pwm; + pwm0 = &pwm0; + pwm1 = &pwm1; + pwm2 = &pwm2; + pwm3 = &pwm3; + pwm4 = &pwm4; + pwm5 = &pwm5; + pwm6 = &pwm6; + pwm7 = &pwm7; + disp = &disp; + lcd0 = &lcd0; + lcd1 = &lcd1; + eink = &eink; + spi0 = &spi0; + +}; diff --git a/device/config/chips/f133/configs/pro/BoardConfig.mk b/device/config/chips/f133/configs/pro/BoardConfig.mk new file mode 100755 index 0000000..ce4382e --- /dev/null +++ b/device/config/chips/f133/configs/pro/BoardConfig.mk @@ -0,0 +1,14 @@ +LICHEE_CHIP:=sun20iw1p1 +LICHEE_PRODUCT:= +LICHEE_BOARD:= +LICHEE_FLASH:= +LICHEE_ARCH:=riscv +LICHEE_BRANDY_VER:=2.0 +LICHEE_BRANDY_DEFCONF:=sun20iw1p1_defconfig +LICHEE_KERN_VER:=5.4 +LICHEE_KERN_DEFCONF:=sun20iw1p1_nodvfs_defconfig +LICHEE_BUILDING_SYSTEM:=buildroot +LICHEE_BR_VER:=201902 +LICHEE_BR_DEFCONF:=sun20i_defconfig +LICHEE_COMPILER_TAR:=riscv64-glibc-gcc-thead_20200702.tar.xz +LICHEE_REDUNDANT_ENV_SIZE:=0x20000 diff --git a/device/config/chips/f133/configs/pro/board.dts b/device/config/chips/f133/configs/pro/board.dts new file mode 120000 index 0000000..a205733 --- /dev/null +++ b/device/config/chips/f133/configs/pro/board.dts @@ -0,0 +1 @@ +linux-5.4/board.dts \ No newline at end of file diff --git a/device/config/chips/f133/configs/pro/env.cfg b/device/config/chips/f133/configs/pro/env.cfg new file mode 100755 index 0000000..fb52e40 --- /dev/null +++ b/device/config/chips/f133/configs/pro/env.cfg @@ -0,0 +1,38 @@ + +#kernel command arguments +earlyprintk=sunxi-uart,0x02500000 +initcall_debug=0 +console=ttyS0,115200 +nand_root=/dev/ubiblock0_5 +mmc_root=/dev/mmcblk0p5 +nor_root=/dev/mtdblock5 +mtd_name=sys +rootfstype=squashfs +root_partition=rootfs +boot_partition=boot +init=/sbin/init +loglevel=8 +cma=0M +mac= +wifi_mac= +bt_mac= +specialstr= +keybox_list=widevine,ec_key,ec_cert1,ec_cert2,ec_cert3,rsa_key,rsa_cert1,rsa_cert2,rsa_cert3 +dsp0_partition=dsp0 +#set kernel cmdline if boot.img or recovery.img has no cmdline we will use this +setargs_nand=setenv bootargs ubi.mtd=${mtd_name} ubi.block=0,${root_partition} earlyprintk=${earlyprintk} memblock=debug bootmem_debug=1 clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 +setargs_nand_ubi=setenv bootargs ubi.mtd=${mtd_name} ubi.block=0,${root_partition} earlyprintk=${earlyprintk} memblock=debug bootmem_debug=1 clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 +setargs_mmc=setenv bootargs earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${mmc_root} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 +setargs_nor=setenv bootargs ubi.mtd=${mtd_name} ubi.block=0,${root_partition} earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nor_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 +#nand command syntax: sunxi_flash read address partition_name read_bytes +#0x4007f800 = 0x40080000(kernel entry) - 0x800(boot.img header 2k) +boot_dsp0=sunxi_flash read 45000000 ${dsp0_partition};bootr 45000000 0 0 +boot_normal=sunxi_flash read 41000000 ${boot_partition};bootm 41000000 +boot_recovery=sunxi_flash read 45000000 recovery;bootm 45000000 +boot_fastboot=fastboot + +#uboot system env config +bootdelay=1 +#default bootcmd, will change at runtime according to key press +#default nand boot +bootcmd=run setargs_nand boot_normal diff --git a/device/config/chips/f133/configs/pro/linux-5.4/board.dts b/device/config/chips/f133/configs/pro/linux-5.4/board.dts new file mode 100755 index 0000000..bee1d4e --- /dev/null +++ b/device/config/chips/f133/configs/pro/linux-5.4/board.dts @@ -0,0 +1,1584 @@ +/* + * Allwinner Technology CO., Ltd. sun20iw1p1 fpga. + * + * fpga support. + */ + +/dts-v1/; + +#include "sun20iw1p1.dtsi" + +/{ + compatible = "allwinner,d1", "arm,sun20iw1p1", "allwinner,sun20iw1p1"; + + aliases { + dsp0 = &dsp0; + dsp0_gpio_int= &dsp0_gpio_int; + }; + + dsp0: dsp0 { + compatible = "allwinner,sun20iw1-dsp"; + status = "disabled"; + }; + + dsp0_gpio_int: dsp0_gpio_int { + compatible = "allwinner,sun20iw1-dsp-gpio-int"; + pin-group = "PB", "PC", "PD", "PE"; + status = "disabled"; + }; + + reg_vdd_cpu: vdd-cpu { + compatible = "sunxi-pwm-regulator"; + pwms = <&pwm 0 5000 1>; + regulator-name = "vdd_cpu"; + regulator-min-microvolt = <810000>; + regulator-max-microvolt = <1160000>; + regulator-ramp-delay = <25>; + regulator-always-on; + regulator-boot-on; + status = "okay"; + }; + + reg_usb1_vbus: usb1-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb1-vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-enable-ramp-delay = <1000>; + gpio = <&pio PB 3 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&CPU0 { + cpu-supply = <®_vdd_cpu>; +}; + +&pio { + sdc0_pins_a: sdc0@0 { + allwinner,pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + allwinner,function = "sdc0"; + allwinner,muxsel = <2>; + allwinner,drive = <3>; + allwinner,pull = <1>; + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "sdc0"; + drive-strength = <30>; + bias-pull-up; + power-source = <3300>; + }; + + + sdc0_pins_b: sdc0@1 { + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "sdc0"; + drive-strength = <30>; + bias-pull-up; + power-source = <1800>; + }; + + sdc0_pins_c: sdc0@2 { + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "gpio_in"; + }; + + /* TODO: add jtag pin */ + sdc0_pins_d: sdc0@3 { + pins = "PF2", "PF4"; + function = "uart0"; + drive-strength = <10>; + bias-pull-up; + }; + + sdc0_pins_e: sdc0@4 { + pins = "PF0", "PF1", "PF3", + "PF5"; + function = "jtag"; + drive-strength = <10>; + bias-pull-up; + }; + + + sdc1_pins_a: sdc1@0 { + pins = "PG0", "PG1", "PG2", + "PG3", "PG4", "PG5"; + function = "sdc1"; + drive-strength = <30>; + bias-pull-up; + }; + + sdc1_pins_b: sdc1@1 { + pins = "PG0", "PG1", "PG2", + "PG3", "PG4", "PG5"; + function = "gpio_in"; + }; + + sdc2_pins_a: sdc2@0 { + allwinner,pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + allwinner,function = "sdc2"; + allwinner,muxsel = <3>; + allwinner,drive = <3>; + allwinner,pull = <1>; + pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + function = "sdc2"; + drive-strength = <30>; + bias-pull-up; + }; + + sdc2_pins_b: sdc2@1 { + pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + function = "gpio_in"; + }; + + wlan_pins_a:wlan@0 { + pins = "PG11"; + function = "clk_fanout1"; + }; + + uart0_pins_a: uart0_pins@0 { /* For EVB1 board */ + pins = "PE2", "PE3"; + function = "uart0"; + drive-strength = <10>; + bias-pull-up; + }; + + uart0_pins_b: uart0_pins@1 { /* For EVB1 board */ + pins = "PE2", "PE3"; + function = "gpio_in"; + }; + + uart1_pins_a: uart1_pins@0 { /* For EVB1 board */ + pins = "PG6", "PG7", "PG8", "PG9"; + function = "uart1"; + drive-strength = <10>; + bias-pull-up; + }; + + uart1_pins_b: uart1_pins { /* For EVB1 board */ + pins = "PG6", "PG7", "PG8", "PG9"; + function = "gpio_in"; + }; + + uart2_pins_a: uart2_pins@0 { /* For EVB1 board */ + pins = "PC0", "PC1"; + function = "uart2"; + drive-strength = <10>; + bias-pull-up; + }; + + uart2_pins_b: uart2_pins@1 { /* For EVB1 board */ + pins = "PC0", "PC1"; + function = "gpio_in"; + }; + + uart3_pins_a: uart3_pins@0 { /* For EVB1 board */ + pins = "PD10", "PD11"; + function = "uart3"; + muxsel = <5>; + drive-strength = <10>; + bias-pull-up; + }; + + + uart4_pins_a: uart4_pins@0 { /* For EVB pro board */ + pins = "PG2", "PG3"; + function = "uart4"; + drive-strength = <10>; + bias-pull-up; + }; + + uart4_pins_b: uart4_pins@1 { /* For EVB pro board */ + pins = "PG2", "PG3"; + function = "gpio_in"; + }; + + twi0_pins_a: twi0@0 { + pins = "PB10", "PB11"; /*sck sda*/ + function = "twi0"; + drive-strength = <10>; + }; + + twi0_pins_b: twi0@1 { + pins = "PB10", "PB11"; + function = "gpio_in"; + }; + + twi1_pins_a: twi1@0 { + pins = "PB4", "PB5"; + function = "twi1"; + drive-strength = <10>; + }; + + twi1_pins_b: twi1@1 { + pins = "PB4", "PB5"; + function = "gpio_in"; + }; + + twi2_pins_a: twi2@0 { + pins = "PE12", "PE13"; + function = "twi2"; + drive-strength = <10>; + }; + + twi2_pins_b: twi2@1 { + pins = "PE12", "PE13"; + function = "gpio_in"; + }; + + twi3_pins_a: twi3@0 { + pins = "PE6", "PE7"; + function = "twi3"; + drive-strength = <10>; + }; + + twi3_pins_b: twi3@1 { + pins = "PE6", "PE7"; + function = "gpio_in"; + }; + + gmac_pins_a: gmac@0 { + pins = "PG0", "PG1", "PG2", "PG3", + "PG4", "PG5", "PG6", "PG7", + "PG8", "PG9", "PG10", "PG11", + "PG12", "PG13", "PG14", "PG15"; + function = "gmac0"; + drive-strength = <10>; + }; + + gmac_pins_b: gmac@1 { + pins = "PG0", "PG1", "PG2", "PG3", + "PG4", "PG5", "PG6", "PG7", + "PG8", "PG9", "PG10", "PG11", + "PG12", "PG13", "PG14", "PG15"; + function = "gpio_in"; + }; + + dmic_pins_a: dmic@0 { + /* DMIC_PIN: CLK, DATA0, DATA1, DATA2, DATA3*/ + pins = "PB12", "PB11", "PB10", "PE14", "PB8"; + function = "dmic"; + drive-strength = <20>; + bias-disable; + }; + + dmic_pins_b: dmic@1 { + pins = "PB12", "PB11", "PB10", "PE14", "PB8"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + daudio0_pins_a: daudio0@0 { + pins = "PE17", "PE16", "PE15", "PE14", "PE13"; + function = "i2s0"; + drive-strength = <20>; + bias-disable; + }; + + daudio0_pins_b: daudio0_sleep@0 { + pins = "PE17", "PE16", "PE15", "PE14", "PE13"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + daudio1_pins_a: daudio1@0 { + pins = "PG11", "PG12", "PG13", "PG14", "PG15"; + function = "i2s1"; + drive-strength = <20>; + bias-disable; + }; + + daudio1_pins_b: daudio1_sleep@0 { + pins = "PG11", "PG12", "PG13", "PG14", "PG15"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + daudio2_pins_a: daudio2@0 { + /* I2S_PIN: MCLK, BCLK, LRCK */ + pins = "PF6", "PF3", "PF5"; + function = "i2s2"; + drive-strength = <20>; + bias-disable; + }; + + daudio2_pins_b: daudio2@1 { + /* I2S_PIN: DOUT0 */ + pins = "PF1"; + function = "i2s2_dout"; + drive-strength = <20>; + bias-disable; + }; + + daudio2_pins_c: daudio2@2 { + /* I2S_PIN: DIN0 */ + pins = "PF0"; + function = "i2s2_din"; + drive-strength = <20>; + bias-disable; + }; + + daudio2_pins_d: daudio2_sleep@0 { + pins = "PF6", "PF3", "PF5", "PF1", "PF0"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + spdif_pins_a: spdif@0 { + /* SPDIF_PIN: SPDIF_OUT */ + pins = "PG18"; + function = "spdif"; + drive-strength = <20>; + bias-disable; + }; + + spdif_pins_b: spdif_sleep@0 { + pins = "PG18"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + spi0_pins_a: spi0@0 { + pins = "PC2", "PC4", "PC5"; /* clk, mosi, miso */ + function = "spi0"; + muxsel = <2>; + drive-strength = <20>; + }; + + spi0_pins_b: spi0@1 { + pins = "PC3", "PC7", "PC6"; + function = "spi0"; + muxsel = <2>; + drive-strength = <20>; + bias-pull-up; /* cs, hold, wp should be pulled up */ + }; + + spi0_pins_c: spi0@2 { + pins = "PC2", "PC3", "PC4", "PC5","PC6", "PC7"; + function = "gpio_in"; + muxsel = <0>; + drive-strength = <10>; + }; + + spi1_pins_a: spi1@0 { + pins = "PD11", "PD12", "PD13"; /* clk, mosi, miso */ + function = "spi1"; + drive-strength = <10>; + }; + + spi1_pins_b: spi1@1 { + pins = "PD10", "PD14", "PD15"; + function = "spi1"; + drive-strength = <10>; + bias-pull-up; /* cs, hold, wp should be pulled up */ + }; + + spi1_pins_c: spi1@2 { + pins = "PD10", "PD11", "PD12", "PD13","PD14", "PD15"; + function = "gpio_in"; + drive-strength = <10>; + }; + + ledc_pins_a: ledc@0 { + pins = "PC0"; + function = "ledc"; + drive-strength = <10>; + }; + + ledc_pins_b: ledc@1 { + pins = "PC0"; + function = "gpio_in"; + }; + + pwm0_pin_a: pwm0@0 { + pins = "PD16"; + function = "pwm0"; + drive-strength = <10>; + bias-pull-up; + }; + + pwm0_pin_b: pwm0@1 { + pins = "PD16"; + function = "gpio_in"; + bias-disable; + }; + + pwm2_pin_a: pwm2@0 { + pins = "PD18"; + function = "pwm2"; + drive-strength = <10>; + bias-pull-up; + }; + + pwm2_pin_b: pwm2@1 { + pins = "PD18"; + function = "gpio_out"; + }; + + pwm7_pin_a: pwm7@0 { + pins = "PD22"; + function = "pwm7"; + drive-strength = <10>; + bias-pull-up; + }; + + pwm7_pin_b: pwm7@1 { + pins = "PD22"; + function = "gpio_in"; + }; + + + s_cir0_pins_a: s_cir@0 { + pins = "PB7"; + function = "ir"; + drive-strength = <10>; + bias-pull-up; + }; + + s_cir0_pins_b: s_cir@1 { + pins = "PB7"; + function = "gpio_in"; + }; + + ir1_pins_a: ir1@0 { + pins = "PB0"; + function = "ir"; + drive-strength = <10>; + bias-pull-up; + }; + + ir1_pins_b: ir1@1 { + pins = "PB0"; + function = "gpio_in"; + }; +}; + +&uart0 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart0_pins_a>; + pinctrl-1 = <&uart0_pins_b>; + status = "okay"; +}; + +&uart1 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart1_pins_a>; + pinctrl-1 = <&uart1_pins_b>; + status = "disabled"; +}; + +&uart2 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart2_pins_a>; + pinctrl-1 = <&uart2_pins_b>; + status = "disabled"; +}; + +&uart3 { + compatible = "allwinner,sun20iw1-dsp-uart"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart3_pins_a>; + pinctrl-1 = <&uart3_pins_a>; + status = "disabled"; +}; + +&uart4 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart4_pins_a>; + pinctrl-1 = <&uart4_pins_b>; + status = "disabled"; +}; + +&soc { + card0_boot_para@2 { + /* + * Avoid dtc compiling warnings. + * @TODO: Developer should modify this to the actual value + */ + reg = <0x0 0x2 0x0 0x0>; + device_type = "card0_boot_para"; + card_ctrl = <0x0>; + card_high_speed = <0x1>; + card_line = <0x4>; + pinctrl-0 = <&sdc0_pins_a>; + }; + + card2_boot_para@3 { + /* + * Avoid dtc compiling warnings. + * @TODO: Developer should modify this to the actual value + */ + reg = <0x0 0x3 0x0 0x0>; + device_type = "card2_boot_para"; + card_ctrl = <0x2>; + card_high_speed = <0x1>; + card_line = <0x4>; + pinctrl-0 = <&sdc2_pins_a>; + /*pinctrl-0 = <&sdc0_pins_a>;*/ + /*sdc_ex_dly_used = <0x2>;*/ + sdc_io_1v8 = <0x1>; + /*sdc_type = "tm4";*/ + sdc_tm4_hs200_max_freq = <150>; + sdc_tm4_hs400_max_freq = <100>; + sdc_ex_dly_used = <2>; + /*sdc_tm4_win_th = <8>;*/ + /*sdc_dis_host_caps = <0x180>;*/ + }; + + rfkill: rfkill@0 { + compatible = "allwinner,sunxi-rfkill"; + chip_en; + power_en; + pinctrl-0 = <&wlan_pins_a>; + pinctrl-names = "default"; + status = "diabled"; + + wlan: wlan@0 { + compatible = "allwinner,sunxi-wlan"; + clock-names = "32k-fanout1"; + clocks = <&ccu CLK_FANOUT1_OUT>; + wlan_busnum = <0x1>; + wlan_regon = <&pio PE 3 GPIO_ACTIVE_HIGH>; + wlan_hostwake = <&pio PG 10 GPIO_ACTIVE_HIGH>; + /*wlan_power = "VCC-3V3";*/ + /*wlan_power_vol = <3300000>;*/ + /*interrupt-parent = <&pio>; + interrupts = < PG 10 IRQ_TYPE_LEVEL_HIGH>;*/ + wakeup-source; + + }; + + bt: bt@0 { + compatible = "allwinner,sunxi-bt"; + clock-names = "32k-fanout1"; + clocks = <&ccu CLK_FANOUT1_OUT>; + /*bt_power_num = <0x01>;*/ + /*bt_power = "axp803-dldo1";*/ + /*bt_io_regulator = "axp803-dldo1";*/ + /*bt_io_vol = <3300000>;*/ + /*bt_power_vol = <330000>;*/ + bt_rst_n = <&pio PG 18 GPIO_ACTIVE_LOW>; + status = "disabled"; + }; + }; + + btlpm: btlpm@0 { + compatible = "allwinner,sunxi-btlpm"; + uart_index = <0x1>; + bt_wake = <&pio PG 16 GPIO_ACTIVE_HIGH>; + bt_hostwake = <&pio PG 17 GPIO_ACTIVE_HIGH>; + status = "disabled"; + }; + + addr_mgt: addr_mgt@0 { + compatible = "allwinner,sunxi-addr_mgt"; + type_addr_wifi = <0x0>; + type_addr_bt = <0x0>; + type_addr_eth = <0x0>; + status = "okay"; + }; +}; + +&sdc2 { + non-removable; + bus-width = <4>; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + no-sdio; + no-sd; + ctl-spec-caps = <0x308>; + cap-mmc-highspeed; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + mmc-bootpart-noacc; + max-frequency = <150000000>; + /*vmmc-supply = <®_dcdc1>;*/ + /*emmc io vol 3.3v*/ + /*vqmmc-supply = <®_aldo1>;*/ + /*emmc io vol 1.8v*/ + /*vqmmc-supply = <®_eldo1>;*/ + status = "disabled"; +}; + +&sdc0 { + bus-width = <4>; + cd-gpios = <&pio PF 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + /*non-removable;*/ + /*broken-cd;*/ + /*cd-inverted;*/ + /*data3-detect;*/ + /*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/ + cd-used-24M; + cap-sd-highspeed; + /*sd-uhs-sdr50;*/ + /*sd-uhs-ddr50;*/ + /*sd-uhs-sdr104;*/ + no-sdio; + no-mmc; + sunxi-power-save-mode; + /*sunxi-dis-signal-vol-sw;*/ + max-frequency = <150000000>; + ctl-spec-caps = <0x8>; + /*vmmc-supply = <®_dcdc1>;*/ + /*vqmmc33sw-supply = <®_dcdc1>;*/ + /*vdmmc33sw-supply = <®_dcdc1>;*/ + /*vqmmc18sw-supply = <®_eldo1>;*/ + /*vdmmc18sw-supply = <®_eldo1>;*/ + status = "disabled"; +}; + +&sdc1 { + bus-width = <4>; + no-mmc; + no-sd; + cap-sd-highspeed; + /*sd-uhs-sdr12*/ + /*sd-uhs-sdr25;*/ + /*sd-uhs-sdr50;*/ + /*sd-uhs-ddr50;*/ + /*sd-uhs-sdr104;*/ + /*sunxi-power-save-mode;*/ + /*sunxi-dis-signal-vol-sw;*/ + cap-sdio-irq; + keep-power-in-suspend; + ignore-pm-notify; + max-frequency = <150000000>; + ctl-spec-caps = <0x8>; + status = "disabled"; +}; + + +/* +tvd configuration +used (create device, 0: do not create device, 1: create device) +agc_auto_enable (0: agc manual mode,agc_manual_value is valid; 1: agc auto mode) +agc_manual_value (agc manual value, default value is 64) +cagc_enable (cagc 0: disable, 1: enable) +fliter_used (3d fliter 0: disable, 1: enable) +support two PMU power (tvd_power0, tvd_power1) +support two GPIO power (tvd_gpio0, tvd_gpio1) +NOTICE: If tvd need pmu power or gpio power,params need be configured under [tvd] +tvd_sw (the switch of all tvd driver.) +tvd_interface (0: cvbs, 1: ypbpr,) +tvd_format (0:TVD_PL_YUV420 , 1: MB_YUV420, 2: TVD_PL_YUV422) +tvd_system (0:ntsc, 1:pal) +tvd_row (total row number in multi channel mode 1-2) +tvd_column (total column number in multi channel mode 1-2) +tvd_channelx_en (0:disable, 1~4:position in multi channel mode,In single channel + mode,mean enable) +tvd_row*tvd_column is the total tvd channel number to be used in multichannel mode ++--------------------+--------------------+ +| | | +| | | +| 1 | 2 | +| | | +| | | ++--------------------+--------------------+ +| | | +| | | +| 3 | 4 | +| | | +| | | ++--------------------+--------------------+ +*/ + +&tvd { + tvd_sw = <1>; + tvd_interface = <0>; + tvd_format = <0>; + tvd_system = <1>; + tvd_row = <1>; + tvd_column = <1>; + tvd_channel0_en = <1>; + tvd_channel1_en = <0>; + tvd_channel2_en = <0>; + tvd_channel3_en = <0>; + /*tvd_gpio0 = <&pio PD 22 GPIO_ACTIVE_HIGH>;*/ + /*tvd_gpio1 = <&pio PD 23 GPIO_ACTIVE_HIGH>;*/ + /*tvd_gpio2 = <&pio PD 24 GPIO_ACTIVE_HIGH>;*/ + /* dc1sw-supply = <®_dc1sw>;*/ + /* eldo3-supply = <®_eldo3>;*/ + /*tvd_power0 = "dc1sw"*/ + /*tvd_power1 = "eldo3"*/ +}; + +&tvd0 { + used = <1>; + agc_auto_enable = <1>; + agc_manual_value = <64>; + cagc_enable = <1>; + fliter_used = <1>; +}; + +/* Audio Driver modules */ +&sunxi_rpaf_dsp0 { + status = "disabled"; +}; + +/* if audiocodec is used, sdc0 and uart0 should be closed to enable PA. */ +&codec { + /* MIC and headphone gain setting */ + mic1gain = <0x1F>; + mic2gain = <0x1F>; + mic3gain = <0x1F>; + /* ADC/DAC DRC/HPF func enabled */ + /* 0x1:DAP_HP_EN; 0x2:DAP_SPK_EN; 0x3:DAP_HPSPK_EN */ + adcdrc_cfg = <0x0>; + adchpf_cfg = <0x1>; + dacdrc_cfg = <0x0>; + dachpf_cfg = <0x0>; + /* Volume about */ + digital_vol = <0x00>; + lineout_vol = <0x1a>; + headphonegain = <0x03>; + /* Pa enabled about */ + pa_level = <0x01>; + pa_pwr_level = <0x01>; + pa_msleep_time = <0x78>; + /* gpio-spk = <&pio PF 2 GPIO_ACTIVE_HIGH>;*/ + /* gpio-spk-pwr = <&pio PF 4 GPIO_ACTIVE_HIGH>; */ + /* CMA config about */ + playback_cma = <128>; + capture_cma = <256>; + /* regulator about */ + /* avcc-supply = <®_aldo1>; */ + /* hpvcc-supply = <®_eldo1>; */ + status = "okay"; +}; + +&sndcodec { + hp_detect_case = <0x00>; + jack_enable = <0x01>; + status = "okay"; +}; + +&dummy_cpudai { + status = "okay"; +}; + +&dmic { + pinctrl-names = "default","sleep"; + pinctrl-0 = <&dmic_pins_a>; + pinctrl-1 = <&dmic_pins_b>; + status = "okay"; +}; + +&dmic_codec { + status = "okay"; +}; + +&sounddmic { + status = "okay"; +}; + +/*----------------------------------------------------------------------------- + * pcm_lrck_period 16/32/64/128/256 + * slot_width_select 16bits/20bits/24bits/32bits + * frametype 0 --> short frame = 1 clock width; + * 1 --> long frame = 2 clock width; + * tdm_config 0 --> pcm + * 1 --> i2s + * mclk_div 0 --> not output + * 1/2/4/6/8/12/16/24/32/48/64/96/128/176/192 + * (set mclk as external codec clk source, freq is pll_audio/mclk_div) + * pinctrl_used 0 --> I2S/PCM use for internal + * 1 --> I2S/PCM use for external audio + * daudio_type: 0 --> external audio type + *---------------------------------------------------------------------------*/ +&daudio0 { + mclk_div = <0x01>; + frametype = <0x00>; + tdm_config = <0x01>; + sign_extend = <0x00>; + msb_lsb_first = <0x00>; + pcm_lrck_period = <0x80>; + slot_width_select = <0x20>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&daudio0_pins_a>; + pinctrl-1 = <&daudio0_pins_b>; + pinctrl_used = <0x0>; + status = "disabled"; +}; + +/*----------------------------------------------------------------------------- + * simple-audio-card,name name of sound card, e.g. + * "snddaudio0" --> use for external audio + * sound-dai "snd-soc-dummy" --> use for I2S + * "ac108" --> use for external audio of ac108 + *---------------------------------------------------------------------------*/ +&sounddaudio0 { + /* simple-audio-card,format = "i2s"; */ + /* simple-audio-card,frame-master = <&daudio0_master>; */ + /* simple-audio-card,bitclock-master = <&daudio0_master>; */ + /* simple-audio-card,bitclock-inversion; */ + /* simple-audio-card,frame-inversion; */ + status = "disabled"; + daudio0_master: simple-audio-card,codec { + /* sound-dai = <&ac108>; */ + }; +}; + +&daudio1 { + mclk_div = <0x01>; + frametype = <0x00>; + tdm_config = <0x01>; + sign_extend = <0x00>; + msb_lsb_first = <0x00>; + pcm_lrck_period = <0x80>; + slot_width_select = <0x20>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&daudio1_pins_a>; + pinctrl-1 = <&daudio1_pins_b>; + pinctrl_used = <0x0>; + status = "disabled"; +}; + +&sounddaudio1 { + status = "disabled"; + daudio1_master: simple-audio-card,codec { + /* sound-dai = <&ac108>; */ + }; +}; + +&daudio2 { + mclk_div = <0x01>; + frametype = <0x00>; + tdm_config = <0x01>; + sign_extend = <0x00>; + tx_data_mode = <0x00>; + rx_data_mode = <0x00>; + msb_lsb_first = <0x00>; + pcm_lrck_period = <0x80>; + slot_width_select = <0x20>; + asrc_function_en = <0x00>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&daudio2_pins_a &daudio2_pins_b &daudio2_pins_c>; + pinctrl-1 = <&daudio2_pins_d>; + pinctrl_used = <0x1>; + daudio_type = <0x0>; + status = "disabled"; +}; + +&sounddaudio2 { + status = "okay"; + daudio2_master: simple-audio-card,codec { + /* sound-dai = <&ac108>; */ + }; +}; + +&spdif { + pinctrl-names = "default","sleep"; + pinctrl-0 = <&spdif_pins_a>; + pinctrl-1 = <&spdif_pins_b>; + status = "okay"; +}; + +&soundspdif { + status = "okay"; +}; + +/* + *usb_port_type: usb mode. 0-device, 1-host, 2-otg. + *usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect. + *usb_detect_mode: 0-thread scan, 1-id gpio interrupt. + *usb_id_gpio: gpio for id detect. + *usb_det_vbus_gpio: gpio for id detect. gpio or "axp_ctrl"; + *usb_wakeup_suspend:0-SUPER_STANDBY, 1-USB_STANDBY. + */ +&usbc0 { + device_type = "usbc0"; + usb_port_type = <0x2>; + usb_detect_type = <0x1>; + usb_detect_mode = <0>; + usb_id_gpio = <&pio PB 6 GPIO_ACTIVE_HIGH>; + enable-active-high; + usb_det_vbus_gpio = <&pio PB 2 GPIO_ACTIVE_HIGH>; + usb_wakeup_suspend = <0>; + usb_serial_unique = <0>; + usb_serial_number = "20080411"; + rndis_wceis = <1>; + status = "okay"; +}; + +&ehci0 { + drvvbus-supply = <®_usb1_vbus>; +}; + +&ohci0 { + drvvbus-supply = <®_usb1_vbus>; +}; + +&usbc1 { + device_type = "usbc1"; + usb_port_type = <0x01>; + sb_detect_type = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0>; + status = "okay"; +}; + +&ehci1 { + status = "okay"; +}; + +&ohci1 { + status = "okay"; +}; + +&twi0 { + clock-frequency = <400000>; + pinctrl-0 = <&twi0_pins_a>; + pinctrl-1 = <&twi0_pins_b>; + pinctrl-names = "default", "sleep"; + status = "disabled"; + + eeprom@50 { + compatible = "atmel,24c16"; + reg = <0x50>; + status = "disabled"; + }; +}; + +&twi1 { + clock-frequency = <400000>; + pinctrl-0 = <&twi1_pins_a>; + pinctrl-1 = <&twi1_pins_b>; + pinctrl-names = "default", "sleep"; + status = "disabled"; +}; + +&twi2 { + clock-frequency = <400000>; + pinctrl-0 = <&twi2_pins_a>; + pinctrl-1 = <&twi2_pins_b>; + pinctrl-names = "default", "sleep"; + dmas = <&dma 45>, <&dma 45>; + dma-names = "tx", "rx"; + status = "disabled"; + + /* pcf8574-usage: + * only use gpio0~7, 0 means PP0. + * pin set: + * gpios = <&pcf8574 0 GPIO_ACTIVE_LOW>; + * interrupt set: + * interrupt-parent = <&pcf8574>; + * interrupts = <0 IRQ_TYPE_EDGE_FALLING>; + */ + pcf8574: gpio@38 { + compatible = "nxp,pcf8574"; + reg = <0x38>; + gpio_base = <2020>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + interrupt-parent = <&pio>; + interrupts = ; + status = "disabled"; + }; + + ctp@14 { + compatible = "allwinner,goodix"; + device_type = "ctp"; + reg = <0x14>; + status = "disabled"; + ctp_name = "gt9xxnew_ts"; + ctp_twi_id = <0x2>; + ctp_twi_addr = <0x14>; + ctp_screen_max_x = <0x320>; + ctp_screen_max_y = <0x1e0>; + ctp_revert_x_flag = <0x0>; + ctp_revert_y_flag = <0x0>; + ctp_exchange_x_y_flag = <0x0>; + ctp_int_port = <&pio PE 10 GPIO_ACTIVE_HIGH>; + ctp_wakeup = <&pio PE 11 GPIO_ACTIVE_HIGH>; + /*ctp-supply = <®_aldo2>;*/ + /*ctp_power_ldo = <®_aldo2>;*/ + /*ctp_power_ldo_vol = <3300>;*/ + }; +}; + +&twi3 { + clock-frequency = <400000>; + pinctrl-0 = <&twi3_pins_a>; + pinctrl-1 = <&twi3_pins_b>; + pinctrl-names = "default", "sleep"; + status = "disabled"; +}; + +&gmac0 { + phy-mode = "rgmii"; + use_ephy25m = <1>; + pinctrl-0 = <&gmac_pins_a>; + pinctrl-1 = <&gmac_pins_b>; + pinctrl-names = "default", "sleep"; + phy-rst = <&pio PF 4 GPIO_ACTIVE_HIGH>; + tx-delay = <5>; /*2~4*/ + rx-delay = <0>; + status = "okay"; +}; + +&spi0 { + clock-frequency = <100000000>; + pinctrl-0 = <&spi0_pins_a &spi0_pins_b>; + pinctrl-1 = <&spi0_pins_c>; + pinctrl-names = "default", "sleep"; + /*spi-supply = <®_dcdc1>;*/ + spi_slave_mode = <0>; + spi0_cs_number = <1>; + spi0_cs_bitmap = <1>; + status = "okay"; + + spi-nand@0 { + compatible = "spi-nand"; + spi-max-frequency=<100000000>; + reg = <0x0>; + spi-rx-bus-width=<0x01>; + spi-tx-bus-width=<0x01>; + status="okay"; + }; + + spi-nor@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency=<30000000>; + reg = <0x0>; + spi-rx-bus-width=<0x01>; + spi-tx-bus-width=<0x01>; + status="disabled"; + }; +}; + +&spi1 { + clock-frequency = <100000000>; + pinctrl-0 = <&spi1_pins_a &spi1_pins_b>; + pinctrl-1 = <&spi1_pins_c>; + pinctrl-names = "default", "sleep"; + spi_slave_mode = <0>; + status = "disabled"; + + spi_board1@0 { + device_type = "spi_board1"; + compatible = "rohm,dh2228fv"; + spi-max-frequency = <0x5f5e100>; + reg = <0x0>; + spi-rx-bus-width = <0x4>; + spi-tx-bus-width = <0x4>; + status = "disabled"; + }; +}; + +&ledc { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&ledc_pins_a>; + pinctrl-1 = <&ledc_pins_b>; + led_count = <12>; + output_mode = "GRB"; + reset_ns = <84>; + t1h_ns = <800>; + t1l_ns = <320>; + t0h_ns = <300>; + t0l_ns = <800>; + wait_time0_ns = <84>; + wait_time1_ns = <84>; + wait_data_time_ns = <600000>; + status = "disabled"; +}; + +&keyboard0 { + key0 = <210 0x160>; + wakeup-source; + status = "disabled"; +}; + +/* camera csi */ +&vind0 { + csi_top = <336000000>; + csi_isp = <327000000>; + status = "disabled"; + + actuator0: actuator@5809450 { + device_type = "actuator0"; + actuator0_name = "ad5820_act"; + actuator0_slave = <0x18>; + actuator0_af_pwdn = <>; + actuator0_afvdd = "afvcc-csi"; + actuator0_afvdd_vol = <2800000>; + status = "disabled"; + }; + + flash0: flash@5809460 { + device_type = "flash0"; + flash0_type = <2>; + flash0_en = <>; + flash0_mode = <>; + flash0_flvdd = ""; + flash0_flvdd_vol = <>; + device_id = <0>; + status = "disabled"; + }; + + sensor0:sensor@5809470 { + device_type = "sensor0"; + sensor0_mname = "ov5640"; + sensor0_twi_cci_id = <2>; + sensor0_twi_addr = <0x78>; + sensor0_mclk_id = <0>; + sensor0_pos = "rear"; + sensor0_isp_used = <0>; + sensor0_fmt = <0>; + sensor0_stby_mode = <0>; + sensor0_vflip = <0>; + sensor0_hflip = <0>; + sensor0_iovdd-supply = <>; + sensor0_iovdd_vol = <3300000>; + sensor0_avdd-supply = <>; + sensor0_avdd_vol = <1200000>; + sensor0_dvdd-supply = <>; + sensor0_dvdd_vol = <1200000>; + sensor0_power_en = <>; + sensor0_reset = <&pio PG 0 GPIO_ACTIVE_LOW>; + sensor0_pwdn = <&pio PG 1 GPIO_ACTIVE_LOW>; + status = "disabled"; + }; + + sensor1:sensor@5809480 { + status = "disabled"; + }; + + vinc0:vinc@5809000 { + vinc0_csi_sel = <0>; + vinc0_mipi_sel = <0xff>; + vinc0_isp_sel = <0>; + vinc0_isp_tx_ch = <0>; + vinc0_tdm_rx_sel = <0xff>; + vinc0_rear_sensor_sel = <0>; + vinc0_front_sensor_sel = <0>; + vinc0_sensor_list = <0>; + status = "disabled"; + }; + + vinc1:vinc@5809200 { + vinc1_csi_sel = <0>; + vinc1_mipi_sel = <0xff>; + vinc1_isp_sel = <0>; + vinc1_isp_tx_ch = <0>; + vinc1_tdm_rx_sel = <0xff>; + vinc1_rear_sensor_sel = <0>; + vinc1_front_sensor_sel = <1>; + vinc1_sensor_list = <0>; + status = "disabled"; + }; +}; + +/*---------------------------------------------------------------------------------- +disp init configuration + +disp_mode (0:screen0) +screenx_output_type (0:none; 1:lcd; 2:tv; 5:vdpo) +fbx format (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444) +fbx pixel sequence (0:ARGB 1:BGRA 2:ABGR 3:RGBA) +fb0_scaler_mode_enable(scaler mode enable, used FE) +fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0) +lcdx_backlight (lcd init backlight,the range:[0,256],default:197 +lcdx_yy (lcd init screen bright/contrast/saturation/hue, value:0~100, default:50/50/57/50) +lcd0_contrast (LCD contrast, 0~100) +lcd0_saturation (LCD saturation, 0~100) +lcd0_hue (LCD hue, 0~100) +framebuffer software rotation setting: +disp_rotation_used: (0:disable; 1:enable,you must set fbX_width to lcd_y, +set fbX_height to lcd_x) +degreeX: (X:screen index; 0:0 degree; 1:90 degree; 3:270 degree) +degreeX_Y: (X:screen index; Y:layer index 0~15; 0:0 degree; 1:90 degree; 3:270 degree) +devX_output_type : config output type in bootGUI framework in UBOOT-2018. + (0:none; 1:lcd; 2:tv;) +devX_output_mode : config output resolution(see include/video/sunxi_display2.h) of bootGUI framework in UBOOT-2018 +devX_screen_id : config display index of bootGUI framework in UBOOT-2018 +devX_do_hpd : whether do hpd detectation or not in UBOOT-2018 +chn_cfg_mode : Hardware DE channel allocation config. 0:single display with 6 + channel, 1:dual display with 4 channel in main display and 2 channel in second + display, 2:dual display with 3 channel in main display and 3 channel in second + in display. +----------------------------------------------------------------------------------*/ +&disp { + disp_init_enable = <1>; + disp_mode = <0>; + + screen0_output_type = <1>; + screen0_output_mode = <4>; + + screen1_output_type = <3>; + screen1_output_mode = <4>; + + screen1_output_format = <0>; + screen1_output_bits = <0>; + screen1_output_eotf = <4>; + screen1_output_cs = <257>; + screen1_output_range = <2>; + screen1_output_scan = <0>; + screen1_output_aspect_ratio = <8>; + dev0_output_type = <1>; + dev0_output_mode = <4>; + dev0_screen_id = <0>; + dev0_do_hpd = <0>; + + dev1_output_type = <4>; + dev1_output_mode = <10>; + dev1_screen_id = <1>; + dev1_do_hpd = <1>; + + def_output_dev = <0>; + + disp_rotation_used = <1>; + degree0 = <0>; + fb0_format = <0>; + fb0_buffer_num = <1>; + /*fb0_width = <800>;*/ + /*fb0_height = <480>;*/ /*read from lcd*/ + fb1_format = <0>; + fb1_width = <0>; + fb1_height = <0>; + chn_cfg_mode = <1>; + + disp_para_zone = <1>; + /*VCC-LCD*/ +/* dc1sw-supply = <®_dc1sw>;*/ + /*VCC-DSI*/ +/* eldo3-supply = <®_eldo3>;*/ + /*VCC-PD*/ +/* dcdc1-supply = <®_dcdc1>;*/ +}; + +/*---------------------------------------------------------------------------------- +;lcd0 configuration + +;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi +;lcd_hv_if 0:Parallel RGB; 8:Serial RGB; 10:Dummy RGB; 11: RGB Dummy;12:CCIR656 +;lcd_hv_clk_phase 0:0 degree;1:90 degree;2:180 degree;3:270 degree +;lcd_hv_sync_polarity 0:vs low,hs low; 1:vs high,hslow; 2:vs low,hs high; 3:vs high,hs high +;lcd_hv_syuv_seq 0:YUYV; 1:YVYU; 2:UYVY; 3:VYUY +;lcd_cpu_if 0:18bit/1 cycle parallel(RGB666); 4:16bit/1cycle parallel (RGB565) +; 6:18bit/3 cycle parallel(RGB666); 7:16bit/2cycle parallel (RGB565) +;lcd_cpu_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge; +;lcd_dsi_if 0:video mode; 1: Command mode; 2:video burst mode +;lcd_dsi_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge; +;lcd_x: lcd horizontal resolution +;lcd_y: lcd vertical resolution +;lcd_width: width of lcd in mm +;lcd_height: height of lcd in mm +;lcd_dclk_freq: in MHZ unit +;lcd_pwm_freq: in HZ unit +;lcd_pwm_pol: lcd backlight PWM polarity +;lcd_pwm_max_limit lcd backlight PWM max limit(<=255) +;lcd_hbp: hsync back porch(pixel) + hsync plus width(pixel); +;lcd_ht: hsync total cycle(pixel) +;lcd_vbp: vsync back porch(line) + vysnc plus width(line) +;lcd_vt: vysnc total cycle(line) +;lcd_hspw: hsync plus width(pixel) +;lcd_vspw: vysnc plus width(pixel) +;lcd_lvds_if: 0:single link; 1:dual link +;lcd_lvds_colordepth: 0:8bit; 1:6bit +;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode +;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither +;lcd_io_phase: 0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase; +; 8~11bit:dclk phase; 12~15bit:de phase) +;lcd_gamma_en lcd gamma correction enable +;lcd_bright_curve_en lcd bright curve correction enable +;lcd_cmap_en lcd color map function enable +;deu_mode 0:smoll lcd screen; 1:large lcd screen(larger than 10inch) +;lcdgamma4iep: Smart Backlight parameter, lcd gamma vale * 10; +; decrease it while lcd is not bright enough; increase while lcd is too bright +;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch) +;Pin setting for special function ie.LVDS, RGB data or vsync +; name(donot care) = port:PD12 +;Pin setting for gpio: +; lcd_gpio_X = port:PD12 +;Pin setting for backlight enable pin +; lcd_bl_en = port:PD12 +;fsync setting, pulse to csi +;lcd_fsync_en (0:disable fsync,1:enable) +;lcd_fsync_act_time (active time of fsync, unit:pixel) +;lcd_fsync_dis_time (disactive time of fsync, unit:pixel) +;lcd_fsync_pol (0:positive;1:negative) +;gpio config: <&pio for cpu or &r_pio for cpus, port, port num, pio function, +pull up or pull down(default 0), driver level(default 1), data> +;For dual link lvds: use lvds2link_pins_a and lvds2link_pins_b instead +;For rgb24: use rgb24_pins_a and rgb24_pins_b instead +;For lvds1: use lvds1_pins_a and lvds1_pins_b instead +;For lvds0: use lvds0_pins_a and lvds0_pins_b instead +;----------------------------------------------------------------------------------*/ +/* +&lcd0 { + lcd_used = <0>; + + lcd_driver_name = "tft08006"; + lcd_backlight = <100>; + lcd_if = <4>; + + lcd_x = <800>; + lcd_y = <1280>; + lcd_width = <52>; + lcd_height = <52>; + lcd_dclk_freq = <70>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <2>; + lcd_pwm_freq = <1000>; + lcd_pwm_pol = <0>; + lcd_pwm_max_limit = <255>; + + lcd_hbp = <32>; + lcd_ht = <868>; + lcd_hspw = <4>; + lcd_vbp = <12>; + lcd_vt = <1311>; + lcd_vspw = <4>; + + lcd_dsi_if = <0>; + lcd_dsi_lane = <4>; + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <0>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_hv_clk_phase = <0>; + lcd_hv_sync_polarity= <0>; + lcd_io_phase = <0x0000>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_en = <0>; + lcd_fsync_act_time = <1000>; + lcd_fsync_dis_time = <1000>; + lcd_fsync_pol = <0>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + lcd_gpio_0 = <&pio PG 13 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&dsi4lane_pins_a>; + pinctrl-1 = <&dsi4lane_pins_b>; +}; +*/ + +&lcd0 { + lcd_used = <1>; + + lcd_driver_name = "default_lcd"; + lcd_backlight = <50>; + lcd_if = <0>; + + lcd_x = <800>; + lcd_y = <480>; + lcd_width = <150>; + lcd_height = <94>; + lcd_dclk_freq = <48>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <500>; + lcd_pwm_pol = <0>; + + lcd_hbp = <55>; + lcd_ht = <1240>; + lcd_hspw = <20>; + lcd_vbp = <35>; + lcd_vt = <650>; + lcd_vspw = <10>; + + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_io_phase = <0x0000>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + pinctrl-0 = <&rgb18_pins_a>; + pinctrl-1 = <&rgb18_pins_b>; +/* + lcd_driver_name = "default_lcd"; + lcd_backlight = <150>; + lcd_if = <3>; + + lcd_x = <1280>; + lcd_y = <800>; + lcd_width = <150>; + lcd_height = <94>; + lcd_dclk_freq = <71>; + lcd_rb_swap = <0>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <1>; + lcd_pwm_max_limit = <255>; + + lcd_hbp = <20>; + lcd_ht = <1418>; + lcd_hspw = <10>; + lcd_vbp = <10>; + lcd_vt = <814>; + lcd_vspw = <5>; + + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <1>; + lcd_io_phase = <0x0000>; + lcd_hv_clk_phase = <0>; + lcd_hv_sync_polarity = <0>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_act_time = <1000>; + lcd_fsync_dis_time = <1000>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + pinctrl-0 = <&lvds0_pins_a>; + pinctrl-1 = <&lvds0_pins_b>; + lcd_bl_en = <&pio PD 20 GPIO_ACTIVE_HIGH>; + + lcd_driver_name = "he0801a068"; + lcd_backlight = <50>; + lcd_if = <4>; + + lcd_x = <800>; + lcd_y = <1280>; + lcd_width = <52>; + lcd_height = <52>; + lcd_dclk_freq = <78>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <1>; + lcd_pwm_max_limit = <255>; + + lcd_hbp = <149>; + lcd_ht = <978>; + lcd_hspw = <16>; + lcd_vbp = <7>; + lcd_vt = <1329>; + lcd_vspw = <5>; + + lcd_dsi_lane = <4>; + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_io_phase = <0x0000>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_act_time = <1000>; + lcd_fsync_dis_time = <1000>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + pinctrl-0 = <&dsi4lane_pins_a>; + pinctrl-1 = <&dsi4lane_pins_b>; + lcd_gpio_0 = <&pio PD 20 GPIO_ACTIVE_HIGH>; +*/ +}; + +&pwm0 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_pin_a>; + pinctrl-1 = <&pwm0_pin_b>; + status = "okay"; +}; + +&pwm2 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm2_pin_a>; + pinctrl-1 = <&pwm2_pin_b>; + status = "okay"; +}; + + +&pwm7 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm7_pin_a>; + pinctrl-1 = <&pwm7_pin_b>; + status = "okay"; +}; + +&rtp { + allwinner,tp-sensitive-adjust = <0xf>; + allwinner,filter-type = <0x1>; + allwinner,ts-attached; + status = "disabled"; +}; + +&tpadc { + key_cnt = <5>; + key1 = <420 115>; + key2 = <870 114>; + key3 = <1290 119>; + key4 = <1630 373>; + key5 = <1950 28>; + status = "disabled"; +}; + +&gpadc { + channel_num = <1>; + channel_select = <0x01>; + channel_data_select = <0>; + channel_compare_select = <0x01>; + channel_cld_select = <0x01>; + channel_chd_select = <0>; + channel0_compare_lowdata = <1600000>; + channel0_compare_higdata = <1200000>; + channel1_compare_lowdata = <460000>; + channel1_compare_higdata = <1200000>; + key_cnt = <5>; + key0_vol = <210>; + key0_val = <0x19c>; + key1_vol = <410>; + key1_val = <0x197>; + key2_vol = <590>; + key2_val = <158>; + key3_vol = <750>; + key3_val = <28>; + key4_vol = <880>; + key4_val = <28>; + status = "okay"; + wakeup-source; +}; + +&s_cir0 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&s_cir0_pins_a>; + pinctrl-1 = <&s_cir0_pins_b>; + ir_protocol_used = <0>; + ir_addr_code0 = <0x0>; + status = "disabled"; +}; + +&ir1 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&ir1_pins_a>; + pinctrl-1 = <&ir1_pins_b>; + status = "disabled"; +}; diff --git a/device/config/chips/f133/configs/pro/linux-5.4/config-5.4 b/device/config/chips/f133/configs/pro/linux-5.4/config-5.4 new file mode 100755 index 0000000..c5fea0b --- /dev/null +++ b/device/config/chips/f133/configs/pro/linux-5.4/config-5.4 @@ -0,0 +1,3785 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/riscv 5.4.61 Kernel Configuration +# +CONFIG_CC_VERSION_TEXT="riscv64-unknown-linux-gnu-gcc (C-SKY RISCV Tools V1.8.4 B20200702) 8.1.0" +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=80100 +CONFIG_CLANG_VERSION=0 +CONFIG_CC_CAN_LINK=y +CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_IRQ_WORK=y +CONFIG_THREAD_INFO_IN_TASK=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_BUILD_SALT="" +CONFIG_DEFAULT_HOSTNAME="(none)" +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_USELIB is not set +# CONFIG_AUDIT is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_MSI_IOMMU=y +CONFIG_SPARSE_IRQ=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +# end of IRQ subsystem + +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_GENERIC_CLOCKEVENTS=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=y +CONFIG_HIGH_RES_TIMERS=y +# end of Timers subsystem + +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_PREEMPTION=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +# CONFIG_TASKSTATS is not set +# CONFIG_PSI is not set +# end of CPU/Task time and stats accounting + +# +# RCU Subsystem +# +CONFIG_PREEMPT_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +CONFIG_TREE_SRCU=y +CONFIG_TASKS_RCU=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_RCU_NEED_SEGCBLIST=y +# end of RCU Subsystem + +CONFIG_IKCONFIG=y +# CONFIG_IKCONFIG_PROC is not set +# CONFIG_IKHEADERS is not set +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 +CONFIG_GENERIC_SCHED_CLOCK=y + +# +# Scheduler features +# +# end of Scheduler features + +CONFIG_ARCH_SUPPORTS_INT128=y +# CONFIG_CGROUPS is not set +# CONFIG_NAMESPACES is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +# CONFIG_BLK_DEV_INITRD is not set +# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_BPF=y +CONFIG_EXPERT=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_FHANDLE=y +CONFIG_POSIX_TIMERS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y +CONFIG_HAVE_FUTEX_CMPXCHG=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_IO_URING=y +CONFIG_ADVISE_SYSCALLS=y +CONFIG_MEMBARRIER=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +CONFIG_KALLSYMS_BASE_RELATIVE=y +# CONFIG_BPF_SYSCALL is not set +# CONFIG_USERFAULTFD is not set +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +# CONFIG_PC104 is not set + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +# end of Kernel Performance Events And Counters + +CONFIG_VM_EVENT_COUNTERS=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +# CONFIG_SLUB is not set +CONFIG_SLOB=y +CONFIG_SLAB_MERGE_DEFAULT=y +# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set +CONFIG_PROFILING=y +# end of General setup + +CONFIG_64BIT=y +CONFIG_RISCV=y +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=24 +CONFIG_MMU=y +CONFIG_ZONE_DMA32=y +CONFIG_VA_BITS=39 +CONFIG_PA_BITS=56 +CONFIG_PAGE_OFFSET=0xffffffe000000000 +CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_PGTABLE_LEVELS=3 +CONFIG_SUNXI_SOC_NAME="sun20iw1" + +# +# SoC selection +# +# CONFIG_SOC_SIFIVE is not set +CONFIG_RISCV_SUNXI=y +CONFIG_ARCH_SUNXI=y +# CONFIG_FPGA_V4_PLATFORM is not set +# CONFIG_FPGA_V7_PLATFORM is not set +CONFIG_EVB_PLATFORM=y +CONFIG_ARCH_SUN20I=y +CONFIG_ARCH_SUN20IW1=y +CONFIG_ARCH_SUN20IW1P1=y +# end of SoC selection + +# +# Platform type +# +# CONFIG_ARCH_RV32I is not set +CONFIG_ARCH_RV64I=y +# CONFIG_CMODEL_MEDLOW is not set +CONFIG_CMODEL_MEDANY=y +CONFIG_MODULE_SECTIONS=y +# CONFIG_MAXPHYSMEM_2GB is not set +CONFIG_MAXPHYSMEM_128GB=y +# CONFIG_SMP is not set +CONFIG_TUNE_GENERIC=y +CONFIG_RISCV_ISA_C=y +CONFIG_FPU=y +CONFIG_VECTOR=y +# end of Platform type + +# +# Kernel features +# +CONFIG_HZ_100=y +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=100 +CONFIG_SCHED_HRTICK=y +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# end of Kernel features + +# +# Boot options +# +CONFIG_CMDLINE="" +# end of Boot options + +# +# CPU Power Management +# + +# +# CPU Idle +# +CONFIG_CPU_IDLE=y +# CONFIG_CPU_IDLE_GOV_LADDER is not set +CONFIG_CPU_IDLE_GOV_MENU=y +# CONFIG_CPU_IDLE_GOV_TEO is not set + +# +# RISCV CPU Idle Drivers +# +# CONFIG_RISCV_CPUIDLE is not set +# end of RISCV CPU Idle Drivers +# end of CPU Idle + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set +# end of CPU Frequency scaling +# end of CPU Power Management + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_PM_SLEEP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# end of Power management options + +# +# General architecture-dependent options +# +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_HAVE_ASM_MODVERSIONS=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_LTO_NONE=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=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_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y +CONFIG_HAVE_COPY_THREAD_TLS=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_64BIT_TIME=y +# CONFIG_REFCOUNT_FULL is not set +# CONFIG_LOCK_EVENT_COUNTS is not set + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +# end of GCOV-based kernel profiling + +CONFIG_PLUGIN_HOSTCC="" +# end of General architecture-dependent options + +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 is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_BLOCK=y +CONFIG_BLK_SCSI_REQUEST=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_DEV_ZONED is not set +# CONFIG_BLK_CMDLINE_PARSER is not set +# CONFIG_BLK_WBT is not set +# CONFIG_BLK_DEBUG_FS is not set +# CONFIG_BLK_SED_OPAL is not set +# CONFIG_BLK_INLINE_ENCRYPTION is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_EFI_PARTITION=y +# end of Partition Types + +CONFIG_BLK_PM=y + +# +# IO Schedulers +# +CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=y +# CONFIG_IOSCHED_BFQ is not set +# end of IO Schedulers + +CONFIG_ASN1=y +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ARCH_HAS_MMIOWB=y +# CONFIG_GKI_HIDDEN_DRM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_REGMAP_CONFIGS is not set +# CONFIG_GKI_HIDDEN_CRYPTO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_SOC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MMC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPIO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_QCOM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MEDIA_CONFIGS is not set +# CONFIG_GKI_HIDDEN_VIRTUAL_CONFIGS is not set +# CONFIG_GKI_LEGACY_WEXT_ALLCONFIG is not set +# CONFIG_GKI_HIDDEN_USB_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SOC_BUS_CONFIGS is not set +# CONFIG_GKI_HIDDEN_RPMSG_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPU_CONFIGS is not set +# CONFIG_GKI_HIDDEN_IRQ_CONFIGS is not set +# CONFIG_GKI_HIDDEN_HYPERVISOR_CONFIGS is not set +# CONFIG_GKI_HACKS_TO_FIX is not set +# CONFIG_GKI_OPT_FEATURES is not set +CONFIG_FREEZER=y + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +CONFIG_ELFCORE=y +CONFIG_BINFMT_SCRIPT=y +CONFIG_ARCH_HAS_BINFMT_FLAT=y +# CONFIG_BINFMT_FLAT is not set +# CONFIG_BINFMT_MISC is not set +# CONFIG_COREDUMP is not set +# end of Executable file formats + +# +# Memory Management options +# +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_HAVE_MEMBLOCK_NODE_MAP=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_MEMORY_ISOLATION=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_CONTIG_ALLOC=y +CONFIG_PHYS_ADDR_T_64BIT=y +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_NEED_PER_CPU_KM=y +# CONFIG_CLEANCACHE 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 is not set +# CONFIG_IDLE_PAGE_TRACKING is not set +# CONFIG_PERCPU_STATS is not set +# CONFIG_GUP_BENCHMARK is not set +CONFIG_ARCH_HAS_PTE_SPECIAL=y +# end of Memory Management options + +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +CONFIG_PACKET_DIAG=y +CONFIG_UNIX=y +CONFIG_UNIX_SCM=y +CONFIG_UNIX_DIAG=y +# CONFIG_TLS is not set +# CONFIG_XFRM_USER is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_FIB_TRIE_STATS=y +CONFIG_IP_MULTIPLE_TABLES=y +# CONFIG_IP_ROUTE_MULTIPATH is not set +# CONFIG_IP_ROUTE_VERBOSE is not set +# CONFIG_IP_PNP 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_FOU is not set +# CONFIG_NET_FOU_IP_TUNNELS is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +CONFIG_INET_TUNNEL=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_RAW_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 is not set +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +# CONFIG_INET6_AH is not set +# CONFIG_INET6_ESP is not set +# CONFIG_INET6_IPCOMP is not set +# CONFIG_IPV6_MIP6 is not set +# CONFIG_IPV6_ILA is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=y +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +# CONFIG_IPV6_SEG6_LWTUNNEL is not set +# CONFIG_IPV6_SEG6_HMAC is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y + +# +# Core Netfilter Configuration +# +# CONFIG_NETFILTER_INGRESS is not set +CONFIG_NETFILTER_NETLINK=y +# CONFIG_NETFILTER_NETLINK_ACCT is not set +# CONFIG_NETFILTER_NETLINK_QUEUE is not set +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NETFILTER_NETLINK_OSF is not set +CONFIG_NF_CONNTRACK=y +# CONFIG_NF_LOG_NETDEV is not set +CONFIG_NF_CONNTRACK_MARK=y +# CONFIG_NF_CONNTRACK_ZONES is not set +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +# CONFIG_NF_CONNTRACK_LABELS is not set +# CONFIG_NF_CT_PROTO_DCCP is not set +# CONFIG_NF_CT_PROTO_SCTP is not set +# CONFIG_NF_CT_PROTO_UDPLITE is not set +# CONFIG_NF_CONNTRACK_AMANDA is not set +# CONFIG_NF_CONNTRACK_FTP is not set +# CONFIG_NF_CONNTRACK_H323 is not set +# CONFIG_NF_CONNTRACK_IRC is not set +# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set +# CONFIG_NF_CONNTRACK_SNMP is not set +# CONFIG_NF_CONNTRACK_PPTP is not set +# CONFIG_NF_CONNTRACK_SANE is not set +# CONFIG_NF_CONNTRACK_SIP is not set +# CONFIG_NF_CONNTRACK_TFTP is not set +CONFIG_NF_CT_NETLINK=y +CONFIG_NF_CT_NETLINK_TIMEOUT=y +CONFIG_NF_NAT=y +CONFIG_NF_NAT_REDIRECT=y +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +# CONFIG_NETFILTER_XT_MARK is not set +CONFIG_NETFILTER_XT_CONNMARK=y + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set +# CONFIG_NETFILTER_XT_TARGET_CONNMARK 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 is not set +# CONFIG_NETFILTER_XT_TARGET_LED is not set +# CONFIG_NETFILTER_XT_TARGET_LOG is not set +# CONFIG_NETFILTER_XT_TARGET_MARK is not set +# CONFIG_NETFILTER_XT_NAT is not set +CONFIG_NETFILTER_XT_TARGET_NETMAP=y +# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set +# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set +# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set +CONFIG_NETFILTER_XT_TARGET_REDIRECT=y +# CONFIG_NETFILTER_XT_TARGET_MASQUERADE is not set +# CONFIG_NETFILTER_XT_TARGET_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set +# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set + +# +# Xtables matches +# +# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set +# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +# 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 is not set +# CONFIG_NETFILTER_XT_MATCH_ESP is not set +# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_HELPER is not set +# CONFIG_NETFILTER_XT_MATCH_HL is not set +# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set +# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set +# CONFIG_NETFILTER_XT_MATCH_L2TP is not set +# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set +# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_MAC is not set +# CONFIG_NETFILTER_XT_MATCH_MARK is not set +# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +# CONFIG_NETFILTER_XT_MATCH_OSF is not set +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set +# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set +# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set +# CONFIG_NETFILTER_XT_MATCH_QUOTA2 is not set +# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set +# CONFIG_NETFILTER_XT_MATCH_REALM is not set +# CONFIG_NETFILTER_XT_MATCH_RECENT is not set +# CONFIG_NETFILTER_XT_MATCH_SCTP is not set +# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set +CONFIG_NETFILTER_XT_MATCH_STATE=y +# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set +# CONFIG_NETFILTER_XT_MATCH_STRING is not set +# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set +# CONFIG_NETFILTER_XT_MATCH_TIME is not set +# CONFIG_NETFILTER_XT_MATCH_U32 is not set +# end of Core Netfilter Configuration + +# CONFIG_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=y +# CONFIG_NF_SOCKET_IPV4 is not set +# CONFIG_NF_TPROXY_IPV4 is not set +# CONFIG_NF_DUP_IPV4 is not set +# CONFIG_NF_LOG_ARP is not set +# CONFIG_NF_LOG_IPV4 is not set +CONFIG_NF_REJECT_IPV4=y +CONFIG_IP_NF_IPTABLES=y +# CONFIG_IP_NF_MATCH_AH is not set +# CONFIG_IP_NF_MATCH_ECN is not set +# CONFIG_IP_NF_MATCH_RPFILTER is not set +# CONFIG_IP_NF_MATCH_TTL is not set +# CONFIG_IP_NF_FILTER is not set +# CONFIG_IP_NF_TARGET_SYNPROXY is not set +# CONFIG_IP_NF_NAT is not set +CONFIG_IP_NF_MANGLE=y +# 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 is not set +# CONFIG_IP_NF_ARPTABLES is not set +# end of IP: Netfilter Configuration + +# +# IPv6: Netfilter Configuration +# +# CONFIG_NF_SOCKET_IPV6 is not set +# CONFIG_NF_TPROXY_IPV6 is not set +# CONFIG_NF_DUP_IPV6 is not set +# CONFIG_NF_REJECT_IPV6 is not set +# CONFIG_NF_LOG_IPV6 is not set +# CONFIG_IP6_NF_IPTABLES is not set +# end of IPv6: Netfilter Configuration + +CONFIG_NF_DEFRAG_IPV6=y +# CONFIG_NF_CONNTRACK_BRIDGE is not set +# CONFIG_BPFILTER 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_BRIDGE is not set +CONFIG_HAVE_NET_DSA=y +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 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 is not set +# CONFIG_DCB is not set +# 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_NET_NSH is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_NET_NCSI is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +# CONFIG_BPF_JIT is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# end of Network testing +# end of Networking options + +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_AF_KCM is not set +CONFIG_FIB_RULES=y +# CONFIG_WIRELESS is not set +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +# CONFIG_PSAMPLE is not set +# CONFIG_NET_IFE is not set +# CONFIG_LWTUNNEL is not set +CONFIG_DST_CACHE=y +CONFIG_GRO_CELLS=y +# CONFIG_FAILOVER is not set +CONFIG_HAVE_EBPF_JIT=y + +# +# Device Drivers +# +CONFIG_HAVE_PCI=y +# CONFIG_PCI is not set +# CONFIG_PCCARD is not set + +# +# Generic Driver Options +# +# CONFIG_UEVENT_HELPER is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# +CONFIG_FW_LOADER=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER is not set +# CONFIG_FW_LOADER_COMPRESS is not set +CONFIG_FW_CACHE=y +# end of Firmware loader + +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +CONFIG_GENERIC_CPU_DEVICES=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_REGMAP_MMIO=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_DMA_FENCE_TRACE is not set +# end of Generic Driver Options + +# +# Bus devices +# +# CONFIG_MOXTET is not set +# CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SUN50I_DE2_BUS is not set +# CONFIG_SUNXI_RSB is not set +CONFIG_SUNXI_MBUS=y +# CONFIG_SUNXI_NSI is not set +# end of Bus devices + +# CONFIG_CONNECTOR is not set +# CONFIG_GNSS is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set +# CONFIG_MTD_SUNXI_PARTS is not set + +# +# Partition parsers +# +# end of Partition parsers + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +# CONFIG_MTD_CHAR is not set +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_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_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# end of RAM/ROM/Flash chip drivers + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set +# end of Mapping drivers for chip access + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_MCHP23K256 is not set +# CONFIG_MTD_SST25L is not set +# 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 +# end of Self-contained MTD device drivers + +# CONFIG_MTD_ONENAND is not set +# CONFIG_MTD_RAW_NAND is not set +# CONFIG_MTD_SPI_NAND is not set + +# +# sunxi-nand +# +CONFIG_AW_MTD_SPINAND=y +# CONFIG_AW_MTD_RAWNAND is not set +CONFIG_AW_SPINAND_PHYSICAL_LAYER=y +CONFIG_AW_SPINAND_SECURE_STORAGE=y +# CONFIG_AW_SPINAND_PSTORE_MTD_PART is not set +# CONFIG_AW_SPINAND_ENABLE_PHY_CRC16 is not set +CONFIG_AW_SPINAND_SIMULATE_MULTIPLANE=y +# end of sunxi-nand + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# end of LPDDR & LPDDR2 PCM memory drivers + +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +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=y +# CONFIG_MTD_HYPERBUS 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_KOBJ=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_RESERVED_MEM=y +# CONFIG_OF_OVERLAY is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_SUNXI_NAND is not set +# CONFIG_BLK_DEV_LOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# NVME Support +# +# CONFIG_NVME_FC is not set +# CONFIG_NVME_TARGET is not set +# end of NVME Support + +# +# Misc devices +# +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES 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_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_XILINX_SDFEC is not set +# CONFIG_PVPANIC is not set +# CONFIG_HISI_HIKEY_USB is not set +# 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 is not set +# CONFIG_EEPROM_93XX46 is not set +# CONFIG_EEPROM_IDT_89HPESX is not set +# CONFIG_EEPROM_EE1004 is not set +# end of EEPROM support + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# end of Texas Instruments shared transport line discipline + +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC & related support +# + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# VOP Bus Driver +# +# CONFIG_VOP_BUS is not set + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# + +# +# VOP Driver +# +# end of Intel MIC & related support + +# CONFIG_ECHO is not set +# CONFIG_MISC_RTSX_USB is not set +CONFIG_SUNXI_ADDR_MGT=y +# CONFIG_SUNXI_BOOTEVENT is not set + +# +# sunxi Gorilla ESL platform +# +# CONFIG_SUNXI_GORILLA is not set +# end of sunxi Gorilla ESL platform + +# CONFIG_SUNXI_MIPSLOADER is not set +# CONFIG_SUNXI_TVUTILS is not set +# end of Misc devices + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# 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_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 is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# end of SCSI Transports + +# CONFIG_SCSI_LOWLEVEL is not set +# CONFIG_SCSI_DH is not set +# end of SCSI device support + +# CONFIG_ATA is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_TEAM is not set +# CONFIG_MACVLAN is not set +# CONFIG_IPVLAN is not set +# CONFIG_VXLAN is not set +# CONFIG_GENEVE is not set +# CONFIG_GTP is not set +# CONFIG_MACSEC is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_TUN is not set +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_VETH is not set +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# end of Distributed Switch Architecture drivers + +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_ALACRITECH=y +CONFIG_NET_VENDOR_ALLWINNER=y +# CONFIG_SUN4I_EMAC is not set +CONFIG_SUNXI_GMAC=y +CONFIG_SUNXI_EXT_PHY=y +# CONFIG_ALTERA_TSE is not set +# CONFIG_NET_VENDOR_AMAZON is not set +# CONFIG_NET_VENDOR_AQUANTIA is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CADENCE is not set +# CONFIG_NET_VENDOR_CAVIUM is not set +# CONFIG_NET_VENDOR_CORTINA is not set +# CONFIG_DNET is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_GOOGLE is not set +# CONFIG_NET_VENDOR_HUAWEI is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MELLANOX is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_MICROSEMI is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_NETRONOME is not set +# CONFIG_NET_VENDOR_NI is not set +# CONFIG_ETHOC is not set +# CONFIG_NET_VENDOR_PENSANDO is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +# CONFIG_NET_VENDOR_RENESAS is not set +# CONFIG_NET_VENDOR_ROCKER is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SOLARFLARE is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set +# CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_SYNOPSYS is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_BUS=y +# CONFIG_MDIO_BCM_UNIMAC is not set +# CONFIG_MDIO_BITBANG is not set +# CONFIG_MDIO_BUS_MUX_GPIO is not set +# CONFIG_MDIO_BUS_MUX_MMIOREG is not set +# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set +# CONFIG_MDIO_HISI_FEMAC is not set +# CONFIG_MDIO_MSCC_MIIM is not set +# CONFIG_MDIO_OCTEON is not set +# CONFIG_MDIO_SUN4I is not set +CONFIG_PHYLIB=y +CONFIG_SWPHY=y +CONFIG_LED_TRIGGER_PHY=y + +# +# MII PHY device drivers +# +# CONFIG_ADIN_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AX88796B_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_CORTINA_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_DP83822_PHY is not set +# CONFIG_DP83TC811_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 is not set +# CONFIG_MARVELL_10G_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_MICROCHIP_T1_PHY is not set +# CONFIG_MICROSEMI_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_NXP_TJA11XX_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_RENESAS_PHY is not set +# CONFIG_ROCKCHIP_PHY is not set +# CONFIG_RTL8363_NB is not set +# 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 is not set +# CONFIG_SLIP is not set +# CONFIG_USB_NET_DRIVERS is not set +# CONFIG_WLAN is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_NETDEVSIM is not set +# CONFIG_NET_FAILOVER is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_LEDS is not set +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +CONFIG_INPUT_SENSORINIT=y + +# +# Input Device Drivers +# +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET 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_BU21029 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_EXC3000 is not set +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GOODIX is not set +# CONFIG_TOUCHSCREEN_HIDEEP is not set +# CONFIG_TOUCHSCREEN_ILI210X is not set +# CONFIG_TOUCHSCREEN_S6SY761 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_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_STMFTS is not set +# CONFIG_TOUCHSCREEN_SUN4I is not set +# CONFIG_TOUCHSCREEN_SUNXI is not set +# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set +# CONFIG_TOUCHSCREEN_SX8654 is not set +# CONFIG_TOUCHSCREEN_TPS6507X is not set +# CONFIG_TOUCHSCREEN_ZET6223 is not set +# CONFIG_TOUCHSCREEN_ZFORCE is not set +# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set +# CONFIG_TOUCHSCREEN_IQS5XX is not set +# CONFIG_TOUCHSCREEN_GSLX680NEW is not set +CONFIG_TOUCHSCREEN_GT9XXNEW_TS=m +# CONFIG_TOUCHSCREEN_GT9XXNEWDUP_TS is not set +# CONFIG_TOUCHSCREEN_FTS is not set +# CONFIG_INPUT_MISC is not set +# CONFIG_RMI4_CORE is not set +CONFIG_INPUT_SENSOR=y +# CONFIG_SENSORS_SC7A20 is not set +# CONFIG_SENSORS_MIR3DA is not set +# CONFIG_STK3X1X is not set +# CONFIG_SUNXI_TPADC is not set +CONFIG_SUNXI_GPADC=m + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set +# end of Hardware I/O ports +# end of Input device support + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +# CONFIG_NULL_TTY is not set +# CONFIG_LDISC_AUTOLOAD is not set +# CONFIG_DEVMEM is not set +# CONFIG_DEVKMEM is not set + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +# CONFIG_SERIAL_SAMSUNG is not set +# 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_SIFIVE 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_FSL_LPUART is not set +# CONFIG_SERIAL_FSL_LINFLEXUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_SPRD is not set +CONFIG_SERIAL_SUNXI=y +# CONFIG_SERIAL_SUNXI_DMA is not set +CONFIG_SERIAL_SUNXI_CONSOLE=y +# CONFIG_SERIAL_SUNXI_EARLYCON is not set +# end of Serial drivers + +# CONFIG_SERIAL_DEV_BUS is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_RISCV_SBI is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set +# CONFIG_SUNXI_BS83B16C is not set +# end of Character devices + +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set +CONFIG_DUMP_REG=y +CONFIG_DUMP_REG_MISC=y +CONFIG_SUNXI_G2D=y +CONFIG_SUNXI_G2D_MIXER=y +CONFIG_SUNXI_G2D_ROTATE=y +CONFIG_SUNXI_SYNCFENCE=y +# CONFIG_SUNXI_DI is not set +CONFIG_SUNXI_SYS_INFO=y +# CONFIG_SUNXI_QA_TEST is not set +# CONFIG_SUNXI_SMC 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 is not set +# CONFIG_I2C_MUX_GPMUX is not set +# CONFIG_I2C_MUX_LTC4306 is not set +# CONFIG_I2C_MUX_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_PINCTRL is not set +# CONFIG_I2C_MUX_REG is not set +# CONFIG_I2C_DEMUX_PINCTRL is not set +# CONFIG_I2C_MUX_MLXCPLD is not set +# end of Multiplexer I2C Chip support + +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_MV64XXX is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_SUNXI=y +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_RK3X is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# 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 +# +# end of I2C Hardware Bus support + +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_SLAVE is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# end of I2C support + +# CONFIG_I3C is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y +# CONFIG_SPI_MEM is not set + +# +# 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 is not set +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_NXP_FLEXSPI 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_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_SIFIVE is not set +# CONFIG_SPI_SUN4I is not set +# CONFIG_SPI_SUN6I is not set +# CONFIG_SPI_MXIC is not set +CONFIG_SPI_SUNXI=y +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set + +# +# SPI Protocol Masters +# +# CONFIG_SPI_SPIDEV is not set +# CONFIG_SPI_LOOPBACK_TEST is not set +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPI_SLAVE is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set +# CONFIG_PPS is not set + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +# end of PTP clock support + +CONFIG_PINCTRL=y +CONFIG_PINMUX=y +CONFIG_PINCONF=y +CONFIG_GENERIC_PINCONF=y +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_MCP23S08 is not set +# CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_SX150X is not set +# CONFIG_PINCTRL_STMFX is not set +# CONFIG_PINCTRL_OCELOT is not set + +# +# Allwinner SOC PINCTRL DRIVER +# +CONFIG_PINCTRL_SUNXI=y +# CONFIG_PINCTRL_SUNXI_DEBUGFS is not set +# CONFIG_PINCTRL_SUNXI_TEST is not set +# CONFIG_PINCTRL_SUN8IW15P1 is not set +# CONFIG_PINCTRL_SUN8IW15P1_R is not set +CONFIG_PINCTRL_SUN8IW20=y +# CONFIG_PINCTRL_SUN50IW9 is not set +# CONFIG_PINCTRL_SUN50IW9_R is not set +# CONFIG_PINCTRL_SUN50IW10P1 is not set +# CONFIG_PINCTRL_SUN50IW10P1_R is not set +# CONFIG_PINCTRL_SUN50IW12 is not set +# CONFIG_PINCTRL_SUN50IW12_R is not set +# CONFIG_PINCTRL_SUN55IW3 is not set +# CONFIG_PINCTRL_SUN55IW3_R is not set +# CONFIG_PINCTRL_SUN4I_A10 is not set +# CONFIG_PINCTRL_SUN5I is not set +# CONFIG_PINCTRL_SUN6I_A31 is not set +# CONFIG_PINCTRL_SUN6I_A31_R is not set +# CONFIG_PINCTRL_SUN8I_A23 is not set +# CONFIG_PINCTRL_SUN8I_A33 is not set +# CONFIG_PINCTRL_SUN8I_A83T is not set +# CONFIG_PINCTRL_SUN8I_A83T_R is not set +# CONFIG_PINCTRL_SUN8I_A23_R is not set +# CONFIG_PINCTRL_SUN8I_H3 is not set +# CONFIG_PINCTRL_SUN8I_H3_R is not set +# CONFIG_PINCTRL_SUN8I_V3S is not set +# CONFIG_PINCTRL_SUN9I_A80 is not set +# CONFIG_PINCTRL_SUN9I_A80_R is not set +# CONFIG_PINCTRL_SUN50I_A64 is not set +# CONFIG_PINCTRL_SUN50I_A64_R is not set +# CONFIG_PINCTRL_SUN50I_A100 is not set +# CONFIG_PINCTRL_SUN50I_A100_R is not set +# CONFIG_PINCTRL_SUN50I_H5 is not set +# CONFIG_PINCTRL_SUN50I_H6 is not set +# CONFIG_PINCTRL_SUN50I_H6_R is not set +# end of Allwinner SOC PINCTRL DRIVER + +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_OF_GPIO=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_SUNXI is not set +# CONFIG_GPIO_CADENCE is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_FTGPIO010 is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_HLWD is not set +# CONFIG_GPIO_MB86S7X is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_AMD_FCH is not set +# end of Memory mapped GPIO drivers + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_BS83B16C is not set +# CONFIG_GPIO_GW_PLD is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_TPIC2810 is not set +# end of I2C GPIO expanders + +# +# MFD GPIO expanders +# +# end of MFD GPIO expanders + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX3191X is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_PISOSR is not set +# CONFIG_GPIO_XRA1403 is not set +# end of SPI GPIO expanders + +# +# USB GPIO expanders +# +# end of USB GPIO expanders + +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_W1 is not set +# CONFIG_POWER_AVS is not set +# CONFIG_POWER_RESET is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_POWER_SUPPLY_HWMON=y +# CONFIG_PDA_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_CHARGER_ADP5061 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_CHARGER_SBS is not set +# CONFIG_MANAGER_SBS is not set +# CONFIG_BATTERY_BQ27XXX is not set +# CONFIG_BATTERY_MAX17040 is not set +# CONFIG_BATTERY_MAX17042 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_LT3651 is not set +# CONFIG_CHARGER_DETECTOR_MAX14656 is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24257 is not set +# CONFIG_CHARGER_BQ24735 is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_CHARGER_RT9455 is not set +# CONFIG_CHARGER_UCS1002 is not set +CONFIG_HWMON=y +# 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_AS370 is not set +# CONFIG_SENSORS_ASC7621 is not set +# CONFIG_SENSORS_ASPEED is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS620 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S 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_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_MAX6621 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_TC654 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_NPCM7XX 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_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_STTS751 is not set +# CONFIG_SENSORS_SMM665 is not set +# CONFIG_SENSORS_ADC128D818 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_TMP108 is not set +# CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83773G 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_THERMAL is not set +# CONFIG_WATCHDOG is not set +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +# CONFIG_MFD_ACX00 is not set +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_SUN4I_GPADC 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_BD9571MWV is not set +# CONFIG_MFD_AXP2101_I2C is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_MADERA 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_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_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 is not set +# CONFIG_MFD_MAX77650 is not set +# 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_CPCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_RT5033 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_SUN6I_PRCM=y +# CONFIG_MFD_SYSCON is not set +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_TI_LMU 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_TI_LP87565 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_TQMX86 is not set +# CONFIG_MFD_LOCHNAGAR 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_ROHM_BD718XX is not set +# CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_STPMIC1 is not set +# CONFIG_MFD_STMFX is not set +# end of Multifunction device drivers + +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_88PG86X is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +CONFIG_SUNXI_REGULATOR_PWM=y +# CONFIG_REGULATOR_DA9210 is not set +# CONFIG_REGULATOR_DA9211 is not set +# CONFIG_REGULATOR_FAN53555 is not set +# CONFIG_REGULATOR_GPIO is not set +# 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_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MCP16502 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 is not set +# CONFIG_REGULATOR_SLG51000 is not set +# CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X 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 is not set +# CONFIG_REGULATOR_TPS6524X is not set +# CONFIG_REGULATOR_VCTRL is not set +# CONFIG_RC_CORE is not set +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_CEC_SUPPORT is not set +# CONFIG_MEDIA_CONTROLLER is not set +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2=y +CONFIG_VIDEO_V4L2_I2C=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set + +# +# Media drivers +# +# CONFIG_MEDIA_USB_SUPPORT is not set +# CONFIG_V4L_PLATFORM_DRIVERS is not set +# CONFIG_SUNXI_PLATFORM_DRIVERS is not set +# CONFIG_V4L_MEM2MEM_DRIVERS is not set +# CONFIG_V4L_TEST_DRIVERS is not set + +# +# Supported MMC/SDIO adapters +# +# CONFIG_CYPRESS_FIRMWARE is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_V4L2=y + +# +# 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_ADV7183 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_SAA7110 is not set +# CONFIG_VIDEO_SAA711X 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_TW9910 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_AK881X is not set +# CONFIG_VIDEO_THS8200 is not set + +# +# Camera sensor devices +# +# CONFIG_VIDEO_OV2640 is not set +# CONFIG_VIDEO_OV2659 is not set +# CONFIG_VIDEO_OV6650 is not set +# CONFIG_VIDEO_OV5695 is not set +# CONFIG_VIDEO_OV772X is not set +# CONFIG_VIDEO_OV7640 is not set +# CONFIG_VIDEO_OV7670 is not set +# CONFIG_VIDEO_OV7740 is not set +# CONFIG_VIDEO_OV9640 is not set +# CONFIG_VIDEO_VS6624 is not set +# CONFIG_VIDEO_MT9M111 is not set +# CONFIG_VIDEO_MT9T112 is not set +# CONFIG_VIDEO_MT9V011 is not set +# CONFIG_VIDEO_MT9V111 is not set +# CONFIG_VIDEO_SR030PC30 is not set +# CONFIG_VIDEO_RJ54N1 is not set + +# +# Lens drivers +# + +# +# Flash devices +# + +# +# 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 + +# +# SDR tuner chips +# + +# +# Miscellaneous helper chips +# +# CONFIG_VIDEO_THS7303 is not set +# CONFIG_VIDEO_M52790 is not set +# CONFIG_VIDEO_I2C is not set +# end of I2C Encoders, decoders, sensors and other helper chips + +# +# SPI helper chips +# +# end of SPI helper chips + +# +# Media SPI Adapters +# +# end of Media SPI Adapters + +# +# Customise DVB Frontends +# + +# +# Tools to develop new frontends +# +# end of Customise DVB Frontends + +CONFIG_VIDEO_ENCODER_DECODER_SUNXI=y +# CONFIG_VIDEO_GOOGLE_DECODER_SUNXI is not set + +# +# Graphics support +# + +# +# GPU support for sunxi +# +CONFIG_SUNXI_GPU_TYPE="None" +# end of GPU support for sunxi + +# CONFIG_DRM is not set +# CONFIG_DRM_DP_CEC is not set + +# +# ARM devices +# +# end of ARM devices + +# +# ACP (Audio CoProcessor) Configuration +# +# end of ACP (Audio CoProcessor) Configuration + +# +# Frame buffer Devices +# +CONFIG_FB_CMDLINE=y +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX 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_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set + +# +# Video support for sunxi +# +# CONFIG_FB_CONSOLE_SUNXI is not set +CONFIG_DISP2_SUNXI=y +CONFIG_SUNXI_DISP2_FB_DISABLE_ROTATE=y +# CONFIG_SUNXI_DISP2_FB_ROTATION_SUPPORT is not set +# CONFIG_SUNXI_DISP2_FB_HW_ROTATION_SUPPORT is not set +# CONFIG_SUNXI_DISP2_FB_DECOMPRESS_LZMA is not set +# CONFIG_HDMI_DISP2_SUNXI is not set +# CONFIG_HDMI2_DISP2_SUNXI is not set +# CONFIG_HDMI_EP952_DISP2_SUNXI is not set +# CONFIG_TV_DISP2_SUNXI is not set +# CONFIG_VDPO_DISP2_SUNXI is not set +# CONFIG_EDP_DISP2_SUNXI is not set +# CONFIG_DISP2_SUNXI_BOOT_COLORBAR is not set +# CONFIG_DISP2_SUNXI_DEBUG is not set +# CONFIG_DISP2_SUNXI_COMPOSER is not set +# CONFIG_DISP2_LCD_ESD_DETECT is not set +# CONFIG_LCD_FB is not set +# CONFIG_LCD_FB_ENABLE_DEFERRED_IO is not set + +# +# LCD panels select +# +# CONFIG_LCD_SUPPORT_GG1P4062UTSW is not set +# CONFIG_LCD_SUPPORT_DX0960BE40A1 is not set +# CONFIG_LCD_SUPPORT_TFT720X1280 is not set +# CONFIG_LCD_SUPPORT_FD055HD003S is not set +CONFIG_LCD_SUPPORT_HE0801A068=y +# CONFIG_LCD_SUPPORT_ILI9341 is not set +# CONFIG_LCD_SUPPORT_LH219WQ1 is not set +# CONFIG_LCD_SUPPORT_LS029B3SX02 is not set +# CONFIG_LCD_SUPPORT_LT070ME05000 is not set +# CONFIG_LCD_SUPPORT_S6D7AA0X01 is not set +# CONFIG_LCD_SUPPORT_T27P06 is not set +# CONFIG_LCD_SUPPORT_TFT720x1280 is not set +# CONFIG_LCD_SUPPORT_WTQ05027D01 is not set +# CONFIG_LCD_SUPPORT_H245QBN02 is not set +# CONFIG_LCD_SUPPORT_ST7789V is not set +# CONFIG_LCD_SUPPORT_ST7796S is not set +# CONFIG_LCD_SUPPORT_ST7701S is not set +# CONFIG_LCD_SUPPORT_T30P106 is not set +# CONFIG_LCD_SUPPORT_TO20T20000 is not set +# CONFIG_LCD_SUPPORT_FRD450H40014 is not set +# CONFIG_LCD_SUPPORT_S2003T46G is not set +# CONFIG_LCD_SUPPORT_WILLIAMLCD is not set +# CONFIG_LCD_SUPPORT_LQ101R1SX03 is not set +# CONFIG_LCD_SUPPORT_INET_DSI_PANEL is not set +# CONFIG_LCD_SUPPORT_WTL096601G03 is not set +# CONFIG_LCD_SUPPORT_RT13QV005D is not set +# CONFIG_LCD_SUPPORT_ST7789V_CPU is not set +# CONFIG_LCD_SUPPORT_CC08021801_310_800X1280 is not set +# CONFIG_LCD_SUPPORT_JD9366AB_3 is not set +# CONFIG_LCD_SUPPORT_TFT08006 is not set +# CONFIG_LCD_SUPPORT_BP101WX1_206 is not set +# CONFIG_LCD_SUPPORT_FX070 is not set +# CONFIG_LCD_SUPPORT_K101IM2QA04 is not set +# CONFIG_LCD_SUPPORT_K101_IM2BYL02_L_800X1280 is not set +# CONFIG_LCD_SUPPORT_K080_IM2HYL802R_800X1280 is not set +# end of LCD panels select + +# +# Display engine feature select +# +# CONFIG_DISP2_SUNXI_SUPPORT_SMBL is not set +# CONFIG_DISP2_SUNXI_SUPPORT_ENAHNCE is not set +# CONFIG_DISP2_SUNXI_DEVICE_OFF_ON_RELEASE is not set +# end of Display engine feature select +# end of Video support for sunxi +# end of Frame buffer Devices + +# +# Backlight & LCD device support +# +# CONFIG_LCD_CLASS_DEVICE is not set +# CONFIG_BACKLIGHT_CLASS_DEVICE is not set +# end of Backlight & LCD device support + +# CONFIG_LOGO is not set +# end of Graphics support + +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_DMAENGINE_PCM=y +CONFIG_SND_JACK=y +CONFIG_SND_JACK_INPUT_DEV=y +# CONFIG_SND_MIXER_OSS is not set +CONFIG_SND_PCM_TIMER=y +CONFIG_SND_HRTIMER=y +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_MAX_CARDS=32 +# CONFIG_SND_SUPPORT_OLD_API is not set +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_SEQUENCER is not set +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 + +# +# HD-Audio +# +# end of HD-Audio + +CONFIG_SND_HDA_PREALLOC_SIZE=64 +# CONFIG_SND_SPI is not set +# CONFIG_SND_USB is not set +CONFIG_SND_SOC=y +CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=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_AUDMIX 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_FSL_MICFIL is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set +# end of SoC Audio for Freescale CPUs + +# CONFIG_SND_I2S_HI6210_I2S is not set +# CONFIG_SND_I2S_HI3660_I2S is not set +# CONFIG_SND_SOC_IMG is not set +# CONFIG_SND_SOC_MTK_BTCVSD is not set +# CONFIG_SND_SOC_SOF_TOPLEVEL is not set + +# +# STMicroelectronics STM32 SOC audio support +# +# end of STMicroelectronics STM32 SOC audio support + +CONFIG_SND_SUNXI_SOC=y +CONFIG_SND_SUNXI_SOC_CPUDAI=y +CONFIG_SND_SUN20IW1_CODEC=y + +# +# Allwinner SoC Audio support +# +CONFIG_SND_SUNXI_SOC_SUN20IW1_CODEC=y +CONFIG_SND_SUNXI_SOC_SIMPLE_CARD=y +CONFIG_SND_SUNXI_SOC_DAUDIO=y +# CONFIG_SND_SUNXI_SOC_DAUDIO_ASRC is not set +# CONFIG_SND_SUNXI_SOC_SUNXI_HDMIAUDIO is not set +# CONFIG_SND_SUNXI_SOC_SPDIF is not set +# CONFIG_SND_SUNXI_SOC_DMIC is not set +# CONFIG_SUNXI_AUDIO_DEBUG is not set +# CONFIG_SUNXI_RX_SYNC is not set +# end of Allwinner SoC Audio support + +# CONFIG_SND_SUNXI_RPAF is not set + +# +# Allwinner SoC Audio support V2 +# +# CONFIG_SND_SOC_SUNXI_DAUDIO is not set +# end of Allwinner SoC Audio support V2 + +# CONFIG_SND_SOC_XILINX_I2S is not set +# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set +# CONFIG_SND_SOC_XILINX_SPDIF is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +# CONFIG_ZX_TDM is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_ADAU1761_I2C is not set +# CONFIG_SND_SOC_ADAU1761_SPI is not set +# CONFIG_SND_SOC_ADAU7002 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4118 is not set +# CONFIG_SND_SOC_AK4458 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_AK5558 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_BD28623 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_CS35L34 is not set +# CONFIG_SND_SOC_CS35L35 is not set +# CONFIG_SND_SOC_CS35L36 is not set +# CONFIG_SND_SOC_CS42L42 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_CS43130 is not set +# CONFIG_SND_SOC_CS4341 is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_CS53L30 is not set +# CONFIG_SND_SOC_CX2072X is not set +CONFIG_SND_SOC_DMIC=y +# CONFIG_SND_SOC_ES7134 is not set +# CONFIG_SND_SOC_ES7241 is not set +# CONFIG_SND_SOC_ES8316 is not set +# CONFIG_SND_SOC_ES8328_I2C is not set +# CONFIG_SND_SOC_ES8328_SPI is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_INNO_RK3036 is not set +# CONFIG_SND_SOC_MAX98088 is not set +# CONFIG_SND_SOC_MAX98357A is not set +# CONFIG_SND_SOC_MAX98504 is not set +# CONFIG_SND_SOC_MAX9867 is not set +# CONFIG_SND_SOC_MAX98927 is not set +# CONFIG_SND_SOC_MAX98373 is not set +# CONFIG_SND_SOC_MAX9860 is not set +# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1789_I2C is not set +# CONFIG_SND_SOC_PCM179X_I2C is not set +# CONFIG_SND_SOC_PCM179X_SPI is not set +# CONFIG_SND_SOC_PCM186X_I2C is not set +# CONFIG_SND_SOC_PCM186X_SPI is not set +# CONFIG_SND_SOC_PCM3060_I2C is not set +# CONFIG_SND_SOC_PCM3060_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_RK3328 is not set +# CONFIG_SND_SOC_RT5616 is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF is not set +# CONFIG_SND_SOC_SSM2305 is not set +# 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 is not set +# CONFIG_SND_SOC_TAS5086 is not set +# CONFIG_SND_SOC_TAS571X is not set +# CONFIG_SND_SOC_TAS5720 is not set +# CONFIG_SND_SOC_TAS6424 is not set +# CONFIG_SND_SOC_TDA7419 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_TLV320AIC32X4_I2C is not set +# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_TSCS42XX is not set +# CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8524 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_WM8782 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_WM8904 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_ZX_AUD96P22 is not set +# CONFIG_SND_SOC_MAX9759 is not set +# CONFIG_SND_SOC_MT6351 is not set +# CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_NAU8540 is not set +# CONFIG_SND_SOC_NAU8810 is not set +# CONFIG_SND_SOC_NAU8822 is not set +# CONFIG_SND_SOC_NAU8824 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SOC_AC107 is not set +# CONFIG_SND_SOC_AC108 is not set +# end of CODEC drivers + +CONFIG_SND_SIMPLE_CARD_UTILS=y +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SND_AUDIO_GRAPH_CARD is not set + +# +# HID support +# +# CONFIG_HID is not set + +# +# USB HID support +# +# CONFIG_USB_HID is not set +# CONFIG_HID_PID is not set + +# +# USB HID Boot Protocol drivers +# +# CONFIG_USB_KBD is not set +# CONFIG_USB_MOUSE is not set +# end of USB HID Boot Protocol drivers +# end of USB HID support + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +# end of I2C HID support +# end of HID support + +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +# CONFIG_USB_LED_TRIG is not set +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_USB_CONN_GPIO is not set +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set +CONFIG_USB_AUTOSUSPEND_DELAY=2 +# CONFIG_USB_MON is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_XHCI_HCD is not set +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +# CONFIG_USB_EHCI_FSL is not set +CONFIG_USB_EHCI_HCD_SUNXI=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_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_SUNXI=y +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set +CONFIG_USB_SUNXI_HCD=y +CONFIG_USB_SUNXI_HCI=y +CONFIG_USB_SUNXI_EHCI0=y +CONFIG_USB_SUNXI_EHCI1=y +CONFIG_USB_SUNXI_OHCI0=y +CONFIG_USB_SUNXI_OHCI1=y + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# 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=m +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set +CONFIG_USB_UAS=m + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_CDNS3 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 is not set +# CONFIG_USB_ISP1760 is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +# CONFIG_USB_EZUSB_FX2 is not set +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# end of USB Physical Layer drivers + +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 +# CONFIG_U_SERIAL_CONSOLE is not set + +# +# 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_SNP_UDC_PLAT is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_NET2272 is not set +CONFIG_USB_SUNXI_UDC0=y +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_DUMMY_HCD is not set +# end of USB Peripheral Controller + +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_U_SERIAL=y +CONFIG_USB_F_SERIAL=y +CONFIG_USB_F_FS=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_UEVENT=y +CONFIG_USB_CONFIGFS_SERIAL=y +# CONFIG_USB_CONFIGFS_ACM is not set +# CONFIG_USB_CONFIGFS_OBEX is not set +# CONFIG_USB_CONFIGFS_NCM is not set +# CONFIG_USB_CONFIGFS_ECM is not set +# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set +# CONFIG_USB_CONFIGFS_RNDIS is not set +# CONFIG_USB_CONFIGFS_EEM is not set +# CONFIG_USB_CONFIGFS_MASS_STORAGE is not set +# CONFIG_USB_CONFIGFS_F_LB_SS is not set +CONFIG_USB_CONFIGFS_F_FS=y +# CONFIG_USB_CONFIGFS_F_AUDIO_SRC is not set +# CONFIG_USB_CONFIGFS_F_UAC1 is not set +# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set +# CONFIG_USB_CONFIGFS_F_UAC2 is not set +# CONFIG_USB_CONFIGFS_F_MIDI is not set +# CONFIG_USB_CONFIGFS_F_HID is not set +# CONFIG_USB_CONFIGFS_F_UVC is not set +# CONFIG_USB_CONFIGFS_F_PRINTER is not set +CONFIG_USB_SUNXI_USB=y +CONFIG_USB_SUNXI_USB_MANAGER=y +CONFIG_USB_SUNXI_USB_DEBUG=y +CONFIG_USB_SUNXI_USB_ADB=y +# CONFIG_TYPEC is not set +CONFIG_USB_ROLE_SWITCH=y +CONFIG_MMC=y +# CONFIG_PWRSEQ_EMMC is not set +# CONFIG_PWRSEQ_SIMPLE is not set +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_USDHI6ROL0 is not set +CONFIG_MMC_SUNXI=y +CONFIG_MMC_SUNXI_V4P1X=y +CONFIG_MMC_SUNXI_V4P00X=y +CONFIG_MMC_SUNXI_V4P10X=y +CONFIG_MMC_SUNXI_V4P5X=y +CONFIG_MMC_SUNXI_V5P3X=y +# CONFIG_MMC_CQHCI is not set +# CONFIG_MMC_HSQ is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +# CONFIG_LEDS_CLASS_FLASH is not set +# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set + +# +# LED drivers +# +# CONFIG_LEDS_AN30259A is not set +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_CR0014114 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3532 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_LM3692X is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP3952 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_PWM is not set +# CONFIG_LEDS_REGULATOR is not set +# CONFIG_LEDS_BD2802 is not set +# 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_MLXREG is not set +# CONFIG_LEDS_USER is not set +# CONFIG_LEDS_SPI_BYTE is not set +# CONFIG_LEDS_TI_LMU_COMMON is not set +# CONFIG_LEDS_SUNXI is not set +# CONFIG_MATRIX_LEDS_SUNXI is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +# CONFIG_LEDS_TRIGGER_ONESHOT 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_ACTIVITY is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y + +# +# 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_NETDEV=y +# CONFIG_LEDS_TRIGGER_PATTERN is not set +# CONFIG_LEDS_TRIGGER_AUDIO is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_SUPPORT=y +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_NVMEM=y + +# +# 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_ABEOZ9 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_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_ISL12026 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_PCF85363 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_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3028 is not set +# CONFIG_RTC_DRV_RV8803 is not set +# CONFIG_RTC_DRV_SD3078 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_RX6110 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_SUN6I is not set +CONFIG_RTC_DRV_SUNXI=y +CONFIG_SUNXI_REBOOT_FLAG=y +CONFIG_SUNXI_RTC_BOOTCOUNT=y +CONFIG_SUNXI_RTC_POWEROFF_ALARM=y +# CONFIG_RTC_DRV_CADENCE is not set +# CONFIG_RTC_DRV_FTRTC010 is not set +# CONFIG_RTC_DRV_SNVS is not set +# CONFIG_RTC_DRV_R7301 is not set + +# +# HID Sensor RTC drivers +# +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_ALTERA_MSGDMA is not set +CONFIG_DMA_SUN6I=y +# CONFIG_DW_AXI_DMAC is not set +# CONFIG_FSL_EDMA is not set +# CONFIG_INTEL_IDMA64 is not set +# CONFIG_QCOM_HIDMA_MGMT is not set +# CONFIG_QCOM_HIDMA is not set +# CONFIG_DW_DMAC is not set + +# +# DMA Clients +# +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_DMATEST is not set + +# +# DMABUF options +# +CONFIG_SYNC_FILE=y +# CONFIG_SW_SYNC is not set +# CONFIG_UDMABUF is not set +# CONFIG_DMABUF_SELFTESTS is not set +# end of DMABUF options + +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set +# CONFIG_VIRTIO_MENU is not set + +# +# Microsoft Hyper-V guest support +# +# end of Microsoft Hyper-V guest support + +# CONFIG_GREYBUS is not set +CONFIG_STAGING=y +# CONFIG_COMEDI is not set + +# +# Speakup console speech +# +# end of Speakup console speech + +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +CONFIG_ASHMEM=y +CONFIG_ION=y +CONFIG_ION_SYSTEM_HEAP=y +CONFIG_ION_CMA_HEAP=y +# end of Android + +# CONFIG_STAGING_BOARD is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_UNISYSSPAR is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_MOST is not set +# CONFIG_PI433 is not set + +# +# Gasket devices +# +# end of Gasket devices + +# CONFIG_XIL_AXIS_FIFO is not set +# CONFIG_FIELDBUS_DEV is not set +# CONFIG_USB_WUSB_CBAF is not set +# CONFIG_UWB is not set +CONFIG_EXFAT_FS=y +CONFIG_EXFAT_DONT_MOUNT_VFAT=y +CONFIG_EXFAT_DISCARD=y +CONFIG_EXFAT_DELAYED_SYNC=y +CONFIG_EXFAT_KERNEL_DEBUG=y +CONFIG_EXFAT_DEBUG_MSG=y +CONFIG_EXFAT_DEFAULT_CODEPAGE=437 +CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_DEBUG is not set +# CONFIG_CLK_HSDK is not set +# CONFIG_COMMON_CLK_MAX9485 is not set +# CONFIG_COMMON_CLK_SI5341 is not set +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI544 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_COMMON_CLK_PWM is not set +# CONFIG_COMMON_CLK_VC5 is not set +# CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_CLK_SIFIVE is not set +# CONFIG_CLK_SUNXI is not set +CONFIG_SUNXI_CCU=y +CONFIG_SUN8IW20_CCU=y +CONFIG_SUN8IW20_R_CCU=y +# CONFIG_SUN8I_A83T_CCU is not set +# CONFIG_SUN8I_DE2_CCU is not set +# CONFIG_SUN8I_R_CCU is not set +CONFIG_SUNXI_RTC_CCU=y +# end of Common Clock Framework + +# CONFIG_HWSPINLOCK is not set +# CONFIG_HWSPINLOCK_SUNXI is not set + +# +# Clock Source drivers +# +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_SUN4I_TIMER=y +# CONFIG_SUN50I_TIMER is not set +# CONFIG_SUNXI_TIMER is not set +# CONFIG_SUNXI_TIMER_TEST is not set +# CONFIG_MTK_TIMER is not set +CONFIG_RISCV_TIMER=y +# end of Clock Source drivers + +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_IOVA=y +CONFIG_IOMMU_API=y +# CONFIG_IOMMU_LIMIT_IOVA_ALIGNMENT is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# end of Generic IOMMU Pagetable Support + +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set +CONFIG_OF_IOMMU=y +CONFIG_IOMMU_DMA=y +CONFIG_SUNXI_IOMMU=y +CONFIG_SUNXI_IOMMU_DEBUG=y +# CONFIG_SUNXI_IOMMU_TESTS is not set + +# +# Remoteproc drivers +# +# CONFIG_REMOTEPROC is not set +# end of Remoteproc drivers + +# +# Rpmsg drivers +# +# CONFIG_RPMSG_SUNXI_AMP is not set +# CONFIG_RPMSG_DSP_STANDBY is not set +# CONFIG_RPMSG_VIRTIO is not set +# end of Rpmsg drivers + +# CONFIG_SOUNDWIRE is not set + +# +# SOC (System On Chip) specific Drivers +# + +# +# Amlogic SoC drivers +# +# end of Amlogic SoC drivers + +# +# Aspeed SoC drivers +# +# end of Aspeed SoC drivers + +# +# Broadcom SoC drivers +# +# end of Broadcom SoC drivers + +# +# NXP/Freescale QorIQ SoC drivers +# +# end of NXP/Freescale QorIQ SoC drivers + +# +# i.MX SoC drivers +# +# end of i.MX SoC drivers + +# +# Qualcomm SoC drivers +# +# end of Qualcomm SoC drivers + +CONFIG_SUNXI_SRAM=y +CONFIG_SUNXI_SID=y +CONFIG_SUNXI_RISCV_SUSPEND=y +# CONFIG_SOC_TI is not set + +# +# Xilinx SoC drivers +# +# CONFIG_XILINX_VCU is not set +# end of Xilinx SoC drivers +# end of SOC (System On Chip) specific Drivers + +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO 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_SIFIVE is not set +# CONFIG_PWM_SUN4I is not set +CONFIG_PWM_SUNXI_GROUP=y +# CONFIG_DSP_DEBUG is not set + +# +# IRQ chip support +# +CONFIG_IRQCHIP=y +# CONFIG_AL_FIC is not set +CONFIG_SIFIVE_PLIC=y +# CONFIG_SUNXI_WAKEUPGEN is not set +# CONFIG_SUN8I_NMI is not set +# end of IRQ chip support + +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_SIMPLE=y +CONFIG_RESET_SUNXI=y +# CONFIG_RESET_TI_SYSCON is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_SUN6I_MIPI_DPHY is not set +# CONFIG_PHY_SUN9I_USB is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_PHY_CADENCE_DP is not set +# CONFIG_PHY_CADENCE_DPHY is not set +# CONFIG_PHY_CADENCE_SIERRA is not set +# CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_MIXEL_MIPI_DPHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PHY_MAPPHONE_MDM6600 is not set +# end of PHY Subsystem + +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# end of Android + +# CONFIG_LIBNVDIMM is not set +# CONFIG_DAX is not set +CONFIG_NVMEM=y +CONFIG_NVMEM_SYSFS=y +CONFIG_NVMEM_SUNXI_SID=y + +# +# HW tracing support +# +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set +# end of HW tracing support + +# CONFIG_FPGA is not set +# CONFIG_FSI is not set +# CONFIG_SIOX is not set +# CONFIG_SLIMBUS is not set +# CONFIG_INTERCONNECT is not set +# CONFIG_COUNTER is not set +# end of Device Drivers + +# +# File systems +# +# CONFIG_VALIDATE_FS_PARSER is not set +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +# CONFIG_EXT4_FS is not set +# 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 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_FS_VERITY is not set +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_OVERLAY_FS=y +# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y +# CONFIG_OVERLAY_FS_INDEX is not set +# CONFIG_OVERLAY_FS_XINO_AUTO is not set +# CONFIG_OVERLAY_FS_METACOPY is not set +# CONFIG_INCREMENTAL_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set +# end of Caches + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set +# end of CD-ROM/DVD Filesystems + +# +# 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=y +CONFIG_NTFS_FS=y +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_RW=y +# end of DOS/FAT/NT Filesystems + +# +# 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_KERNFS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +# CONFIG_HUGETLBFS is not set +CONFIG_MEMFD_CREATE=y +CONFIG_ARCH_HAS_GIGANTIC_PAGE=y +CONFIG_CONFIGFS_FS=y +# end of Pseudo filesystems + +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ORANGEFS_FS is not set +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_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=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +# CONFIG_UBIFS_FS_LZO is not set +# CONFIG_UBIFS_FS_ZLIB is not set +# CONFIG_UBIFS_FS_ZSTD is not set +# CONFIG_UBIFS_ATIME_SUPPORT is not set +CONFIG_UBIFS_FS_XATTR=y +CONFIG_UBIFS_FS_SECURITY=y +# CONFIG_UBIFS_FS_AUTHENTICATION is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +# CONFIG_SQUASHFS_FILE_CACHE is not set +CONFIG_SQUASHFS_FILE_DIRECT=y +# CONFIG_SQUASHFS_DECOMP_SINGLE is not set +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y +# CONFIG_SQUASHFS_XATTR is not set +# CONFIG_SQUASHFS_ZLIB is not set +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +# CONFIG_SQUASHFS_XZ is not set +# CONFIG_SQUASHFS_ZSTD is not set +# 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 is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +# CONFIG_EROFS_FS is not set +# CONFIG_NETWORK_FILESYSTEMS 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_UNICODE is not set +# end of File systems + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_STATIC_USERMODEHELPER is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity" + +# +# Kernel hardening options +# + +# +# Memory initialization +# +CONFIG_INIT_STACK_NONE=y +# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set +# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# end of Memory initialization +# end of Kernel hardening options +# end of Security options + +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_ACOMP2=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_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Public-key cryptography +# +CONFIG_CRYPTO_RSA=y +# CONFIG_CRYPTO_DH is not set +CONFIG_CRYPTO_ECC=y +CONFIG_CRYPTO_ECDH=y +# CONFIG_CRYPTO_ECRDSA is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=y +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +# CONFIG_CRYPTO_AEGIS128 is not set +CONFIG_CRYPTO_SEQIV=y +# CONFIG_CRYPTO_ECHAINIV is not set + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CFB is not set +CONFIG_CRYPTO_CTR=y +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_OFB is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set +# CONFIG_CRYPTO_ADIANTUM is not set +# CONFIG_CRYPTO_ESSIV 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_XXHASH is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=y +# CONFIG_CRYPTO_POLY1305 is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# 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 is not set +CONFIG_CRYPTO_LIB_SHA256=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_SHA3 is not set +# CONFIG_CRYPTO_SM3 is not set +# CONFIG_CRYPTO_STREEBOG is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_AES_TI is not set +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_LIB_ARC4=y +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 is not set +# 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_SM4 is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set +CONFIG_CRYPTO_ZSTD=y + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +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_HASH_INFO=y +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set +# CONFIG_CRYPTO_DEV_CCREE is not set + +# +# Support for Allwinner Sunxi CryptoEngine +# + +# +# Choose one according to the actual usage +# +# CONFIG_CRYPTO_DEV_SUNXI is not set +# CONFIG_CRYPTO_DEV_SUNXI_IOCTL is not set +# end of Support for Allwinner Sunxi CryptoEngine + +# +# Certificates for signature checking +# +# end of Certificates for signature checking + +# +# Library routines +# +# CONFIG_PACKING is not set +CONFIG_BITREVERSE=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +# CONFIG_CORDIC is not set +CONFIG_RATIONAL=y +CONFIG_GENERIC_PCI_IOMAP=y +# CONFIG_CRC_CCITT is not set +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +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_CRC64 is not set +# CONFIG_CRC4 is not set +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +CONFIG_XXHASH=y +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y +CONFIG_XZ_DEC=y +# CONFIG_XZ_DEC_X86 is not set +# CONFIG_XZ_DEC_POWERPC is not set +# CONFIG_XZ_DEC_IA64 is not set +# CONFIG_XZ_DEC_ARM is not set +# CONFIG_XZ_DEC_ARMTHUMB is not set +# CONFIG_XZ_DEC_SPARC is not set +# CONFIG_XZ_DEC_TEST is not set +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_HAS_DMA_WRITE_COMBINE=y +CONFIG_DMA_DECLARE_COHERENT=y +CONFIG_ARCH_HAS_SETUP_DMA_OPS=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y +CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y +CONFIG_ARCH_HAS_DMA_COHERENT_TO_PFN=y +CONFIG_DMA_REMAP=y +CONFIG_DMA_DIRECT_REMAP=y +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=16 +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 +# CONFIG_DMA_API_DEBUG is not set +CONFIG_SGL_ALLOC=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_CLZ_TAB=y +# CONFIG_IRQ_POLL is not set +CONFIG_MPILIB=y +CONFIG_LIBFDT=y +CONFIG_SG_POOL=y +CONFIG_STACKDEPOT=y +CONFIG_SBITMAP=y +# CONFIG_STRING_SELFTEST is not set +# end of Library routines + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +CONFIG_PRINTK_TIME=y +# CONFIG_PRINTK_CALLER is not set +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 +CONFIG_CONSOLE_LOGLEVEL_QUIET=4 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_DYNAMIC_DEBUG is not set +# CONFIG_DYNAMIC_DEBUG_CORE is not set +# end of printk and dmesg options + +# +# 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_DEBUG_INFO_BTF is not set +# CONFIG_GDB_SCRIPTS is not set +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=2048 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_INSTALL is not set +CONFIG_OPTIMIZE_INLINING=y +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# end of Compile-time checks and compiler options + +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_MAGIC_SYSRQ_SERIAL=y +CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_MISC=y + +# +# Memory Debugging +# +CONFIG_PAGE_EXTENSION=y +CONFIG_DEBUG_PAGEALLOC=y +CONFIG_DEBUG_PAGEALLOC_ENABLE_DEFAULT=y +CONFIG_PAGE_OWNER=y +CONFIG_PAGE_POISONING=y +CONFIG_PAGE_POISONING_NO_SANITY=y +CONFIG_PAGE_POISONING_ZERO=y +CONFIG_DEBUG_OBJECTS=y +CONFIG_DEBUG_OBJECTS_SELFTEST=y +CONFIG_DEBUG_OBJECTS_FREE=y +CONFIG_DEBUG_OBJECTS_TIMERS=y +CONFIG_DEBUG_OBJECTS_WORK=y +CONFIG_DEBUG_OBJECTS_RCU_HEAD=y +CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y +CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 +CONFIG_DEBUG_STACK_USAGE=y +CONFIG_DEBUG_VM=y +CONFIG_DEBUG_VM_VMACACHE=y +CONFIG_DEBUG_VM_RB=y +CONFIG_DEBUG_VM_PGFLAGS=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_KASAN_STACK=1 +# end of Memory Debugging + +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_SOFTLOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_WQ_WATCHDOG is not set +# end of Debug Lockups and Hangs + +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_DEBUG is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# 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=y +# CONFIG_DEBUG_RWSEMS 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_WW_MUTEX_SELFTEST is not set +# end of Lock Debugging (spinlocks, mutexes, etc...) + +CONFIG_STACKTRACE=y +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_KOBJECT_RELEASE is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PLIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_RCU_PERF_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# end of RCU Debugging + +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_TRACING_SUPPORT=y +# CONFIG_FTRACE is not set +# CONFIG_RUNTIME_TESTING_MENU is not set +# CONFIG_MEMTEST is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_SAMPLES is not set +# CONFIG_UBSAN is not set +CONFIG_UBSAN_ALIGNMENT=y +# end of Kernel hacking diff --git a/device/config/chips/f133/configs/pro/linux-5.4/config-5.4_recovery b/device/config/chips/f133/configs/pro/linux-5.4/config-5.4_recovery new file mode 100755 index 0000000..fdb74e2 --- /dev/null +++ b/device/config/chips/f133/configs/pro/linux-5.4/config-5.4_recovery @@ -0,0 +1,2400 @@ +CONFIG_64BIT=y +CONFIG_64BIT_TIME=y +# CONFIG_ABX500_CORE is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_ADFS_FS is not set +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_AFFS_FS is not set +# CONFIG_AF_KCM is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_AIC_WLAN_SUPPORT is not set +CONFIG_AIO=y +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_ALTERA_MSGDMA is not set +# CONFIG_ALTERA_STAPL is not set +# CONFIG_AL_FIC is not set +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_APDS9802ALS is not set +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_ARCH_HAS_BINFMT_FLAT=y +CONFIG_ARCH_HAS_DMA_COHERENT_TO_PFN=y +CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y +CONFIG_ARCH_HAS_DMA_WRITE_COMBINE=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_ARCH_HAS_GIGANTIC_PAGE=y +CONFIG_ARCH_HAS_MMIOWB=y +CONFIG_ARCH_HAS_PTE_SPECIAL=y +CONFIG_ARCH_HAS_SETUP_DMA_OPS=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_ARCH_MMAP_RND_BITS=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=24 +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +# CONFIG_ARCH_RV32I is not set +CONFIG_ARCH_RV64I=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SUN20I=y +CONFIG_ARCH_SUN20IW1=y +CONFIG_ARCH_SUN20IW1P1=y +CONFIG_ARCH_SUNXI=y +CONFIG_ARCH_SUPPORTS_INT128=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y +# CONFIG_ASHMEM is not set +CONFIG_ASN1=y +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_ATA is not set +# CONFIG_ATALK is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_ATM is not set +# CONFIG_AUDIT is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_AW_MTD_RAWNAND is not set +CONFIG_AW_MTD_SPINAND=y +# CONFIG_AW_SPINAND_ENABLE_PHY_CRC16 is not set +CONFIG_AW_SPINAND_PHYSICAL_LAYER=y +# CONFIG_AW_SPINAND_PSTORE_MTD_PART is not set +CONFIG_AW_SPINAND_SECURE_STORAGE=y +CONFIG_AW_SPINAND_SIMULATE_MULTIPLANE=y +# CONFIG_BACKLIGHT_CLASS_DEVICE is not set +CONFIG_BASE_FULL=y +CONFIG_BASE_SMALL=0 +# CONFIG_BATMAN_ADV is not set +# CONFIG_BATTERY_BQ27XXX is not set +# CONFIG_BATTERY_DS2780 is not set +# CONFIG_BATTERY_DS2781 is not set +# CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_MAX17040 is not set +# CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_SBS is not set +# CONFIG_BCMA is not set +CONFIG_BCMA_POSSIBLE=y +# CONFIG_BCMDHD is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_FLAT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_BINFMT_SCRIPT=y +CONFIG_BITREVERSE=y +# CONFIG_BLK_CMDLINE_PARSER is not set +# CONFIG_BLK_DEBUG_FS is not set +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_INITRD is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_DEV_LOOP is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_BLK_DEV_RBD is not set +CONFIG_BLK_DEV_SD=y +# CONFIG_BLK_DEV_SR is not set +# CONFIG_BLK_DEV_ZONED is not set +# CONFIG_BLK_INLINE_ENCRYPTION is not set +CONFIG_BLK_PM=y +CONFIG_BLK_SCSI_REQUEST=y +# CONFIG_BLK_SED_OPAL is not set +# CONFIG_BLK_WBT is not set +CONFIG_BLOCK=y +# CONFIG_BONDING is not set +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_BPF=y +# CONFIG_BPFILTER is not set +# CONFIG_BPF_JIT is not set +# CONFIG_BPF_SYSCALL is not set +CONFIG_BQL=y +# CONFIG_BRIDGE is not set +CONFIG_BROKEN_ON_SMP=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +# CONFIG_BT is not set +# CONFIG_BTRFS_FS is not set +CONFIG_BUG=y +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +CONFIG_BUILD_SALT="" +# CONFIG_C2PORT is not set +# CONFIG_CAIF is not set +# CONFIG_CAN is not set +CONFIG_CC_CAN_LINK=y +CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_CC_IS_GCC=y +# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_CC_VERSION_TEXT="riscv64-unknown-linux-gnu-gcc (C-SKY RISCV Tools V1.8.4 B20200702) 8.1.0" +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_CEPH_LIB is not set +CONFIG_CFG80211=y +CONFIG_CFG80211_CERTIFICATION_ONUS=y +# CONFIG_CFG80211_CRDA_SUPPORT is not set +# CONFIG_CFG80211_DEBUGFS is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_CELLULAR_HINTS is not set +# CONFIG_CFG80211_REG_RELAX_NO_IR is not set +# CONFIG_CFG80211_REQUIRE_SIGNED_REGDB is not set +# CONFIG_CFG80211_WEXT is not set +# CONFIG_CGROUPS is not set +# CONFIG_CHARGER_ADP5061 is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24257 is not set +# CONFIG_CHARGER_BQ24735 is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_DETECTOR_MAX14656 is not set +# CONFIG_CHARGER_GPIO is not set +# CONFIG_CHARGER_LP8727 is not set +# CONFIG_CHARGER_LT3651 is not set +# CONFIG_CHARGER_MANAGER is not set +# CONFIG_CHARGER_MAX8903 is not set +# CONFIG_CHARGER_RT9455 is not set +# CONFIG_CHARGER_SBS is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_CHARGER_UCS1002 is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_ST is not set +CONFIG_CLANG_VERSION=0 +# CONFIG_CLEANCACHE is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLKSRC_MMIO=y +# CONFIG_CLK_HSDK is not set +# CONFIG_CLK_SIFIVE is not set +# CONFIG_CLK_SUNXI is not set +CONFIG_CLONE_BACKWARDS=y +CONFIG_CLZ_TAB=y +CONFIG_CMA=y +CONFIG_CMA_ALIGNMENT=8 +CONFIG_CMA_AREAS=7 +# CONFIG_CMA_DEBUG is not set +# CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_SIZE_MBYTES=16 +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +CONFIG_CMDLINE="" +CONFIG_CMODEL_MEDANY=y +# CONFIG_CMODEL_MEDLOW is not set +# CONFIG_COMEDI is not set +CONFIG_COMMON_CLK=y +# CONFIG_COMMON_CLK_CDCE706 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_COMMON_CLK_CS2000_CP is not set +# CONFIG_COMMON_CLK_DEBUG is not set +# CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_COMMON_CLK_MAX9485 is not set +# CONFIG_COMMON_CLK_PWM is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI5341 is not set +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI544 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_VC5 is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +CONFIG_COMPACTION=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_COMPILE_TEST is not set +CONFIG_CONFIGFS_FS=y +# CONFIG_CONNECTOR is not set +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 +CONFIG_CONSOLE_LOGLEVEL_QUIET=4 +CONFIG_CONTIG_ALLOC=y +# CONFIG_CORDIC is not set +# CONFIG_COREDUMP is not set +# CONFIG_COUNTER is not set +# CONFIG_CPU_FREQ is not set +CONFIG_CPU_IDLE=y +# CONFIG_CPU_IDLE_GOV_LADDER is not set +CONFIG_CPU_IDLE_GOV_MENU=y +# CONFIG_CPU_IDLE_GOV_TEO is not set +CONFIG_CPU_PM=y +# CONFIG_CRAMFS is not set +# CONFIG_CRASH_DUMP is not set +CONFIG_CRC16=y +CONFIG_CRC32=y +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_SELFTEST is not set +# CONFIG_CRC32_SLICEBY4 is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC4 is not set +# CONFIG_CRC64 is not set +# CONFIG_CRC7 is not set +# CONFIG_CRC8 is not set +# CONFIG_CRC_CCITT is not set +# CONFIG_CRC_ITU_T is not set +# CONFIG_CRC_T10DIF is not set +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_CRYPTO=y +# CONFIG_CRYPTO_842 is not set +CONFIG_CRYPTO_ACOMP2=y +# CONFIG_CRYPTO_ADIANTUM is not set +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +# CONFIG_CRYPTO_AEGIS128 is not set +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_AES_TI is not set +CONFIG_CRYPTO_AKCIPHER=y +CONFIG_CRYPTO_AKCIPHER2=y +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +# CONFIG_CRYPTO_ANSI_CPRNG is not set +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_AUTHENC is not set +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=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_CBC is not set +CONFIG_CRYPTO_CCM=y +# CONFIG_CRYPTO_CFB is not set +# CONFIG_CRYPTO_CHACHA20 is not set +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_CMAC=y +# CONFIG_CRYPTO_CRC32 is not set +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRCT10DIF is not set +# CONFIG_CRYPTO_CRYPTD is not set +CONFIG_CRYPTO_CTR=y +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_CCREE is not set +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set +# CONFIG_CRYPTO_DEV_SUNXI is not set +# CONFIG_CRYPTO_DEV_SUNXI_IOCTL is not set +# CONFIG_CRYPTO_DH is not set +CONFIG_CRYPTO_DRBG=y +# CONFIG_CRYPTO_DRBG_CTR is not set +# CONFIG_CRYPTO_DRBG_HASH is not set +CONFIG_CRYPTO_DRBG_HMAC=y +CONFIG_CRYPTO_DRBG_MENU=y +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_ECC=y +CONFIG_CRYPTO_ECDH=y +# CONFIG_CRYPTO_ECHAINIV is not set +# CONFIG_CRYPTO_ECRDSA is not set +# CONFIG_CRYPTO_ESSIV is not set +# CONFIG_CRYPTO_FCRYPT is not set +CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_GF128MUL=y +CONFIG_CRYPTO_GHASH=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_HASH_INFO=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_JITTERENTROPY=y +# CONFIG_CRYPTO_KEYWRAP is not set +# CONFIG_CRYPTO_KHAZAD is not set +CONFIG_CRYPTO_KPP=y +CONFIG_CRYPTO_KPP2=y +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_LIB_ARC4=y +CONFIG_CRYPTO_LIB_SHA256=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_OFB is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_POLY1305 is not set +# 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_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=y +CONFIG_CRYPTO_RSA=y +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_SEED is not set +CONFIG_CRYPTO_SEQIV=y +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_SHA1 is not set +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA3 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_SM3 is not set +# CONFIG_CRYPTO_SM4 is not set +# CONFIG_CRYPTO_STREEBOG is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TEST is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_TWOFISH is not set +# CONFIG_CRYPTO_USER is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_VMAC is not set +# CONFIG_CRYPTO_WP512 is not set +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_XXHASH is not set +CONFIG_CRYPTO_ZSTD=y +# CONFIG_DAX is not set +# CONFIG_DCB is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_CREDENTIALS is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_DEBUG_FS=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_INFO_BTF is not set +# CONFIG_DEBUG_INFO_DWARF4 is not set +# CONFIG_DEBUG_INFO_REDUCED is not set +# CONFIG_DEBUG_INFO_SPLIT is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_MEMORY_INIT is not set +CONFIG_DEBUG_MISC=y +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_DEBUG_PLIST is not set +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_RWSEMS is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_SHIRQ is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_DECNET is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_DEVKMEM is not set +# CONFIG_DEVMEM is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_DISP2_LCD_ESD_DETECT is not set +CONFIG_DISP2_SUNXI=y +# CONFIG_DISP2_SUNXI_BOOT_COLORBAR is not set +# CONFIG_DISP2_SUNXI_COMPOSER is not set +CONFIG_DISP2_SUNXI_DEBUG=y +# CONFIG_DISP2_SUNXI_DEVICE_OFF_ON_RELEASE is not set +# CONFIG_DISP2_SUNXI_SUPPORT_ENAHNCE is not set +# CONFIG_DISP2_SUNXI_SUPPORT_SMBL is not set +# CONFIG_DLM is not set +# CONFIG_DMABUF_SELFTESTS is not set +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set +# CONFIG_DMATEST is not set +# CONFIG_DMA_API_DEBUG is not set +CONFIG_DMA_CMA=y +CONFIG_DMA_DECLARE_COHERENT=y +CONFIG_DMA_DIRECT_REMAP=y +CONFIG_DMA_ENGINE=y +# CONFIG_DMA_FENCE_TRACE is not set +CONFIG_DMA_OF=y +CONFIG_DMA_REMAP=y +CONFIG_DMA_SHARED_BUFFER=y +CONFIG_DMA_SUN6I=y +CONFIG_DMA_VIRTUAL_CHANNELS=y +CONFIG_DNOTIFY=y +CONFIG_DQL=y +# CONFIG_DRM is not set +# CONFIG_DRM_DP_CEC is not set +# CONFIG_DS1682 is not set +# CONFIG_DSP_DEBUG is not set +CONFIG_DTC=y +# CONFIG_DUMMY is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_DUMP_REG is not set +# CONFIG_DW_AXI_DMAC is not set +# CONFIG_DW_DMAC is not set +# CONFIG_DYNAMIC_DEBUG is not set +# CONFIG_DYNAMIC_DEBUG_CORE is not set +# CONFIG_ECHO is not set +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDP_DISP2_SUNXI is not set +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_EEPROM_93XX46 is not set +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_AT25 is not set +# CONFIG_EEPROM_EE1004 is not set +# CONFIG_EEPROM_IDT_89HPESX is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +CONFIG_EFI_PARTITION=y +# CONFIG_EFS_FS is not set +CONFIG_ELFCORE=y +# CONFIG_EMBEDDED is not set +CONFIG_ENABLE_MUST_CHECK=y +# CONFIG_ENCLOSURE_SERVICES is not set +CONFIG_EPOLL=y +# CONFIG_EQUALIZER is not set +# CONFIG_EROFS_FS is not set +# CONFIG_ETHERNET is not set +CONFIG_EVB_PLATFORM=y +CONFIG_EVENTFD=y +CONFIG_EXFAT_DEBUG_MSG=y +CONFIG_EXFAT_DEFAULT_CODEPAGE=437 +CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" +CONFIG_EXFAT_DELAYED_SYNC=y +CONFIG_EXFAT_DISCARD=y +CONFIG_EXFAT_DONT_MOUNT_VFAT=y +CONFIG_EXFAT_FS=y +CONFIG_EXFAT_KERNEL_DEBUG=y +CONFIG_EXPERT=y +CONFIG_EXPORTFS=y +# CONFIG_EXPORTFS_BLOCK_OPS is not set +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +# CONFIG_EXT4_FS is not set +# CONFIG_EXTCON is not set +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_EZX_PCAP is not set +# CONFIG_F2FS_FS is not set +# CONFIG_FAILOVER is not set +# CONFIG_FANOTIFY is not set +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +CONFIG_FAT_DEFAULT_UTF8=y +CONFIG_FAT_FS=y +# CONFIG_FAULT_INJECTION is not set +CONFIG_FB=y +CONFIG_FB_CMDLINE=y +# CONFIG_FB_CONSOLE_SUNXI is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_FB_TFT is not set +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_VIRTUAL is not set +CONFIG_FHANDLE=y +CONFIG_FIB_RULES=y +# CONFIG_FIELDBUS_DEV is not set +CONFIG_FILE_LOCKING=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_FLATMEM=y +CONFIG_FLATMEM_MANUAL=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_FPGA is not set +# CONFIG_FPGA_V4_PLATFORM is not set +# CONFIG_FPGA_V7_PLATFORM is not set +CONFIG_FPU=y +CONFIG_FRAME_POINTER=y +CONFIG_FRAME_WARN=2048 +CONFIG_FREEZER=y +# CONFIG_FSCACHE is not set +# CONFIG_FSI is not set +# CONFIG_FSL_EDMA is not set +CONFIG_FSNOTIFY=y +# CONFIG_FS_DAX is not set +# CONFIG_FS_ENCRYPTION is not set +CONFIG_FS_POSIX_ACL=y +# CONFIG_FS_VERITY is not set +# CONFIG_FTL is not set +# CONFIG_FTRACE is not set +# CONFIG_FUSE_FS is not set +CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y +CONFIG_FW_CACHE=y +CONFIG_FW_LOADER=y +# CONFIG_FW_LOADER_COMPRESS is not set +# CONFIG_FW_LOADER_USER_HELPER is not set +# CONFIG_GAMEPORT is not set +CONFIG_GCC_VERSION=80100 +# CONFIG_GCOV_KERNEL is not set +# CONFIG_GDB_SCRIPTS is not set +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_GENERIC_CPU_DEVICES=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_HWEIGHT=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +# CONFIG_GENERIC_PHY is not set +CONFIG_GENERIC_PINCONF=y +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +# CONFIG_GENEVE is not set +# CONFIG_GFS2_FS is not set +# CONFIG_GKI_HACKS_TO_FIX is not set +# CONFIG_GKI_HIDDEN_CRYPTO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_DRM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPIO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPU_CONFIGS is not set +# CONFIG_GKI_HIDDEN_HYPERVISOR_CONFIGS is not set +# CONFIG_GKI_HIDDEN_IRQ_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MEDIA_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MMC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_QCOM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_REGMAP_CONFIGS is not set +# CONFIG_GKI_HIDDEN_RPMSG_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_SOC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SOC_BUS_CONFIGS is not set +# CONFIG_GKI_HIDDEN_USB_CONFIGS is not set +# CONFIG_GKI_HIDDEN_VIRTUAL_CONFIGS is not set +# CONFIG_GKI_LEGACY_WEXT_ALLCONFIG is not set +# CONFIG_GKI_OPT_FEATURES is not set +# CONFIG_GNSS is not set +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_AMD_FCH is not set +# CONFIG_GPIO_BS83B16C is not set +# CONFIG_GPIO_CADENCE is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_FTGPIO010 is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_GW_PLD is not set +# CONFIG_GPIO_HLWD is not set +# CONFIG_GPIO_MAX3191X is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_MB86S7X is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_PISOSR is not set +# CONFIG_GPIO_SUNXI is not set +CONFIG_GPIO_SYSFS=y +# CONFIG_GPIO_TPIC2810 is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_XRA1403 is not set +# CONFIG_GREYBUS is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_GTP is not set +# CONFIG_GUP_BENCHMARK is not set +# CONFIG_HAMRADIO is not set +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_ASM_MODVERSIONS=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_HAVE_COPY_THREAD_TLS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_EBPF_JIT=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUTEX_CMPXCHG=y +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_MEMBLOCK_NODE_MAP=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_HAVE_NET_DSA=y +CONFIG_HAVE_PCI=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +# CONFIG_HDMI2_DISP2_SUNXI is not set +# CONFIG_HDMI_DISP2_SUNXI is not set +# CONFIG_HDMI_EP952_DISP2_SUNXI is not set +# CONFIG_HEADERS_INSTALL is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HID is not set +# CONFIG_HID_PID is not set +CONFIG_HIGH_RES_TIMERS=y +# CONFIG_HISI_HIKEY_USB is not set +# CONFIG_HMC6352 is not set +# CONFIG_HPFS_FS is not set +# CONFIG_HSI is not set +# CONFIG_HSR is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HUGETLBFS is not set +# CONFIG_HVC_RISCV_SBI is not set +CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set +# CONFIG_HWSPINLOCK is not set +# CONFIG_HWSPINLOCK_SUNXI is not set +# CONFIG_HW_RANDOM is not set +CONFIG_HZ=100 +CONFIG_HZ_100=y +# CONFIG_HZ_1000 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +# CONFIG_HZ_PERIODIC is not set +CONFIG_I2C=y +# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set +CONFIG_I2C_BOARDINFO=y +# CONFIG_I2C_CBUS_GPIO is not set +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_COMPAT=y +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEMUX_PINCTRL is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_DIOLAN_U2C is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +CONFIG_I2C_HELPER_AUTO=y +# CONFIG_I2C_HID is not set +CONFIG_I2C_MUX=y +# CONFIG_I2C_MUX_GPIO is not set +# CONFIG_I2C_MUX_GPMUX is not set +# CONFIG_I2C_MUX_LTC4306 is not set +# CONFIG_I2C_MUX_MLXCPLD is not set +# CONFIG_I2C_MUX_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_PINCTRL is not set +# CONFIG_I2C_MUX_REG is not set +# CONFIG_I2C_MV64XXX is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_RK3X is not set +# CONFIG_I2C_ROBOTFUZZ_OSIF is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_SLAVE is not set +# CONFIG_I2C_STUB is not set +CONFIG_I2C_SUNXI=y +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set +# CONFIG_I2C_XILINX is not set +# CONFIG_I3C is not set +# CONFIG_ICS932S401 is not set +# CONFIG_IDLE_PAGE_TRACKING is not set +# CONFIG_IEEE802154 is not set +# CONFIG_IIO is not set +CONFIG_IKCONFIG=y +# CONFIG_IKCONFIG_PROC is not set +# CONFIG_IKHEADERS is not set +# CONFIG_INCREMENTAL_FS is not set +CONFIG_INET=y +# CONFIG_INET_AH is not set +CONFIG_INET_DIAG=y +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_RAW_DIAG is not set +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INFINIBAND is not set +# CONFIG_INFTL is not set +CONFIG_INIT_ENV_ARG_LIMIT=32 +# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set +# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +CONFIG_INIT_STACK_NONE=y +CONFIG_INOTIFY_USER=y +CONFIG_INPUT=y +# CONFIG_INPUT_EVBUG is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_JOYSTICK is not set +CONFIG_INPUT_KEYBOARD=y +# CONFIG_INPUT_MATRIXKMAP is not set +# CONFIG_INPUT_MISC is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_POLLDEV is not set +CONFIG_INPUT_SENSOR=y +CONFIG_INPUT_SENSORINIT=y +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_TABLET is not set +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_INTEL_IDMA64 is not set +# CONFIG_INTEL_TH is not set +# CONFIG_INTERCONNECT is not set +CONFIG_IOMMU_API=y +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set +CONFIG_IOMMU_DMA=y +CONFIG_IOMMU_IOVA=y +# CONFIG_IOMMU_LIMIT_IOVA_ALIGNMENT is not set +CONFIG_IOMMU_SUPPORT=y +# CONFIG_ION is not set +# CONFIG_IOSCHED_BFQ is not set +CONFIG_IO_URING=y +# CONFIG_IPACK_BUS is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_IPV6 is not set +# CONFIG_IPVLAN is not set +CONFIG_IP_ADVANCED_ROUTER=y +# CONFIG_IP_DCCP is not set +CONFIG_IP_FIB_TRIE_STATS=y +# CONFIG_IP_MROUTE is not set +CONFIG_IP_MULTICAST=y +CONFIG_IP_MULTIPLE_TABLES=y +# CONFIG_IP_NF_ARPTABLES is not set +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_MANGLE=y +# CONFIG_IP_NF_MATCH_AH is not set +# CONFIG_IP_NF_MATCH_ECN is not set +# CONFIG_IP_NF_MATCH_RPFILTER is not set +# CONFIG_IP_NF_MATCH_TTL is not set +CONFIG_IP_NF_NAT=y +# CONFIG_IP_NF_RAW is not set +# CONFIG_IP_NF_TARGET_CLUSTERIP is not set +# CONFIG_IP_NF_TARGET_ECN is not set +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_IP_NF_TARGET_NETMAP=y +CONFIG_IP_NF_TARGET_REDIRECT=y +# CONFIG_IP_NF_TARGET_REJECT is not set +# CONFIG_IP_NF_TARGET_SYNPROXY is not set +# CONFIG_IP_NF_TARGET_TTL is not set +# CONFIG_IP_PNP is not set +# CONFIG_IP_ROUTE_MULTIPATH is not set +# CONFIG_IP_ROUTE_VERBOSE is not set +# CONFIG_IP_SCTP is not set +# CONFIG_IP_SET is not set +# CONFIG_IP_VS is not set +CONFIG_IRQCHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_MSI_IOMMU=y +# CONFIG_IRQ_POLL is not set +CONFIG_IRQ_WORK=y +# CONFIG_IR_GPIO_CIR is not set +# CONFIG_IR_GPIO_TX is not set +# CONFIG_IR_HIX5HD2 is not set +# CONFIG_IR_IGORPLUGUSB is not set +# CONFIG_IR_IGUANA is not set +# CONFIG_IR_IMON is not set +# CONFIG_IR_IMON_DECODER is not set +# CONFIG_IR_IMON_RAW is not set +# CONFIG_IR_JVC_DECODER is not set +# CONFIG_IR_MCEUSB is not set +# CONFIG_IR_MCE_KBD_DECODER is not set +CONFIG_IR_NEC_DECODER=y +# CONFIG_IR_PWM_TX is not set +# CONFIG_IR_RC5_DECODER is not set +# CONFIG_IR_RC6_DECODER is not set +# CONFIG_IR_RCMM_DECODER is not set +# CONFIG_IR_REDRAT3 is not set +CONFIG_IR_RX_SUNXI=y +# CONFIG_IR_SANYO_DECODER is not set +# CONFIG_IR_SERIAL is not set +# CONFIG_IR_SHARP_DECODER is not set +# CONFIG_IR_SIR is not set +# CONFIG_IR_SONY_DECODER is not set +# CONFIG_IR_SPI is not set +# CONFIG_IR_STREAMZAP is not set +# CONFIG_IR_SUNXI is not set +# CONFIG_IR_TTUSBIR is not set +CONFIG_IR_TX_SUNXI=y +# CONFIG_IR_XMP_DECODER is not set +# CONFIG_ISDN is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_ISO9660_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_KALLSYMS is not set +CONFIG_KASAN_STACK=1 +CONFIG_KERNFS=y +# CONFIG_KEXEC is not set +# CONFIG_KEYBOARD_ADP5588 is not set +# CONFIG_KEYBOARD_ADP5589 is not set +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_BCM is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_DLINK_DIR685 is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYBOARD_GPIO_POLLED is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_LM8333 is not set +# CONFIG_KEYBOARD_MATRIX is not set +# CONFIG_KEYBOARD_MAX7359 is not set +# CONFIG_KEYBOARD_MCS is not set +# CONFIG_KEYBOARD_MPR121 is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OMAP4 is not set +# CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_QT1050 is not set +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 is not set +# CONFIG_KEYBOARD_SAMSUNG is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUN4I_LRADC is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_SUNXI is not set +# CONFIG_KEYBOARD_TCA6416 is not set +# CONFIG_KEYBOARD_TCA8418 is not set +# CONFIG_KEYBOARD_TPKEY is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYS is not set +# CONFIG_KS7010 is not set +# CONFIG_KSM is not set +# CONFIG_L2TP is not set +# CONFIG_LAPB is not set +# CONFIG_LATENCYTOP is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_LCD_CLASS_DEVICE is not set +# CONFIG_LCD_FB is not set +# CONFIG_LCD_FB_ENABLE_DEFERRED_IO is not set +# CONFIG_LCD_SUPPORT_BP101WX1_206 is not set +# CONFIG_LCD_SUPPORT_CC08021801_310_800X1280 is not set +# CONFIG_LCD_SUPPORT_DX0960BE40A1 is not set +# CONFIG_LCD_SUPPORT_FD055HD003S is not set +# CONFIG_LCD_SUPPORT_FRD450H40014 is not set +# CONFIG_LCD_SUPPORT_FX070 is not set +# CONFIG_LCD_SUPPORT_GG1P4062UTSW is not set +# CONFIG_LCD_SUPPORT_H245QBN02 is not set +CONFIG_LCD_SUPPORT_HE0801A068=y +# CONFIG_LCD_SUPPORT_ILI9341 is not set +# CONFIG_LCD_SUPPORT_INET_DSI_PANEL is not set +# CONFIG_LCD_SUPPORT_JD9366AB_3 is not set +# CONFIG_LCD_SUPPORT_K080_IM2HYL802R_800X1280 is not set +# CONFIG_LCD_SUPPORT_K101IM2QA04 is not set +# CONFIG_LCD_SUPPORT_K101_IM2BYL02_L_800X1280 is not set +# CONFIG_LCD_SUPPORT_LH219WQ1 is not set +# CONFIG_LCD_SUPPORT_LQ101R1SX03 is not set +# CONFIG_LCD_SUPPORT_LS029B3SX02 is not set +# CONFIG_LCD_SUPPORT_LT070ME05000 is not set +# CONFIG_LCD_SUPPORT_RT13QV005D is not set +# CONFIG_LCD_SUPPORT_S2003T46G is not set +# CONFIG_LCD_SUPPORT_S6D7AA0X01 is not set +# CONFIG_LCD_SUPPORT_ST7701S is not set +# CONFIG_LCD_SUPPORT_ST7789V is not set +# CONFIG_LCD_SUPPORT_ST7789V_CPU is not set +# CONFIG_LCD_SUPPORT_ST7796S is not set +# CONFIG_LCD_SUPPORT_T27P06 is not set +# CONFIG_LCD_SUPPORT_T30P106 is not set +# CONFIG_LCD_SUPPORT_TFT08006 is not set +# CONFIG_LCD_SUPPORT_TFT720X1280 is not set +# CONFIG_LCD_SUPPORT_TFT720x1280 is not set +# CONFIG_LCD_SUPPORT_TO20T20000 is not set +# CONFIG_LCD_SUPPORT_WILLIAMLCD is not set +# CONFIG_LCD_SUPPORT_WTL096601G03 is not set +# CONFIG_LCD_SUPPORT_WTQ05027D01 is not set +# CONFIG_LDISC_AUTOLOAD is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_LIBCRC32C is not set +CONFIG_LIBFDT=y +# CONFIG_LIBNVDIMM is not set +CONFIG_LIRC=y +# CONFIG_LLC2 is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +# CONFIG_LOCK_EVENT_COUNTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +# CONFIG_LOGO is not set +CONFIG_LOG_BUF_SHIFT=13 +CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity" +# CONFIG_LTE_GDM724X is not set +CONFIG_LTO_NONE=y +# CONFIG_LWTUNNEL is not set +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +# CONFIG_MAC80211 is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_MACSEC is not set +# CONFIG_MACVLAN is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_MAGIC_SYSRQ_SERIAL=y +# CONFIG_MAILBOX is not set +# CONFIG_MANAGER_SBS is not set +CONFIG_MANDATORY_FILE_LOCKING=y +CONFIG_MAXPHYSMEM_128GB=y +# CONFIG_MAXPHYSMEM_2GB is not set +# CONFIG_MCB is not set +# CONFIG_MD is not set +# CONFIG_MDIO_DEVICE is not set +# CONFIG_MEDIA_SUPPORT is not set +CONFIG_MEMBARRIER=y +CONFIG_MEMFD_CREATE=y +# CONFIG_MEMORY is not set +CONFIG_MEMORY_ISOLATION=y +# CONFIG_MEMSTICK is not set +# CONFIG_MEMTEST is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_AXP2101_I2C is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_BD9571MWV is not set +CONFIG_MFD_CORE=y +# CONFIG_MFD_CPCAP is not set +# CONFIG_MFD_DA9052_I2C is not set +# CONFIG_MFD_DA9052_SPI 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_HI6421_PMIC is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_LOCHNAGAR is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_MADERA is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77620 is not set +# CONFIG_MFD_MAX77650 is not set +# 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_MC13XXX_I2C is not set +# CONFIG_MFD_MC13XXX_SPI is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_PALMAS is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_ROHM_BD718XX is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_MFD_STMFX is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_STPMIC1 is not set +# CONFIG_MFD_SUN4I_GPADC is not set +CONFIG_MFD_SUN6I_PRCM=y +# CONFIG_MFD_SYSCON is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set +# CONFIG_MFD_TI_LP873X is not set +# CONFIG_MFD_TI_LP87565 is not set +# CONFIG_MFD_TPS65086 is not set +# CONFIG_MFD_TPS65090 is not set +# CONFIG_MFD_TPS65217 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_MFD_TQMX86 is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_WL1273_CORE 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_WM8400 is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_MIGRATION=y +# CONFIG_MINIX_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_MISC_RTSX_USB is not set +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +# CONFIG_MMC_CQHCI is not set +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_HSQ is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_SPI is not set +CONFIG_MMC_SUNXI=y +CONFIG_MMC_SUNXI_V4P00X=y +CONFIG_MMC_SUNXI_V4P10X=y +CONFIG_MMC_SUNXI_V4P1X=y +CONFIG_MMC_SUNXI_V4P5X=y +CONFIG_MMC_SUNXI_V5P3X=y +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_USDHI6ROL0 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_VUB300 is not set +CONFIG_MMU=y +CONFIG_MODULES=y +CONFIG_MODULES_USE_ELF_RELA=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +# CONFIG_MODULE_COMPRESS is not set +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_FORCE_UNLOAD is not set +CONFIG_MODULE_SECTIONS=y +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODVERSIONS is not set +# CONFIG_MOST is not set +# CONFIG_MOXTET is not set +CONFIG_MPILIB=y +# CONFIG_MPLS is not set +CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=y +# CONFIG_MSDOS_FS is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_MTD=y +# CONFIG_MTD_ABSENT is not set +# CONFIG_MTD_AR7_PARTS is not set +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_MTD_BLOCK2MTD is not set +# CONFIG_MTD_CFI is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CHAR is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HYPERBUS is not set +# CONFIG_MTD_JEDECPROBE is not set +# CONFIG_MTD_LPDDR 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_MCHP23K256 is not set +# CONFIG_MTD_MTDRAM is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_ONENAND is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_PLATRAM is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_RAW_NAND is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_SPI_NAND is not set +# CONFIG_MTD_SPI_NOR is not set +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SUNXI_PARTS is not set +# CONFIG_MTD_TESTS is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_BEB_LIMIT=20 +CONFIG_MTD_UBI_BLOCK=y +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +# CONFIG_MTK_TIMER is not set +CONFIG_MULTIUSER=y +# CONFIG_NAMESPACES is not set +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_KM=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NET=y +# CONFIG_NETCONSOLE is not set +CONFIG_NETDEVICES=y +# CONFIG_NETDEVSIM is not set +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y +# CONFIG_NETFILTER_INGRESS is not set +CONFIG_NETFILTER_NETLINK=m +# CONFIG_NETFILTER_NETLINK_ACCT is not set +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NETFILTER_NETLINK_OSF is not set +# CONFIG_NETFILTER_NETLINK_QUEUE is not set +CONFIG_NETFILTER_XTABLES=y +# CONFIG_NETFILTER_XT_CONNMARK is not set +# CONFIG_NETFILTER_XT_MARK is not set +# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set +# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +# 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 is not set +# CONFIG_NETFILTER_XT_MATCH_ESP is not set +# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_HELPER is not set +# CONFIG_NETFILTER_XT_MATCH_HL is not set +# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set +# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set +# CONFIG_NETFILTER_XT_MATCH_L2TP is not set +# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set +# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_MAC is not set +# CONFIG_NETFILTER_XT_MATCH_MARK is not set +# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +# CONFIG_NETFILTER_XT_MATCH_OSF is not set +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set +# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set +# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set +# CONFIG_NETFILTER_XT_MATCH_QUOTA2 is not set +# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set +# CONFIG_NETFILTER_XT_MATCH_REALM is not set +# CONFIG_NETFILTER_XT_MATCH_RECENT is not set +# CONFIG_NETFILTER_XT_MATCH_SCTP is not set +# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set +CONFIG_NETFILTER_XT_MATCH_STATE=y +# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set +# CONFIG_NETFILTER_XT_MATCH_STRING is not set +# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set +# CONFIG_NETFILTER_XT_MATCH_TIME is not set +# CONFIG_NETFILTER_XT_MATCH_U32 is not set +CONFIG_NETFILTER_XT_NAT=y +# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set +# CONFIG_NETFILTER_XT_TARGET_CONNMARK 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 is not set +# CONFIG_NETFILTER_XT_TARGET_LOG is not set +# CONFIG_NETFILTER_XT_TARGET_MARK is not set +CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y +CONFIG_NETFILTER_XT_TARGET_NETMAP=y +# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set +# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set +# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set +CONFIG_NETFILTER_XT_TARGET_REDIRECT=y +# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set +# CONFIG_NETFILTER_XT_TARGET_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_NETWORK_FILESYSTEMS is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_9P is not set +CONFIG_NET_CORE=y +# CONFIG_NET_DSA is not set +# CONFIG_NET_FAILOVER is not set +# CONFIG_NET_FOU is not set +# CONFIG_NET_IFE is not set +# CONFIG_NET_IPGRE_DEMUX is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_KEY is not set +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_NET_NCSI is not set +# CONFIG_NET_NSH is not set +# CONFIG_NET_PKTGEN is not set +CONFIG_NET_RX_BUSY_POLL=y +# CONFIG_NET_SCHED is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_TEAM is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_NFC is not set +# CONFIG_NFTL is not set +CONFIG_NF_CONNTRACK=y +# CONFIG_NF_CONNTRACK_AMANDA is not set +# CONFIG_NF_CONNTRACK_BRIDGE is not set +CONFIG_NF_CONNTRACK_EVENTS=y +# CONFIG_NF_CONNTRACK_FTP is not set +# CONFIG_NF_CONNTRACK_H323 is not set +# CONFIG_NF_CONNTRACK_IRC is not set +CONFIG_NF_CONNTRACK_LABELS=y +CONFIG_NF_CONNTRACK_MARK=y +# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set +# CONFIG_NF_CONNTRACK_PPTP is not set +CONFIG_NF_CONNTRACK_PROCFS=y +# CONFIG_NF_CONNTRACK_SANE is not set +# CONFIG_NF_CONNTRACK_SIP is not set +# CONFIG_NF_CONNTRACK_SNMP is not set +# CONFIG_NF_CONNTRACK_TFTP is not set +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CONNTRACK_ZONES=y +CONFIG_NF_CT_NETLINK=m +CONFIG_NF_CT_NETLINK_TIMEOUT=m +# CONFIG_NF_CT_PROTO_DCCP is not set +# CONFIG_NF_CT_PROTO_SCTP is not set +# CONFIG_NF_CT_PROTO_UDPLITE is not set +CONFIG_NF_DEFRAG_IPV4=y +# CONFIG_NF_DUP_IPV4 is not set +# CONFIG_NF_LOG_ARP is not set +# CONFIG_NF_LOG_IPV4 is not set +# CONFIG_NF_LOG_NETDEV is not set +CONFIG_NF_NAT=y +CONFIG_NF_NAT_MASQUERADE=y +CONFIG_NF_NAT_REDIRECT=y +# CONFIG_NF_REJECT_IPV4 is not set +# CONFIG_NF_SOCKET_IPV4 is not set +# CONFIG_NF_TABLES is not set +CONFIG_NF_TPROXY_IPV4=y +# CONFIG_NILFS2_FS is not set +# CONFIG_NL80211_TESTMODE is not set +CONFIG_NLATTR=y +# CONFIG_NLMON is not set +CONFIG_NLS=y +# CONFIG_NLS_ASCII is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +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_874 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# 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_8 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U 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_ROMAN is not set +# CONFIG_NLS_MAC_ROMANIAN is not set +# CONFIG_NLS_MAC_TURKISH is not set +# CONFIG_NLS_UTF8 is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +CONFIG_NO_HZ=y +CONFIG_NO_HZ_COMMON=y +CONFIG_NO_HZ_IDLE=y +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_FS=y +CONFIG_NTFS_RW=y +# CONFIG_NULL_TTY is not set +# CONFIG_NVM is not set +CONFIG_NVMEM=y +CONFIG_NVMEM_SUNXI_SID=y +CONFIG_NVMEM_SYSFS=y +# CONFIG_NVME_FC is not set +# CONFIG_NVME_TARGET is not set +# CONFIG_N_GSM is not set +# CONFIG_OCFS2_FS is not set +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_IOMMU=y +CONFIG_OF_IRQ=y +CONFIG_OF_KOBJ=y +CONFIG_OF_NET=y +# CONFIG_OF_OVERLAY is not set +CONFIG_OF_RESERVED_MEM=y +# CONFIG_OF_UNITTEST is not set +# CONFIG_OMFS_FS is not set +# CONFIG_OPENVSWITCH is not set +CONFIG_OPTIMIZE_INLINING=y +# CONFIG_ORANGEFS_FS is not set +CONFIG_OVERLAY_FS=y +# CONFIG_OVERLAY_FS_INDEX is not set +# CONFIG_OVERLAY_FS_METACOPY is not set +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y +# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set +# CONFIG_OVERLAY_FS_XINO_AUTO is not set +CONFIG_PACKET=y +CONFIG_PACKET_DIAG=y +# CONFIG_PACKING is not set +# CONFIG_PAGE_EXTENSION is not set +CONFIG_PAGE_OFFSET=0xffffffe000000000 +# CONFIG_PAGE_OWNER is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_PARPORT is not set +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_PA_BITS=56 +# CONFIG_PC104 is not set +# CONFIG_PCCARD is not set +# CONFIG_PCI is not set +# CONFIG_PDA_POWER is not set +# CONFIG_PERCPU_STATS is not set +# CONFIG_PERF_EVENTS is not set +CONFIG_PGTABLE_LEVELS=3 +# CONFIG_PHONET is not set +# CONFIG_PHYLIB is not set +CONFIG_PHYS_ADDR_T_64BIT=y +# CONFIG_PHY_CADENCE_DP is not set +# CONFIG_PHY_CADENCE_DPHY is not set +# CONFIG_PHY_CADENCE_SIERRA is not set +# CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_MAPPHONE_MDM6600 is not set +# CONFIG_PHY_MIXEL_MIPI_DPHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PHY_SUN6I_MIPI_DPHY is not set +# CONFIG_PHY_SUN9I_USB is not set +# CONFIG_PI433 is not set +CONFIG_PINCONF=y +CONFIG_PINCTRL=y +# CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_MCP23S08 is not set +# CONFIG_PINCTRL_OCELOT is not set +# CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_STMFX is not set +# CONFIG_PINCTRL_SUN4I_A10 is not set +# CONFIG_PINCTRL_SUN50IW10P1 is not set +# CONFIG_PINCTRL_SUN50IW10P1_R is not set +# CONFIG_PINCTRL_SUN50IW12 is not set +# CONFIG_PINCTRL_SUN50IW12_R is not set +# CONFIG_PINCTRL_SUN50IW9 is not set +# CONFIG_PINCTRL_SUN50IW9_R is not set +# CONFIG_PINCTRL_SUN50I_A100 is not set +# CONFIG_PINCTRL_SUN50I_A100_R is not set +# CONFIG_PINCTRL_SUN50I_A64 is not set +# CONFIG_PINCTRL_SUN50I_A64_R is not set +# CONFIG_PINCTRL_SUN50I_H5 is not set +# CONFIG_PINCTRL_SUN50I_H6 is not set +# CONFIG_PINCTRL_SUN50I_H6_R is not set +# CONFIG_PINCTRL_SUN5I is not set +# CONFIG_PINCTRL_SUN6I_A31 is not set +# CONFIG_PINCTRL_SUN6I_A31_R is not set +# CONFIG_PINCTRL_SUN8IW15P1 is not set +# CONFIG_PINCTRL_SUN8IW15P1_R is not set +CONFIG_PINCTRL_SUN8IW20=y +# CONFIG_PINCTRL_SUN8I_A23 is not set +# CONFIG_PINCTRL_SUN8I_A23_R is not set +# CONFIG_PINCTRL_SUN8I_A33 is not set +# CONFIG_PINCTRL_SUN8I_A83T is not set +# CONFIG_PINCTRL_SUN8I_A83T_R is not set +# CONFIG_PINCTRL_SUN8I_H3 is not set +# CONFIG_PINCTRL_SUN8I_H3_R is not set +# CONFIG_PINCTRL_SUN8I_V3S is not set +# CONFIG_PINCTRL_SUN9I_A80 is not set +# CONFIG_PINCTRL_SUN9I_A80_R is not set +CONFIG_PINCTRL_SUNXI=y +# CONFIG_PINCTRL_SUNXI_DEBUGFS is not set +# CONFIG_PINCTRL_SUNXI_TEST is not set +# CONFIG_PINCTRL_SX150X is not set +CONFIG_PINMUX=y +CONFIG_PLUGIN_HOSTCC="" +CONFIG_PM=y +# CONFIG_PMBUS is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_PM_AUTOSLEEP is not set +CONFIG_PM_CLK=y +# CONFIG_PM_DEBUG is not set +# CONFIG_PM_DEVFREQ is not set +CONFIG_PM_SLEEP=y +# CONFIG_PM_WAKELOCKS is not set +# CONFIG_POSIX_MQUEUE is not set +CONFIG_POSIX_TIMERS=y +# CONFIG_POWERCAP is not set +# CONFIG_POWER_AVS is not set +# CONFIG_POWER_RESET is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_POWER_SUPPLY_HWMON=y +# CONFIG_PPP is not set +# CONFIG_PPS is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPTION=y +CONFIG_PREEMPT_COUNT=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_RCU=y +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_PRINTK=y +# CONFIG_PRINTK_CALLER is not set +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 +CONFIG_PRINTK_TIME=y +# CONFIG_PRISM2_USB is not set +# CONFIG_PROC_CHILDREN is not set +CONFIG_PROC_FS=y +# CONFIG_PROC_KCORE is not set +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROFILING=y +# CONFIG_PSAMPLE is not set +# CONFIG_PSI is not set +# CONFIG_PSTORE is not set +# CONFIG_PTP_1588_CLOCK is not set +# CONFIG_PVPANIC is not set +CONFIG_PWM=y +# CONFIG_PWM_FSL_FTM is not set +# CONFIG_PWM_PCA9685 is not set +# CONFIG_PWM_SIFIVE is not set +# CONFIG_PWM_SUN4I is not set +CONFIG_PWM_SUNXI_GROUP=y +CONFIG_PWM_SYSFS=y +# CONFIG_PWRSEQ_EMMC is not set +# CONFIG_PWRSEQ_SIMPLE is not set +# CONFIG_QCOM_HIDMA is not set +# CONFIG_QCOM_HIDMA_MGMT is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_QUOTA is not set +# CONFIG_R8188EU is not set +# CONFIG_R8712U is not set +# CONFIG_RAID_ATTRS is not set +# CONFIG_RANDOM32_SELFTEST is not set +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set +# CONFIG_RAS is not set +CONFIG_RATIONAL=y +# CONFIG_RAW_DRIVER is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_RCU_EXPERT is not set +CONFIG_RCU_NEED_SEGCBLIST=y +# CONFIG_RCU_PERF_TEST is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_RC_ATI_REMOTE is not set +CONFIG_RC_CORE=y +CONFIG_RC_DECODERS=y +CONFIG_RC_DEVICES=y +# CONFIG_RC_LOOPBACK is not set +CONFIG_RC_MAP=y +# CONFIG_RC_XBOX_DVD is not set +# CONFIG_RDS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_REFCOUNT_FULL is not set +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_88PG86X is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_DA9210 is not set +# CONFIG_REGULATOR_DA9211 is not set +# CONFIG_REGULATOR_DEBUG is not set +# CONFIG_REGULATOR_FAN53555 is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_REGULATOR_GPIO is not set +# CONFIG_REGULATOR_ISL6271A is not set +# CONFIG_REGULATOR_ISL9305 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_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MCP16502 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 is not set +# CONFIG_REGULATOR_SLG51000 is not set +# CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X 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 is not set +# CONFIG_REGULATOR_TPS6524X is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_VCTRL is not set +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_RELAY is not set +# CONFIG_REMOTEPROC is not set +CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_SIMPLE=y +CONFIG_RESET_SUNXI=y +# CONFIG_RESET_TI_SYSCON is not set +# CONFIG_RFD_FTL is not set +# CONFIG_RFKILL is not set +CONFIG_RISCV=y +# CONFIG_RISCV_CPUIDLE is not set +CONFIG_RISCV_ISA_C=y +CONFIG_RISCV_SUNXI=y +CONFIG_RISCV_TIMER=y +# CONFIG_RMI4_CORE is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_RPMSG_DSP_STANDBY is not set +# CONFIG_RPMSG_SUNXI_AMP is not set +# CONFIG_RPMSG_VIRTIO is not set +CONFIG_RTC_CLASS=y +# CONFIG_RTC_DEBUG is not set +# CONFIG_RTC_DRV_ABB5ZES3 is not set +# CONFIG_RTC_DRV_ABEOZ9 is not set +# CONFIG_RTC_DRV_ABX80X is not set +# CONFIG_RTC_DRV_BQ32K is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_CADENCE is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1302 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1343 is not set +# CONFIG_RTC_DRV_DS1347 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1672 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_DS3232 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_FTRTC010 is not set +# CONFIG_RTC_DRV_HYM8563 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_ISL12026 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_MAX6916 is not set +# CONFIG_RTC_DRV_MCP795 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_PCF85063 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF85363 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_R7301 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_RV3028 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set +# CONFIG_RTC_DRV_RV8803 is not set +# CONFIG_RTC_DRV_RX4581 is not set +# CONFIG_RTC_DRV_RX6110 is not set +# CONFIG_RTC_DRV_RX8010 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_RX8581 is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_SD3078 is not set +# CONFIG_RTC_DRV_SNVS is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_SUN6I is not set +CONFIG_RTC_DRV_SUNXI=y +# CONFIG_RTC_DRV_TEST is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_ZYNQMP is not set +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_I2C_AND_SPI=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_LIB=y +CONFIG_RTC_NVMEM=y +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTL8723BS is not set +# CONFIG_RTL8723DS is not set +# CONFIG_RTL8821CS is not set +# CONFIG_RTLLIB is not set +CONFIG_RT_MUTEXES=y +# CONFIG_RUNTIME_TESTING_MENU is not set +# CONFIG_SAMPLES is not set +CONFIG_SBITMAP=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_DEBUG is not set +CONFIG_SCHED_HRTICK=y +# CONFIG_SCHED_STACK_END_CHECK is not set +CONFIG_SCSI=y +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_DH is not set +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_LOWLEVEL is not set +CONFIG_SCSI_MOD=y +# CONFIG_SCSI_PROC_FS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# CONFIG_SDIO_UART is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +CONFIG_SELECT_MEMORY_MODEL=y +# CONFIG_SENSORS_AD7314 is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADC128D818 is not set +# CONFIG_SENSORS_ADCXX 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_ADS7828 is not set +# CONFIG_SENSORS_ADS7871 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_AMC6821 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_SENSORS_AS370 is not set +# CONFIG_SENSORS_ASC7621 is not set +# CONFIG_SENSORS_ASPEED is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_DS620 is not set +# CONFIG_SENSORS_EMC1403 is not set +# CONFIG_SENSORS_EMC2103 is not set +# CONFIG_SENSORS_EMC6W201 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_G760A is not set +# CONFIG_SENSORS_G762 is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_GPIO_FAN is not set +# CONFIG_SENSORS_HIH6130 is not set +# CONFIG_SENSORS_INA209 is not set +# CONFIG_SENSORS_INA2XX is not set +# CONFIG_SENSORS_INA3221 is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_JC42 is not set +# CONFIG_SENSORS_LINEAGE is not set +# CONFIG_SENSORS_LIS3_I2C is not set +# CONFIG_SENSORS_LIS3_SPI 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_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_MAX31790 is not set +# CONFIG_SENSORS_MAX6621 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_MCP3021 is not set +# CONFIG_SENSORS_MIR3DA 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_NPCM7XX is not set +# CONFIG_SENSORS_NTC_THERMISTOR is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_SENSORS_POWR1220 is not set +# CONFIG_SENSORS_PWM_FAN is not set +# CONFIG_SENSORS_SC7A20 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_SMM665 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_STTS751 is not set +# CONFIG_SENSORS_TC654 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_TMP108 is not set +# CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83773G 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_SERIAL_8250 is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_DEV_BUS is not set +CONFIG_SERIAL_EARLYCON=y +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_IFX6X60 is not set +# CONFIG_SERIAL_MAX3100 is not set +# CONFIG_SERIAL_MAX310X is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_SERIAL_SAMSUNG is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SIFIVE is not set +# CONFIG_SERIAL_SPRD is not set +CONFIG_SERIAL_SUNXI=y +CONFIG_SERIAL_SUNXI_CONSOLE=y +# CONFIG_SERIAL_SUNXI_DMA is not set +# CONFIG_SERIAL_SUNXI_EARLYCON is not set +# CONFIG_SERIAL_UARTLITE is not set +# CONFIG_SERIAL_XILINX_PS_UART is not set +CONFIG_SERIO=y +# CONFIG_SERIO_ALTERA_PS2 is not set +# CONFIG_SERIO_APBPS2 is not set +# CONFIG_SERIO_ARC_PS2 is not set +# CONFIG_SERIO_GPIO_PS2 is not set +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_PS2MULT is not set +# CONFIG_SERIO_RAW is not set +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_SUN4I_PS2 is not set +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SGL_ALLOC=y +CONFIG_SG_POOL=y +CONFIG_SHMEM=y +# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set +CONFIG_SIFIVE_PLIC=y +CONFIG_SIGNALFD=y +# CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SIOX is not set +# CONFIG_SLAB is not set +# CONFIG_SLAB_FREELIST_HARDENED is not set +# CONFIG_SLAB_FREELIST_RANDOM is not set +CONFIG_SLAB_MERGE_DEFAULT=y +# CONFIG_SLIMBUS is not set +# CONFIG_SLIP is not set +# CONFIG_SLOB is not set +CONFIG_SLUB=y +# CONFIG_SLUB_DEBUG is not set +# CONFIG_SLUB_STATS is not set +# CONFIG_SMP is not set +# CONFIG_SM_FTL is not set +# CONFIG_SOC_SIFIVE is not set +# CONFIG_SOC_TI is not set +# CONFIG_SOFTLOCKUP_DETECTOR is not set +# CONFIG_SOUND is not set +# CONFIG_SOUNDWIRE is not set +# CONFIG_SPARD_WLAN_SUPPORT is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSE_IRQ=y +CONFIG_SPI=y +# CONFIG_SPI_ALTERA is not set +# CONFIG_SPI_AXI_SPI_ENGINE is not set +# CONFIG_SPI_BITBANG is not set +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_DEBUG is not set +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_FSL_SPI is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_LOOPBACK_TEST is not set +CONFIG_SPI_MASTER=y +# CONFIG_SPI_MEM is not set +# CONFIG_SPI_MXIC is not set +# CONFIG_SPI_NXP_FLEXSPI is not set +# CONFIG_SPI_OC_TINY is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_SIFIVE is not set +# CONFIG_SPI_SLAVE is not set +# CONFIG_SPI_SPIDEV is not set +# CONFIG_SPI_SUN4I is not set +# CONFIG_SPI_SUN6I is not set +CONFIG_SPI_SUNXI=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_SPMI is not set +CONFIG_SQUASHFS=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y +# CONFIG_SQUASHFS_DECOMP_SINGLE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +# CONFIG_SQUASHFS_FILE_CACHE is not set +CONFIG_SQUASHFS_FILE_DIRECT=y +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +# CONFIG_SQUASHFS_XATTR is not set +# CONFIG_SQUASHFS_XZ is not set +# CONFIG_SQUASHFS_ZLIB is not set +# CONFIG_SQUASHFS_ZSTD is not set +# CONFIG_SRAM is not set +CONFIG_SRCU=y +# CONFIG_SSB is not set +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSFDC is not set +CONFIG_STACKTRACE=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_STAGING=y +# CONFIG_STAGING_BOARD is not set +# CONFIG_STAGING_MEDIA is not set +CONFIG_STANDALONE=y +# CONFIG_STATIC_USERMODEHELPER is not set +# CONFIG_STK3X1X is not set +# CONFIG_STM is not set +# CONFIG_STRING_SELFTEST is not set +# CONFIG_STRIP_ASM_SYMS is not set +CONFIG_SUN4I_TIMER=y +# CONFIG_SUN50I_DE2_BUS is not set +# CONFIG_SUN50I_TIMER is not set +CONFIG_SUN8IW20_CCU=y +CONFIG_SUN8IW20_R_CCU=y +# CONFIG_SUN8I_A83T_CCU is not set +# CONFIG_SUN8I_DE2_CCU is not set +# CONFIG_SUN8I_NMI is not set +# CONFIG_SUN8I_R_CCU is not set +CONFIG_SUNXI_ADDR_MGT=y +# CONFIG_SUNXI_BOOTEVENT is not set +# CONFIG_SUNXI_BS83B16C is not set +CONFIG_SUNXI_CCU=y +# CONFIG_SUNXI_DI is not set +# CONFIG_SUNXI_DISP2_FB_DECOMPRESS_LZMA is not set +CONFIG_SUNXI_DISP2_FB_DISABLE_ROTATE=y +# CONFIG_SUNXI_DISP2_FB_ROTATION_SUPPORT is not set +# CONFIG_SUNXI_G2D is not set +# CONFIG_SUNXI_GORILLA is not set +CONFIG_SUNXI_GPADC=y +CONFIG_SUNXI_GPU_TYPE="None" +CONFIG_SUNXI_IOMMU=y +CONFIG_SUNXI_IOMMU_DEBUG=y +# CONFIG_SUNXI_IOMMU_TESTS is not set +CONFIG_SUNXI_MBUS=y +# CONFIG_SUNXI_MIPSLOADER is not set +# CONFIG_SUNXI_NAND is not set +# CONFIG_SUNXI_NSI is not set +# CONFIG_SUNXI_QA_TEST is not set +CONFIG_SUNXI_REBOOT_FLAG=y +CONFIG_SUNXI_REGULATOR_PWM=y +CONFIG_SUNXI_RFKILL=y +CONFIG_SUNXI_RISCV_SUSPEND=y +# CONFIG_SUNXI_RSB is not set +CONFIG_SUNXI_RTC_BOOTCOUNT=y +CONFIG_SUNXI_RTC_CCU=y +CONFIG_SUNXI_RTC_POWEROFF_ALARM=y +CONFIG_SUNXI_SID=y +# CONFIG_SUNXI_SMC is not set +CONFIG_SUNXI_SOC_NAME="sun20iw1" +# CONFIG_SUNXI_SRAM is not set +CONFIG_SUNXI_SYS_INFO=y +# CONFIG_SUNXI_TIMER is not set +# CONFIG_SUNXI_TIMER_TEST is not set +# CONFIG_SUNXI_TPADC is not set +# CONFIG_SUNXI_TVUTILS is not set +# CONFIG_SUNXI_WAKEUPGEN is not set +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +# CONFIG_SWAP is not set +# CONFIG_SW_SYNC is not set +CONFIG_SYNC_FILE=y +# CONFIG_SYN_COOKIES is not set +CONFIG_SYSCTL=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_SYSFS=y +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_SYSFS_SYSCALL=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_SYSV_FS is not set +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +# CONFIG_TARGET_CORE is not set +# CONFIG_TASKSTATS is not set +CONFIG_TASKS_RCU=y +# CONFIG_TCG_TPM is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +# CONFIG_TCP_MD5SIG is not set +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +# CONFIG_TEST_POWER is not set +# CONFIG_THERMAL is not set +CONFIG_THREAD_INFO_IN_TASK=y +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TICK_ONESHOT=y +CONFIG_TIMERFD=y +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +# CONFIG_TIPC is not set +# CONFIG_TI_ST is not set +# CONFIG_TLS is not set +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +# CONFIG_TOUCHSCREEN_AD7877 is not set +# CONFIG_TOUCHSCREEN_AD7879 is not set +# CONFIG_TOUCHSCREEN_ADS7846 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_BU21029 is not set +# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set +# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set +# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set +# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set +# CONFIG_TOUCHSCREEN_DYNAPRO is not set +# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set +# CONFIG_TOUCHSCREEN_EETI is not set +# CONFIG_TOUCHSCREEN_EGALAX is not set +# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set +# CONFIG_TOUCHSCREEN_EKTF2127 is not set +# CONFIG_TOUCHSCREEN_ELAN is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_EXC3000 is not set +# CONFIG_TOUCHSCREEN_FTS is not set +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GOODIX is not set +# CONFIG_TOUCHSCREEN_GSLX680NEW is not set +# CONFIG_TOUCHSCREEN_GT9XXNEWDUP_TS is not set +CONFIG_TOUCHSCREEN_GT9XXNEW_TS=y +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set +# CONFIG_TOUCHSCREEN_HIDEEP is not set +# CONFIG_TOUCHSCREEN_ILI210X is not set +# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_IQS5XX is not set +# CONFIG_TOUCHSCREEN_MAX11801 is not set +# CONFIG_TOUCHSCREEN_MCS5000 is not set +# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_MMS114 is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_PIXCIR is not set +CONFIG_TOUCHSCREEN_PROPERTIES=y +# CONFIG_TOUCHSCREEN_RM_TS is not set +# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set +# CONFIG_TOUCHSCREEN_S6SY761 is not set +# CONFIG_TOUCHSCREEN_SILEAD is not set +# CONFIG_TOUCHSCREEN_SIS_I2C is not set +# CONFIG_TOUCHSCREEN_ST1232 is not set +# CONFIG_TOUCHSCREEN_SUN4I is not set +# CONFIG_TOUCHSCREEN_SUNXI is not set +# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set +# CONFIG_TOUCHSCREEN_SX8654 is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_TPS6507X is not set +# CONFIG_TOUCHSCREEN_TSC2004 is not set +# CONFIG_TOUCHSCREEN_TSC2005 is not set +# CONFIG_TOUCHSCREEN_TSC2007 is not set +# CONFIG_TOUCHSCREEN_TSC_SERIO is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_WACOM_I2C is not set +# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set +# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set +# CONFIG_TOUCHSCREEN_ZET6223 is not set +# CONFIG_TOUCHSCREEN_ZFORCE is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X is not set +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +# CONFIG_TRACE_SINK is not set +CONFIG_TRACING_SUPPORT=y +CONFIG_TREE_SRCU=y +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_TTY=y +# CONFIG_TTY_PRINTK is not set +# CONFIG_TUN is not set +CONFIG_TUNE_GENERIC=y +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_TV_DISP2_SUNXI is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_TYPEC is not set +# CONFIG_UBIFS_ATIME_SUPPORT is not set +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +# CONFIG_UBIFS_FS_AUTHENTICATION is not set +# CONFIG_UBIFS_FS_LZO is not set +CONFIG_UBIFS_FS_SECURITY=y +CONFIG_UBIFS_FS_XATTR=y +# CONFIG_UBIFS_FS_ZLIB is not set +# CONFIG_UBIFS_FS_ZSTD is not set +# CONFIG_UBSAN is not set +CONFIG_UBSAN_ALIGNMENT=y +# CONFIG_UDF_FS is not set +# CONFIG_UDMABUF is not set +# CONFIG_UEVENT_HELPER is not set +# CONFIG_UFS_FS is not set +# CONFIG_UIO is not set +# CONFIG_UNICODE is not set +CONFIG_UNINLINE_SPIN_UNLOCK=y +# CONFIG_UNISYSSPAR is not set +CONFIG_UNIX=y +CONFIG_UNIX98_PTYS=y +CONFIG_UNIX_DIAG=y +CONFIG_UNIX_SCM=y +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_USB=y +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_ACM is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set +# CONFIG_USB_APPLEDISPLAY is not set +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_AUTOSUSPEND_DELAY=2 +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_CDNS3 is not set +# CONFIG_USB_CHIPIDEA is not set +CONFIG_USB_COMMON=y +CONFIG_USB_CONFIGFS=y +# CONFIG_USB_CONFIGFS_ACM is not set +# CONFIG_USB_CONFIGFS_ECM is not set +# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set +# CONFIG_USB_CONFIGFS_EEM is not set +CONFIG_USB_CONFIGFS_F_FS=y +# CONFIG_USB_CONFIGFS_F_HID is not set +# CONFIG_USB_CONFIGFS_F_LB_SS is not set +# CONFIG_USB_CONFIGFS_F_PRINTER is not set +# CONFIG_USB_CONFIGFS_MASS_STORAGE is not set +# CONFIG_USB_CONFIGFS_NCM is not set +# CONFIG_USB_CONFIGFS_OBEX is not set +# CONFIG_USB_CONFIGFS_RNDIS is not set +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONFIGFS_UEVENT=y +# CONFIG_USB_CONN_GPIO is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DUMMY_HCD is not set +# CONFIG_USB_DWC2 is not set +# CONFIG_USB_DWC3 is not set +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_EHCI_FSL is not set +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +CONFIG_USB_EHCI_HCD_SUNXI=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EZUSB_FX2 is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_FOTG210_UDC is not set +# CONFIG_USB_FTDI_ELAN is not set +CONFIG_USB_F_FS=y +CONFIG_USB_F_SERIAL=y +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_STORAGE_NUM_BUFFERS=2 +CONFIG_USB_GADGET_VBUS_DRAW=2 +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_GR_UDC is not set +# CONFIG_USB_HCD_TEST_MODE is not set +# CONFIG_USB_HID is not set +# CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ISP1760 is not set +# CONFIG_USB_KBD is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_LEGOTOWER is not set +CONFIG_USB_LIBCOMPOSITE=y +# CONFIG_USB_LINK_LAYER_TEST is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_MAX3421_HCD is not set +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_MOUSE is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_NET_DRIVERS is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +CONFIG_USB_OHCI_HCD_SUNXI=y +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_ROLE_SWITCH=y +# CONFIG_USB_SERIAL is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_SNP_UDC_PLAT is not set +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_USBAT is not set +CONFIG_USB_SUNXI_EHCI0=y +CONFIG_USB_SUNXI_EHCI1=y +CONFIG_USB_SUNXI_HCD=y +CONFIG_USB_SUNXI_HCI=y +CONFIG_USB_SUNXI_OHCI0=y +CONFIG_USB_SUNXI_OHCI1=y +CONFIG_USB_SUNXI_UDC0=y +CONFIG_USB_SUNXI_USB=y +CONFIG_USB_SUNXI_USB_ADB=y +CONFIG_USB_SUNXI_USB_DEBUG=y +CONFIG_USB_SUNXI_USB_MANAGER=y +CONFIG_USB_SUPPORT=y +# CONFIG_USB_TEST is not set +# CONFIG_USB_TMC is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +CONFIG_USB_UAS=y +# CONFIG_USB_ULPI_BUS is not set +CONFIG_USB_U_SERIAL=y +# CONFIG_USB_WDM is not set +# CONFIG_USB_WUSB_CBAF is not set +# CONFIG_USB_XHCI_HCD is not set +# CONFIG_USB_YUREX is not set +# CONFIG_USELIB is not set +# CONFIG_USERFAULTFD is not set +# CONFIG_USERIO is not set +# CONFIG_UWB is not set +# CONFIG_U_SERIAL_CONSOLE is not set +# CONFIG_VALIDATE_FS_PARSER is not set +CONFIG_VA_BITS=39 +# CONFIG_VDPO_DISP2_SUNXI is not set +CONFIG_VECTOR=y +# CONFIG_VETH is not set +CONFIG_VFAT_FS=y +# CONFIG_VFIO is not set +# CONFIG_VIRTIO_MENU is not set +# CONFIG_VIRT_DRIVERS is not set +# CONFIG_VIRT_WIFI is not set +# CONFIG_VLAN_8021Q is not set +CONFIG_VM_EVENT_COUNTERS=y +# CONFIG_VOP_BUS is not set +# CONFIG_VSOCKETS is not set +# CONFIG_VT is not set +# CONFIG_VXFS_FS is not set +# CONFIG_VXLAN is not set +# CONFIG_W1 is not set +# CONFIG_WAN is not set +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +# CONFIG_WATCHDOG is not set +# CONFIG_WILC1000_SDIO is not set +# CONFIG_WILC1000_SPI is not set +# CONFIG_WIMAX is not set +CONFIG_WIRELESS=y +# CONFIG_WIRELESS_WDS is not set +CONFIG_WLAN=y +# CONFIG_WLAN_VENDOR_ADMTEK is not set +# CONFIG_WLAN_VENDOR_ATH is not set +# CONFIG_WLAN_VENDOR_ATMEL is not set +# CONFIG_WLAN_VENDOR_BROADCOM is not set +# CONFIG_WLAN_VENDOR_CISCO is not set +# CONFIG_WLAN_VENDOR_INTEL is not set +# CONFIG_WLAN_VENDOR_INTERSIL is not set +# CONFIG_WLAN_VENDOR_MARVELL is not set +# CONFIG_WLAN_VENDOR_MEDIATEK is not set +# CONFIG_WLAN_VENDOR_QUANTENNA is not set +# CONFIG_WLAN_VENDOR_RALINK is not set +# CONFIG_WLAN_VENDOR_REALTEK is not set +# CONFIG_WLAN_VENDOR_RSI is not set +# CONFIG_WLAN_VENDOR_ST is not set +# CONFIG_WLAN_VENDOR_TI is not set +# CONFIG_WLAN_VENDOR_ZYDAS is not set +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +# CONFIG_WQ_WATCHDOG is not set +# CONFIG_WW_MUTEX_SELFTEST is not set +# CONFIG_X25 is not set +# CONFIG_XFRM_USER is not set +# CONFIG_XFS_FS is not set +# CONFIG_XILINX_SDFEC is not set +# CONFIG_XILINX_VCU is not set +# CONFIG_XILLYBUS is not set +# CONFIG_XIL_AXIS_FIFO is not set +CONFIG_XR819S_WLAN=m +# CONFIG_XR829_WLAN is not set +CONFIG_XXHASH=y +CONFIG_XZ_DEC=y +# CONFIG_XZ_DEC_ARM is not set +# CONFIG_XZ_DEC_ARMTHUMB is not set +# CONFIG_XZ_DEC_IA64 is not set +# CONFIG_XZ_DEC_POWERPC is not set +# CONFIG_XZ_DEC_SPARC is not set +# CONFIG_XZ_DEC_TEST is not set +# CONFIG_XZ_DEC_X86 is not set +# CONFIG_ZBUD is not set +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZONE_DMA32=y +# CONFIG_ZPOOL is not set +# CONFIG_ZSMALLOC is not set +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y diff --git a/device/config/chips/f133/configs/pro/linux/board.dts b/device/config/chips/f133/configs/pro/linux/board.dts new file mode 100755 index 0000000..bee1d4e --- /dev/null +++ b/device/config/chips/f133/configs/pro/linux/board.dts @@ -0,0 +1,1584 @@ +/* + * Allwinner Technology CO., Ltd. sun20iw1p1 fpga. + * + * fpga support. + */ + +/dts-v1/; + +#include "sun20iw1p1.dtsi" + +/{ + compatible = "allwinner,d1", "arm,sun20iw1p1", "allwinner,sun20iw1p1"; + + aliases { + dsp0 = &dsp0; + dsp0_gpio_int= &dsp0_gpio_int; + }; + + dsp0: dsp0 { + compatible = "allwinner,sun20iw1-dsp"; + status = "disabled"; + }; + + dsp0_gpio_int: dsp0_gpio_int { + compatible = "allwinner,sun20iw1-dsp-gpio-int"; + pin-group = "PB", "PC", "PD", "PE"; + status = "disabled"; + }; + + reg_vdd_cpu: vdd-cpu { + compatible = "sunxi-pwm-regulator"; + pwms = <&pwm 0 5000 1>; + regulator-name = "vdd_cpu"; + regulator-min-microvolt = <810000>; + regulator-max-microvolt = <1160000>; + regulator-ramp-delay = <25>; + regulator-always-on; + regulator-boot-on; + status = "okay"; + }; + + reg_usb1_vbus: usb1-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb1-vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-enable-ramp-delay = <1000>; + gpio = <&pio PB 3 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&CPU0 { + cpu-supply = <®_vdd_cpu>; +}; + +&pio { + sdc0_pins_a: sdc0@0 { + allwinner,pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + allwinner,function = "sdc0"; + allwinner,muxsel = <2>; + allwinner,drive = <3>; + allwinner,pull = <1>; + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "sdc0"; + drive-strength = <30>; + bias-pull-up; + power-source = <3300>; + }; + + + sdc0_pins_b: sdc0@1 { + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "sdc0"; + drive-strength = <30>; + bias-pull-up; + power-source = <1800>; + }; + + sdc0_pins_c: sdc0@2 { + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "gpio_in"; + }; + + /* TODO: add jtag pin */ + sdc0_pins_d: sdc0@3 { + pins = "PF2", "PF4"; + function = "uart0"; + drive-strength = <10>; + bias-pull-up; + }; + + sdc0_pins_e: sdc0@4 { + pins = "PF0", "PF1", "PF3", + "PF5"; + function = "jtag"; + drive-strength = <10>; + bias-pull-up; + }; + + + sdc1_pins_a: sdc1@0 { + pins = "PG0", "PG1", "PG2", + "PG3", "PG4", "PG5"; + function = "sdc1"; + drive-strength = <30>; + bias-pull-up; + }; + + sdc1_pins_b: sdc1@1 { + pins = "PG0", "PG1", "PG2", + "PG3", "PG4", "PG5"; + function = "gpio_in"; + }; + + sdc2_pins_a: sdc2@0 { + allwinner,pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + allwinner,function = "sdc2"; + allwinner,muxsel = <3>; + allwinner,drive = <3>; + allwinner,pull = <1>; + pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + function = "sdc2"; + drive-strength = <30>; + bias-pull-up; + }; + + sdc2_pins_b: sdc2@1 { + pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + function = "gpio_in"; + }; + + wlan_pins_a:wlan@0 { + pins = "PG11"; + function = "clk_fanout1"; + }; + + uart0_pins_a: uart0_pins@0 { /* For EVB1 board */ + pins = "PE2", "PE3"; + function = "uart0"; + drive-strength = <10>; + bias-pull-up; + }; + + uart0_pins_b: uart0_pins@1 { /* For EVB1 board */ + pins = "PE2", "PE3"; + function = "gpio_in"; + }; + + uart1_pins_a: uart1_pins@0 { /* For EVB1 board */ + pins = "PG6", "PG7", "PG8", "PG9"; + function = "uart1"; + drive-strength = <10>; + bias-pull-up; + }; + + uart1_pins_b: uart1_pins { /* For EVB1 board */ + pins = "PG6", "PG7", "PG8", "PG9"; + function = "gpio_in"; + }; + + uart2_pins_a: uart2_pins@0 { /* For EVB1 board */ + pins = "PC0", "PC1"; + function = "uart2"; + drive-strength = <10>; + bias-pull-up; + }; + + uart2_pins_b: uart2_pins@1 { /* For EVB1 board */ + pins = "PC0", "PC1"; + function = "gpio_in"; + }; + + uart3_pins_a: uart3_pins@0 { /* For EVB1 board */ + pins = "PD10", "PD11"; + function = "uart3"; + muxsel = <5>; + drive-strength = <10>; + bias-pull-up; + }; + + + uart4_pins_a: uart4_pins@0 { /* For EVB pro board */ + pins = "PG2", "PG3"; + function = "uart4"; + drive-strength = <10>; + bias-pull-up; + }; + + uart4_pins_b: uart4_pins@1 { /* For EVB pro board */ + pins = "PG2", "PG3"; + function = "gpio_in"; + }; + + twi0_pins_a: twi0@0 { + pins = "PB10", "PB11"; /*sck sda*/ + function = "twi0"; + drive-strength = <10>; + }; + + twi0_pins_b: twi0@1 { + pins = "PB10", "PB11"; + function = "gpio_in"; + }; + + twi1_pins_a: twi1@0 { + pins = "PB4", "PB5"; + function = "twi1"; + drive-strength = <10>; + }; + + twi1_pins_b: twi1@1 { + pins = "PB4", "PB5"; + function = "gpio_in"; + }; + + twi2_pins_a: twi2@0 { + pins = "PE12", "PE13"; + function = "twi2"; + drive-strength = <10>; + }; + + twi2_pins_b: twi2@1 { + pins = "PE12", "PE13"; + function = "gpio_in"; + }; + + twi3_pins_a: twi3@0 { + pins = "PE6", "PE7"; + function = "twi3"; + drive-strength = <10>; + }; + + twi3_pins_b: twi3@1 { + pins = "PE6", "PE7"; + function = "gpio_in"; + }; + + gmac_pins_a: gmac@0 { + pins = "PG0", "PG1", "PG2", "PG3", + "PG4", "PG5", "PG6", "PG7", + "PG8", "PG9", "PG10", "PG11", + "PG12", "PG13", "PG14", "PG15"; + function = "gmac0"; + drive-strength = <10>; + }; + + gmac_pins_b: gmac@1 { + pins = "PG0", "PG1", "PG2", "PG3", + "PG4", "PG5", "PG6", "PG7", + "PG8", "PG9", "PG10", "PG11", + "PG12", "PG13", "PG14", "PG15"; + function = "gpio_in"; + }; + + dmic_pins_a: dmic@0 { + /* DMIC_PIN: CLK, DATA0, DATA1, DATA2, DATA3*/ + pins = "PB12", "PB11", "PB10", "PE14", "PB8"; + function = "dmic"; + drive-strength = <20>; + bias-disable; + }; + + dmic_pins_b: dmic@1 { + pins = "PB12", "PB11", "PB10", "PE14", "PB8"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + daudio0_pins_a: daudio0@0 { + pins = "PE17", "PE16", "PE15", "PE14", "PE13"; + function = "i2s0"; + drive-strength = <20>; + bias-disable; + }; + + daudio0_pins_b: daudio0_sleep@0 { + pins = "PE17", "PE16", "PE15", "PE14", "PE13"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + daudio1_pins_a: daudio1@0 { + pins = "PG11", "PG12", "PG13", "PG14", "PG15"; + function = "i2s1"; + drive-strength = <20>; + bias-disable; + }; + + daudio1_pins_b: daudio1_sleep@0 { + pins = "PG11", "PG12", "PG13", "PG14", "PG15"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + daudio2_pins_a: daudio2@0 { + /* I2S_PIN: MCLK, BCLK, LRCK */ + pins = "PF6", "PF3", "PF5"; + function = "i2s2"; + drive-strength = <20>; + bias-disable; + }; + + daudio2_pins_b: daudio2@1 { + /* I2S_PIN: DOUT0 */ + pins = "PF1"; + function = "i2s2_dout"; + drive-strength = <20>; + bias-disable; + }; + + daudio2_pins_c: daudio2@2 { + /* I2S_PIN: DIN0 */ + pins = "PF0"; + function = "i2s2_din"; + drive-strength = <20>; + bias-disable; + }; + + daudio2_pins_d: daudio2_sleep@0 { + pins = "PF6", "PF3", "PF5", "PF1", "PF0"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + spdif_pins_a: spdif@0 { + /* SPDIF_PIN: SPDIF_OUT */ + pins = "PG18"; + function = "spdif"; + drive-strength = <20>; + bias-disable; + }; + + spdif_pins_b: spdif_sleep@0 { + pins = "PG18"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + spi0_pins_a: spi0@0 { + pins = "PC2", "PC4", "PC5"; /* clk, mosi, miso */ + function = "spi0"; + muxsel = <2>; + drive-strength = <20>; + }; + + spi0_pins_b: spi0@1 { + pins = "PC3", "PC7", "PC6"; + function = "spi0"; + muxsel = <2>; + drive-strength = <20>; + bias-pull-up; /* cs, hold, wp should be pulled up */ + }; + + spi0_pins_c: spi0@2 { + pins = "PC2", "PC3", "PC4", "PC5","PC6", "PC7"; + function = "gpio_in"; + muxsel = <0>; + drive-strength = <10>; + }; + + spi1_pins_a: spi1@0 { + pins = "PD11", "PD12", "PD13"; /* clk, mosi, miso */ + function = "spi1"; + drive-strength = <10>; + }; + + spi1_pins_b: spi1@1 { + pins = "PD10", "PD14", "PD15"; + function = "spi1"; + drive-strength = <10>; + bias-pull-up; /* cs, hold, wp should be pulled up */ + }; + + spi1_pins_c: spi1@2 { + pins = "PD10", "PD11", "PD12", "PD13","PD14", "PD15"; + function = "gpio_in"; + drive-strength = <10>; + }; + + ledc_pins_a: ledc@0 { + pins = "PC0"; + function = "ledc"; + drive-strength = <10>; + }; + + ledc_pins_b: ledc@1 { + pins = "PC0"; + function = "gpio_in"; + }; + + pwm0_pin_a: pwm0@0 { + pins = "PD16"; + function = "pwm0"; + drive-strength = <10>; + bias-pull-up; + }; + + pwm0_pin_b: pwm0@1 { + pins = "PD16"; + function = "gpio_in"; + bias-disable; + }; + + pwm2_pin_a: pwm2@0 { + pins = "PD18"; + function = "pwm2"; + drive-strength = <10>; + bias-pull-up; + }; + + pwm2_pin_b: pwm2@1 { + pins = "PD18"; + function = "gpio_out"; + }; + + pwm7_pin_a: pwm7@0 { + pins = "PD22"; + function = "pwm7"; + drive-strength = <10>; + bias-pull-up; + }; + + pwm7_pin_b: pwm7@1 { + pins = "PD22"; + function = "gpio_in"; + }; + + + s_cir0_pins_a: s_cir@0 { + pins = "PB7"; + function = "ir"; + drive-strength = <10>; + bias-pull-up; + }; + + s_cir0_pins_b: s_cir@1 { + pins = "PB7"; + function = "gpio_in"; + }; + + ir1_pins_a: ir1@0 { + pins = "PB0"; + function = "ir"; + drive-strength = <10>; + bias-pull-up; + }; + + ir1_pins_b: ir1@1 { + pins = "PB0"; + function = "gpio_in"; + }; +}; + +&uart0 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart0_pins_a>; + pinctrl-1 = <&uart0_pins_b>; + status = "okay"; +}; + +&uart1 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart1_pins_a>; + pinctrl-1 = <&uart1_pins_b>; + status = "disabled"; +}; + +&uart2 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart2_pins_a>; + pinctrl-1 = <&uart2_pins_b>; + status = "disabled"; +}; + +&uart3 { + compatible = "allwinner,sun20iw1-dsp-uart"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart3_pins_a>; + pinctrl-1 = <&uart3_pins_a>; + status = "disabled"; +}; + +&uart4 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart4_pins_a>; + pinctrl-1 = <&uart4_pins_b>; + status = "disabled"; +}; + +&soc { + card0_boot_para@2 { + /* + * Avoid dtc compiling warnings. + * @TODO: Developer should modify this to the actual value + */ + reg = <0x0 0x2 0x0 0x0>; + device_type = "card0_boot_para"; + card_ctrl = <0x0>; + card_high_speed = <0x1>; + card_line = <0x4>; + pinctrl-0 = <&sdc0_pins_a>; + }; + + card2_boot_para@3 { + /* + * Avoid dtc compiling warnings. + * @TODO: Developer should modify this to the actual value + */ + reg = <0x0 0x3 0x0 0x0>; + device_type = "card2_boot_para"; + card_ctrl = <0x2>; + card_high_speed = <0x1>; + card_line = <0x4>; + pinctrl-0 = <&sdc2_pins_a>; + /*pinctrl-0 = <&sdc0_pins_a>;*/ + /*sdc_ex_dly_used = <0x2>;*/ + sdc_io_1v8 = <0x1>; + /*sdc_type = "tm4";*/ + sdc_tm4_hs200_max_freq = <150>; + sdc_tm4_hs400_max_freq = <100>; + sdc_ex_dly_used = <2>; + /*sdc_tm4_win_th = <8>;*/ + /*sdc_dis_host_caps = <0x180>;*/ + }; + + rfkill: rfkill@0 { + compatible = "allwinner,sunxi-rfkill"; + chip_en; + power_en; + pinctrl-0 = <&wlan_pins_a>; + pinctrl-names = "default"; + status = "diabled"; + + wlan: wlan@0 { + compatible = "allwinner,sunxi-wlan"; + clock-names = "32k-fanout1"; + clocks = <&ccu CLK_FANOUT1_OUT>; + wlan_busnum = <0x1>; + wlan_regon = <&pio PE 3 GPIO_ACTIVE_HIGH>; + wlan_hostwake = <&pio PG 10 GPIO_ACTIVE_HIGH>; + /*wlan_power = "VCC-3V3";*/ + /*wlan_power_vol = <3300000>;*/ + /*interrupt-parent = <&pio>; + interrupts = < PG 10 IRQ_TYPE_LEVEL_HIGH>;*/ + wakeup-source; + + }; + + bt: bt@0 { + compatible = "allwinner,sunxi-bt"; + clock-names = "32k-fanout1"; + clocks = <&ccu CLK_FANOUT1_OUT>; + /*bt_power_num = <0x01>;*/ + /*bt_power = "axp803-dldo1";*/ + /*bt_io_regulator = "axp803-dldo1";*/ + /*bt_io_vol = <3300000>;*/ + /*bt_power_vol = <330000>;*/ + bt_rst_n = <&pio PG 18 GPIO_ACTIVE_LOW>; + status = "disabled"; + }; + }; + + btlpm: btlpm@0 { + compatible = "allwinner,sunxi-btlpm"; + uart_index = <0x1>; + bt_wake = <&pio PG 16 GPIO_ACTIVE_HIGH>; + bt_hostwake = <&pio PG 17 GPIO_ACTIVE_HIGH>; + status = "disabled"; + }; + + addr_mgt: addr_mgt@0 { + compatible = "allwinner,sunxi-addr_mgt"; + type_addr_wifi = <0x0>; + type_addr_bt = <0x0>; + type_addr_eth = <0x0>; + status = "okay"; + }; +}; + +&sdc2 { + non-removable; + bus-width = <4>; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + no-sdio; + no-sd; + ctl-spec-caps = <0x308>; + cap-mmc-highspeed; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + mmc-bootpart-noacc; + max-frequency = <150000000>; + /*vmmc-supply = <®_dcdc1>;*/ + /*emmc io vol 3.3v*/ + /*vqmmc-supply = <®_aldo1>;*/ + /*emmc io vol 1.8v*/ + /*vqmmc-supply = <®_eldo1>;*/ + status = "disabled"; +}; + +&sdc0 { + bus-width = <4>; + cd-gpios = <&pio PF 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + /*non-removable;*/ + /*broken-cd;*/ + /*cd-inverted;*/ + /*data3-detect;*/ + /*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/ + cd-used-24M; + cap-sd-highspeed; + /*sd-uhs-sdr50;*/ + /*sd-uhs-ddr50;*/ + /*sd-uhs-sdr104;*/ + no-sdio; + no-mmc; + sunxi-power-save-mode; + /*sunxi-dis-signal-vol-sw;*/ + max-frequency = <150000000>; + ctl-spec-caps = <0x8>; + /*vmmc-supply = <®_dcdc1>;*/ + /*vqmmc33sw-supply = <®_dcdc1>;*/ + /*vdmmc33sw-supply = <®_dcdc1>;*/ + /*vqmmc18sw-supply = <®_eldo1>;*/ + /*vdmmc18sw-supply = <®_eldo1>;*/ + status = "disabled"; +}; + +&sdc1 { + bus-width = <4>; + no-mmc; + no-sd; + cap-sd-highspeed; + /*sd-uhs-sdr12*/ + /*sd-uhs-sdr25;*/ + /*sd-uhs-sdr50;*/ + /*sd-uhs-ddr50;*/ + /*sd-uhs-sdr104;*/ + /*sunxi-power-save-mode;*/ + /*sunxi-dis-signal-vol-sw;*/ + cap-sdio-irq; + keep-power-in-suspend; + ignore-pm-notify; + max-frequency = <150000000>; + ctl-spec-caps = <0x8>; + status = "disabled"; +}; + + +/* +tvd configuration +used (create device, 0: do not create device, 1: create device) +agc_auto_enable (0: agc manual mode,agc_manual_value is valid; 1: agc auto mode) +agc_manual_value (agc manual value, default value is 64) +cagc_enable (cagc 0: disable, 1: enable) +fliter_used (3d fliter 0: disable, 1: enable) +support two PMU power (tvd_power0, tvd_power1) +support two GPIO power (tvd_gpio0, tvd_gpio1) +NOTICE: If tvd need pmu power or gpio power,params need be configured under [tvd] +tvd_sw (the switch of all tvd driver.) +tvd_interface (0: cvbs, 1: ypbpr,) +tvd_format (0:TVD_PL_YUV420 , 1: MB_YUV420, 2: TVD_PL_YUV422) +tvd_system (0:ntsc, 1:pal) +tvd_row (total row number in multi channel mode 1-2) +tvd_column (total column number in multi channel mode 1-2) +tvd_channelx_en (0:disable, 1~4:position in multi channel mode,In single channel + mode,mean enable) +tvd_row*tvd_column is the total tvd channel number to be used in multichannel mode ++--------------------+--------------------+ +| | | +| | | +| 1 | 2 | +| | | +| | | ++--------------------+--------------------+ +| | | +| | | +| 3 | 4 | +| | | +| | | ++--------------------+--------------------+ +*/ + +&tvd { + tvd_sw = <1>; + tvd_interface = <0>; + tvd_format = <0>; + tvd_system = <1>; + tvd_row = <1>; + tvd_column = <1>; + tvd_channel0_en = <1>; + tvd_channel1_en = <0>; + tvd_channel2_en = <0>; + tvd_channel3_en = <0>; + /*tvd_gpio0 = <&pio PD 22 GPIO_ACTIVE_HIGH>;*/ + /*tvd_gpio1 = <&pio PD 23 GPIO_ACTIVE_HIGH>;*/ + /*tvd_gpio2 = <&pio PD 24 GPIO_ACTIVE_HIGH>;*/ + /* dc1sw-supply = <®_dc1sw>;*/ + /* eldo3-supply = <®_eldo3>;*/ + /*tvd_power0 = "dc1sw"*/ + /*tvd_power1 = "eldo3"*/ +}; + +&tvd0 { + used = <1>; + agc_auto_enable = <1>; + agc_manual_value = <64>; + cagc_enable = <1>; + fliter_used = <1>; +}; + +/* Audio Driver modules */ +&sunxi_rpaf_dsp0 { + status = "disabled"; +}; + +/* if audiocodec is used, sdc0 and uart0 should be closed to enable PA. */ +&codec { + /* MIC and headphone gain setting */ + mic1gain = <0x1F>; + mic2gain = <0x1F>; + mic3gain = <0x1F>; + /* ADC/DAC DRC/HPF func enabled */ + /* 0x1:DAP_HP_EN; 0x2:DAP_SPK_EN; 0x3:DAP_HPSPK_EN */ + adcdrc_cfg = <0x0>; + adchpf_cfg = <0x1>; + dacdrc_cfg = <0x0>; + dachpf_cfg = <0x0>; + /* Volume about */ + digital_vol = <0x00>; + lineout_vol = <0x1a>; + headphonegain = <0x03>; + /* Pa enabled about */ + pa_level = <0x01>; + pa_pwr_level = <0x01>; + pa_msleep_time = <0x78>; + /* gpio-spk = <&pio PF 2 GPIO_ACTIVE_HIGH>;*/ + /* gpio-spk-pwr = <&pio PF 4 GPIO_ACTIVE_HIGH>; */ + /* CMA config about */ + playback_cma = <128>; + capture_cma = <256>; + /* regulator about */ + /* avcc-supply = <®_aldo1>; */ + /* hpvcc-supply = <®_eldo1>; */ + status = "okay"; +}; + +&sndcodec { + hp_detect_case = <0x00>; + jack_enable = <0x01>; + status = "okay"; +}; + +&dummy_cpudai { + status = "okay"; +}; + +&dmic { + pinctrl-names = "default","sleep"; + pinctrl-0 = <&dmic_pins_a>; + pinctrl-1 = <&dmic_pins_b>; + status = "okay"; +}; + +&dmic_codec { + status = "okay"; +}; + +&sounddmic { + status = "okay"; +}; + +/*----------------------------------------------------------------------------- + * pcm_lrck_period 16/32/64/128/256 + * slot_width_select 16bits/20bits/24bits/32bits + * frametype 0 --> short frame = 1 clock width; + * 1 --> long frame = 2 clock width; + * tdm_config 0 --> pcm + * 1 --> i2s + * mclk_div 0 --> not output + * 1/2/4/6/8/12/16/24/32/48/64/96/128/176/192 + * (set mclk as external codec clk source, freq is pll_audio/mclk_div) + * pinctrl_used 0 --> I2S/PCM use for internal + * 1 --> I2S/PCM use for external audio + * daudio_type: 0 --> external audio type + *---------------------------------------------------------------------------*/ +&daudio0 { + mclk_div = <0x01>; + frametype = <0x00>; + tdm_config = <0x01>; + sign_extend = <0x00>; + msb_lsb_first = <0x00>; + pcm_lrck_period = <0x80>; + slot_width_select = <0x20>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&daudio0_pins_a>; + pinctrl-1 = <&daudio0_pins_b>; + pinctrl_used = <0x0>; + status = "disabled"; +}; + +/*----------------------------------------------------------------------------- + * simple-audio-card,name name of sound card, e.g. + * "snddaudio0" --> use for external audio + * sound-dai "snd-soc-dummy" --> use for I2S + * "ac108" --> use for external audio of ac108 + *---------------------------------------------------------------------------*/ +&sounddaudio0 { + /* simple-audio-card,format = "i2s"; */ + /* simple-audio-card,frame-master = <&daudio0_master>; */ + /* simple-audio-card,bitclock-master = <&daudio0_master>; */ + /* simple-audio-card,bitclock-inversion; */ + /* simple-audio-card,frame-inversion; */ + status = "disabled"; + daudio0_master: simple-audio-card,codec { + /* sound-dai = <&ac108>; */ + }; +}; + +&daudio1 { + mclk_div = <0x01>; + frametype = <0x00>; + tdm_config = <0x01>; + sign_extend = <0x00>; + msb_lsb_first = <0x00>; + pcm_lrck_period = <0x80>; + slot_width_select = <0x20>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&daudio1_pins_a>; + pinctrl-1 = <&daudio1_pins_b>; + pinctrl_used = <0x0>; + status = "disabled"; +}; + +&sounddaudio1 { + status = "disabled"; + daudio1_master: simple-audio-card,codec { + /* sound-dai = <&ac108>; */ + }; +}; + +&daudio2 { + mclk_div = <0x01>; + frametype = <0x00>; + tdm_config = <0x01>; + sign_extend = <0x00>; + tx_data_mode = <0x00>; + rx_data_mode = <0x00>; + msb_lsb_first = <0x00>; + pcm_lrck_period = <0x80>; + slot_width_select = <0x20>; + asrc_function_en = <0x00>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&daudio2_pins_a &daudio2_pins_b &daudio2_pins_c>; + pinctrl-1 = <&daudio2_pins_d>; + pinctrl_used = <0x1>; + daudio_type = <0x0>; + status = "disabled"; +}; + +&sounddaudio2 { + status = "okay"; + daudio2_master: simple-audio-card,codec { + /* sound-dai = <&ac108>; */ + }; +}; + +&spdif { + pinctrl-names = "default","sleep"; + pinctrl-0 = <&spdif_pins_a>; + pinctrl-1 = <&spdif_pins_b>; + status = "okay"; +}; + +&soundspdif { + status = "okay"; +}; + +/* + *usb_port_type: usb mode. 0-device, 1-host, 2-otg. + *usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect. + *usb_detect_mode: 0-thread scan, 1-id gpio interrupt. + *usb_id_gpio: gpio for id detect. + *usb_det_vbus_gpio: gpio for id detect. gpio or "axp_ctrl"; + *usb_wakeup_suspend:0-SUPER_STANDBY, 1-USB_STANDBY. + */ +&usbc0 { + device_type = "usbc0"; + usb_port_type = <0x2>; + usb_detect_type = <0x1>; + usb_detect_mode = <0>; + usb_id_gpio = <&pio PB 6 GPIO_ACTIVE_HIGH>; + enable-active-high; + usb_det_vbus_gpio = <&pio PB 2 GPIO_ACTIVE_HIGH>; + usb_wakeup_suspend = <0>; + usb_serial_unique = <0>; + usb_serial_number = "20080411"; + rndis_wceis = <1>; + status = "okay"; +}; + +&ehci0 { + drvvbus-supply = <®_usb1_vbus>; +}; + +&ohci0 { + drvvbus-supply = <®_usb1_vbus>; +}; + +&usbc1 { + device_type = "usbc1"; + usb_port_type = <0x01>; + sb_detect_type = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0>; + status = "okay"; +}; + +&ehci1 { + status = "okay"; +}; + +&ohci1 { + status = "okay"; +}; + +&twi0 { + clock-frequency = <400000>; + pinctrl-0 = <&twi0_pins_a>; + pinctrl-1 = <&twi0_pins_b>; + pinctrl-names = "default", "sleep"; + status = "disabled"; + + eeprom@50 { + compatible = "atmel,24c16"; + reg = <0x50>; + status = "disabled"; + }; +}; + +&twi1 { + clock-frequency = <400000>; + pinctrl-0 = <&twi1_pins_a>; + pinctrl-1 = <&twi1_pins_b>; + pinctrl-names = "default", "sleep"; + status = "disabled"; +}; + +&twi2 { + clock-frequency = <400000>; + pinctrl-0 = <&twi2_pins_a>; + pinctrl-1 = <&twi2_pins_b>; + pinctrl-names = "default", "sleep"; + dmas = <&dma 45>, <&dma 45>; + dma-names = "tx", "rx"; + status = "disabled"; + + /* pcf8574-usage: + * only use gpio0~7, 0 means PP0. + * pin set: + * gpios = <&pcf8574 0 GPIO_ACTIVE_LOW>; + * interrupt set: + * interrupt-parent = <&pcf8574>; + * interrupts = <0 IRQ_TYPE_EDGE_FALLING>; + */ + pcf8574: gpio@38 { + compatible = "nxp,pcf8574"; + reg = <0x38>; + gpio_base = <2020>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + interrupt-parent = <&pio>; + interrupts = ; + status = "disabled"; + }; + + ctp@14 { + compatible = "allwinner,goodix"; + device_type = "ctp"; + reg = <0x14>; + status = "disabled"; + ctp_name = "gt9xxnew_ts"; + ctp_twi_id = <0x2>; + ctp_twi_addr = <0x14>; + ctp_screen_max_x = <0x320>; + ctp_screen_max_y = <0x1e0>; + ctp_revert_x_flag = <0x0>; + ctp_revert_y_flag = <0x0>; + ctp_exchange_x_y_flag = <0x0>; + ctp_int_port = <&pio PE 10 GPIO_ACTIVE_HIGH>; + ctp_wakeup = <&pio PE 11 GPIO_ACTIVE_HIGH>; + /*ctp-supply = <®_aldo2>;*/ + /*ctp_power_ldo = <®_aldo2>;*/ + /*ctp_power_ldo_vol = <3300>;*/ + }; +}; + +&twi3 { + clock-frequency = <400000>; + pinctrl-0 = <&twi3_pins_a>; + pinctrl-1 = <&twi3_pins_b>; + pinctrl-names = "default", "sleep"; + status = "disabled"; +}; + +&gmac0 { + phy-mode = "rgmii"; + use_ephy25m = <1>; + pinctrl-0 = <&gmac_pins_a>; + pinctrl-1 = <&gmac_pins_b>; + pinctrl-names = "default", "sleep"; + phy-rst = <&pio PF 4 GPIO_ACTIVE_HIGH>; + tx-delay = <5>; /*2~4*/ + rx-delay = <0>; + status = "okay"; +}; + +&spi0 { + clock-frequency = <100000000>; + pinctrl-0 = <&spi0_pins_a &spi0_pins_b>; + pinctrl-1 = <&spi0_pins_c>; + pinctrl-names = "default", "sleep"; + /*spi-supply = <®_dcdc1>;*/ + spi_slave_mode = <0>; + spi0_cs_number = <1>; + spi0_cs_bitmap = <1>; + status = "okay"; + + spi-nand@0 { + compatible = "spi-nand"; + spi-max-frequency=<100000000>; + reg = <0x0>; + spi-rx-bus-width=<0x01>; + spi-tx-bus-width=<0x01>; + status="okay"; + }; + + spi-nor@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency=<30000000>; + reg = <0x0>; + spi-rx-bus-width=<0x01>; + spi-tx-bus-width=<0x01>; + status="disabled"; + }; +}; + +&spi1 { + clock-frequency = <100000000>; + pinctrl-0 = <&spi1_pins_a &spi1_pins_b>; + pinctrl-1 = <&spi1_pins_c>; + pinctrl-names = "default", "sleep"; + spi_slave_mode = <0>; + status = "disabled"; + + spi_board1@0 { + device_type = "spi_board1"; + compatible = "rohm,dh2228fv"; + spi-max-frequency = <0x5f5e100>; + reg = <0x0>; + spi-rx-bus-width = <0x4>; + spi-tx-bus-width = <0x4>; + status = "disabled"; + }; +}; + +&ledc { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&ledc_pins_a>; + pinctrl-1 = <&ledc_pins_b>; + led_count = <12>; + output_mode = "GRB"; + reset_ns = <84>; + t1h_ns = <800>; + t1l_ns = <320>; + t0h_ns = <300>; + t0l_ns = <800>; + wait_time0_ns = <84>; + wait_time1_ns = <84>; + wait_data_time_ns = <600000>; + status = "disabled"; +}; + +&keyboard0 { + key0 = <210 0x160>; + wakeup-source; + status = "disabled"; +}; + +/* camera csi */ +&vind0 { + csi_top = <336000000>; + csi_isp = <327000000>; + status = "disabled"; + + actuator0: actuator@5809450 { + device_type = "actuator0"; + actuator0_name = "ad5820_act"; + actuator0_slave = <0x18>; + actuator0_af_pwdn = <>; + actuator0_afvdd = "afvcc-csi"; + actuator0_afvdd_vol = <2800000>; + status = "disabled"; + }; + + flash0: flash@5809460 { + device_type = "flash0"; + flash0_type = <2>; + flash0_en = <>; + flash0_mode = <>; + flash0_flvdd = ""; + flash0_flvdd_vol = <>; + device_id = <0>; + status = "disabled"; + }; + + sensor0:sensor@5809470 { + device_type = "sensor0"; + sensor0_mname = "ov5640"; + sensor0_twi_cci_id = <2>; + sensor0_twi_addr = <0x78>; + sensor0_mclk_id = <0>; + sensor0_pos = "rear"; + sensor0_isp_used = <0>; + sensor0_fmt = <0>; + sensor0_stby_mode = <0>; + sensor0_vflip = <0>; + sensor0_hflip = <0>; + sensor0_iovdd-supply = <>; + sensor0_iovdd_vol = <3300000>; + sensor0_avdd-supply = <>; + sensor0_avdd_vol = <1200000>; + sensor0_dvdd-supply = <>; + sensor0_dvdd_vol = <1200000>; + sensor0_power_en = <>; + sensor0_reset = <&pio PG 0 GPIO_ACTIVE_LOW>; + sensor0_pwdn = <&pio PG 1 GPIO_ACTIVE_LOW>; + status = "disabled"; + }; + + sensor1:sensor@5809480 { + status = "disabled"; + }; + + vinc0:vinc@5809000 { + vinc0_csi_sel = <0>; + vinc0_mipi_sel = <0xff>; + vinc0_isp_sel = <0>; + vinc0_isp_tx_ch = <0>; + vinc0_tdm_rx_sel = <0xff>; + vinc0_rear_sensor_sel = <0>; + vinc0_front_sensor_sel = <0>; + vinc0_sensor_list = <0>; + status = "disabled"; + }; + + vinc1:vinc@5809200 { + vinc1_csi_sel = <0>; + vinc1_mipi_sel = <0xff>; + vinc1_isp_sel = <0>; + vinc1_isp_tx_ch = <0>; + vinc1_tdm_rx_sel = <0xff>; + vinc1_rear_sensor_sel = <0>; + vinc1_front_sensor_sel = <1>; + vinc1_sensor_list = <0>; + status = "disabled"; + }; +}; + +/*---------------------------------------------------------------------------------- +disp init configuration + +disp_mode (0:screen0) +screenx_output_type (0:none; 1:lcd; 2:tv; 5:vdpo) +fbx format (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444) +fbx pixel sequence (0:ARGB 1:BGRA 2:ABGR 3:RGBA) +fb0_scaler_mode_enable(scaler mode enable, used FE) +fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0) +lcdx_backlight (lcd init backlight,the range:[0,256],default:197 +lcdx_yy (lcd init screen bright/contrast/saturation/hue, value:0~100, default:50/50/57/50) +lcd0_contrast (LCD contrast, 0~100) +lcd0_saturation (LCD saturation, 0~100) +lcd0_hue (LCD hue, 0~100) +framebuffer software rotation setting: +disp_rotation_used: (0:disable; 1:enable,you must set fbX_width to lcd_y, +set fbX_height to lcd_x) +degreeX: (X:screen index; 0:0 degree; 1:90 degree; 3:270 degree) +degreeX_Y: (X:screen index; Y:layer index 0~15; 0:0 degree; 1:90 degree; 3:270 degree) +devX_output_type : config output type in bootGUI framework in UBOOT-2018. + (0:none; 1:lcd; 2:tv;) +devX_output_mode : config output resolution(see include/video/sunxi_display2.h) of bootGUI framework in UBOOT-2018 +devX_screen_id : config display index of bootGUI framework in UBOOT-2018 +devX_do_hpd : whether do hpd detectation or not in UBOOT-2018 +chn_cfg_mode : Hardware DE channel allocation config. 0:single display with 6 + channel, 1:dual display with 4 channel in main display and 2 channel in second + display, 2:dual display with 3 channel in main display and 3 channel in second + in display. +----------------------------------------------------------------------------------*/ +&disp { + disp_init_enable = <1>; + disp_mode = <0>; + + screen0_output_type = <1>; + screen0_output_mode = <4>; + + screen1_output_type = <3>; + screen1_output_mode = <4>; + + screen1_output_format = <0>; + screen1_output_bits = <0>; + screen1_output_eotf = <4>; + screen1_output_cs = <257>; + screen1_output_range = <2>; + screen1_output_scan = <0>; + screen1_output_aspect_ratio = <8>; + dev0_output_type = <1>; + dev0_output_mode = <4>; + dev0_screen_id = <0>; + dev0_do_hpd = <0>; + + dev1_output_type = <4>; + dev1_output_mode = <10>; + dev1_screen_id = <1>; + dev1_do_hpd = <1>; + + def_output_dev = <0>; + + disp_rotation_used = <1>; + degree0 = <0>; + fb0_format = <0>; + fb0_buffer_num = <1>; + /*fb0_width = <800>;*/ + /*fb0_height = <480>;*/ /*read from lcd*/ + fb1_format = <0>; + fb1_width = <0>; + fb1_height = <0>; + chn_cfg_mode = <1>; + + disp_para_zone = <1>; + /*VCC-LCD*/ +/* dc1sw-supply = <®_dc1sw>;*/ + /*VCC-DSI*/ +/* eldo3-supply = <®_eldo3>;*/ + /*VCC-PD*/ +/* dcdc1-supply = <®_dcdc1>;*/ +}; + +/*---------------------------------------------------------------------------------- +;lcd0 configuration + +;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi +;lcd_hv_if 0:Parallel RGB; 8:Serial RGB; 10:Dummy RGB; 11: RGB Dummy;12:CCIR656 +;lcd_hv_clk_phase 0:0 degree;1:90 degree;2:180 degree;3:270 degree +;lcd_hv_sync_polarity 0:vs low,hs low; 1:vs high,hslow; 2:vs low,hs high; 3:vs high,hs high +;lcd_hv_syuv_seq 0:YUYV; 1:YVYU; 2:UYVY; 3:VYUY +;lcd_cpu_if 0:18bit/1 cycle parallel(RGB666); 4:16bit/1cycle parallel (RGB565) +; 6:18bit/3 cycle parallel(RGB666); 7:16bit/2cycle parallel (RGB565) +;lcd_cpu_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge; +;lcd_dsi_if 0:video mode; 1: Command mode; 2:video burst mode +;lcd_dsi_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge; +;lcd_x: lcd horizontal resolution +;lcd_y: lcd vertical resolution +;lcd_width: width of lcd in mm +;lcd_height: height of lcd in mm +;lcd_dclk_freq: in MHZ unit +;lcd_pwm_freq: in HZ unit +;lcd_pwm_pol: lcd backlight PWM polarity +;lcd_pwm_max_limit lcd backlight PWM max limit(<=255) +;lcd_hbp: hsync back porch(pixel) + hsync plus width(pixel); +;lcd_ht: hsync total cycle(pixel) +;lcd_vbp: vsync back porch(line) + vysnc plus width(line) +;lcd_vt: vysnc total cycle(line) +;lcd_hspw: hsync plus width(pixel) +;lcd_vspw: vysnc plus width(pixel) +;lcd_lvds_if: 0:single link; 1:dual link +;lcd_lvds_colordepth: 0:8bit; 1:6bit +;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode +;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither +;lcd_io_phase: 0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase; +; 8~11bit:dclk phase; 12~15bit:de phase) +;lcd_gamma_en lcd gamma correction enable +;lcd_bright_curve_en lcd bright curve correction enable +;lcd_cmap_en lcd color map function enable +;deu_mode 0:smoll lcd screen; 1:large lcd screen(larger than 10inch) +;lcdgamma4iep: Smart Backlight parameter, lcd gamma vale * 10; +; decrease it while lcd is not bright enough; increase while lcd is too bright +;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch) +;Pin setting for special function ie.LVDS, RGB data or vsync +; name(donot care) = port:PD12 +;Pin setting for gpio: +; lcd_gpio_X = port:PD12 +;Pin setting for backlight enable pin +; lcd_bl_en = port:PD12 +;fsync setting, pulse to csi +;lcd_fsync_en (0:disable fsync,1:enable) +;lcd_fsync_act_time (active time of fsync, unit:pixel) +;lcd_fsync_dis_time (disactive time of fsync, unit:pixel) +;lcd_fsync_pol (0:positive;1:negative) +;gpio config: <&pio for cpu or &r_pio for cpus, port, port num, pio function, +pull up or pull down(default 0), driver level(default 1), data> +;For dual link lvds: use lvds2link_pins_a and lvds2link_pins_b instead +;For rgb24: use rgb24_pins_a and rgb24_pins_b instead +;For lvds1: use lvds1_pins_a and lvds1_pins_b instead +;For lvds0: use lvds0_pins_a and lvds0_pins_b instead +;----------------------------------------------------------------------------------*/ +/* +&lcd0 { + lcd_used = <0>; + + lcd_driver_name = "tft08006"; + lcd_backlight = <100>; + lcd_if = <4>; + + lcd_x = <800>; + lcd_y = <1280>; + lcd_width = <52>; + lcd_height = <52>; + lcd_dclk_freq = <70>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <2>; + lcd_pwm_freq = <1000>; + lcd_pwm_pol = <0>; + lcd_pwm_max_limit = <255>; + + lcd_hbp = <32>; + lcd_ht = <868>; + lcd_hspw = <4>; + lcd_vbp = <12>; + lcd_vt = <1311>; + lcd_vspw = <4>; + + lcd_dsi_if = <0>; + lcd_dsi_lane = <4>; + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <0>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_hv_clk_phase = <0>; + lcd_hv_sync_polarity= <0>; + lcd_io_phase = <0x0000>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_en = <0>; + lcd_fsync_act_time = <1000>; + lcd_fsync_dis_time = <1000>; + lcd_fsync_pol = <0>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + lcd_gpio_0 = <&pio PG 13 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&dsi4lane_pins_a>; + pinctrl-1 = <&dsi4lane_pins_b>; +}; +*/ + +&lcd0 { + lcd_used = <1>; + + lcd_driver_name = "default_lcd"; + lcd_backlight = <50>; + lcd_if = <0>; + + lcd_x = <800>; + lcd_y = <480>; + lcd_width = <150>; + lcd_height = <94>; + lcd_dclk_freq = <48>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <500>; + lcd_pwm_pol = <0>; + + lcd_hbp = <55>; + lcd_ht = <1240>; + lcd_hspw = <20>; + lcd_vbp = <35>; + lcd_vt = <650>; + lcd_vspw = <10>; + + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_io_phase = <0x0000>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + pinctrl-0 = <&rgb18_pins_a>; + pinctrl-1 = <&rgb18_pins_b>; +/* + lcd_driver_name = "default_lcd"; + lcd_backlight = <150>; + lcd_if = <3>; + + lcd_x = <1280>; + lcd_y = <800>; + lcd_width = <150>; + lcd_height = <94>; + lcd_dclk_freq = <71>; + lcd_rb_swap = <0>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <1>; + lcd_pwm_max_limit = <255>; + + lcd_hbp = <20>; + lcd_ht = <1418>; + lcd_hspw = <10>; + lcd_vbp = <10>; + lcd_vt = <814>; + lcd_vspw = <5>; + + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <1>; + lcd_io_phase = <0x0000>; + lcd_hv_clk_phase = <0>; + lcd_hv_sync_polarity = <0>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_act_time = <1000>; + lcd_fsync_dis_time = <1000>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + pinctrl-0 = <&lvds0_pins_a>; + pinctrl-1 = <&lvds0_pins_b>; + lcd_bl_en = <&pio PD 20 GPIO_ACTIVE_HIGH>; + + lcd_driver_name = "he0801a068"; + lcd_backlight = <50>; + lcd_if = <4>; + + lcd_x = <800>; + lcd_y = <1280>; + lcd_width = <52>; + lcd_height = <52>; + lcd_dclk_freq = <78>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <1>; + lcd_pwm_max_limit = <255>; + + lcd_hbp = <149>; + lcd_ht = <978>; + lcd_hspw = <16>; + lcd_vbp = <7>; + lcd_vt = <1329>; + lcd_vspw = <5>; + + lcd_dsi_lane = <4>; + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_io_phase = <0x0000>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_act_time = <1000>; + lcd_fsync_dis_time = <1000>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + pinctrl-0 = <&dsi4lane_pins_a>; + pinctrl-1 = <&dsi4lane_pins_b>; + lcd_gpio_0 = <&pio PD 20 GPIO_ACTIVE_HIGH>; +*/ +}; + +&pwm0 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_pin_a>; + pinctrl-1 = <&pwm0_pin_b>; + status = "okay"; +}; + +&pwm2 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm2_pin_a>; + pinctrl-1 = <&pwm2_pin_b>; + status = "okay"; +}; + + +&pwm7 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm7_pin_a>; + pinctrl-1 = <&pwm7_pin_b>; + status = "okay"; +}; + +&rtp { + allwinner,tp-sensitive-adjust = <0xf>; + allwinner,filter-type = <0x1>; + allwinner,ts-attached; + status = "disabled"; +}; + +&tpadc { + key_cnt = <5>; + key1 = <420 115>; + key2 = <870 114>; + key3 = <1290 119>; + key4 = <1630 373>; + key5 = <1950 28>; + status = "disabled"; +}; + +&gpadc { + channel_num = <1>; + channel_select = <0x01>; + channel_data_select = <0>; + channel_compare_select = <0x01>; + channel_cld_select = <0x01>; + channel_chd_select = <0>; + channel0_compare_lowdata = <1600000>; + channel0_compare_higdata = <1200000>; + channel1_compare_lowdata = <460000>; + channel1_compare_higdata = <1200000>; + key_cnt = <5>; + key0_vol = <210>; + key0_val = <0x19c>; + key1_vol = <410>; + key1_val = <0x197>; + key2_vol = <590>; + key2_val = <158>; + key3_vol = <750>; + key3_val = <28>; + key4_vol = <880>; + key4_val = <28>; + status = "okay"; + wakeup-source; +}; + +&s_cir0 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&s_cir0_pins_a>; + pinctrl-1 = <&s_cir0_pins_b>; + ir_protocol_used = <0>; + ir_addr_code0 = <0x0>; + status = "disabled"; +}; + +&ir1 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&ir1_pins_a>; + pinctrl-1 = <&ir1_pins_b>; + status = "disabled"; +}; diff --git a/device/config/chips/f133/configs/pro/linux/config-5.4 b/device/config/chips/f133/configs/pro/linux/config-5.4 new file mode 100755 index 0000000..c5fea0b --- /dev/null +++ b/device/config/chips/f133/configs/pro/linux/config-5.4 @@ -0,0 +1,3785 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/riscv 5.4.61 Kernel Configuration +# +CONFIG_CC_VERSION_TEXT="riscv64-unknown-linux-gnu-gcc (C-SKY RISCV Tools V1.8.4 B20200702) 8.1.0" +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=80100 +CONFIG_CLANG_VERSION=0 +CONFIG_CC_CAN_LINK=y +CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_IRQ_WORK=y +CONFIG_THREAD_INFO_IN_TASK=y + +# +# General setup +# +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_BUILD_SALT="" +CONFIG_DEFAULT_HOSTNAME="(none)" +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_USELIB is not set +# CONFIG_AUDIT is not set +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_MSI_IOMMU=y +CONFIG_SPARSE_IRQ=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +# end of IRQ subsystem + +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_GENERIC_CLOCKEVENTS=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=y +CONFIG_HIGH_RES_TIMERS=y +# end of Timers subsystem + +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_PREEMPTION=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +# CONFIG_TASKSTATS is not set +# CONFIG_PSI is not set +# end of CPU/Task time and stats accounting + +# +# RCU Subsystem +# +CONFIG_PREEMPT_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +CONFIG_TREE_SRCU=y +CONFIG_TASKS_RCU=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_RCU_NEED_SEGCBLIST=y +# end of RCU Subsystem + +CONFIG_IKCONFIG=y +# CONFIG_IKCONFIG_PROC is not set +# CONFIG_IKHEADERS is not set +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 +CONFIG_GENERIC_SCHED_CLOCK=y + +# +# Scheduler features +# +# end of Scheduler features + +CONFIG_ARCH_SUPPORTS_INT128=y +# CONFIG_CGROUPS is not set +# CONFIG_NAMESPACES is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +# CONFIG_BLK_DEV_INITRD is not set +# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_BPF=y +CONFIG_EXPERT=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_FHANDLE=y +CONFIG_POSIX_TIMERS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y +CONFIG_HAVE_FUTEX_CMPXCHG=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_IO_URING=y +CONFIG_ADVISE_SYSCALLS=y +CONFIG_MEMBARRIER=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +CONFIG_KALLSYMS_BASE_RELATIVE=y +# CONFIG_BPF_SYSCALL is not set +# CONFIG_USERFAULTFD is not set +# CONFIG_EMBEDDED is not set +CONFIG_HAVE_PERF_EVENTS=y +# CONFIG_PC104 is not set + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +# end of Kernel Performance Events And Counters + +CONFIG_VM_EVENT_COUNTERS=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +# CONFIG_SLUB is not set +CONFIG_SLOB=y +CONFIG_SLAB_MERGE_DEFAULT=y +# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set +CONFIG_PROFILING=y +# end of General setup + +CONFIG_64BIT=y +CONFIG_RISCV=y +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=24 +CONFIG_MMU=y +CONFIG_ZONE_DMA32=y +CONFIG_VA_BITS=39 +CONFIG_PA_BITS=56 +CONFIG_PAGE_OFFSET=0xffffffe000000000 +CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_PGTABLE_LEVELS=3 +CONFIG_SUNXI_SOC_NAME="sun20iw1" + +# +# SoC selection +# +# CONFIG_SOC_SIFIVE is not set +CONFIG_RISCV_SUNXI=y +CONFIG_ARCH_SUNXI=y +# CONFIG_FPGA_V4_PLATFORM is not set +# CONFIG_FPGA_V7_PLATFORM is not set +CONFIG_EVB_PLATFORM=y +CONFIG_ARCH_SUN20I=y +CONFIG_ARCH_SUN20IW1=y +CONFIG_ARCH_SUN20IW1P1=y +# end of SoC selection + +# +# Platform type +# +# CONFIG_ARCH_RV32I is not set +CONFIG_ARCH_RV64I=y +# CONFIG_CMODEL_MEDLOW is not set +CONFIG_CMODEL_MEDANY=y +CONFIG_MODULE_SECTIONS=y +# CONFIG_MAXPHYSMEM_2GB is not set +CONFIG_MAXPHYSMEM_128GB=y +# CONFIG_SMP is not set +CONFIG_TUNE_GENERIC=y +CONFIG_RISCV_ISA_C=y +CONFIG_FPU=y +CONFIG_VECTOR=y +# end of Platform type + +# +# Kernel features +# +CONFIG_HZ_100=y +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=100 +CONFIG_SCHED_HRTICK=y +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +# end of Kernel features + +# +# Boot options +# +CONFIG_CMDLINE="" +# end of Boot options + +# +# CPU Power Management +# + +# +# CPU Idle +# +CONFIG_CPU_IDLE=y +# CONFIG_CPU_IDLE_GOV_LADDER is not set +CONFIG_CPU_IDLE_GOV_MENU=y +# CONFIG_CPU_IDLE_GOV_TEO is not set + +# +# RISCV CPU Idle Drivers +# +# CONFIG_RISCV_CPUIDLE is not set +# end of RISCV CPU Idle Drivers +# end of CPU Idle + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set +# end of CPU Frequency scaling +# end of CPU Power Management + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_PM_SLEEP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# end of Power management options + +# +# General architecture-dependent options +# +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_HAVE_ASM_MODVERSIONS=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_LTO_NONE=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=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_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y +CONFIG_HAVE_COPY_THREAD_TLS=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_64BIT_TIME=y +# CONFIG_REFCOUNT_FULL is not set +# CONFIG_LOCK_EVENT_COUNTS is not set + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +# end of GCOV-based kernel profiling + +CONFIG_PLUGIN_HOSTCC="" +# end of General architecture-dependent options + +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 is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_BLOCK=y +CONFIG_BLK_SCSI_REQUEST=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_DEV_ZONED is not set +# CONFIG_BLK_CMDLINE_PARSER is not set +# CONFIG_BLK_WBT is not set +# CONFIG_BLK_DEBUG_FS is not set +# CONFIG_BLK_SED_OPAL is not set +# CONFIG_BLK_INLINE_ENCRYPTION is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_EFI_PARTITION=y +# end of Partition Types + +CONFIG_BLK_PM=y + +# +# IO Schedulers +# +CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=y +# CONFIG_IOSCHED_BFQ is not set +# end of IO Schedulers + +CONFIG_ASN1=y +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ARCH_HAS_MMIOWB=y +# CONFIG_GKI_HIDDEN_DRM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_REGMAP_CONFIGS is not set +# CONFIG_GKI_HIDDEN_CRYPTO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_SOC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MMC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPIO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_QCOM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MEDIA_CONFIGS is not set +# CONFIG_GKI_HIDDEN_VIRTUAL_CONFIGS is not set +# CONFIG_GKI_LEGACY_WEXT_ALLCONFIG is not set +# CONFIG_GKI_HIDDEN_USB_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SOC_BUS_CONFIGS is not set +# CONFIG_GKI_HIDDEN_RPMSG_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPU_CONFIGS is not set +# CONFIG_GKI_HIDDEN_IRQ_CONFIGS is not set +# CONFIG_GKI_HIDDEN_HYPERVISOR_CONFIGS is not set +# CONFIG_GKI_HACKS_TO_FIX is not set +# CONFIG_GKI_OPT_FEATURES is not set +CONFIG_FREEZER=y + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +CONFIG_ELFCORE=y +CONFIG_BINFMT_SCRIPT=y +CONFIG_ARCH_HAS_BINFMT_FLAT=y +# CONFIG_BINFMT_FLAT is not set +# CONFIG_BINFMT_MISC is not set +# CONFIG_COREDUMP is not set +# end of Executable file formats + +# +# Memory Management options +# +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_HAVE_MEMBLOCK_NODE_MAP=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_MEMORY_ISOLATION=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_CONTIG_ALLOC=y +CONFIG_PHYS_ADDR_T_64BIT=y +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_NEED_PER_CPU_KM=y +# CONFIG_CLEANCACHE 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 is not set +# CONFIG_IDLE_PAGE_TRACKING is not set +# CONFIG_PERCPU_STATS is not set +# CONFIG_GUP_BENCHMARK is not set +CONFIG_ARCH_HAS_PTE_SPECIAL=y +# end of Memory Management options + +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +CONFIG_PACKET_DIAG=y +CONFIG_UNIX=y +CONFIG_UNIX_SCM=y +CONFIG_UNIX_DIAG=y +# CONFIG_TLS is not set +# CONFIG_XFRM_USER is not set +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_FIB_TRIE_STATS=y +CONFIG_IP_MULTIPLE_TABLES=y +# CONFIG_IP_ROUTE_MULTIPATH is not set +# CONFIG_IP_ROUTE_VERBOSE is not set +# CONFIG_IP_PNP 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_FOU is not set +# CONFIG_NET_FOU_IP_TUNNELS is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +CONFIG_INET_TUNNEL=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INET_RAW_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 is not set +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +# CONFIG_INET6_AH is not set +# CONFIG_INET6_ESP is not set +# CONFIG_INET6_IPCOMP is not set +# CONFIG_IPV6_MIP6 is not set +# CONFIG_IPV6_ILA is not set +# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_SIT=y +# CONFIG_IPV6_SIT_6RD is not set +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_IPV6_MROUTE is not set +# CONFIG_IPV6_SEG6_LWTUNNEL is not set +# CONFIG_IPV6_SEG6_HMAC is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y + +# +# Core Netfilter Configuration +# +# CONFIG_NETFILTER_INGRESS is not set +CONFIG_NETFILTER_NETLINK=y +# CONFIG_NETFILTER_NETLINK_ACCT is not set +# CONFIG_NETFILTER_NETLINK_QUEUE is not set +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NETFILTER_NETLINK_OSF is not set +CONFIG_NF_CONNTRACK=y +# CONFIG_NF_LOG_NETDEV is not set +CONFIG_NF_CONNTRACK_MARK=y +# CONFIG_NF_CONNTRACK_ZONES is not set +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +# CONFIG_NF_CONNTRACK_LABELS is not set +# CONFIG_NF_CT_PROTO_DCCP is not set +# CONFIG_NF_CT_PROTO_SCTP is not set +# CONFIG_NF_CT_PROTO_UDPLITE is not set +# CONFIG_NF_CONNTRACK_AMANDA is not set +# CONFIG_NF_CONNTRACK_FTP is not set +# CONFIG_NF_CONNTRACK_H323 is not set +# CONFIG_NF_CONNTRACK_IRC is not set +# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set +# CONFIG_NF_CONNTRACK_SNMP is not set +# CONFIG_NF_CONNTRACK_PPTP is not set +# CONFIG_NF_CONNTRACK_SANE is not set +# CONFIG_NF_CONNTRACK_SIP is not set +# CONFIG_NF_CONNTRACK_TFTP is not set +CONFIG_NF_CT_NETLINK=y +CONFIG_NF_CT_NETLINK_TIMEOUT=y +CONFIG_NF_NAT=y +CONFIG_NF_NAT_REDIRECT=y +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=y + +# +# Xtables combined modules +# +# CONFIG_NETFILTER_XT_MARK is not set +CONFIG_NETFILTER_XT_CONNMARK=y + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set +# CONFIG_NETFILTER_XT_TARGET_CONNMARK 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 is not set +# CONFIG_NETFILTER_XT_TARGET_LED is not set +# CONFIG_NETFILTER_XT_TARGET_LOG is not set +# CONFIG_NETFILTER_XT_TARGET_MARK is not set +# CONFIG_NETFILTER_XT_NAT is not set +CONFIG_NETFILTER_XT_TARGET_NETMAP=y +# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set +# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set +# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set +CONFIG_NETFILTER_XT_TARGET_REDIRECT=y +# CONFIG_NETFILTER_XT_TARGET_MASQUERADE is not set +# CONFIG_NETFILTER_XT_TARGET_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set +# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set + +# +# Xtables matches +# +# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set +# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +# 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 is not set +# CONFIG_NETFILTER_XT_MATCH_ESP is not set +# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_HELPER is not set +# CONFIG_NETFILTER_XT_MATCH_HL is not set +# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set +# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set +# CONFIG_NETFILTER_XT_MATCH_L2TP is not set +# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set +# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_MAC is not set +# CONFIG_NETFILTER_XT_MATCH_MARK is not set +# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +# CONFIG_NETFILTER_XT_MATCH_OSF is not set +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set +# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set +# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set +# CONFIG_NETFILTER_XT_MATCH_QUOTA2 is not set +# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set +# CONFIG_NETFILTER_XT_MATCH_REALM is not set +# CONFIG_NETFILTER_XT_MATCH_RECENT is not set +# CONFIG_NETFILTER_XT_MATCH_SCTP is not set +# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set +CONFIG_NETFILTER_XT_MATCH_STATE=y +# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set +# CONFIG_NETFILTER_XT_MATCH_STRING is not set +# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set +# CONFIG_NETFILTER_XT_MATCH_TIME is not set +# CONFIG_NETFILTER_XT_MATCH_U32 is not set +# end of Core Netfilter Configuration + +# CONFIG_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=y +# CONFIG_NF_SOCKET_IPV4 is not set +# CONFIG_NF_TPROXY_IPV4 is not set +# CONFIG_NF_DUP_IPV4 is not set +# CONFIG_NF_LOG_ARP is not set +# CONFIG_NF_LOG_IPV4 is not set +CONFIG_NF_REJECT_IPV4=y +CONFIG_IP_NF_IPTABLES=y +# CONFIG_IP_NF_MATCH_AH is not set +# CONFIG_IP_NF_MATCH_ECN is not set +# CONFIG_IP_NF_MATCH_RPFILTER is not set +# CONFIG_IP_NF_MATCH_TTL is not set +# CONFIG_IP_NF_FILTER is not set +# CONFIG_IP_NF_TARGET_SYNPROXY is not set +# CONFIG_IP_NF_NAT is not set +CONFIG_IP_NF_MANGLE=y +# 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 is not set +# CONFIG_IP_NF_ARPTABLES is not set +# end of IP: Netfilter Configuration + +# +# IPv6: Netfilter Configuration +# +# CONFIG_NF_SOCKET_IPV6 is not set +# CONFIG_NF_TPROXY_IPV6 is not set +# CONFIG_NF_DUP_IPV6 is not set +# CONFIG_NF_REJECT_IPV6 is not set +# CONFIG_NF_LOG_IPV6 is not set +# CONFIG_IP6_NF_IPTABLES is not set +# end of IPv6: Netfilter Configuration + +CONFIG_NF_DEFRAG_IPV6=y +# CONFIG_NF_CONNTRACK_BRIDGE is not set +# CONFIG_BPFILTER 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_BRIDGE is not set +CONFIG_HAVE_NET_DSA=y +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 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 is not set +# CONFIG_DCB is not set +# 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_NET_NSH is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_NET_NCSI is not set +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +# CONFIG_BPF_JIT is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# end of Network testing +# end of Networking options + +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_AF_KCM is not set +CONFIG_FIB_RULES=y +# CONFIG_WIRELESS is not set +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +# CONFIG_PSAMPLE is not set +# CONFIG_NET_IFE is not set +# CONFIG_LWTUNNEL is not set +CONFIG_DST_CACHE=y +CONFIG_GRO_CELLS=y +# CONFIG_FAILOVER is not set +CONFIG_HAVE_EBPF_JIT=y + +# +# Device Drivers +# +CONFIG_HAVE_PCI=y +# CONFIG_PCI is not set +# CONFIG_PCCARD is not set + +# +# Generic Driver Options +# +# CONFIG_UEVENT_HELPER is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# +CONFIG_FW_LOADER=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER is not set +# CONFIG_FW_LOADER_COMPRESS is not set +CONFIG_FW_CACHE=y +# end of Firmware loader + +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +CONFIG_GENERIC_CPU_DEVICES=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_REGMAP_MMIO=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_DMA_FENCE_TRACE is not set +# end of Generic Driver Options + +# +# Bus devices +# +# CONFIG_MOXTET is not set +# CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SUN50I_DE2_BUS is not set +# CONFIG_SUNXI_RSB is not set +CONFIG_SUNXI_MBUS=y +# CONFIG_SUNXI_NSI is not set +# end of Bus devices + +# CONFIG_CONNECTOR is not set +# CONFIG_GNSS is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set +# CONFIG_MTD_SUNXI_PARTS is not set + +# +# Partition parsers +# +# end of Partition parsers + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +# CONFIG_MTD_CHAR is not set +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_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_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# end of RAM/ROM/Flash chip drivers + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set +# end of Mapping drivers for chip access + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_MCHP23K256 is not set +# CONFIG_MTD_SST25L is not set +# 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 +# end of Self-contained MTD device drivers + +# CONFIG_MTD_ONENAND is not set +# CONFIG_MTD_RAW_NAND is not set +# CONFIG_MTD_SPI_NAND is not set + +# +# sunxi-nand +# +CONFIG_AW_MTD_SPINAND=y +# CONFIG_AW_MTD_RAWNAND is not set +CONFIG_AW_SPINAND_PHYSICAL_LAYER=y +CONFIG_AW_SPINAND_SECURE_STORAGE=y +# CONFIG_AW_SPINAND_PSTORE_MTD_PART is not set +# CONFIG_AW_SPINAND_ENABLE_PHY_CRC16 is not set +CONFIG_AW_SPINAND_SIMULATE_MULTIPLANE=y +# end of sunxi-nand + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# end of LPDDR & LPDDR2 PCM memory drivers + +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +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=y +# CONFIG_MTD_HYPERBUS 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_KOBJ=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_RESERVED_MEM=y +# CONFIG_OF_OVERLAY is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_SUNXI_NAND is not set +# CONFIG_BLK_DEV_LOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# NVME Support +# +# CONFIG_NVME_FC is not set +# CONFIG_NVME_TARGET is not set +# end of NVME Support + +# +# Misc devices +# +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES 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_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_XILINX_SDFEC is not set +# CONFIG_PVPANIC is not set +# CONFIG_HISI_HIKEY_USB is not set +# 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 is not set +# CONFIG_EEPROM_93XX46 is not set +# CONFIG_EEPROM_IDT_89HPESX is not set +# CONFIG_EEPROM_EE1004 is not set +# end of EEPROM support + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# end of Texas Instruments shared transport line discipline + +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC & related support +# + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# VOP Bus Driver +# +# CONFIG_VOP_BUS is not set + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# + +# +# VOP Driver +# +# end of Intel MIC & related support + +# CONFIG_ECHO is not set +# CONFIG_MISC_RTSX_USB is not set +CONFIG_SUNXI_ADDR_MGT=y +# CONFIG_SUNXI_BOOTEVENT is not set + +# +# sunxi Gorilla ESL platform +# +# CONFIG_SUNXI_GORILLA is not set +# end of sunxi Gorilla ESL platform + +# CONFIG_SUNXI_MIPSLOADER is not set +# CONFIG_SUNXI_TVUTILS is not set +# end of Misc devices + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# 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_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 is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# end of SCSI Transports + +# CONFIG_SCSI_LOWLEVEL is not set +# CONFIG_SCSI_DH is not set +# end of SCSI device support + +# CONFIG_ATA is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_TEAM is not set +# CONFIG_MACVLAN is not set +# CONFIG_IPVLAN is not set +# CONFIG_VXLAN is not set +# CONFIG_GENEVE is not set +# CONFIG_GTP is not set +# CONFIG_MACSEC is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_TUN is not set +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_VETH is not set +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# end of Distributed Switch Architecture drivers + +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_ALACRITECH=y +CONFIG_NET_VENDOR_ALLWINNER=y +# CONFIG_SUN4I_EMAC is not set +CONFIG_SUNXI_GMAC=y +CONFIG_SUNXI_EXT_PHY=y +# CONFIG_ALTERA_TSE is not set +# CONFIG_NET_VENDOR_AMAZON is not set +# CONFIG_NET_VENDOR_AQUANTIA is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CADENCE is not set +# CONFIG_NET_VENDOR_CAVIUM is not set +# CONFIG_NET_VENDOR_CORTINA is not set +# CONFIG_DNET is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_GOOGLE is not set +# CONFIG_NET_VENDOR_HUAWEI is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MELLANOX is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_MICROSEMI is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_NETRONOME is not set +# CONFIG_NET_VENDOR_NI is not set +# CONFIG_ETHOC is not set +# CONFIG_NET_VENDOR_PENSANDO is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +# CONFIG_NET_VENDOR_RENESAS is not set +# CONFIG_NET_VENDOR_ROCKER is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SOLARFLARE is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set +# CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_SYNOPSYS is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_BUS=y +# CONFIG_MDIO_BCM_UNIMAC is not set +# CONFIG_MDIO_BITBANG is not set +# CONFIG_MDIO_BUS_MUX_GPIO is not set +# CONFIG_MDIO_BUS_MUX_MMIOREG is not set +# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set +# CONFIG_MDIO_HISI_FEMAC is not set +# CONFIG_MDIO_MSCC_MIIM is not set +# CONFIG_MDIO_OCTEON is not set +# CONFIG_MDIO_SUN4I is not set +CONFIG_PHYLIB=y +CONFIG_SWPHY=y +CONFIG_LED_TRIGGER_PHY=y + +# +# MII PHY device drivers +# +# CONFIG_ADIN_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AX88796B_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_CORTINA_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_DP83822_PHY is not set +# CONFIG_DP83TC811_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 is not set +# CONFIG_MARVELL_10G_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_MICROCHIP_T1_PHY is not set +# CONFIG_MICROSEMI_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_NXP_TJA11XX_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_RENESAS_PHY is not set +# CONFIG_ROCKCHIP_PHY is not set +# CONFIG_RTL8363_NB is not set +# 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 is not set +# CONFIG_SLIP is not set +# CONFIG_USB_NET_DRIVERS is not set +# CONFIG_WLAN is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_NETDEVSIM is not set +# CONFIG_NET_FAILOVER is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_LEDS is not set +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +CONFIG_INPUT_SENSORINIT=y + +# +# Input Device Drivers +# +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET 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_BU21029 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_EXC3000 is not set +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GOODIX is not set +# CONFIG_TOUCHSCREEN_HIDEEP is not set +# CONFIG_TOUCHSCREEN_ILI210X is not set +# CONFIG_TOUCHSCREEN_S6SY761 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_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_STMFTS is not set +# CONFIG_TOUCHSCREEN_SUN4I is not set +# CONFIG_TOUCHSCREEN_SUNXI is not set +# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set +# CONFIG_TOUCHSCREEN_SX8654 is not set +# CONFIG_TOUCHSCREEN_TPS6507X is not set +# CONFIG_TOUCHSCREEN_ZET6223 is not set +# CONFIG_TOUCHSCREEN_ZFORCE is not set +# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set +# CONFIG_TOUCHSCREEN_IQS5XX is not set +# CONFIG_TOUCHSCREEN_GSLX680NEW is not set +CONFIG_TOUCHSCREEN_GT9XXNEW_TS=m +# CONFIG_TOUCHSCREEN_GT9XXNEWDUP_TS is not set +# CONFIG_TOUCHSCREEN_FTS is not set +# CONFIG_INPUT_MISC is not set +# CONFIG_RMI4_CORE is not set +CONFIG_INPUT_SENSOR=y +# CONFIG_SENSORS_SC7A20 is not set +# CONFIG_SENSORS_MIR3DA is not set +# CONFIG_STK3X1X is not set +# CONFIG_SUNXI_TPADC is not set +CONFIG_SUNXI_GPADC=m + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set +# end of Hardware I/O ports +# end of Input device support + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +# CONFIG_NULL_TTY is not set +# CONFIG_LDISC_AUTOLOAD is not set +# CONFIG_DEVMEM is not set +# CONFIG_DEVKMEM is not set + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +# CONFIG_SERIAL_SAMSUNG is not set +# 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_SIFIVE 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_FSL_LPUART is not set +# CONFIG_SERIAL_FSL_LINFLEXUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_SPRD is not set +CONFIG_SERIAL_SUNXI=y +# CONFIG_SERIAL_SUNXI_DMA is not set +CONFIG_SERIAL_SUNXI_CONSOLE=y +# CONFIG_SERIAL_SUNXI_EARLYCON is not set +# end of Serial drivers + +# CONFIG_SERIAL_DEV_BUS is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_RISCV_SBI is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set +# CONFIG_SUNXI_BS83B16C is not set +# end of Character devices + +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set +CONFIG_DUMP_REG=y +CONFIG_DUMP_REG_MISC=y +CONFIG_SUNXI_G2D=y +CONFIG_SUNXI_G2D_MIXER=y +CONFIG_SUNXI_G2D_ROTATE=y +CONFIG_SUNXI_SYNCFENCE=y +# CONFIG_SUNXI_DI is not set +CONFIG_SUNXI_SYS_INFO=y +# CONFIG_SUNXI_QA_TEST is not set +# CONFIG_SUNXI_SMC 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 is not set +# CONFIG_I2C_MUX_GPMUX is not set +# CONFIG_I2C_MUX_LTC4306 is not set +# CONFIG_I2C_MUX_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_PINCTRL is not set +# CONFIG_I2C_MUX_REG is not set +# CONFIG_I2C_DEMUX_PINCTRL is not set +# CONFIG_I2C_MUX_MLXCPLD is not set +# end of Multiplexer I2C Chip support + +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_MV64XXX is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_SUNXI=y +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_RK3X is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# 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 +# +# end of I2C Hardware Bus support + +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_SLAVE is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# end of I2C support + +# CONFIG_I3C is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y +# CONFIG_SPI_MEM is not set + +# +# 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 is not set +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_NXP_FLEXSPI 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_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_SIFIVE is not set +# CONFIG_SPI_SUN4I is not set +# CONFIG_SPI_SUN6I is not set +# CONFIG_SPI_MXIC is not set +CONFIG_SPI_SUNXI=y +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set + +# +# SPI Protocol Masters +# +# CONFIG_SPI_SPIDEV is not set +# CONFIG_SPI_LOOPBACK_TEST is not set +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPI_SLAVE is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set +# CONFIG_PPS is not set + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +# end of PTP clock support + +CONFIG_PINCTRL=y +CONFIG_PINMUX=y +CONFIG_PINCONF=y +CONFIG_GENERIC_PINCONF=y +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_MCP23S08 is not set +# CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_SX150X is not set +# CONFIG_PINCTRL_STMFX is not set +# CONFIG_PINCTRL_OCELOT is not set + +# +# Allwinner SOC PINCTRL DRIVER +# +CONFIG_PINCTRL_SUNXI=y +# CONFIG_PINCTRL_SUNXI_DEBUGFS is not set +# CONFIG_PINCTRL_SUNXI_TEST is not set +# CONFIG_PINCTRL_SUN8IW15P1 is not set +# CONFIG_PINCTRL_SUN8IW15P1_R is not set +CONFIG_PINCTRL_SUN8IW20=y +# CONFIG_PINCTRL_SUN50IW9 is not set +# CONFIG_PINCTRL_SUN50IW9_R is not set +# CONFIG_PINCTRL_SUN50IW10P1 is not set +# CONFIG_PINCTRL_SUN50IW10P1_R is not set +# CONFIG_PINCTRL_SUN50IW12 is not set +# CONFIG_PINCTRL_SUN50IW12_R is not set +# CONFIG_PINCTRL_SUN55IW3 is not set +# CONFIG_PINCTRL_SUN55IW3_R is not set +# CONFIG_PINCTRL_SUN4I_A10 is not set +# CONFIG_PINCTRL_SUN5I is not set +# CONFIG_PINCTRL_SUN6I_A31 is not set +# CONFIG_PINCTRL_SUN6I_A31_R is not set +# CONFIG_PINCTRL_SUN8I_A23 is not set +# CONFIG_PINCTRL_SUN8I_A33 is not set +# CONFIG_PINCTRL_SUN8I_A83T is not set +# CONFIG_PINCTRL_SUN8I_A83T_R is not set +# CONFIG_PINCTRL_SUN8I_A23_R is not set +# CONFIG_PINCTRL_SUN8I_H3 is not set +# CONFIG_PINCTRL_SUN8I_H3_R is not set +# CONFIG_PINCTRL_SUN8I_V3S is not set +# CONFIG_PINCTRL_SUN9I_A80 is not set +# CONFIG_PINCTRL_SUN9I_A80_R is not set +# CONFIG_PINCTRL_SUN50I_A64 is not set +# CONFIG_PINCTRL_SUN50I_A64_R is not set +# CONFIG_PINCTRL_SUN50I_A100 is not set +# CONFIG_PINCTRL_SUN50I_A100_R is not set +# CONFIG_PINCTRL_SUN50I_H5 is not set +# CONFIG_PINCTRL_SUN50I_H6 is not set +# CONFIG_PINCTRL_SUN50I_H6_R is not set +# end of Allwinner SOC PINCTRL DRIVER + +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_OF_GPIO=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_SUNXI is not set +# CONFIG_GPIO_CADENCE is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_FTGPIO010 is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_HLWD is not set +# CONFIG_GPIO_MB86S7X is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_AMD_FCH is not set +# end of Memory mapped GPIO drivers + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_BS83B16C is not set +# CONFIG_GPIO_GW_PLD is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_TPIC2810 is not set +# end of I2C GPIO expanders + +# +# MFD GPIO expanders +# +# end of MFD GPIO expanders + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX3191X is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_PISOSR is not set +# CONFIG_GPIO_XRA1403 is not set +# end of SPI GPIO expanders + +# +# USB GPIO expanders +# +# end of USB GPIO expanders + +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_W1 is not set +# CONFIG_POWER_AVS is not set +# CONFIG_POWER_RESET is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_POWER_SUPPLY_HWMON=y +# CONFIG_PDA_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_CHARGER_ADP5061 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_CHARGER_SBS is not set +# CONFIG_MANAGER_SBS is not set +# CONFIG_BATTERY_BQ27XXX is not set +# CONFIG_BATTERY_MAX17040 is not set +# CONFIG_BATTERY_MAX17042 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_LT3651 is not set +# CONFIG_CHARGER_DETECTOR_MAX14656 is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24257 is not set +# CONFIG_CHARGER_BQ24735 is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_CHARGER_RT9455 is not set +# CONFIG_CHARGER_UCS1002 is not set +CONFIG_HWMON=y +# 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_AS370 is not set +# CONFIG_SENSORS_ASC7621 is not set +# CONFIG_SENSORS_ASPEED is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS620 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S 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_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_MAX6621 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_TC654 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_NPCM7XX 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_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_STTS751 is not set +# CONFIG_SENSORS_SMM665 is not set +# CONFIG_SENSORS_ADC128D818 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_TMP108 is not set +# CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83773G 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_THERMAL is not set +# CONFIG_WATCHDOG is not set +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +# CONFIG_MFD_ACX00 is not set +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_SUN4I_GPADC 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_BD9571MWV is not set +# CONFIG_MFD_AXP2101_I2C is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_MADERA 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_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_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 is not set +# CONFIG_MFD_MAX77650 is not set +# 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_CPCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_RT5033 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_SUN6I_PRCM=y +# CONFIG_MFD_SYSCON is not set +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_TI_LMU 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_TI_LP87565 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_TQMX86 is not set +# CONFIG_MFD_LOCHNAGAR 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_ROHM_BD718XX is not set +# CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_STPMIC1 is not set +# CONFIG_MFD_STMFX is not set +# end of Multifunction device drivers + +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_88PG86X is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +CONFIG_SUNXI_REGULATOR_PWM=y +# CONFIG_REGULATOR_DA9210 is not set +# CONFIG_REGULATOR_DA9211 is not set +# CONFIG_REGULATOR_FAN53555 is not set +# CONFIG_REGULATOR_GPIO is not set +# 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_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MCP16502 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 is not set +# CONFIG_REGULATOR_SLG51000 is not set +# CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X 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 is not set +# CONFIG_REGULATOR_TPS6524X is not set +# CONFIG_REGULATOR_VCTRL is not set +# CONFIG_RC_CORE is not set +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_CEC_SUPPORT is not set +# CONFIG_MEDIA_CONTROLLER is not set +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2=y +CONFIG_VIDEO_V4L2_I2C=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set + +# +# Media drivers +# +# CONFIG_MEDIA_USB_SUPPORT is not set +# CONFIG_V4L_PLATFORM_DRIVERS is not set +# CONFIG_SUNXI_PLATFORM_DRIVERS is not set +# CONFIG_V4L_MEM2MEM_DRIVERS is not set +# CONFIG_V4L_TEST_DRIVERS is not set + +# +# Supported MMC/SDIO adapters +# +# CONFIG_CYPRESS_FIRMWARE is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_V4L2=y + +# +# 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_ADV7183 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_SAA7110 is not set +# CONFIG_VIDEO_SAA711X 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_TW9910 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_AK881X is not set +# CONFIG_VIDEO_THS8200 is not set + +# +# Camera sensor devices +# +# CONFIG_VIDEO_OV2640 is not set +# CONFIG_VIDEO_OV2659 is not set +# CONFIG_VIDEO_OV6650 is not set +# CONFIG_VIDEO_OV5695 is not set +# CONFIG_VIDEO_OV772X is not set +# CONFIG_VIDEO_OV7640 is not set +# CONFIG_VIDEO_OV7670 is not set +# CONFIG_VIDEO_OV7740 is not set +# CONFIG_VIDEO_OV9640 is not set +# CONFIG_VIDEO_VS6624 is not set +# CONFIG_VIDEO_MT9M111 is not set +# CONFIG_VIDEO_MT9T112 is not set +# CONFIG_VIDEO_MT9V011 is not set +# CONFIG_VIDEO_MT9V111 is not set +# CONFIG_VIDEO_SR030PC30 is not set +# CONFIG_VIDEO_RJ54N1 is not set + +# +# Lens drivers +# + +# +# Flash devices +# + +# +# 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 + +# +# SDR tuner chips +# + +# +# Miscellaneous helper chips +# +# CONFIG_VIDEO_THS7303 is not set +# CONFIG_VIDEO_M52790 is not set +# CONFIG_VIDEO_I2C is not set +# end of I2C Encoders, decoders, sensors and other helper chips + +# +# SPI helper chips +# +# end of SPI helper chips + +# +# Media SPI Adapters +# +# end of Media SPI Adapters + +# +# Customise DVB Frontends +# + +# +# Tools to develop new frontends +# +# end of Customise DVB Frontends + +CONFIG_VIDEO_ENCODER_DECODER_SUNXI=y +# CONFIG_VIDEO_GOOGLE_DECODER_SUNXI is not set + +# +# Graphics support +# + +# +# GPU support for sunxi +# +CONFIG_SUNXI_GPU_TYPE="None" +# end of GPU support for sunxi + +# CONFIG_DRM is not set +# CONFIG_DRM_DP_CEC is not set + +# +# ARM devices +# +# end of ARM devices + +# +# ACP (Audio CoProcessor) Configuration +# +# end of ACP (Audio CoProcessor) Configuration + +# +# Frame buffer Devices +# +CONFIG_FB_CMDLINE=y +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX 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_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set + +# +# Video support for sunxi +# +# CONFIG_FB_CONSOLE_SUNXI is not set +CONFIG_DISP2_SUNXI=y +CONFIG_SUNXI_DISP2_FB_DISABLE_ROTATE=y +# CONFIG_SUNXI_DISP2_FB_ROTATION_SUPPORT is not set +# CONFIG_SUNXI_DISP2_FB_HW_ROTATION_SUPPORT is not set +# CONFIG_SUNXI_DISP2_FB_DECOMPRESS_LZMA is not set +# CONFIG_HDMI_DISP2_SUNXI is not set +# CONFIG_HDMI2_DISP2_SUNXI is not set +# CONFIG_HDMI_EP952_DISP2_SUNXI is not set +# CONFIG_TV_DISP2_SUNXI is not set +# CONFIG_VDPO_DISP2_SUNXI is not set +# CONFIG_EDP_DISP2_SUNXI is not set +# CONFIG_DISP2_SUNXI_BOOT_COLORBAR is not set +# CONFIG_DISP2_SUNXI_DEBUG is not set +# CONFIG_DISP2_SUNXI_COMPOSER is not set +# CONFIG_DISP2_LCD_ESD_DETECT is not set +# CONFIG_LCD_FB is not set +# CONFIG_LCD_FB_ENABLE_DEFERRED_IO is not set + +# +# LCD panels select +# +# CONFIG_LCD_SUPPORT_GG1P4062UTSW is not set +# CONFIG_LCD_SUPPORT_DX0960BE40A1 is not set +# CONFIG_LCD_SUPPORT_TFT720X1280 is not set +# CONFIG_LCD_SUPPORT_FD055HD003S is not set +CONFIG_LCD_SUPPORT_HE0801A068=y +# CONFIG_LCD_SUPPORT_ILI9341 is not set +# CONFIG_LCD_SUPPORT_LH219WQ1 is not set +# CONFIG_LCD_SUPPORT_LS029B3SX02 is not set +# CONFIG_LCD_SUPPORT_LT070ME05000 is not set +# CONFIG_LCD_SUPPORT_S6D7AA0X01 is not set +# CONFIG_LCD_SUPPORT_T27P06 is not set +# CONFIG_LCD_SUPPORT_TFT720x1280 is not set +# CONFIG_LCD_SUPPORT_WTQ05027D01 is not set +# CONFIG_LCD_SUPPORT_H245QBN02 is not set +# CONFIG_LCD_SUPPORT_ST7789V is not set +# CONFIG_LCD_SUPPORT_ST7796S is not set +# CONFIG_LCD_SUPPORT_ST7701S is not set +# CONFIG_LCD_SUPPORT_T30P106 is not set +# CONFIG_LCD_SUPPORT_TO20T20000 is not set +# CONFIG_LCD_SUPPORT_FRD450H40014 is not set +# CONFIG_LCD_SUPPORT_S2003T46G is not set +# CONFIG_LCD_SUPPORT_WILLIAMLCD is not set +# CONFIG_LCD_SUPPORT_LQ101R1SX03 is not set +# CONFIG_LCD_SUPPORT_INET_DSI_PANEL is not set +# CONFIG_LCD_SUPPORT_WTL096601G03 is not set +# CONFIG_LCD_SUPPORT_RT13QV005D is not set +# CONFIG_LCD_SUPPORT_ST7789V_CPU is not set +# CONFIG_LCD_SUPPORT_CC08021801_310_800X1280 is not set +# CONFIG_LCD_SUPPORT_JD9366AB_3 is not set +# CONFIG_LCD_SUPPORT_TFT08006 is not set +# CONFIG_LCD_SUPPORT_BP101WX1_206 is not set +# CONFIG_LCD_SUPPORT_FX070 is not set +# CONFIG_LCD_SUPPORT_K101IM2QA04 is not set +# CONFIG_LCD_SUPPORT_K101_IM2BYL02_L_800X1280 is not set +# CONFIG_LCD_SUPPORT_K080_IM2HYL802R_800X1280 is not set +# end of LCD panels select + +# +# Display engine feature select +# +# CONFIG_DISP2_SUNXI_SUPPORT_SMBL is not set +# CONFIG_DISP2_SUNXI_SUPPORT_ENAHNCE is not set +# CONFIG_DISP2_SUNXI_DEVICE_OFF_ON_RELEASE is not set +# end of Display engine feature select +# end of Video support for sunxi +# end of Frame buffer Devices + +# +# Backlight & LCD device support +# +# CONFIG_LCD_CLASS_DEVICE is not set +# CONFIG_BACKLIGHT_CLASS_DEVICE is not set +# end of Backlight & LCD device support + +# CONFIG_LOGO is not set +# end of Graphics support + +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_DMAENGINE_PCM=y +CONFIG_SND_JACK=y +CONFIG_SND_JACK_INPUT_DEV=y +# CONFIG_SND_MIXER_OSS is not set +CONFIG_SND_PCM_TIMER=y +CONFIG_SND_HRTIMER=y +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_MAX_CARDS=32 +# CONFIG_SND_SUPPORT_OLD_API is not set +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_SEQUENCER is not set +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 + +# +# HD-Audio +# +# end of HD-Audio + +CONFIG_SND_HDA_PREALLOC_SIZE=64 +# CONFIG_SND_SPI is not set +# CONFIG_SND_USB is not set +CONFIG_SND_SOC=y +CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=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_AUDMIX 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_FSL_MICFIL is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set +# end of SoC Audio for Freescale CPUs + +# CONFIG_SND_I2S_HI6210_I2S is not set +# CONFIG_SND_I2S_HI3660_I2S is not set +# CONFIG_SND_SOC_IMG is not set +# CONFIG_SND_SOC_MTK_BTCVSD is not set +# CONFIG_SND_SOC_SOF_TOPLEVEL is not set + +# +# STMicroelectronics STM32 SOC audio support +# +# end of STMicroelectronics STM32 SOC audio support + +CONFIG_SND_SUNXI_SOC=y +CONFIG_SND_SUNXI_SOC_CPUDAI=y +CONFIG_SND_SUN20IW1_CODEC=y + +# +# Allwinner SoC Audio support +# +CONFIG_SND_SUNXI_SOC_SUN20IW1_CODEC=y +CONFIG_SND_SUNXI_SOC_SIMPLE_CARD=y +CONFIG_SND_SUNXI_SOC_DAUDIO=y +# CONFIG_SND_SUNXI_SOC_DAUDIO_ASRC is not set +# CONFIG_SND_SUNXI_SOC_SUNXI_HDMIAUDIO is not set +# CONFIG_SND_SUNXI_SOC_SPDIF is not set +# CONFIG_SND_SUNXI_SOC_DMIC is not set +# CONFIG_SUNXI_AUDIO_DEBUG is not set +# CONFIG_SUNXI_RX_SYNC is not set +# end of Allwinner SoC Audio support + +# CONFIG_SND_SUNXI_RPAF is not set + +# +# Allwinner SoC Audio support V2 +# +# CONFIG_SND_SOC_SUNXI_DAUDIO is not set +# end of Allwinner SoC Audio support V2 + +# CONFIG_SND_SOC_XILINX_I2S is not set +# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set +# CONFIG_SND_SOC_XILINX_SPDIF is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +# CONFIG_ZX_TDM is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_ADAU1761_I2C is not set +# CONFIG_SND_SOC_ADAU1761_SPI is not set +# CONFIG_SND_SOC_ADAU7002 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4118 is not set +# CONFIG_SND_SOC_AK4458 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_AK5558 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_BD28623 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_CS35L34 is not set +# CONFIG_SND_SOC_CS35L35 is not set +# CONFIG_SND_SOC_CS35L36 is not set +# CONFIG_SND_SOC_CS42L42 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_CS43130 is not set +# CONFIG_SND_SOC_CS4341 is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_CS53L30 is not set +# CONFIG_SND_SOC_CX2072X is not set +CONFIG_SND_SOC_DMIC=y +# CONFIG_SND_SOC_ES7134 is not set +# CONFIG_SND_SOC_ES7241 is not set +# CONFIG_SND_SOC_ES8316 is not set +# CONFIG_SND_SOC_ES8328_I2C is not set +# CONFIG_SND_SOC_ES8328_SPI is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_INNO_RK3036 is not set +# CONFIG_SND_SOC_MAX98088 is not set +# CONFIG_SND_SOC_MAX98357A is not set +# CONFIG_SND_SOC_MAX98504 is not set +# CONFIG_SND_SOC_MAX9867 is not set +# CONFIG_SND_SOC_MAX98927 is not set +# CONFIG_SND_SOC_MAX98373 is not set +# CONFIG_SND_SOC_MAX9860 is not set +# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1789_I2C is not set +# CONFIG_SND_SOC_PCM179X_I2C is not set +# CONFIG_SND_SOC_PCM179X_SPI is not set +# CONFIG_SND_SOC_PCM186X_I2C is not set +# CONFIG_SND_SOC_PCM186X_SPI is not set +# CONFIG_SND_SOC_PCM3060_I2C is not set +# CONFIG_SND_SOC_PCM3060_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_RK3328 is not set +# CONFIG_SND_SOC_RT5616 is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF is not set +# CONFIG_SND_SOC_SSM2305 is not set +# 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 is not set +# CONFIG_SND_SOC_TAS5086 is not set +# CONFIG_SND_SOC_TAS571X is not set +# CONFIG_SND_SOC_TAS5720 is not set +# CONFIG_SND_SOC_TAS6424 is not set +# CONFIG_SND_SOC_TDA7419 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_TLV320AIC32X4_I2C is not set +# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_TSCS42XX is not set +# CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8524 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_WM8782 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_WM8904 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_ZX_AUD96P22 is not set +# CONFIG_SND_SOC_MAX9759 is not set +# CONFIG_SND_SOC_MT6351 is not set +# CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_NAU8540 is not set +# CONFIG_SND_SOC_NAU8810 is not set +# CONFIG_SND_SOC_NAU8822 is not set +# CONFIG_SND_SOC_NAU8824 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SOC_AC107 is not set +# CONFIG_SND_SOC_AC108 is not set +# end of CODEC drivers + +CONFIG_SND_SIMPLE_CARD_UTILS=y +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SND_AUDIO_GRAPH_CARD is not set + +# +# HID support +# +# CONFIG_HID is not set + +# +# USB HID support +# +# CONFIG_USB_HID is not set +# CONFIG_HID_PID is not set + +# +# USB HID Boot Protocol drivers +# +# CONFIG_USB_KBD is not set +# CONFIG_USB_MOUSE is not set +# end of USB HID Boot Protocol drivers +# end of USB HID support + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +# end of I2C HID support +# end of HID support + +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +# CONFIG_USB_LED_TRIG is not set +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_USB_CONN_GPIO is not set +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set +CONFIG_USB_AUTOSUSPEND_DELAY=2 +# CONFIG_USB_MON is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_XHCI_HCD is not set +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +# CONFIG_USB_EHCI_FSL is not set +CONFIG_USB_EHCI_HCD_SUNXI=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_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_SUNXI=y +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set +CONFIG_USB_SUNXI_HCD=y +CONFIG_USB_SUNXI_HCI=y +CONFIG_USB_SUNXI_EHCI0=y +CONFIG_USB_SUNXI_EHCI1=y +CONFIG_USB_SUNXI_OHCI0=y +CONFIG_USB_SUNXI_OHCI1=y + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# 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=m +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set +CONFIG_USB_UAS=m + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_CDNS3 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 is not set +# CONFIG_USB_ISP1760 is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +# CONFIG_USB_EZUSB_FX2 is not set +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# end of USB Physical Layer drivers + +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 +# CONFIG_U_SERIAL_CONSOLE is not set + +# +# 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_SNP_UDC_PLAT is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_NET2272 is not set +CONFIG_USB_SUNXI_UDC0=y +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_DUMMY_HCD is not set +# end of USB Peripheral Controller + +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_U_SERIAL=y +CONFIG_USB_F_SERIAL=y +CONFIG_USB_F_FS=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_UEVENT=y +CONFIG_USB_CONFIGFS_SERIAL=y +# CONFIG_USB_CONFIGFS_ACM is not set +# CONFIG_USB_CONFIGFS_OBEX is not set +# CONFIG_USB_CONFIGFS_NCM is not set +# CONFIG_USB_CONFIGFS_ECM is not set +# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set +# CONFIG_USB_CONFIGFS_RNDIS is not set +# CONFIG_USB_CONFIGFS_EEM is not set +# CONFIG_USB_CONFIGFS_MASS_STORAGE is not set +# CONFIG_USB_CONFIGFS_F_LB_SS is not set +CONFIG_USB_CONFIGFS_F_FS=y +# CONFIG_USB_CONFIGFS_F_AUDIO_SRC is not set +# CONFIG_USB_CONFIGFS_F_UAC1 is not set +# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set +# CONFIG_USB_CONFIGFS_F_UAC2 is not set +# CONFIG_USB_CONFIGFS_F_MIDI is not set +# CONFIG_USB_CONFIGFS_F_HID is not set +# CONFIG_USB_CONFIGFS_F_UVC is not set +# CONFIG_USB_CONFIGFS_F_PRINTER is not set +CONFIG_USB_SUNXI_USB=y +CONFIG_USB_SUNXI_USB_MANAGER=y +CONFIG_USB_SUNXI_USB_DEBUG=y +CONFIG_USB_SUNXI_USB_ADB=y +# CONFIG_TYPEC is not set +CONFIG_USB_ROLE_SWITCH=y +CONFIG_MMC=y +# CONFIG_PWRSEQ_EMMC is not set +# CONFIG_PWRSEQ_SIMPLE is not set +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_USDHI6ROL0 is not set +CONFIG_MMC_SUNXI=y +CONFIG_MMC_SUNXI_V4P1X=y +CONFIG_MMC_SUNXI_V4P00X=y +CONFIG_MMC_SUNXI_V4P10X=y +CONFIG_MMC_SUNXI_V4P5X=y +CONFIG_MMC_SUNXI_V5P3X=y +# CONFIG_MMC_CQHCI is not set +# CONFIG_MMC_HSQ is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +# CONFIG_LEDS_CLASS_FLASH is not set +# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set + +# +# LED drivers +# +# CONFIG_LEDS_AN30259A is not set +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_CR0014114 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3532 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_LM3692X is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP3952 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_PWM is not set +# CONFIG_LEDS_REGULATOR is not set +# CONFIG_LEDS_BD2802 is not set +# 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_MLXREG is not set +# CONFIG_LEDS_USER is not set +# CONFIG_LEDS_SPI_BYTE is not set +# CONFIG_LEDS_TI_LMU_COMMON is not set +# CONFIG_LEDS_SUNXI is not set +# CONFIG_MATRIX_LEDS_SUNXI is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +# CONFIG_LEDS_TRIGGER_ONESHOT 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_ACTIVITY is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y + +# +# 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_NETDEV=y +# CONFIG_LEDS_TRIGGER_PATTERN is not set +# CONFIG_LEDS_TRIGGER_AUDIO is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_SUPPORT=y +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_NVMEM=y + +# +# 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_ABEOZ9 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_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_ISL12026 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_PCF85363 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_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3028 is not set +# CONFIG_RTC_DRV_RV8803 is not set +# CONFIG_RTC_DRV_SD3078 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_RX6110 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_SUN6I is not set +CONFIG_RTC_DRV_SUNXI=y +CONFIG_SUNXI_REBOOT_FLAG=y +CONFIG_SUNXI_RTC_BOOTCOUNT=y +CONFIG_SUNXI_RTC_POWEROFF_ALARM=y +# CONFIG_RTC_DRV_CADENCE is not set +# CONFIG_RTC_DRV_FTRTC010 is not set +# CONFIG_RTC_DRV_SNVS is not set +# CONFIG_RTC_DRV_R7301 is not set + +# +# HID Sensor RTC drivers +# +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_ALTERA_MSGDMA is not set +CONFIG_DMA_SUN6I=y +# CONFIG_DW_AXI_DMAC is not set +# CONFIG_FSL_EDMA is not set +# CONFIG_INTEL_IDMA64 is not set +# CONFIG_QCOM_HIDMA_MGMT is not set +# CONFIG_QCOM_HIDMA is not set +# CONFIG_DW_DMAC is not set + +# +# DMA Clients +# +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_DMATEST is not set + +# +# DMABUF options +# +CONFIG_SYNC_FILE=y +# CONFIG_SW_SYNC is not set +# CONFIG_UDMABUF is not set +# CONFIG_DMABUF_SELFTESTS is not set +# end of DMABUF options + +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set +# CONFIG_VIRTIO_MENU is not set + +# +# Microsoft Hyper-V guest support +# +# end of Microsoft Hyper-V guest support + +# CONFIG_GREYBUS is not set +CONFIG_STAGING=y +# CONFIG_COMEDI is not set + +# +# Speakup console speech +# +# end of Speakup console speech + +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +CONFIG_ASHMEM=y +CONFIG_ION=y +CONFIG_ION_SYSTEM_HEAP=y +CONFIG_ION_CMA_HEAP=y +# end of Android + +# CONFIG_STAGING_BOARD is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_UNISYSSPAR is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT is not set +# CONFIG_MOST is not set +# CONFIG_PI433 is not set + +# +# Gasket devices +# +# end of Gasket devices + +# CONFIG_XIL_AXIS_FIFO is not set +# CONFIG_FIELDBUS_DEV is not set +# CONFIG_USB_WUSB_CBAF is not set +# CONFIG_UWB is not set +CONFIG_EXFAT_FS=y +CONFIG_EXFAT_DONT_MOUNT_VFAT=y +CONFIG_EXFAT_DISCARD=y +CONFIG_EXFAT_DELAYED_SYNC=y +CONFIG_EXFAT_KERNEL_DEBUG=y +CONFIG_EXFAT_DEBUG_MSG=y +CONFIG_EXFAT_DEFAULT_CODEPAGE=437 +CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_DEBUG is not set +# CONFIG_CLK_HSDK is not set +# CONFIG_COMMON_CLK_MAX9485 is not set +# CONFIG_COMMON_CLK_SI5341 is not set +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI544 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_COMMON_CLK_PWM is not set +# CONFIG_COMMON_CLK_VC5 is not set +# CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_CLK_SIFIVE is not set +# CONFIG_CLK_SUNXI is not set +CONFIG_SUNXI_CCU=y +CONFIG_SUN8IW20_CCU=y +CONFIG_SUN8IW20_R_CCU=y +# CONFIG_SUN8I_A83T_CCU is not set +# CONFIG_SUN8I_DE2_CCU is not set +# CONFIG_SUN8I_R_CCU is not set +CONFIG_SUNXI_RTC_CCU=y +# end of Common Clock Framework + +# CONFIG_HWSPINLOCK is not set +# CONFIG_HWSPINLOCK_SUNXI is not set + +# +# Clock Source drivers +# +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_SUN4I_TIMER=y +# CONFIG_SUN50I_TIMER is not set +# CONFIG_SUNXI_TIMER is not set +# CONFIG_SUNXI_TIMER_TEST is not set +# CONFIG_MTK_TIMER is not set +CONFIG_RISCV_TIMER=y +# end of Clock Source drivers + +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_IOVA=y +CONFIG_IOMMU_API=y +# CONFIG_IOMMU_LIMIT_IOVA_ALIGNMENT is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# end of Generic IOMMU Pagetable Support + +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set +CONFIG_OF_IOMMU=y +CONFIG_IOMMU_DMA=y +CONFIG_SUNXI_IOMMU=y +CONFIG_SUNXI_IOMMU_DEBUG=y +# CONFIG_SUNXI_IOMMU_TESTS is not set + +# +# Remoteproc drivers +# +# CONFIG_REMOTEPROC is not set +# end of Remoteproc drivers + +# +# Rpmsg drivers +# +# CONFIG_RPMSG_SUNXI_AMP is not set +# CONFIG_RPMSG_DSP_STANDBY is not set +# CONFIG_RPMSG_VIRTIO is not set +# end of Rpmsg drivers + +# CONFIG_SOUNDWIRE is not set + +# +# SOC (System On Chip) specific Drivers +# + +# +# Amlogic SoC drivers +# +# end of Amlogic SoC drivers + +# +# Aspeed SoC drivers +# +# end of Aspeed SoC drivers + +# +# Broadcom SoC drivers +# +# end of Broadcom SoC drivers + +# +# NXP/Freescale QorIQ SoC drivers +# +# end of NXP/Freescale QorIQ SoC drivers + +# +# i.MX SoC drivers +# +# end of i.MX SoC drivers + +# +# Qualcomm SoC drivers +# +# end of Qualcomm SoC drivers + +CONFIG_SUNXI_SRAM=y +CONFIG_SUNXI_SID=y +CONFIG_SUNXI_RISCV_SUSPEND=y +# CONFIG_SOC_TI is not set + +# +# Xilinx SoC drivers +# +# CONFIG_XILINX_VCU is not set +# end of Xilinx SoC drivers +# end of SOC (System On Chip) specific Drivers + +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO 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_SIFIVE is not set +# CONFIG_PWM_SUN4I is not set +CONFIG_PWM_SUNXI_GROUP=y +# CONFIG_DSP_DEBUG is not set + +# +# IRQ chip support +# +CONFIG_IRQCHIP=y +# CONFIG_AL_FIC is not set +CONFIG_SIFIVE_PLIC=y +# CONFIG_SUNXI_WAKEUPGEN is not set +# CONFIG_SUN8I_NMI is not set +# end of IRQ chip support + +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_SIMPLE=y +CONFIG_RESET_SUNXI=y +# CONFIG_RESET_TI_SYSCON is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_SUN6I_MIPI_DPHY is not set +# CONFIG_PHY_SUN9I_USB is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_PHY_CADENCE_DP is not set +# CONFIG_PHY_CADENCE_DPHY is not set +# CONFIG_PHY_CADENCE_SIERRA is not set +# CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_MIXEL_MIPI_DPHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PHY_MAPPHONE_MDM6600 is not set +# end of PHY Subsystem + +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# end of Android + +# CONFIG_LIBNVDIMM is not set +# CONFIG_DAX is not set +CONFIG_NVMEM=y +CONFIG_NVMEM_SYSFS=y +CONFIG_NVMEM_SUNXI_SID=y + +# +# HW tracing support +# +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set +# end of HW tracing support + +# CONFIG_FPGA is not set +# CONFIG_FSI is not set +# CONFIG_SIOX is not set +# CONFIG_SLIMBUS is not set +# CONFIG_INTERCONNECT is not set +# CONFIG_COUNTER is not set +# end of Device Drivers + +# +# File systems +# +# CONFIG_VALIDATE_FS_PARSER is not set +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +# CONFIG_EXT4_FS is not set +# 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 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_FS_VERITY is not set +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_OVERLAY_FS=y +# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y +# CONFIG_OVERLAY_FS_INDEX is not set +# CONFIG_OVERLAY_FS_XINO_AUTO is not set +# CONFIG_OVERLAY_FS_METACOPY is not set +# CONFIG_INCREMENTAL_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set +# end of Caches + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set +# end of CD-ROM/DVD Filesystems + +# +# 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=y +CONFIG_NTFS_FS=y +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_RW=y +# end of DOS/FAT/NT Filesystems + +# +# 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_KERNFS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +# CONFIG_HUGETLBFS is not set +CONFIG_MEMFD_CREATE=y +CONFIG_ARCH_HAS_GIGANTIC_PAGE=y +CONFIG_CONFIGFS_FS=y +# end of Pseudo filesystems + +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ORANGEFS_FS is not set +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_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=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +# CONFIG_UBIFS_FS_LZO is not set +# CONFIG_UBIFS_FS_ZLIB is not set +# CONFIG_UBIFS_FS_ZSTD is not set +# CONFIG_UBIFS_ATIME_SUPPORT is not set +CONFIG_UBIFS_FS_XATTR=y +CONFIG_UBIFS_FS_SECURITY=y +# CONFIG_UBIFS_FS_AUTHENTICATION is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +# CONFIG_SQUASHFS_FILE_CACHE is not set +CONFIG_SQUASHFS_FILE_DIRECT=y +# CONFIG_SQUASHFS_DECOMP_SINGLE is not set +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y +# CONFIG_SQUASHFS_XATTR is not set +# CONFIG_SQUASHFS_ZLIB is not set +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +# CONFIG_SQUASHFS_XZ is not set +# CONFIG_SQUASHFS_ZSTD is not set +# 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 is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +# CONFIG_EROFS_FS is not set +# CONFIG_NETWORK_FILESYSTEMS 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_UNICODE is not set +# end of File systems + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_STATIC_USERMODEHELPER is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity" + +# +# Kernel hardening options +# + +# +# Memory initialization +# +CONFIG_INIT_STACK_NONE=y +# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set +# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# end of Memory initialization +# end of Kernel hardening options +# end of Security options + +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_ACOMP2=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_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Public-key cryptography +# +CONFIG_CRYPTO_RSA=y +# CONFIG_CRYPTO_DH is not set +CONFIG_CRYPTO_ECC=y +CONFIG_CRYPTO_ECDH=y +# CONFIG_CRYPTO_ECRDSA is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=y +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +# CONFIG_CRYPTO_AEGIS128 is not set +CONFIG_CRYPTO_SEQIV=y +# CONFIG_CRYPTO_ECHAINIV is not set + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CFB is not set +CONFIG_CRYPTO_CTR=y +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_OFB is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set +# CONFIG_CRYPTO_ADIANTUM is not set +# CONFIG_CRYPTO_ESSIV 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_XXHASH is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=y +# CONFIG_CRYPTO_POLY1305 is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# 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 is not set +CONFIG_CRYPTO_LIB_SHA256=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_SHA3 is not set +# CONFIG_CRYPTO_SM3 is not set +# CONFIG_CRYPTO_STREEBOG is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_AES_TI is not set +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_LIB_ARC4=y +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 is not set +# 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_SM4 is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set +CONFIG_CRYPTO_ZSTD=y + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +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_HASH_INFO=y +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set +# CONFIG_CRYPTO_DEV_CCREE is not set + +# +# Support for Allwinner Sunxi CryptoEngine +# + +# +# Choose one according to the actual usage +# +# CONFIG_CRYPTO_DEV_SUNXI is not set +# CONFIG_CRYPTO_DEV_SUNXI_IOCTL is not set +# end of Support for Allwinner Sunxi CryptoEngine + +# +# Certificates for signature checking +# +# end of Certificates for signature checking + +# +# Library routines +# +# CONFIG_PACKING is not set +CONFIG_BITREVERSE=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +# CONFIG_CORDIC is not set +CONFIG_RATIONAL=y +CONFIG_GENERIC_PCI_IOMAP=y +# CONFIG_CRC_CCITT is not set +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +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_CRC64 is not set +# CONFIG_CRC4 is not set +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +CONFIG_XXHASH=y +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y +CONFIG_XZ_DEC=y +# CONFIG_XZ_DEC_X86 is not set +# CONFIG_XZ_DEC_POWERPC is not set +# CONFIG_XZ_DEC_IA64 is not set +# CONFIG_XZ_DEC_ARM is not set +# CONFIG_XZ_DEC_ARMTHUMB is not set +# CONFIG_XZ_DEC_SPARC is not set +# CONFIG_XZ_DEC_TEST is not set +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_HAS_DMA_WRITE_COMBINE=y +CONFIG_DMA_DECLARE_COHERENT=y +CONFIG_ARCH_HAS_SETUP_DMA_OPS=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y +CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y +CONFIG_ARCH_HAS_DMA_COHERENT_TO_PFN=y +CONFIG_DMA_REMAP=y +CONFIG_DMA_DIRECT_REMAP=y +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=16 +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 +# CONFIG_DMA_API_DEBUG is not set +CONFIG_SGL_ALLOC=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_CLZ_TAB=y +# CONFIG_IRQ_POLL is not set +CONFIG_MPILIB=y +CONFIG_LIBFDT=y +CONFIG_SG_POOL=y +CONFIG_STACKDEPOT=y +CONFIG_SBITMAP=y +# CONFIG_STRING_SELFTEST is not set +# end of Library routines + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +CONFIG_PRINTK_TIME=y +# CONFIG_PRINTK_CALLER is not set +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 +CONFIG_CONSOLE_LOGLEVEL_QUIET=4 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_DYNAMIC_DEBUG is not set +# CONFIG_DYNAMIC_DEBUG_CORE is not set +# end of printk and dmesg options + +# +# 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_DEBUG_INFO_BTF is not set +# CONFIG_GDB_SCRIPTS is not set +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=2048 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_INSTALL is not set +CONFIG_OPTIMIZE_INLINING=y +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# end of Compile-time checks and compiler options + +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_MAGIC_SYSRQ_SERIAL=y +CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_MISC=y + +# +# Memory Debugging +# +CONFIG_PAGE_EXTENSION=y +CONFIG_DEBUG_PAGEALLOC=y +CONFIG_DEBUG_PAGEALLOC_ENABLE_DEFAULT=y +CONFIG_PAGE_OWNER=y +CONFIG_PAGE_POISONING=y +CONFIG_PAGE_POISONING_NO_SANITY=y +CONFIG_PAGE_POISONING_ZERO=y +CONFIG_DEBUG_OBJECTS=y +CONFIG_DEBUG_OBJECTS_SELFTEST=y +CONFIG_DEBUG_OBJECTS_FREE=y +CONFIG_DEBUG_OBJECTS_TIMERS=y +CONFIG_DEBUG_OBJECTS_WORK=y +CONFIG_DEBUG_OBJECTS_RCU_HEAD=y +CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y +CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 +CONFIG_DEBUG_STACK_USAGE=y +CONFIG_DEBUG_VM=y +CONFIG_DEBUG_VM_VMACACHE=y +CONFIG_DEBUG_VM_RB=y +CONFIG_DEBUG_VM_PGFLAGS=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_KASAN_STACK=1 +# end of Memory Debugging + +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_SOFTLOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_WQ_WATCHDOG is not set +# end of Debug Lockups and Hangs + +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_DEBUG is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# 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=y +# CONFIG_DEBUG_RWSEMS 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_WW_MUTEX_SELFTEST is not set +# end of Lock Debugging (spinlocks, mutexes, etc...) + +CONFIG_STACKTRACE=y +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_KOBJECT_RELEASE is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PLIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_RCU_PERF_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# end of RCU Debugging + +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_TRACING_SUPPORT=y +# CONFIG_FTRACE is not set +# CONFIG_RUNTIME_TESTING_MENU is not set +# CONFIG_MEMTEST is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_SAMPLES is not set +# CONFIG_UBSAN is not set +CONFIG_UBSAN_ALIGNMENT=y +# end of Kernel hacking diff --git a/device/config/chips/f133/configs/pro/linux/config-5.4_recovery b/device/config/chips/f133/configs/pro/linux/config-5.4_recovery new file mode 100755 index 0000000..fdb74e2 --- /dev/null +++ b/device/config/chips/f133/configs/pro/linux/config-5.4_recovery @@ -0,0 +1,2400 @@ +CONFIG_64BIT=y +CONFIG_64BIT_TIME=y +# CONFIG_ABX500_CORE is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_ADFS_FS is not set +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_AFFS_FS is not set +# CONFIG_AF_KCM is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_AIC_WLAN_SUPPORT is not set +CONFIG_AIO=y +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_ALTERA_MSGDMA is not set +# CONFIG_ALTERA_STAPL is not set +# CONFIG_AL_FIC is not set +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# CONFIG_APDS9802ALS is not set +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_ARCH_HAS_BINFMT_FLAT=y +CONFIG_ARCH_HAS_DMA_COHERENT_TO_PFN=y +CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y +CONFIG_ARCH_HAS_DMA_WRITE_COMBINE=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_ARCH_HAS_GIGANTIC_PAGE=y +CONFIG_ARCH_HAS_MMIOWB=y +CONFIG_ARCH_HAS_PTE_SPECIAL=y +CONFIG_ARCH_HAS_SETUP_DMA_OPS=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_ARCH_MMAP_RND_BITS=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=24 +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +# CONFIG_ARCH_RV32I is not set +CONFIG_ARCH_RV64I=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SUN20I=y +CONFIG_ARCH_SUN20IW1=y +CONFIG_ARCH_SUN20IW1P1=y +CONFIG_ARCH_SUNXI=y +CONFIG_ARCH_SUPPORTS_INT128=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y +# CONFIG_ASHMEM is not set +CONFIG_ASN1=y +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_ATA is not set +# CONFIG_ATALK is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_ATM is not set +# CONFIG_AUDIT is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_AW_MTD_RAWNAND is not set +CONFIG_AW_MTD_SPINAND=y +# CONFIG_AW_SPINAND_ENABLE_PHY_CRC16 is not set +CONFIG_AW_SPINAND_PHYSICAL_LAYER=y +# CONFIG_AW_SPINAND_PSTORE_MTD_PART is not set +CONFIG_AW_SPINAND_SECURE_STORAGE=y +CONFIG_AW_SPINAND_SIMULATE_MULTIPLANE=y +# CONFIG_BACKLIGHT_CLASS_DEVICE is not set +CONFIG_BASE_FULL=y +CONFIG_BASE_SMALL=0 +# CONFIG_BATMAN_ADV is not set +# CONFIG_BATTERY_BQ27XXX is not set +# CONFIG_BATTERY_DS2780 is not set +# CONFIG_BATTERY_DS2781 is not set +# CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_MAX17040 is not set +# CONFIG_BATTERY_MAX17042 is not set +# CONFIG_BATTERY_SBS is not set +# CONFIG_BCMA is not set +CONFIG_BCMA_POSSIBLE=y +# CONFIG_BCMDHD is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_FLAT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_BINFMT_SCRIPT=y +CONFIG_BITREVERSE=y +# CONFIG_BLK_CMDLINE_PARSER is not set +# CONFIG_BLK_DEBUG_FS is not set +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_INITRD is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_DEV_LOOP is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_BLK_DEV_RBD is not set +CONFIG_BLK_DEV_SD=y +# CONFIG_BLK_DEV_SR is not set +# CONFIG_BLK_DEV_ZONED is not set +# CONFIG_BLK_INLINE_ENCRYPTION is not set +CONFIG_BLK_PM=y +CONFIG_BLK_SCSI_REQUEST=y +# CONFIG_BLK_SED_OPAL is not set +# CONFIG_BLK_WBT is not set +CONFIG_BLOCK=y +# CONFIG_BONDING is not set +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_BPF=y +# CONFIG_BPFILTER is not set +# CONFIG_BPF_JIT is not set +# CONFIG_BPF_SYSCALL is not set +CONFIG_BQL=y +# CONFIG_BRIDGE is not set +CONFIG_BROKEN_ON_SMP=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +# CONFIG_BT is not set +# CONFIG_BTRFS_FS is not set +CONFIG_BUG=y +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +CONFIG_BUILD_SALT="" +# CONFIG_C2PORT is not set +# CONFIG_CAIF is not set +# CONFIG_CAN is not set +CONFIG_CC_CAN_LINK=y +CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_CC_IS_GCC=y +# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_CC_VERSION_TEXT="riscv64-unknown-linux-gnu-gcc (C-SKY RISCV Tools V1.8.4 B20200702) 8.1.0" +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_CEPH_LIB is not set +CONFIG_CFG80211=y +CONFIG_CFG80211_CERTIFICATION_ONUS=y +# CONFIG_CFG80211_CRDA_SUPPORT is not set +# CONFIG_CFG80211_DEBUGFS is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_CELLULAR_HINTS is not set +# CONFIG_CFG80211_REG_RELAX_NO_IR is not set +# CONFIG_CFG80211_REQUIRE_SIGNED_REGDB is not set +# CONFIG_CFG80211_WEXT is not set +# CONFIG_CGROUPS is not set +# CONFIG_CHARGER_ADP5061 is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24257 is not set +# CONFIG_CHARGER_BQ24735 is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_DETECTOR_MAX14656 is not set +# CONFIG_CHARGER_GPIO is not set +# CONFIG_CHARGER_LP8727 is not set +# CONFIG_CHARGER_LT3651 is not set +# CONFIG_CHARGER_MANAGER is not set +# CONFIG_CHARGER_MAX8903 is not set +# CONFIG_CHARGER_RT9455 is not set +# CONFIG_CHARGER_SBS is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_CHARGER_UCS1002 is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_ST is not set +CONFIG_CLANG_VERSION=0 +# CONFIG_CLEANCACHE is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLKSRC_MMIO=y +# CONFIG_CLK_HSDK is not set +# CONFIG_CLK_SIFIVE is not set +# CONFIG_CLK_SUNXI is not set +CONFIG_CLONE_BACKWARDS=y +CONFIG_CLZ_TAB=y +CONFIG_CMA=y +CONFIG_CMA_ALIGNMENT=8 +CONFIG_CMA_AREAS=7 +# CONFIG_CMA_DEBUG is not set +# CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_SIZE_MBYTES=16 +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +CONFIG_CMDLINE="" +CONFIG_CMODEL_MEDANY=y +# CONFIG_CMODEL_MEDLOW is not set +# CONFIG_COMEDI is not set +CONFIG_COMMON_CLK=y +# CONFIG_COMMON_CLK_CDCE706 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_COMMON_CLK_CS2000_CP is not set +# CONFIG_COMMON_CLK_DEBUG is not set +# CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_COMMON_CLK_MAX9485 is not set +# CONFIG_COMMON_CLK_PWM is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI5341 is not set +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI544 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_VC5 is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +CONFIG_COMPACTION=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_COMPILE_TEST is not set +CONFIG_CONFIGFS_FS=y +# CONFIG_CONNECTOR is not set +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 +CONFIG_CONSOLE_LOGLEVEL_QUIET=4 +CONFIG_CONTIG_ALLOC=y +# CONFIG_CORDIC is not set +# CONFIG_COREDUMP is not set +# CONFIG_COUNTER is not set +# CONFIG_CPU_FREQ is not set +CONFIG_CPU_IDLE=y +# CONFIG_CPU_IDLE_GOV_LADDER is not set +CONFIG_CPU_IDLE_GOV_MENU=y +# CONFIG_CPU_IDLE_GOV_TEO is not set +CONFIG_CPU_PM=y +# CONFIG_CRAMFS is not set +# CONFIG_CRASH_DUMP is not set +CONFIG_CRC16=y +CONFIG_CRC32=y +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_SELFTEST is not set +# CONFIG_CRC32_SLICEBY4 is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC4 is not set +# CONFIG_CRC64 is not set +# CONFIG_CRC7 is not set +# CONFIG_CRC8 is not set +# CONFIG_CRC_CCITT is not set +# CONFIG_CRC_ITU_T is not set +# CONFIG_CRC_T10DIF is not set +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_CRYPTO=y +# CONFIG_CRYPTO_842 is not set +CONFIG_CRYPTO_ACOMP2=y +# CONFIG_CRYPTO_ADIANTUM is not set +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +# CONFIG_CRYPTO_AEGIS128 is not set +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_AES_TI is not set +CONFIG_CRYPTO_AKCIPHER=y +CONFIG_CRYPTO_AKCIPHER2=y +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +# CONFIG_CRYPTO_ANSI_CPRNG is not set +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=y +# CONFIG_CRYPTO_AUTHENC is not set +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=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_CBC is not set +CONFIG_CRYPTO_CCM=y +# CONFIG_CRYPTO_CFB is not set +# CONFIG_CRYPTO_CHACHA20 is not set +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_CMAC=y +# CONFIG_CRYPTO_CRC32 is not set +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRCT10DIF is not set +# CONFIG_CRYPTO_CRYPTD is not set +CONFIG_CRYPTO_CTR=y +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_DEFLATE=y +# CONFIG_CRYPTO_DES is not set +# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_CCREE is not set +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set +# CONFIG_CRYPTO_DEV_SUNXI is not set +# CONFIG_CRYPTO_DEV_SUNXI_IOCTL is not set +# CONFIG_CRYPTO_DH is not set +CONFIG_CRYPTO_DRBG=y +# CONFIG_CRYPTO_DRBG_CTR is not set +# CONFIG_CRYPTO_DRBG_HASH is not set +CONFIG_CRYPTO_DRBG_HMAC=y +CONFIG_CRYPTO_DRBG_MENU=y +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_ECC=y +CONFIG_CRYPTO_ECDH=y +# CONFIG_CRYPTO_ECHAINIV is not set +# CONFIG_CRYPTO_ECRDSA is not set +# CONFIG_CRYPTO_ESSIV is not set +# CONFIG_CRYPTO_FCRYPT is not set +CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_GF128MUL=y +CONFIG_CRYPTO_GHASH=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_HASH_INFO=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_JITTERENTROPY=y +# CONFIG_CRYPTO_KEYWRAP is not set +# CONFIG_CRYPTO_KHAZAD is not set +CONFIG_CRYPTO_KPP=y +CONFIG_CRYPTO_KPP2=y +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_LIB_ARC4=y +CONFIG_CRYPTO_LIB_SHA256=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_OFB is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_POLY1305 is not set +# 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_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=y +CONFIG_CRYPTO_RSA=y +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_SEED is not set +CONFIG_CRYPTO_SEQIV=y +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_SHA1 is not set +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA3 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_SM3 is not set +# CONFIG_CRYPTO_SM4 is not set +# CONFIG_CRYPTO_STREEBOG is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TEST is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_TWOFISH is not set +# CONFIG_CRYPTO_USER is not set +# CONFIG_CRYPTO_USER_API_AEAD is not set +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_RNG is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set +# CONFIG_CRYPTO_VMAC is not set +# CONFIG_CRYPTO_WP512 is not set +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_XXHASH is not set +CONFIG_CRYPTO_ZSTD=y +# CONFIG_DAX is not set +# CONFIG_DCB is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_CREDENTIALS is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_DEBUG_FS=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_INFO_BTF is not set +# CONFIG_DEBUG_INFO_DWARF4 is not set +# CONFIG_DEBUG_INFO_REDUCED is not set +# CONFIG_DEBUG_INFO_SPLIT is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_MEMORY_INIT is not set +CONFIG_DEBUG_MISC=y +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_DEBUG_PLIST is not set +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_RWSEMS is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_SHIRQ is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_DECNET is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_DEVKMEM is not set +# CONFIG_DEVMEM is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_DISP2_LCD_ESD_DETECT is not set +CONFIG_DISP2_SUNXI=y +# CONFIG_DISP2_SUNXI_BOOT_COLORBAR is not set +# CONFIG_DISP2_SUNXI_COMPOSER is not set +CONFIG_DISP2_SUNXI_DEBUG=y +# CONFIG_DISP2_SUNXI_DEVICE_OFF_ON_RELEASE is not set +# CONFIG_DISP2_SUNXI_SUPPORT_ENAHNCE is not set +# CONFIG_DISP2_SUNXI_SUPPORT_SMBL is not set +# CONFIG_DLM is not set +# CONFIG_DMABUF_SELFTESTS is not set +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set +# CONFIG_DMATEST is not set +# CONFIG_DMA_API_DEBUG is not set +CONFIG_DMA_CMA=y +CONFIG_DMA_DECLARE_COHERENT=y +CONFIG_DMA_DIRECT_REMAP=y +CONFIG_DMA_ENGINE=y +# CONFIG_DMA_FENCE_TRACE is not set +CONFIG_DMA_OF=y +CONFIG_DMA_REMAP=y +CONFIG_DMA_SHARED_BUFFER=y +CONFIG_DMA_SUN6I=y +CONFIG_DMA_VIRTUAL_CHANNELS=y +CONFIG_DNOTIFY=y +CONFIG_DQL=y +# CONFIG_DRM is not set +# CONFIG_DRM_DP_CEC is not set +# CONFIG_DS1682 is not set +# CONFIG_DSP_DEBUG is not set +CONFIG_DTC=y +# CONFIG_DUMMY is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_DUMP_REG is not set +# CONFIG_DW_AXI_DMAC is not set +# CONFIG_DW_DMAC is not set +# CONFIG_DYNAMIC_DEBUG is not set +# CONFIG_DYNAMIC_DEBUG_CORE is not set +# CONFIG_ECHO is not set +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDP_DISP2_SUNXI is not set +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_EEPROM_93XX46 is not set +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_AT25 is not set +# CONFIG_EEPROM_EE1004 is not set +# CONFIG_EEPROM_IDT_89HPESX is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +CONFIG_EFI_PARTITION=y +# CONFIG_EFS_FS is not set +CONFIG_ELFCORE=y +# CONFIG_EMBEDDED is not set +CONFIG_ENABLE_MUST_CHECK=y +# CONFIG_ENCLOSURE_SERVICES is not set +CONFIG_EPOLL=y +# CONFIG_EQUALIZER is not set +# CONFIG_EROFS_FS is not set +# CONFIG_ETHERNET is not set +CONFIG_EVB_PLATFORM=y +CONFIG_EVENTFD=y +CONFIG_EXFAT_DEBUG_MSG=y +CONFIG_EXFAT_DEFAULT_CODEPAGE=437 +CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" +CONFIG_EXFAT_DELAYED_SYNC=y +CONFIG_EXFAT_DISCARD=y +CONFIG_EXFAT_DONT_MOUNT_VFAT=y +CONFIG_EXFAT_FS=y +CONFIG_EXFAT_KERNEL_DEBUG=y +CONFIG_EXPERT=y +CONFIG_EXPORTFS=y +# CONFIG_EXPORTFS_BLOCK_OPS is not set +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +# CONFIG_EXT4_FS is not set +# CONFIG_EXTCON is not set +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_EZX_PCAP is not set +# CONFIG_F2FS_FS is not set +# CONFIG_FAILOVER is not set +# CONFIG_FANOTIFY is not set +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +CONFIG_FAT_DEFAULT_UTF8=y +CONFIG_FAT_FS=y +# CONFIG_FAULT_INJECTION is not set +CONFIG_FB=y +CONFIG_FB_CMDLINE=y +# CONFIG_FB_CONSOLE_SUNXI is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_FB_TFT is not set +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_VIRTUAL is not set +CONFIG_FHANDLE=y +CONFIG_FIB_RULES=y +# CONFIG_FIELDBUS_DEV is not set +CONFIG_FILE_LOCKING=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_FLATMEM=y +CONFIG_FLATMEM_MANUAL=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_FPGA is not set +# CONFIG_FPGA_V4_PLATFORM is not set +# CONFIG_FPGA_V7_PLATFORM is not set +CONFIG_FPU=y +CONFIG_FRAME_POINTER=y +CONFIG_FRAME_WARN=2048 +CONFIG_FREEZER=y +# CONFIG_FSCACHE is not set +# CONFIG_FSI is not set +# CONFIG_FSL_EDMA is not set +CONFIG_FSNOTIFY=y +# CONFIG_FS_DAX is not set +# CONFIG_FS_ENCRYPTION is not set +CONFIG_FS_POSIX_ACL=y +# CONFIG_FS_VERITY is not set +# CONFIG_FTL is not set +# CONFIG_FTRACE is not set +# CONFIG_FUSE_FS is not set +CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y +CONFIG_FW_CACHE=y +CONFIG_FW_LOADER=y +# CONFIG_FW_LOADER_COMPRESS is not set +# CONFIG_FW_LOADER_USER_HELPER is not set +# CONFIG_GAMEPORT is not set +CONFIG_GCC_VERSION=80100 +# CONFIG_GCOV_KERNEL is not set +# CONFIG_GDB_SCRIPTS is not set +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_GENERIC_CPU_DEVICES=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_HWEIGHT=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +# CONFIG_GENERIC_PHY is not set +CONFIG_GENERIC_PINCONF=y +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +# CONFIG_GENEVE is not set +# CONFIG_GFS2_FS is not set +# CONFIG_GKI_HACKS_TO_FIX is not set +# CONFIG_GKI_HIDDEN_CRYPTO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_DRM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPIO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPU_CONFIGS is not set +# CONFIG_GKI_HIDDEN_HYPERVISOR_CONFIGS is not set +# CONFIG_GKI_HIDDEN_IRQ_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MEDIA_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MMC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_QCOM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_REGMAP_CONFIGS is not set +# CONFIG_GKI_HIDDEN_RPMSG_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_SOC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SOC_BUS_CONFIGS is not set +# CONFIG_GKI_HIDDEN_USB_CONFIGS is not set +# CONFIG_GKI_HIDDEN_VIRTUAL_CONFIGS is not set +# CONFIG_GKI_LEGACY_WEXT_ALLCONFIG is not set +# CONFIG_GKI_OPT_FEATURES is not set +# CONFIG_GNSS is not set +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_AMD_FCH is not set +# CONFIG_GPIO_BS83B16C is not set +# CONFIG_GPIO_CADENCE is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_FTGPIO010 is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_GW_PLD is not set +# CONFIG_GPIO_HLWD is not set +# CONFIG_GPIO_MAX3191X is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_MB86S7X is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_PISOSR is not set +# CONFIG_GPIO_SUNXI is not set +CONFIG_GPIO_SYSFS=y +# CONFIG_GPIO_TPIC2810 is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_XRA1403 is not set +# CONFIG_GREYBUS is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_GTP is not set +# CONFIG_GUP_BENCHMARK is not set +# CONFIG_HAMRADIO is not set +# CONFIG_HARDENED_USERCOPY is not set +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_ASM_MODVERSIONS=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_HAVE_COPY_THREAD_TLS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_EBPF_JIT=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUTEX_CMPXCHG=y +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_MEMBLOCK_NODE_MAP=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_HAVE_NET_DSA=y +CONFIG_HAVE_PCI=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +# CONFIG_HDMI2_DISP2_SUNXI is not set +# CONFIG_HDMI_DISP2_SUNXI is not set +# CONFIG_HDMI_EP952_DISP2_SUNXI is not set +# CONFIG_HEADERS_INSTALL is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HID is not set +# CONFIG_HID_PID is not set +CONFIG_HIGH_RES_TIMERS=y +# CONFIG_HISI_HIKEY_USB is not set +# CONFIG_HMC6352 is not set +# CONFIG_HPFS_FS is not set +# CONFIG_HSI is not set +# CONFIG_HSR is not set +# CONFIG_HTC_I2CPLD is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HUGETLBFS is not set +# CONFIG_HVC_RISCV_SBI is not set +CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set +# CONFIG_HWSPINLOCK is not set +# CONFIG_HWSPINLOCK_SUNXI is not set +# CONFIG_HW_RANDOM is not set +CONFIG_HZ=100 +CONFIG_HZ_100=y +# CONFIG_HZ_1000 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +# CONFIG_HZ_PERIODIC is not set +CONFIG_I2C=y +# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set +CONFIG_I2C_BOARDINFO=y +# CONFIG_I2C_CBUS_GPIO is not set +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_COMPAT=y +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEMUX_PINCTRL is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_DIOLAN_U2C is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +CONFIG_I2C_HELPER_AUTO=y +# CONFIG_I2C_HID is not set +CONFIG_I2C_MUX=y +# CONFIG_I2C_MUX_GPIO is not set +# CONFIG_I2C_MUX_GPMUX is not set +# CONFIG_I2C_MUX_LTC4306 is not set +# CONFIG_I2C_MUX_MLXCPLD is not set +# CONFIG_I2C_MUX_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_PINCTRL is not set +# CONFIG_I2C_MUX_REG is not set +# CONFIG_I2C_MV64XXX is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_RK3X is not set +# CONFIG_I2C_ROBOTFUZZ_OSIF is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_SLAVE is not set +# CONFIG_I2C_STUB is not set +CONFIG_I2C_SUNXI=y +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set +# CONFIG_I2C_XILINX is not set +# CONFIG_I3C is not set +# CONFIG_ICS932S401 is not set +# CONFIG_IDLE_PAGE_TRACKING is not set +# CONFIG_IEEE802154 is not set +# CONFIG_IIO is not set +CONFIG_IKCONFIG=y +# CONFIG_IKCONFIG_PROC is not set +# CONFIG_IKHEADERS is not set +# CONFIG_INCREMENTAL_FS is not set +CONFIG_INET=y +# CONFIG_INET_AH is not set +CONFIG_INET_DIAG=y +# CONFIG_INET_DIAG_DESTROY is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_RAW_DIAG is not set +CONFIG_INET_TCP_DIAG=y +# CONFIG_INET_UDP_DIAG is not set +# CONFIG_INFINIBAND is not set +# CONFIG_INFTL is not set +CONFIG_INIT_ENV_ARG_LIMIT=32 +# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set +# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +CONFIG_INIT_STACK_NONE=y +CONFIG_INOTIFY_USER=y +CONFIG_INPUT=y +# CONFIG_INPUT_EVBUG is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_JOYSTICK is not set +CONFIG_INPUT_KEYBOARD=y +# CONFIG_INPUT_MATRIXKMAP is not set +# CONFIG_INPUT_MISC is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_POLLDEV is not set +CONFIG_INPUT_SENSOR=y +CONFIG_INPUT_SENSORINIT=y +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_TABLET is not set +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_INTEL_IDMA64 is not set +# CONFIG_INTEL_TH is not set +# CONFIG_INTERCONNECT is not set +CONFIG_IOMMU_API=y +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set +CONFIG_IOMMU_DMA=y +CONFIG_IOMMU_IOVA=y +# CONFIG_IOMMU_LIMIT_IOVA_ALIGNMENT is not set +CONFIG_IOMMU_SUPPORT=y +# CONFIG_ION is not set +# CONFIG_IOSCHED_BFQ is not set +CONFIG_IO_URING=y +# CONFIG_IPACK_BUS is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_IPV6 is not set +# CONFIG_IPVLAN is not set +CONFIG_IP_ADVANCED_ROUTER=y +# CONFIG_IP_DCCP is not set +CONFIG_IP_FIB_TRIE_STATS=y +# CONFIG_IP_MROUTE is not set +CONFIG_IP_MULTICAST=y +CONFIG_IP_MULTIPLE_TABLES=y +# CONFIG_IP_NF_ARPTABLES is not set +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_MANGLE=y +# CONFIG_IP_NF_MATCH_AH is not set +# CONFIG_IP_NF_MATCH_ECN is not set +# CONFIG_IP_NF_MATCH_RPFILTER is not set +# CONFIG_IP_NF_MATCH_TTL is not set +CONFIG_IP_NF_NAT=y +# CONFIG_IP_NF_RAW is not set +# CONFIG_IP_NF_TARGET_CLUSTERIP is not set +# CONFIG_IP_NF_TARGET_ECN is not set +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_IP_NF_TARGET_NETMAP=y +CONFIG_IP_NF_TARGET_REDIRECT=y +# CONFIG_IP_NF_TARGET_REJECT is not set +# CONFIG_IP_NF_TARGET_SYNPROXY is not set +# CONFIG_IP_NF_TARGET_TTL is not set +# CONFIG_IP_PNP is not set +# CONFIG_IP_ROUTE_MULTIPATH is not set +# CONFIG_IP_ROUTE_VERBOSE is not set +# CONFIG_IP_SCTP is not set +# CONFIG_IP_SET is not set +# CONFIG_IP_VS is not set +CONFIG_IRQCHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_MSI_IOMMU=y +# CONFIG_IRQ_POLL is not set +CONFIG_IRQ_WORK=y +# CONFIG_IR_GPIO_CIR is not set +# CONFIG_IR_GPIO_TX is not set +# CONFIG_IR_HIX5HD2 is not set +# CONFIG_IR_IGORPLUGUSB is not set +# CONFIG_IR_IGUANA is not set +# CONFIG_IR_IMON is not set +# CONFIG_IR_IMON_DECODER is not set +# CONFIG_IR_IMON_RAW is not set +# CONFIG_IR_JVC_DECODER is not set +# CONFIG_IR_MCEUSB is not set +# CONFIG_IR_MCE_KBD_DECODER is not set +CONFIG_IR_NEC_DECODER=y +# CONFIG_IR_PWM_TX is not set +# CONFIG_IR_RC5_DECODER is not set +# CONFIG_IR_RC6_DECODER is not set +# CONFIG_IR_RCMM_DECODER is not set +# CONFIG_IR_REDRAT3 is not set +CONFIG_IR_RX_SUNXI=y +# CONFIG_IR_SANYO_DECODER is not set +# CONFIG_IR_SERIAL is not set +# CONFIG_IR_SHARP_DECODER is not set +# CONFIG_IR_SIR is not set +# CONFIG_IR_SONY_DECODER is not set +# CONFIG_IR_SPI is not set +# CONFIG_IR_STREAMZAP is not set +# CONFIG_IR_SUNXI is not set +# CONFIG_IR_TTUSBIR is not set +CONFIG_IR_TX_SUNXI=y +# CONFIG_IR_XMP_DECODER is not set +# CONFIG_ISDN is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_ISO9660_FS is not set +# CONFIG_JFFS2_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_KALLSYMS is not set +CONFIG_KASAN_STACK=1 +CONFIG_KERNFS=y +# CONFIG_KEXEC is not set +# CONFIG_KEYBOARD_ADP5588 is not set +# CONFIG_KEYBOARD_ADP5589 is not set +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_BCM is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_DLINK_DIR685 is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYBOARD_GPIO_POLLED is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_LM8333 is not set +# CONFIG_KEYBOARD_MATRIX is not set +# CONFIG_KEYBOARD_MAX7359 is not set +# CONFIG_KEYBOARD_MCS is not set +# CONFIG_KEYBOARD_MPR121 is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OMAP4 is not set +# CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_QT1050 is not set +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 is not set +# CONFIG_KEYBOARD_SAMSUNG is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUN4I_LRADC is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_SUNXI is not set +# CONFIG_KEYBOARD_TCA6416 is not set +# CONFIG_KEYBOARD_TCA8418 is not set +# CONFIG_KEYBOARD_TPKEY is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYS is not set +# CONFIG_KS7010 is not set +# CONFIG_KSM is not set +# CONFIG_L2TP is not set +# CONFIG_LAPB is not set +# CONFIG_LATENCYTOP is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +# CONFIG_LCD_CLASS_DEVICE is not set +# CONFIG_LCD_FB is not set +# CONFIG_LCD_FB_ENABLE_DEFERRED_IO is not set +# CONFIG_LCD_SUPPORT_BP101WX1_206 is not set +# CONFIG_LCD_SUPPORT_CC08021801_310_800X1280 is not set +# CONFIG_LCD_SUPPORT_DX0960BE40A1 is not set +# CONFIG_LCD_SUPPORT_FD055HD003S is not set +# CONFIG_LCD_SUPPORT_FRD450H40014 is not set +# CONFIG_LCD_SUPPORT_FX070 is not set +# CONFIG_LCD_SUPPORT_GG1P4062UTSW is not set +# CONFIG_LCD_SUPPORT_H245QBN02 is not set +CONFIG_LCD_SUPPORT_HE0801A068=y +# CONFIG_LCD_SUPPORT_ILI9341 is not set +# CONFIG_LCD_SUPPORT_INET_DSI_PANEL is not set +# CONFIG_LCD_SUPPORT_JD9366AB_3 is not set +# CONFIG_LCD_SUPPORT_K080_IM2HYL802R_800X1280 is not set +# CONFIG_LCD_SUPPORT_K101IM2QA04 is not set +# CONFIG_LCD_SUPPORT_K101_IM2BYL02_L_800X1280 is not set +# CONFIG_LCD_SUPPORT_LH219WQ1 is not set +# CONFIG_LCD_SUPPORT_LQ101R1SX03 is not set +# CONFIG_LCD_SUPPORT_LS029B3SX02 is not set +# CONFIG_LCD_SUPPORT_LT070ME05000 is not set +# CONFIG_LCD_SUPPORT_RT13QV005D is not set +# CONFIG_LCD_SUPPORT_S2003T46G is not set +# CONFIG_LCD_SUPPORT_S6D7AA0X01 is not set +# CONFIG_LCD_SUPPORT_ST7701S is not set +# CONFIG_LCD_SUPPORT_ST7789V is not set +# CONFIG_LCD_SUPPORT_ST7789V_CPU is not set +# CONFIG_LCD_SUPPORT_ST7796S is not set +# CONFIG_LCD_SUPPORT_T27P06 is not set +# CONFIG_LCD_SUPPORT_T30P106 is not set +# CONFIG_LCD_SUPPORT_TFT08006 is not set +# CONFIG_LCD_SUPPORT_TFT720X1280 is not set +# CONFIG_LCD_SUPPORT_TFT720x1280 is not set +# CONFIG_LCD_SUPPORT_TO20T20000 is not set +# CONFIG_LCD_SUPPORT_WILLIAMLCD is not set +# CONFIG_LCD_SUPPORT_WTL096601G03 is not set +# CONFIG_LCD_SUPPORT_WTQ05027D01 is not set +# CONFIG_LDISC_AUTOLOAD is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_LIBCRC32C is not set +CONFIG_LIBFDT=y +# CONFIG_LIBNVDIMM is not set +CONFIG_LIRC=y +# CONFIG_LLC2 is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +# CONFIG_LOCK_EVENT_COUNTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +# CONFIG_LOGO is not set +CONFIG_LOG_BUF_SHIFT=13 +CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity" +# CONFIG_LTE_GDM724X is not set +CONFIG_LTO_NONE=y +# CONFIG_LWTUNNEL is not set +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +# CONFIG_MAC80211 is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_MACSEC is not set +# CONFIG_MACVLAN is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_MAGIC_SYSRQ_SERIAL=y +# CONFIG_MAILBOX is not set +# CONFIG_MANAGER_SBS is not set +CONFIG_MANDATORY_FILE_LOCKING=y +CONFIG_MAXPHYSMEM_128GB=y +# CONFIG_MAXPHYSMEM_2GB is not set +# CONFIG_MCB is not set +# CONFIG_MD is not set +# CONFIG_MDIO_DEVICE is not set +# CONFIG_MEDIA_SUPPORT is not set +CONFIG_MEMBARRIER=y +CONFIG_MEMFD_CREATE=y +# CONFIG_MEMORY is not set +CONFIG_MEMORY_ISOLATION=y +# CONFIG_MEMSTICK is not set +# CONFIG_MEMTEST is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_AXP2101_I2C is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_BD9571MWV is not set +CONFIG_MFD_CORE=y +# CONFIG_MFD_CPCAP is not set +# CONFIG_MFD_DA9052_I2C is not set +# CONFIG_MFD_DA9052_SPI 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_HI6421_PMIC is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_LOCHNAGAR is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_MADERA is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77620 is not set +# CONFIG_MFD_MAX77650 is not set +# 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_MC13XXX_I2C is not set +# CONFIG_MFD_MC13XXX_SPI is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_PALMAS is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_ROHM_BD718XX is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SMSC is not set +# CONFIG_MFD_STMFX is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_STPMIC1 is not set +# CONFIG_MFD_SUN4I_GPADC is not set +CONFIG_MFD_SUN6I_PRCM=y +# CONFIG_MFD_SYSCON is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set +# CONFIG_MFD_TI_LP873X is not set +# CONFIG_MFD_TI_LP87565 is not set +# CONFIG_MFD_TPS65086 is not set +# CONFIG_MFD_TPS65090 is not set +# CONFIG_MFD_TPS65217 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_MFD_TQMX86 is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_WL1273_CORE 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_WM8400 is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_MIGRATION=y +# CONFIG_MINIX_FS is not set +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_MISC_RTSX_USB is not set +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +# CONFIG_MMC_CQHCI is not set +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_HSQ is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_SPI is not set +CONFIG_MMC_SUNXI=y +CONFIG_MMC_SUNXI_V4P00X=y +CONFIG_MMC_SUNXI_V4P10X=y +CONFIG_MMC_SUNXI_V4P1X=y +CONFIG_MMC_SUNXI_V4P5X=y +CONFIG_MMC_SUNXI_V5P3X=y +# CONFIG_MMC_TEST is not set +# CONFIG_MMC_USDHI6ROL0 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_VUB300 is not set +CONFIG_MMU=y +CONFIG_MODULES=y +CONFIG_MODULES_USE_ELF_RELA=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +# CONFIG_MODULE_COMPRESS is not set +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_FORCE_UNLOAD is not set +CONFIG_MODULE_SECTIONS=y +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODVERSIONS is not set +# CONFIG_MOST is not set +# CONFIG_MOXTET is not set +CONFIG_MPILIB=y +# CONFIG_MPLS is not set +CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=y +# CONFIG_MSDOS_FS is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_MTD=y +# CONFIG_MTD_ABSENT is not set +# CONFIG_MTD_AR7_PARTS is not set +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_MTD_BLOCK2MTD is not set +# CONFIG_MTD_CFI is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CHAR is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_HYPERBUS is not set +# CONFIG_MTD_JEDECPROBE is not set +# CONFIG_MTD_LPDDR 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_MCHP23K256 is not set +# CONFIG_MTD_MTDRAM is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_ONENAND is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_PLATRAM is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_RAW_NAND is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_SPI_NAND is not set +# CONFIG_MTD_SPI_NOR is not set +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SUNXI_PARTS is not set +# CONFIG_MTD_TESTS is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_BEB_LIMIT=20 +CONFIG_MTD_UBI_BLOCK=y +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +# CONFIG_MTK_TIMER is not set +CONFIG_MULTIUSER=y +# CONFIG_NAMESPACES is not set +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_KM=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NET=y +# CONFIG_NETCONSOLE is not set +CONFIG_NETDEVICES=y +# CONFIG_NETDEVSIM is not set +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y +# CONFIG_NETFILTER_INGRESS is not set +CONFIG_NETFILTER_NETLINK=m +# CONFIG_NETFILTER_NETLINK_ACCT is not set +# CONFIG_NETFILTER_NETLINK_LOG is not set +# CONFIG_NETFILTER_NETLINK_OSF is not set +# CONFIG_NETFILTER_NETLINK_QUEUE is not set +CONFIG_NETFILTER_XTABLES=y +# CONFIG_NETFILTER_XT_CONNMARK is not set +# CONFIG_NETFILTER_XT_MARK is not set +# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set +# CONFIG_NETFILTER_XT_MATCH_BPF is not set +# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set +# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +# 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 is not set +# CONFIG_NETFILTER_XT_MATCH_ESP is not set +# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_HELPER is not set +# CONFIG_NETFILTER_XT_MATCH_HL is not set +# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set +# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set +# CONFIG_NETFILTER_XT_MATCH_L2TP is not set +# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set +# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_MAC is not set +# CONFIG_NETFILTER_XT_MATCH_MARK is not set +# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +# CONFIG_NETFILTER_XT_MATCH_OSF is not set +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set +# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set +# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set +# CONFIG_NETFILTER_XT_MATCH_QUOTA2 is not set +# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set +# CONFIG_NETFILTER_XT_MATCH_REALM is not set +# CONFIG_NETFILTER_XT_MATCH_RECENT is not set +# CONFIG_NETFILTER_XT_MATCH_SCTP is not set +# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set +CONFIG_NETFILTER_XT_MATCH_STATE=y +# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set +# CONFIG_NETFILTER_XT_MATCH_STRING is not set +# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set +# CONFIG_NETFILTER_XT_MATCH_TIME is not set +# CONFIG_NETFILTER_XT_MATCH_U32 is not set +CONFIG_NETFILTER_XT_NAT=y +# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set +# CONFIG_NETFILTER_XT_TARGET_CONNMARK 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 is not set +# CONFIG_NETFILTER_XT_TARGET_LOG is not set +# CONFIG_NETFILTER_XT_TARGET_MARK is not set +CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y +CONFIG_NETFILTER_XT_TARGET_NETMAP=y +# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set +# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set +# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set +CONFIG_NETFILTER_XT_TARGET_REDIRECT=y +# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set +# CONFIG_NETFILTER_XT_TARGET_TEE is not set +# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_NETWORK_FILESYSTEMS is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_9P is not set +CONFIG_NET_CORE=y +# CONFIG_NET_DSA is not set +# CONFIG_NET_FAILOVER is not set +# CONFIG_NET_FOU is not set +# CONFIG_NET_IFE is not set +# CONFIG_NET_IPGRE_DEMUX is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_KEY is not set +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_NET_NCSI is not set +# CONFIG_NET_NSH is not set +# CONFIG_NET_PKTGEN is not set +CONFIG_NET_RX_BUSY_POLL=y +# CONFIG_NET_SCHED is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_TEAM is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_NFC is not set +# CONFIG_NFTL is not set +CONFIG_NF_CONNTRACK=y +# CONFIG_NF_CONNTRACK_AMANDA is not set +# CONFIG_NF_CONNTRACK_BRIDGE is not set +CONFIG_NF_CONNTRACK_EVENTS=y +# CONFIG_NF_CONNTRACK_FTP is not set +# CONFIG_NF_CONNTRACK_H323 is not set +# CONFIG_NF_CONNTRACK_IRC is not set +CONFIG_NF_CONNTRACK_LABELS=y +CONFIG_NF_CONNTRACK_MARK=y +# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set +# CONFIG_NF_CONNTRACK_PPTP is not set +CONFIG_NF_CONNTRACK_PROCFS=y +# CONFIG_NF_CONNTRACK_SANE is not set +# CONFIG_NF_CONNTRACK_SIP is not set +# CONFIG_NF_CONNTRACK_SNMP is not set +# CONFIG_NF_CONNTRACK_TFTP is not set +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CONNTRACK_ZONES=y +CONFIG_NF_CT_NETLINK=m +CONFIG_NF_CT_NETLINK_TIMEOUT=m +# CONFIG_NF_CT_PROTO_DCCP is not set +# CONFIG_NF_CT_PROTO_SCTP is not set +# CONFIG_NF_CT_PROTO_UDPLITE is not set +CONFIG_NF_DEFRAG_IPV4=y +# CONFIG_NF_DUP_IPV4 is not set +# CONFIG_NF_LOG_ARP is not set +# CONFIG_NF_LOG_IPV4 is not set +# CONFIG_NF_LOG_NETDEV is not set +CONFIG_NF_NAT=y +CONFIG_NF_NAT_MASQUERADE=y +CONFIG_NF_NAT_REDIRECT=y +# CONFIG_NF_REJECT_IPV4 is not set +# CONFIG_NF_SOCKET_IPV4 is not set +# CONFIG_NF_TABLES is not set +CONFIG_NF_TPROXY_IPV4=y +# CONFIG_NILFS2_FS is not set +# CONFIG_NL80211_TESTMODE is not set +CONFIG_NLATTR=y +# CONFIG_NLMON is not set +CONFIG_NLS=y +# CONFIG_NLS_ASCII is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +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_874 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# 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_8 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U 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_ROMAN is not set +# CONFIG_NLS_MAC_ROMANIAN is not set +# CONFIG_NLS_MAC_TURKISH is not set +# CONFIG_NLS_UTF8 is not set +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +CONFIG_NO_HZ=y +CONFIG_NO_HZ_COMMON=y +CONFIG_NO_HZ_IDLE=y +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_FS=y +CONFIG_NTFS_RW=y +# CONFIG_NULL_TTY is not set +# CONFIG_NVM is not set +CONFIG_NVMEM=y +CONFIG_NVMEM_SUNXI_SID=y +CONFIG_NVMEM_SYSFS=y +# CONFIG_NVME_FC is not set +# CONFIG_NVME_TARGET is not set +# CONFIG_N_GSM is not set +# CONFIG_OCFS2_FS is not set +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_IOMMU=y +CONFIG_OF_IRQ=y +CONFIG_OF_KOBJ=y +CONFIG_OF_NET=y +# CONFIG_OF_OVERLAY is not set +CONFIG_OF_RESERVED_MEM=y +# CONFIG_OF_UNITTEST is not set +# CONFIG_OMFS_FS is not set +# CONFIG_OPENVSWITCH is not set +CONFIG_OPTIMIZE_INLINING=y +# CONFIG_ORANGEFS_FS is not set +CONFIG_OVERLAY_FS=y +# CONFIG_OVERLAY_FS_INDEX is not set +# CONFIG_OVERLAY_FS_METACOPY is not set +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y +# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set +# CONFIG_OVERLAY_FS_XINO_AUTO is not set +CONFIG_PACKET=y +CONFIG_PACKET_DIAG=y +# CONFIG_PACKING is not set +# CONFIG_PAGE_EXTENSION is not set +CONFIG_PAGE_OFFSET=0xffffffe000000000 +# CONFIG_PAGE_OWNER is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_PARPORT is not set +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_PA_BITS=56 +# CONFIG_PC104 is not set +# CONFIG_PCCARD is not set +# CONFIG_PCI is not set +# CONFIG_PDA_POWER is not set +# CONFIG_PERCPU_STATS is not set +# CONFIG_PERF_EVENTS is not set +CONFIG_PGTABLE_LEVELS=3 +# CONFIG_PHONET is not set +# CONFIG_PHYLIB is not set +CONFIG_PHYS_ADDR_T_64BIT=y +# CONFIG_PHY_CADENCE_DP is not set +# CONFIG_PHY_CADENCE_DPHY is not set +# CONFIG_PHY_CADENCE_SIERRA is not set +# CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_MAPPHONE_MDM6600 is not set +# CONFIG_PHY_MIXEL_MIPI_DPHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PHY_SUN6I_MIPI_DPHY is not set +# CONFIG_PHY_SUN9I_USB is not set +# CONFIG_PI433 is not set +CONFIG_PINCONF=y +CONFIG_PINCTRL=y +# CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_MCP23S08 is not set +# CONFIG_PINCTRL_OCELOT is not set +# CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_STMFX is not set +# CONFIG_PINCTRL_SUN4I_A10 is not set +# CONFIG_PINCTRL_SUN50IW10P1 is not set +# CONFIG_PINCTRL_SUN50IW10P1_R is not set +# CONFIG_PINCTRL_SUN50IW12 is not set +# CONFIG_PINCTRL_SUN50IW12_R is not set +# CONFIG_PINCTRL_SUN50IW9 is not set +# CONFIG_PINCTRL_SUN50IW9_R is not set +# CONFIG_PINCTRL_SUN50I_A100 is not set +# CONFIG_PINCTRL_SUN50I_A100_R is not set +# CONFIG_PINCTRL_SUN50I_A64 is not set +# CONFIG_PINCTRL_SUN50I_A64_R is not set +# CONFIG_PINCTRL_SUN50I_H5 is not set +# CONFIG_PINCTRL_SUN50I_H6 is not set +# CONFIG_PINCTRL_SUN50I_H6_R is not set +# CONFIG_PINCTRL_SUN5I is not set +# CONFIG_PINCTRL_SUN6I_A31 is not set +# CONFIG_PINCTRL_SUN6I_A31_R is not set +# CONFIG_PINCTRL_SUN8IW15P1 is not set +# CONFIG_PINCTRL_SUN8IW15P1_R is not set +CONFIG_PINCTRL_SUN8IW20=y +# CONFIG_PINCTRL_SUN8I_A23 is not set +# CONFIG_PINCTRL_SUN8I_A23_R is not set +# CONFIG_PINCTRL_SUN8I_A33 is not set +# CONFIG_PINCTRL_SUN8I_A83T is not set +# CONFIG_PINCTRL_SUN8I_A83T_R is not set +# CONFIG_PINCTRL_SUN8I_H3 is not set +# CONFIG_PINCTRL_SUN8I_H3_R is not set +# CONFIG_PINCTRL_SUN8I_V3S is not set +# CONFIG_PINCTRL_SUN9I_A80 is not set +# CONFIG_PINCTRL_SUN9I_A80_R is not set +CONFIG_PINCTRL_SUNXI=y +# CONFIG_PINCTRL_SUNXI_DEBUGFS is not set +# CONFIG_PINCTRL_SUNXI_TEST is not set +# CONFIG_PINCTRL_SX150X is not set +CONFIG_PINMUX=y +CONFIG_PLUGIN_HOSTCC="" +CONFIG_PM=y +# CONFIG_PMBUS is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_PM_AUTOSLEEP is not set +CONFIG_PM_CLK=y +# CONFIG_PM_DEBUG is not set +# CONFIG_PM_DEVFREQ is not set +CONFIG_PM_SLEEP=y +# CONFIG_PM_WAKELOCKS is not set +# CONFIG_POSIX_MQUEUE is not set +CONFIG_POSIX_TIMERS=y +# CONFIG_POWERCAP is not set +# CONFIG_POWER_AVS is not set +# CONFIG_POWER_RESET is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_POWER_SUPPLY_HWMON=y +# CONFIG_PPP is not set +# CONFIG_PPS is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPTION=y +CONFIG_PREEMPT_COUNT=y +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_RCU=y +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREVENT_FIRMWARE_BUILD=y +CONFIG_PRINTK=y +# CONFIG_PRINTK_CALLER is not set +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 +CONFIG_PRINTK_TIME=y +# CONFIG_PRISM2_USB is not set +# CONFIG_PROC_CHILDREN is not set +CONFIG_PROC_FS=y +# CONFIG_PROC_KCORE is not set +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROFILING=y +# CONFIG_PSAMPLE is not set +# CONFIG_PSI is not set +# CONFIG_PSTORE is not set +# CONFIG_PTP_1588_CLOCK is not set +# CONFIG_PVPANIC is not set +CONFIG_PWM=y +# CONFIG_PWM_FSL_FTM is not set +# CONFIG_PWM_PCA9685 is not set +# CONFIG_PWM_SIFIVE is not set +# CONFIG_PWM_SUN4I is not set +CONFIG_PWM_SUNXI_GROUP=y +CONFIG_PWM_SYSFS=y +# CONFIG_PWRSEQ_EMMC is not set +# CONFIG_PWRSEQ_SIMPLE is not set +# CONFIG_QCOM_HIDMA is not set +# CONFIG_QCOM_HIDMA_MGMT is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_QUOTA is not set +# CONFIG_R8188EU is not set +# CONFIG_R8712U is not set +# CONFIG_RAID_ATTRS is not set +# CONFIG_RANDOM32_SELFTEST is not set +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set +# CONFIG_RAS is not set +CONFIG_RATIONAL=y +# CONFIG_RAW_DRIVER is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_RCU_EXPERT is not set +CONFIG_RCU_NEED_SEGCBLIST=y +# CONFIG_RCU_PERF_TEST is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_RC_ATI_REMOTE is not set +CONFIG_RC_CORE=y +CONFIG_RC_DECODERS=y +CONFIG_RC_DEVICES=y +# CONFIG_RC_LOOPBACK is not set +CONFIG_RC_MAP=y +# CONFIG_RC_XBOX_DVD is not set +# CONFIG_RDS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_REFCOUNT_FULL is not set +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_88PG86X is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_DA9210 is not set +# CONFIG_REGULATOR_DA9211 is not set +# CONFIG_REGULATOR_DEBUG is not set +# CONFIG_REGULATOR_FAN53555 is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_REGULATOR_GPIO is not set +# CONFIG_REGULATOR_ISL6271A is not set +# CONFIG_REGULATOR_ISL9305 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_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MCP16502 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 is not set +# CONFIG_REGULATOR_SLG51000 is not set +# CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X 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 is not set +# CONFIG_REGULATOR_TPS6524X is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_VCTRL is not set +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_RELAY is not set +# CONFIG_REMOTEPROC is not set +CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_SIMPLE=y +CONFIG_RESET_SUNXI=y +# CONFIG_RESET_TI_SYSCON is not set +# CONFIG_RFD_FTL is not set +# CONFIG_RFKILL is not set +CONFIG_RISCV=y +# CONFIG_RISCV_CPUIDLE is not set +CONFIG_RISCV_ISA_C=y +CONFIG_RISCV_SUNXI=y +CONFIG_RISCV_TIMER=y +# CONFIG_RMI4_CORE is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_RPMSG_DSP_STANDBY is not set +# CONFIG_RPMSG_SUNXI_AMP is not set +# CONFIG_RPMSG_VIRTIO is not set +CONFIG_RTC_CLASS=y +# CONFIG_RTC_DEBUG is not set +# CONFIG_RTC_DRV_ABB5ZES3 is not set +# CONFIG_RTC_DRV_ABEOZ9 is not set +# CONFIG_RTC_DRV_ABX80X is not set +# CONFIG_RTC_DRV_BQ32K is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_CADENCE is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1302 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1343 is not set +# CONFIG_RTC_DRV_DS1347 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1672 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_DS3232 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_FTRTC010 is not set +# CONFIG_RTC_DRV_HYM8563 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_ISL12026 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_MAX6916 is not set +# CONFIG_RTC_DRV_MCP795 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_PCF85063 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF85363 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_R7301 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_RV3028 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set +# CONFIG_RTC_DRV_RV8803 is not set +# CONFIG_RTC_DRV_RX4581 is not set +# CONFIG_RTC_DRV_RX6110 is not set +# CONFIG_RTC_DRV_RX8010 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_RX8581 is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_SD3078 is not set +# CONFIG_RTC_DRV_SNVS is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_SUN6I is not set +CONFIG_RTC_DRV_SUNXI=y +# CONFIG_RTC_DRV_TEST is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_ZYNQMP is not set +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_I2C_AND_SPI=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_LIB=y +CONFIG_RTC_NVMEM=y +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTL8723BS is not set +# CONFIG_RTL8723DS is not set +# CONFIG_RTL8821CS is not set +# CONFIG_RTLLIB is not set +CONFIG_RT_MUTEXES=y +# CONFIG_RUNTIME_TESTING_MENU is not set +# CONFIG_SAMPLES is not set +CONFIG_SBITMAP=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SCHED_DEBUG is not set +CONFIG_SCHED_HRTICK=y +# CONFIG_SCHED_STACK_END_CHECK is not set +CONFIG_SCSI=y +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_DH is not set +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_LOWLEVEL is not set +CONFIG_SCSI_MOD=y +# CONFIG_SCSI_PROC_FS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# CONFIG_SDIO_UART is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# CONFIG_SECURITY is not set +# CONFIG_SECURITYFS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +CONFIG_SELECT_MEMORY_MODEL=y +# CONFIG_SENSORS_AD7314 is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADC128D818 is not set +# CONFIG_SENSORS_ADCXX 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_ADS7828 is not set +# CONFIG_SENSORS_ADS7871 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_AMC6821 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_SENSORS_AS370 is not set +# CONFIG_SENSORS_ASC7621 is not set +# CONFIG_SENSORS_ASPEED is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_DS620 is not set +# CONFIG_SENSORS_EMC1403 is not set +# CONFIG_SENSORS_EMC2103 is not set +# CONFIG_SENSORS_EMC6W201 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_G760A is not set +# CONFIG_SENSORS_G762 is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_GPIO_FAN is not set +# CONFIG_SENSORS_HIH6130 is not set +# CONFIG_SENSORS_INA209 is not set +# CONFIG_SENSORS_INA2XX is not set +# CONFIG_SENSORS_INA3221 is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_JC42 is not set +# CONFIG_SENSORS_LINEAGE is not set +# CONFIG_SENSORS_LIS3_I2C is not set +# CONFIG_SENSORS_LIS3_SPI 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_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_MAX31790 is not set +# CONFIG_SENSORS_MAX6621 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_MCP3021 is not set +# CONFIG_SENSORS_MIR3DA 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_NPCM7XX is not set +# CONFIG_SENSORS_NTC_THERMISTOR is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_SENSORS_POWR1220 is not set +# CONFIG_SENSORS_PWM_FAN is not set +# CONFIG_SENSORS_SC7A20 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_SMM665 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_STTS751 is not set +# CONFIG_SENSORS_TC654 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_TMP108 is not set +# CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83773G 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_SERIAL_8250 is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_DEV_BUS is not set +CONFIG_SERIAL_EARLYCON=y +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_IFX6X60 is not set +# CONFIG_SERIAL_MAX3100 is not set +# CONFIG_SERIAL_MAX310X is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_SERIAL_SAMSUNG is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SIFIVE is not set +# CONFIG_SERIAL_SPRD is not set +CONFIG_SERIAL_SUNXI=y +CONFIG_SERIAL_SUNXI_CONSOLE=y +# CONFIG_SERIAL_SUNXI_DMA is not set +# CONFIG_SERIAL_SUNXI_EARLYCON is not set +# CONFIG_SERIAL_UARTLITE is not set +# CONFIG_SERIAL_XILINX_PS_UART is not set +CONFIG_SERIO=y +# CONFIG_SERIO_ALTERA_PS2 is not set +# CONFIG_SERIO_APBPS2 is not set +# CONFIG_SERIO_ARC_PS2 is not set +# CONFIG_SERIO_GPIO_PS2 is not set +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_PS2MULT is not set +# CONFIG_SERIO_RAW is not set +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_SUN4I_PS2 is not set +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SGL_ALLOC=y +CONFIG_SG_POOL=y +CONFIG_SHMEM=y +# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set +CONFIG_SIFIVE_PLIC=y +CONFIG_SIGNALFD=y +# CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SIOX is not set +# CONFIG_SLAB is not set +# CONFIG_SLAB_FREELIST_HARDENED is not set +# CONFIG_SLAB_FREELIST_RANDOM is not set +CONFIG_SLAB_MERGE_DEFAULT=y +# CONFIG_SLIMBUS is not set +# CONFIG_SLIP is not set +# CONFIG_SLOB is not set +CONFIG_SLUB=y +# CONFIG_SLUB_DEBUG is not set +# CONFIG_SLUB_STATS is not set +# CONFIG_SMP is not set +# CONFIG_SM_FTL is not set +# CONFIG_SOC_SIFIVE is not set +# CONFIG_SOC_TI is not set +# CONFIG_SOFTLOCKUP_DETECTOR is not set +# CONFIG_SOUND is not set +# CONFIG_SOUNDWIRE is not set +# CONFIG_SPARD_WLAN_SUPPORT is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSE_IRQ=y +CONFIG_SPI=y +# CONFIG_SPI_ALTERA is not set +# CONFIG_SPI_AXI_SPI_ENGINE is not set +# CONFIG_SPI_BITBANG is not set +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_DEBUG is not set +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_FSL_SPI is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_LOOPBACK_TEST is not set +CONFIG_SPI_MASTER=y +# CONFIG_SPI_MEM is not set +# CONFIG_SPI_MXIC is not set +# CONFIG_SPI_NXP_FLEXSPI is not set +# CONFIG_SPI_OC_TINY is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_SIFIVE is not set +# CONFIG_SPI_SLAVE is not set +# CONFIG_SPI_SPIDEV is not set +# CONFIG_SPI_SUN4I is not set +# CONFIG_SPI_SUN6I is not set +CONFIG_SPI_SUNXI=y +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_SPMI is not set +CONFIG_SQUASHFS=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y +# CONFIG_SQUASHFS_DECOMP_SINGLE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +# CONFIG_SQUASHFS_FILE_CACHE is not set +CONFIG_SQUASHFS_FILE_DIRECT=y +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +# CONFIG_SQUASHFS_XATTR is not set +# CONFIG_SQUASHFS_XZ is not set +# CONFIG_SQUASHFS_ZLIB is not set +# CONFIG_SQUASHFS_ZSTD is not set +# CONFIG_SRAM is not set +CONFIG_SRCU=y +# CONFIG_SSB is not set +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSFDC is not set +CONFIG_STACKTRACE=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_STAGING=y +# CONFIG_STAGING_BOARD is not set +# CONFIG_STAGING_MEDIA is not set +CONFIG_STANDALONE=y +# CONFIG_STATIC_USERMODEHELPER is not set +# CONFIG_STK3X1X is not set +# CONFIG_STM is not set +# CONFIG_STRING_SELFTEST is not set +# CONFIG_STRIP_ASM_SYMS is not set +CONFIG_SUN4I_TIMER=y +# CONFIG_SUN50I_DE2_BUS is not set +# CONFIG_SUN50I_TIMER is not set +CONFIG_SUN8IW20_CCU=y +CONFIG_SUN8IW20_R_CCU=y +# CONFIG_SUN8I_A83T_CCU is not set +# CONFIG_SUN8I_DE2_CCU is not set +# CONFIG_SUN8I_NMI is not set +# CONFIG_SUN8I_R_CCU is not set +CONFIG_SUNXI_ADDR_MGT=y +# CONFIG_SUNXI_BOOTEVENT is not set +# CONFIG_SUNXI_BS83B16C is not set +CONFIG_SUNXI_CCU=y +# CONFIG_SUNXI_DI is not set +# CONFIG_SUNXI_DISP2_FB_DECOMPRESS_LZMA is not set +CONFIG_SUNXI_DISP2_FB_DISABLE_ROTATE=y +# CONFIG_SUNXI_DISP2_FB_ROTATION_SUPPORT is not set +# CONFIG_SUNXI_G2D is not set +# CONFIG_SUNXI_GORILLA is not set +CONFIG_SUNXI_GPADC=y +CONFIG_SUNXI_GPU_TYPE="None" +CONFIG_SUNXI_IOMMU=y +CONFIG_SUNXI_IOMMU_DEBUG=y +# CONFIG_SUNXI_IOMMU_TESTS is not set +CONFIG_SUNXI_MBUS=y +# CONFIG_SUNXI_MIPSLOADER is not set +# CONFIG_SUNXI_NAND is not set +# CONFIG_SUNXI_NSI is not set +# CONFIG_SUNXI_QA_TEST is not set +CONFIG_SUNXI_REBOOT_FLAG=y +CONFIG_SUNXI_REGULATOR_PWM=y +CONFIG_SUNXI_RFKILL=y +CONFIG_SUNXI_RISCV_SUSPEND=y +# CONFIG_SUNXI_RSB is not set +CONFIG_SUNXI_RTC_BOOTCOUNT=y +CONFIG_SUNXI_RTC_CCU=y +CONFIG_SUNXI_RTC_POWEROFF_ALARM=y +CONFIG_SUNXI_SID=y +# CONFIG_SUNXI_SMC is not set +CONFIG_SUNXI_SOC_NAME="sun20iw1" +# CONFIG_SUNXI_SRAM is not set +CONFIG_SUNXI_SYS_INFO=y +# CONFIG_SUNXI_TIMER is not set +# CONFIG_SUNXI_TIMER_TEST is not set +# CONFIG_SUNXI_TPADC is not set +# CONFIG_SUNXI_TVUTILS is not set +# CONFIG_SUNXI_WAKEUPGEN is not set +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +# CONFIG_SWAP is not set +# CONFIG_SW_SYNC is not set +CONFIG_SYNC_FILE=y +# CONFIG_SYN_COOKIES is not set +CONFIG_SYSCTL=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_SYSFS=y +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_SYSFS_SYSCALL=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_SYSV_FS is not set +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +# CONFIG_TARGET_CORE is not set +# CONFIG_TASKSTATS is not set +CONFIG_TASKS_RCU=y +# CONFIG_TCG_TPM is not set +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +# CONFIG_TCP_MD5SIG is not set +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +# CONFIG_TEST_POWER is not set +# CONFIG_THERMAL is not set +CONFIG_THREAD_INFO_IN_TASK=y +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TICK_ONESHOT=y +CONFIG_TIMERFD=y +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +# CONFIG_TIPC is not set +# CONFIG_TI_ST is not set +# CONFIG_TLS is not set +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +# CONFIG_TOUCHSCREEN_AD7877 is not set +# CONFIG_TOUCHSCREEN_AD7879 is not set +# CONFIG_TOUCHSCREEN_ADS7846 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_BU21029 is not set +# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set +# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set +# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set +# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set +# CONFIG_TOUCHSCREEN_DYNAPRO is not set +# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set +# CONFIG_TOUCHSCREEN_EETI is not set +# CONFIG_TOUCHSCREEN_EGALAX is not set +# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set +# CONFIG_TOUCHSCREEN_EKTF2127 is not set +# CONFIG_TOUCHSCREEN_ELAN is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_EXC3000 is not set +# CONFIG_TOUCHSCREEN_FTS is not set +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GOODIX is not set +# CONFIG_TOUCHSCREEN_GSLX680NEW is not set +# CONFIG_TOUCHSCREEN_GT9XXNEWDUP_TS is not set +CONFIG_TOUCHSCREEN_GT9XXNEW_TS=y +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set +# CONFIG_TOUCHSCREEN_HIDEEP is not set +# CONFIG_TOUCHSCREEN_ILI210X is not set +# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_IQS5XX is not set +# CONFIG_TOUCHSCREEN_MAX11801 is not set +# CONFIG_TOUCHSCREEN_MCS5000 is not set +# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_MMS114 is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_PIXCIR is not set +CONFIG_TOUCHSCREEN_PROPERTIES=y +# CONFIG_TOUCHSCREEN_RM_TS is not set +# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set +# CONFIG_TOUCHSCREEN_S6SY761 is not set +# CONFIG_TOUCHSCREEN_SILEAD is not set +# CONFIG_TOUCHSCREEN_SIS_I2C is not set +# CONFIG_TOUCHSCREEN_ST1232 is not set +# CONFIG_TOUCHSCREEN_SUN4I is not set +# CONFIG_TOUCHSCREEN_SUNXI is not set +# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set +# CONFIG_TOUCHSCREEN_SX8654 is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_TPS6507X is not set +# CONFIG_TOUCHSCREEN_TSC2004 is not set +# CONFIG_TOUCHSCREEN_TSC2005 is not set +# CONFIG_TOUCHSCREEN_TSC2007 is not set +# CONFIG_TOUCHSCREEN_TSC_SERIO is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_WACOM_I2C is not set +# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set +# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set +# CONFIG_TOUCHSCREEN_ZET6223 is not set +# CONFIG_TOUCHSCREEN_ZFORCE is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X is not set +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +# CONFIG_TRACE_SINK is not set +CONFIG_TRACING_SUPPORT=y +CONFIG_TREE_SRCU=y +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_TTY=y +# CONFIG_TTY_PRINTK is not set +# CONFIG_TUN is not set +CONFIG_TUNE_GENERIC=y +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_TV_DISP2_SUNXI is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_TYPEC is not set +# CONFIG_UBIFS_ATIME_SUPPORT is not set +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +# CONFIG_UBIFS_FS_AUTHENTICATION is not set +# CONFIG_UBIFS_FS_LZO is not set +CONFIG_UBIFS_FS_SECURITY=y +CONFIG_UBIFS_FS_XATTR=y +# CONFIG_UBIFS_FS_ZLIB is not set +# CONFIG_UBIFS_FS_ZSTD is not set +# CONFIG_UBSAN is not set +CONFIG_UBSAN_ALIGNMENT=y +# CONFIG_UDF_FS is not set +# CONFIG_UDMABUF is not set +# CONFIG_UEVENT_HELPER is not set +# CONFIG_UFS_FS is not set +# CONFIG_UIO is not set +# CONFIG_UNICODE is not set +CONFIG_UNINLINE_SPIN_UNLOCK=y +# CONFIG_UNISYSSPAR is not set +CONFIG_UNIX=y +CONFIG_UNIX98_PTYS=y +CONFIG_UNIX_DIAG=y +CONFIG_UNIX_SCM=y +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_USB=y +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_ACM is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set +# CONFIG_USB_APPLEDISPLAY is not set +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_AUTOSUSPEND_DELAY=2 +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_CDNS3 is not set +# CONFIG_USB_CHIPIDEA is not set +CONFIG_USB_COMMON=y +CONFIG_USB_CONFIGFS=y +# CONFIG_USB_CONFIGFS_ACM is not set +# CONFIG_USB_CONFIGFS_ECM is not set +# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set +# CONFIG_USB_CONFIGFS_EEM is not set +CONFIG_USB_CONFIGFS_F_FS=y +# CONFIG_USB_CONFIGFS_F_HID is not set +# CONFIG_USB_CONFIGFS_F_LB_SS is not set +# CONFIG_USB_CONFIGFS_F_PRINTER is not set +# CONFIG_USB_CONFIGFS_MASS_STORAGE is not set +# CONFIG_USB_CONFIGFS_NCM is not set +# CONFIG_USB_CONFIGFS_OBEX is not set +# CONFIG_USB_CONFIGFS_RNDIS is not set +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONFIGFS_UEVENT=y +# CONFIG_USB_CONN_GPIO is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DUMMY_HCD is not set +# CONFIG_USB_DWC2 is not set +# CONFIG_USB_DWC3 is not set +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_EHCI_FSL is not set +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +CONFIG_USB_EHCI_HCD_SUNXI=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EZUSB_FX2 is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_FOTG210_UDC is not set +# CONFIG_USB_FTDI_ELAN is not set +CONFIG_USB_F_FS=y +CONFIG_USB_F_SERIAL=y +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_STORAGE_NUM_BUFFERS=2 +CONFIG_USB_GADGET_VBUS_DRAW=2 +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_GR_UDC is not set +# CONFIG_USB_HCD_TEST_MODE is not set +# CONFIG_USB_HID is not set +# CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ISP1760 is not set +# CONFIG_USB_KBD is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_LEGOTOWER is not set +CONFIG_USB_LIBCOMPOSITE=y +# CONFIG_USB_LINK_LAYER_TEST is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_MAX3421_HCD is not set +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_MOUSE is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_NET_DRIVERS is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +CONFIG_USB_OHCI_HCD_SUNXI=y +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_R8A66597_HCD is not set +CONFIG_USB_ROLE_SWITCH=y +# CONFIG_USB_SERIAL is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_SNP_UDC_PLAT is not set +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_USBAT is not set +CONFIG_USB_SUNXI_EHCI0=y +CONFIG_USB_SUNXI_EHCI1=y +CONFIG_USB_SUNXI_HCD=y +CONFIG_USB_SUNXI_HCI=y +CONFIG_USB_SUNXI_OHCI0=y +CONFIG_USB_SUNXI_OHCI1=y +CONFIG_USB_SUNXI_UDC0=y +CONFIG_USB_SUNXI_USB=y +CONFIG_USB_SUNXI_USB_ADB=y +CONFIG_USB_SUNXI_USB_DEBUG=y +CONFIG_USB_SUNXI_USB_MANAGER=y +CONFIG_USB_SUPPORT=y +# CONFIG_USB_TEST is not set +# CONFIG_USB_TMC is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +CONFIG_USB_UAS=y +# CONFIG_USB_ULPI_BUS is not set +CONFIG_USB_U_SERIAL=y +# CONFIG_USB_WDM is not set +# CONFIG_USB_WUSB_CBAF is not set +# CONFIG_USB_XHCI_HCD is not set +# CONFIG_USB_YUREX is not set +# CONFIG_USELIB is not set +# CONFIG_USERFAULTFD is not set +# CONFIG_USERIO is not set +# CONFIG_UWB is not set +# CONFIG_U_SERIAL_CONSOLE is not set +# CONFIG_VALIDATE_FS_PARSER is not set +CONFIG_VA_BITS=39 +# CONFIG_VDPO_DISP2_SUNXI is not set +CONFIG_VECTOR=y +# CONFIG_VETH is not set +CONFIG_VFAT_FS=y +# CONFIG_VFIO is not set +# CONFIG_VIRTIO_MENU is not set +# CONFIG_VIRT_DRIVERS is not set +# CONFIG_VIRT_WIFI is not set +# CONFIG_VLAN_8021Q is not set +CONFIG_VM_EVENT_COUNTERS=y +# CONFIG_VOP_BUS is not set +# CONFIG_VSOCKETS is not set +# CONFIG_VT is not set +# CONFIG_VXFS_FS is not set +# CONFIG_VXLAN is not set +# CONFIG_W1 is not set +# CONFIG_WAN is not set +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +# CONFIG_WATCHDOG is not set +# CONFIG_WILC1000_SDIO is not set +# CONFIG_WILC1000_SPI is not set +# CONFIG_WIMAX is not set +CONFIG_WIRELESS=y +# CONFIG_WIRELESS_WDS is not set +CONFIG_WLAN=y +# CONFIG_WLAN_VENDOR_ADMTEK is not set +# CONFIG_WLAN_VENDOR_ATH is not set +# CONFIG_WLAN_VENDOR_ATMEL is not set +# CONFIG_WLAN_VENDOR_BROADCOM is not set +# CONFIG_WLAN_VENDOR_CISCO is not set +# CONFIG_WLAN_VENDOR_INTEL is not set +# CONFIG_WLAN_VENDOR_INTERSIL is not set +# CONFIG_WLAN_VENDOR_MARVELL is not set +# CONFIG_WLAN_VENDOR_MEDIATEK is not set +# CONFIG_WLAN_VENDOR_QUANTENNA is not set +# CONFIG_WLAN_VENDOR_RALINK is not set +# CONFIG_WLAN_VENDOR_REALTEK is not set +# CONFIG_WLAN_VENDOR_RSI is not set +# CONFIG_WLAN_VENDOR_ST is not set +# CONFIG_WLAN_VENDOR_TI is not set +# CONFIG_WLAN_VENDOR_ZYDAS is not set +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +# CONFIG_WQ_WATCHDOG is not set +# CONFIG_WW_MUTEX_SELFTEST is not set +# CONFIG_X25 is not set +# CONFIG_XFRM_USER is not set +# CONFIG_XFS_FS is not set +# CONFIG_XILINX_SDFEC is not set +# CONFIG_XILINX_VCU is not set +# CONFIG_XILLYBUS is not set +# CONFIG_XIL_AXIS_FIFO is not set +CONFIG_XR819S_WLAN=m +# CONFIG_XR829_WLAN is not set +CONFIG_XXHASH=y +CONFIG_XZ_DEC=y +# CONFIG_XZ_DEC_ARM is not set +# CONFIG_XZ_DEC_ARMTHUMB is not set +# CONFIG_XZ_DEC_IA64 is not set +# CONFIG_XZ_DEC_POWERPC is not set +# CONFIG_XZ_DEC_SPARC is not set +# CONFIG_XZ_DEC_TEST is not set +# CONFIG_XZ_DEC_X86 is not set +# CONFIG_ZBUD is not set +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZONE_DMA32=y +# CONFIG_ZPOOL is not set +# CONFIG_ZSMALLOC is not set +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y diff --git a/device/config/chips/f133/configs/pro/overlay.fex b/device/config/chips/f133/configs/pro/overlay.fex new file mode 100755 index 0000000..bdd6c8b Binary files /dev/null and b/device/config/chips/f133/configs/pro/overlay.fex differ diff --git a/device/config/chips/f133/configs/pro/sys_config.fex b/device/config/chips/f133/configs/pro/sys_config.fex new file mode 100755 index 0000000..bac162d --- /dev/null +++ b/device/config/chips/f133/configs/pro/sys_config.fex @@ -0,0 +1,213 @@ +;sunxi platform application +;--------------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大å°å†™ï¼Œç”¨æˆ·å¯ä»¥ä¿®æ”¹"="åŽé¢çš„数值,但是ä¸è¦ä¿®æ”¹å‰é¢çš„字符串 +; æè¿°gpioçš„å½¢å¼ï¼šPort:端å£+组内åºå·<功能分é…><内部电阻状æ€><驱动能力><输出电平状æ€> +;--------------------------------------------------------------------------------------------------------- + +;--------------------------------------------------------------------------------- +; version:版本1.00 +; machine:æ¿çº§æ–‡ä»¶å +;--------------------------------------------------------------------------------- +[product] +version = "100" +machine = "f133-evb" + + +;---------------------------------------------------------------------------------- +;debug_mode = 0-close printf, > 0-open printf +;---------------------------------------------------------------------------------- +[platform] +debug_mode = 1 + +;---------------------------------------------------------------------------------- +;storage_type = boot medium, 0-nand, 1-sd, 2-emmc, 3-nor, 4-emmc3, 5-spinand -1(defualt)auto scan +;---------------------------------------------------------------------------------- +[target] +boot_clock = 1008 +storage_type = 5 +nand_use_ubi = 1 + +[spinor_para] +;read_mode =4 +;flash_size =16 +;delay_cycle =1 +;frequency =100000000 + +spi_sclk = port:PC02<2><0><2> +spi_cs = port:PC03<2><1><2> +spi0_mosi = port:PC04<2><0><2> +spi0_miso = port:PC05<2><0><2> +spi0_wp = port:PC06<2><0><2> +spi0_hold = port:PC07<2><0><2> + +[card_boot] +card_no = 0 +;---------------------------------------------------------------------------------- +;card_ctrl -å¡é‡äº§ç›¸å…³çš„控制器选择0 | +;card_high_speed -é€Ÿåº¦æ¨¡å¼ 0为低速,1为高速| +;card_line -4:4线å¡ï¼Œ8:8线å¡| +;sdc_d1 -sdcå¡æ•°æ®1线信å·çš„GPIOé…ç½® | +;sdc_d0 -sdcå¡æ•°æ®0线信å·çš„GPIOé…ç½® | +;sdc_clk -sdcå¡æ—¶é’Ÿä¿¡å·çš„GPIOé…ç½® | +;sdc_cmd -sdc命令信å·çš„GPIOé…ç½®| +;sdc_d3 -sdcå¡æ•°æ®3线信å·çš„GPIOé…ç½® | +;sdc_d2 -sdcå¡æ•°æ®2线信å·çš„GPIOé…ç½® | +;---------------------------------------------------------------------------------- +[card0_boot_para] +card_ctrl = 0 +card_high_speed = 1 +card_line = 4 +sdc_d1 = port:PF0<2><1><2> +sdc_d0 = port:PF1<2><1><2> +sdc_clk = port:PF2<2><1><2> +sdc_cmd = port:PF3<2><1><2> +sdc_d3 = port:PF4<2><1><2> +sdc_d2 = port:PF5<2><1><2> +bus-width = 4 +cap-sd-highspeed = +cap-wait-while-busy = +no-sdio = +no-mmc = +sunxi-power-save-mode = + + +;---------------------------------------------------------------------------------- +;card_ctrl -å¡å¯åŠ¨æŽ§åˆ¶å™¨é€‰æ‹©2 +;card_high_speed -é€Ÿåº¦æ¨¡å¼ 0为低速,1为高速 +;card_line -4:4线å¡ï¼Œ8:8çº¿å¡ +;sdc_ds -dsä¿¡å·çš„GPIOé…ç½® +;sdc_d1 -sdcå¡æ•°æ®1线信å·çš„GPIOé…ç½® +;sdc_d0 -sdcå¡æ•°æ®0线信å·çš„GPIOé…ç½® +;sdc_clk -sdcå¡æ—¶é’Ÿä¿¡å·çš„GPIOé…ç½® +;sdc_cmd -sdc命令信å·çš„GPIOé…ç½® +;sdc_d3 -sdcå¡æ•°æ®3线信å·çš„GPIOé…ç½® +;sdc_d2 -sdcå¡æ•°æ®2线信å·çš„GPIOé…ç½® +;sdc_d4 -sdcå¡æ•°æ®4线信å·çš„GPIOé…ç½® +;sdc_d5 -sdcå¡æ•°æ®5线信å·çš„GPIOé…ç½® +;sdc_d6 -sdcå¡æ•°æ®6线信å·çš„GPIOé…ç½® +;sdc_d7 -sdcå¡æ•°æ®7线信å·çš„GPIOé…ç½® +;sdc_emmc_rst -emmc_rstä¿¡å·çš„GPIOé…ç½® +;sdc_ex_dly_used -ex_dly_usedä¿¡å· +;sdc_io_1v8 -sdc_io_1v8高速emmc模å¼é…ç½® +;---------------------------------------------------------------------------------- +[card2_boot_para] +card_ctrl = 2 +card_high_speed = 1 +card_line = 8 +sdc_clk = port:PF25<2><1><3> +sdc_cmd = port:PF24<2><1><3> +sdc_d0 = port:PF16<2><1><3> +sdc_d1 = port:PF17<2><1><3> +sdc_d2 = port:PF18<2><1><3> +sdc_d3 = port:PF19<2><1><3> +sdc_d4 = port:PF20<2><1><3> +sdc_d5 = port:PF21<2><1><3> +sdc_d6 = port:PF22<2><1><3> +sdc_d7 = port:PF23<2><1><3> +sdc_emmc_rst = port:PF31<2><1><3> +sdc_ds = port:PF27<2><1><3> + + + +;---------------------------------------------------------------------------------- +;jtag_enable |JTAG使能 | +;jtag_ms |测试模å¼é€‰æ‹©è¾“å…¥(TMS) çš„GPIOé…ç½®| +;jtag_ck |测试时钟输入(CLK) çš„GPIOé…ç½® | +;jtag_do |测试数æ®è¾“出(TDO) çš„GPIOé…ç½® | +;jtag_di |测试数æ®è¾“出(TDI) çš„GPIOé…ç½® | +;---------------------------------------------------------------------------------- +[jtag_para] +jtag_enable = 0 +jtag_ms = port:PE4<7> +jtag_ck = port:PE7<7> +jtag_do = port:PE6<7> +jtag_di = port:PE5<7> + +;***************************************************************************** +; +;dram select configuration +; +;select_mode : dram模å¼é€‰æ‹©, 0:ä¸è¿›è¡Œè‡ªåŠ¨è¯†åˆ« +; 1:gpio识别模å¼(dram_para, dram_para1-15, å…±16组有效) +; 2:gpadc识别模å¼(dram_para, dram_para1-7, å…±8组有效) +; 3:1个IO+gpadc识别模å¼(dram_para, dram_para1-15, å…±16组有效)。其中IOé…置优先级按select_gpio0>select_gpio1>select_gpio2>select_gpio3 +;gpadc_channel : 选择gpadcé€šé“ æœ‰æ•ˆå€¼(0-3) +;select_gpio1-4 : 选择gpio pin +;***************************************************************************** + + +[dram_select_para] +select_mode = 0 +gpadc_channel = 1 +select_gpio0 = port:PB7<0><1> +select_gpio1 = port:PB4<0><1> +select_gpio2 = port:PH1<0><1> +select_gpio3 = port:PH0<0><1> + + +;***************************************************************************** +;sdram configuration +; +;***************************************************************************** +[dram_para] +dram_clk = 528 +dram_type = 2 +dram_zq = 0x07b7bf9 +dram_odt_en = 0x00 +dram_para1 = 0x000000d2 +dram_para2 = 0x00000000 +dram_mr0 = 0x00000E73 +dram_mr1 = 0x02 +dram_mr2 = 0x0 +dram_mr3 = 0x0 +dram_tpr0 = 0x00471992 +dram_tpr1 = 0x0131A10C +dram_tpr2 = 0x00057041 +dram_tpr3 = 0xB4787896 +dram_tpr4 = 0x0 +dram_tpr5 = 0x48484848 +dram_tpr6 = 0x48 +dram_tpr7 = 0x1621121e +dram_tpr8 = 0x0 +dram_tpr9 = 0x0 +dram_tpr10 = 0x00000000 +dram_tpr11 = 0x00030010 +dram_tpr12 = 0x00000035 +dram_tpr13 = 0x34000000 +;---------------------------------------------------------------------------------- +;twi configuration +;twi_used 0:关闭, 1:打开 +;twi_port 0:twi0, 1:twi1, 2:twi2, 3:twi3, 4:twi4, 5:twi5, 6:r_twi0, 7:r_twi1 +;twi_scl boot0 sclçš„GPIOé…ç½® +;twi_sda boot0 sdaçš„GPIOé…ç½® +;---------------------------------------------------------------------------------- +[twi_para] +twi_used = 0 +twi_port = 2 +twi_scl = port:PG14<3><1> +twi_sda = port:PG15<3><1> + +;---------------------------------------------------------------------------------- +;uart configuration +;uart_debug_port |Boot串å£æŽ§åˆ¶å™¨ç¼–å· | +;uart_debug_tx |Boot串å£å‘é€çš„GPIOé…ç½®| +;uart_debug_rx |Boot串å£æŽ¥æ”¶çš„GPIOé…ç½® | +;---------------------------------------------------------------------------------- +[uart_para] +uart_debug_port = 0 +uart_debug_tx = port:PE02<6><1> +uart_debug_rx = port:PE03<6><1> + +;uart_debug_port = 4 +;uart_debug_tx = port:PG02<5><1> +;uart_debug_rx = port:PG03<5><1> + + +;---------------------------------------------------------------------------------- +;dram_region_mbytes :设置drm大å°ä»¥bytes为å•ä½ +;---------------------------------------------------------------------------------- +[secure] +dram_region_mbytes = 80 +drm_region_mbytes = 0 +drm_region_start_mbytes = 0 + diff --git a/device/config/chips/f133/configs/pro/sys_partition.fex b/device/config/chips/f133/configs/pro/sys_partition.fex new file mode 100755 index 0000000..491b0a9 --- /dev/null +++ b/device/config/chips/f133/configs/pro/sys_partition.fex @@ -0,0 +1,83 @@ +;--------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大å°å†™ï¼Œç”¨æˆ·å¯ä»¥ä¿®æ”¹"="åŽé¢çš„数值,但是ä¸è¦ä¿®æ”¹å‰é¢çš„字符串 +;--------------------------------------------------------------------------------------------------- + + +;--------------------------------------------------------------------------------------------------- +; 固件下载å‚æ•°é…ç½® +;--------------------------------------------------------------------------------------------------- +;*************************************************************************************************** +; mbr的大å°, 以Kbyte为å•ä½ +;*************************************************************************************************** +[mbr] +size = 16384 + +;*************************************************************************************************** +; 分区é…ç½® +; +; +; partition 定义范例: +; [partition] ; //表示是一个分区 +; name = USERFS2 ; //分区å称 +; size = 16384 ; //åˆ†åŒºå¤§å° å•ä½: 扇区.分区表示个数最多2^31 * 512 = 2T +; downloadfile = "123.fex" ; //下载文件的路径和å称,å¯ä»¥ä½¿ç”¨ç›¸å¯¹è·¯å¾„,相对是指相对于image.cfg文件所在分区。也å¯ä»¥ä½¿ç”¨ç»å¯¹è·¯å¾„ +; keydata = 1 ; //ç§æœ‰æ•°æ®åˆ†åŒºï¼Œé‡æ–°é‡äº§æ•°æ®å°†ä¸ä¸¢å¤± +; encrypt = 1 ; //采用加密方å¼çƒ§å½•ï¼Œå°†æ供数æ®åŠ å¯†ï¼Œä½†æŸå¤±çƒ§å½•é€Ÿåº¦ +; user_type = ? ; //ç§æœ‰ç”¨æ³• +; verify = 1 ; //è¦æ±‚é‡äº§å®ŒæˆåŽæ ¡éªŒæ˜¯å¦æ­£ç¡® +; +; 注:1ã€name唯一, ä¸å…许åŒå +; 2ã€name最大12个字符 +; 3ã€size = 0, 将创建一个无大å°çš„空分区 +; 4ã€align to logical block size(504 sectors), leb size = 2*(1 nand phy block size - 1 phy page size) +;*************************************************************************************************** +[partition_start] + +[partition] + name = boot-resource + size = 504 + downloadfile = "boot-resource.fex" + user_type = 0x8000 + +[partition] + name = env + size = 504 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = env-redund + size = 504 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = boot + size = 40960 + downloadfile = "boot.fex" + user_type = 0x8000 + +[partition] + name = rootfs + size = 48640 + downloadfile = "rootfs.fex" + user_type = 0x8000 + +;[partition] +; name = dsp0 +; size = 2048 +; downloadfile = "dsp0.fex" +; user_type = 0x8000 + +[partition] + name = recovery + size = 22400 + ;downloadfile = "recovery.fex" + user_type = 0x8000 + +[partition] + name = rootfs_data + size = 10240 + user_type = 0x8000 + + diff --git a/device/config/chips/f133/configs/pro/sys_partition_nor.fex b/device/config/chips/f133/configs/pro/sys_partition_nor.fex new file mode 100755 index 0000000..88834ca --- /dev/null +++ b/device/config/chips/f133/configs/pro/sys_partition_nor.fex @@ -0,0 +1,67 @@ +;--------------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大å°å†™ï¼Œç”¨æˆ·å¯ä»¥ä¿®æ”¹"="åŽé¢çš„数值,但是ä¸è¦ä¿®æ”¹å‰é¢çš„字符串 +;--------------------------------------------------------------------------------------------------------- + + +;-------------------------------------------------------------------------------------------------- +; 固件下载å‚æ•°é…ç½® +;-------------------------------------------------------------------------------------------------- +;**************************************************** +; mbr的大å°, 以Kbyte为å•ä½ +;**************************************************** +[mbr] +size = 16 + +;******************************************************************************************************** +; 分区é…ç½® +; +; +; partition 定义范例: +; [partition] ; //表示是一个分区 +; name = USERFS2 ; //分区å称 +; size = 16384 ; //åˆ†åŒºå¤§å° å•ä½: 扇区.分区表示个数最多2^31 * 512 = 2T +; downloadfile = "123.fex" ; //下载文件的路径和å称,å¯ä»¥ä½¿ç”¨ç›¸å¯¹è·¯å¾„,相对是指相对于image.cfg文件所在分区。也å¯ä»¥ä½¿ç”¨ç»å¯¹è·¯å¾„ +; keydata = 1 ; //ç§æœ‰æ•°æ®åˆ†åŒºï¼Œé‡æ–°é‡äº§æ•°æ®å°†ä¸ä¸¢å¤± +; encrypt = 1 ; //采用加密方å¼çƒ§å½•ï¼Œå°†æ供数æ®åŠ å¯†ï¼Œä½†æŸå¤±çƒ§å½•é€Ÿåº¦ +; user_type = ? ; //ç§æœ‰ç”¨æ³• +; verify = 1 ; //è¦æ±‚é‡äº§å®ŒæˆåŽæ ¡éªŒæ˜¯å¦æ­£ç¡® +; +; 注:1ã€name唯一, ä¸å…许åŒå +; 2ã€name最大12个字符 +; 3ã€size = 0, 将创建一个无大å°çš„空分区 +; 4ã€ä¸ºäº†å®‰å…¨å’Œæ•ˆçŽ‡è€ƒè™‘,分区大å°æœ€å¥½ä¿è¯ä¸º16Må­—èŠ‚çš„æ•´æ•°å€ +;******************************************************************************************************** +[partition_start] + +[partition] + name = boot-resource + size = 128 + ;downloadfile = "boot-resource.fex" + user_type = 0x8000 + +[partition] + name = env + size = 512 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = env-redund + size = 512 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = boot + size = 15360 + downloadfile = "boot.fex" + user_type = 0x8000 + +[partition] + name = rootfs + size = 15360 + downloadfile = "rootfs_nor.fex" + user_type = 0x8000 + + + diff --git a/device/config/chips/f133/configs/pro/uboot-board.dts b/device/config/chips/f133/configs/pro/uboot-board.dts new file mode 100755 index 0000000..2854e5e --- /dev/null +++ b/device/config/chips/f133/configs/pro/uboot-board.dts @@ -0,0 +1,411 @@ +/* + * Allwinner Technology CO., Ltd. sun20iw1p1 soc board. + * + * soc board support. + */ + +&platform { + eraseflag = <1>; + next_work = <3>; + debug_mode = <1>; +}; + +&target { + boot_clock = <1008>; /*CPU boot frequency, Unit: MHz*/ + storage_type = <0xffffffff>; /*boot medium, 0-nand, 1-card0, 2-card2, -1(defualt)auto scan*/ + burn_key = <0>; /*1:support burn key; 0:not support burn key*/ + dragonboard_test = <0>; /*1:support card boot dragonboard; 0:not support card boot dragonboard*/ +}; + + +&charger0 { + pmu_safe_vol = <3500>; +}; + + +&twi6 { + clock-frequency = <200000>; + pinctrl-0 = <&s_twi0_pins_a>; + no_suspend = <1>; + twi_drv_used = <1>; + status = "okay"; +}; + +&pwm2_pin_a { + pins = "PD18"; + function = "pwm2"; + muxsel = <5>; + drive-strength = <10>; + bias-pull-up; +}; + +&pwm2_pin_b { + pins = "PD18"; + muxsel = <0>; + function = "gpio_out"; +}; + +&pwm2 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm2_pin_a>; + pinctrl-1 = <&pwm2_pin_b>; + status = "okay"; +}; + +&pwm7_pin_a { + pins = "PD22"; + function = "pwm7"; + muxsel = <5>; + drive-strength = <10>; + bias-pull-up; +}; + +&pwm7_pin_b { + pins = "PD22"; + muxsel = <0>; + function = "gpio_in"; +}; + +&pwm7 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm7_pin_a>; + pinctrl-1 = <&pwm7_pin_b>; + status = "okay"; +}; + +&sdc0_pins_a { + allwinner,pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + allwinner,function = "sdc0"; + allwinner,muxsel = <2>; + allwinner,drive = <3>; + allwinner,pull = <1>; + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "sdc0"; + drive-strength = <30>; + bias-pull-up; + power-source = <3300>; +}; + +&sdc0_pins_b { + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "sdc0"; + drive-strength = <30>; + bias-pull-up; + power-source = <1800>; +}; + +&sdc0_pins_c { + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "gpio_in"; + +}; + + +&sdc2_pins_a { + allwinner,pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + allwinner,function = "sdc2"; + allwinner,muxsel = <3>; + allwinner,drive = <3>; + allwinner,pull = <1>; + pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + function = "sdc2"; + drive-strength = <30>; + bias-pull-up; + +}; + +&sdc2_pins_b { + pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + function = "gpio_in"; +}; + + + +&nand0_pins_a { + allwinner,pins = "PC0", "PC1", "PC2", "PC5", + "PC8", "PC9", "PC10", "PC11", + "PC12", "PC13", "PC14", "PC15", + "PC16"; + allwinner,pname= "nand0_we", "nand0_ale","nand0_cle", "nand0_nre", + "nand0_d0", "nand0_d1", "nand0_d2", "nand0_d3", + "nand0_d4", "nand0_d5", "nand0_d6", "nand0_d7", + "nand0_ndqs"; + allwinner,function = "nand0"; + allwinner,muxsel = <2>; + allwinner,drive = <1>; + allwinner,pull = <0>; +}; + +&nand0_pins_b { + allwinner,pins = "PC4", "PC6", "PC03", "PC07"; + allwinner,pname= "nand0_ce0", "nand0_rb0", "nand0_ce1", "nand0_rb1"; + allwinner,function = "nand0"; + allwinner,muxsel = <2>; + allwinner,drive = <1>; + allwinner,pull = <1>; /* only RB&CE should be pulled up */ +}; + +&nand0_pins_c { + allwinner,pins = "PC0", "PC1", "PC2", "PC3", + "PC4", "PC5", "PC6", "PC7", + "PC8", "PC9", "PC10", "PC11", + "PC12", "PC13", "PC14", "PC15", + "PC16"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <7>; + allwinner,drive = <1>; + allwinner,pull = <0>; +}; + +&card0_boot_para { /* Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value */ + /* reg = <0x0 0x2 0x0 0x0>; [> Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value <] */ + device_type = "card0_boot_para"; + card_ctrl = <0x0>; + card_high_speed = <0x1>; + card_line = <0x4>; + /* + pinctrl-0 = <&sdc0_pins_a>; + */ +}; + +&card2_boot_para { /* Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value */ + /* reg = <0x0 0x3 0x0 0x0>; [> Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value <] */ + device_type = "card2_boot_para"; + card_ctrl = <0x2>; + card_high_speed = <0x1>; + card_line = <0x4>; + pinctrl-0 = <&sdc2_pins_a>; + sdc_ex_dly_used = <0x2>; + sdc_tm4_hs200_max_freq = <150>; + sdc_tm4_hs400_max_freq = <100>; +}; +&gpio_bias { /* Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value */ + device_type = "gpio_bias"; +}; + +&nand0 { + compatible = "allwinner,sun20iw1-nand"; + device_type = "nand0"; + //reg = <0x0 0x04011000 0x0 0x1000>;/* nand0 */ + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&nand0_pins_a &nand0_pins_b>; + pinctrl-1 = <&nand0_pins_c>; + nand0_regulator1 = "vcc-nand"; + nand0_regulator2 = "none"; + nand0_cache_level = <0x55aaaa55>; + nand0_flush_cache_num = <0x55aaaa55>; + nand0_capacity_level = <0x55aaaa55>; + nand0_id_number_ctl = <0x55aaaa55>; + nand0_print_level = <0x55aaaa55>; + nand0_p0 = <0x55aaaa55>; + nand0_p1 = <0x55aaaa55>; + nand0_p2 = <0x55aaaa55>; + nand0_p3 = <0x55aaaa55>; + chip_code = "sun20iw1"; + status = "disabled"; +}; + +&disp { + disp_init_enable = <1>; + disp_mode = <0>; + + screen0_output_type = <1>; + screen0_output_mode = <4>; + + screen1_output_type = <1>; + screen1_output_mode = <4>; + + screen1_output_format = <0>; + screen1_output_bits = <0>; + screen1_output_eotf = <4>; + screen1_output_cs = <257>; + screen1_output_range = <2>; + screen1_output_scan = <0>; + screen1_output_aspect_ratio = <8>; + + dev0_output_type = <1>; + dev0_output_mode = <4>; + dev0_screen_id = <0>; + dev0_do_hpd = <0>; + + dev1_output_type = <4>; + dev1_output_mode = <10>; + dev1_screen_id = <1>; + dev1_do_hpd = <1>; + + def_output_dev = <0>; + + fb0_format = <0>; + fb0_width = <800>; + fb0_height = <480>; +/* + fb0_height = <1280>; +*/ + fb1_format = <0>; + fb1_width = <0>; + fb1_height = <0>; + chn_cfg_mode = <1>; + + disp_para_zone = <1>; + /*VCC-LCD*/ +/* dc1sw-supply = <®_dc1sw>;*/ + /*VCC-DSI*/ +/* eldo3-supply = <®_eldo3>;*/ + /*VCC-PD*/ +/* dcdc1-supply = <®_dcdc1>;*/ +}; + +&lcd0 { + lcd_used = <1>; + + lcd_driver_name = "default_lcd"; + lcd_if = <0>; + lcd_x = <800>; + lcd_y = <480>; + lcd_width = <150>; + lcd_height = <94>; + lcd_dclk_freq = <48>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <10000>; + lcd_pwm_pol = <1>; + + lcd_hbp = <55>; + lcd_ht = <1240>; + lcd_hspw = <20>; + lcd_vbp = <35>; + lcd_vt = <650>; + lcd_vspw = <10>; + + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_io_phase = <0x0000>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + pinctrl-0 = <&rgb18_pins_a>; + pinctrl-1 = <&rgb18_pins_b>; +/* + lcd_driver_name = "default_lcd"; + lcd_backlight = <150>; + lcd_if = <3>; + + lcd_x = <1280>; + lcd_y = <800>; + lcd_width = <150>; + lcd_height = <94>; + lcd_dclk_freq = <71>; + lcd_rb_swap = <0>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <1>; + lcd_pwm_max_limit = <255>; + + lcd_hbp = <20>; + lcd_ht = <1418>; + lcd_hspw = <10>; + lcd_vbp = <10>; + lcd_vt = <814>; + lcd_vspw = <5>; + + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <1>; + lcd_io_phase = <0x0000>; + lcd_hv_clk_phase = <0>; + lcd_hv_sync_polarity = <0>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_act_time = <1000>; + lcd_fsync_dis_time = <1000>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + pinctrl-0 = <&lvds0_pins_a>; + pinctrl-1 = <&lvds0_pins_b>; + lcd_bl_en = <&pio PD 20 GPIO_ACTIVE_HIGH>; + + lcd_driver_name = "he0801a068"; + lcd_backlight = <50>; + lcd_if = <4>; + + lcd_x = <800>; + lcd_y = <1280>; + lcd_width = <52>; + lcd_height = <52>; + lcd_dclk_freq = <78>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <1>; + lcd_pwm_max_limit = <255>; + + lcd_hbp = <149>; + lcd_ht = <978>; + lcd_hspw = <16>; + lcd_vbp = <7>; + lcd_vt = <1329>; + lcd_vspw = <5>; + + lcd_dsi_lane = <4>; + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_io_phase = <0x0000>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_act_time = <1000>; + lcd_fsync_dis_time = <1000>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + pinctrl-0 = <&dsi4lane_pins_a>; + pinctrl-1 = <&dsi4lane_pins_b>; + lcd_gpio_0 = <&pio PD 20 1 0 3 1>; +*/ +}; + +&aliases { + nand0 = &nand0; + twi6 = &twi6; + pwm = &pwm; + pwm0 = &pwm0; + pwm1 = &pwm1; + pwm2 = &pwm2; + pwm3 = &pwm3; + pwm4 = &pwm4; + pwm5 = &pwm5; + pwm6 = &pwm6; + pwm7 = &pwm7; + disp = &disp; + lcd0 = &lcd0; + lcd1 = &lcd1; + eink = &eink; + spi0 = &spi0; + +}; diff --git a/device/config/chips/f133/tools/cardscript.fex b/device/config/chips/f133/tools/cardscript.fex new file mode 100644 index 0000000..7a9ca7e --- /dev/null +++ b/device/config/chips/f133/tools/cardscript.fex @@ -0,0 +1,81 @@ +;------------------------------------------------------------------------------------------------------------- +; +; card_script.cfg +; +; 2009-11-20 11:11:23 +; +;------------------------------------------------------------------------------------------------------------- + +;------------------------------------------------------------------------------- +; ������� +;------------------------------------------------------------------------------- +[process] +version=300 +mode=product +;null �Ƿ� 0 +;product ������ 1 +;bromrun ����� 2 +;update ������ 3 +;test ������ 4 + +;null��ʾ���� + +;start ��ʼ�������� +;sectors ����������0��ʾ�Զ������ļ�size�����Զ����� + +;------------------------------------------------------------------------------- +; +;------------------------------------------------------------------------------- +[boot_0_0] +main=12345678 +sub=1234567890BOOT_0 +start=16 +sectors=0 +type=1 +;0 raw +;1 1�� +;2 2�� +;x ���� +param0=0 +param1=0 +param2=0 +param3=0 +param4=0 +param5=0 +param6=0 +param7=0 +commen=pheonix card_00 +commchs=��д��һ���� + +;------------------------------------------------------------------------------- +; +;------------------------------------------------------------------------------- +[boot_1_0] +main=12345678 +sub=BOOTPKG-00000000 +start=32800 +sectors=0 +type=1 +;0 raw +;1 1�� +;2 2�� +;x ���� +param0=0 +param1=0 +param2=0 +param3=0 +param4=0 +param5=0 +param6=0 +param7=0 +commen=pheonix card_10 +commchs=��д���岿�� + + +[card_boot] +start = 40960 + + +;------------------------------------------------------------------------------------------------------------- +; ���� +;------------------------------------------------------------------------------------------------------------- diff --git a/device/config/chips/f133/tools/plat_config.sh b/device/config/chips/f133/tools/plat_config.sh new file mode 100755 index 0000000..390892f --- /dev/null +++ b/device/config/chips/f133/tools/plat_config.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +#set -e + +# +# 3:ddr3 4:ddr4 7:lpddr3 8:lpddr4 +# +DRAM_TYPE=0 +DRAM_NAME="null" +PACK_CHIP="sun20iw1p1" + + +copy_boot_file() +{ + DRAM_TYPE=`awk '$0~"dram_type"{printf"%d", $3}' out/sys_config.fex` + + case $DRAM_TYPE in + 3) DRAM_NAME="ddr3" + ;; + 4) DRAM_NAME="ddr4" + ;; + 7) DRAM_NAME="lpddr3" + ;; + 8) DRAM_NAME="lpddr4" + ;; + *) DRAM_NAME="unknow" + exit 0 + ;; + esac + + plat_boot_file_list=( + chips/${PACK_CHIP}/bin/boot0_nand_${PACK_CHIP}_${DRAM_NAME}.bin:out/boot0_nand.fex + chips/${PACK_CHIP}/bin/boot0_sdcard_${PACK_CHIP}_${DRAM_NAME}.bin:out/boot0_sdcard.fex + chips/${PACK_CHIP}/bin/boot0_spinor_${PACK_CHIP}_${DRAM_NAME}.bin:out/boot0_spinor.fex + chips/${PACK_CHIP}/bin/fes1_${PACK_CHIP}_${DRAM_NAME}.bin:out/fes1.fex + chips/${PACK_CHIP}/bin/sboot_${PACK_CHIP}_${DRAM_NAME}.bin:out/sboot.bin + chips/${PACK_CHIP}/bin/scp_${DRAM_NAME}.bin:out/scp.fex + ) + + + printf "copying boot file for ${DRAM_NAME}\n" + for file in ${plat_boot_file_list[@]} ; do + cp -f $(echo $file | sed -e 's/:/ /g') 2>/dev/null + done +} + +#copy_boot_file diff --git a/device/config/chips/f133/tools/readme.txt b/device/config/chips/f133/tools/readme.txt new file mode 100644 index 0000000..0b38ecb --- /dev/null +++ b/device/config/chips/f133/tools/readme.txt @@ -0,0 +1 @@ +use pack/common/tools diff --git a/device/config/chips/t113/bin/boot0_nand_sun8iw20p1.bin b/device/config/chips/t113/bin/boot0_nand_sun8iw20p1.bin new file mode 100644 index 0000000..392b605 Binary files /dev/null and b/device/config/chips/t113/bin/boot0_nand_sun8iw20p1.bin differ diff --git a/device/config/chips/t113/bin/boot0_sdcard_sun8iw20p1.bin b/device/config/chips/t113/bin/boot0_sdcard_sun8iw20p1.bin new file mode 100644 index 0000000..e2d4e2e Binary files /dev/null and b/device/config/chips/t113/bin/boot0_sdcard_sun8iw20p1.bin differ diff --git a/device/config/chips/t113/bin/boot0_spinor_sun8iw20p1.bin b/device/config/chips/t113/bin/boot0_spinor_sun8iw20p1.bin new file mode 100644 index 0000000..6c1d4d6 Binary files /dev/null and b/device/config/chips/t113/bin/boot0_spinor_sun8iw20p1.bin differ diff --git a/device/config/chips/t113/bin/dsp0.bin b/device/config/chips/t113/bin/dsp0.bin new file mode 100755 index 0000000..5d3e695 Binary files /dev/null and b/device/config/chips/t113/bin/dsp0.bin differ diff --git a/device/config/chips/t113/bin/fes1_sun8iw20p1.bin b/device/config/chips/t113/bin/fes1_sun8iw20p1.bin new file mode 100644 index 0000000..ee33208 Binary files /dev/null and b/device/config/chips/t113/bin/fes1_sun8iw20p1.bin differ diff --git a/device/config/chips/t113/bin/optee_sun8iw20p1.bin b/device/config/chips/t113/bin/optee_sun8iw20p1.bin new file mode 100755 index 0000000..d332477 Binary files /dev/null and b/device/config/chips/t113/bin/optee_sun8iw20p1.bin differ diff --git a/device/config/chips/t113/bin/sboot_sun8iw20p1.bin b/device/config/chips/t113/bin/sboot_sun8iw20p1.bin new file mode 100644 index 0000000..62edea9 Binary files /dev/null and b/device/config/chips/t113/bin/sboot_sun8iw20p1.bin differ diff --git a/device/config/chips/t113/bin/u-boot-sun8iw20p1.bin b/device/config/chips/t113/bin/u-boot-sun8iw20p1.bin new file mode 100755 index 0000000..ba1bb28 Binary files /dev/null and b/device/config/chips/t113/bin/u-boot-sun8iw20p1.bin differ diff --git a/device/config/chips/t113/boot-resource/boot-resource.ini b/device/config/chips/t113/boot-resource/boot-resource.ini new file mode 100755 index 0000000..04d3fda --- /dev/null +++ b/device/config/chips/t113/boot-resource/boot-resource.ini @@ -0,0 +1,32 @@ + +[system] +ver=100 +date=2009-7-03 +ID=937ae0d0-50e3-43c2-9b84-bfef0cd21a41 + +[fsinfo] +disccnt=1 +disc0=c +;------------------------------------------------------------------------------------------------------------- +; +;------------------------------------------------------------------------------------------------------------- +[c] +;�ļ�ϵͳ�̷� +disc=c + +;�ļ�ϵͳ�������� +fsname=.\boot-resource.fex + +;�ļ�ϵͳ���� +format=fat16 + +;�ļ�ϵͳsize(k) +size=131072 + +;�ļ�ϵͳ���� +attr=0 + +;root location and counter define +rootcnt=1 +root0=.\boot-resource + diff --git a/device/config/chips/t113/boot-resource/boot-resource/bat/bat0.bmp b/device/config/chips/t113/boot-resource/boot-resource/bat/bat0.bmp new file mode 100755 index 0000000..2cfc573 Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/bat/bat0.bmp differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/bat/bat1.bmp b/device/config/chips/t113/boot-resource/boot-resource/bat/bat1.bmp new file mode 100755 index 0000000..216c489 Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/bat/bat1.bmp differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/bat/bat10.bmp b/device/config/chips/t113/boot-resource/boot-resource/bat/bat10.bmp new file mode 100755 index 0000000..417efdf Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/bat/bat10.bmp differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/bat/bat2.bmp b/device/config/chips/t113/boot-resource/boot-resource/bat/bat2.bmp new file mode 100755 index 0000000..33642c1 Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/bat/bat2.bmp differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/bat/bat3.bmp b/device/config/chips/t113/boot-resource/boot-resource/bat/bat3.bmp new file mode 100755 index 0000000..542e4b3 Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/bat/bat3.bmp differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/bat/bat4.bmp b/device/config/chips/t113/boot-resource/boot-resource/bat/bat4.bmp new file mode 100755 index 0000000..b3b87c2 Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/bat/bat4.bmp differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/bat/bat5.bmp b/device/config/chips/t113/boot-resource/boot-resource/bat/bat5.bmp new file mode 100755 index 0000000..9b7379a Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/bat/bat5.bmp differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/bat/bat6.bmp b/device/config/chips/t113/boot-resource/boot-resource/bat/bat6.bmp new file mode 100755 index 0000000..83a10e1 Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/bat/bat6.bmp differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/bat/bat7.bmp b/device/config/chips/t113/boot-resource/boot-resource/bat/bat7.bmp new file mode 100755 index 0000000..5615840 Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/bat/bat7.bmp differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/bat/bat8.bmp b/device/config/chips/t113/boot-resource/boot-resource/bat/bat8.bmp new file mode 100755 index 0000000..a13d6d6 Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/bat/bat8.bmp differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/bat/bat9.bmp b/device/config/chips/t113/boot-resource/boot-resource/bat/bat9.bmp new file mode 100755 index 0000000..8e90e20 Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/bat/bat9.bmp differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/bat/battery.bmp b/device/config/chips/t113/boot-resource/boot-resource/bat/battery.bmp new file mode 100755 index 0000000..ed17fba Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/bat/battery.bmp differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/bat/battery_charge.bmp b/device/config/chips/t113/boot-resource/boot-resource/bat/battery_charge.bmp new file mode 100755 index 0000000..8913393 Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/bat/battery_charge.bmp differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/bat/bempty.bmp b/device/config/chips/t113/boot-resource/boot-resource/bat/bempty.bmp new file mode 100755 index 0000000..91dd947 Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/bat/bempty.bmp differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/bat/low_pwr.bmp b/device/config/chips/t113/boot-resource/boot-resource/bat/low_pwr.bmp new file mode 100755 index 0000000..3d62b7c Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/bat/low_pwr.bmp differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/bootlogo.bmp b/device/config/chips/t113/boot-resource/boot-resource/bootlogo.bmp new file mode 100755 index 0000000..70592ff Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/bootlogo.bmp differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/fastbootlogo.bmp b/device/config/chips/t113/boot-resource/boot-resource/fastbootlogo.bmp new file mode 100644 index 0000000..46db152 Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/fastbootlogo.bmp differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/font24.sft b/device/config/chips/t113/boot-resource/boot-resource/font24.sft new file mode 100755 index 0000000..bf1ba18 Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/font24.sft differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/font32.sft b/device/config/chips/t113/boot-resource/boot-resource/font32.sft new file mode 100755 index 0000000..c19f1f9 Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/font32.sft differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/wavefile/default.awf b/device/config/chips/t113/boot-resource/boot-resource/wavefile/default.awf new file mode 100755 index 0000000..f0e5ce2 Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/wavefile/default.awf differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/wavefile/default_5_8.awf b/device/config/chips/t113/boot-resource/boot-resource/wavefile/default_5_8.awf new file mode 100644 index 0000000..89e751c Binary files /dev/null and b/device/config/chips/t113/boot-resource/boot-resource/wavefile/default_5_8.awf differ diff --git a/device/config/chips/t113/boot-resource/boot-resource/wavefile/vcom.bin b/device/config/chips/t113/boot-resource/boot-resource/wavefile/vcom.bin new file mode 100644 index 0000000..0725700 --- /dev/null +++ b/device/config/chips/t113/boot-resource/boot-resource/wavefile/vcom.bin @@ -0,0 +1 @@ +-2500mv \ No newline at end of file diff --git a/device/config/chips/t113/configs/default/BoardConfig.mk b/device/config/chips/t113/configs/default/BoardConfig.mk new file mode 100644 index 0000000..d7a6c55 --- /dev/null +++ b/device/config/chips/t113/configs/default/BoardConfig.mk @@ -0,0 +1,7 @@ +LICHEE_CHIP:=sun8iw20p1 +LICHEE_ARCH:=arm +LICHEE_BRANDY_VER:=2.0 +LICHEE_BRANDY_DEFCONF:=sun8iw20p1_defconfig +LICHEE_KERN_VER:=5.4 +LICHEE_KERN_DEFCONF:=sun8iw20p1smp_defconfig +LICHEE_REDUNDANT_ENV_SIZE:=0x20000 diff --git a/device/config/chips/t113/configs/default/BoardConfig_nor.mk b/device/config/chips/t113/configs/default/BoardConfig_nor.mk new file mode 100755 index 0000000..5e1201d --- /dev/null +++ b/device/config/chips/t113/configs/default/BoardConfig_nor.mk @@ -0,0 +1,11 @@ +LICHEE_CHIP:=sun8iw20p1 +LICHEE_ARCH:=arm +LICHEE_BRANDY_VER:=2.0 +LICHEE_FLASH:=nor +LICHEE_BRANDY_DEFCONF:=sun8iw20p1_defconfig +LICHEE_KERN_VER:=5.4 +LICHEE_KERN_DEFCONF:=sun8iw20p1smp_min_defconfig +LICHEE_ROOTFS:=target-arm-linaro-5.3.tar.bz2 +LICHEE_REDUNDANT_ENV_SIZE:=0x20000 +LICHEE_COMPRESS:=gzip + diff --git a/device/config/chips/t113/configs/default/boot_package.cfg b/device/config/chips/t113/configs/default/boot_package.cfg new file mode 100755 index 0000000..bc7739e --- /dev/null +++ b/device/config/chips/t113/configs/default/boot_package.cfg @@ -0,0 +1,9 @@ +[package] +;item=Item_TOC_name, Item_filename, +item=u-boot, u-boot.fex +item=optee, optee.fex +;item=scp, scp.fex +;item=logo, bootlogo.bmp.lzma +;item=shutdowncharge, bempty.bmp.lzma +;item=androidcharge, battery_charge.bmp.lzma +item=dtb, sunxi.fex diff --git a/device/config/chips/t113/configs/default/boot_package_nor.cfg b/device/config/chips/t113/configs/default/boot_package_nor.cfg new file mode 100644 index 0000000..ae0c71d --- /dev/null +++ b/device/config/chips/t113/configs/default/boot_package_nor.cfg @@ -0,0 +1,9 @@ +[package] +;item=Item_TOC_name, Item_filename, +item=u-boot, u-boot-spinor.fex +item=optee, optee.fex +;item=scp, scp.fex +;item=logo, bootlogo.bmp.lzma +;item=shutdowncharge, bempty.bmp.lzma +;item=androidcharge, battery_charge.bmp.lzma +item=dtb, sunxi.fex diff --git a/device/config/chips/t113/configs/default/default.awlic b/device/config/chips/t113/configs/default/default.awlic new file mode 100755 index 0000000..31bd51d --- /dev/null +++ b/device/config/chips/t113/configs/default/default.awlic @@ -0,0 +1,18 @@ + +[cert] +MIIDWDCCAkCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADA1MQswCQYDVQQGEwJaRzESMBAGA1UECAwJ +R3VhbmdEb25nMRIwEAYDVQQKDAlBbGx3aW5uZXIwHhcNMjEwNjE3MTE0NTE2WhcNNDEwNjIyMTE0 +NTE2WjA1MQswCQYDVQQGEwJaRzESMBAGA1UECAwJR3VhbmdEb25nMRIwEAYDVQQKDAlBbGx3aW5u +ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGe8uPPgzM+U9SRSH2ODVTLzvpDclm +Qb1uSKlAiLGCLcb9duWILPI/XE+bwydt5NSXRO9VzJU/MJvfaemVsEB9J84HyVxfaOPdk1M7fISX +RCk5UorMIUCARtPJiSVr4+qLYk9oR5UGKsm5HqFSkr7gwRQweAf70oMXnQbUplxbjBaPpMrmJqkx +qVZGjpuLc6y5toB8XH3ANLXxtjSjDAscB5nnM8+aDQ7e6dV6jBHAyI1r8IQUvl6lVz6/ZfKyb3Jj +Ljw/vxJ1oM5jcVXlJpKTlOLDaw5cTzJuzAUf5wDiN9ds/myK8Z3uA8VSsWodMRumAr0yIYCuSyny +0r8gDyEtAgMBAAGjczBxMAkGA1UdEwQCMAAwJAYJYIZIAYb4QgENBBcWFUFXc3VuOGl3MjBwMXQx +MTMtNjAwMDAdBgNVHQ4EFgQUpsfA23NOnWjijTJu0Q8nYr+Xj48wHwYDVR0jBBgwFoAUaB6jc3t5 +eRVuq0DxNk8oZXJCM3YwDQYJKoZIhvcNAQELBQADggEBAEyRoPFFAAt0P8/L0y4j6nsZUAdArryi +5v64TH0/dRcZy41Sd5HFvYd784Or4x8wEnHm1Ag1QvH73DnsoJjfczsKWtqd6NdAf89v5erMZ4lG +a+K8cO7atjDgCWEdCgU4XfR0E08en0c3tFY1U7RoYBQ0tQqyxCfeRxlUF7jdWQmgW6WNiT2CvAG/ +Gza1EG5l+7I0u5x1kZFDz4zvzJees5F52LIdJu+IVC0QeMaRXwES5Qn8cFFYD65J6RUOb3e1pGeY +5ahISC0pB9KgG35vw5Jj7Y4c5NGrD5GNFSGnFA9TFRsE3rQsg5vPgqfmaqWqATQs2yByPeen02xR +kjtvI7I= diff --git a/device/config/chips/t113/configs/default/diskfs.fex b/device/config/chips/t113/configs/default/diskfs.fex new file mode 100755 index 0000000..a64a5a9 Binary files /dev/null and b/device/config/chips/t113/configs/default/diskfs.fex differ diff --git a/device/config/chips/t113/configs/default/dragon_toc.cfg b/device/config/chips/t113/configs/default/dragon_toc.cfg new file mode 100755 index 0000000..3c0a043 --- /dev/null +++ b/device/config/chips/t113/configs/default/dragon_toc.cfg @@ -0,0 +1,27 @@ +;///////////////////////////////////////////////////////////////////////////// +;[key_ras] +;///////////////////////////////////////////////////////////////////////////// +[key_rsa] +key=Trustkey +key=NOTWORLD_KEY +key=PRIMARY_DEBUG_KEY +key=SCPFirmwareContentCertPK +key=SecondaryDebugCertPK +key=SoCFirmwareContentCert_KEY +key=TrustedFirmwareContentCertPK +key=TWORLD_KEY +key=NonTrustedFirmwareContentCertPK + + +[toc0] +;item=Item_TOC_name, Item_filename, Key_Name +item=toc0, sboot.bin, Trustkey + +[toc1] +;item=Item_TOC_name, Item_filename, Key_Name +rootkey=rootkey, rootkey.der, Trustkey +item=optee, optee.fex, SCPFirmwareContentCertPK +onlykey=boot, boot.fex, SCPFirmwareContentCertPK +item=u-boot, u-boot.fex, NonTrustedFirmwareContentCertPK +onlydata=dtb, sunxi.fex NULL + diff --git a/device/config/chips/t113/configs/default/env.cfg b/device/config/chips/t113/configs/default/env.cfg new file mode 100644 index 0000000..30fe670 --- /dev/null +++ b/device/config/chips/t113/configs/default/env.cfg @@ -0,0 +1,34 @@ + +#kernel command arguments +earlyprintk=sunxi-uart,0x02500000 +initcall_debug=0 +console=ttyS0,115200 +nand_root=ubi0_5 +mmc_root=/dev/mmcblk0p5 +mtd_name=sys +rootfstype=ubifs,rw +init=/init +loglevel=8 +cma=8M +mac= +wifi_mac= +bt_mac= +specialstr= +keybox_list=widevine,ec_key,ec_cert1,ec_cert2,ec_cert3,rsa_key,rsa_cert1,rsa_cert2,rsa_cert3 +dsp0_partition=dsp0 +#set kernel cmdline if boot.img or recovery.img has no cmdline we will use this +setargs_nand=setenv bootargs ubi.mtd={mtd_name} earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 +setargs_nand_ubi=setenv bootargs ubi.mtd={mtd_name} earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 +setargs_mmc=setenv bootargs earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${mmc_root} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 +#nand command syntax: sunxi_flash read address partition_name read_bytes +#0x4007f800 = 0x40080000(kernel entry) - 0x800(boot.img header 2k) +boot_dsp0=sunxi_flash read 45000000 ${dsp0_partition};bootr 45000000 0 0 +boot_normal=sunxi_flash read 45000000 boot;bootm 45000000 +boot_recovery=sunxi_flash read 45000000 recovery;bootm 45000000 +boot_fastboot=fastboot + +#uboot system env config +bootdelay=0 +#default bootcmd, will change at runtime according to key press +#default nand boot +bootcmd=run setargs_nand boot_dsp0 boot_normal diff --git a/device/config/chips/t113/configs/default/env_burn.cfg b/device/config/chips/t113/configs/default/env_burn.cfg new file mode 100755 index 0000000..de40999 --- /dev/null +++ b/device/config/chips/t113/configs/default/env_burn.cfg @@ -0,0 +1,6 @@ +bootdelay=0 +bootcmd=run user_data_burn +user_data_burn=pburn 1 +#kernel command arguments +console=ttyS0,115200 + diff --git a/device/config/chips/t113/configs/default/env_dragon.cfg b/device/config/chips/t113/configs/default/env_dragon.cfg new file mode 100755 index 0000000..cac8074 --- /dev/null +++ b/device/config/chips/t113/configs/default/env_dragon.cfg @@ -0,0 +1,23 @@ +bootdelay=0 +#default bootcmd, will change at runtime according to key press +bootcmd=run setargs_nand boot_normal#default nand boot +#kernel command arguments +console=ttyS0,115200 +nand_root=/dev/nandd +mmc_root=/dev/mmcblk0p7 +init=/init +loglevel=8 +#set kernel cmdline if boot.img or recovery.img has no cmdline we will use this +setargs_nand=setenv bootargs console=${console} root=${nand_root} init=${init} loglevel=${loglevel} partitions=${partitions} +setargs_mmc=setenv bootargs console=${console} root=${mmc_root} init=${init} loglevel=${loglevel} partitions=${partitions} +#nand command syntax: sunxi_flash read address partition_name read_bytes +#0x40007800 = 0x40008000(kernel entry) - 0x800(boot.img header 2k) +boot_normal=sunxi_flash read 45000000 boot;boota 45000000 boot +boot_recovery=sunxi_flash read 45000000 recovery;boota 45000000 recovery +boot_fastboot=fastboot +#recovery key +recovery_key_value_max=0x13 +recovery_key_value_min=0x10 +#fastboot key +fastboot_key_value_max=0x8 +fastboot_key_value_min=0x2 diff --git a/device/config/chips/t113/configs/default/fit-image.its b/device/config/chips/t113/configs/default/fit-image.its new file mode 100755 index 0000000..41490b3 --- /dev/null +++ b/device/config/chips/t113/configs/default/fit-image.its @@ -0,0 +1,26 @@ +/dts-v1/; +/{ + description = "Simple Image with single linux kernel"; + #address-cells = <0x01>; + + images { + kernel@1 { + description = "aw linux Image.gz"; + data = /incbin/("./Image.gz"); + type = "kernel"; + arch = "arm64"; + os = "linux"; + compression = "gzip"; + load = <0x40080000>; + entry = <0x40080000>; + }; + }; + + configurations { + default = "config@1"; + config@1 { + description = "only linux kernel"; + kernel = "kernel@1"; + }; + }; +}; diff --git a/device/config/chips/t113/configs/default/image.cfg b/device/config/chips/t113/configs/default/image.cfg new file mode 100755 index 0000000..29add5d --- /dev/null +++ b/device/config/chips/t113/configs/default/image.cfg @@ -0,0 +1,105 @@ +;/**************************************************************************/ +;2010-06-09 +;Sam +;image config +;/**************************************************************************/ + +;Main type, 8 bytes +[MAIN_TYPE] +ITEM_COMMON = "COMMON " +ITEM_INFO = "INFO " +ITEM_BOOTROM = "BOOTROM " +ITEM_FES = "FES " +ITEM_FET = "FET " +ITEM_FED = "FED " +ITEM_FEX = "FEX " +ITEM_BOOT = "BOOT " +ITEM_ROOTFSFAT12 = "RFSFAT12" +ITEM_ROOTFSFAT16 = "RFSFAT16" +ITEM_ROOTFSFAT32 = "FFSFAT32" +ITEM_USERFSFAT12 = "UFSFAT12" +ITEM_USERFSFAT16 = "UFSFAT16" +ITEM_USERFSFAT32 = "UFSFAT32" +ITEM_PHOENIX_SCRIPT = "PXSCRIPT" +ITEM_PHOENIX_TOOLS = "PXTOOLS " +ITEM_AUDIO_DSP = "AUDIODSP" +ITEM_VIDEO_DSP = "VIDEODSP" +ITEM_FONT = "FONT " +ITEM_FLASH_DRV = "FLASHDRV" +ITEM_OS_CORE = "OS_CORE " +ITEM_DRIVER = "DRIVER " +ITEM_PIC = "PICTURE " +ITEM_AUDIO = "AUDIO " +ITEM_VIDEO = "VIDEO " +ITEM_APPLICATION = "APP " + +;Sub type, 16 bytes, this is a demo, you can define your own sub type here +[SUB_TYPE] +SUBTYPEdemo1 = "071228HWSXXXX100" +;-->071228 2007-12-28 +;-->HWS hardware scan +;-->XXXX define by yourself +;-->100 version 1.00 + +;Dir +[DIR_DEF] +INPUT_DIR = "..\\" + +;Filelist +[FILELIST] +;------------------------------Attention!Don't change the maintype and subtype-----------------------------; + ;----------------------------------------publish part--------------------------------------------------; + + ;--> Necessary,don't touch + {filename = "sys_config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG100000",}, + {filename = "board.fex", maintype = ITEM_COMMON, subtype ="BOARD_CONFIG_BIN",}, + {filename = "config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG_BIN00",}, + {filename = "split_xxxx.fex", maintype = ITEM_COMMON, subtype = "SPLIT_0000000000",}, + {filename = "sys_partition.fex",maintype = ITEM_COMMON, subtype = "SYS_CONFIG000000",}, + {filename = "sunxi.fex", maintype = ITEM_COMMON, subtype = "DTB_CONFIG000000",}, + + ;--> Files for boot + {filename = "boot0_nand.fex", maintype = ITEM_BOOT, subtype = "BOOT0_0000000000",}, + {filename = "boot0_sdcard.fex", maintype = "12345678", subtype = "1234567890BOOT_0",}, + {filename = "u-boot.fex", maintype = "12345678", subtype = "UBOOT_0000000000",}, + {filename = "u-boot-crash.fex", maintype = "12345678", subtype = "UBOOT_CRASH_0000",}, + {filename = "toc1.fex", maintype = "12345678", subtype = "TOC1_00000000000",}, + {filename = "toc0.fex", maintype = "12345678", subtype = "TOC0_00000000000",}, + {filename = "fes1.fex", maintype = ITEM_FES, subtype = "FES_1-0000000000",}, + {filename = "boot_package.fex", maintype = "12345678", subtype = "BOOTPKG-00000000",}, + + ;------------------------------------------usb part----------------------------------------------------; + ;--> Some tools + {filename = "usbtool.fex", maintype = "PXTOOLSB", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "usbtool_crash.fex",maintype = "PXTOOLCH", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultools.fex", maintype = "UPFLYTLS", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultls32.fex", maintype = "UPFLTL32", subtype = "xxxxxxxxxxxxxxxx",}, + + ;------------------------------------------card part---------------------------------------------------; + ;--> Tools for PC,don't touch + {filename = "cardtool.fex", maintype = "12345678", subtype = "1234567890cardtl",}, + {filename = "cardscript.fex", maintype = "12345678", subtype = "1234567890script",}, + + ;--> Files for burn into the card + {filename = "sunxi_gpt.fex", maintype = "12345678", subtype = "1234567890___GPT",}, + {filename = "sunxi_mbr.fex", maintype = "12345678", subtype = "1234567890___MBR",}, + {filename = "dlinfo.fex", maintype = "12345678", subtype = "1234567890DLINFO",}, + {filename = "arisc.fex", maintype = "12345678", subtype = "1234567890ARISC" ,}, + ;-------------------------------------------others-----------------------------------------------------; + +;------------------------------Attention!Don't change the maintype and subtype-----------------------------; + +;Messages of the image +[IMAGE_CFG] +version = 0x100234 ;-->Image version +pid = 0x00001234 ;-->Product ID +vid = 0x00008743 ;-->Supplier ID +hardwareid = 0x100 ;-->Hardware ID bootrom +firmwareid = 0x100 ;-->Firmware ID bootrom +bootromconfig = "bootrom_071203_00001234.cfg" +rootfsconfig = "rootfs.cfg" +;;imagename = "ePDKv100_nand.img" +filelist = FILELIST +imagename = ..\sun4i_test_evb.img +encrypt = 0 ;-->Set 1 to enable encrypt + diff --git a/device/config/chips/t113/configs/default/image_linux.cfg b/device/config/chips/t113/configs/default/image_linux.cfg new file mode 100755 index 0000000..ec9d73f --- /dev/null +++ b/device/config/chips/t113/configs/default/image_linux.cfg @@ -0,0 +1,108 @@ +;/**************************************************************************/ +;2010-06-09 +;Sam +;image>é…置文件内容 +;/**************************************************************************/ + +;主è¦ç±»åž‹ 8字节字符串 +[MAIN_TYPE] +ITEM_COMMON = "COMMON " +ITEM_INFO = "INFO " +ITEM_BOOTROM = "BOOTROM " +ITEM_FES = "FES " +ITEM_FET = "FET " +ITEM_FED = "FED " +ITEM_FEX = "FEX " +ITEM_BOOT = "BOOT " +ITEM_ROOTFSFAT12 = "RFSFAT12" +ITEM_ROOTFSFAT16 = "RFSFAT16" +ITEM_ROOTFSFAT32 = "FFSFAT32" +ITEM_USERFSFAT12 = "UFSFAT12" +ITEM_USERFSFAT16 = "UFSFAT16" +ITEM_USERFSFAT32 = "UFSFAT32" +ITEM_PHOENIX_SCRIPT = "PXSCRIPT" +ITEM_PHOENIX_TOOLS = "PXTOOLS " +ITEM_AUDIO_DSP = "AUDIODSP" +ITEM_VIDEO_DSP = "VIDEODSP" +ITEM_FONT = "FONT " +ITEM_FLASH_DRV = "FLASHDRV" +ITEM_OS_CORE = "OS_CORE " +ITEM_DRIVER = "DRIVER " +ITEM_PIC = "PICTURE " +ITEM_AUDIO = "AUDIO " +ITEM_VIDEO = "VIDEO " +ITEM_APPLICATION = "APP " + +;å­ç±»åž‹æ ¼å¼ï¼Œä¾›å‚考,å¯ä»¥å¦å¤–定义,最大长度必须为16字节 +[SUB_TYPE] +SUBTYPEdemo1 = "071228HWSXXXX100" +;-->071228 2007-12-28 +;-->HWS hardware scan +;-->XXXX 用户定义 +;-->100 version 1.00 + +;路径定义 +[DIR_DEF] +INPUT_DIR = "..\\" + +;文件列表 +[FILELIST] +;----------------------------------------------------maintype与subtypeä¸å¯æ”¹å˜----------------------------------------------; + ;-------------------------------公共部分---------------------------------------; + + ;-->固定ä¸å˜çš„ + {filename = "sys_config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG100000",}, + {filename = "config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG_BIN00",}, + {filename = "board.fex", maintype = ITEM_COMMON, subtype = "BOARD_CONFIG_BIN",}, + {filename = "split_xxxx.fex", maintype = ITEM_COMMON, subtype = "SPLIT_0000000000",}, + {filename = "sys_partition.fex",maintype = ITEM_COMMON, subtype = "SYS_CONFIG000000",}, + {filename = "sunxi.fex", maintype = ITEM_COMMON, subtype = "DTB_CONFIG000000",}, + + ;-->boot文件 + {filename = "boot0_nand.fex", maintype = ITEM_BOOT, subtype = "BOOT0_0000000000",}, + {filename = "boot0_sdcard.fex", maintype = "12345678", subtype = "1234567890BOOT_0",}, + {filename = "u-boot.fex", maintype = "12345678", subtype = "UBOOT_0000000000",}, + {filename = "u-boot-crash.fex", maintype = "12345678", subtype = "UBOOT_CRASH_0000",}, + {filename = "toc1.fex", maintype = "12345678", subtype = "TOC1_00000000000",}, + {filename = "toc0.fex", maintype = "12345678", subtype = "TOC0_00000000000",}, + {filename = "fes1.fex", maintype = ITEM_FES, subtype = "FES_1-0000000000",}, + {filename = "boot_package.fex", maintype = "12345678", subtype = "BOOTPKG-00000000",}, + + ;-------------------------------usbé‡äº§éƒ¨åˆ†-------------------------------------; + ;-->tools文件 + {filename = "usbtool.fex", maintype = "PXTOOLSB", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "usbtool_crash.fex",maintype = "PXTOOLCH", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultools.fex", maintype = "UPFLYTLS", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultls32.fex", maintype = "UPFLTL32", subtype = "xxxxxxxxxxxxxxxx",}, + + + ;-------------------------------å¡é‡äº§éƒ¨åˆ†----------------------------------------; + ;-->固定ä¸å˜çš„PC使用 + {filename = "cardtool.fex", maintype = "12345678", subtype = "1234567890cardtl",}, + {filename = "cardscript.fex", maintype = "12345678", subtype = "1234567890script",}, + + ;-->需è¦çƒ§å†™åˆ°å¡ä¸Šçš„文件 + {filename = "sunxi_gpt.fex", maintype = "12345678", subtype = "1234567890___GPT",}, + {filename = "sunxi_mbr.fex", maintype = "12345678", subtype = "1234567890___MBR",}, + {filename = "dlinfo.fex", maintype = "12345678", subtype = "1234567890DLINFO",}, + {filename = "arisc.fex", maintype = "12345678", subtype = "1234567890ARISC" ,}, + + ;-------------------------------其他----------------------------------------------; + {filename = "vmlinux.fex", maintype = "12345678", subtype = "123456789VMLINUX",}, + +;-------------------------------------------maintype与subtypeä¸å¯æ”¹å˜-------------------------------------------------------; + +;é•œåƒé…ç½®ä¿¡æ¯ +[IMAGE_CFG] +version = 0x100234 ;-->Image的版本 +pid = 0x00001234 ;-->产å“ID +vid = 0x00008743 ;-->供应商ID +hardwareid = 0x100 ;-->硬件ID bootrom +firmwareid = 0x100 ;-->固件ID bootrom +bootromconfig = "bootrom_071203_00001234.cfg" +rootfsconfig = "rootfs.cfg" +;;imagename = "ePDKv100_nand.img" +filelist = FILELIST +imagename = ..\sun4i_test_evb.img +encrypt = 0 ;-->如果ä¸éœ€è¦åŠ å¯†å°†æ­¤é¡¹è®¾ç½®ä¸º0 ,å¦åˆ™è®¾ç½®ä¸º1 + diff --git a/device/config/chips/t113/configs/default/image_nor.cfg b/device/config/chips/t113/configs/default/image_nor.cfg new file mode 100755 index 0000000..2616617 --- /dev/null +++ b/device/config/chips/t113/configs/default/image_nor.cfg @@ -0,0 +1,95 @@ +;/**************************************************************************/ +;2010-06-09 +;Sam +;image +;/**************************************************************************/ + + +[MAIN_TYPE] +ITEM_COMMON = "COMMON " +ITEM_INFO = "INFO " +ITEM_BOOTROM = "BOOTROM " +ITEM_FES = "FES " +ITEM_FET = "FET " +ITEM_FED = "FED " +ITEM_FEX = "FEX " +ITEM_BOOT = "BOOT " +ITEM_ROOTFSFAT12 = "RFSFAT12" +ITEM_ROOTFSFAT16 = "RFSFAT16" +ITEM_ROOTFSFAT32 = "FFSFAT32" +ITEM_USERFSFAT12 = "UFSFAT12" +ITEM_USERFSFAT16 = "UFSFAT16" +ITEM_USERFSFAT32 = "UFSFAT32" +ITEM_PHOENIX_SCRIPT = "PXSCRIPT" +ITEM_PHOENIX_TOOLS = "PXTOOLS " +ITEM_AUDIO_DSP = "AUDIODSP" +ITEM_VIDEO_DSP = "VIDEODSP" +ITEM_FONT = "FONT " +ITEM_FLASH_DRV = "FLASHDRV" +ITEM_OS_CORE = "OS_CORE " +ITEM_DRIVER = "DRIVER " +ITEM_PIC = "PICTURE " +ITEM_AUDIO = "AUDIO " +ITEM_VIDEO = "VIDEO " +ITEM_APPLICATION = "APP " + +[SUB_TYPE] +SUBTYPEdemo1 = "071228HWSXXXX100" +;-->071228 2007-12-28 +;-->HWS hardware scan +;-->100 version 1.00 + + +[DIR_DEF] +INPUT_DIR = "..\\" + +[FILELIST] + ;-->constant + {filename = "sys_config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG100000",}, + {filename = "config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG_BIN00",}, + {filename = "split_xxxx.fex", maintype = ITEM_COMMON, subtype = "SPLIT_0000000000",}, + {filename = "sys_partition.fex",maintype = ITEM_COMMON, subtype = "SYS_CONFIG000000",}, + {filename = "sunxi.fex", maintype = ITEM_COMMON, subtype = "DTB_CONFIG000000",}, + + ;-->boot files + {filename = "boot0_sdcard.fex", maintype = "12345678", subtype = "1234567890BOOT_0",}, + {filename = "boot0_spinor.fex", maintype = "12345678", subtype = "1234567890BNOR_0",}, + {filename = "u-boot-spinor.fex", maintype = "12345678", subtype = "UBOOT_0000000000",}, + {filename = "u-boot-crash.fex", maintype = "12345678", subtype = "UBOOT_CRASH_0000",}, + {filename = "toc1.fex", maintype = "12345678", subtype = "TOC1_00000000000",}, + {filename = "toc0.fex", maintype = "12345678", subtype = "TOC0_00000000000",}, + {filename = "fes1.fex", maintype = ITEM_FES, subtype = "FES_1-0000000000",}, + {filename = "boot_package.fex", maintype = "12345678", subtype = "BOOTPKG-00000000",}, + {filename = "boot_package_nor.fex", maintype = "12345678", subtype = "BOOTPKG-NOR00000",}, + ;-------------------------------usb download part-------------------------------------; + ;-->usb tools + {filename = "usbtool.fex", maintype = "PXTOOLSB", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "usbtool_crash.fex",maintype = "PXTOOLCH", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultools.fex", maintype = "UPFLYTLS", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultls32.fex", maintype = "UPFLTL32", subtype = "xxxxxxxxxxxxxxxx",}, + + ;-------------------------------card download part----------------------------------------; + ;-->card tools + {filename = "cardtool.fex", maintype = "12345678", subtype = "1234567890cardtl",}, + {filename = "cardscript.fex", maintype = "12345678", subtype = "1234567890script",}, + + ;-->other + {filename = "sunxi_gpt.fex", maintype = "12345678", subtype = "1234567890___GPT",}, + {filename = "sunxi_mbr_nor.fex", maintype = "12345678", subtype = "1234567890___MBR",}, + {filename = "dlinfo.fex", maintype = "12345678", subtype = "1234567890DLINFO",}, + {filename = "arisc.fex", maintype = "12345678", subtype = "1234567890ARISC" ,}, + + +[IMAGE_CFG] +version = 0x100234 +pid = 0x00001234 +vid = 0x00008743 +hardwareid = 0x100 +firmwareid = 0x100 +bootromconfig = "bootrom_071203_00001234.cfg" +rootfsconfig = "rootfs.cfg" +;;imagename = "ePDKv100_nand.img" +filelist = FILELIST +imagename = ..\sun4i_test_evb.img +encrypt = 0 + diff --git a/device/config/chips/t113/configs/default/parameter.fex b/device/config/chips/t113/configs/default/parameter.fex new file mode 100755 index 0000000..d4028c2 Binary files /dev/null and b/device/config/chips/t113/configs/default/parameter.fex differ diff --git a/device/config/chips/t113/configs/default/sys_partition.fex b/device/config/chips/t113/configs/default/sys_partition.fex new file mode 100644 index 0000000..0534573 --- /dev/null +++ b/device/config/chips/t113/configs/default/sys_partition.fex @@ -0,0 +1,73 @@ +;--------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大å°å†™ï¼Œç”¨æˆ·å¯ä»¥ä¿®æ”¹"="åŽé¢çš„数值,但是ä¸è¦ä¿®æ”¹å‰é¢çš„字符串 +;--------------------------------------------------------------------------------------------------- + + +;--------------------------------------------------------------------------------------------------- +; 固件下载å‚æ•°é…ç½® +;--------------------------------------------------------------------------------------------------- +;*************************************************************************************************** +; mbr的大å°, 以Kbyte为å•ä½ +;*************************************************************************************************** +[mbr] +size = 16384 + +;*************************************************************************************************** +; 分区é…ç½® +; +; +; partition 定义范例: +; [partition] ; //表示是一个分区 +; name = USERFS2 ; //分区å称 +; size = 16384 ; //åˆ†åŒºå¤§å° å•ä½: 扇区.分区表示个数最多2^31 * 512 = 2T +; downloadfile = "123.fex" ; //下载文件的路径和å称,å¯ä»¥ä½¿ç”¨ç›¸å¯¹è·¯å¾„,相对是指相对于image.cfg文件所在分区。也å¯ä»¥ä½¿ç”¨ç»å¯¹è·¯å¾„ +; keydata = 1 ; //ç§æœ‰æ•°æ®åˆ†åŒºï¼Œé‡æ–°é‡äº§æ•°æ®å°†ä¸ä¸¢å¤± +; encrypt = 1 ; //采用加密方å¼çƒ§å½•ï¼Œå°†æ供数æ®åŠ å¯†ï¼Œä½†æŸå¤±çƒ§å½•é€Ÿåº¦ +; user_type = ? ; //ç§æœ‰ç”¨æ³• +; verify = 1 ; //è¦æ±‚é‡äº§å®ŒæˆåŽæ ¡éªŒæ˜¯å¦æ­£ç¡® +; +; 注:1ã€name唯一, ä¸å…许åŒå +; 2ã€name最大12个字符 +; 3ã€size = 0, 将创建一个无大å°çš„空分区 +; 4ã€align to logical block size(504 sectors), leb size = 2*(1 nand phy block size - 1 phy page size) +;*************************************************************************************************** +[partition_start] + +[partition] + name = boot-resource + size = 34438 + downloadfile = "boot-resource.fex" + user_type = 0x8000 + + +[partition] + name = env + size = 2048 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = env-redund + size = 2048 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = boot + size = 32768 + downloadfile = "boot.fex" + user_type = 0x8000 + +[partition] + name = rootfs + size = 32768 + ;downloadfile = "rootfs-ubifs.fex" + user_type = 0x8000 + +[partition] + name = dsp0 + size = 2048 + downloadfile = "dsp0.fex" + user_type = 0x8000 + + diff --git a/device/config/chips/t113/configs/default/sys_partition_nor.fex b/device/config/chips/t113/configs/default/sys_partition_nor.fex new file mode 100755 index 0000000..9e9f52c --- /dev/null +++ b/device/config/chips/t113/configs/default/sys_partition_nor.fex @@ -0,0 +1,64 @@ +;--------------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大å°å†™ï¼Œç”¨æˆ·å¯ä»¥ä¿®æ”¹"="åŽé¢çš„数值,但是ä¸è¦ä¿®æ”¹å‰é¢çš„字符串 +;--------------------------------------------------------------------------------------------------------- + + +;-------------------------------------------------------------------------------------------------- +; 固件下载å‚æ•°é…ç½® +;-------------------------------------------------------------------------------------------------- +;**************************************************** +; mbr的大å°, 以Kbyte为å•ä½ +;**************************************************** +[mbr] +size = 16 + +;******************************************************************************************************** +; 分区é…ç½® +; +; +; partition 定义范例: +; [partition] ; //表示是一个分区 +; name = USERFS2 ; //分区å称 +; size = 16384 ; //åˆ†åŒºå¤§å° å•ä½: 扇区.分区表示个数最多2^31 * 512 = 2T +; downloadfile = "123.fex" ; //下载文件的路径和å称,å¯ä»¥ä½¿ç”¨ç›¸å¯¹è·¯å¾„,相对是指相对于image.cfg文件所在分区。也å¯ä»¥ä½¿ç”¨ç»å¯¹è·¯å¾„ +; keydata = 1 ; //ç§æœ‰æ•°æ®åˆ†åŒºï¼Œé‡æ–°é‡äº§æ•°æ®å°†ä¸ä¸¢å¤± +; encrypt = 1 ; //采用加密方å¼çƒ§å½•ï¼Œå°†æ供数æ®åŠ å¯†ï¼Œä½†æŸå¤±çƒ§å½•é€Ÿåº¦ +; user_type = ? ; //ç§æœ‰ç”¨æ³• +; verify = 1 ; //è¦æ±‚é‡äº§å®ŒæˆåŽæ ¡éªŒæ˜¯å¦æ­£ç¡® +; +; 注:1ã€name唯一, ä¸å…许åŒå +; 2ã€name最大12个字符 +; 3ã€size = 0, 将创建一个无大å°çš„空分区 +; 4ã€ä¸ºäº†å®‰å…¨å’Œæ•ˆçŽ‡è€ƒè™‘,分区大å°æœ€å¥½ä¿è¯ä¸º16Må­—èŠ‚çš„æ•´æ•°å€ +;******************************************************************************************************** +[partition_start] + +[partition] + name = boot-resource + size = 256 + ;downloadfile = "boot-resource.fex" + user_type = 0x8000 + +[partition] + name = env + size = 256 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = env-redund + size = 256 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = boot + size = 12800 + downloadfile = "boot.fex" + user_type = 0x8000 + +[partition] + name = rootfs + size = 11264 + downloadfile = "rootfs_nor.fex" + user_type = 0x8000 diff --git a/device/config/chips/t113/configs/default/sysrecovery.fex b/device/config/chips/t113/configs/default/sysrecovery.fex new file mode 100755 index 0000000..a3afe50 --- /dev/null +++ b/device/config/chips/t113/configs/default/sysrecovery.fex @@ -0,0 +1 @@ +sysrecovery \ No newline at end of file diff --git a/device/config/chips/t113/configs/default/version_base.mk b/device/config/chips/t113/configs/default/version_base.mk new file mode 100755 index 0000000..4a4c19e --- /dev/null +++ b/device/config/chips/t113/configs/default/version_base.mk @@ -0,0 +1,12 @@ +# define the verions of the image +# format: main +# such as 1, 2 +# NOTICE: the range of main version is from 0 to 31, +# ROOT_ROLLBACK_USE ---0:not used,1:used +# when you change the version, you must increase main version, and never reduce the versions. +# the default version is 0 + +ROOT_ROLLBACK_USED = 1 +MAIN_VERSION = 0 + + diff --git a/device/config/chips/t113/configs/evb1/BoardConfig.mk b/device/config/chips/t113/configs/evb1/BoardConfig.mk new file mode 100755 index 0000000..d7a6c55 --- /dev/null +++ b/device/config/chips/t113/configs/evb1/BoardConfig.mk @@ -0,0 +1,7 @@ +LICHEE_CHIP:=sun8iw20p1 +LICHEE_ARCH:=arm +LICHEE_BRANDY_VER:=2.0 +LICHEE_BRANDY_DEFCONF:=sun8iw20p1_defconfig +LICHEE_KERN_VER:=5.4 +LICHEE_KERN_DEFCONF:=sun8iw20p1smp_defconfig +LICHEE_REDUNDANT_ENV_SIZE:=0x20000 diff --git a/device/config/chips/t113/configs/evb1/board.dts b/device/config/chips/t113/configs/evb1/board.dts new file mode 120000 index 0000000..a205733 --- /dev/null +++ b/device/config/chips/t113/configs/evb1/board.dts @@ -0,0 +1 @@ +linux-5.4/board.dts \ No newline at end of file diff --git a/device/config/chips/t113/configs/evb1/bsp/env.cfg b/device/config/chips/t113/configs/evb1/bsp/env.cfg new file mode 100644 index 0000000..5da8419 --- /dev/null +++ b/device/config/chips/t113/configs/evb1/bsp/env.cfg @@ -0,0 +1,34 @@ + +#kernel command arguments +earlyprintk=sunxi-uart,0x02500000 +initcall_debug=0 +console=ttyS0,115200 +nand_root=ubi0_5 +mmc_root=/dev/mmcblk0p5 +mtd_name=sys +rootfstype=ubifs,rw +init=/init +loglevel=8 +cma=8M +mac= +wifi_mac= +bt_mac= +specialstr= +keybox_list=hdcpkey +dsp0_partition=dsp0 +#set kernel cmdline if boot.img or recovery.img has no cmdline we will use this +setargs_nand=setenv bootargs ubi.mtd=${mtd_name} earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 +setargs_nand_ubi=setenv bootargs ubi.mtd=${mtd_name} earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 +setargs_mmc=setenv bootargs earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${mmc_root} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 +#nand command syntax: sunxi_flash read address partition_name read_bytes +#0x4007f800 = 0x40080000(kernel entry) - 0x800(boot.img header 2k) +boot_dsp0=sunxi_flash read 43000000 ${dsp0_partition};bootr 43000000 0 0 +boot_normal=sunxi_flash read 43000000 boot;bootm 43000000 +boot_recovery=sunxi_flash read 43000000 recovery;bootm 43000000 +boot_fastboot=fastboot + +#uboot system env config +bootdelay=0 +#default bootcmd, will change at runtime according to key press +#default nand boot +bootcmd=run setargs_nand boot_dsp0 boot_normal diff --git a/device/config/chips/t113/configs/evb1/bsp/sys_partition.fex b/device/config/chips/t113/configs/evb1/bsp/sys_partition.fex new file mode 100755 index 0000000..008cd40 --- /dev/null +++ b/device/config/chips/t113/configs/evb1/bsp/sys_partition.fex @@ -0,0 +1,77 @@ +;--------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大å°å†™ï¼Œç”¨æˆ·å¯ä»¥ä¿®æ”¹"="åŽé¢çš„数值,但是ä¸è¦ä¿®æ”¹å‰é¢çš„字符串 +;--------------------------------------------------------------------------------------------------- + + +;--------------------------------------------------------------------------------------------------- +; 固件下载å‚æ•°é…ç½® +;--------------------------------------------------------------------------------------------------- +;*************************************************************************************************** +; mbr的大å°, 以Kbyte为å•ä½ +;*************************************************************************************************** +[mbr] +size = 16384 + +;*************************************************************************************************** +; 分区é…ç½® +; +; +; partition 定义范例: +; [partition] ; //表示是一个分区 +; name = USERFS2 ; //分区å称 +; size = 16384 ; //åˆ†åŒºå¤§å° å•ä½: 扇区.分区表示个数最多2^31 * 512 = 2T +; downloadfile = "123.fex" ; //下载文件的路径和å称,å¯ä»¥ä½¿ç”¨ç›¸å¯¹è·¯å¾„,相对是指相对于image.cfg文件所在分区。也å¯ä»¥ä½¿ç”¨ç»å¯¹è·¯å¾„ +; keydata = 1 ; //ç§æœ‰æ•°æ®åˆ†åŒºï¼Œé‡æ–°é‡äº§æ•°æ®å°†ä¸ä¸¢å¤± +; encrypt = 1 ; //采用加密方å¼çƒ§å½•ï¼Œå°†æ供数æ®åŠ å¯†ï¼Œä½†æŸå¤±çƒ§å½•é€Ÿåº¦ +; user_type = ? ; //ç§æœ‰ç”¨æ³• +; verify = 1 ; //è¦æ±‚é‡äº§å®ŒæˆåŽæ ¡éªŒæ˜¯å¦æ­£ç¡® +; +; 注:1ã€name唯一, ä¸å…许åŒå +; 2ã€name最大12个字符 +; 3ã€size = 0, 将创建一个无大å°çš„空分区 +; 4ã€align to logical block size(504 sectors), leb size = 2*(1 nand phy block size - 1 phy page size) +;*************************************************************************************************** +[partition_start] + +[partition] + name = boot-resource + size = 20480 + ;size = 34438 + downloadfile = "boot-resource.fex" + user_type = 0x8000 + + +[partition] + name = env + size = 2048 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = env-redund + size = 2048 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = boot + size = 35200 + downloadfile = "boot.fex" + user_type = 0x8000 + +[partition] + name = rootfs + size = 32768 + downloadfile = "rootfs-ubifs.fex" + user_type = 0x8000 + +[partition] + name = dsp0 + size = 2048 + downloadfile = "dsp0.fex" + user_type = 0x8000 + +[partition] + name = UDISK + user_type = 0x8100 + diff --git a/device/config/chips/t113/configs/evb1/env.cfg b/device/config/chips/t113/configs/evb1/env.cfg new file mode 100755 index 0000000..3af7670 --- /dev/null +++ b/device/config/chips/t113/configs/evb1/env.cfg @@ -0,0 +1,41 @@ + +#kernel command arguments +burn_key=0 +earlyprintk=sunxi-uart,0x02500000 +initcall_debug=0 +console=ttyS0,115200 +nand_root=/dev/ubiblock0_5 +mmc_root=/dev/mmcblk0p5 +mtd_name=sys +rootfstype=squashfs +root_partition=rootfs +boot_partition=boot +init=/sbin/init +loglevel=8 +cma=4M +mac= +wifi_mac= +bt_mac= +specialstr= +#keybox_list=widevine,ec_key,ec_cert1,ec_cert2,ec_cert3,rsa_key,rsa_cert1,rsa_cert2,rsa_cert3 +dsp0_partition=dsp0 +rootdelay=2 +#set kernel cmdline if boot.img or recovery.img has no cmdline we will use this +setargs_nand=setenv bootargs ubi.mtd=${mtd_name} ubi.block=0,${root_partition} earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 +setargs_nand_ubi=setenv bootargs ubi.mtd=${mtd_name} ubi.block=0,${root_partition} earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 +setargs_mmc=setenv bootargs earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} rootdelay=${rootdelay} loglevel=${loglevel} root=${mmc_root} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 +#nand command syntax: sunxi_flash read address partition_name read_bytes +#0x4007f800 = 0x40080000(kernel entry) - 0x800(boot.img header 2k) +#boot_dsp0=sunxi_flash read 43000000 ${dsp0_partition};bootr 43000000 0 0 +#boot_normal=sunxi_flash read 43000000 ${boot_partition};bootm 43000000 +boot_dsp0=sunxi_flash read 40000000 ${dsp0_partition};bootr 40000000 0 0 +boot_normal=sunxi_flash read 41000000 ${boot_partition};bootm 41000000 +boot_recovery=sunxi_flash read 43000000 recovery;bootm 43000000 +boot_fastboot=fastboot + +#uboot system env config +bootdelay=1 +#default bootcmd, will change at runtime according to key press +#default nand boot +#bootcmd=run setargs_nand boot_dsp0 boot_normal +bootcmd=run setargs_nand boot_normal diff --git a/device/config/chips/t113/configs/evb1/linux b/device/config/chips/t113/configs/evb1/linux new file mode 120000 index 0000000..cfb20a2 --- /dev/null +++ b/device/config/chips/t113/configs/evb1/linux @@ -0,0 +1 @@ +linux-5.4 \ No newline at end of file diff --git a/device/config/chips/t113/configs/evb1/linux-5.4/board.dts b/device/config/chips/t113/configs/evb1/linux-5.4/board.dts new file mode 100755 index 0000000..e042f3c --- /dev/null +++ b/device/config/chips/t113/configs/evb1/linux-5.4/board.dts @@ -0,0 +1,1470 @@ +/* + * Allwinner Technology CO., Ltd. + */ + +/dts-v1/; + + /* optee used 7MB: SHM 2M: OS: 1M: TA:4M*/ +/memreserve/ 0x41B00000 0x00100000; +/* DSP used 1MB */ +/*/memreserve/ 0x42000000 0x00100000;*/ +#include "sun8iw20p1.dtsi" + +/{ + model = "sun8iw20"; + compatible = "allwinner,r528", "arm,sun8iw20p1"; + + reg_vdd_cpu: vdd-cpu { + compatible = "sunxi-pwm-regulator"; + pwms = <&pwm 3 5000 0>; + regulator-name = "vdd_cpu"; + regulator-min-microvolt = <810000>; + regulator-max-microvolt = <1160000>; + regulator-ramp-delay = <25>; + regulator-always-on; + regulator-boot-on; + status = "okay"; + }; + + reg_usb1_vbus: usb1-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb1-vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-enable-ramp-delay = <1000>; + gpio = <&pio PB 3 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&cpu0 { + cpu-supply = <®_vdd_cpu>; +}; + +&pio { + sdc0_pins_a: sdc0@0 { + allwinner,pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + allwinner,function = "sdc0"; + allwinner,muxsel = <2>; + allwinner,drive = <3>; + allwinner,pull = <1>; + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "sdc0"; + drive-strength = <30>; + bias-pull-up; + power-source = <3300>; + }; + + + sdc0_pins_b: sdc0@1 { + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "sdc0"; + drive-strength = <30>; + bias-pull-up; + power-source = <1800>; + }; + + sdc0_pins_c: sdc0@2 { + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "gpio_in"; + }; + + /* TODO: add jtag pin */ + sdc0_pins_d: sdc0@3 { + pins = "PF2", "PF4"; + function = "uart0"; + drive-strength = <10>; + bias-pull-up; + }; + + sdc0_pins_e: sdc0@4 { + pins = "PF0", "PF1", "PF3", + "PF5"; + function = "jtag"; + drive-strength = <10>; + bias-pull-up; + }; + + + sdc1_pins_a: sdc1@0 { + pins = "PG0", "PG1", "PG2", + "PG3", "PG4", "PG5"; + function = "sdc1"; + drive-strength = <30>; + bias-pull-up; + }; + + sdc1_pins_b: sdc1@1 { + pins = "PG0", "PG1", "PG2", + "PG3", "PG4", "PG5"; + function = "gpio_in"; + }; + + sdc2_pins_a: sdc2@0 { + allwinner,pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + allwinner,function = "sdc2"; + allwinner,muxsel = <3>; + allwinner,drive = <3>; + allwinner,pull = <1>; + pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + function = "sdc2"; + drive-strength = <30>; + bias-pull-up; + }; + + sdc2_pins_b: sdc2@1 { + pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + function = "gpio_in"; + }; + + wlan_pins_a:wlan@0 { + pins = "PG11"; + function = "clk_fanout1"; + }; + + uart0_pins_a: uart0_pins@0 { /* For EVB1 board */ + pins = "PF2", "PF4"; + function = "uart0"; + drive-strength = <10>; + bias-pull-up; + }; + + uart0_pins_b: uart0_pins@1 { /* For EVB1 board */ + pins = "PF2", "PF4"; + function = "gpio_in"; + }; + + uart1_pins_a: uart1_pins@0 { /* For EVB1 board */ + pins = "PG6", "PG7", "PG8", "PG9"; + function = "uart1"; + drive-strength = <10>; + bias-pull-up; + }; + + uart1_pins_b: uart1_pins { /* For EVB1 board */ + pins = "PG6", "PG7", "PG8", "PG9"; + function = "gpio_in"; + }; + + uart2_pins_a: uart2_pins@0 { /* For EVB1 board */ + pins = "PC0", "PC1"; + function = "uart2"; + drive-strength = <10>; + bias-pull-up; + }; + + uart2_pins_b: uart2_pins@1 { /* For EVB1 board */ + pins = "PC0", "PC1"; + function = "gpio_in"; + }; + + uart3_pins_a: uart3_pins@0 { /* For EVB1 board */ + pins = "PD10", "PD11"; + function = "uart3"; + muxsel = <5>; + drive-strength = <10>; + bias-pull-up; + }; + + twi0_pins_a: twi0@0 { + pins = "PB10", "PB11"; /*sck sda*/ + function = "twi0"; + drive-strength = <10>; + }; + + twi0_pins_b: twi0@1 { + pins = "PB10", "PB11"; + function = "gpio_in"; + }; + + twi1_pins_a: twi1@0 { + pins = "PB4", "PB5"; + function = "twi1"; + drive-strength = <10>; + }; + + twi1_pins_b: twi1@1 { + pins = "PB4", "PB5"; + function = "gpio_in"; + }; + + twi2_pins_a: twi2@0 { + pins = "PE12", "PE13"; + function = "twi2"; + drive-strength = <10>; + }; + + twi2_pins_b: twi2@1 { + pins = "PE12", "PE13"; + function = "gpio_in"; + }; + + twi3_pins_a: twi3@0 { + pins = "PE6", "PE7"; + function = "twi3"; + drive-strength = <10>; + }; + + twi3_pins_b: twi3@1 { + pins = "PE6", "PE7"; + function = "gpio_in"; + }; + + gmac_pins_a: gmac@0 { + pins = "PE0", "PE1", "PE2", "PE3", + "PE4", "PE5", "PE6", "PE7", + "PE8", "PE9", "PE10", "PE11", + "PE12", "PE13", "PE14", "PE15"; + function = "gmac0"; + drive-strength = <10>; + }; + + gmac_pins_b: gmac@1 { + pins = "PE0", "PE1", "PE2", "PE3", + "PE4", "PE5", "PE6", "PE7", + "PE8", "PE9", "PE10", "PE11", + "PE12", "PE13", "PE14", "PE15"; + function = "gpio_in"; + }; + + dmic_pins_a: dmic@0 { + /* DMIC_PIN: CLK, DATA0, DATA1, DATA2, DATA3*/ + pins = "PB12", "PB11", "PB10", "PE14", "PB8"; + function = "dmic"; + drive-strength = <20>; + bias-disable; + }; + + dmic_pins_b: dmic@1 { + pins = "PB12", "PB11", "PB10", "PE14", "PB8"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + daudio0_pins_a: daudio0@0 { + pins = "PE17", "PE16", "PE15", "PE14", "PE13"; + function = "i2s0"; + drive-strength = <20>; + bias-disable; + }; + + daudio0_pins_b: daudio0_sleep@0 { + pins = "PE17", "PE16", "PE15", "PE14", "PE13"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + daudio1_pins_a: daudio1@0 { + pins = "PG11", "PG12", "PG13", "PG14", "PG15"; + function = "i2s1"; + drive-strength = <20>; + bias-disable; + }; + + daudio1_pins_b: daudio1_sleep@0 { + pins = "PG11", "PG12", "PG13", "PG14", "PG15"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + daudio2_pins_a: daudio2@0 { + /* I2S_PIN: MCLK, BCLK, LRCK */ + pins = "PF6", "PF3", "PF5"; + function = "i2s2"; + drive-strength = <20>; + bias-disable; + }; + + daudio2_pins_b: daudio2@1 { + /* I2S_PIN: DOUT0 */ + pins = "PF1"; + function = "i2s2_dout"; + drive-strength = <20>; + bias-disable; + }; + + daudio2_pins_c: daudio2@2 { + /* I2S_PIN: DIN0 */ + pins = "PF0"; + function = "i2s2_din"; + drive-strength = <20>; + bias-disable; + }; + + daudio2_pins_d: daudio2_sleep@0 { + pins = "PF6", "PF3", "PF5", "PF1", "PF0"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + spdif_pins_a: spdif@0 { + /* SPDIF_PIN: SPDIF_OUT */ + pins = "PG18"; + function = "spdif"; + drive-strength = <20>; + bias-disable; + }; + + spdif_pins_b: spdif_sleep@0 { + pins = "PG18"; + function = "io_disabled"; + drive-strength = <20>; + bias-disable; + }; + + spi0_pins_a: spi0@0 { + pins = "PC2", "PC4", "PC5"; /* clk, mosi, miso */ + function = "spi0"; + muxsel = <2>; + drive-strength = <10>; + }; + + spi0_pins_b: spi0@1 { + pins = "PC3", "PC7", "PC6"; + function = "spi0"; + muxsel = <2>; + drive-strength = <10>; + bias-pull-up; /* cs, hold, wp should be pulled up */ + }; + + spi0_pins_c: spi0@2 { + pins = "PC2", "PC3", "PC4", "PC5","PC6", "PC7"; + function = "gpio_in"; + muxsel = <0>; + drive-strength = <10>; + }; + + spi1_pins_a: spi1@0 { + pins = "PD11", "PD12", "PD13"; /* clk, mosi, miso */ + function = "spi1"; + drive-strength = <10>; + }; + + spi1_pins_b: spi1@1 { + pins = "PD10", "PD14", "PD15"; + function = "spi1"; + drive-strength = <10>; + bias-pull-up; /* cs, hold, wp should be pulled up */ + }; + + spi1_pins_c: spi1@2 { + pins = "PD10", "PD11", "PD12", "PD13","PD14", "PD15"; + function = "gpio_in"; + drive-strength = <10>; + }; + + ledc_pins_a: ledc@0 { + pins = "PC0"; + function = "ledc"; + drive-strength = <10>; + }; + + ledc_pins_b: ledc@1 { + pins = "PC0"; + function = "gpio_in"; + }; + + pwm0_pin_a: pwm0@0 { + pins = "PD16"; + function = "pwm0"; + drive-strength = <10>; + bias-pull-up; + }; + + pwm0_pin_b: pwm0@1 { + pins = "PD16"; + function = "gpio_in"; + bias-disable; + }; + + pwm2_pin_a: pwm2@0 { + pins = "PD18"; + function = "pwm2"; + drive-strength = <10>; + bias-pull-up; + }; + + pwm2_pin_b: pwm2@1 { + pins = "PD18"; + function = "gpio_out"; + }; + + pwm7_pin_a: pwm7@0 { + pins = "PD22"; + function = "pwm7"; + drive-strength = <10>; + bias-pull-up; + }; + + pwm7_pin_b: pwm7@1 { + pins = "PD22"; + function = "gpio_in"; + }; + + + s_cir0_pins_a: s_cir@0 { + pins = "PB7"; + function = "ir"; + drive-strength = <10>; + bias-pull-up; + }; + + s_cir0_pins_b: s_cir@1 { + pins = "PB7"; + function = "gpio_in"; + }; + + ir1_pins_a: ir1@0 { + pins = "PB0"; + function = "ir"; + drive-strength = <10>; + bias-pull-up; + }; + + ir1_pins_b: ir1@1 { + pins = "PB0"; + function = "gpio_in"; + }; +}; + +&uart0 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart0_pins_a>; + pinctrl-1 = <&uart0_pins_b>; + status = "okay"; +}; + +&uart1 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart1_pins_a>; + pinctrl-1 = <&uart1_pins_b>; + status = "disabled"; +}; + +&uart2 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart2_pins_a>; + pinctrl-1 = <&uart2_pins_b>; + status = "disabled"; +}; + +&uart3 { + compatible = "allwinner,sun20iw1-dsp-uart"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&uart3_pins_a>; + pinctrl-1 = <&uart3_pins_a>; + status = "disabled"; +}; + +&soc { + card0_boot_para@2 { + /* + * Avoid dtc compiling warnings. + * @TODO: Developer should modify this to the actual value + */ + reg = <0x0 0x2 0x0 0x0>; + device_type = "card0_boot_para"; + card_ctrl = <0x0>; + card_high_speed = <0x1>; + card_line = <0x4>; + pinctrl-0 = <&sdc0_pins_a>; + }; + + card2_boot_para@3 { + /* + * Avoid dtc compiling warnings. + * @TODO: Developer should modify this to the actual value + */ + reg = <0x0 0x3 0x0 0x0>; + device_type = "card2_boot_para"; + card_ctrl = <0x2>; + card_high_speed = <0x1>; + card_line = <0x4>; + pinctrl-0 = <&sdc2_pins_a>; + /*pinctrl-0 = <&sdc0_pins_a>;*/ + /*sdc_ex_dly_used = <0x2>;*/ + sdc_io_1v8 = <0x1>; + /*sdc_type = "tm4";*/ + sdc_tm4_hs200_max_freq = <150>; + sdc_tm4_hs400_max_freq = <100>; + sdc_ex_dly_used = <2>; + /*sdc_tm4_win_th = <8>;*/ + /*sdc_dis_host_caps = <0x180>;*/ + }; + + rfkill: rfkill@0 { + compatible = "allwinner,sunxi-rfkill"; + chip_en; + power_en; + pinctrl-0 = <&wlan_pins_a>; + pinctrl-names = "default"; + status = "okay"; + + wlan: wlan@0 { + compatible = "allwinner,sunxi-wlan"; + clock-names = "32k-fanout1"; + clocks = <&ccu CLK_FANOUT1_OUT>; + wlan_busnum = <0x1>; + wlan_regon = <&pio PE 3 GPIO_ACTIVE_HIGH>; + wlan_hostwake = <&pio PG 10 GPIO_ACTIVE_HIGH>; + /*wlan_power = "VCC-3V3";*/ + /*wlan_power_vol = <3300000>;*/ + /*interrupt-parent = <&pio>; + interrupts = < PG 10 IRQ_TYPE_LEVEL_HIGH>;*/ + wakeup-source; + + }; + + bt: bt@0 { + compatible = "allwinner,sunxi-bt"; + clock-names = "32k-fanout1"; + clocks = <&ccu CLK_FANOUT1_OUT>; + /*bt_power_num = <0x01>;*/ + /*bt_power = "axp803-dldo1";*/ + /*bt_io_regulator = "axp803-dldo1";*/ + /*bt_io_vol = <3300000>;*/ + /*bt_power_vol = <330000>;*/ + bt_rst_n = <&pio PG 18 GPIO_ACTIVE_LOW>; + status = "disabled"; + }; + }; + + btlpm: btlpm@0 { + compatible = "allwinner,sunxi-btlpm"; + uart_index = <0x1>; + bt_wake = <&pio PG 16 GPIO_ACTIVE_HIGH>; + bt_hostwake = <&pio PG 17 GPIO_ACTIVE_HIGH>; + status = "disabled"; + }; + + addr_mgt: addr_mgt@0 { + compatible = "allwinner,sunxi-addr_mgt"; + type_addr_wifi = <0x0>; + type_addr_bt = <0x0>; + type_addr_eth = <0x0>; + status = "okay"; + }; +}; + +&sdc2 { + non-removable; + bus-width = <4>; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + no-sdio; + no-sd; + ctl-spec-caps = <0x308>; + cap-mmc-highspeed; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + mmc-bootpart-noacc; + max-frequency = <150000000>; + /*vmmc-supply = <®_dcdc1>;*/ + /*emmc io vol 3.3v*/ + /*vqmmc-supply = <®_aldo1>;*/ + /*emmc io vol 1.8v*/ + /*vqmmc-supply = <®_eldo1>;*/ + status = "disabled"; +}; + +&sdc0 { + bus-width = <4>; + cd-gpios = <&pio PF 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + /*non-removable;*/ + /*broken-cd;*/ + /*cd-inverted;*/ + /*data3-detect;*/ + /*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/ + cd-used-24M; + cap-sd-highspeed; + /*sd-uhs-sdr50;*/ + /*sd-uhs-ddr50;*/ + /*sd-uhs-sdr104;*/ + no-sdio; + no-mmc; + sunxi-power-save-mode; + /*sunxi-dis-signal-vol-sw;*/ + max-frequency = <150000000>; + ctl-spec-caps = <0x8>; + /*vmmc-supply = <®_dcdc1>;*/ + /*vqmmc33sw-supply = <®_dcdc1>;*/ + /*vdmmc33sw-supply = <®_dcdc1>;*/ + /*vqmmc18sw-supply = <®_eldo1>;*/ + /*vdmmc18sw-supply = <®_eldo1>;*/ + status = "disabled"; +}; + +&sdc1 { + bus-width = <4>; + no-mmc; + no-sd; + cap-sd-highspeed; + /*sd-uhs-sdr12*/ + /*sd-uhs-sdr25;*/ + /*sd-uhs-sdr50;*/ + /*sd-uhs-ddr50;*/ + /*sd-uhs-sdr104;*/ + /*sunxi-power-save-mode;*/ + /*sunxi-dis-signal-vol-sw;*/ + cap-sdio-irq; + keep-power-in-suspend; + ignore-pm-notify; + max-frequency = <150000000>; + ctl-spec-caps = <0x8>; + status = "okay"; +}; + + +/* +tvd configuration +used (create device, 0: do not create device, 1: create device) +agc_auto_enable (0: agc manual mode,agc_manual_value is valid; 1: agc auto mode) +agc_manual_value (agc manual value, default value is 64) +cagc_enable (cagc 0: disable, 1: enable) +fliter_used (3d fliter 0: disable, 1: enable) +support two PMU power (tvd_power0, tvd_power1) +support two GPIO power (tvd_gpio0, tvd_gpio1) +NOTICE: If tvd need pmu power or gpio power,params need be configured under [tvd] +tvd_sw (the switch of all tvd driver.) +tvd_interface (0: cvbs, 1: ypbpr,) +tvd_format (0:TVD_PL_YUV420 , 1: MB_YUV420, 2: TVD_PL_YUV422) +tvd_system (0:ntsc, 1:pal) +tvd_row (total row number in multi channel mode 1-2) +tvd_column (total column number in multi channel mode 1-2) +tvd_channelx_en (0:disable, 1~4:position in multi channel mode,In single channel + mode,mean enable) +tvd_row*tvd_column is the total tvd channel number to be used in multichannel mode ++--------------------+--------------------+ +| | | +| | | +| 1 | 2 | +| | | +| | | ++--------------------+--------------------+ +| | | +| | | +| 3 | 4 | +| | | +| | | ++--------------------+--------------------+ +*/ + +&tvd { + tvd_sw = <1>; + tvd_interface = <0>; + tvd_format = <0>; + tvd_system = <1>; + tvd_row = <1>; + tvd_column = <1>; + tvd_channel0_en = <1>; + tvd_channel1_en = <0>; + tvd_channel2_en = <0>; + tvd_channel3_en = <0>; + /*tvd_gpio0 = <&pio PD 22 GPIO_ACTIVE_HIGH>;*/ + /*tvd_gpio1 = <&pio PD 23 GPIO_ACTIVE_HIGH>;*/ + /*tvd_gpio2 = <&pio PD 24 GPIO_ACTIVE_HIGH>;*/ + /* dc1sw-supply = <®_dc1sw>;*/ + /* eldo3-supply = <®_eldo3>;*/ + /*tvd_power0 = "dc1sw"*/ + /*tvd_power1 = "eldo3"*/ +}; + +&tvd0 { + used = <1>; + agc_auto_enable = <1>; + agc_manual_value = <64>; + cagc_enable = <1>; + fliter_used = <1>; +}; + +/* Audio Driver modules */ +&sunxi_rpaf_dsp0 { + status = "disabled"; +}; + +/* if audiocodec is used, sdc0 and uart0 should be closed to enable PA. */ +&codec { + /* MIC and headphone gain setting */ + mic1gain = <0x1F>; + mic2gain = <0x1F>; + mic3gain = <0x1F>; + /* ADC/DAC DRC/HPF func enabled */ + /* 0x1:DAP_HP_EN; 0x2:DAP_SPK_EN; 0x3:DAP_HPSPK_EN */ + adcdrc_cfg = <0x0>; + adchpf_cfg = <0x1>; + dacdrc_cfg = <0x0>; + dachpf_cfg = <0x0>; + /* Volume about */ + digital_vol = <0x00>; + lineout_vol = <0x1a>; + headphonegain = <0x03>; + /* Pa enabled about */ + pa_level = <0x01>; + pa_pwr_level = <0x01>; + pa_msleep_time = <0x78>; + /* gpio-spk = <&pio PF 2 GPIO_ACTIVE_HIGH>;*/ + /* gpio-spk-pwr = <&pio PF 4 GPIO_ACTIVE_HIGH>; */ + /* CMA config about */ + playback_cma = <128>; + capture_cma = <256>; + /* regulator about */ + /* avcc-supply = <®_aldo1>; */ + /* hpvcc-supply = <®_eldo1>; */ + status = "okay"; +}; + +&sndcodec { + hp_detect_case = <0x00>; + jack_enable = <0x01>; + status = "okay"; +}; + +&dummy_cpudai { + status = "okay"; +}; + +&dmic { + pinctrl-names = "default","sleep"; + pinctrl-0 = <&dmic_pins_a>; + pinctrl-1 = <&dmic_pins_b>; + status = "okay"; +}; + +&dmic_codec { + status = "okay"; +}; + +&sounddmic { + status = "okay"; +}; + +/*----------------------------------------------------------------------------- + * pcm_lrck_period 16/32/64/128/256 + * slot_width_select 16bits/20bits/24bits/32bits + * frametype 0 --> short frame = 1 clock width; + * 1 --> long frame = 2 clock width; + * tdm_config 0 --> pcm + * 1 --> i2s + * mclk_div 0 --> not output + * 1/2/4/6/8/12/16/24/32/48/64/96/128/176/192 + * (set mclk as external codec clk source, freq is pll_audio/mclk_div) + * pinctrl_used 0 --> I2S/PCM use for internal + * 1 --> I2S/PCM use for external audio + * daudio_type: 0 --> external audio type + *---------------------------------------------------------------------------*/ +&daudio0 { + mclk_div = <0x01>; + frametype = <0x00>; + tdm_config = <0x01>; + sign_extend = <0x00>; + msb_lsb_first = <0x00>; + pcm_lrck_period = <0x80>; + slot_width_select = <0x20>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&daudio0_pins_a>; + pinctrl-1 = <&daudio0_pins_b>; + pinctrl_used = <0x0>; + status = "disabled"; +}; + +/*----------------------------------------------------------------------------- + * simple-audio-card,name name of sound card, e.g. + * "snddaudio0" --> use for external audio + * sound-dai "snd-soc-dummy" --> use for I2S + * "ac108" --> use for external audio of ac108 + *---------------------------------------------------------------------------*/ +&sounddaudio0 { + /* simple-audio-card,format = "i2s"; */ + /* simple-audio-card,frame-master = <&daudio0_master>; */ + /* simple-audio-card,bitclock-master = <&daudio0_master>; */ + /* simple-audio-card,bitclock-inversion; */ + /* simple-audio-card,frame-inversion; */ + status = "disabled"; + daudio0_master: simple-audio-card,codec { + /* sound-dai = <&ac108>; */ + }; +}; + +&daudio1 { + mclk_div = <0x01>; + frametype = <0x00>; + tdm_config = <0x01>; + sign_extend = <0x00>; + msb_lsb_first = <0x00>; + pcm_lrck_period = <0x80>; + slot_width_select = <0x20>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&daudio1_pins_a>; + pinctrl-1 = <&daudio1_pins_b>; + pinctrl_used = <0x0>; + status = "disabled"; +}; + +&sounddaudio1 { + status = "disabled"; + daudio1_master: simple-audio-card,codec { + /* sound-dai = <&ac108>; */ + }; +}; + +&daudio2 { + mclk_div = <0x01>; + frametype = <0x00>; + tdm_config = <0x01>; + sign_extend = <0x00>; + tx_data_mode = <0x00>; + rx_data_mode = <0x00>; + msb_lsb_first = <0x00>; + pcm_lrck_period = <0x80>; + slot_width_select = <0x20>; + asrc_function_en = <0x00>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&daudio2_pins_a &daudio2_pins_b &daudio2_pins_c>; + pinctrl-1 = <&daudio2_pins_d>; + pinctrl_used = <0x1>; + daudio_type = <0x0>; + status = "disabled"; +}; + +&sounddaudio2 { + status = "okay"; + daudio2_master: simple-audio-card,codec { + /* sound-dai = <&ac108>; */ + }; +}; + +&spdif { + pinctrl-names = "default","sleep"; + pinctrl-0 = <&spdif_pins_a>; + pinctrl-1 = <&spdif_pins_b>; + status = "okay"; +}; + +&soundspdif { + status = "okay"; +}; + +/* + *usb_port_type: usb mode. 0-device, 1-host, 2-otg. + *usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect. + *usb_detect_mode: 0-thread scan, 1-id gpio interrupt. + *usb_id_gpio: gpio for id detect. + *usb_det_vbus_gpio: gpio for id detect. gpio or "axp_ctrl"; + *usb_wakeup_suspend:0-SUPER_STANDBY, 1-USB_STANDBY. + */ +&usbc0 { + device_type = "usbc0"; + usb_port_type = <0x2>; + usb_detect_type = <0x1>; + usb_detect_mode = <0>; + usb_id_gpio = <&pio PB 6 GPIO_ACTIVE_HIGH>; + enable-active-high; + usb_det_vbus_gpio = <&pio PB 2 GPIO_ACTIVE_HIGH>; + usb_wakeup_suspend = <0>; + usb_serial_unique = <0>; + usb_serial_number = "20080411"; + rndis_wceis = <1>; + status = "okay"; +}; + +&ehci0 { + drvvbus-supply = <®_usb1_vbus>; +}; + +&ohci0 { + drvvbus-supply = <®_usb1_vbus>; +}; + +&usbc1 { + device_type = "usbc1"; + usb_port_type = <0x01>; + sb_detect_type = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0>; + status = "okay"; +}; + +&ehci1 { + status = "okay"; +}; + +&ohci1 { + status = "okay"; +}; + +&twi0 { + clock-frequency = <400000>; + pinctrl-0 = <&twi0_pins_a>; + pinctrl-1 = <&twi0_pins_b>; + pinctrl-names = "default", "sleep"; + status = "disabled"; + + eeprom@50 { + compatible = "atmel,24c16"; + reg = <0x50>; + status = "disabled"; + }; +}; + +&twi1 { + clock-frequency = <400000>; + pinctrl-0 = <&twi1_pins_a>; + pinctrl-1 = <&twi1_pins_b>; + pinctrl-names = "default", "sleep"; + status = "disabled"; +}; + +&twi2 { + clock-frequency = <400000>; + pinctrl-0 = <&twi2_pins_a>; + pinctrl-1 = <&twi2_pins_b>; + pinctrl-names = "default", "sleep"; + dmas = <&dma 45>, <&dma 45>; + dma-names = "tx", "rx"; + status = "okay"; + + /* pcf8574-usage: + * only use gpio0~7, 0 means PP0. + * pin set: + * gpios = <&pcf8574 0 GPIO_ACTIVE_LOW>; + * interrupt set: + * interrupt-parent = <&pcf8574>; + * interrupts = <0 IRQ_TYPE_EDGE_FALLING>; + */ + pcf8574: gpio@38 { + compatible = "nxp,pcf8574"; + reg = <0x38>; + gpio_base = <2020>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + interrupt-parent = <&pio>; + interrupts = ; + status = "disabled"; + }; + + ctp@14 { + compatible = "allwinner,goodix"; + device_type = "ctp"; + reg = <0x14>; + status = "okay"; + ctp_name = "gt9xxnew_ts"; + ctp_twi_id = <0x2>; + ctp_twi_addr = <0x14>; + ctp_screen_max_x = <0x320>; + ctp_screen_max_y = <0x1e0>; + ctp_revert_x_flag = <0x0>; + ctp_revert_y_flag = <0x0>; + ctp_exchange_x_y_flag = <0x0>; + ctp_int_port = <&pio PE 10 GPIO_ACTIVE_HIGH>; + ctp_wakeup = <&pio PE 11 GPIO_ACTIVE_HIGH>; + /*ctp-supply = <®_aldo2>;*/ + /*ctp_power_ldo = <®_aldo2>;*/ + /*ctp_power_ldo_vol = <3300>;*/ + }; +}; + +&twi3 { + clock-frequency = <400000>; + pinctrl-0 = <&twi3_pins_a>; + pinctrl-1 = <&twi3_pins_b>; + pinctrl-names = "default", "sleep"; + status = "disabled"; +}; + +&gmac0 { + phy-mode = "rgmii"; + use_ephy25m = <1>; + pinctrl-0 = <&gmac_pins_a>; + pinctrl-1 = <&gmac_pins_b>; + pinctrl-names = "default", "sleep"; + phy-rst = <&pio PE 16 GPIO_ACTIVE_HIGH>; + tx-delay = <3>; /*2~4*/ + rx-delay = <0>; + status = "disabled"; +}; + +&spi0 { + clock-frequency = <100000000>; + pinctrl-0 = <&spi0_pins_a &spi0_pins_b>; + pinctrl-1 = <&spi0_pins_c>; + pinctrl-names = "default", "sleep"; + /*spi-supply = <®_dcdc1>;*/ + spi_slave_mode = <0>; + spi0_cs_number = <1>; + spi0_cs_bitmap = <1>; + status = "okay"; + + spi-nand@0 { + compatible = "spi-nand"; + spi-max-frequency=<100000000>; + reg = <0x0>; + spi-rx-bus-width=<0x01>; + spi-tx-bus-width=<0x01>; + status="okay"; + }; + + spi-nor@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency=<30000000>; + reg = <0x0>; + spi-rx-bus-width=<0x01>; + spi-tx-bus-width=<0x01>; + status="disabled"; + }; +}; + +&spi1 { + clock-frequency = <100000000>; + pinctrl-0 = <&spi1_pins_a &spi1_pins_b>; + pinctrl-1 = <&spi1_pins_c>; + pinctrl-names = "default", "sleep"; + spi_slave_mode = <0>; + status = "disabled"; + + spi_board1@0 { + device_type = "spi_board1"; + compatible = "rohm,dh2228fv"; + spi-max-frequency = <0x5f5e100>; + reg = <0x0>; + spi-rx-bus-width = <0x4>; + spi-tx-bus-width = <0x4>; + status = "disabled"; + }; +}; + +&ledc { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&ledc_pins_a>; + pinctrl-1 = <&ledc_pins_b>; + led_count = <12>; + output_mode = "GRB"; + reset_ns = <84>; + t1h_ns = <800>; + t1l_ns = <320>; + t0h_ns = <300>; + t0l_ns = <800>; + wait_time0_ns = <84>; + wait_time1_ns = <84>; + wait_data_time_ns = <600000>; + status = "disabled"; +}; + +&keyboard0 { + key0 = <210 0x160>; + wakeup-source; + status = "disabled"; +}; + +/*---------------------------------------------------------------------------------- +disp init configuration + +disp_mode (0:screen0) +screenx_output_type (0:none; 1:lcd; 2:tv; 5:vdpo) +fbx format (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444) +fbx pixel sequence (0:ARGB 1:BGRA 2:ABGR 3:RGBA) +fb0_scaler_mode_enable(scaler mode enable, used FE) +fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0) +lcdx_backlight (lcd init backlight,the range:[0,256],default:197 +lcdx_yy (lcd init screen bright/contrast/saturation/hue, value:0~100, default:50/50/57/50) +lcd0_contrast (LCD contrast, 0~100) +lcd0_saturation (LCD saturation, 0~100) +lcd0_hue (LCD hue, 0~100) +framebuffer software rotation setting: +disp_rotation_used: (0:disable; 1:enable,you must set fbX_width to lcd_y, +set fbX_height to lcd_x) +degreeX: (X:screen index; 0:0 degree; 1:90 degree; 3:270 degree) +degreeX_Y: (X:screen index; Y:layer index 0~15; 0:0 degree; 1:90 degree; 3:270 degree) +devX_output_type : config output type in bootGUI framework in UBOOT-2018. + (0:none; 1:lcd; 2:tv;) +devX_output_mode : config output resolution(see include/video/sunxi_display2.h) of bootGUI framework in UBOOT-2018 +devX_screen_id : config display index of bootGUI framework in UBOOT-2018 +devX_do_hpd : whether do hpd detectation or not in UBOOT-2018 +chn_cfg_mode : Hardware DE channel allocation config. 0:single display with 6 + channel, 1:dual display with 4 channel in main display and 2 channel in second + display, 2:dual display with 3 channel in main display and 3 channel in second + in display. +----------------------------------------------------------------------------------*/ +&disp { + disp_init_enable = <1>; + disp_mode = <0>; + + screen0_output_type = <1>; + screen0_output_mode = <4>; + + screen1_output_type = <3>; + screen1_output_mode = <4>; + + screen1_output_format = <0>; + screen1_output_bits = <0>; + screen1_output_eotf = <4>; + screen1_output_cs = <257>; + screen1_output_range = <2>; + screen1_output_scan = <0>; + screen1_output_aspect_ratio = <8>; + dev0_output_type = <1>; + dev0_output_mode = <4>; + dev0_screen_id = <0>; + dev0_do_hpd = <0>; + + dev1_output_type = <4>; + dev1_output_mode = <10>; + dev1_screen_id = <1>; + dev1_do_hpd = <1>; + + def_output_dev = <0>; + disp_rotation_used = <1>; + degree0 = <0>; + fb0_format = <0>; + fb0_buffer_num = <1>; + /*fb0_width = <800>;*/ + /*fb0_height = <480>;*/ /*read from lcd*/ + fb1_format = <0>; + fb1_width = <0>; + fb1_height = <0>; + chn_cfg_mode = <1>; + + disp_para_zone = <1>; + /*VCC-LCD*/ +/* dc1sw-supply = <®_dc1sw>;*/ + /*VCC-DSI*/ +/* eldo3-supply = <®_eldo3>;*/ + /*VCC-PD*/ +/* dcdc1-supply = <®_dcdc1>;*/ +}; + +/*---------------------------------------------------------------------------------- +;lcd0 configuration + +;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi +;lcd_hv_if 0:Parallel RGB; 8:Serial RGB; 10:Dummy RGB; 11: RGB Dummy;12:CCIR656 +;lcd_hv_clk_phase 0:0 degree;1:90 degree;2:180 degree;3:270 degree +;lcd_hv_sync_polarity 0:vs low,hs low; 1:vs high,hslow; 2:vs low,hs high; 3:vs high,hs high +;lcd_hv_syuv_seq 0:YUYV; 1:YVYU; 2:UYVY; 3:VYUY +;lcd_cpu_if 0:18bit/1 cycle parallel(RGB666); 4:16bit/1cycle parallel (RGB565) +; 6:18bit/3 cycle parallel(RGB666); 7:16bit/2cycle parallel (RGB565) +;lcd_cpu_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge; +;lcd_dsi_if 0:video mode; 1: Command mode; 2:video burst mode +;lcd_dsi_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge; +;lcd_x: lcd horizontal resolution +;lcd_y: lcd vertical resolution +;lcd_width: width of lcd in mm +;lcd_height: height of lcd in mm +;lcd_dclk_freq: in MHZ unit +;lcd_pwm_freq: in HZ unit +;lcd_pwm_pol: lcd backlight PWM polarity +;lcd_pwm_max_limit lcd backlight PWM max limit(<=255) +;lcd_hbp: hsync back porch(pixel) + hsync plus width(pixel); +;lcd_ht: hsync total cycle(pixel) +;lcd_vbp: vsync back porch(line) + vysnc plus width(line) +;lcd_vt: vysnc total cycle(line) +;lcd_hspw: hsync plus width(pixel) +;lcd_vspw: vysnc plus width(pixel) +;lcd_lvds_if: 0:single link; 1:dual link +;lcd_lvds_colordepth: 0:8bit; 1:6bit +;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode +;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither +;lcd_io_phase: 0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase; +; 8~11bit:dclk phase; 12~15bit:de phase) +;lcd_gamma_en lcd gamma correction enable +;lcd_bright_curve_en lcd bright curve correction enable +;lcd_cmap_en lcd color map function enable +;deu_mode 0:smoll lcd screen; 1:large lcd screen(larger than 10inch) +;lcdgamma4iep: Smart Backlight parameter, lcd gamma vale * 10; +; decrease it while lcd is not bright enough; increase while lcd is too bright +;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch) +;Pin setting for special function ie.LVDS, RGB data or vsync +; name(donot care) = port:PD12 +;Pin setting for gpio: +; lcd_gpio_X = port:PD12 +;Pin setting for backlight enable pin +; lcd_bl_en = port:PD12 +;fsync setting, pulse to csi +;lcd_fsync_en (0:disable fsync,1:enable) +;lcd_fsync_act_time (active time of fsync, unit:pixel) +;lcd_fsync_dis_time (disactive time of fsync, unit:pixel) +;lcd_fsync_pol (0:positive;1:negative) +;gpio config: <&pio for cpu or &r_pio for cpus, port, port num, pio function, +pull up or pull down(default 0), driver level(default 1), data> +;For dual link lvds: use lvds2link_pins_a and lvds2link_pins_b instead +;For rgb24: use rgb24_pins_a and rgb24_pins_b instead +;For lvds1: use lvds1_pins_a and lvds1_pins_b instead +;For lvds0: use lvds0_pins_a and lvds0_pins_b instead +;----------------------------------------------------------------------------------*/ +/* +&lcd0 { + lcd_used = <0>; + + lcd_driver_name = "tft08006"; + lcd_backlight = <100>; + lcd_if = <4>; + + lcd_x = <800>; + lcd_y = <1280>; + lcd_width = <52>; + lcd_height = <52>; + lcd_dclk_freq = <70>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <2>; + lcd_pwm_freq = <1000>; + lcd_pwm_pol = <0>; + lcd_pwm_max_limit = <255>; + + lcd_hbp = <32>; + lcd_ht = <868>; + lcd_hspw = <4>; + lcd_vbp = <12>; + lcd_vt = <1311>; + lcd_vspw = <4>; + + lcd_dsi_if = <0>; + lcd_dsi_lane = <4>; + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <0>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_hv_clk_phase = <0>; + lcd_hv_sync_polarity= <0>; + lcd_io_phase = <0x0000>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_en = <0>; + lcd_fsync_act_time = <1000>; + lcd_fsync_dis_time = <1000>; + lcd_fsync_pol = <0>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + lcd_gpio_0 = <&pio PG 13 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&dsi4lane_pins_a>; + pinctrl-1 = <&dsi4lane_pins_b>; +}; +*/ + +&lcd0 { + lcd_used = <1>; + + lcd_driver_name = "default_lcd"; + lcd_backlight = <50>; + lcd_if = <0>; + + lcd_x = <800>; + lcd_y = <480>; + lcd_width = <150>; + lcd_height = <94>; + lcd_dclk_freq = <48>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <500>; + lcd_pwm_pol = <0>; + + lcd_hbp = <55>; + lcd_ht = <1240>; + lcd_hspw = <20>; + lcd_vbp = <35>; + lcd_vt = <650>; + lcd_vspw = <10>; + + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_io_phase = <0x0000>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + pinctrl-0 = <&rgb18_pins_a>; + pinctrl-1 = <&rgb18_pins_b>; +/* + lcd_driver_name = "default_lcd"; + lcd_backlight = <150>; + lcd_if = <3>; + + lcd_x = <1280>; + lcd_y = <800>; + lcd_width = <150>; + lcd_height = <94>; + lcd_dclk_freq = <71>; + lcd_rb_swap = <0>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <1>; + lcd_pwm_max_limit = <255>; + + lcd_hbp = <20>; + lcd_ht = <1418>; + lcd_hspw = <10>; + lcd_vbp = <10>; + lcd_vt = <814>; + lcd_vspw = <5>; + + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <1>; + lcd_io_phase = <0x0000>; + lcd_hv_clk_phase = <0>; + lcd_hv_sync_polarity = <0>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_act_time = <1000>; + lcd_fsync_dis_time = <1000>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + pinctrl-0 = <&lvds0_pins_a>; + pinctrl-1 = <&lvds0_pins_b>; + lcd_bl_en = <&pio PD 20 GPIO_ACTIVE_HIGH>; + + lcd_driver_name = "he0801a068"; + lcd_backlight = <50>; + lcd_if = <4>; + + lcd_x = <800>; + lcd_y = <1280>; + lcd_width = <52>; + lcd_height = <52>; + lcd_dclk_freq = <78>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <50000>; + lcd_pwm_pol = <1>; + lcd_pwm_max_limit = <255>; + + lcd_hbp = <149>; + lcd_ht = <978>; + lcd_hspw = <16>; + lcd_vbp = <7>; + lcd_vt = <1329>; + lcd_vspw = <5>; + + lcd_dsi_lane = <4>; + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_io_phase = <0x0000>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + lcd_fsync_act_time = <1000>; + lcd_fsync_dis_time = <1000>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + + pinctrl-0 = <&dsi4lane_pins_a>; + pinctrl-1 = <&dsi4lane_pins_b>; + lcd_gpio_0 = <&pio PD 20 GPIO_ACTIVE_HIGH>; +*/ +}; + +&pwm0 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm0_pin_a>; + pinctrl-1 = <&pwm0_pin_b>; + status = "okay"; +}; + +&pwm2 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm2_pin_a>; + pinctrl-1 = <&pwm2_pin_b>; + status = "okay"; +}; + + +&pwm7 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm7_pin_a>; + pinctrl-1 = <&pwm7_pin_b>; + status = "okay"; +}; + +&rtp { + allwinner,tp-sensitive-adjust = <0xf>; + allwinner,filter-type = <0x1>; + allwinner,ts-attached; + status = "disabled"; +}; + +&tpadc { + key_cnt = <5>; + key1 = <420 115>; + key2 = <870 114>; + key3 = <1290 119>; + key4 = <1630 373>; + key5 = <1950 28>; + status = "disabled"; +}; + +&gpadc { + channel_num = <1>; + channel_select = <0x01>; + channel_data_select = <0>; + channel_compare_select = <0x01>; + channel_cld_select = <0x01>; + channel_chd_select = <0>; + channel0_compare_lowdata = <1600000>; + channel0_compare_higdata = <1200000>; + channel1_compare_lowdata = <460000>; + channel1_compare_higdata = <1200000>; + key_cnt = <5>; + key0_vol = <210>; + key0_val = <0x19c>; + key1_vol = <410>; + key1_val = <0x197>; + key2_vol = <590>; + key2_val = <158>; + key3_vol = <750>; + key3_val = <28>; + key4_vol = <880>; + key4_val = <28>; + status = "okay"; + wakeup-source; +}; + +&s_cir0 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&s_cir0_pins_a>; + pinctrl-1 = <&s_cir0_pins_b>; + ir_protocol_used = <0>; + ir_addr_code0 = <0x0>; + status = "okay"; +}; + +&ir1 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&ir1_pins_a>; + pinctrl-1 = <&ir1_pins_b>; + status = "disabled"; +}; \ No newline at end of file diff --git a/device/config/chips/t113/configs/evb1/linux-5.4/config-5.4 b/device/config/chips/t113/configs/evb1/linux-5.4/config-5.4 new file mode 100755 index 0000000..6553718 --- /dev/null +++ b/device/config/chips/t113/configs/evb1/linux-5.4/config-5.4 @@ -0,0 +1,3753 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 5.4.61 Kernel Configuration +# +CONFIG_CC_VERSION_TEXT="arm-openwrt-linux-muslgnueabi-gcc.bin (OpenWrt/Linaro GCC 6.4-2017.11 2017-11) 6.4.1" +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=60401 +CONFIG_CLANG_VERSION=0 +CONFIG_CC_CAN_LINK=y +CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_BUILD_SALT="" +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_LZ4=y +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_XZ is not set +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_USELIB is not set +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_GENERIC_IRQ_MIGRATION=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_IRQ_MSI_IOMMU=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +# end of IRQ subsystem + +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_ARCH_CLOCKSOURCE_DATA=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 +# end of Timers subsystem + +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_PREEMPTION=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +# CONFIG_TASKSTATS is not set +# CONFIG_PSI is not set +# end of CPU/Task time and stats accounting + +CONFIG_CPU_ISOLATION=y + +# +# RCU Subsystem +# +CONFIG_PREEMPT_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +CONFIG_TREE_SRCU=y +CONFIG_TASKS_RCU=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_RCU_NEED_SEGCBLIST=y +# end of RCU Subsystem + +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +# CONFIG_IKHEADERS is not set +CONFIG_LOG_BUF_SHIFT=20 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 +CONFIG_GENERIC_SCHED_CLOCK=y + +# +# Scheduler features +# +# end of Scheduler features + +# CONFIG_CGROUPS is not set +# CONFIG_NAMESPACES is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +# CONFIG_BLK_DEV_INITRD is not set +# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +CONFIG_EXPERT=y +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +# CONFIG_SYSFS_SYSCALL is not set +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_FHANDLE=y +CONFIG_POSIX_TIMERS=y +CONFIG_PRINTK=y +CONFIG_PRINTK_NMI=y +CONFIG_BUG=y +# CONFIG_ELF_CORE is not set +CONFIG_BASE_FULL=y +# CONFIG_FUTEX is not set +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_IO_URING=y +CONFIG_ADVISE_SYSCALLS=y +CONFIG_MEMBARRIER=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +CONFIG_KALLSYMS_BASE_RELATIVE=y +# CONFIG_BPF_SYSCALL is not set +# CONFIG_USERFAULTFD is not set +CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +CONFIG_RSEQ=y +# CONFIG_DEBUG_RSEQ is not set +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y +# CONFIG_PC104 is not set + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +# end of Kernel Performance Events And Counters + +CONFIG_VM_EVENT_COUNTERS=y +# CONFIG_SLUB_DEBUG is not set +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +CONFIG_SLAB_MERGE_DEFAULT=y +# CONFIG_SLAB_FREELIST_RANDOM is not set +# CONFIG_SLAB_FREELIST_HARDENED is not set +# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set +CONFIG_SLUB_CPU_PARTIAL=y +CONFIG_PROFILING=y +# end of General setup + +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_ARM_DMA_USE_IOMMU=y +CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8 +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 + +# +# System Type +# +CONFIG_MMU=y +CONFIG_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MULTIPLATFORM=y +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C24XX is not set +# CONFIG_ARCH_OMAP1 is not set + +# +# Multiple platform selection +# + +# +# CPU Core family selection +# +# CONFIG_ARCH_MULTI_V6 is not set +CONFIG_ARCH_MULTI_V7=y +CONFIG_ARCH_MULTI_V6_V7=y +# end of Multiple platform selection + +# CONFIG_ARCH_VIRT is not set +# CONFIG_ARCH_ACTIONS is not set +# CONFIG_ARCH_ALPINE is not set +# CONFIG_ARCH_ARTPEC is not set +# CONFIG_ARCH_ASPEED is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_BCM is not set +# CONFIG_ARCH_BERLIN is not set +# CONFIG_ARCH_DIGICOLOR is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_HIGHBANK is not set +# CONFIG_ARCH_HISI is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_KEYSTONE is not set +# CONFIG_ARCH_MEDIATEK is not set +# CONFIG_ARCH_MESON is not set +# CONFIG_ARCH_MILBEAUT is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_MVEBU is not set +# CONFIG_ARCH_NPCM is not set + +# +# TI OMAP/AM/DM/DRA Family +# +# CONFIG_ARCH_OMAP3 is not set +# CONFIG_ARCH_OMAP4 is not set +# CONFIG_SOC_OMAP5 is not set +# CONFIG_SOC_AM33XX is not set +# CONFIG_SOC_AM43XX is not set +# CONFIG_SOC_DRA7XX is not set +# end of TI OMAP/AM/DM/DRA Family + +# CONFIG_ARCH_SIRF is not set +# CONFIG_ARCH_QCOM is not set +# CONFIG_ARCH_RDA is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_ROCKCHIP is not set +# CONFIG_ARCH_S5PV210 is not set +# CONFIG_ARCH_RENESAS is not set +# CONFIG_ARCH_SOCFPGA is not set +# CONFIG_PLAT_SPEAR is not set +# CONFIG_ARCH_STI is not set +# CONFIG_ARCH_STM32 is not set +CONFIG_ARCH_SUNXI=y +# CONFIG_MACH_SUN4I is not set +# CONFIG_MACH_SUN5I is not set +# CONFIG_MACH_SUN6I is not set +# CONFIG_MACH_SUN7I is not set +# CONFIG_MACH_SUN8I is not set +# CONFIG_MACH_SUN9I is not set +CONFIG_ARCH_SUN8I=y +# CONFIG_ARCH_SUN8IW15 is not set +CONFIG_ARCH_SUN8IW20=y +# CONFIG_FPGA_V4_PLATFORM is not set +# CONFIG_FPGA_V7_PLATFORM is not set +CONFIG_EVB_PLATFORM=y +CONFIG_SUNXI_SOC_NAME="sun8iw20" +# CONFIG_ARCH_TANGO is not set +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_UNIPHIER is not set +# CONFIG_ARCH_U8500 is not set +# CONFIG_ARCH_VEXPRESS is not set +# CONFIG_ARCH_WM8850 is not set +# CONFIG_ARCH_ZX is not set +# CONFIG_ARCH_ZYNQ is not set + +# +# Processor Type +# +CONFIG_CPU_V7=y +CONFIG_CPU_THUMB_CAPABLE=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +# CONFIG_ARM_LPAE is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +CONFIG_SWP_EMULATE=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_CPU_SPECTRE=y +CONFIG_HARDEN_BRANCH_PREDICTOR=y +CONFIG_KUSER_HELPERS=y +# CONFIG_VDSO is not set +CONFIG_OUTER_CACHE=y +CONFIG_OUTER_CACHE_SYNC=y +CONFIG_MIGHT_HAVE_CACHE_L2X0=y +CONFIG_CACHE_L2X0=y +# CONFIG_PL310_ERRATA_588369 is not set +# CONFIG_PL310_ERRATA_727915 is not set +# CONFIG_PL310_ERRATA_753970 is not set +# CONFIG_PL310_ERRATA_769419 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +CONFIG_ARM_HEAVY_MB=y +CONFIG_DEBUG_ALIGN_RODATA=y +# CONFIG_ARM_ERRATA_430973 is not set +CONFIG_ARM_ERRATA_643719=y +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_754327 is not set +# CONFIG_ARM_ERRATA_764369 is not set +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_798181 is not set +# CONFIG_ARM_ERRATA_773022 is not set +# CONFIG_ARM_ERRATA_818325_852422 is not set +# CONFIG_ARM_ERRATA_821420 is not set +# CONFIG_ARM_ERRATA_825619 is not set +# CONFIG_ARM_ERRATA_857271 is not set +# CONFIG_ARM_ERRATA_852421 is not set +# CONFIG_ARM_ERRATA_852423 is not set +# CONFIG_ARM_ERRATA_857272 is not set +# end of System Type + +# +# Bus support +# +# CONFIG_ARM_ERRATA_814220 is not set +# end of Bus support + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +CONFIG_SCHED_MC=y +# CONFIG_SCHED_SMT is not set +CONFIG_HAVE_ARM_ARCH_TIMER=y +# CONFIG_MCPM is not set +# CONFIG_BIG_LITTLE is not set +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_3G_OPT is not set +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_NR_CPUS=2 +CONFIG_HOTPLUG_CPU=y +CONFIG_ARM_PSCI=y +CONFIG_ARCH_NR_GPIO=416 +CONFIG_HZ_FIXED=0 +CONFIG_HZ_100=y +# CONFIG_HZ_200 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +# CONFIG_HZ_500 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=100 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_ARM_PATCH_IDIV=y +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +CONFIG_HAVE_ARCH_PFN_VALID=y +# CONFIG_HIGHMEM is not set +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +# CONFIG_PARAVIRT is not set +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +# CONFIG_XEN is not set +# end of Kernel Features + +# +# Boot options +# +CONFIG_USE_OF=y +# CONFIG_ATAGS is not set +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +# CONFIG_ARM_APPENDED_DTB is not set +CONFIG_CMDLINE="loglevel=8 initcall_debug=1 console=ttyS0 init=/init" +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +CONFIG_AUTO_ZRELADDR=y +# CONFIG_EFI is not set +# end of Boot options + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set +# end of CPU Frequency scaling + +# +# CPU Idle +# +# CONFIG_CPU_IDLE is not set +# end of CPU Idle +# end of CPU Power Management + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y +# end of Floating point emulation + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +CONFIG_PM_WAKELOCKS=y +CONFIG_PM_WAKELOCKS_LIMIT=100 +CONFIG_PM_WAKELOCKS_GC=y +CONFIG_PM=y +CONFIG_PM_DEBUG=y +CONFIG_PM_ADVANCED_DEBUG=y +CONFIG_PM_SLEEP_DEBUG=y +# CONFIG_APM_EMULATION is not set +CONFIG_PM_CLK=y +CONFIG_PM_GENERIC_DOMAINS=y +CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y +CONFIG_PM_GENERIC_DOMAINS_SLEEP=y +CONFIG_PM_GENERIC_DOMAINS_OF=y +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +# end of Power management options + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +# CONFIG_FW_CFG_SYSFS is not set +# CONFIG_QCOM_SCM is not set +# CONFIG_TRUSTED_FOUNDATIONS is not set +CONFIG_HAVE_ARM_SMCCC=y +CONFIG_ARM_PSCI_FW=y +# CONFIG_GOOGLE_FIRMWARE is not set + +# +# Tegra firmware driver +# +# end of Tegra firmware driver +# end of Firmware Drivers + +# CONFIG_ARM_CRYPTO is not set +# CONFIG_VIRTUALIZATION is not set + +# +# General architecture-dependent options +# +# CONFIG_OPROFILE is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_JUMP_LABEL=y +# CONFIG_STATIC_KEYS_SELFTEST is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_NMI=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_ARCH_HAS_FORTIFY_SOURCE=y +CONFIG_ARCH_HAS_KEEPINITRD=y +CONFIG_ARCH_HAS_SET_MEMORY=y +CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y +CONFIG_ARCH_32BIT_OFF_T=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_RSEQ=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_STACKPROTECTOR=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR_STRONG=y +CONFIG_LTO_NONE=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_HAVE_EXIT_THREAD=y +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y +CONFIG_HAVE_COPY_THREAD_TLS=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y +CONFIG_64BIT_TIME=y +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y +CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y +CONFIG_STRICT_KERNEL_RWX=y +CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y +CONFIG_STRICT_MODULE_RWX=y +CONFIG_ARCH_HAS_PHYS_TO_DMA=y +CONFIG_REFCOUNT_FULL=y +# CONFIG_LOCK_EVENT_COUNTS is not set + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +# end of GCOV-based kernel profiling + +CONFIG_PLUGIN_HOSTCC="" +CONFIG_HAVE_GCC_PLUGINS=y +# end of General architecture-dependent options + +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 is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_BLOCK=y +CONFIG_BLK_SCSI_REQUEST=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_DEV_ZONED is not set +# CONFIG_BLK_CMDLINE_PARSER is not set +# CONFIG_BLK_WBT is not set +CONFIG_BLK_DEBUG_FS=y +# CONFIG_BLK_SED_OPAL is not set +# CONFIG_BLK_INLINE_ENCRYPTION is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_EFI_PARTITION=y +# end of Partition Types + +CONFIG_BLK_PM=y + +# +# IO Schedulers +# +CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=y +# CONFIG_IOSCHED_BFQ is not set +# end of IO Schedulers + +CONFIG_ASN1=y +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_GKI_HIDDEN_DRM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_REGMAP_CONFIGS is not set +# CONFIG_GKI_HIDDEN_CRYPTO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_SOC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MMC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPIO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_QCOM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MEDIA_CONFIGS is not set +# CONFIG_GKI_HIDDEN_VIRTUAL_CONFIGS is not set +# CONFIG_GKI_LEGACY_WEXT_ALLCONFIG is not set +# CONFIG_GKI_HIDDEN_USB_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SOC_BUS_CONFIGS is not set +# CONFIG_GKI_HIDDEN_RPMSG_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPU_CONFIGS is not set +# CONFIG_GKI_HIDDEN_IRQ_CONFIGS is not set +# CONFIG_GKI_HIDDEN_HYPERVISOR_CONFIGS is not set +# CONFIG_GKI_HACKS_TO_FIX is not set +# CONFIG_GKI_OPT_FEATURES is not set +CONFIG_FREEZER=y + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_ELF_FDPIC is not set +CONFIG_ELFCORE=y +CONFIG_BINFMT_SCRIPT=y +CONFIG_ARCH_HAS_BINFMT_FLAT=y +# CONFIG_BINFMT_FLAT is not set +CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y +# end of Executable file formats + +# +# Memory Management options +# +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_MEMORY_ISOLATION=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_CONTIG_ALLOC=y +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +# CONFIG_CLEANCACHE 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 is not set +CONFIG_GENERIC_EARLY_IOREMAP=y +# CONFIG_IDLE_PAGE_TRACKING is not set +# CONFIG_PERCPU_STATS is not set +# CONFIG_GUP_BENCHMARK is not set +# end of Memory Management options + +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +CONFIG_UNIX_SCM=y +# CONFIG_UNIX_DIAG is not set +# CONFIG_TLS is not set +# CONFIG_XFRM_USER is not set +# CONFIG_NET_KEY 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=y +CONFIG_IP_ROUTE_VERBOSE=y +# CONFIG_IP_PNP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +CONFIG_IP_MROUTE_COMMON=y +CONFIG_IP_MROUTE=y +CONFIG_IP_MROUTE_MULTIPLE_TABLES=y +# CONFIG_IP_PIMSM_V1 is not set +# CONFIG_IP_PIMSM_V2 is not set +CONFIG_SYN_COOKIES=y +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_FOU is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_DIAG is not set +CONFIG_TCP_CONG_ADVANCED=y +# CONFIG_TCP_CONG_BIC is not set +CONFIG_TCP_CONG_CUBIC=y +# CONFIG_TCP_CONG_WESTWOOD is not set +# CONFIG_TCP_CONG_HTCP is not set +# CONFIG_TCP_CONG_HSTCP is not set +# CONFIG_TCP_CONG_HYBLA is not set +# CONFIG_TCP_CONG_VEGAS is not set +# CONFIG_TCP_CONG_NV is not set +# CONFIG_TCP_CONG_SCALABLE is not set +# CONFIG_TCP_CONG_LP is not set +# CONFIG_TCP_CONG_VENO is not set +# CONFIG_TCP_CONG_YEAH is not set +# CONFIG_TCP_CONG_ILLINOIS is not set +# CONFIG_TCP_CONG_DCTCP is not set +# CONFIG_TCP_CONG_CDG is not set +# CONFIG_TCP_CONG_BBR is not set +CONFIG_DEFAULT_CUBIC=y +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER is not set +# CONFIG_BPFILTER 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_BRIDGE=y +CONFIG_BRIDGE_IGMP_SNOOPING=y +CONFIG_HAVE_NET_DSA=y +# CONFIG_NET_DSA is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +CONFIG_LLC=y +# CONFIG_LLC2 is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET 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 is not set +# 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_CBS is not set +# CONFIG_NET_SCH_ETF is not set +# CONFIG_NET_SCH_TAPRIO 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_SKBPRIO 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=y +# CONFIG_NET_SCH_CAKE 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_PLUG is not set +# CONFIG_NET_SCH_DEFAULT is not set + +# +# Classification +# +# 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 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_BPF is not set +# CONFIG_NET_CLS_FLOWER is not set +# CONFIG_NET_CLS_MATCHALL is not set +# CONFIG_NET_EMATCH is not set +# CONFIG_NET_CLS_ACT is not set +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +# CONFIG_DNS_RESOLVER is not set +# 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_NET_NSH is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_NET_NCSI is not set +CONFIG_RPS=y +CONFIG_RFS_ACCEL=y +CONFIG_XPS=y +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +# CONFIG_BPF_JIT is not set +CONFIG_NET_FLOW_LIMIT=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# end of Network testing +# end of Networking options + +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +# CONFIG_AF_KCM is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_CFG80211=y +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +CONFIG_CFG80211_CERTIFICATION_ONUS=y +# CONFIG_CFG80211_REQUIRE_SIGNED_REGDB is not set +# CONFIG_CFG80211_REG_CELLULAR_HINTS is not set +# CONFIG_CFG80211_REG_RELAX_NO_IR is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +# CONFIG_CFG80211_WEXT is not set +# CONFIG_MAC80211 is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +# CONFIG_PSAMPLE is not set +# CONFIG_NET_IFE is not set +# CONFIG_LWTUNNEL is not set +# CONFIG_FAILOVER is not set +CONFIG_HAVE_EBPF_JIT=y + +# +# Device Drivers +# +CONFIG_HAVE_PCI=y +# CONFIG_PCI is not set +# CONFIG_PCCARD is not set + +# +# Generic Driver Options +# +# CONFIG_UEVENT_HELPER is not set +# CONFIG_DEVTMPFS is not set +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# +CONFIG_FW_LOADER=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER is not set +# CONFIG_FW_LOADER_COMPRESS is not set +CONFIG_FW_CACHE=y +# end of Firmware loader + +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_REGMAP_MMIO=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_DMA_FENCE_TRACE is not set +CONFIG_GENERIC_ARCH_TOPOLOGY=y +# end of Generic Driver Options + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_MOXTET is not set +# CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SUN50I_DE2_BUS is not set +# CONFIG_SUNXI_RSB is not set +CONFIG_SUNXI_MBUS=y +# CONFIG_SUNXI_NSI is not set +# CONFIG_VEXPRESS_CONFIG is not set +# end of Bus devices + +# CONFIG_CONNECTOR is not set +# CONFIG_GNSS is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set +# CONFIG_MTD_SUNXI_PARTS is not set + +# +# Partition parsers +# +# end of Partition parsers + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +# CONFIG_MTD_CHAR is not set +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_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_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# end of RAM/ROM/Flash chip drivers + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set +# end of Mapping drivers for chip access + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_MCHP23K256 is not set +# CONFIG_MTD_SST25L is not set +# 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 +# end of Self-contained MTD device drivers + +# CONFIG_MTD_ONENAND is not set +# CONFIG_MTD_RAW_NAND is not set +# CONFIG_MTD_SPI_NAND is not set + +# +# sunxi-nand +# +CONFIG_AW_MTD_SPINAND=y +# CONFIG_AW_MTD_RAWNAND is not set +CONFIG_AW_SPINAND_PHYSICAL_LAYER=y +CONFIG_AW_SPINAND_SECURE_STORAGE=y +# CONFIG_AW_SPINAND_PSTORE_MTD_PART is not set +# CONFIG_AW_SPINAND_ENABLE_PHY_CRC16 is not set +CONFIG_AW_SPINAND_SIMULATE_MULTIPLANE=y +# CONFIG_AW_MTD_SPINAND_OOB_RAW_SPARE is not set +# end of sunxi-nand + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# end of LPDDR & LPDDR2 PCM memory drivers + +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_LIMIT=40 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +CONFIG_MTD_UBI_BLOCK=y +# CONFIG_MTD_HYPERBUS 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_KOBJ=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_RESERVED_MEM=y +# CONFIG_OF_OVERLAY is not set +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_SUNXI_NAND is not set +# CONFIG_BLK_DEV_LOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# NVME Support +# +# CONFIG_NVME_FC is not set +# CONFIG_NVME_TARGET is not set +# end of NVME Support + +# +# Misc devices +# +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES 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_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_XILINX_SDFEC is not set +# CONFIG_PVPANIC is not set +# CONFIG_HISI_HIKEY_USB is not set +# 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 is not set +# CONFIG_EEPROM_93XX46 is not set +# CONFIG_EEPROM_IDT_89HPESX is not set +# CONFIG_EEPROM_EE1004 is not set +# end of EEPROM support + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# end of Texas Instruments shared transport line discipline + +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC & related support +# + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# VOP Bus Driver +# +# CONFIG_VOP_BUS is not set + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# + +# +# VOP Driver +# +# end of Intel MIC & related support + +# CONFIG_ECHO is not set +# CONFIG_MISC_RTSX_USB is not set +CONFIG_SUNXI_RFKILL=y +CONFIG_SUNXI_ADDR_MGT=y +# CONFIG_SUNXI_BOOTEVENT is not set + +# +# sunxi Gorilla ESL platform +# +# CONFIG_SUNXI_GORILLA is not set +# end of sunxi Gorilla ESL platform + +# CONFIG_SUNXI_MIPSLOADER is not set +# CONFIG_SUNXI_TVUTILS is not set +# end of Misc devices + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST 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 is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# end of SCSI Transports + +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# end of SCSI device support + +# CONFIG_ATA is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +CONFIG_NETDEVICES=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_TEAM is not set +# CONFIG_MACVLAN is not set +# CONFIG_IPVLAN is not set +# CONFIG_VXLAN is not set +# CONFIG_GENEVE is not set +# CONFIG_GTP is not set +# CONFIG_MACSEC is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_TUN is not set +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_VETH is not set +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# end of Distributed Switch Architecture drivers + +# CONFIG_ETHERNET is not set +# CONFIG_MDIO_DEVICE is not set +# CONFIG_PHYLIB is not set +# CONFIG_MICREL_KS8995MA is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +# CONFIG_USB_NET_DRIVERS is not set +CONFIG_WLAN=y +# CONFIG_WIRELESS_WDS is not set +# CONFIG_WLAN_VENDOR_ADMTEK is not set +# CONFIG_WLAN_VENDOR_ATH is not set +# CONFIG_WLAN_VENDOR_ATMEL is not set +# CONFIG_WLAN_VENDOR_BROADCOM is not set +# CONFIG_WLAN_VENDOR_CISCO is not set +# CONFIG_WLAN_VENDOR_INTEL is not set +# CONFIG_WLAN_VENDOR_INTERSIL is not set +# CONFIG_WLAN_VENDOR_MARVELL is not set +# CONFIG_WLAN_VENDOR_MEDIATEK is not set +# CONFIG_WLAN_VENDOR_RALINK is not set +# CONFIG_WLAN_VENDOR_REALTEK is not set +# CONFIG_WLAN_VENDOR_RSI is not set +# CONFIG_WLAN_VENDOR_ST is not set +# CONFIG_WLAN_VENDOR_TI is not set +# CONFIG_WLAN_VENDOR_ZYDAS is not set +# CONFIG_WLAN_VENDOR_QUANTENNA is not set +# CONFIG_XR829_WLAN is not set +CONFIG_XR819S_WLAN=m +# CONFIG_RTL8821CS is not set +# CONFIG_RTL8723DS is not set +# CONFIG_SPARD_WLAN_SUPPORT is not set +# CONFIG_BCMDHD is not set +# CONFIG_AIC_WLAN_SUPPORT is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_VIRT_WIFI is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_NETDEVSIM is not set +# CONFIG_NET_FAILOVER is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +CONFIG_INPUT_SENSORINIT=y + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ADP5588 is not set +# CONFIG_KEYBOARD_ADP5589 is not set +# CONFIG_KEYBOARD_ATKBD is not set +# CONFIG_KEYBOARD_QT1050 is not set +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 is not set +# CONFIG_KEYBOARD_DLINK_DIR685 is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYBOARD_GPIO_POLLED is not set +# CONFIG_KEYBOARD_TCA6416 is not set +# CONFIG_KEYBOARD_TCA8418 is not set +# CONFIG_KEYBOARD_MATRIX is not set +# CONFIG_KEYBOARD_LM8333 is not set +# CONFIG_KEYBOARD_MAX7359 is not set +# CONFIG_KEYBOARD_MCS is not set +# CONFIG_KEYBOARD_MPR121 is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_SAMSUNG is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_SUN4I_LRADC is not set +# CONFIG_KEYBOARD_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +# CONFIG_KEYBOARD_SUNXI is not set +# CONFIG_KEYBOARD_TPKEY is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET 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_BU21029 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_EXC3000 is not set +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GOODIX is not set +# CONFIG_TOUCHSCREEN_HIDEEP is not set +# CONFIG_TOUCHSCREEN_ILI210X is not set +# CONFIG_TOUCHSCREEN_S6SY761 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_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_SUN4I is not set +# CONFIG_TOUCHSCREEN_SUNXI is not set +# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set +# CONFIG_TOUCHSCREEN_SX8654 is not set +# CONFIG_TOUCHSCREEN_TPS6507X is not set +# CONFIG_TOUCHSCREEN_ZET6223 is not set +# CONFIG_TOUCHSCREEN_ZFORCE is not set +# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set +# CONFIG_TOUCHSCREEN_IQS5XX is not set +CONFIG_TOUCHSCREEN_GSLX680NEW=m +# CONFIG_TOUCHSCREEN_GT9XXNEW_TS is not set +# CONFIG_TOUCHSCREEN_GT9XXNEWDUP_TS is not set +# CONFIG_TOUCHSCREEN_FTS is not set +# CONFIG_INPUT_MISC is not set +# CONFIG_RMI4_CORE is not set +CONFIG_INPUT_SENSOR=y +# CONFIG_SENSORS_SC7A20 is not set +# CONFIG_SENSORS_MIR3DA is not set +# CONFIG_STK3X1X is not set +# CONFIG_SUNXI_TPADC is not set +CONFIG_SUNXI_GPADC=m + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set +# end of Hardware I/O ports +# end of Input device support + +# +# Character devices +# +CONFIG_TTY=y +# CONFIG_VT is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +# CONFIG_NULL_TTY is not set +# CONFIG_LDISC_AUTOLOAD is not set +# CONFIG_DEVMEM is not set +# CONFIG_DEVKMEM is not set + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set +# CONFIG_SERIAL_SAMSUNG is not set +# 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_SIFIVE is not set +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_BCM63XX 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_FSL_LPUART is not set +# CONFIG_SERIAL_FSL_LINFLEXUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_SPRD is not set +CONFIG_SERIAL_SUNXI=y +# CONFIG_SERIAL_SUNXI_DMA is not set +CONFIG_SERIAL_SUNXI_CONSOLE=y +# CONFIG_SERIAL_SUNXI_EARLYCON is not set +# end of Serial drivers + +# CONFIG_SERIAL_DEV_BUS is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_IPMB_DEVICE_INTERFACE is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set +# CONFIG_SUNXI_BS83B16C is not set +# end of Character devices + +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set +CONFIG_DUMP_REG=y +CONFIG_DUMP_REG_MISC=y +CONFIG_SUNXI_G2D=y +CONFIG_SUNXI_G2D_MIXER=y +CONFIG_SUNXI_G2D_ROTATE=y +CONFIG_SUNXI_SYNCFENCE=y +# CONFIG_SUNXI_DI is not set +# CONFIG_SUNXI_STANDBY_DEBUG is not set +# CONFIG_SUNXI_SYS_INFO is not set +# CONFIG_SUNXI_SMC is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +# CONFIG_I2C_COMPAT is not set +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_MUX is not set +# CONFIG_I2C_HELPER_AUTO is not set +# CONFIG_I2C_SMBUS is not set + +# +# I2C Algorithms +# +# CONFIG_I2C_ALGOBIT is not set +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set +# end of I2C Algorithms + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_MV64XXX is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_SUNXI=y +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_RK3X is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# 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 +# +# end of I2C Hardware Bus support + +# CONFIG_I2C_STUB is not set +CONFIG_I2C_SLAVE=y +# CONFIG_I2C_SLAVE_EEPROM is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# end of I2C support + +# CONFIG_I3C is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y +# CONFIG_SPI_MEM is not set + +# +# 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 is not set +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_NXP_FLEXSPI 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_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_SIFIVE is not set +# CONFIG_SPI_SUN4I is not set +# CONFIG_SPI_SUN6I is not set +# CONFIG_SPI_MXIC is not set +CONFIG_SPI_SUNXI=y +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_LOOPBACK_TEST is not set +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPI_SLAVE is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set +# CONFIG_PPS is not set + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +# end of PTP clock support + +CONFIG_PINCTRL=y +CONFIG_PINMUX=y +CONFIG_PINCONF=y +CONFIG_GENERIC_PINCONF=y +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_MCP23S08 is not set +# CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_SX150X is not set +# CONFIG_PINCTRL_STMFX is not set +# CONFIG_PINCTRL_OCELOT is not set + +# +# Allwinner SOC PINCTRL DRIVER +# +CONFIG_PINCTRL_SUNXI=y +# CONFIG_PINCTRL_SUNXI_DEBUGFS is not set +# CONFIG_PINCTRL_SUNXI_TEST is not set +# CONFIG_PINCTRL_SUN8IW15P1 is not set +# CONFIG_PINCTRL_SUN8IW15P1_R is not set +CONFIG_PINCTRL_SUN8IW20=y +# CONFIG_PINCTRL_SUN50IW9 is not set +# CONFIG_PINCTRL_SUN50IW9_R is not set +# CONFIG_PINCTRL_SUN50IW10P1 is not set +# CONFIG_PINCTRL_SUN50IW10P1_R is not set +# CONFIG_PINCTRL_SUN50IW12 is not set +# CONFIG_PINCTRL_SUN50IW12_R is not set +# CONFIG_PINCTRL_SUN55IW3 is not set +# CONFIG_PINCTRL_SUN55IW3_R is not set +# CONFIG_PINCTRL_SUN4I_A10 is not set +# CONFIG_PINCTRL_SUN5I is not set +# CONFIG_PINCTRL_SUN6I_A31 is not set +# CONFIG_PINCTRL_SUN6I_A31_R is not set +# CONFIG_PINCTRL_SUN8I_A23 is not set +# CONFIG_PINCTRL_SUN8I_A33 is not set +# CONFIG_PINCTRL_SUN8I_A83T is not set +# CONFIG_PINCTRL_SUN8I_A83T_R is not set +# CONFIG_PINCTRL_SUN8I_A23_R is not set +# CONFIG_PINCTRL_SUN8I_H3 is not set +# CONFIG_PINCTRL_SUN8I_H3_R is not set +# CONFIG_PINCTRL_SUN8I_V3S is not set +# CONFIG_PINCTRL_SUN9I_A80 is not set +# CONFIG_PINCTRL_SUN9I_A80_R is not set +# CONFIG_PINCTRL_SUN50I_A64 is not set +# CONFIG_PINCTRL_SUN50I_A64_R is not set +# CONFIG_PINCTRL_SUN50I_A100 is not set +# CONFIG_PINCTRL_SUN50I_A100_R is not set +# CONFIG_PINCTRL_SUN50I_H5 is not set +# CONFIG_PINCTRL_SUN50I_H6 is not set +# CONFIG_PINCTRL_SUN50I_H6_R is not set +# end of Allwinner SOC PINCTRL DRIVER + +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_OF_GPIO=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_SUNXI is not set +# CONFIG_GPIO_CADENCE is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_FTGPIO010 is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_HLWD is not set +# CONFIG_GPIO_MB86S7X is not set +# CONFIG_GPIO_MPC8XXX is not set +# CONFIG_GPIO_SAMA5D2_PIOBU is not set +# CONFIG_GPIO_SYSCON is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_AMD_FCH is not set +# end of Memory mapped GPIO drivers + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_BS83B16C is not set +# CONFIG_GPIO_GW_PLD is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_TPIC2810 is not set +# end of I2C GPIO expanders + +# +# MFD GPIO expanders +# +# CONFIG_HTC_EGPIO is not set +# end of MFD GPIO expanders + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX3191X is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_PISOSR is not set +# CONFIG_GPIO_XRA1403 is not set +# end of SPI GPIO expanders + +# +# USB GPIO expanders +# +# end of USB GPIO expanders + +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_W1 is not set +# CONFIG_POWER_AVS is not set +# CONFIG_POWER_RESET is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_POWER_SUPPLY_HWMON=y +# CONFIG_PDA_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_CHARGER_ADP5061 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_CHARGER_SBS is not set +# CONFIG_BATTERY_BQ27XXX is not set +# CONFIG_BATTERY_MAX17040 is not set +# CONFIG_BATTERY_MAX17042 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_LT3651 is not set +# CONFIG_CHARGER_DETECTOR_MAX14656 is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24257 is not set +# CONFIG_CHARGER_BQ24735 is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_CHARGER_RT9455 is not set +# CONFIG_CHARGER_UCS1002 is not set +CONFIG_HWMON=y +# 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_AS370 is not set +# CONFIG_SENSORS_ASC7621 is not set +# CONFIG_SENSORS_ASPEED is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS620 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S 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_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_MAX6621 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_TC654 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_NPCM7XX is not set +# CONFIG_SENSORS_OCC_P8_I2C 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_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_STTS751 is not set +# CONFIG_SENSORS_SMM665 is not set +# CONFIG_SENSORS_ADC128D818 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_TMP108 is not set +# CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83773G 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_THERMAL is not set +# CONFIG_WATCHDOG is not set +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_ACX00 is not set +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_SUN4I_GPADC 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_BD9571MWV is not set +# CONFIG_MFD_AXP2101_I2C is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_MADERA is not set +# CONFIG_MFD_ASIC3 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_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_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 is not set +# CONFIG_MFD_MAX77650 is not set +# 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_CPCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8XXX is not set +# CONFIG_MFD_RT5033 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_SUN6I_PRCM 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_TI_LMU 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_TI_LP87565 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_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_TQMX86 is not set +# CONFIG_MFD_LOCHNAGAR 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_ROHM_BD718XX is not set +# CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_STPMIC1 is not set +# CONFIG_MFD_STMFX is not set +# end of Multifunction device drivers + +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_88PG86X is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_ANATOP is not set +# CONFIG_SUNXI_REGULATOR_PWM is not set +# CONFIG_REGULATOR_DA9210 is not set +# CONFIG_REGULATOR_DA9211 is not set +# CONFIG_REGULATOR_FAN53555 is not set +# CONFIG_REGULATOR_GPIO is not set +# 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_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MCP16502 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 is not set +# CONFIG_REGULATOR_SLG51000 is not set +# CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X 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 is not set +# CONFIG_REGULATOR_TPS6524X is not set +# CONFIG_REGULATOR_VCTRL is not set +CONFIG_RC_CORE=y +CONFIG_RC_MAP=y +CONFIG_LIRC=y +CONFIG_RC_DECODERS=y +# CONFIG_IR_NEC_DECODER is not set +# CONFIG_IR_RC5_DECODER is not set +# CONFIG_IR_RC6_DECODER is not set +# CONFIG_IR_JVC_DECODER is not set +# CONFIG_IR_SONY_DECODER is not set +# CONFIG_IR_SANYO_DECODER is not set +# CONFIG_IR_SHARP_DECODER is not set +# CONFIG_IR_MCE_KBD_DECODER is not set +# CONFIG_IR_XMP_DECODER is not set +# CONFIG_IR_IMON_DECODER is not set +# CONFIG_IR_RCMM_DECODER is not set +CONFIG_RC_DEVICES=y +# CONFIG_RC_ATI_REMOTE is not set +# CONFIG_IR_HIX5HD2 is not set +# CONFIG_IR_IMON is not set +# CONFIG_IR_IMON_RAW is not set +# CONFIG_IR_MCEUSB is not set +# CONFIG_IR_REDRAT3 is not set +# CONFIG_IR_SPI is not set +# CONFIG_IR_STREAMZAP is not set +# CONFIG_IR_IGORPLUGUSB is not set +# CONFIG_IR_IGUANA is not set +# CONFIG_IR_TTUSBIR is not set +# CONFIG_RC_LOOPBACK is not set +# CONFIG_IR_GPIO_CIR is not set +# CONFIG_IR_GPIO_TX is not set +# CONFIG_IR_PWM_TX is not set +# CONFIG_IR_SUNXI is not set +# CONFIG_IR_RX_SUNXI is not set +# CONFIG_IR_TX_SUNXI is not set +# CONFIG_IR_SERIAL is not set +# CONFIG_IR_SIR is not set +# CONFIG_RC_XBOX_DVD is not set +CONFIG_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +# CONFIG_MEDIA_CAMERA_SUPPORT is not set +# 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_CEC_SUPPORT is not set +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set + +# +# Media drivers +# +# CONFIG_MEDIA_USB_SUPPORT is not set + +# +# Supported MMC/SDIO adapters +# +# CONFIG_CYPRESS_FIRMWARE is not set +CONFIG_VIDEOBUF2_CORE=y + +# +# Media ancillary drivers (tuners, sensors, i2c, spi, frontends) +# + +# +# Media SPI Adapters +# +# end of Media SPI Adapters + +# +# Customise DVB Frontends +# + +# +# Tools to develop new frontends +# +# end of Customise DVB Frontends + +CONFIG_VIDEO_ENCODER_DECODER_SUNXI=y +# CONFIG_VIDEO_GOOGLE_DECODER_SUNXI is not set + +# +# Graphics support +# + +# +# GPU support for sunxi +# +CONFIG_SUNXI_GPU_TYPE="None" +# end of GPU support for sunxi + +# CONFIG_IMX_IPUV3_CORE is not set +# CONFIG_DRM is not set +# CONFIG_DRM_DP_CEC is not set + +# +# ARM devices +# +# end of ARM devices + +# +# ACP (Audio CoProcessor) Configuration +# +# end of ACP (Audio CoProcessor) Configuration + +# +# Frame buffer Devices +# +CONFIG_FB_CMDLINE=y +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX 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_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set + +# +# Video support for sunxi +# +# CONFIG_FB_CONSOLE_SUNXI is not set +CONFIG_DISP2_SUNXI=y +CONFIG_SUNXI_DISP2_FB_DISABLE_ROTATE=y +# CONFIG_SUNXI_DISP2_FB_ROTATION_SUPPORT is not set +# CONFIG_SUNXI_DISP2_FB_HW_ROTATION_SUPPORT is not set +# CONFIG_SUNXI_DISP2_FB_DECOMPRESS_LZMA is not set +# CONFIG_HDMI_DISP2_SUNXI is not set +# CONFIG_HDMI2_DISP2_SUNXI is not set +# CONFIG_HDMI_EP952_DISP2_SUNXI is not set +# CONFIG_TV_DISP2_SUNXI is not set +# CONFIG_VDPO_DISP2_SUNXI is not set +# CONFIG_EDP_DISP2_SUNXI is not set +# CONFIG_DISP2_SUNXI_BOOT_COLORBAR is not set +# CONFIG_DISP2_SUNXI_DEBUG is not set +# CONFIG_DISP2_SUNXI_COMPOSER is not set +# CONFIG_DISP2_LCD_ESD_DETECT is not set +# CONFIG_LCD_FB is not set +# CONFIG_LCD_FB_ENABLE_DEFERRED_IO is not set + +# +# LCD panels select +# +# CONFIG_LCD_SUPPORT_GG1P4062UTSW is not set +# CONFIG_LCD_SUPPORT_DX0960BE40A1 is not set +# CONFIG_LCD_SUPPORT_TFT720X1280 is not set +# CONFIG_LCD_SUPPORT_FD055HD003S is not set +# CONFIG_LCD_SUPPORT_HE0801A068 is not set +# CONFIG_LCD_SUPPORT_ILI9341 is not set +# CONFIG_LCD_SUPPORT_LH219WQ1 is not set +# CONFIG_LCD_SUPPORT_LS029B3SX02 is not set +# CONFIG_LCD_SUPPORT_LT070ME05000 is not set +# CONFIG_LCD_SUPPORT_S6D7AA0X01 is not set +# CONFIG_LCD_SUPPORT_T27P06 is not set +# CONFIG_LCD_SUPPORT_TFT720x1280 is not set +# CONFIG_LCD_SUPPORT_WTQ05027D01 is not set +# CONFIG_LCD_SUPPORT_H245QBN02 is not set +# CONFIG_LCD_SUPPORT_ST7789V is not set +# CONFIG_LCD_SUPPORT_ST7796S is not set +# CONFIG_LCD_SUPPORT_ST7701S is not set +# CONFIG_LCD_SUPPORT_T30P106 is not set +# CONFIG_LCD_SUPPORT_TO20T20000 is not set +# CONFIG_LCD_SUPPORT_FRD450H40014 is not set +# CONFIG_LCD_SUPPORT_S2003T46G is not set +# CONFIG_LCD_SUPPORT_WILLIAMLCD is not set +# CONFIG_LCD_SUPPORT_LQ101R1SX03 is not set +# CONFIG_LCD_SUPPORT_INET_DSI_PANEL is not set +# CONFIG_LCD_SUPPORT_WTL096601G03 is not set +# CONFIG_LCD_SUPPORT_RT13QV005D is not set +# CONFIG_LCD_SUPPORT_ST7789V_CPU is not set +# CONFIG_LCD_SUPPORT_CC08021801_310_800X1280 is not set +# CONFIG_LCD_SUPPORT_JD9366AB_3 is not set +# CONFIG_LCD_SUPPORT_TFT08006 is not set +CONFIG_LCD_SUPPORT_BP101WX1_206=y +CONFIG_LCD_SUPPORT_FX070=y +CONFIG_LCD_SUPPORT_K101IM2QA04=y +CONFIG_LCD_SUPPORT_K101_IM2BYL02_L_800X1280=y +CONFIG_LCD_SUPPORT_K080_IM2HYL802R_800X1280=y +# end of LCD panels select + +# +# Display engine feature select +# +CONFIG_DISP2_SUNXI_SUPPORT_SMBL=y +CONFIG_DISP2_SUNXI_SUPPORT_ENAHNCE=y +CONFIG_DISP2_SUNXI_DEVICE_OFF_ON_RELEASE=y +# end of Display engine feature select +# end of Video support for sunxi +# end of Frame buffer Devices + +# +# Backlight & LCD device support +# +# CONFIG_LCD_CLASS_DEVICE is not set +# CONFIG_BACKLIGHT_CLASS_DEVICE is not set +# end of Backlight & LCD device support + +# CONFIG_LOGO is not set +# end of Graphics support + +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_DMAENGINE_PCM=y +CONFIG_SND_JACK=y +CONFIG_SND_JACK_INPUT_DEV=y +# CONFIG_SND_MIXER_OSS is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +# CONFIG_SND_SUPPORT_OLD_API is not set +# CONFIG_SND_PROC_FS is not set +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_SEQUENCER is not set +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 + +# +# HD-Audio +# +# end of HD-Audio + +CONFIG_SND_HDA_PREALLOC_SIZE=64 +# CONFIG_SND_ARM is not set +# CONFIG_SND_SPI is not set +CONFIG_SND_USB=y +# CONFIG_SND_USB_AUDIO is not set +# 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_SND_SOC_GENERIC_DMAENGINE_PCM=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_AUDMIX 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_FSL_MICFIL is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set +# end of SoC Audio for Freescale CPUs + +# CONFIG_SND_I2S_HI6210_I2S is not set +# CONFIG_SND_I2S_HI3660_I2S is not set +# CONFIG_SND_SOC_IMG is not set +# CONFIG_SND_SOC_MTK_BTCVSD is not set +# CONFIG_SND_SOC_SOF_TOPLEVEL is not set + +# +# STMicroelectronics STM32 SOC audio support +# +# end of STMicroelectronics STM32 SOC audio support + +CONFIG_SND_SUNXI_SOC=y +CONFIG_SND_SUNXI_SOC_CPUDAI=y +CONFIG_SND_SUN8IW20_CODEC=y + +# +# Allwinner SoC Audio support +# +CONFIG_SND_SUNXI_SOC_SUN8IW20_CODEC=y +CONFIG_SND_SUNXI_SOC_SIMPLE_CARD=y +CONFIG_SND_SUNXI_SOC_DAUDIO=y +# CONFIG_SND_SUNXI_SOC_DAUDIO_ASRC is not set +# CONFIG_SND_SUNXI_SOC_SUNXI_HDMIAUDIO is not set +CONFIG_SND_SUNXI_SOC_SPDIF=y +# CONFIG_SND_SUNXI_SOC_SPDIF_RX_IEC61937 is not set +CONFIG_SND_SUNXI_SOC_DMIC=y +# CONFIG_SUNXI_AUDIO_DEBUG is not set +# CONFIG_SUNXI_RX_SYNC is not set +# end of Allwinner SoC Audio support + +# CONFIG_SND_SUNXI_RPAF is not set + +# +# Allwinner SoC Audio support V2 +# +# CONFIG_SND_SOC_SUNXI_SPDIF is not set +# CONFIG_SND_SOC_SUNXI_DMIC is not set +# CONFIG_SND_SOC_SUNXI_DAUDIO is not set +# CONFIG_SND_SOC_SUNXI_COMPONENTS is not set +# end of Allwinner SoC Audio support V2 + +# CONFIG_SND_SOC_XILINX_I2S is not set +# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set +# CONFIG_SND_SOC_XILINX_SPDIF is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +# CONFIG_ZX_TDM is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_ADAU1761_I2C is not set +# CONFIG_SND_SOC_ADAU1761_SPI is not set +# CONFIG_SND_SOC_ADAU7002 is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4118 is not set +# CONFIG_SND_SOC_AK4458 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_AK5558 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_BD28623 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_CS35L34 is not set +# CONFIG_SND_SOC_CS35L35 is not set +# CONFIG_SND_SOC_CS35L36 is not set +# CONFIG_SND_SOC_CS42L42 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_CS43130 is not set +# CONFIG_SND_SOC_CS4341 is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_CS53L30 is not set +# CONFIG_SND_SOC_CX2072X is not set +CONFIG_SND_SOC_DMIC=y +# CONFIG_SND_SOC_ES7134 is not set +# CONFIG_SND_SOC_ES7241 is not set +# CONFIG_SND_SOC_ES8316 is not set +# CONFIG_SND_SOC_ES8328_I2C is not set +# CONFIG_SND_SOC_ES8328_SPI is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_INNO_RK3036 is not set +# CONFIG_SND_SOC_MAX98088 is not set +# CONFIG_SND_SOC_MAX98357A is not set +# CONFIG_SND_SOC_MAX98504 is not set +# CONFIG_SND_SOC_MAX9867 is not set +# CONFIG_SND_SOC_MAX98927 is not set +# CONFIG_SND_SOC_MAX98373 is not set +# CONFIG_SND_SOC_MAX9860 is not set +# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1789_I2C is not set +# CONFIG_SND_SOC_PCM179X_I2C is not set +# CONFIG_SND_SOC_PCM179X_SPI is not set +# CONFIG_SND_SOC_PCM186X_I2C is not set +# CONFIG_SND_SOC_PCM186X_SPI is not set +# CONFIG_SND_SOC_PCM3060_I2C is not set +# CONFIG_SND_SOC_PCM3060_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_RK3328 is not set +# CONFIG_SND_SOC_RT5616 is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF is not set +# CONFIG_SND_SOC_SSM2305 is not set +# 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 is not set +# CONFIG_SND_SOC_TAS5086 is not set +# CONFIG_SND_SOC_TAS571X is not set +# CONFIG_SND_SOC_TAS5720 is not set +# CONFIG_SND_SOC_TAS6424 is not set +# CONFIG_SND_SOC_TDA7419 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_TLV320AIC32X4_I2C is not set +# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_TSCS42XX is not set +# CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8524 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_WM8782 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_WM8904 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_ZX_AUD96P22 is not set +# CONFIG_SND_SOC_MAX9759 is not set +# CONFIG_SND_SOC_MT6351 is not set +# CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_NAU8540 is not set +# CONFIG_SND_SOC_NAU8810 is not set +# CONFIG_SND_SOC_NAU8822 is not set +# CONFIG_SND_SOC_NAU8824 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SOC_AC107 is not set +# CONFIG_SND_SOC_AC108 is not set +# CONFIG_SND_SOC_TD100 is not set +# end of CODEC drivers + +CONFIG_SND_SIMPLE_CARD_UTILS=y +# CONFIG_SND_SIMPLE_CARD is not set +# CONFIG_SND_AUDIO_GRAPH_CARD is not set + +# +# HID support +# +# CONFIG_HID is not set + +# +# USB HID support +# +# CONFIG_USB_HID is not set +# CONFIG_HID_PID is not set + +# +# USB HID Boot Protocol drivers +# +# CONFIG_USB_KBD is not set +# CONFIG_USB_MOUSE is not set +# end of USB HID Boot Protocol drivers +# end of USB HID support + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +# end of I2C HID support +# end of HID support + +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_USB_CONN_GPIO is not set +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +CONFIG_USB_AUTOSUSPEND_DELAY=2 +# CONFIG_USB_MON is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_XHCI_HCD is not set +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +# CONFIG_USB_EHCI_FSL is not set +CONFIG_USB_EHCI_HCD_SUNXI=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_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_SUNXI=y +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set +CONFIG_USB_SUNXI_HCD=y +CONFIG_USB_SUNXI_HCI=y +CONFIG_USB_SUNXI_EHCI0=y +CONFIG_USB_SUNXI_EHCI1=y +CONFIG_USB_SUNXI_OHCI0=y +CONFIG_USB_SUNXI_OHCI1=y + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# 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=m +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set +# CONFIG_USB_UAS is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_CDNS3 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 is not set +# CONFIG_USB_ISP1760 is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +# CONFIG_USB_EZUSB_FX2 is not set +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# end of USB Physical Layer drivers + +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 +# CONFIG_U_SERIAL_CONSOLE is not set + +# +# USB Peripheral Controller +# +# CONFIG_USB_FUSB300 is not set +# 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_SNP_UDC_PLAT is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_NET2272 is not set +CONFIG_USB_SUNXI_UDC0=y +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_DUMMY_HCD is not set +# end of USB Peripheral Controller + +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_U_SERIAL=y +CONFIG_USB_F_SERIAL=y +CONFIG_USB_F_FS=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_UEVENT=y +CONFIG_USB_CONFIGFS_SERIAL=y +# CONFIG_USB_CONFIGFS_ACM is not set +# CONFIG_USB_CONFIGFS_OBEX is not set +# CONFIG_USB_CONFIGFS_NCM is not set +# CONFIG_USB_CONFIGFS_ECM is not set +# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set +# CONFIG_USB_CONFIGFS_RNDIS is not set +# CONFIG_USB_CONFIGFS_EEM is not set +# CONFIG_USB_CONFIGFS_MASS_STORAGE is not set +# CONFIG_USB_CONFIGFS_F_LB_SS is not set +CONFIG_USB_CONFIGFS_F_FS=y +# CONFIG_USB_CONFIGFS_F_AUDIO_SRC is not set +# CONFIG_USB_CONFIGFS_F_UAC1 is not set +# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set +# CONFIG_USB_CONFIGFS_F_UAC2 is not set +# CONFIG_USB_CONFIGFS_F_MIDI is not set +# CONFIG_USB_CONFIGFS_F_HID is not set +# CONFIG_USB_CONFIGFS_F_PRINTER is not set +CONFIG_USB_SUNXI_USB=y +CONFIG_USB_SUNXI_USB_MANAGER=y +# CONFIG_USB_SUNXI_USB_DEBUG is not set +CONFIG_USB_SUNXI_USB_ADB=y +CONFIG_TYPEC=y +# CONFIG_TYPEC_TCPM is not set +# CONFIG_TYPEC_UCSI is not set +# CONFIG_TYPEC_TPS6598X is not set + +# +# USB Type-C Multiplexer/DeMultiplexer Switch support +# +# CONFIG_TYPEC_MUX_PI3USB30532 is not set +# end of USB Type-C Multiplexer/DeMultiplexer Switch support + +# +# USB Type-C Alternate Mode drivers +# +# CONFIG_TYPEC_DP_ALTMODE is not set +# end of USB Type-C Alternate Mode drivers + +CONFIG_USB_ROLE_SWITCH=y +CONFIG_MMC=y +CONFIG_PWRSEQ_EMMC=y +CONFIG_PWRSEQ_SIMPLE=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_DW is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_USDHI6ROL0 is not set +CONFIG_MMC_SUNXI=y +CONFIG_MMC_SUNXI_V4P1X=y +CONFIG_MMC_SUNXI_V4P00X=y +CONFIG_MMC_SUNXI_V4P10X=y +CONFIG_MMC_SUNXI_V4P5X=y +CONFIG_MMC_SUNXI_V5P3X=y +# CONFIG_MMC_CQHCI is not set +# CONFIG_MMC_HSQ is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MEMSTICK is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS 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_ALTERA_MSGDMA is not set +CONFIG_DMA_SUN6I=y +# CONFIG_DW_AXI_DMAC is not set +# CONFIG_FSL_EDMA is not set +# CONFIG_FSL_QDMA is not set +# CONFIG_INTEL_IDMA64 is not set +# CONFIG_NBPFAXI_DMA is not set +# CONFIG_QCOM_HIDMA_MGMT is not set +# CONFIG_QCOM_HIDMA is not set +# CONFIG_DW_DMAC is not set + +# +# DMA Clients +# +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_DMATEST is not set + +# +# DMABUF options +# +CONFIG_SYNC_FILE=y +CONFIG_SW_SYNC=y +CONFIG_UDMABUF=y +CONFIG_DMABUF_SELFTESTS=y +# end of DMABUF options + +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set +# CONFIG_VIRTIO_MENU is not set + +# +# Microsoft Hyper-V guest support +# +# end of Microsoft Hyper-V guest support + +# CONFIG_GREYBUS is not set +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTLLIB is not set +# CONFIG_RTL8723BS is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set + +# +# Speakup console speech +# +# end of Speakup console speech + +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +CONFIG_ION=y +CONFIG_ION_SYSTEM_HEAP=y +CONFIG_ION_CMA_HEAP=y +# end of Android + +# CONFIG_STAGING_BOARD is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_UNISYSSPAR is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_FB_TFT 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_PI433 is not set + +# +# Gasket devices +# +# end of Gasket devices + +# CONFIG_XIL_AXIS_FIFO is not set +# CONFIG_FIELDBUS_DEV is not set +# CONFIG_USB_WUSB_CBAF is not set +# CONFIG_UWB is not set +CONFIG_EXFAT_FS=y +CONFIG_EXFAT_DONT_MOUNT_VFAT=y +CONFIG_EXFAT_DISCARD=y +CONFIG_EXFAT_DELAYED_SYNC=y +CONFIG_EXFAT_KERNEL_DEBUG=y +CONFIG_EXFAT_DEBUG_MSG=y +CONFIG_EXFAT_DEFAULT_CODEPAGE=437 +CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" +# CONFIG_GOLDFISH is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_CHROME_PLATFORMS is not set +# CONFIG_MELLANOX_PLATFORM is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_DEBUG is not set +# CONFIG_CLK_HSDK is not set +# CONFIG_COMMON_CLK_MAX9485 is not set +# CONFIG_COMMON_CLK_SI5341 is not set +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI544 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_PWM is not set +# CONFIG_COMMON_CLK_VC5 is not set +# CONFIG_COMMON_CLK_FIXED_MMIO is not set +CONFIG_CLK_SUNXI=y +# CONFIG_CLK_SUNXI_CLOCKS is not set +# CONFIG_CLK_SUNXI_DDR is not set +# CONFIG_CLK_SUNXI_PRCM_SUN6I is not set +# CONFIG_CLK_SUNXI_PRCM_SUN8I is not set +# CONFIG_CLK_SUNXI_PRCM_SUN9I is not set +CONFIG_SUNXI_CCU=y +CONFIG_SUN8IW20_CCU=y +CONFIG_SUN8IW20_R_CCU=y +# CONFIG_SUN8I_A83T_CCU is not set +# CONFIG_SUN8I_DE2_CCU is not set +# CONFIG_SUN8I_R_CCU is not set +CONFIG_SUNXI_RTC_CCU=y +# end of Common Clock Framework + +# CONFIG_HWSPINLOCK is not set +# CONFIG_HWSPINLOCK_SUNXI is not set + +# +# Clock Source drivers +# +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_SUN4I_TIMER=y +# CONFIG_SUN50I_TIMER is not set +# CONFIG_SUNXI_TIMER is not set +# CONFIG_SUNXI_TIMER_TEST is not set +CONFIG_ARM_ARCH_TIMER=y +# CONFIG_ARM_ARCH_TIMER_EVTSTREAM is not set +# CONFIG_MTK_TIMER is not set +# end of Clock Source drivers + +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_IOVA=y +CONFIG_IOMMU_API=y +# CONFIG_IOMMU_LIMIT_IOVA_ALIGNMENT is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set +# end of Generic IOMMU Pagetable Support + +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set +CONFIG_OF_IOMMU=y +CONFIG_IOMMU_DMA=y +# CONFIG_ARM_SMMU is not set +CONFIG_SUNXI_IOMMU=y +CONFIG_SUNXI_IOMMU_DEBUG=y +CONFIG_SUNXI_IOMMU_TESTS=y + +# +# Remoteproc drivers +# +# CONFIG_REMOTEPROC is not set +# end of Remoteproc drivers + +# +# Rpmsg drivers +# +# CONFIG_RPMSG_SUNXI_AMP is not set +# CONFIG_RPMSG_DSP_STANDBY is not set +# CONFIG_RPMSG_VIRTIO is not set +# CONFIG_RPMSG_SUNXI_TTY is not set +# CONFIG_RPMSG_SUNXI_CLIENT_SAMPLE is not set +# end of Rpmsg drivers + +# CONFIG_SOUNDWIRE is not set + +# +# SOC (System On Chip) specific Drivers +# + +# +# Amlogic SoC drivers +# +# end of Amlogic SoC drivers + +# +# Aspeed SoC drivers +# +# end of Aspeed SoC drivers + +# +# Broadcom SoC drivers +# +# CONFIG_SOC_BRCMSTB is not set +# end of Broadcom SoC drivers + +# +# NXP/Freescale QorIQ SoC drivers +# +# end of NXP/Freescale QorIQ SoC drivers + +# +# i.MX SoC drivers +# +# end of i.MX SoC drivers + +# +# Qualcomm SoC drivers +# +# end of Qualcomm SoC drivers + +# CONFIG_SUNXI_SRAM is not set +CONFIG_SUNXI_PM_DOMAINS=y +CONFIG_SUNXI_SID=y +# CONFIG_SUNXI_RISCV_SUSPEND is not set +# CONFIG_PM_TRACE_NVMEM is not set +# CONFIG_SOC_TI is not set + +# +# Xilinx SoC drivers +# +# CONFIG_XILINX_VCU is not set +# end of Xilinx SoC drivers +# end of SOC (System On Chip) specific Drivers + +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO 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_SUN4I is not set +CONFIG_PWM_SUNXI_GROUP=y +# CONFIG_DSP_DEBUG is not set + +# +# IRQ chip support +# +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +CONFIG_ARM_GIC_MAX_NR=1 +# CONFIG_AL_FIC is not set +# CONFIG_SUNXI_WAKEUPGEN is not set +# CONFIG_SUN8I_NMI is not set +# end of IRQ chip support + +# CONFIG_IPACK_BUS is not set +CONFIG_ARCH_HAS_RESET_CONTROLLER=y +CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_SIMPLE=y +CONFIG_RESET_SUNXI=y +# CONFIG_RESET_TI_SYSCON is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_SUN6I_MIPI_DPHY is not set +# CONFIG_PHY_SUN9I_USB is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_PHY_CADENCE_DP is not set +# CONFIG_PHY_CADENCE_DPHY is not set +# CONFIG_PHY_CADENCE_SIERRA is not set +# CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_MIXEL_MIPI_DPHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PHY_MAPPHONE_MDM6600 is not set +# CONFIG_PHY_OCELOT_SERDES is not set +# end of PHY Subsystem + +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# end of Android + +# CONFIG_DAX is not set +CONFIG_NVMEM=y +CONFIG_NVMEM_SYSFS=y +# CONFIG_NVMEM_SUNXI_SID is not set + +# +# HW tracing support +# +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set +# end of HW tracing support + +# CONFIG_FPGA is not set +# CONFIG_FSI is not set +# CONFIG_TEE is not set +CONFIG_PM_OPP=y +# CONFIG_SIOX is not set +# CONFIG_SLIMBUS is not set +# CONFIG_INTERCONNECT is not set +# CONFIG_COUNTER is not set +# end of Device Drivers + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_VALIDATE_FS_PARSER is not set +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +# CONFIG_EXT4_FS is not set +# 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 is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS 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_FS_VERITY is not set +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_OVERLAY_FS=y +# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y +# CONFIG_OVERLAY_FS_INDEX is not set +# CONFIG_OVERLAY_FS_XINO_AUTO is not set +# CONFIG_OVERLAY_FS_METACOPY is not set +# CONFIG_INCREMENTAL_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set +# end of Caches + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set +# end of CD-ROM/DVD Filesystems + +# +# 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=y +CONFIG_NTFS_FS=y +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_RW=y +# end of DOS/FAT/NT Filesystems + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +# CONFIG_PROC_PAGE_MONITOR is not set +# CONFIG_PROC_CHILDREN is not set +CONFIG_KERNFS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_MEMFD_CREATE=y +CONFIG_CONFIGFS_FS=y +# end of Pseudo filesystems + +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_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=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +# CONFIG_UBIFS_FS_LZO is not set +# CONFIG_UBIFS_FS_ZLIB is not set +# CONFIG_UBIFS_FS_ZSTD is not set +# CONFIG_UBIFS_ATIME_SUPPORT is not set +CONFIG_UBIFS_FS_XATTR=y +CONFIG_UBIFS_FS_SECURITY=y +# CONFIG_UBIFS_FS_AUTHENTICATION is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +# CONFIG_SQUASHFS_FILE_CACHE is not set +CONFIG_SQUASHFS_FILE_DIRECT=y +# CONFIG_SQUASHFS_DECOMP_SINGLE is not set +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y +# CONFIG_SQUASHFS_XATTR is not set +# CONFIG_SQUASHFS_ZLIB is not set +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +# CONFIG_SQUASHFS_XZ is not set +# CONFIG_SQUASHFS_ZSTD is not set +# 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 is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +# CONFIG_EROFS_FS is not set +# CONFIG_NETWORK_FILESYSTEMS 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_UNICODE is not set +# end of File systems + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_KEYS_REQUEST_CACHE is not set +# 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 is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +# CONFIG_HARDENED_USERCOPY is not set +# CONFIG_FORTIFY_SOURCE is not set +# CONFIG_STATIC_USERMODEHELPER is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity" + +# +# Kernel hardening options +# + +# +# Memory initialization +# +CONFIG_INIT_STACK_NONE=y +# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set +# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# end of Memory initialization +# end of Kernel hardening options +# end of Security options + +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_ACOMP2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Public-key cryptography +# +CONFIG_CRYPTO_RSA=y +# CONFIG_CRYPTO_DH is not set +CONFIG_CRYPTO_ECC=y +CONFIG_CRYPTO_ECDH=y +# CONFIG_CRYPTO_ECRDSA is not set + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=y +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +# CONFIG_CRYPTO_AEGIS128 is not set +CONFIG_CRYPTO_SEQIV=y +# CONFIG_CRYPTO_ECHAINIV is not set + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CFB is not set +CONFIG_CRYPTO_CTR=y +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_OFB is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set +# CONFIG_CRYPTO_ADIANTUM is not set +# CONFIG_CRYPTO_ESSIV 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_XXHASH is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +# CONFIG_CRYPTO_GHASH is not set +# CONFIG_CRYPTO_POLY1305 is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# 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 is not set +CONFIG_CRYPTO_LIB_SHA256=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_SHA3 is not set +# CONFIG_CRYPTO_SM3 is not set +# CONFIG_CRYPTO_STREEBOG is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_AES_TI is not set +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_LIB_ARC4=y +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 is not set +# 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_SM4 is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set +# CONFIG_CRYPTO_ZSTD is not set + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +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_HASH_INFO=y +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set +# CONFIG_CRYPTO_DEV_CCREE is not set + +# +# Support for Allwinner Sunxi CryptoEngine +# + +# +# Choose one according to the actual usage +# +# CONFIG_CRYPTO_DEV_SUNXI is not set +# CONFIG_CRYPTO_DEV_SUNXI_IOCTL is not set +# end of Support for Allwinner Sunxi CryptoEngine + +# CONFIG_ASYMMETRIC_KEY_TYPE is not set + +# +# Certificates for signature checking +# +# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set +# end of Certificates for signature checking + +# +# Library routines +# +# CONFIG_PACKING is not set +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +# CONFIG_CORDIC is not set +CONFIG_RATIONAL=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +# CONFIG_CRC_CCITT is not set +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +# CONFIG_CRC32_SLICEBY8 is not set +# CONFIG_CRC32_SLICEBY4 is not set +CONFIG_CRC32_SARWATE=y +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC64 is not set +# CONFIG_CRC4 is not set +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +# CONFIG_XZ_DEC is not set +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_DMA_DECLARE_COHERENT=y +CONFIG_ARCH_HAS_SETUP_DMA_OPS=y +CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y +CONFIG_DMA_REMAP=y +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=16 +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 +# CONFIG_DMA_API_DEBUG is not set +CONFIG_SGL_ALLOC=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_CLZ_TAB=y +# CONFIG_IRQ_POLL is not set +CONFIG_MPILIB=y +CONFIG_LIBFDT=y +CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_SG_POOL=y +CONFIG_SBITMAP=y +# CONFIG_STRING_SELFTEST is not set +# end of Library routines + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +CONFIG_PRINTK_TIME=y +# CONFIG_PRINTK_CALLER is not set +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 +CONFIG_CONSOLE_LOGLEVEL_QUIET=4 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_DYNAMIC_DEBUG is not set +# CONFIG_DYNAMIC_DEBUG_CORE is not set +# end of printk and dmesg options + +# +# 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_DEBUG_INFO_BTF is not set +# CONFIG_GDB_SCRIPTS is not set +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=2048 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_INSTALL is not set +CONFIG_OPTIMIZE_INLINING=y +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# end of Compile-time checks and compiler options + +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_MAGIC_SYSRQ_SERIAL=y +CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_MISC=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_PAGE_OWNER is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_DEBUG_RODATA_TEST is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y +# CONFIG_DEBUG_VIRTUAL is not set +# CONFIG_DEBUG_MEMORY_INIT is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_KASAN_STACK=1 +# end of Memory Debugging + +CONFIG_ARCH_HAS_KCOV=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +# CONFIG_KCOV is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_SOFTLOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_WQ_WATCHDOG is not set +# end of Debug Lockups and Hangs + +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_DEBUG is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_DEBUG_PREEMPT is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +CONFIG_LOCK_DEBUGGING_SUPPORT=y +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_RWSEMS is not set +# CONFIG_DEBUG_LOCK_ALLOC 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_WW_MUTEX_SELFTEST is not set +# end of Lock Debugging (spinlocks, mutexes, etc...) + +# CONFIG_STACKTRACE is not set +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_BUGVERBOSE is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PLIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_RCU_PERF_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=20 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# end of RCU Debugging + +# 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 is not set +# CONFIG_LATENCYTOP is not set +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACING_SUPPORT=y +# CONFIG_FTRACE is not set +# CONFIG_RUNTIME_TESTING_MENU is not set +# CONFIG_MEMTEST is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_UBSAN is not set +CONFIG_UBSAN_ALIGNMENT=y +CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y +# CONFIG_ARM_PTDUMP_DEBUGFS is not set +# CONFIG_DEBUG_WX is not set +# CONFIG_UNWINDER_FRAME_POINTER is not set +CONFIG_UNWINDER_ARM=y +CONFIG_ARM_UNWIND=y +# CONFIG_DEBUG_USER is not set +CONFIG_DEBUG_LL=y +CONFIG_DEBUG_SUNXI_UART0=y +# CONFIG_DEBUG_SUNXI_UART1 is not set +# CONFIG_DEBUG_SUNXI_UART2 is not set +# CONFIG_DEBUG_ICEDCC is not set +# CONFIG_DEBUG_SEMIHOSTING is not set +# CONFIG_DEBUG_LL_UART_8250 is not set +# CONFIG_DEBUG_LL_UART_PL01X is not set +CONFIG_DEBUG_LL_INCLUDE="debug/8250.S" +CONFIG_DEBUG_UART_8250=y +CONFIG_DEBUG_UART_PHYS=0x02500000 +CONFIG_DEBUG_UART_VIRT=0xf2500000 +CONFIG_DEBUG_UART_8250_SHIFT=2 +# CONFIG_DEBUG_UART_8250_WORD is not set +# CONFIG_DEBUG_UART_8250_PALMCHIP is not set +# CONFIG_DEBUG_UART_8250_FLOW_CONTROL is not set +# CONFIG_DEBUG_UNCOMPRESS is not set +CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" +# CONFIG_EARLY_PRINTK is not set +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_SUNXI_DUMP is not set +# CONFIG_CORESIGHT is not set +# end of Kernel hacking diff --git a/device/config/chips/t113/configs/evb1/linux-5.4/config-5.4-bak b/device/config/chips/t113/configs/evb1/linux-5.4/config-5.4-bak new file mode 100644 index 0000000..5d91143 --- /dev/null +++ b/device/config/chips/t113/configs/evb1/linux-5.4/config-5.4-bak @@ -0,0 +1,3896 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 5.4.61 Kernel Configuration +# +CONFIG_CC_VERSION_TEXT="arm-openwrt-linux-gnueabi-gcc.bin (OpenWrt/Linaro GCC 6.4-2017.11 2017-11) 6.4.1" +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=60401 +CONFIG_CLANG_VERSION=0 +CONFIG_CC_CAN_LINK=y +CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_BUILD_SALT="" +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_LZ4=y +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_XZ is not set +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_USELIB is not set +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_GENERIC_IRQ_MIGRATION=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_IRQ_MSI_IOMMU=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +# end of IRQ subsystem + +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_ARCH_CLOCKSOURCE_DATA=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 +# end of Timers subsystem + +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_PREEMPTION=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +# CONFIG_TASKSTATS is not set +# CONFIG_PSI is not set +# end of CPU/Task time and stats accounting + +CONFIG_CPU_ISOLATION=y + +# +# RCU Subsystem +# +CONFIG_PREEMPT_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +CONFIG_TREE_SRCU=y +CONFIG_TASKS_RCU=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_RCU_NEED_SEGCBLIST=y +# end of RCU Subsystem + +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +# CONFIG_IKHEADERS is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 +CONFIG_GENERIC_SCHED_CLOCK=y + +# +# Scheduler features +# +# end of Scheduler features + +# CONFIG_CGROUPS is not set +# CONFIG_NAMESPACES is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +# CONFIG_BLK_DEV_INITRD is not set +# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +CONFIG_EXPERT=y +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +# CONFIG_SYSFS_SYSCALL is not set +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_FHANDLE=y +CONFIG_POSIX_TIMERS=y +CONFIG_PRINTK=y +CONFIG_PRINTK_NMI=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_IO_URING=y +CONFIG_ADVISE_SYSCALLS=y +CONFIG_MEMBARRIER=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +CONFIG_KALLSYMS_BASE_RELATIVE=y +# CONFIG_BPF_SYSCALL is not set +# CONFIG_USERFAULTFD is not set +CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +CONFIG_RSEQ=y +# CONFIG_DEBUG_RSEQ is not set +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y +# CONFIG_PC104 is not set + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +# end of Kernel Performance Events And Counters + +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_MERGE_DEFAULT=y +# CONFIG_SLAB_FREELIST_RANDOM is not set +# CONFIG_SLAB_FREELIST_HARDENED is not set +# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set +CONFIG_SLUB_CPU_PARTIAL=y +CONFIG_SYSTEM_DATA_VERIFICATION=y +CONFIG_PROFILING=y +# end of General setup + +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_ARM_DMA_USE_IOMMU=y +CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8 +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 + +# +# System Type +# +CONFIG_MMU=y +CONFIG_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MULTIPLATFORM=y +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C24XX is not set +# CONFIG_ARCH_OMAP1 is not set + +# +# Multiple platform selection +# + +# +# CPU Core family selection +# +# CONFIG_ARCH_MULTI_V6 is not set +CONFIG_ARCH_MULTI_V7=y +CONFIG_ARCH_MULTI_V6_V7=y +# end of Multiple platform selection + +# CONFIG_ARCH_VIRT is not set +# CONFIG_ARCH_ACTIONS is not set +# CONFIG_ARCH_ALPINE is not set +# CONFIG_ARCH_ARTPEC is not set +# CONFIG_ARCH_ASPEED is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_BCM is not set +# CONFIG_ARCH_BERLIN is not set +# CONFIG_ARCH_DIGICOLOR is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_HIGHBANK is not set +# CONFIG_ARCH_HISI is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_KEYSTONE is not set +# CONFIG_ARCH_MEDIATEK is not set +# CONFIG_ARCH_MESON is not set +# CONFIG_ARCH_MILBEAUT is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_MVEBU is not set +# CONFIG_ARCH_NPCM is not set + +# +# TI OMAP/AM/DM/DRA Family +# +# CONFIG_ARCH_OMAP3 is not set +# CONFIG_ARCH_OMAP4 is not set +# CONFIG_SOC_OMAP5 is not set +# CONFIG_SOC_AM33XX is not set +# CONFIG_SOC_AM43XX is not set +# CONFIG_SOC_DRA7XX is not set +# end of TI OMAP/AM/DM/DRA Family + +# CONFIG_ARCH_SIRF is not set +# CONFIG_ARCH_QCOM is not set +# CONFIG_ARCH_RDA is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_ROCKCHIP is not set +# CONFIG_ARCH_S5PV210 is not set +# CONFIG_ARCH_RENESAS is not set +# CONFIG_ARCH_SOCFPGA is not set +# CONFIG_PLAT_SPEAR is not set +# CONFIG_ARCH_STI is not set +# CONFIG_ARCH_STM32 is not set +CONFIG_ARCH_SUNXI=y +# CONFIG_MACH_SUN4I is not set +# CONFIG_MACH_SUN5I is not set +# CONFIG_MACH_SUN6I is not set +# CONFIG_MACH_SUN7I is not set +# CONFIG_MACH_SUN8I is not set +# CONFIG_MACH_SUN9I is not set +CONFIG_ARCH_SUN8I=y +# CONFIG_ARCH_SUN8IW15 is not set +CONFIG_ARCH_SUN8IW20=y +# CONFIG_FPGA_V4_PLATFORM is not set +# CONFIG_FPGA_V7_PLATFORM is not set +CONFIG_EVB_PLATFORM=y +CONFIG_SUNXI_SOC_NAME="sun8iw20" +# CONFIG_ARCH_TANGO is not set +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_UNIPHIER is not set +# CONFIG_ARCH_U8500 is not set +# CONFIG_ARCH_VEXPRESS is not set +# CONFIG_ARCH_WM8850 is not set +# CONFIG_ARCH_ZX is not set +# CONFIG_ARCH_ZYNQ is not set + +# +# Processor Type +# +CONFIG_CPU_V7=y +CONFIG_CPU_THUMB_CAPABLE=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +# CONFIG_ARM_LPAE is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +CONFIG_SWP_EMULATE=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_CPU_SPECTRE=y +CONFIG_HARDEN_BRANCH_PREDICTOR=y +CONFIG_KUSER_HELPERS=y +# CONFIG_VDSO is not set +CONFIG_OUTER_CACHE=y +CONFIG_OUTER_CACHE_SYNC=y +CONFIG_MIGHT_HAVE_CACHE_L2X0=y +CONFIG_CACHE_L2X0=y +# CONFIG_PL310_ERRATA_588369 is not set +# CONFIG_PL310_ERRATA_727915 is not set +# CONFIG_PL310_ERRATA_753970 is not set +# CONFIG_PL310_ERRATA_769419 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +CONFIG_ARM_HEAVY_MB=y +CONFIG_DEBUG_ALIGN_RODATA=y +# CONFIG_ARM_ERRATA_430973 is not set +CONFIG_ARM_ERRATA_643719=y +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_754327 is not set +# CONFIG_ARM_ERRATA_764369 is not set +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_798181 is not set +# CONFIG_ARM_ERRATA_773022 is not set +# CONFIG_ARM_ERRATA_818325_852422 is not set +# CONFIG_ARM_ERRATA_821420 is not set +# CONFIG_ARM_ERRATA_825619 is not set +# CONFIG_ARM_ERRATA_857271 is not set +# CONFIG_ARM_ERRATA_852421 is not set +# CONFIG_ARM_ERRATA_852423 is not set +# CONFIG_ARM_ERRATA_857272 is not set +# end of System Type + +# +# Bus support +# +# CONFIG_ARM_ERRATA_814220 is not set +# end of Bus support + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +CONFIG_SCHED_MC=y +# CONFIG_SCHED_SMT is not set +CONFIG_HAVE_ARM_ARCH_TIMER=y +# CONFIG_MCPM is not set +# CONFIG_BIG_LITTLE is not set +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_3G_OPT is not set +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_NR_CPUS=2 +CONFIG_HOTPLUG_CPU=y +CONFIG_ARM_PSCI=y +CONFIG_ARCH_NR_GPIO=416 +CONFIG_HZ_FIXED=0 +CONFIG_HZ_100=y +# CONFIG_HZ_200 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +# CONFIG_HZ_500 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=100 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_ARM_PATCH_IDIV=y +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +CONFIG_HAVE_ARCH_PFN_VALID=y +# CONFIG_HIGHMEM is not set +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +# CONFIG_PARAVIRT is not set +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +# CONFIG_XEN is not set +# end of Kernel Features + +# +# Boot options +# +CONFIG_USE_OF=y +# CONFIG_ATAGS is not set +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +# CONFIG_ARM_APPENDED_DTB is not set +CONFIG_CMDLINE="loglevel=8 initcall_debug=1 console=ttyS0 init=/init" +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +CONFIG_AUTO_ZRELADDR=y +# CONFIG_EFI is not set +# end of Boot options + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set +# end of CPU Frequency scaling + +# +# 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_CPU_IDLE_GOV_TEO is not set +CONFIG_DT_IDLE_STATES=y + +# +# ARM CPU Idle Drivers +# +# CONFIG_ARM_CPUIDLE is not set +CONFIG_ARM_PSCI_CPUIDLE=y +# CONFIG_ARM_HIGHBANK_CPUIDLE is not set +# end of ARM CPU Idle Drivers +# end of CPU Idle +# end of CPU Power Management + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y +# end of Floating point emulation + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +CONFIG_PM_WAKELOCKS=y +CONFIG_PM_WAKELOCKS_LIMIT=100 +CONFIG_PM_WAKELOCKS_GC=y +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_APM_EMULATION is not set +CONFIG_PM_CLK=y +CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +# end of Power management options + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +# CONFIG_FW_CFG_SYSFS is not set +# CONFIG_QCOM_SCM is not set +# CONFIG_TRUSTED_FOUNDATIONS is not set +CONFIG_HAVE_ARM_SMCCC=y +CONFIG_ARM_PSCI_FW=y +# CONFIG_ARM_PSCI_CHECKER is not set +# CONFIG_GOOGLE_FIRMWARE is not set + +# +# Tegra firmware driver +# +# end of Tegra firmware driver +# end of Firmware Drivers + +# CONFIG_ARM_CRYPTO is not set +# CONFIG_VIRTUALIZATION is not set + +# +# General architecture-dependent options +# +# CONFIG_OPROFILE is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_JUMP_LABEL=y +# CONFIG_STATIC_KEYS_SELFTEST is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_NMI=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_ARCH_HAS_FORTIFY_SOURCE=y +CONFIG_ARCH_HAS_KEEPINITRD=y +CONFIG_ARCH_HAS_SET_MEMORY=y +CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y +CONFIG_ARCH_32BIT_OFF_T=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_RSEQ=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_STACKPROTECTOR=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR_STRONG=y +CONFIG_LTO_NONE=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_HAVE_EXIT_THREAD=y +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y +CONFIG_HAVE_COPY_THREAD_TLS=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y +CONFIG_64BIT_TIME=y +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y +CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y +CONFIG_STRICT_KERNEL_RWX=y +CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y +CONFIG_STRICT_MODULE_RWX=y +CONFIG_ARCH_HAS_PHYS_TO_DMA=y +CONFIG_REFCOUNT_FULL=y +# CONFIG_LOCK_EVENT_COUNTS is not set + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +# end of GCOV-based kernel profiling + +CONFIG_PLUGIN_HOSTCC="" +CONFIG_HAVE_GCC_PLUGINS=y +# end of General architecture-dependent options + +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 is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_BLOCK=y +CONFIG_BLK_SCSI_REQUEST=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_DEV_ZONED is not set +# CONFIG_BLK_CMDLINE_PARSER is not set +# CONFIG_BLK_WBT is not set +CONFIG_BLK_DEBUG_FS=y +# CONFIG_BLK_SED_OPAL is not set +# CONFIG_BLK_INLINE_ENCRYPTION is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_EFI_PARTITION=y +# end of Partition Types + +CONFIG_BLK_PM=y + +# +# IO Schedulers +# +CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=y +# CONFIG_IOSCHED_BFQ is not set +# end of IO Schedulers + +CONFIG_ASN1=y +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_GKI_HIDDEN_DRM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_REGMAP_CONFIGS is not set +# CONFIG_GKI_HIDDEN_CRYPTO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_SOC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MMC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPIO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_QCOM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MEDIA_CONFIGS is not set +# CONFIG_GKI_HIDDEN_VIRTUAL_CONFIGS is not set +# CONFIG_GKI_LEGACY_WEXT_ALLCONFIG is not set +# CONFIG_GKI_HIDDEN_USB_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SOC_BUS_CONFIGS is not set +# CONFIG_GKI_HIDDEN_RPMSG_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPU_CONFIGS is not set +# CONFIG_GKI_HIDDEN_IRQ_CONFIGS is not set +# CONFIG_GKI_HIDDEN_HYPERVISOR_CONFIGS is not set +# CONFIG_GKI_HACKS_TO_FIX is not set +# CONFIG_GKI_OPT_FEATURES is not set +CONFIG_FREEZER=y + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_ELF_FDPIC is not set +CONFIG_ELFCORE=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +CONFIG_ARCH_HAS_BINFMT_FLAT=y +# CONFIG_BINFMT_FLAT is not set +CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y +# end of Executable file formats + +# +# Memory Management options +# +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_MEMORY_ISOLATION=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_CONTIG_ALLOC=y +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +# CONFIG_CLEANCACHE 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 is not set +CONFIG_GENERIC_EARLY_IOREMAP=y +# CONFIG_IDLE_PAGE_TRACKING is not set +# CONFIG_PERCPU_STATS is not set +# CONFIG_GUP_BENCHMARK is not set +# end of Memory Management options + +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +CONFIG_UNIX_SCM=y +# CONFIG_UNIX_DIAG is not set +# CONFIG_TLS is not set +# CONFIG_XFRM_USER is not set +# CONFIG_NET_KEY 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=y +CONFIG_IP_ROUTE_VERBOSE=y +# CONFIG_IP_PNP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +CONFIG_IP_MROUTE_COMMON=y +CONFIG_IP_MROUTE=y +CONFIG_IP_MROUTE_MULTIPLE_TABLES=y +# CONFIG_IP_PIMSM_V1 is not set +# CONFIG_IP_PIMSM_V2 is not set +CONFIG_SYN_COOKIES=y +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_FOU is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_DIAG is not set +CONFIG_TCP_CONG_ADVANCED=y +# CONFIG_TCP_CONG_BIC is not set +CONFIG_TCP_CONG_CUBIC=y +# CONFIG_TCP_CONG_WESTWOOD is not set +# CONFIG_TCP_CONG_HTCP is not set +# CONFIG_TCP_CONG_HSTCP is not set +# CONFIG_TCP_CONG_HYBLA is not set +# CONFIG_TCP_CONG_VEGAS is not set +# CONFIG_TCP_CONG_NV is not set +# CONFIG_TCP_CONG_SCALABLE is not set +# CONFIG_TCP_CONG_LP is not set +# CONFIG_TCP_CONG_VENO is not set +# CONFIG_TCP_CONG_YEAH is not set +# CONFIG_TCP_CONG_ILLINOIS is not set +# CONFIG_TCP_CONG_DCTCP is not set +# CONFIG_TCP_CONG_CDG is not set +# CONFIG_TCP_CONG_BBR is not set +CONFIG_DEFAULT_CUBIC=y +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER is not set +# CONFIG_BPFILTER 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_BRIDGE=y +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_BRIDGE_VLAN_FILTERING is not set +CONFIG_HAVE_NET_DSA=y +# CONFIG_NET_DSA is not set +CONFIG_VLAN_8021Q=y +# CONFIG_VLAN_8021Q_GVRP is not set +# CONFIG_VLAN_8021Q_MVRP is not set +# CONFIG_DECNET is not set +CONFIG_LLC=y +# CONFIG_LLC2 is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET 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 is not set +# 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_CBS is not set +# CONFIG_NET_SCH_ETF is not set +# CONFIG_NET_SCH_TAPRIO 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_SKBPRIO 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=y +# CONFIG_NET_SCH_CAKE 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_PLUG is not set +# CONFIG_NET_SCH_DEFAULT is not set + +# +# Classification +# +# 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 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_BPF is not set +# CONFIG_NET_CLS_FLOWER is not set +# CONFIG_NET_CLS_MATCHALL is not set +# CONFIG_NET_EMATCH is not set +# CONFIG_NET_CLS_ACT is not set +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +# CONFIG_DNS_RESOLVER is not set +# 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_NET_NSH is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_NET_NCSI is not set +CONFIG_RPS=y +CONFIG_RFS_ACCEL=y +CONFIG_XPS=y +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +# CONFIG_BPF_JIT is not set +CONFIG_NET_FLOW_LIMIT=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# end of Network testing +# end of Networking options + +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +CONFIG_BT=y +# CONFIG_BT_BREDR is not set +# CONFIG_BT_LE is not set +# CONFIG_BT_LEDS is not set +# CONFIG_BT_SELFTEST is not set +CONFIG_BT_DEBUGFS=y + +# +# Bluetooth device drivers +# +# CONFIG_BT_HCIBTUSB is not set +# CONFIG_BT_HCIBTSDIO is not set +# CONFIG_BT_HCIUART is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBPA10X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BCM_BT_LPM is not set +# CONFIG_RTL_BT_LPM is not set +# CONFIG_XR_BT_LPM is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_MTKSDIO is not set +# end of Bluetooth device drivers + +# CONFIG_AF_RXRPC is not set +# CONFIG_AF_KCM is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_CFG80211=y +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_CERTIFICATION_ONUS is not set +CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y +CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +# CONFIG_CFG80211_WEXT is not set +# CONFIG_MAC80211 is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +# CONFIG_PSAMPLE is not set +# CONFIG_NET_IFE is not set +# CONFIG_LWTUNNEL is not set +# CONFIG_FAILOVER is not set +CONFIG_HAVE_EBPF_JIT=y + +# +# Device Drivers +# +CONFIG_HAVE_PCI=y +# CONFIG_PCI is not set +# CONFIG_PCCARD is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y +# CONFIG_DEVTMPFS_MOUNT is not set +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# +CONFIG_FW_LOADER=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER is not set +# CONFIG_FW_LOADER_COMPRESS is not set +CONFIG_FW_CACHE=y +# end of Firmware loader + +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_DMA_FENCE_TRACE is not set +CONFIG_GENERIC_ARCH_TOPOLOGY=y +# end of Generic Driver Options + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_MOXTET is not set +# CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SUN50I_DE2_BUS is not set +# CONFIG_SUNXI_RSB is not set +CONFIG_SUNXI_MBUS=y +# CONFIG_SUNXI_NSI is not set +# CONFIG_VEXPRESS_CONFIG is not set +# end of Bus devices + +# CONFIG_CONNECTOR is not set +# CONFIG_GNSS is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set +# CONFIG_MTD_SUNXI_PARTS is not set + +# +# Partition parsers +# +# end of Partition parsers + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +# CONFIG_MTD_CHAR is not set +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_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_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# end of RAM/ROM/Flash chip drivers + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set +# end of Mapping drivers for chip access + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_MCHP23K256 is not set +# CONFIG_MTD_SST25L is not set +# 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 +# end of Self-contained MTD device drivers + +# CONFIG_MTD_ONENAND is not set +# CONFIG_MTD_RAW_NAND is not set +# CONFIG_MTD_SPI_NAND is not set + +# +# sunxi-nand +# +CONFIG_AW_MTD_SPINAND=y +# CONFIG_AW_MTD_RAWNAND is not set +CONFIG_AW_SPINAND_PHYSICAL_LAYER=y +CONFIG_AW_SPINAND_SECURE_STORAGE=y +# CONFIG_AW_SPINAND_PSTORE_MTD_PART is not set +# CONFIG_AW_SPINAND_ENABLE_PHY_CRC16 is not set +CONFIG_AW_SPINAND_SIMULATE_MULTIPLANE=y +# end of sunxi-nand + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# end of LPDDR & LPDDR2 PCM memory drivers + +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_LIMIT=40 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +CONFIG_MTD_UBI_BLOCK=y +# CONFIG_MTD_HYPERBUS 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_KOBJ=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MDIO=y +CONFIG_OF_RESERVED_MEM=y +# CONFIG_OF_OVERLAY is not set +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_SUNXI_NAND is not set +# CONFIG_BLK_DEV_LOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# NVME Support +# +# CONFIG_NVME_FC is not set +# CONFIG_NVME_TARGET is not set +# end of NVME Support + +# +# Misc devices +# +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES 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_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_XILINX_SDFEC is not set +# CONFIG_PVPANIC is not set +# CONFIG_HISI_HIKEY_USB is not set +# 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 is not set +# CONFIG_EEPROM_93XX46 is not set +# CONFIG_EEPROM_IDT_89HPESX is not set +# CONFIG_EEPROM_EE1004 is not set +# end of EEPROM support + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# end of Texas Instruments shared transport line discipline + +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC & related support +# + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# VOP Bus Driver +# +# CONFIG_VOP_BUS is not set + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# + +# +# VOP Driver +# +# end of Intel MIC & related support + +# CONFIG_ECHO is not set +# CONFIG_MISC_RTSX_USB is not set +CONFIG_SUNXI_RFKILL=y +CONFIG_SUNXI_ADDR_MGT=y +# CONFIG_SUNXI_BOOTEVENT is not set + +# +# sunxi Gorilla ESL platform +# +# CONFIG_SUNXI_GORILLA is not set +# end of sunxi Gorilla ESL platform +# end of Misc devices + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST 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 is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# end of SCSI Transports + +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# end of SCSI device support + +# CONFIG_ATA is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +CONFIG_NETDEVICES=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_TEAM is not set +# CONFIG_MACVLAN is not set +# CONFIG_IPVLAN is not set +# CONFIG_VXLAN is not set +# CONFIG_GENEVE is not set +# CONFIG_GTP is not set +# CONFIG_MACSEC is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_TUN is not set +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_VETH is not set +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# end of Distributed Switch Architecture drivers + +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_ALACRITECH=y +CONFIG_NET_VENDOR_ALLWINNER=y +# CONFIG_SUN4I_EMAC is not set +# CONFIG_SUNXI_GMAC is not set +# CONFIG_ALTERA_TSE is not set +CONFIG_NET_VENDOR_AMAZON=y +CONFIG_NET_VENDOR_AQUANTIA=y +CONFIG_NET_VENDOR_ARC=y +CONFIG_NET_VENDOR_AURORA=y +# CONFIG_AURORA_NB8800 is not set +CONFIG_NET_VENDOR_BROADCOM=y +# CONFIG_B44 is not set +# CONFIG_BCMGENET is not set +# CONFIG_SYSTEMPORT is not set +CONFIG_NET_VENDOR_CADENCE=y +# CONFIG_MACB is not set +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_NET_VENDOR_CIRRUS=y +# CONFIG_CS89x0 is not set +CONFIG_NET_VENDOR_CORTINA=y +# CONFIG_GEMINI_ETHERNET is not set +# CONFIG_DM9000 is not set +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_EZCHIP=y +# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_FARADAY=y +# CONFIG_FTMAC100 is not set +# CONFIG_FTGMAC100 is not set +CONFIG_NET_VENDOR_GOOGLE=y +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_HUAWEI=y +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_MVMDIO is not set +CONFIG_NET_VENDOR_MELLANOX=y +# CONFIG_MLXSW_CORE is not set +# CONFIG_MLXFW 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_NET_VENDOR_MICROCHIP=y +# CONFIG_ENC28J60 is not set +# CONFIG_ENCX24J600 is not set +CONFIG_NET_VENDOR_MICROSEMI=y +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NET_VENDOR_NETRONOME=y +CONFIG_NET_VENDOR_NI=y +# CONFIG_NI_XGE_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_8390=y +# CONFIG_AX88796 is not set +# CONFIG_ETHOC is not set +CONFIG_NET_VENDOR_PENSANDO=y +CONFIG_NET_VENDOR_QUALCOMM=y +# CONFIG_QCA7000_SPI is not set +# CONFIG_QCOM_EMAC is not set +# CONFIG_RMNET is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_ROCKER=y +CONFIG_NET_VENDOR_SAMSUNG=y +# CONFIG_SXGBE_ETH is not set +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SOLARFLARE=y +CONFIG_NET_VENDOR_SMSC=y +# CONFIG_SMC91X is not set +# CONFIG_SMC911X is not set +# CONFIG_SMSC911X is not set +CONFIG_NET_VENDOR_SOCIONEXT=y +CONFIG_NET_VENDOR_STMICRO=y +# CONFIG_STMMAC_ETH is not set +CONFIG_NET_VENDOR_SYNOPSYS=y +# CONFIG_DWC_XLGMAC 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_NET_VENDOR_XILINX=y +# CONFIG_XILINX_AXI_EMAC is not set +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_BUS=y +# CONFIG_MDIO_BCM_UNIMAC is not set +# CONFIG_MDIO_BITBANG is not set +# CONFIG_MDIO_BUS_MUX_GPIO is not set +# CONFIG_MDIO_BUS_MUX_MMIOREG is not set +# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set +# CONFIG_MDIO_HISI_FEMAC is not set +# CONFIG_MDIO_MSCC_MIIM is not set +# CONFIG_MDIO_SUN4I is not set +CONFIG_PHYLIB=y +CONFIG_SWPHY=y +# CONFIG_LED_TRIGGER_PHY is not set + +# +# MII PHY device drivers +# +# CONFIG_ADIN_PHY is not set +# CONFIG_AMD_PHY is not set +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AX88796B_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_CORTINA_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_DP83822_PHY is not set +# CONFIG_DP83TC811_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 is not set +# CONFIG_MARVELL_10G_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_MICROCHIP_T1_PHY is not set +# CONFIG_MICROSEMI_PHY is not set +# CONFIG_NATIONAL_PHY is not set +# CONFIG_NXP_TJA11XX_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_RENESAS_PHY is not set +# CONFIG_ROCKCHIP_PHY is not set +# 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 is not set +# CONFIG_SLIP is not set +# CONFIG_USB_NET_DRIVERS is not set +CONFIG_WLAN=y +# CONFIG_WIRELESS_WDS is not set +CONFIG_WLAN_VENDOR_ADMTEK=y +CONFIG_WLAN_VENDOR_ATH=y +# CONFIG_ATH_DEBUG is not set +# CONFIG_ATH6KL is not set +CONFIG_WLAN_VENDOR_ATMEL=y +CONFIG_WLAN_VENDOR_BROADCOM=y +# CONFIG_BRCMFMAC is not set +CONFIG_WLAN_VENDOR_CISCO=y +CONFIG_WLAN_VENDOR_INTEL=y +CONFIG_WLAN_VENDOR_INTERSIL=y +# CONFIG_HOSTAP is not set +CONFIG_WLAN_VENDOR_MARVELL=y +# CONFIG_LIBERTAS is not set +# CONFIG_MWIFIEX is not set +CONFIG_WLAN_VENDOR_MEDIATEK=y +CONFIG_WLAN_VENDOR_RALINK=y +CONFIG_WLAN_VENDOR_REALTEK=y +CONFIG_WLAN_VENDOR_RSI=y +CONFIG_WLAN_VENDOR_ST=y +CONFIG_WLAN_VENDOR_TI=y +CONFIG_WLAN_VENDOR_ZYDAS=y +# CONFIG_USB_ZD1201 is not set +CONFIG_WLAN_VENDOR_QUANTENNA=y +# CONFIG_XR829_WLAN is not set +# CONFIG_RTL8821CS is not set +# CONFIG_SPARD_WLAN_SUPPORT is not set +# CONFIG_BCMDHD is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_VIRT_WIFI is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_NETDEVSIM is not set +# CONFIG_NET_FAILOVER is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_LEDS is not set +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_SENSORINIT is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ADP5588 is not set +# CONFIG_KEYBOARD_ADP5589 is not set +# CONFIG_KEYBOARD_ATKBD is not set +# CONFIG_KEYBOARD_QT1050 is not set +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 is not set +# CONFIG_KEYBOARD_DLINK_DIR685 is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYBOARD_GPIO_POLLED is not set +# CONFIG_KEYBOARD_TCA6416 is not set +# CONFIG_KEYBOARD_TCA8418 is not set +# CONFIG_KEYBOARD_MATRIX is not set +# CONFIG_KEYBOARD_LM8323 is not set +# CONFIG_KEYBOARD_LM8333 is not set +# CONFIG_KEYBOARD_MAX7359 is not set +# CONFIG_KEYBOARD_MCS is not set +# CONFIG_KEYBOARD_MPR121 is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_SAMSUNG is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_SUN4I_LRADC is not set +# CONFIG_KEYBOARD_OMAP4 is not set +# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_KEYBOARD_SUNXI=y +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN 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_MSM_VIBRATOR is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_DECODER is not set +# CONFIG_INPUT_GPIO_VIBRA is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# 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 is not set +# CONFIG_INPUT_PCF8574 is not set +# CONFIG_INPUT_PWM_BEEPER is not set +# CONFIG_INPUT_PWM_VIBRA 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_DRV260X_HAPTICS is not set +# CONFIG_INPUT_DRV2665_HAPTICS is not set +# CONFIG_INPUT_DRV2667_HAPTICS is not set +# CONFIG_HALL_SENSOR is not set +# CONFIG_RMI4_CORE is not set +CONFIG_INPUT_SENSOR=y +# CONFIG_SENSORS_SC7A20 is not set +# CONFIG_SENSORS_MIR3DA is not set +# CONFIG_STK3X1X is not set +CONFIG_SUNXI_TPADC=y +CONFIG_SUNXI_GPADC=y + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set +# end of Hardware I/O ports +# end of Input device support + +# +# 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 is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +# CONFIG_NULL_TTY is not set +CONFIG_LDISC_AUTOLOAD=y +# CONFIG_DEVMEM is not set +# CONFIG_DEVKMEM is not set + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set +# CONFIG_SERIAL_SAMSUNG is not set +# 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_SIFIVE is not set +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_BCM63XX 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_FSL_LPUART is not set +# CONFIG_SERIAL_FSL_LINFLEXUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_SPRD is not set +CONFIG_SERIAL_SUNXI=y +# CONFIG_SERIAL_SUNXI_DMA is not set +CONFIG_SERIAL_SUNXI_CONSOLE=y +# CONFIG_SERIAL_SUNXI_EARLYCON is not set +# end of Serial drivers + +# CONFIG_SERIAL_DEV_BUS is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_IPMB_DEVICE_INTERFACE is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set +# end of Character devices + +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set +CONFIG_DUMP_REG=y +CONFIG_DUMP_REG_MISC=y +# CONFIG_SUNXI_G2D is not set +# CONFIG_SUNXI_DI is not set +CONFIG_SUNXI_STANDBY_DEBUG=y +CONFIG_SUNXI_SYS_INFO=y +# CONFIG_SUNXI_QA_TEST is not set +CONFIG_SUNXI_SMC=y + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +# CONFIG_I2C_COMPAT is not set +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_MUX is not set +# CONFIG_I2C_HELPER_AUTO is not set +# CONFIG_I2C_SMBUS is not set + +# +# I2C Algorithms +# +# CONFIG_I2C_ALGOBIT is not set +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set +# end of I2C Algorithms + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_MV64XXX is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_SUNXI=y +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_RK3X is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# 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 +# +# end of I2C Hardware Bus support + +# CONFIG_I2C_STUB is not set +CONFIG_I2C_SLAVE=y +# CONFIG_I2C_SLAVE_EEPROM is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# end of I2C support + +# CONFIG_I3C is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y +# CONFIG_SPI_MEM is not set + +# +# 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 is not set +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_NXP_FLEXSPI 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_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_SIFIVE is not set +# CONFIG_SPI_SUN4I is not set +# CONFIG_SPI_SUN6I is not set +# CONFIG_SPI_MXIC is not set +CONFIG_SPI_SUNXI=y +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_LOOPBACK_TEST is not set +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPI_SLAVE is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set +# CONFIG_PPS is not set + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +# end of PTP clock support + +CONFIG_PINCTRL=y +CONFIG_PINMUX=y +CONFIG_PINCONF=y +CONFIG_GENERIC_PINCONF=y +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_MCP23S08 is not set +# CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_SX150X is not set +# CONFIG_PINCTRL_STMFX is not set +# CONFIG_PINCTRL_OCELOT is not set + +# +# Allwinner SOC PINCTRL DRIVER +# +CONFIG_PINCTRL_SUNXI=y +# CONFIG_PINCTRL_SUNXI_DEBUGFS is not set +# CONFIG_PINCTRL_SUNXI_TEST is not set +# CONFIG_PINCTRL_SUN8IW15P1 is not set +# CONFIG_PINCTRL_SUN8IW15P1_R is not set +CONFIG_PINCTRL_SUN8IW20=y +# CONFIG_PINCTRL_SUN50IW9 is not set +# CONFIG_PINCTRL_SUN50IW9_R is not set +# CONFIG_PINCTRL_SUN50IW10P1 is not set +# CONFIG_PINCTRL_SUN50IW10P1_R is not set +# CONFIG_PINCTRL_SUN50IW12 is not set +# CONFIG_PINCTRL_SUN50IW12_R is not set +# CONFIG_PINCTRL_SUN4I_A10 is not set +# CONFIG_PINCTRL_SUN5I is not set +# CONFIG_PINCTRL_SUN6I_A31 is not set +# CONFIG_PINCTRL_SUN6I_A31_R is not set +# CONFIG_PINCTRL_SUN8I_A23 is not set +# CONFIG_PINCTRL_SUN8I_A33 is not set +# CONFIG_PINCTRL_SUN8I_A83T is not set +# CONFIG_PINCTRL_SUN8I_A83T_R is not set +# CONFIG_PINCTRL_SUN8I_A23_R is not set +# CONFIG_PINCTRL_SUN8I_H3 is not set +# CONFIG_PINCTRL_SUN8I_H3_R is not set +# CONFIG_PINCTRL_SUN8I_V3S is not set +# CONFIG_PINCTRL_SUN9I_A80 is not set +# CONFIG_PINCTRL_SUN9I_A80_R is not set +# CONFIG_PINCTRL_SUN50I_A64 is not set +# CONFIG_PINCTRL_SUN50I_A64_R is not set +# CONFIG_PINCTRL_SUN50I_A100 is not set +# CONFIG_PINCTRL_SUN50I_A100_R is not set +# CONFIG_PINCTRL_SUN50I_H5 is not set +# CONFIG_PINCTRL_SUN50I_H6 is not set +# CONFIG_PINCTRL_SUN50I_H6_R is not set +# end of Allwinner SOC PINCTRL DRIVER + +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_OF_GPIO=y +# CONFIG_DEBUG_GPIO is not set +# CONFIG_GPIO_SYSFS is not set + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_SUNXI is not set +# CONFIG_GPIO_CADENCE is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_FTGPIO010 is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_HLWD is not set +# CONFIG_GPIO_MB86S7X is not set +# CONFIG_GPIO_MPC8XXX is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_AMD_FCH is not set +# end of Memory mapped GPIO drivers + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_GW_PLD is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_TPIC2810 is not set +# end of I2C GPIO expanders + +# +# MFD GPIO expanders +# +# CONFIG_HTC_EGPIO is not set +# end of MFD GPIO expanders + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX3191X is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_PISOSR is not set +# CONFIG_GPIO_XRA1403 is not set +# end of SPI GPIO expanders + +# +# USB GPIO expanders +# +# end of USB GPIO expanders + +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_W1 is not set +# CONFIG_POWER_AVS is not set +# CONFIG_POWER_RESET is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_POWER_SUPPLY_HWMON=y +# CONFIG_PDA_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_CHARGER_ADP5061 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_CHARGER_SBS is not set +# CONFIG_BATTERY_BQ27XXX is not set +# CONFIG_BATTERY_MAX17040 is not set +# CONFIG_BATTERY_MAX17042 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_LT3651 is not set +# CONFIG_CHARGER_DETECTOR_MAX14656 is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24257 is not set +# CONFIG_CHARGER_BQ24735 is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_CHARGER_RT9455 is not set +# CONFIG_CHARGER_UCS1002 is not set +CONFIG_HWMON=y +# 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_AS370 is not set +# CONFIG_SENSORS_ASC7621 is not set +# CONFIG_SENSORS_ASPEED is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS620 is not set +# CONFIG_SENSORS_DS1621 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_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_MAX6621 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_TC654 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_NPCM7XX is not set +# CONFIG_SENSORS_OCC_P8_I2C 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_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_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set +# CONFIG_SENSORS_STTS751 is not set +# CONFIG_SENSORS_SMM665 is not set +# CONFIG_SENSORS_ADC128D818 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_TMP108 is not set +# CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83773G 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_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y +CONFIG_WATCHDOG_OPEN_TIMEOUT=0 +# CONFIG_WATCHDOG_SYSFS is not set + +# +# Watchdog Pretimeout Governors +# +# CONFIG_WATCHDOG_PRETIMEOUT_GOV 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_CADENCE_WATCHDOG is not set +# CONFIG_FTWDT010_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +CONFIG_SUNXI_WATCHDOG=y +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_SUN4I_GPADC 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_BD9571MWV is not set +# CONFIG_MFD_AXP2101_I2C is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_MADERA is not set +# CONFIG_MFD_ASIC3 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_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_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 is not set +# CONFIG_MFD_MAX77650 is not set +# 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_CPCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8XXX is not set +# CONFIG_MFD_RT5033 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_SUN6I_PRCM=y +# CONFIG_MFD_SYSCON is not set +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_TI_LMU 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_TI_LP87565 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_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_TQMX86 is not set +# CONFIG_MFD_LOCHNAGAR 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_ROHM_BD718XX is not set +# CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_STPMIC1 is not set +# CONFIG_MFD_STMFX is not set +# end of Multifunction device drivers + +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_88PG86X is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +CONFIG_SUNXI_REGULATOR_PWM=y +# CONFIG_REGULATOR_DA9210 is not set +# CONFIG_REGULATOR_DA9211 is not set +# CONFIG_REGULATOR_FAN53555 is not set +# CONFIG_REGULATOR_GPIO is not set +# 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_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MCP16502 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 is not set +# CONFIG_REGULATOR_SLG51000 is not set +# CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X 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 is not set +# CONFIG_REGULATOR_TPS6524X is not set +# CONFIG_REGULATOR_VCTRL is not set +CONFIG_RC_CORE=y +CONFIG_RC_MAP=y +CONFIG_LIRC=y +CONFIG_RC_DECODERS=y +CONFIG_IR_NEC_DECODER=y +# CONFIG_IR_RC5_DECODER is not set +# CONFIG_IR_RC6_DECODER is not set +# CONFIG_IR_JVC_DECODER is not set +# CONFIG_IR_SONY_DECODER is not set +# CONFIG_IR_SANYO_DECODER is not set +# CONFIG_IR_SHARP_DECODER is not set +# CONFIG_IR_MCE_KBD_DECODER is not set +# CONFIG_IR_XMP_DECODER is not set +# CONFIG_IR_IMON_DECODER is not set +# CONFIG_IR_RCMM_DECODER is not set +CONFIG_RC_DEVICES=y +# CONFIG_RC_ATI_REMOTE is not set +# CONFIG_IR_HIX5HD2 is not set +# CONFIG_IR_IMON is not set +# CONFIG_IR_IMON_RAW is not set +# CONFIG_IR_MCEUSB is not set +# CONFIG_IR_REDRAT3 is not set +# CONFIG_IR_SPI is not set +# CONFIG_IR_STREAMZAP is not set +# CONFIG_IR_IGORPLUGUSB is not set +# CONFIG_IR_IGUANA is not set +# CONFIG_IR_TTUSBIR is not set +# CONFIG_RC_LOOPBACK is not set +# CONFIG_IR_GPIO_CIR is not set +# CONFIG_IR_GPIO_TX is not set +# CONFIG_IR_PWM_TX is not set +# CONFIG_IR_SUNXI is not set +CONFIG_IR_RX_SUNXI=y +CONFIG_IR_TX_SUNXI=y +# CONFIG_IR_SERIAL is not set +# CONFIG_IR_SIR is not set +# CONFIG_RC_XBOX_DVD is not set +CONFIG_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +# CONFIG_MEDIA_CAMERA_SUPPORT is not set +# 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_CEC_SUPPORT is not set +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set + +# +# Media drivers +# +# CONFIG_MEDIA_USB_SUPPORT is not set + +# +# Supported MMC/SDIO adapters +# +# CONFIG_CYPRESS_FIRMWARE is not set +CONFIG_VIDEOBUF2_CORE=y + +# +# Media ancillary drivers (tuners, sensors, i2c, spi, frontends) +# + +# +# Media SPI Adapters +# +# end of Media SPI Adapters + +# +# Customise DVB Frontends +# + +# +# Tools to develop new frontends +# +# end of Customise DVB Frontends + +CONFIG_VIDEO_ENCODER_DECODER_SUNXI=y +# CONFIG_VIDEO_GOOGLE_DECODER_SUNXI is not set + +# +# Graphics support +# + +# +# GPU support for sunxi +# +CONFIG_SUNXI_GPU_TYPE="None" +# end of GPU support for sunxi + +# CONFIG_IMX_IPUV3_CORE is not set +# CONFIG_DRM is not set +# CONFIG_DRM_DP_CEC is not set + +# +# ARM devices +# +# end of ARM devices + +# +# ACP (Audio CoProcessor) Configuration +# +# end of ACP (Audio CoProcessor) Configuration + +# +# Frame buffer Devices +# +# CONFIG_FB is not set +# end of Frame buffer Devices + +# +# Backlight & LCD device support +# +# CONFIG_LCD_CLASS_DEVICE is not set +# CONFIG_BACKLIGHT_CLASS_DEVICE is not set +# end of Backlight & LCD device support + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# end of Console display driver support +# end of Graphics support + +# CONFIG_SOUND is not set + +# +# HID support +# +CONFIG_HID=y +# CONFIG_HID_BATTERY_STRENGTH is not set +# CONFIG_HIDRAW is not set +# CONFIG_UHID is not set +CONFIG_HID_GENERIC=y + +# +# Special HID drivers +# +# CONFIG_HID_A4TECH is not set +# CONFIG_HID_ACCUTOUCH is not set +# CONFIG_HID_ACRUX is not set +# CONFIG_HID_APPLE is not set +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_ASUS is not set +# CONFIG_HID_AUREAL is not set +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_BETOP_FF is not set +# CONFIG_HID_BIGBEN_FF is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set +# CONFIG_HID_CORSAIR is not set +# CONFIG_HID_COUGAR is not set +# CONFIG_HID_MACALLY is not set +# CONFIG_HID_CMEDIA is not set +# CONFIG_HID_CREATIVE_SB0540 is not set +# CONFIG_HID_CYPRESS is not set +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELAN is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +# CONFIG_HID_EZKEY is not set +# CONFIG_HID_GEMBIRD is not set +# CONFIG_HID_GFRM is not set +# CONFIG_HID_HOLTEK is not set +# CONFIG_HID_GT683R is not set +# CONFIG_HID_KEYTOUCH is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_UCLOGIC is not set +# CONFIG_HID_WALTOP is not set +# CONFIG_HID_VIEWSONIC is not set +# CONFIG_HID_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_ITE is not set +# CONFIG_HID_JABRA is not set +# CONFIG_HID_TWINHAN is not set +# CONFIG_HID_KENSINGTON is not set +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LED is not set +# CONFIG_HID_LENOVO is not set +# CONFIG_HID_LOGITECH is not set +# CONFIG_HID_MAGICMOUSE is not set +# CONFIG_HID_MALTRON is not set +# CONFIG_HID_MAYFLASH is not set +# CONFIG_HID_REDRAGON is not set +# CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MONTEREY is not set +# CONFIG_HID_MULTITOUCH is not set +# CONFIG_HID_NINTENDO is not set +# CONFIG_HID_NTI is not set +# CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set +# CONFIG_HID_PANTHERLORD is not set +# CONFIG_HID_PENMOUNT is not set +# CONFIG_HID_PETALYNX is not set +# CONFIG_HID_PICOLCD is not set +# CONFIG_HID_PLANTRONICS is not set +# CONFIG_HID_PRIMAX is not set +# CONFIG_HID_RETRODE is not set +# CONFIG_HID_ROCCAT is not set +# CONFIG_HID_SAITEK is not set +# CONFIG_HID_SAMSUNG is not set +# CONFIG_HID_SONY is not set +# CONFIG_HID_SPEEDLINK is not set +# CONFIG_HID_STEAM is not set +# CONFIG_HID_STEELSERIES is not set +# CONFIG_HID_SUNPLUS is not set +# CONFIG_HID_RMI is not set +# CONFIG_HID_GREENASIA is not set +# CONFIG_HID_SMARTJOYPLUS is not set +# CONFIG_HID_TIVO is not set +# CONFIG_HID_TOPSEED is not set +# CONFIG_HID_THINGM is not set +# CONFIG_HID_THRUSTMASTER is not set +# CONFIG_HID_UDRAW_PS3 is not set +# CONFIG_HID_WACOM is not set +# CONFIG_HID_WIIMOTE is not set +# CONFIG_HID_XINMO is not set +# CONFIG_HID_ZEROPLUS is not set +# CONFIG_HID_ZYDACRON is not set +# CONFIG_HID_SENSOR_HUB is not set +# CONFIG_HID_ALPS is not set +# end of Special HID drivers + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set +# end of USB HID support + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +# end of I2C HID support +# end of HID support + +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +# CONFIG_USB_LED_TRIG is not set +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_USB_CONN_GPIO is not set +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set +CONFIG_USB_AUTOSUSPEND_DELAY=2 +# CONFIG_USB_MON is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_XHCI_HCD is not set +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +# CONFIG_USB_EHCI_FSL is not set +CONFIG_USB_EHCI_HCD_SUNXI=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_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_SUNXI=y +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set +CONFIG_USB_SUNXI_HCD=y +CONFIG_USB_SUNXI_HCI=y +CONFIG_USB_SUNXI_EHCI0=y +CONFIG_USB_SUNXI_EHCI1=y +CONFIG_USB_SUNXI_OHCI0=y +CONFIG_USB_SUNXI_OHCI1=y + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# 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=y +CONFIG_REALTEK_AUTOPM=y +CONFIG_USB_STORAGE_DATAFAB=y +CONFIG_USB_STORAGE_FREECOM=y +CONFIG_USB_STORAGE_ISD200=y +CONFIG_USB_STORAGE_USBAT=y +CONFIG_USB_STORAGE_SDDR09=y +CONFIG_USB_STORAGE_SDDR55=y +CONFIG_USB_STORAGE_JUMPSHOT=y +CONFIG_USB_STORAGE_ALAUDA=y +CONFIG_USB_STORAGE_ONETOUCH=y +CONFIG_USB_STORAGE_KARMA=y +CONFIG_USB_STORAGE_CYPRESS_ATACB=y +CONFIG_USB_STORAGE_ENE_UB6250=y +CONFIG_USB_UAS=y + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_CDNS3 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 is not set +# CONFIG_USB_ISP1760 is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +CONFIG_USB_IDMOUSE=y +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +# CONFIG_USB_EZUSB_FX2 is not set +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# end of USB Physical Layer drivers + +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 +# CONFIG_U_SERIAL_CONSOLE is not set + +# +# USB Peripheral Controller +# +# CONFIG_USB_FUSB300 is not set +# 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_SNP_UDC_PLAT is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_NET2272 is not set +CONFIG_USB_SUNXI_UDC0=y +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_DUMMY_HCD is not set +# end of USB Peripheral Controller + +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_U_SERIAL=y +CONFIG_USB_U_ETHER=y +CONFIG_USB_F_SERIAL=y +CONFIG_USB_F_RNDIS=y +CONFIG_USB_F_MASS_STORAGE=y +CONFIG_USB_F_FS=y +CONFIG_USB_F_HID=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_UEVENT=y +CONFIG_USB_CONFIGFS_SERIAL=y +# CONFIG_USB_CONFIGFS_ACM is not set +# CONFIG_USB_CONFIGFS_OBEX is not set +# CONFIG_USB_CONFIGFS_NCM is not set +# CONFIG_USB_CONFIGFS_ECM is not set +# 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_ACC is not set +CONFIG_USB_CONFIGFS_F_HID=y +# CONFIG_USB_CONFIGFS_F_PRINTER is not set +CONFIG_USB_SUNXI_USB=y +CONFIG_USB_SUNXI_USB_MANAGER=y +CONFIG_USB_SUNXI_USB_DEBUG=y +CONFIG_USB_SUNXI_USB_ADB=y +# CONFIG_TYPEC is not set +CONFIG_USB_ROLE_SWITCH=y +CONFIG_MMC=y +CONFIG_PWRSEQ_EMMC=y +CONFIG_PWRSEQ_SIMPLE=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_DW is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_USDHI6ROL0 is not set +CONFIG_MMC_SUNXI=y +CONFIG_MMC_SUNXI_V4P1X=y +CONFIG_MMC_SUNXI_V4P00X=y +CONFIG_MMC_SUNXI_V4P10X=y +CONFIG_MMC_SUNXI_V4P5X=y +CONFIG_MMC_SUNXI_V5P3X=y +# CONFIG_MMC_CQHCI is not set +# CONFIG_MMC_HSQ is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +# CONFIG_LEDS_CLASS_FLASH is not set +# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set + +# +# LED drivers +# +# CONFIG_LEDS_AN30259A is not set +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_CR0014114 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3532 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_LM3692X is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP3952 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_PWM is not set +# CONFIG_LEDS_REGULATOR is not set +# CONFIG_LEDS_BD2802 is not set +# 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_MLXREG is not set +# CONFIG_LEDS_USER is not set +# CONFIG_LEDS_SPI_BYTE is not set +CONFIG_LEDS_SUNXI=y +# CONFIG_MATRIX_LEDS_SUNXI is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +# CONFIG_LEDS_TRIGGER_ONESHOT 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_ACTIVITY is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y + +# +# 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_NETDEV=y +# CONFIG_LEDS_TRIGGER_PATTERN is not set +# CONFIG_LEDS_TRIGGER_AUDIO is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +CONFIG_RTC_LIB=y +CONFIG_RTC_MC146818_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_NVMEM=y + +# +# 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_ABEOZ9 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_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_ISL12026 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_PCF85363 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_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3028 is not set +# CONFIG_RTC_DRV_RV8803 is not set +# CONFIG_RTC_DRV_SD3078 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_RX6110 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_CMOS=y +# 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_SUN6I is not set +CONFIG_RTC_DRV_SUNXI=y +# CONFIG_SUNXI_REBOOT_FLAG is not set +# CONFIG_SUNXI_RTC_BOOTCOUNT is not set +# CONFIG_SUNXI_RTC_POWEROFF_ALARM is not set +# CONFIG_RTC_DRV_CADENCE is not set +# CONFIG_RTC_DRV_FTRTC010 is not set +# CONFIG_RTC_DRV_SNVS is not set +# CONFIG_RTC_DRV_R7301 is not set + +# +# HID Sensor RTC drivers +# +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_ALTERA_MSGDMA is not set +CONFIG_DMA_SUN6I=y +# CONFIG_DW_AXI_DMAC is not set +# CONFIG_FSL_EDMA is not set +# CONFIG_FSL_QDMA is not set +# CONFIG_INTEL_IDMA64 is not set +# CONFIG_NBPFAXI_DMA is not set +# CONFIG_QCOM_HIDMA_MGMT is not set +# CONFIG_QCOM_HIDMA is not set +# CONFIG_DW_DMAC is not set + +# +# DMA Clients +# +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_DMATEST is not set + +# +# DMABUF options +# +# CONFIG_SYNC_FILE is not set +# CONFIG_UDMABUF is not set +# CONFIG_DMABUF_SELFTESTS is not set +# end of DMABUF options + +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set +# CONFIG_VIRTIO_MENU is not set + +# +# Microsoft Hyper-V guest support +# +# end of Microsoft Hyper-V guest support + +# CONFIG_GREYBUS is not set +CONFIG_STAGING=y +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set +# CONFIG_RTLLIB is not set +# CONFIG_RTL8723BS is not set +# CONFIG_R8712U is not set +# CONFIG_R8188EU is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# end of Speakup console speech + +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +CONFIG_ION=y +CONFIG_ION_SYSTEM_HEAP=y +CONFIG_ION_CMA_HEAP=y +# end of Android + +# CONFIG_STAGING_BOARD is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_UNISYSSPAR is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD 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_PI433 is not set + +# +# Gasket devices +# +# end of Gasket devices + +# CONFIG_XIL_AXIS_FIFO is not set +# CONFIG_FIELDBUS_DEV is not set +# CONFIG_USB_WUSB_CBAF is not set +# CONFIG_UWB is not set +CONFIG_EXFAT_FS=y +CONFIG_EXFAT_DONT_MOUNT_VFAT=y +CONFIG_EXFAT_DISCARD=y +# CONFIG_EXFAT_DELAYED_SYNC is not set +# CONFIG_EXFAT_KERNEL_DEBUG is not set +# CONFIG_EXFAT_DEBUG_MSG is not set +CONFIG_EXFAT_DEFAULT_CODEPAGE=437 +CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" +# CONFIG_GOLDFISH is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_CHROME_PLATFORMS is not set +# CONFIG_MELLANOX_PLATFORM is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_DEBUG is not set +# CONFIG_CLK_HSDK is not set +# CONFIG_COMMON_CLK_MAX9485 is not set +# CONFIG_COMMON_CLK_SI5341 is not set +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI544 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_PWM is not set +# CONFIG_COMMON_CLK_VC5 is not set +# CONFIG_COMMON_CLK_FIXED_MMIO is not set +CONFIG_CLK_SUNXI=y +# CONFIG_CLK_SUNXI_CLOCKS is not set +# CONFIG_CLK_SUNXI_DDR is not set +# CONFIG_CLK_SUNXI_PRCM_SUN6I is not set +# CONFIG_CLK_SUNXI_PRCM_SUN8I is not set +# CONFIG_CLK_SUNXI_PRCM_SUN9I is not set +CONFIG_SUNXI_CCU=y +CONFIG_SUN8IW20_CCU=y +CONFIG_SUN8IW20_R_CCU=y +# CONFIG_SUN8I_A83T_CCU is not set +# CONFIG_SUN8I_DE2_CCU is not set +# CONFIG_SUN8I_R_CCU is not set +CONFIG_SUNXI_RTC_CCU=y +# end of Common Clock Framework + +# CONFIG_HWSPINLOCK is not set +# CONFIG_HWSPINLOCK_SUNXI is not set + +# +# Clock Source drivers +# +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_SUN4I_TIMER=y +# CONFIG_SUN50I_TIMER is not set +# CONFIG_SUNXI_TIMER is not set +# CONFIG_SUNXI_TIMER_TEST is not set +CONFIG_ARM_ARCH_TIMER=y +# CONFIG_ARM_ARCH_TIMER_EVTSTREAM is not set +# CONFIG_MTK_TIMER is not set +# end of Clock Source drivers + +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_IOVA=y +CONFIG_IOMMU_API=y +# CONFIG_IOMMU_LIMIT_IOVA_ALIGNMENT is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set +# end of Generic IOMMU Pagetable Support + +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set +CONFIG_OF_IOMMU=y +CONFIG_IOMMU_DMA=y +# CONFIG_ARM_SMMU is not set +CONFIG_SUNXI_IOMMU=y +CONFIG_SUNXI_IOMMU_DEBUG=y +CONFIG_SUNXI_IOMMU_TESTS=y + +# +# Remoteproc drivers +# +# CONFIG_REMOTEPROC is not set +# end of Remoteproc drivers + +# +# Rpmsg drivers +# +# CONFIG_RPMSG_SUNXI_AMP is not set +# CONFIG_RPMSG_VIRTIO is not set +# end of Rpmsg drivers + +# CONFIG_SOUNDWIRE is not set + +# +# SOC (System On Chip) specific Drivers +# + +# +# Amlogic SoC drivers +# +# end of Amlogic SoC drivers + +# +# Aspeed SoC drivers +# +# end of Aspeed SoC drivers + +# +# Broadcom SoC drivers +# +# CONFIG_SOC_BRCMSTB is not set +# end of Broadcom SoC drivers + +# +# NXP/Freescale QorIQ SoC drivers +# +# end of NXP/Freescale QorIQ SoC drivers + +# +# i.MX SoC drivers +# +# end of i.MX SoC drivers + +# +# Qualcomm SoC drivers +# +# end of Qualcomm SoC drivers + +# CONFIG_SUNXI_SRAM is not set +CONFIG_SUNXI_SID=y +# CONFIG_SUNXI_ARISC is not set +# CONFIG_SUNXI_RISCV_SUSPEND is not set +# CONFIG_PM_TRACE_NVMEM is not set +# CONFIG_SOC_TI is not set + +# +# Xilinx SoC drivers +# +# CONFIG_XILINX_VCU is not set +# end of Xilinx SoC drivers +# end of SOC (System On Chip) specific Drivers + +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO 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_SUN4I is not set +CONFIG_PWM_SUNXI_GROUP=y + +# +# IRQ chip support +# +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +CONFIG_ARM_GIC_MAX_NR=1 +# CONFIG_AL_FIC is not set +# CONFIG_SUNXI_WAKEUPGEN is not set +# CONFIG_SUN8I_NMI is not set +# end of IRQ chip support + +# CONFIG_IPACK_BUS is not set +CONFIG_ARCH_HAS_RESET_CONTROLLER=y +CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_SIMPLE=y +CONFIG_RESET_SUNXI=y +# CONFIG_RESET_TI_SYSCON is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_SUN6I_MIPI_DPHY is not set +# CONFIG_PHY_SUN9I_USB is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_PHY_CADENCE_DP is not set +# CONFIG_PHY_CADENCE_DPHY is not set +# CONFIG_PHY_CADENCE_SIERRA is not set +# CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_MIXEL_MIPI_DPHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PHY_MAPPHONE_MDM6600 is not set +# end of PHY Subsystem + +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# end of Android + +# CONFIG_DAX is not set +CONFIG_NVMEM=y +CONFIG_NVMEM_SYSFS=y +CONFIG_NVMEM_SUNXI_SID=y + +# +# HW tracing support +# +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set +# end of HW tracing support + +# CONFIG_FPGA is not set +# CONFIG_FSI is not set +# CONFIG_TEE is not set +CONFIG_PM_OPP=y +# CONFIG_SIOX is not set +# CONFIG_SLIMBUS is not set +# CONFIG_INTERCONNECT is not set +# CONFIG_COUNTER is not set +# end of Device Drivers + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_VALIDATE_FS_PARSER is not set +CONFIG_FS_IOMAP=y +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY 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 is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS 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_FS_VERITY is not set +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_OVERLAY_FS=y +# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y +# CONFIG_OVERLAY_FS_INDEX is not set +# CONFIG_OVERLAY_FS_XINO_AUTO is not set +# CONFIG_OVERLAY_FS_METACOPY is not set +# CONFIG_INCREMENTAL_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set +# end of Caches + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set +# end of CD-ROM/DVD Filesystems + +# +# 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 +# end of DOS/FAT/NT Filesystems + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +# CONFIG_PROC_PAGE_MONITOR is not set +# CONFIG_PROC_CHILDREN is not set +CONFIG_KERNFS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_MEMFD_CREATE=y +CONFIG_CONFIGFS_FS=y +# end of Pseudo filesystems + +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_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=y +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +CONFIG_UBIFS_FS_ZSTD=y +# CONFIG_UBIFS_ATIME_SUPPORT is not set +CONFIG_UBIFS_FS_XATTR=y +CONFIG_UBIFS_FS_SECURITY=y +# CONFIG_UBIFS_FS_AUTHENTICATION is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +# CONFIG_SQUASHFS_FILE_CACHE is not set +CONFIG_SQUASHFS_FILE_DIRECT=y +# CONFIG_SQUASHFS_DECOMP_SINGLE is not set +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y +# CONFIG_SQUASHFS_XATTR is not set +# CONFIG_SQUASHFS_ZLIB is not set +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_ZSTD is not set +# 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 is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +# CONFIG_EROFS_FS is not set +# CONFIG_NETWORK_FILESYSTEMS 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 is not set +# 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_UNICODE is not set +# end of File systems + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_KEYS_REQUEST_CACHE is not set +# 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 is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +# CONFIG_HARDENED_USERCOPY is not set +# CONFIG_FORTIFY_SOURCE is not set +# CONFIG_STATIC_USERMODEHELPER is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity" + +# +# Kernel hardening options +# + +# +# Memory initialization +# +CONFIG_INIT_STACK_NONE=y +# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set +# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# end of Memory initialization +# end of Kernel hardening options +# end of Security options + +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=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_ACOMP2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_NULL is not set +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Public-key cryptography +# +CONFIG_CRYPTO_RSA=y +# CONFIG_CRYPTO_DH is not set +CONFIG_CRYPTO_ECC=y +CONFIG_CRYPTO_ECDH=y +# CONFIG_CRYPTO_ECRDSA is not set + +# +# Authenticated Encryption with Associated Data +# +# CONFIG_CRYPTO_CCM is not set +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +# CONFIG_CRYPTO_AEGIS128 is not set +# CONFIG_CRYPTO_SEQIV is not set +# CONFIG_CRYPTO_ECHAINIV is not set + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CFB is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_OFB is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set +# CONFIG_CRYPTO_ADIANTUM is not set +# CONFIG_CRYPTO_ESSIV 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_XXHASH is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +# CONFIG_CRYPTO_GHASH is not set +# CONFIG_CRYPTO_POLY1305 is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# 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 is not set +CONFIG_CRYPTO_LIB_SHA256=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_SHA3 is not set +# CONFIG_CRYPTO_SM3 is not set +# CONFIG_CRYPTO_STREEBOG is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_AES_TI is not set +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_LIB_ARC4=y +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 is not set +# 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_SM4 is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set +CONFIG_CRYPTO_ZSTD=y + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=y +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH 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_HASH_INFO=y +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_SUN4I_SS is not set +# CONFIG_CRYPTO_DEV_SUNXI is not set +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set +# CONFIG_CRYPTO_DEV_CCREE is not set +CONFIG_ASYMMETRIC_KEY_TYPE=y +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y +CONFIG_X509_CERTIFICATE_PARSER=y +# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set +CONFIG_PKCS7_MESSAGE_PARSER=y +# CONFIG_PKCS7_TEST_KEY is not set +# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set + +# +# Certificates for signature checking +# +CONFIG_SYSTEM_TRUSTED_KEYRING=y +CONFIG_SYSTEM_TRUSTED_KEYS="" +# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set +# CONFIG_SECONDARY_TRUSTED_KEYRING is not set +# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set +# end of Certificates for signature checking + +# +# Library routines +# +# CONFIG_PACKING is not set +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +# CONFIG_CORDIC is not set +CONFIG_RATIONAL=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +# CONFIG_CRC_CCITT is not set +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +# CONFIG_CRC32_SLICEBY8 is not set +# CONFIG_CRC32_SLICEBY4 is not set +CONFIG_CRC32_SARWATE=y +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC64 is not set +# CONFIG_CRC4 is not set +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +CONFIG_XXHASH=y +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y +CONFIG_XZ_DEC=y +# CONFIG_XZ_DEC_X86 is not set +# CONFIG_XZ_DEC_POWERPC is not set +# CONFIG_XZ_DEC_IA64 is not set +# CONFIG_XZ_DEC_ARM is not set +# CONFIG_XZ_DEC_ARMTHUMB is not set +# CONFIG_XZ_DEC_SPARC is not set +# CONFIG_XZ_DEC_TEST is not set +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_DMA_DECLARE_COHERENT=y +CONFIG_ARCH_HAS_SETUP_DMA_OPS=y +CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y +CONFIG_DMA_REMAP=y +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=16 +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 +# CONFIG_DMA_API_DEBUG is not set +CONFIG_SGL_ALLOC=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_CLZ_TAB=y +# CONFIG_IRQ_POLL is not set +CONFIG_MPILIB=y +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_SG_POOL=y +CONFIG_SBITMAP=y +# CONFIG_STRING_SELFTEST is not set +# end of Library routines + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +CONFIG_PRINTK_TIME=y +# CONFIG_PRINTK_CALLER is not set +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 +CONFIG_CONSOLE_LOGLEVEL_QUIET=4 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_DYNAMIC_DEBUG is not set +# CONFIG_DYNAMIC_DEBUG_CORE is not set +# end of printk and dmesg options + +# +# 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_DEBUG_INFO_BTF is not set +# CONFIG_GDB_SCRIPTS is not set +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=2048 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_INSTALL is not set +CONFIG_OPTIMIZE_INLINING=y +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# end of Compile-time checks and compiler options + +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_MAGIC_SYSRQ_SERIAL=y +CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_MISC=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_PAGE_OWNER is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_DEBUG_RODATA_TEST is not set +# CONFIG_DEBUG_OBJECTS is not set +CONFIG_SLUB_DEBUG_ON=y +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# 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_ARCH_HAS_DEBUG_VIRTUAL=y +# CONFIG_DEBUG_VIRTUAL is not set +# CONFIG_DEBUG_MEMORY_INIT is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_KASAN_STACK=1 +# end of Memory Debugging + +CONFIG_ARCH_HAS_KCOV=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +# CONFIG_KCOV is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_SOFTLOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_WQ_WATCHDOG is not set +# end of Debug Lockups and Hangs + +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_DEBUG is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +CONFIG_DEBUG_PREEMPT=y + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +CONFIG_LOCK_DEBUGGING_SUPPORT=y +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_RWSEMS is not set +# CONFIG_DEBUG_LOCK_ALLOC 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_WW_MUTEX_SELFTEST is not set +# end of Lock Debugging (spinlocks, mutexes, etc...) + +CONFIG_STACKTRACE=y +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PLIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_RCU_PERF_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=20 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# end of RCU Debugging + +# 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 is not set +# CONFIG_LATENCYTOP is not set +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACING_SUPPORT=y +# CONFIG_FTRACE is not set +CONFIG_RUNTIME_TESTING_MENU=y +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_TEST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_REED_SOLOMON_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +CONFIG_ATOMIC64_SELFTEST=y +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_STRSCPY is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_BITMAP is not set +# CONFIG_TEST_BITFIELD is not set +# CONFIG_TEST_UUID is not set +# CONFIG_TEST_XARRAY is not set +# CONFIG_TEST_OVERFLOW is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_HASH is not set +# CONFIG_TEST_IDA is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_VMALLOC is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_BLACKHOLE_DEV is not set +# CONFIG_FIND_BIT_BENCHMARK is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_SYSCTL is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_TEST_KMOD is not set +# CONFIG_TEST_MEMCAT_P is not set +# CONFIG_TEST_STACKINIT is not set +# CONFIG_TEST_MEMINIT is not set +# CONFIG_MEMTEST is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_UBSAN is not set +CONFIG_UBSAN_ALIGNMENT=y +CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y +# CONFIG_ARM_PTDUMP_DEBUGFS is not set +# CONFIG_DEBUG_WX is not set +# CONFIG_UNWINDER_FRAME_POINTER is not set +CONFIG_UNWINDER_ARM=y +CONFIG_ARM_UNWIND=y +# CONFIG_DEBUG_USER is not set +CONFIG_DEBUG_LL=y +CONFIG_DEBUG_SUNXI_UART0=y +# CONFIG_DEBUG_SUNXI_UART1 is not set +# CONFIG_DEBUG_SUNXI_UART2 is not set +# CONFIG_DEBUG_ICEDCC is not set +# CONFIG_DEBUG_SEMIHOSTING is not set +# CONFIG_DEBUG_LL_UART_8250 is not set +# CONFIG_DEBUG_LL_UART_PL01X is not set +CONFIG_DEBUG_LL_INCLUDE="debug/8250.S" +CONFIG_DEBUG_UART_8250=y +CONFIG_DEBUG_UART_PHYS=0x02500000 +CONFIG_DEBUG_UART_VIRT=0xf2500000 +CONFIG_DEBUG_UART_8250_SHIFT=2 +# CONFIG_DEBUG_UART_8250_WORD is not set +# CONFIG_DEBUG_UART_8250_PALMCHIP is not set +# CONFIG_DEBUG_UART_8250_FLOW_CONTROL is not set +# CONFIG_DEBUG_UNCOMPRESS is not set +CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" +CONFIG_EARLY_PRINTK=y +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_SUNXI_DUMP is not set +# CONFIG_CORESIGHT is not set +# end of Kernel hacking diff --git a/device/config/chips/t113/configs/evb1/linux-5.4/config-5.4-mem-optimize b/device/config/chips/t113/configs/evb1/linux-5.4/config-5.4-mem-optimize new file mode 100644 index 0000000..b91b850 --- /dev/null +++ b/device/config/chips/t113/configs/evb1/linux-5.4/config-5.4-mem-optimize @@ -0,0 +1,3684 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 5.4.61 Kernel Configuration +# +CONFIG_CC_VERSION_TEXT="arm-openwrt-linux-gnueabi-gcc.bin (OpenWrt/Linaro GCC 6.4-2017.11 2017-11) 6.4.1" +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=60401 +CONFIG_CLANG_VERSION=0 +CONFIG_CC_CAN_LINK=y +CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_BUILD_SALT="" +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_LZ4=y +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_XZ is not set +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set +CONFIG_DEFAULT_HOSTNAME="(none)" +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_USELIB is not set +# CONFIG_AUDIT is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_GENERIC_IRQ_MIGRATION=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_IRQ_MSI_IOMMU=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +# end of IRQ subsystem + +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_ARCH_CLOCKSOURCE_DATA=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 +# end of Timers subsystem + +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_PREEMPTION=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +# CONFIG_TASKSTATS is not set +# CONFIG_PSI is not set +# end of CPU/Task time and stats accounting + +CONFIG_CPU_ISOLATION=y + +# +# RCU Subsystem +# +CONFIG_PREEMPT_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +CONFIG_TREE_SRCU=y +CONFIG_TASKS_RCU=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_RCU_NEED_SEGCBLIST=y +# end of RCU Subsystem + +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +# CONFIG_IKHEADERS is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 +CONFIG_GENERIC_SCHED_CLOCK=y + +# +# Scheduler features +# +# end of Scheduler features + +# CONFIG_CGROUPS is not set +# CONFIG_NAMESPACES is not set +# CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +# CONFIG_BLK_DEV_INITRD is not set +# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +CONFIG_EXPERT=y +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +# CONFIG_SYSFS_SYSCALL is not set +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_FHANDLE=y +CONFIG_POSIX_TIMERS=y +CONFIG_PRINTK=y +CONFIG_PRINTK_NMI=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_IO_URING=y +CONFIG_ADVISE_SYSCALLS=y +CONFIG_MEMBARRIER=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +CONFIG_KALLSYMS_BASE_RELATIVE=y +# CONFIG_BPF_SYSCALL is not set +# CONFIG_USERFAULTFD is not set +CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +CONFIG_RSEQ=y +# CONFIG_DEBUG_RSEQ is not set +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y +# CONFIG_PC104 is not set + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +# end of Kernel Performance Events And Counters + +CONFIG_VM_EVENT_COUNTERS=y +# CONFIG_SLUB_DEBUG is not set +# CONFIG_COMPAT_BRK is not set +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +CONFIG_SLAB_MERGE_DEFAULT=y +# CONFIG_SLAB_FREELIST_RANDOM is not set +# CONFIG_SLAB_FREELIST_HARDENED is not set +# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set +CONFIG_SLUB_CPU_PARTIAL=y +CONFIG_SYSTEM_DATA_VERIFICATION=y +CONFIG_PROFILING=y +# end of General setup + +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_ARM_DMA_USE_IOMMU=y +CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8 +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 + +# +# System Type +# +CONFIG_MMU=y +CONFIG_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MULTIPLATFORM=y +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C24XX is not set +# CONFIG_ARCH_OMAP1 is not set + +# +# Multiple platform selection +# + +# +# CPU Core family selection +# +# CONFIG_ARCH_MULTI_V6 is not set +CONFIG_ARCH_MULTI_V7=y +CONFIG_ARCH_MULTI_V6_V7=y +# end of Multiple platform selection + +# CONFIG_ARCH_VIRT is not set +# CONFIG_ARCH_ACTIONS is not set +# CONFIG_ARCH_ALPINE is not set +# CONFIG_ARCH_ARTPEC is not set +# CONFIG_ARCH_ASPEED is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_BCM is not set +# CONFIG_ARCH_BERLIN is not set +# CONFIG_ARCH_DIGICOLOR is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_HIGHBANK is not set +# CONFIG_ARCH_HISI is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_KEYSTONE is not set +# CONFIG_ARCH_MEDIATEK is not set +# CONFIG_ARCH_MESON is not set +# CONFIG_ARCH_MILBEAUT is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_MVEBU is not set +# CONFIG_ARCH_NPCM is not set + +# +# TI OMAP/AM/DM/DRA Family +# +# CONFIG_ARCH_OMAP3 is not set +# CONFIG_ARCH_OMAP4 is not set +# CONFIG_SOC_OMAP5 is not set +# CONFIG_SOC_AM33XX is not set +# CONFIG_SOC_AM43XX is not set +# CONFIG_SOC_DRA7XX is not set +# end of TI OMAP/AM/DM/DRA Family + +# CONFIG_ARCH_SIRF is not set +# CONFIG_ARCH_QCOM is not set +# CONFIG_ARCH_RDA is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_ROCKCHIP is not set +# CONFIG_ARCH_S5PV210 is not set +# CONFIG_ARCH_RENESAS is not set +# CONFIG_ARCH_SOCFPGA is not set +# CONFIG_PLAT_SPEAR is not set +# CONFIG_ARCH_STI is not set +# CONFIG_ARCH_STM32 is not set +CONFIG_ARCH_SUNXI=y +# CONFIG_MACH_SUN4I is not set +# CONFIG_MACH_SUN5I is not set +# CONFIG_MACH_SUN6I is not set +# CONFIG_MACH_SUN7I is not set +# CONFIG_MACH_SUN8I is not set +# CONFIG_MACH_SUN9I is not set +CONFIG_ARCH_SUN8I=y +# CONFIG_ARCH_SUN8IW15 is not set +CONFIG_ARCH_SUN8IW20=y +# CONFIG_FPGA_V4_PLATFORM is not set +# CONFIG_FPGA_V7_PLATFORM is not set +CONFIG_EVB_PLATFORM=y +CONFIG_SUNXI_SOC_NAME="sun8iw20" +# CONFIG_ARCH_TANGO is not set +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_UNIPHIER is not set +# CONFIG_ARCH_U8500 is not set +# CONFIG_ARCH_VEXPRESS is not set +# CONFIG_ARCH_WM8850 is not set +# CONFIG_ARCH_ZX is not set +# CONFIG_ARCH_ZYNQ is not set + +# +# Processor Type +# +CONFIG_CPU_V7=y +CONFIG_CPU_THUMB_CAPABLE=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +# CONFIG_ARM_LPAE is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +CONFIG_SWP_EMULATE=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_CPU_SPECTRE=y +CONFIG_HARDEN_BRANCH_PREDICTOR=y +CONFIG_KUSER_HELPERS=y +# CONFIG_VDSO is not set +CONFIG_OUTER_CACHE=y +CONFIG_OUTER_CACHE_SYNC=y +CONFIG_MIGHT_HAVE_CACHE_L2X0=y +CONFIG_CACHE_L2X0=y +# CONFIG_PL310_ERRATA_588369 is not set +# CONFIG_PL310_ERRATA_727915 is not set +# CONFIG_PL310_ERRATA_753970 is not set +# CONFIG_PL310_ERRATA_769419 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +CONFIG_ARM_HEAVY_MB=y +CONFIG_DEBUG_ALIGN_RODATA=y +# CONFIG_ARM_ERRATA_430973 is not set +CONFIG_ARM_ERRATA_643719=y +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_754327 is not set +# CONFIG_ARM_ERRATA_764369 is not set +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_798181 is not set +# CONFIG_ARM_ERRATA_773022 is not set +# CONFIG_ARM_ERRATA_818325_852422 is not set +# CONFIG_ARM_ERRATA_821420 is not set +# CONFIG_ARM_ERRATA_825619 is not set +# CONFIG_ARM_ERRATA_857271 is not set +# CONFIG_ARM_ERRATA_852421 is not set +# CONFIG_ARM_ERRATA_852423 is not set +# CONFIG_ARM_ERRATA_857272 is not set +# end of System Type + +# +# Bus support +# +# CONFIG_ARM_ERRATA_814220 is not set +# end of Bus support + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_ARM_CPU_TOPOLOGY=y +CONFIG_SCHED_MC=y +# CONFIG_SCHED_SMT is not set +CONFIG_HAVE_ARM_ARCH_TIMER=y +# CONFIG_MCPM is not set +# CONFIG_BIG_LITTLE is not set +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_3G_OPT is not set +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_NR_CPUS=2 +CONFIG_HOTPLUG_CPU=y +CONFIG_ARM_PSCI=y +CONFIG_ARCH_NR_GPIO=416 +CONFIG_HZ_FIXED=0 +CONFIG_HZ_100=y +# CONFIG_HZ_200 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +# CONFIG_HZ_500 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=100 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_ARM_PATCH_IDIV=y +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +CONFIG_HAVE_ARCH_PFN_VALID=y +# CONFIG_HIGHMEM is not set +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_SECCOMP is not set +# CONFIG_PARAVIRT is not set +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +# CONFIG_XEN is not set +# end of Kernel Features + +# +# Boot options +# +CONFIG_USE_OF=y +# CONFIG_ATAGS is not set +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +# CONFIG_ARM_APPENDED_DTB is not set +CONFIG_CMDLINE="loglevel=8 initcall_debug=1 console=ttyS0 init=/init" +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +CONFIG_AUTO_ZRELADDR=y +# CONFIG_EFI is not set +# end of Boot options + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set +# end of CPU Frequency scaling + +# +# 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_CPU_IDLE_GOV_TEO is not set +CONFIG_DT_IDLE_STATES=y + +# +# ARM CPU Idle Drivers +# +# CONFIG_ARM_CPUIDLE is not set +CONFIG_ARM_PSCI_CPUIDLE=y +# CONFIG_ARM_HIGHBANK_CPUIDLE is not set +# end of ARM CPU Idle Drivers +# end of CPU Idle +# end of CPU Power Management + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +# CONFIG_FPE_NWFPE is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_KERNEL_MODE_NEON=y +# end of Floating point emulation + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +CONFIG_PM_WAKELOCKS=y +CONFIG_PM_WAKELOCKS_LIMIT=100 +CONFIG_PM_WAKELOCKS_GC=y +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_APM_EMULATION is not set +CONFIG_PM_CLK=y +CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +# end of Power management options + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set +# CONFIG_FW_CFG_SYSFS is not set +# CONFIG_QCOM_SCM is not set +# CONFIG_TRUSTED_FOUNDATIONS is not set +CONFIG_HAVE_ARM_SMCCC=y +CONFIG_ARM_PSCI_FW=y +# CONFIG_ARM_PSCI_CHECKER is not set +# CONFIG_GOOGLE_FIRMWARE is not set + +# +# Tegra firmware driver +# +# end of Tegra firmware driver +# end of Firmware Drivers + +# CONFIG_ARM_CRYPTO is not set +# CONFIG_VIRTUALIZATION is not set + +# +# General architecture-dependent options +# +# CONFIG_OPROFILE is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_JUMP_LABEL=y +# CONFIG_STATIC_KEYS_SELFTEST is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_NMI=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_ARCH_HAS_FORTIFY_SOURCE=y +CONFIG_ARCH_HAS_KEEPINITRD=y +CONFIG_ARCH_HAS_SET_MEMORY=y +CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y +CONFIG_ARCH_32BIT_OFF_T=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_RSEQ=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_STACKPROTECTOR=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR_STRONG=y +CONFIG_LTO_NONE=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_HAVE_EXIT_THREAD=y +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y +CONFIG_HAVE_COPY_THREAD_TLS=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y +CONFIG_64BIT_TIME=y +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y +CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y +CONFIG_STRICT_KERNEL_RWX=y +CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y +CONFIG_STRICT_MODULE_RWX=y +CONFIG_ARCH_HAS_PHYS_TO_DMA=y +CONFIG_REFCOUNT_FULL=y +# CONFIG_LOCK_EVENT_COUNTS is not set + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +# end of GCOV-based kernel profiling + +CONFIG_PLUGIN_HOSTCC="" +CONFIG_HAVE_GCC_PLUGINS=y +# end of General architecture-dependent options + +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 is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_BLOCK=y +CONFIG_BLK_SCSI_REQUEST=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_DEV_ZONED is not set +# CONFIG_BLK_CMDLINE_PARSER is not set +# CONFIG_BLK_WBT is not set +CONFIG_BLK_DEBUG_FS=y +# CONFIG_BLK_SED_OPAL is not set +# CONFIG_BLK_INLINE_ENCRYPTION is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_EFI_PARTITION=y +# end of Partition Types + +CONFIG_BLK_PM=y + +# +# IO Schedulers +# +CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=y +# CONFIG_IOSCHED_BFQ is not set +# end of IO Schedulers + +CONFIG_ASN1=y +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_GKI_HIDDEN_DRM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_REGMAP_CONFIGS is not set +# CONFIG_GKI_HIDDEN_CRYPTO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SND_SOC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MMC_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPIO_CONFIGS is not set +# CONFIG_GKI_HIDDEN_QCOM_CONFIGS is not set +# CONFIG_GKI_HIDDEN_MEDIA_CONFIGS is not set +# CONFIG_GKI_HIDDEN_VIRTUAL_CONFIGS is not set +# CONFIG_GKI_LEGACY_WEXT_ALLCONFIG is not set +# CONFIG_GKI_HIDDEN_USB_CONFIGS is not set +# CONFIG_GKI_HIDDEN_SOC_BUS_CONFIGS is not set +# CONFIG_GKI_HIDDEN_RPMSG_CONFIGS is not set +# CONFIG_GKI_HIDDEN_GPU_CONFIGS is not set +# CONFIG_GKI_HIDDEN_IRQ_CONFIGS is not set +# CONFIG_GKI_HIDDEN_HYPERVISOR_CONFIGS is not set +# CONFIG_GKI_HACKS_TO_FIX is not set +# CONFIG_GKI_OPT_FEATURES is not set +CONFIG_FREEZER=y + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_ELF_FDPIC is not set +CONFIG_ELFCORE=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +CONFIG_ARCH_HAS_BINFMT_FLAT=y +# CONFIG_BINFMT_FLAT is not set +CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y +# end of Executable file formats + +# +# Memory Management options +# +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_MEMORY_ISOLATION=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_CONTIG_ALLOC=y +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +# CONFIG_CLEANCACHE 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 is not set +CONFIG_GENERIC_EARLY_IOREMAP=y +# CONFIG_IDLE_PAGE_TRACKING is not set +# CONFIG_PERCPU_STATS is not set +# CONFIG_GUP_BENCHMARK is not set +# end of Memory Management options + +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +CONFIG_UNIX_SCM=y +# CONFIG_UNIX_DIAG is not set +# CONFIG_TLS is not set +# CONFIG_XFRM_USER is not set +# CONFIG_NET_KEY 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=y +CONFIG_IP_ROUTE_VERBOSE=y +# CONFIG_IP_PNP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE_DEMUX is not set +CONFIG_IP_MROUTE_COMMON=y +CONFIG_IP_MROUTE=y +CONFIG_IP_MROUTE_MULTIPLE_TABLES=y +# CONFIG_IP_PIMSM_V1 is not set +# CONFIG_IP_PIMSM_V2 is not set +CONFIG_SYN_COOKIES=y +# CONFIG_NET_IPVTI is not set +# CONFIG_NET_FOU is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_DIAG is not set +CONFIG_TCP_CONG_ADVANCED=y +# CONFIG_TCP_CONG_BIC is not set +CONFIG_TCP_CONG_CUBIC=y +# CONFIG_TCP_CONG_WESTWOOD is not set +# CONFIG_TCP_CONG_HTCP is not set +# CONFIG_TCP_CONG_HSTCP is not set +# CONFIG_TCP_CONG_HYBLA is not set +# CONFIG_TCP_CONG_VEGAS is not set +# CONFIG_TCP_CONG_NV is not set +# CONFIG_TCP_CONG_SCALABLE is not set +# CONFIG_TCP_CONG_LP is not set +# CONFIG_TCP_CONG_VENO is not set +# CONFIG_TCP_CONG_YEAH is not set +# CONFIG_TCP_CONG_ILLINOIS is not set +# CONFIG_TCP_CONG_DCTCP is not set +# CONFIG_TCP_CONG_CDG is not set +# CONFIG_TCP_CONG_BBR is not set +CONFIG_DEFAULT_CUBIC=y +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +# CONFIG_NETFILTER is not set +# CONFIG_BPFILTER 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_BRIDGE=y +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_BRIDGE_VLAN_FILTERING is not set +CONFIG_HAVE_NET_DSA=y +# CONFIG_NET_DSA is not set +CONFIG_VLAN_8021Q=y +# CONFIG_VLAN_8021Q_GVRP is not set +# CONFIG_VLAN_8021Q_MVRP is not set +# CONFIG_DECNET is not set +CONFIG_LLC=y +# CONFIG_LLC2 is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET 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 is not set +# 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_CBS is not set +# CONFIG_NET_SCH_ETF is not set +# CONFIG_NET_SCH_TAPRIO 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_SKBPRIO 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=y +# CONFIG_NET_SCH_CAKE 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_PLUG is not set +# CONFIG_NET_SCH_DEFAULT is not set + +# +# Classification +# +# 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 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_BPF is not set +# CONFIG_NET_CLS_FLOWER is not set +# CONFIG_NET_CLS_MATCHALL is not set +# CONFIG_NET_EMATCH is not set +# CONFIG_NET_CLS_ACT is not set +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +# CONFIG_DNS_RESOLVER is not set +# 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_NET_NSH is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_NET_NCSI is not set +CONFIG_RPS=y +CONFIG_RFS_ACCEL=y +CONFIG_XPS=y +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +# CONFIG_BPF_JIT is not set +CONFIG_NET_FLOW_LIMIT=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# end of Network testing +# end of Networking options + +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +CONFIG_BT=y +# CONFIG_BT_BREDR is not set +# CONFIG_BT_LE is not set +# CONFIG_BT_LEDS is not set +# CONFIG_BT_SELFTEST is not set +CONFIG_BT_DEBUGFS=y + +# +# Bluetooth device drivers +# +# CONFIG_BT_HCIBTUSB is not set +# CONFIG_BT_HCIBTSDIO is not set +# CONFIG_BT_HCIUART is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBPA10X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BCM_BT_LPM is not set +# CONFIG_RTL_BT_LPM is not set +# CONFIG_XR_BT_LPM is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_MTKSDIO is not set +# end of Bluetooth device drivers + +# CONFIG_AF_RXRPC is not set +# CONFIG_AF_KCM is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_CFG80211=y +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_CERTIFICATION_ONUS is not set +CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y +CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +# CONFIG_CFG80211_WEXT is not set +# CONFIG_MAC80211 is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +# CONFIG_PSAMPLE is not set +# CONFIG_NET_IFE is not set +# CONFIG_LWTUNNEL is not set +# CONFIG_FAILOVER is not set +CONFIG_HAVE_EBPF_JIT=y + +# +# Device Drivers +# +CONFIG_HAVE_PCI=y +# CONFIG_PCI is not set +# CONFIG_PCCARD is not set + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_DEVTMPFS=y +# CONFIG_DEVTMPFS_MOUNT is not set +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# +CONFIG_FW_LOADER=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER is not set +# CONFIG_FW_LOADER_COMPRESS is not set +CONFIG_FW_CACHE=y +# end of Firmware loader + +CONFIG_ALLOW_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_DMA_FENCE_TRACE is not set +CONFIG_GENERIC_ARCH_TOPOLOGY=y +# end of Generic Driver Options + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_MOXTET is not set +# CONFIG_SIMPLE_PM_BUS is not set +# CONFIG_SUN50I_DE2_BUS is not set +# CONFIG_SUNXI_RSB is not set +CONFIG_SUNXI_MBUS=y +# CONFIG_SUNXI_NSI is not set +# CONFIG_VEXPRESS_CONFIG is not set +# end of Bus devices + +# CONFIG_CONNECTOR is not set +# CONFIG_GNSS is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=y +# CONFIG_MTD_AR7_PARTS is not set +# CONFIG_MTD_SUNXI_PARTS is not set + +# +# Partition parsers +# +# end of Partition parsers + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +# CONFIG_MTD_CHAR is not set +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_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_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# end of RAM/ROM/Flash chip drivers + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set +# end of Mapping drivers for chip access + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_MCHP23K256 is not set +# CONFIG_MTD_SST25L is not set +# 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 +# end of Self-contained MTD device drivers + +# CONFIG_MTD_ONENAND is not set +# CONFIG_MTD_RAW_NAND is not set +# CONFIG_MTD_SPI_NAND is not set + +# +# sunxi-nand +# +CONFIG_AW_MTD_SPINAND=y +# CONFIG_AW_MTD_RAWNAND is not set +CONFIG_AW_SPINAND_PHYSICAL_LAYER=y +CONFIG_AW_SPINAND_SECURE_STORAGE=y +# CONFIG_AW_SPINAND_PSTORE_MTD_PART is not set +# CONFIG_AW_SPINAND_ENABLE_PHY_CRC16 is not set +CONFIG_AW_SPINAND_SIMULATE_MULTIPLANE=y +# end of sunxi-nand + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +# end of LPDDR & LPDDR2 PCM memory drivers + +# CONFIG_MTD_SPI_NOR is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_LIMIT=40 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +CONFIG_MTD_UBI_BLOCK=y +# CONFIG_MTD_HYPERBUS 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_KOBJ=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_RESERVED_MEM=y +# CONFIG_OF_OVERLAY is not set +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_SUNXI_NAND is not set +# CONFIG_BLK_DEV_LOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# NVME Support +# +# CONFIG_NVME_FC is not set +# CONFIG_NVME_TARGET is not set +# end of NVME Support + +# +# Misc devices +# +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES 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_LATTICE_ECP3_CONFIG is not set +# CONFIG_SRAM is not set +# CONFIG_XILINX_SDFEC is not set +# CONFIG_PVPANIC is not set +# CONFIG_HISI_HIKEY_USB is not set +# 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 is not set +# CONFIG_EEPROM_93XX46 is not set +# CONFIG_EEPROM_IDT_89HPESX is not set +# CONFIG_EEPROM_EE1004 is not set +# end of EEPROM support + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# end of Texas Instruments shared transport line discipline + +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC & related support +# + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# VOP Bus Driver +# +# CONFIG_VOP_BUS is not set + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# + +# +# VOP Driver +# +# end of Intel MIC & related support + +# CONFIG_ECHO is not set +# CONFIG_MISC_RTSX_USB is not set +CONFIG_SUNXI_RFKILL=y +CONFIG_SUNXI_ADDR_MGT=y +# CONFIG_SUNXI_BOOTEVENT is not set + +# +# sunxi Gorilla ESL platform +# +# CONFIG_SUNXI_GORILLA is not set +# end of sunxi Gorilla ESL platform +# end of Misc devices + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST 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 is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# end of SCSI Transports + +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# end of SCSI device support + +# CONFIG_ATA is not set +# CONFIG_MD is not set +# CONFIG_TARGET_CORE is not set +CONFIG_NETDEVICES=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +# CONFIG_DUMMY is not set +# CONFIG_EQUALIZER is not set +# CONFIG_NET_TEAM is not set +# CONFIG_MACVLAN is not set +# CONFIG_IPVLAN is not set +# CONFIG_VXLAN is not set +# CONFIG_GENEVE is not set +# CONFIG_GTP is not set +# CONFIG_MACSEC is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_TUN is not set +# CONFIG_TUN_VNET_CROSS_LE is not set +# CONFIG_VETH is not set +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# end of Distributed Switch Architecture drivers + +# CONFIG_ETHERNET is not set +# CONFIG_MDIO_DEVICE is not set +# CONFIG_PHYLIB is not set +# CONFIG_MICREL_KS8995MA is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +# CONFIG_USB_NET_DRIVERS is not set +# CONFIG_WLAN is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_NETDEVSIM is not set +# CONFIG_NET_FAILOVER is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_LEDS is not set +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_SENSORINIT is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ADP5588 is not set +# CONFIG_KEYBOARD_ADP5589 is not set +# CONFIG_KEYBOARD_ATKBD is not set +# CONFIG_KEYBOARD_QT1050 is not set +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 is not set +# CONFIG_KEYBOARD_DLINK_DIR685 is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYBOARD_GPIO_POLLED is not set +# CONFIG_KEYBOARD_TCA6416 is not set +# CONFIG_KEYBOARD_TCA8418 is not set +# CONFIG_KEYBOARD_MATRIX is not set +# CONFIG_KEYBOARD_LM8323 is not set +# CONFIG_KEYBOARD_LM8333 is not set +# CONFIG_KEYBOARD_MAX7359 is not set +# CONFIG_KEYBOARD_MCS is not set +# CONFIG_KEYBOARD_MPR121 is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_SAMSUNG is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_SUN4I_LRADC is not set +# CONFIG_KEYBOARD_OMAP4 is not set +# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_KEYBOARD_SUNXI=y +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN 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_MSM_VIBRATOR is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_GP2A is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_DECODER is not set +# CONFIG_INPUT_GPIO_VIBRA is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# 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 is not set +# CONFIG_INPUT_PCF8574 is not set +# CONFIG_INPUT_PWM_BEEPER is not set +# CONFIG_INPUT_PWM_VIBRA 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_DRV260X_HAPTICS is not set +# CONFIG_INPUT_DRV2665_HAPTICS is not set +# CONFIG_INPUT_DRV2667_HAPTICS is not set +# CONFIG_HALL_SENSOR is not set +# CONFIG_RMI4_CORE is not set +CONFIG_INPUT_SENSOR=y +# CONFIG_SENSORS_SC7A20 is not set +# CONFIG_SENSORS_MIR3DA is not set +# CONFIG_STK3X1X is not set +CONFIG_SUNXI_TPADC=y +CONFIG_SUNXI_GPADC=y + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set +# end of Hardware I/O ports +# end of Input device support + +# +# 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 is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +# CONFIG_NULL_TTY is not set +CONFIG_LDISC_AUTOLOAD=y +# CONFIG_DEVMEM is not set +# CONFIG_DEVKMEM is not set + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set +# CONFIG_SERIAL_SAMSUNG is not set +# 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_SIFIVE is not set +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_BCM63XX 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_FSL_LPUART is not set +# CONFIG_SERIAL_FSL_LINFLEXUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_SPRD is not set +CONFIG_SERIAL_SUNXI=y +# CONFIG_SERIAL_SUNXI_DMA is not set +CONFIG_SERIAL_SUNXI_CONSOLE=y +# CONFIG_SERIAL_SUNXI_EARLYCON is not set +# end of Serial drivers + +# CONFIG_SERIAL_DEV_BUS is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_IPMB_DEVICE_INTERFACE is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set +# end of Character devices + +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set +CONFIG_DUMP_REG=y +CONFIG_DUMP_REG_MISC=y +# CONFIG_SUNXI_G2D is not set +# CONFIG_SUNXI_DI is not set +CONFIG_SUNXI_STANDBY_DEBUG=y +CONFIG_SUNXI_SYS_INFO=y +# CONFIG_SUNXI_QA_TEST is not set +CONFIG_SUNXI_SMC=y + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +# CONFIG_I2C_COMPAT is not set +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_MUX is not set +# CONFIG_I2C_HELPER_AUTO is not set +# CONFIG_I2C_SMBUS is not set + +# +# I2C Algorithms +# +# CONFIG_I2C_ALGOBIT is not set +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set +# end of I2C Algorithms + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_MV64XXX is not set +# CONFIG_I2C_OCORES is not set +CONFIG_I2C_SUNXI=y +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_RK3X is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# 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 +# +# end of I2C Hardware Bus support + +# CONFIG_I2C_STUB is not set +CONFIG_I2C_SLAVE=y +# CONFIG_I2C_SLAVE_EEPROM is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# end of I2C support + +# CONFIG_I3C is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y +# CONFIG_SPI_MEM is not set + +# +# 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 is not set +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_NXP_FLEXSPI 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_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_SIFIVE is not set +# CONFIG_SPI_SUN4I is not set +# CONFIG_SPI_SUN6I is not set +# CONFIG_SPI_MXIC is not set +CONFIG_SPI_SUNXI=y +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_LOOPBACK_TEST is not set +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPI_SLAVE is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set +# CONFIG_PPS is not set + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +# end of PTP clock support + +CONFIG_PINCTRL=y +CONFIG_PINMUX=y +CONFIG_PINCONF=y +CONFIG_GENERIC_PINCONF=y +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_MCP23S08 is not set +# CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_SX150X is not set +# CONFIG_PINCTRL_STMFX is not set +# CONFIG_PINCTRL_OCELOT is not set + +# +# Allwinner SOC PINCTRL DRIVER +# +CONFIG_PINCTRL_SUNXI=y +# CONFIG_PINCTRL_SUNXI_DEBUGFS is not set +# CONFIG_PINCTRL_SUNXI_TEST is not set +# CONFIG_PINCTRL_SUN8IW15P1 is not set +# CONFIG_PINCTRL_SUN8IW15P1_R is not set +CONFIG_PINCTRL_SUN8IW20=y +# CONFIG_PINCTRL_SUN50IW9 is not set +# CONFIG_PINCTRL_SUN50IW9_R is not set +# CONFIG_PINCTRL_SUN50IW10P1 is not set +# CONFIG_PINCTRL_SUN50IW10P1_R is not set +# CONFIG_PINCTRL_SUN50IW12 is not set +# CONFIG_PINCTRL_SUN50IW12_R is not set +# CONFIG_PINCTRL_SUN4I_A10 is not set +# CONFIG_PINCTRL_SUN5I is not set +# CONFIG_PINCTRL_SUN6I_A31 is not set +# CONFIG_PINCTRL_SUN6I_A31_R is not set +# CONFIG_PINCTRL_SUN8I_A23 is not set +# CONFIG_PINCTRL_SUN8I_A33 is not set +# CONFIG_PINCTRL_SUN8I_A83T is not set +# CONFIG_PINCTRL_SUN8I_A83T_R is not set +# CONFIG_PINCTRL_SUN8I_A23_R is not set +# CONFIG_PINCTRL_SUN8I_H3 is not set +# CONFIG_PINCTRL_SUN8I_H3_R is not set +# CONFIG_PINCTRL_SUN8I_V3S is not set +# CONFIG_PINCTRL_SUN9I_A80 is not set +# CONFIG_PINCTRL_SUN9I_A80_R is not set +# CONFIG_PINCTRL_SUN50I_A64 is not set +# CONFIG_PINCTRL_SUN50I_A64_R is not set +# CONFIG_PINCTRL_SUN50I_A100 is not set +# CONFIG_PINCTRL_SUN50I_A100_R is not set +# CONFIG_PINCTRL_SUN50I_H5 is not set +# CONFIG_PINCTRL_SUN50I_H6 is not set +# CONFIG_PINCTRL_SUN50I_H6_R is not set +# end of Allwinner SOC PINCTRL DRIVER + +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_OF_GPIO=y +# CONFIG_DEBUG_GPIO is not set +# CONFIG_GPIO_SYSFS is not set + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_SUNXI is not set +# CONFIG_GPIO_CADENCE is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_FTGPIO010 is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_HLWD is not set +# CONFIG_GPIO_MB86S7X is not set +# CONFIG_GPIO_MPC8XXX is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_AMD_FCH is not set +# end of Memory mapped GPIO drivers + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_GW_PLD is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_TPIC2810 is not set +# end of I2C GPIO expanders + +# +# MFD GPIO expanders +# +# CONFIG_HTC_EGPIO is not set +# end of MFD GPIO expanders + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX3191X is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_PISOSR is not set +# CONFIG_GPIO_XRA1403 is not set +# end of SPI GPIO expanders + +# +# USB GPIO expanders +# +# end of USB GPIO expanders + +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_W1 is not set +# CONFIG_POWER_AVS is not set +# CONFIG_POWER_RESET is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_POWER_SUPPLY_HWMON=y +# CONFIG_PDA_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_CHARGER_ADP5061 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_CHARGER_SBS is not set +# CONFIG_BATTERY_BQ27XXX is not set +# CONFIG_BATTERY_MAX17040 is not set +# CONFIG_BATTERY_MAX17042 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_LT3651 is not set +# CONFIG_CHARGER_DETECTOR_MAX14656 is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24257 is not set +# CONFIG_CHARGER_BQ24735 is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_CHARGER_RT9455 is not set +# CONFIG_CHARGER_UCS1002 is not set +CONFIG_HWMON=y +# 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_AS370 is not set +# CONFIG_SENSORS_ASC7621 is not set +# CONFIG_SENSORS_ASPEED is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS620 is not set +# CONFIG_SENSORS_DS1621 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_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_MAX6621 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_TC654 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_NPCM7XX is not set +# CONFIG_SENSORS_OCC_P8_I2C 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_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_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set +# CONFIG_SENSORS_STTS751 is not set +# CONFIG_SENSORS_SMM665 is not set +# CONFIG_SENSORS_ADC128D818 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_TMP108 is not set +# CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83773G 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_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y +CONFIG_WATCHDOG_OPEN_TIMEOUT=0 +# CONFIG_WATCHDOG_SYSFS is not set + +# +# Watchdog Pretimeout Governors +# +# CONFIG_WATCHDOG_PRETIMEOUT_GOV 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_CADENCE_WATCHDOG is not set +# CONFIG_FTWDT010_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +CONFIG_SUNXI_WATCHDOG=y +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_SUN4I_GPADC 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_BD9571MWV is not set +# CONFIG_MFD_AXP2101_I2C is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_MADERA is not set +# CONFIG_MFD_ASIC3 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_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_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 is not set +# CONFIG_MFD_MAX77650 is not set +# 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_CPCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8XXX is not set +# CONFIG_MFD_RT5033 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_SUN6I_PRCM=y +# CONFIG_MFD_SYSCON is not set +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_TI_LMU 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_TI_LP87565 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_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_TQMX86 is not set +# CONFIG_MFD_LOCHNAGAR 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_ROHM_BD718XX is not set +# CONFIG_MFD_ROHM_BD70528 is not set +# CONFIG_MFD_STPMIC1 is not set +# CONFIG_MFD_STMFX is not set +# end of Multifunction device drivers + +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_88PG86X is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +CONFIG_SUNXI_REGULATOR_PWM=y +# CONFIG_REGULATOR_DA9210 is not set +# CONFIG_REGULATOR_DA9211 is not set +# CONFIG_REGULATOR_FAN53555 is not set +# CONFIG_REGULATOR_GPIO is not set +# 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_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MCP16502 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 is not set +# CONFIG_REGULATOR_SLG51000 is not set +# CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X 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 is not set +# CONFIG_REGULATOR_TPS6524X is not set +# CONFIG_REGULATOR_VCTRL is not set +# CONFIG_RC_CORE is not set +CONFIG_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +# CONFIG_MEDIA_CAMERA_SUPPORT is not set +# 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_CEC_SUPPORT is not set +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set + +# +# Media drivers +# +# CONFIG_MEDIA_USB_SUPPORT is not set + +# +# Supported MMC/SDIO adapters +# +# CONFIG_CYPRESS_FIRMWARE is not set +CONFIG_VIDEOBUF2_CORE=y + +# +# Media ancillary drivers (tuners, sensors, i2c, spi, frontends) +# + +# +# Media SPI Adapters +# +# end of Media SPI Adapters + +# +# Customise DVB Frontends +# + +# +# Tools to develop new frontends +# +# end of Customise DVB Frontends + +CONFIG_VIDEO_ENCODER_DECODER_SUNXI=y +# CONFIG_VIDEO_GOOGLE_DECODER_SUNXI is not set + +# +# Graphics support +# + +# +# GPU support for sunxi +# +CONFIG_SUNXI_GPU_TYPE="None" +# end of GPU support for sunxi + +# CONFIG_IMX_IPUV3_CORE is not set +# CONFIG_DRM is not set +# CONFIG_DRM_DP_CEC is not set + +# +# ARM devices +# +# end of ARM devices + +# +# ACP (Audio CoProcessor) Configuration +# +# end of ACP (Audio CoProcessor) Configuration + +# +# Frame buffer Devices +# +# CONFIG_FB is not set +# end of Frame buffer Devices + +# +# Backlight & LCD device support +# +# CONFIG_LCD_CLASS_DEVICE is not set +# CONFIG_BACKLIGHT_CLASS_DEVICE is not set +# end of Backlight & LCD device support + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# end of Console display driver support +# end of Graphics support + +# CONFIG_SOUND is not set + +# +# HID support +# +CONFIG_HID=y +# CONFIG_HID_BATTERY_STRENGTH is not set +# CONFIG_HIDRAW is not set +# CONFIG_UHID is not set +CONFIG_HID_GENERIC=y + +# +# Special HID drivers +# +# CONFIG_HID_A4TECH is not set +# CONFIG_HID_ACCUTOUCH is not set +# CONFIG_HID_ACRUX is not set +# CONFIG_HID_APPLE is not set +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_ASUS is not set +# CONFIG_HID_AUREAL is not set +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_BETOP_FF is not set +# CONFIG_HID_BIGBEN_FF is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set +# CONFIG_HID_CORSAIR is not set +# CONFIG_HID_COUGAR is not set +# CONFIG_HID_MACALLY is not set +# CONFIG_HID_CMEDIA is not set +# CONFIG_HID_CREATIVE_SB0540 is not set +# CONFIG_HID_CYPRESS is not set +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELAN is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +# CONFIG_HID_EZKEY is not set +# CONFIG_HID_GEMBIRD is not set +# CONFIG_HID_GFRM is not set +# CONFIG_HID_HOLTEK is not set +# CONFIG_HID_GT683R is not set +# CONFIG_HID_KEYTOUCH is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_UCLOGIC is not set +# CONFIG_HID_WALTOP is not set +# CONFIG_HID_VIEWSONIC is not set +# CONFIG_HID_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_ITE is not set +# CONFIG_HID_JABRA is not set +# CONFIG_HID_TWINHAN is not set +# CONFIG_HID_KENSINGTON is not set +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LED is not set +# CONFIG_HID_LENOVO is not set +# CONFIG_HID_LOGITECH is not set +# CONFIG_HID_MAGICMOUSE is not set +# CONFIG_HID_MALTRON is not set +# CONFIG_HID_MAYFLASH is not set +# CONFIG_HID_REDRAGON is not set +# CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MONTEREY is not set +# CONFIG_HID_MULTITOUCH is not set +# CONFIG_HID_NINTENDO is not set +# CONFIG_HID_NTI is not set +# CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set +# CONFIG_HID_PANTHERLORD is not set +# CONFIG_HID_PENMOUNT is not set +# CONFIG_HID_PETALYNX is not set +# CONFIG_HID_PICOLCD is not set +# CONFIG_HID_PLANTRONICS is not set +# CONFIG_HID_PRIMAX is not set +# CONFIG_HID_RETRODE is not set +# CONFIG_HID_ROCCAT is not set +# CONFIG_HID_SAITEK is not set +# CONFIG_HID_SAMSUNG is not set +# CONFIG_HID_SONY is not set +# CONFIG_HID_SPEEDLINK is not set +# CONFIG_HID_STEAM is not set +# CONFIG_HID_STEELSERIES is not set +# CONFIG_HID_SUNPLUS is not set +# CONFIG_HID_RMI is not set +# CONFIG_HID_GREENASIA is not set +# CONFIG_HID_SMARTJOYPLUS is not set +# CONFIG_HID_TIVO is not set +# CONFIG_HID_TOPSEED is not set +# CONFIG_HID_THINGM is not set +# CONFIG_HID_THRUSTMASTER is not set +# CONFIG_HID_UDRAW_PS3 is not set +# CONFIG_HID_WACOM is not set +# CONFIG_HID_WIIMOTE is not set +# CONFIG_HID_XINMO is not set +# CONFIG_HID_ZEROPLUS is not set +# CONFIG_HID_ZYDACRON is not set +# CONFIG_HID_SENSOR_HUB is not set +# CONFIG_HID_ALPS is not set +# end of Special HID drivers + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +# CONFIG_USB_HIDDEV is not set +# end of USB HID support + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +# end of I2C HID support +# end of HID support + +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +# CONFIG_USB_LED_TRIG is not set +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_USB_CONN_GPIO is not set +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set +CONFIG_USB_AUTOSUSPEND_DELAY=2 +# CONFIG_USB_MON is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_XHCI_HCD is not set +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +# CONFIG_USB_EHCI_FSL is not set +CONFIG_USB_EHCI_HCD_SUNXI=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_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_SUNXI=y +# CONFIG_USB_OHCI_HCD_PLATFORM is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set +CONFIG_USB_SUNXI_HCD=y +CONFIG_USB_SUNXI_HCI=y +CONFIG_USB_SUNXI_EHCI0=y +CONFIG_USB_SUNXI_EHCI1=y +CONFIG_USB_SUNXI_OHCI0=y +CONFIG_USB_SUNXI_OHCI1=y + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# 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=y +CONFIG_REALTEK_AUTOPM=y +CONFIG_USB_STORAGE_DATAFAB=y +CONFIG_USB_STORAGE_FREECOM=y +CONFIG_USB_STORAGE_ISD200=y +CONFIG_USB_STORAGE_USBAT=y +CONFIG_USB_STORAGE_SDDR09=y +CONFIG_USB_STORAGE_SDDR55=y +CONFIG_USB_STORAGE_JUMPSHOT=y +CONFIG_USB_STORAGE_ALAUDA=y +CONFIG_USB_STORAGE_ONETOUCH=y +CONFIG_USB_STORAGE_KARMA=y +CONFIG_USB_STORAGE_CYPRESS_ATACB=y +CONFIG_USB_STORAGE_ENE_UB6250=y +CONFIG_USB_UAS=y + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_CDNS3 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 is not set +# CONFIG_USB_ISP1760 is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +CONFIG_USB_IDMOUSE=y +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +# CONFIG_USB_EZUSB_FX2 is not set +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set + +# +# USB Physical Layer drivers +# +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_ULPI is not set +# end of USB Physical Layer drivers + +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 +# CONFIG_U_SERIAL_CONSOLE is not set + +# +# USB Peripheral Controller +# +# CONFIG_USB_FUSB300 is not set +# 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_SNP_UDC_PLAT is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_NET2272 is not set +CONFIG_USB_SUNXI_UDC0=y +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_DUMMY_HCD is not set +# end of USB Peripheral Controller + +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_U_SERIAL=y +CONFIG_USB_U_ETHER=y +CONFIG_USB_F_SERIAL=y +CONFIG_USB_F_RNDIS=y +CONFIG_USB_F_MASS_STORAGE=y +CONFIG_USB_F_FS=y +CONFIG_USB_F_HID=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_UEVENT=y +CONFIG_USB_CONFIGFS_SERIAL=y +# CONFIG_USB_CONFIGFS_ACM is not set +# CONFIG_USB_CONFIGFS_OBEX is not set +# CONFIG_USB_CONFIGFS_NCM is not set +# CONFIG_USB_CONFIGFS_ECM is not set +# 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_ACC is not set +CONFIG_USB_CONFIGFS_F_HID=y +# CONFIG_USB_CONFIGFS_F_PRINTER is not set +CONFIG_USB_SUNXI_USB=y +CONFIG_USB_SUNXI_USB_MANAGER=y +CONFIG_USB_SUNXI_USB_DEBUG=y +CONFIG_USB_SUNXI_USB_ADB=y +# CONFIG_TYPEC is not set +CONFIG_USB_ROLE_SWITCH=y +CONFIG_MMC=y +CONFIG_PWRSEQ_EMMC=y +CONFIG_PWRSEQ_SIMPLE=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_DW is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_USDHI6ROL0 is not set +CONFIG_MMC_SUNXI=y +CONFIG_MMC_SUNXI_V4P1X=y +CONFIG_MMC_SUNXI_V4P00X=y +CONFIG_MMC_SUNXI_V4P10X=y +CONFIG_MMC_SUNXI_V4P5X=y +CONFIG_MMC_SUNXI_V5P3X=y +# CONFIG_MMC_CQHCI is not set +# CONFIG_MMC_HSQ is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +# CONFIG_LEDS_CLASS_FLASH is not set +# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set + +# +# LED drivers +# +# CONFIG_LEDS_AN30259A is not set +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_CR0014114 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3532 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_LM3692X is not set +# CONFIG_LEDS_PCA9532 is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP3952 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_PWM is not set +# CONFIG_LEDS_REGULATOR is not set +# CONFIG_LEDS_BD2802 is not set +# 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_MLXREG is not set +# CONFIG_LEDS_USER is not set +# CONFIG_LEDS_SPI_BYTE is not set +CONFIG_LEDS_SUNXI=y +# CONFIG_MATRIX_LEDS_SUNXI is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +# CONFIG_LEDS_TRIGGER_ONESHOT 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_ACTIVITY is not set +# CONFIG_LEDS_TRIGGER_GPIO is not set +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y + +# +# 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_NETDEV=y +# CONFIG_LEDS_TRIGGER_PATTERN is not set +# CONFIG_LEDS_TRIGGER_AUDIO is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +CONFIG_RTC_LIB=y +CONFIG_RTC_MC146818_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_NVMEM=y + +# +# 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_ABEOZ9 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_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_ISL12026 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_PCF85363 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_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3028 is not set +# CONFIG_RTC_DRV_RV8803 is not set +# CONFIG_RTC_DRV_SD3078 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_RX6110 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_CMOS=y +# 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_SUN6I is not set +CONFIG_RTC_DRV_SUNXI=y +# CONFIG_SUNXI_REBOOT_FLAG is not set +# CONFIG_SUNXI_RTC_BOOTCOUNT is not set +# CONFIG_SUNXI_RTC_POWEROFF_ALARM is not set +# CONFIG_RTC_DRV_CADENCE is not set +# CONFIG_RTC_DRV_FTRTC010 is not set +# CONFIG_RTC_DRV_SNVS is not set +# CONFIG_RTC_DRV_R7301 is not set + +# +# HID Sensor RTC drivers +# +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_ALTERA_MSGDMA is not set +CONFIG_DMA_SUN6I=y +# CONFIG_DW_AXI_DMAC is not set +# CONFIG_FSL_EDMA is not set +# CONFIG_FSL_QDMA is not set +# CONFIG_INTEL_IDMA64 is not set +# CONFIG_NBPFAXI_DMA is not set +# CONFIG_QCOM_HIDMA_MGMT is not set +# CONFIG_QCOM_HIDMA is not set +# CONFIG_DW_DMAC is not set + +# +# DMA Clients +# +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_DMATEST is not set + +# +# DMABUF options +# +# CONFIG_SYNC_FILE is not set +# CONFIG_UDMABUF is not set +# CONFIG_DMABUF_SELFTESTS is not set +# end of DMABUF options + +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set +# CONFIG_VIRTIO_MENU is not set + +# +# Microsoft Hyper-V guest support +# +# end of Microsoft Hyper-V guest support + +# CONFIG_GREYBUS is not set +CONFIG_STAGING=y +# CONFIG_COMEDI is not set + +# +# Speakup console speech +# +# CONFIG_SPEAKUP is not set +# end of Speakup console speech + +# CONFIG_STAGING_MEDIA is not set + +# +# Android +# +# CONFIG_ASHMEM is not set +CONFIG_ION=y +CONFIG_ION_SYSTEM_HEAP=y +CONFIG_ION_CMA_HEAP=y +# end of Android + +# CONFIG_STAGING_BOARD is not set +# CONFIG_LTE_GDM724X is not set +# CONFIG_GS_FPGABOOT is not set +# CONFIG_UNISYSSPAR is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD 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_PI433 is not set + +# +# Gasket devices +# +# end of Gasket devices + +# CONFIG_XIL_AXIS_FIFO is not set +# CONFIG_FIELDBUS_DEV is not set +# CONFIG_USB_WUSB_CBAF is not set +# CONFIG_UWB is not set +CONFIG_EXFAT_FS=y +CONFIG_EXFAT_DONT_MOUNT_VFAT=y +CONFIG_EXFAT_DISCARD=y +# CONFIG_EXFAT_DELAYED_SYNC is not set +# CONFIG_EXFAT_KERNEL_DEBUG is not set +# CONFIG_EXFAT_DEBUG_MSG is not set +CONFIG_EXFAT_DEFAULT_CODEPAGE=437 +CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" +# CONFIG_GOLDFISH is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_CHROME_PLATFORMS is not set +# CONFIG_MELLANOX_PLATFORM is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_DEBUG is not set +# CONFIG_CLK_HSDK is not set +# CONFIG_COMMON_CLK_MAX9485 is not set +# CONFIG_COMMON_CLK_SI5341 is not set +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI544 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_PWM is not set +# CONFIG_COMMON_CLK_VC5 is not set +# CONFIG_COMMON_CLK_FIXED_MMIO is not set +CONFIG_CLK_SUNXI=y +# CONFIG_CLK_SUNXI_CLOCKS is not set +# CONFIG_CLK_SUNXI_DDR is not set +# CONFIG_CLK_SUNXI_PRCM_SUN6I is not set +# CONFIG_CLK_SUNXI_PRCM_SUN8I is not set +# CONFIG_CLK_SUNXI_PRCM_SUN9I is not set +CONFIG_SUNXI_CCU=y +CONFIG_SUN8IW20_CCU=y +CONFIG_SUN8IW20_R_CCU=y +# CONFIG_SUN8I_A83T_CCU is not set +# CONFIG_SUN8I_DE2_CCU is not set +# CONFIG_SUN8I_R_CCU is not set +CONFIG_SUNXI_RTC_CCU=y +# end of Common Clock Framework + +# CONFIG_HWSPINLOCK is not set +# CONFIG_HWSPINLOCK_SUNXI is not set + +# +# Clock Source drivers +# +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_SUN4I_TIMER=y +# CONFIG_SUN50I_TIMER is not set +# CONFIG_SUNXI_TIMER is not set +# CONFIG_SUNXI_TIMER_TEST is not set +CONFIG_ARM_ARCH_TIMER=y +# CONFIG_ARM_ARCH_TIMER_EVTSTREAM is not set +# CONFIG_MTK_TIMER is not set +# end of Clock Source drivers + +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_IOVA=y +CONFIG_IOMMU_API=y +# CONFIG_IOMMU_LIMIT_IOVA_ALIGNMENT is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set +# end of Generic IOMMU Pagetable Support + +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set +CONFIG_OF_IOMMU=y +CONFIG_IOMMU_DMA=y +# CONFIG_ARM_SMMU is not set +CONFIG_SUNXI_IOMMU=y +CONFIG_SUNXI_IOMMU_DEBUG=y +CONFIG_SUNXI_IOMMU_TESTS=y + +# +# Remoteproc drivers +# +# CONFIG_REMOTEPROC is not set +# end of Remoteproc drivers + +# +# Rpmsg drivers +# +# CONFIG_RPMSG_SUNXI_AMP is not set +# CONFIG_RPMSG_VIRTIO is not set +# end of Rpmsg drivers + +# CONFIG_SOUNDWIRE is not set + +# +# SOC (System On Chip) specific Drivers +# + +# +# Amlogic SoC drivers +# +# end of Amlogic SoC drivers + +# +# Aspeed SoC drivers +# +# end of Aspeed SoC drivers + +# +# Broadcom SoC drivers +# +# CONFIG_SOC_BRCMSTB is not set +# end of Broadcom SoC drivers + +# +# NXP/Freescale QorIQ SoC drivers +# +# end of NXP/Freescale QorIQ SoC drivers + +# +# i.MX SoC drivers +# +# end of i.MX SoC drivers + +# +# Qualcomm SoC drivers +# +# end of Qualcomm SoC drivers + +# CONFIG_SUNXI_SRAM is not set +CONFIG_SUNXI_SID=y +# CONFIG_SUNXI_ARISC is not set +# CONFIG_SUNXI_RISCV_SUSPEND is not set +# CONFIG_PM_TRACE_NVMEM is not set +# CONFIG_SOC_TI is not set + +# +# Xilinx SoC drivers +# +# CONFIG_XILINX_VCU is not set +# end of Xilinx SoC drivers +# end of SOC (System On Chip) specific Drivers + +# CONFIG_PM_DEVFREQ is not set +# CONFIG_EXTCON is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO 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_SUN4I is not set +CONFIG_PWM_SUNXI_GROUP=y + +# +# IRQ chip support +# +CONFIG_IRQCHIP=y +CONFIG_ARM_GIC=y +CONFIG_ARM_GIC_MAX_NR=1 +# CONFIG_AL_FIC is not set +# CONFIG_SUNXI_WAKEUPGEN is not set +# CONFIG_SUN8I_NMI is not set +# end of IRQ chip support + +# CONFIG_IPACK_BUS is not set +CONFIG_ARCH_HAS_RESET_CONTROLLER=y +CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_SIMPLE=y +CONFIG_RESET_SUNXI=y +# CONFIG_RESET_TI_SYSCON is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_SUN6I_MIPI_DPHY is not set +# CONFIG_PHY_SUN9I_USB is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_PHY_CADENCE_DP is not set +# CONFIG_PHY_CADENCE_DPHY is not set +# CONFIG_PHY_CADENCE_SIERRA is not set +# CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_MIXEL_MIPI_DPHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PHY_MAPPHONE_MDM6600 is not set +# end of PHY Subsystem + +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set +# CONFIG_RAS is not set + +# +# Android +# +CONFIG_ANDROID=y +# CONFIG_ANDROID_BINDER_IPC is not set +# end of Android + +# CONFIG_DAX is not set +CONFIG_NVMEM=y +CONFIG_NVMEM_SYSFS=y +# CONFIG_NVMEM_SUNXI_SID is not set + +# +# HW tracing support +# +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set +# end of HW tracing support + +# CONFIG_FPGA is not set +# CONFIG_FSI is not set +# CONFIG_TEE is not set +CONFIG_PM_OPP=y +# CONFIG_SIOX is not set +# CONFIG_SLIMBUS is not set +# CONFIG_INTERCONNECT is not set +# CONFIG_COUNTER is not set +# end of Device Drivers + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_VALIDATE_FS_PARSER is not set +CONFIG_FS_IOMAP=y +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY 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 is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS 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_FS_VERITY is not set +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_FUSE_FS is not set +CONFIG_OVERLAY_FS=y +# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y +# CONFIG_OVERLAY_FS_INDEX is not set +# CONFIG_OVERLAY_FS_XINO_AUTO is not set +# CONFIG_OVERLAY_FS_METACOPY is not set +# CONFIG_INCREMENTAL_FS is not set + +# +# Caches +# +# CONFIG_FSCACHE is not set +# end of Caches + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set +# end of CD-ROM/DVD Filesystems + +# +# 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 +# end of DOS/FAT/NT Filesystems + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +# CONFIG_PROC_PAGE_MONITOR is not set +# CONFIG_PROC_CHILDREN is not set +CONFIG_KERNFS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_MEMFD_CREATE=y +CONFIG_CONFIGFS_FS=y +# end of Pseudo filesystems + +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_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=y +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +CONFIG_UBIFS_FS_ZSTD=y +# CONFIG_UBIFS_ATIME_SUPPORT is not set +CONFIG_UBIFS_FS_XATTR=y +CONFIG_UBIFS_FS_SECURITY=y +# CONFIG_UBIFS_FS_AUTHENTICATION is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +# CONFIG_SQUASHFS_FILE_CACHE is not set +CONFIG_SQUASHFS_FILE_DIRECT=y +# CONFIG_SQUASHFS_DECOMP_SINGLE is not set +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y +# CONFIG_SQUASHFS_XATTR is not set +# CONFIG_SQUASHFS_ZLIB is not set +# CONFIG_SQUASHFS_LZ4 is not set +# CONFIG_SQUASHFS_LZO is not set +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_ZSTD is not set +# 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 is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +# CONFIG_EROFS_FS is not set +# CONFIG_NETWORK_FILESYSTEMS 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 is not set +# 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_UNICODE is not set +# end of File systems + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_KEYS_REQUEST_CACHE is not set +# 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 is not set +# CONFIG_SECURITYFS is not set +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +# CONFIG_HARDENED_USERCOPY is not set +# CONFIG_FORTIFY_SOURCE is not set +# CONFIG_STATIC_USERMODEHELPER is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity" + +# +# Kernel hardening options +# + +# +# Memory initialization +# +CONFIG_INIT_STACK_NONE=y +# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set +# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# end of Memory initialization +# end of Kernel hardening options +# end of Security options + +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=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_ACOMP2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +# CONFIG_CRYPTO_USER is not set +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +# CONFIG_CRYPTO_NULL is not set +CONFIG_CRYPTO_NULL2=y +# CONFIG_CRYPTO_PCRYPT is not set +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_AUTHENC is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Public-key cryptography +# +CONFIG_CRYPTO_RSA=y +# CONFIG_CRYPTO_DH is not set +CONFIG_CRYPTO_ECC=y +CONFIG_CRYPTO_ECDH=y +# CONFIG_CRYPTO_ECRDSA is not set + +# +# Authenticated Encryption with Associated Data +# +# CONFIG_CRYPTO_CCM is not set +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +# CONFIG_CRYPTO_AEGIS128 is not set +# CONFIG_CRYPTO_SEQIV is not set +# CONFIG_CRYPTO_ECHAINIV is not set + +# +# Block modes +# +# CONFIG_CRYPTO_CBC is not set +# CONFIG_CRYPTO_CFB is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_OFB is not set +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_KEYWRAP is not set +# CONFIG_CRYPTO_ADIANTUM is not set +# CONFIG_CRYPTO_ESSIV 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_XXHASH is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +# CONFIG_CRYPTO_GHASH is not set +# CONFIG_CRYPTO_POLY1305 is not set +# CONFIG_CRYPTO_MD4 is not set +# CONFIG_CRYPTO_MD5 is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# 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 is not set +CONFIG_CRYPTO_LIB_SHA256=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_SHA3 is not set +# CONFIG_CRYPTO_SM3 is not set +# CONFIG_CRYPTO_STREEBOG is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_AES_TI is not set +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_LIB_ARC4=y +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 is not set +# 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_SM4 is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set +CONFIG_CRYPTO_ZSTD=y + +# +# Random Number Generation +# +# CONFIG_CRYPTO_ANSI_CPRNG is not set +CONFIG_CRYPTO_DRBG_MENU=y +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH 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_HASH_INFO=y +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_SUN4I_SS is not set +# CONFIG_CRYPTO_DEV_SUNXI is not set +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set +# CONFIG_CRYPTO_DEV_CCREE is not set +CONFIG_ASYMMETRIC_KEY_TYPE=y +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y +CONFIG_X509_CERTIFICATE_PARSER=y +# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set +CONFIG_PKCS7_MESSAGE_PARSER=y +# CONFIG_PKCS7_TEST_KEY is not set +# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set + +# +# Certificates for signature checking +# +CONFIG_SYSTEM_TRUSTED_KEYRING=y +CONFIG_SYSTEM_TRUSTED_KEYS="" +# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set +# CONFIG_SECONDARY_TRUSTED_KEYRING is not set +# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set +# end of Certificates for signature checking + +# +# Library routines +# +# CONFIG_PACKING is not set +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +# CONFIG_CORDIC is not set +CONFIG_RATIONAL=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +# CONFIG_CRC_CCITT is not set +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +# CONFIG_CRC32_SLICEBY8 is not set +# CONFIG_CRC32_SLICEBY4 is not set +CONFIG_CRC32_SARWATE=y +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC64 is not set +# CONFIG_CRC4 is not set +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +CONFIG_XXHASH=y +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y +CONFIG_XZ_DEC=y +# CONFIG_XZ_DEC_X86 is not set +# CONFIG_XZ_DEC_POWERPC is not set +# CONFIG_XZ_DEC_IA64 is not set +# CONFIG_XZ_DEC_ARM is not set +# CONFIG_XZ_DEC_ARMTHUMB is not set +# CONFIG_XZ_DEC_SPARC is not set +# CONFIG_XZ_DEC_TEST is not set +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_DMA_DECLARE_COHERENT=y +CONFIG_ARCH_HAS_SETUP_DMA_OPS=y +CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y +CONFIG_DMA_REMAP=y +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=16 +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 +# CONFIG_DMA_API_DEBUG is not set +CONFIG_SGL_ALLOC=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_CLZ_TAB=y +# CONFIG_IRQ_POLL is not set +CONFIG_MPILIB=y +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_SG_POOL=y +CONFIG_SBITMAP=y +# CONFIG_STRING_SELFTEST is not set +# end of Library routines + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +CONFIG_PRINTK_TIME=y +# CONFIG_PRINTK_CALLER is not set +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 +CONFIG_CONSOLE_LOGLEVEL_QUIET=4 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_DYNAMIC_DEBUG is not set +# CONFIG_DYNAMIC_DEBUG_CORE is not set +# end of printk and dmesg options + +# +# 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_DEBUG_INFO_BTF is not set +# CONFIG_GDB_SCRIPTS is not set +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=2048 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_INSTALL is not set +CONFIG_OPTIMIZE_INLINING=y +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# end of Compile-time checks and compiler options + +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_MAGIC_SYSRQ_SERIAL=y +CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_MISC=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_PAGE_OWNER is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_DEBUG_RODATA_TEST is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# 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_ARCH_HAS_DEBUG_VIRTUAL=y +# CONFIG_DEBUG_VIRTUAL is not set +# CONFIG_DEBUG_MEMORY_INIT is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_KASAN_STACK=1 +# end of Memory Debugging + +CONFIG_ARCH_HAS_KCOV=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +# CONFIG_KCOV is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +# CONFIG_SOFTLOCKUP_DETECTOR is not set +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_WQ_WATCHDOG is not set +# end of Debug Lockups and Hangs + +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SCHED_DEBUG is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +CONFIG_DEBUG_PREEMPT=y + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +CONFIG_LOCK_DEBUGGING_SUPPORT=y +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_RWSEMS is not set +# CONFIG_DEBUG_LOCK_ALLOC 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_WW_MUTEX_SELFTEST is not set +# end of Lock Debugging (spinlocks, mutexes, etc...) + +CONFIG_STACKTRACE=y +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PLIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_RCU_PERF_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=20 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# end of RCU Debugging + +# 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 is not set +# CONFIG_LATENCYTOP is not set +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACING_SUPPORT=y +# CONFIG_FTRACE is not set +CONFIG_RUNTIME_TESTING_MENU=y +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_TEST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_REED_SOLOMON_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +CONFIG_ATOMIC64_SELFTEST=y +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_STRSCPY is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_BITMAP is not set +# CONFIG_TEST_BITFIELD is not set +# CONFIG_TEST_UUID is not set +# CONFIG_TEST_XARRAY is not set +# CONFIG_TEST_OVERFLOW is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_HASH is not set +# CONFIG_TEST_IDA is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_VMALLOC is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_BLACKHOLE_DEV is not set +# CONFIG_FIND_BIT_BENCHMARK is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_SYSCTL is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_TEST_KMOD is not set +# CONFIG_TEST_MEMCAT_P is not set +# CONFIG_TEST_STACKINIT is not set +# CONFIG_TEST_MEMINIT is not set +# CONFIG_MEMTEST is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_UBSAN is not set +CONFIG_UBSAN_ALIGNMENT=y +CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y +# CONFIG_ARM_PTDUMP_DEBUGFS is not set +# CONFIG_DEBUG_WX is not set +# CONFIG_UNWINDER_FRAME_POINTER is not set +CONFIG_UNWINDER_ARM=y +CONFIG_ARM_UNWIND=y +# CONFIG_DEBUG_USER is not set +CONFIG_DEBUG_LL=y +CONFIG_DEBUG_SUNXI_UART0=y +# CONFIG_DEBUG_SUNXI_UART1 is not set +# CONFIG_DEBUG_SUNXI_UART2 is not set +# CONFIG_DEBUG_ICEDCC is not set +# CONFIG_DEBUG_SEMIHOSTING is not set +# CONFIG_DEBUG_LL_UART_8250 is not set +# CONFIG_DEBUG_LL_UART_PL01X is not set +CONFIG_DEBUG_LL_INCLUDE="debug/8250.S" +CONFIG_DEBUG_UART_8250=y +CONFIG_DEBUG_UART_PHYS=0x02500000 +CONFIG_DEBUG_UART_VIRT=0xf2500000 +CONFIG_DEBUG_UART_8250_SHIFT=2 +# CONFIG_DEBUG_UART_8250_WORD is not set +# CONFIG_DEBUG_UART_8250_PALMCHIP is not set +# CONFIG_DEBUG_UART_8250_FLOW_CONTROL is not set +# CONFIG_DEBUG_UNCOMPRESS is not set +CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" +CONFIG_EARLY_PRINTK=y +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_SUNXI_DUMP is not set +# CONFIG_CORESIGHT is not set +# end of Kernel hacking diff --git a/device/config/chips/t113/configs/evb1/sys_config.fex b/device/config/chips/t113/configs/evb1/sys_config.fex new file mode 100755 index 0000000..c099a9b --- /dev/null +++ b/device/config/chips/t113/configs/evb1/sys_config.fex @@ -0,0 +1,222 @@ +;sunxi platform application +;--------------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大å°å†™ï¼Œç”¨æˆ·å¯ä»¥ä¿®æ”¹"="åŽé¢çš„数值,但是ä¸è¦ä¿®æ”¹å‰é¢çš„字符串 +; æè¿°gpioçš„å½¢å¼ï¼šPort:端å£+组内åºå·<功能分é…><内部电阻状æ€><驱动能力><输出电平状æ€> +;--------------------------------------------------------------------------------------------------------- + +;--------------------------------------------------------------------------------- +; version:版本1.00 +; machine:æ¿çº§æ–‡ä»¶å +;--------------------------------------------------------------------------------- +[product] +version = "100" +machine = "evb1" + + +;---------------------------------------------------------------------------------- +;debug_mode = 0-close printf, > 0-open printf +;---------------------------------------------------------------------------------- +[platform] +eraseflag = 1 +debug_mode = 0 +;---------------------------------------------------------------------------------- +; system configuration +; ? +;dcdc1_vol ---set dcdc1 voltage,mV,1600-3400,100mV/step +;dcdc2_vol ---set dcdc2 voltage,mV,600-1540,20mV/step +;dcdc3_vol ---set dcdc3 voltage,mV,600-1860,20mV/step +;dcdc4_vol ---set dcdc4 voltage,mV,600-1540,20mV/step +;dcdc5_vol ---set dcdc5 voltage,mV,1000-2550,50mV/step +;aldo2_vol ---set aldo2 voltage,mV,700-3300,100mV/step +;aldo3_vol ---set aldo3 voltage,mV,700-3300,100mV/step +;---------------------------------------------------------------------------------- +;storage_type = boot medium, 0-nand, 1-sd, 2-emmc, 3-nor, 4-emmc3, 5-spinand -1(defualt)auto scan +;---------------------------------------------------------------------------------- +[target] +storage_type = 5 +burn_key = 0 +;---------------------------------------------------------------------------------- +;spinor configuration +;---------------------------------------------------------------------------------- +[spinor_para] + +;read_mode =4 +;flash_size =16 +;delay_cycle =1 +;frequency =100000000 + +spi_sclk = port:PC02<2><0><2> +spi_cs = port:PC03<2><0><2> +spi0_mosi = port:PC04<2><0><2> +spi0_miso = port:PC05<2><0><2> +spi0_wp = port:PC06<2><0><2> +spi0_hold = port:PC07<2><0><2> + +;---------------------------------------------------------------------------------- +;card_ctrl -å¡é‡äº§ç›¸å…³çš„控制器选择0 | +;card_high_speed -é€Ÿåº¦æ¨¡å¼ 0为低速,1为高速| +;card_line -4:4线å¡ï¼Œ8:8线å¡| +;sdc_d1 -sdcå¡æ•°æ®1线信å·çš„GPIOé…ç½® | +;sdc_d0 -sdcå¡æ•°æ®0线信å·çš„GPIOé…ç½® | +;sdc_clk -sdcå¡æ—¶é’Ÿä¿¡å·çš„GPIOé…ç½® | +;sdc_cmd -sdc命令信å·çš„GPIOé…ç½®| +;sdc_d3 -sdcå¡æ•°æ®3线信å·çš„GPIOé…ç½® | +;sdc_d2 -sdcå¡æ•°æ®2线信å·çš„GPIOé…ç½® | +;---------------------------------------------------------------------------------- +[card0_boot_para] +card_ctrl = 0 +card_high_speed = 1 +card_line = 4 +sdc_d1 = port:PF0<2><1><2> +sdc_d0 = port:PF1<2><1><2> +sdc_clk = port:PF2<2><1><2> +sdc_cmd = port:PF3<2><1><2> +sdc_d3 = port:PF4<2><1><2> +sdc_d2 = port:PF5<2><1><2> +bus-width = 4 +cap-sd-highspeed = +cap-wait-while-busy = +no-sdio = +no-mmc = +sunxi-power-save-mode = + + +;---------------------------------------------------------------------------------- +;card_ctrl -å¡å¯åŠ¨æŽ§åˆ¶å™¨é€‰æ‹©2 +;card_high_speed -é€Ÿåº¦æ¨¡å¼ 0为低速,1为高速 +;card_line -4:4线å¡ï¼Œ8:8çº¿å¡ +;sdc_ds -dsä¿¡å·çš„GPIOé…ç½® +;sdc_d1 -sdcå¡æ•°æ®1线信å·çš„GPIOé…ç½® +;sdc_d0 -sdcå¡æ•°æ®0线信å·çš„GPIOé…ç½® +;sdc_clk -sdcå¡æ—¶é’Ÿä¿¡å·çš„GPIOé…ç½® +;sdc_cmd -sdc命令信å·çš„GPIOé…ç½® +;sdc_d3 -sdcå¡æ•°æ®3线信å·çš„GPIOé…ç½® +;sdc_d2 -sdcå¡æ•°æ®2线信å·çš„GPIOé…ç½® +;sdc_d4 -sdcå¡æ•°æ®4线信å·çš„GPIOé…ç½® +;sdc_d5 -sdcå¡æ•°æ®5线信å·çš„GPIOé…ç½® +;sdc_d6 -sdcå¡æ•°æ®6线信å·çš„GPIOé…ç½® +;sdc_d7 -sdcå¡æ•°æ®7线信å·çš„GPIOé…ç½® +;sdc_emmc_rst -emmc_rstä¿¡å·çš„GPIOé…ç½® +;sdc_ex_dly_used -ex_dly_usedä¿¡å· +;sdc_io_1v8 -sdc_io_1v8高速emmc模å¼é…ç½® +;---------------------------------------------------------------------------------- +[card2_boot_para] +card_ctrl = 2 +card_high_speed = 1 +card_line = 4 +sdc_clk = port:PC02<3><1><3> +sdc_cmd = port:PC03<3><1><3> +sdc_d0 = port:PC06<3><1><3> +sdc_d1 = port:PC05<3><1><3> +sdc_d2 = port:PC04<3><1><3> +sdc_d3 = port:PC07<3><1><3> +sdc_tm4_hs200_max_freq = 150 +sdc_tm4_hs400_max_freq = 100 +sdc_ex_dly_used = 2 +;sdc_io_1v8 = 1 +sdc_tm4_win_th = 8 +sdc_dis_host_caps = 0x180 +;sdc_erase = 2 +;sdc_boot0_sup_1v8 = 1 +;sdc_type = "tm4" + + + +;---------------------------------------------------------------------------------- +;jtag_enable |JTAG使能 | +;jtag_ms |测试模å¼é€‰æ‹©è¾“å…¥(TMS) çš„GPIOé…ç½®| +;jtag_ck |测试时钟输入(CLK) çš„GPIOé…ç½® | +;jtag_do |测试数æ®è¾“出(TDO) çš„GPIOé…ç½® | +;jtag_di |测试数æ®è¾“出(TDI) çš„GPIOé…ç½® | +;---------------------------------------------------------------------------------- +[jtag_para] +jtag_enable = 1 +jtag_ms = port:PH9<3> +jtag_ck = port:PH10<3> +jtag_do = port:PH11<3> +jtag_di = port:PH12<3> + +;***************************************************************************** +; +;dram select configuration +; +;select_mode : dram模å¼é€‰æ‹©, 0:ä¸è¿›è¡Œè‡ªåŠ¨è¯†åˆ« +; 1:gpio识别模å¼(dram_para, dram_para1-15, å…±16组有效) +; 2:gpadc识别模å¼(dram_para, dram_para1-7, å…±8组有效) +; 3:1个IO+gpadc识别模å¼(dram_para, dram_para1-15, å…±16组有效)。其中IOé…置优先级按select_gpio0>select_gpio1>select_gpio2>select_gpio3 +;gpadc_channel : 选择gpadcé€šé“ æœ‰æ•ˆå€¼(0-3) +;select_gpio1-4 : 选择gpio pin +;***************************************************************************** + + +[dram_select_para] +select_mode = 0 +gpadc_channel = 1 +select_gpio0 = port:PB7<0><1> +select_gpio1 = port:PB4<0><1> +select_gpio2 = port:PH1<0><1> +select_gpio3 = port:PH0<0><1> + + +;***************************************************************************** +;sdram configuration +; +;***************************************************************************** +[dram_para] +dram_clk = 936 +dram_type = 3 +dram_zq = 0x7b7bfb +dram_odt_en = 0x00 +dram_para1 = 0x000010d2 +dram_para2 = 0x0000 +dram_mr0 = 0x1c70 +dram_mr1 = 0x042 +dram_mr2 = 0x18 +dram_mr3 = 0x0 +dram_tpr0 = 0x004A2195 +dram_tpr1 = 0x02423190 +dram_tpr2 = 0x0008B061 +dram_tpr3 = 0xB4787896 +dram_tpr4 = 0x0 +dram_tpr5 = 0x48484848 +dram_tpr6 = 0x00000048 +dram_tpr7 = 0x1620121e +dram_tpr8 = 0x0 +dram_tpr9 = 0x0 +dram_tpr10 = 0x0 +dram_tpr11 = 0x00340000 +dram_tpr12 = 0x00000046 +dram_tpr13 = 0x34000100 + +;---------------------------------------------------------------------------------- +;twi configuration +;twi_used 0:关闭, 1:打开 +;twi_port 0:twi0, 1:twi1, 2:twi2, 3:twi3, 4:twi4, 5:twi5, 6:r_twi0, 7:r_twi1 +;twi_scl boot0 sclçš„GPIOé…ç½® +;twi_sda boot0 sdaçš„GPIOé…ç½® +;---------------------------------------------------------------------------------- +[twi_para] +twi_used = 0 +twi_port = 2 +twi_scl = port:PC0<3><1> +twi_sda = port:PC1<3><1> + +;---------------------------------------------------------------------------------- +;uart configuration +;uart_debug_port |Boot串å£æŽ§åˆ¶å™¨ç¼–å· | +;uart_debug_tx |Boot串å£å‘é€çš„GPIOé…ç½®| +;uart_debug_rx |Boot串å£æŽ¥æ”¶çš„GPIOé…ç½® | +;---------------------------------------------------------------------------------- +[uart_para] +uart_debug_port = 0 +uart_debug_tx = port:PF02<3><1> +uart_debug_rx = port:PF04<3><1> + + +;---------------------------------------------------------------------------------- +;dram_region_mbytes :设置drm大å°ä»¥bytes为å•ä½ +;---------------------------------------------------------------------------------- +[secure] +dram_region_mbytes = 80 +drm_region_mbytes = 0 +drm_region_start_mbytes = 0 diff --git a/device/config/chips/t113/configs/evb1/sys_partition.fex b/device/config/chips/t113/configs/evb1/sys_partition.fex new file mode 100755 index 0000000..83b7524 --- /dev/null +++ b/device/config/chips/t113/configs/evb1/sys_partition.fex @@ -0,0 +1,95 @@ +;--------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大å°å†™ï¼Œç”¨æˆ·å¯ä»¥ä¿®æ”¹"="åŽé¢çš„数值,但是ä¸è¦ä¿®æ”¹å‰é¢çš„字符串 +;--------------------------------------------------------------------------------------------------- + + +;--------------------------------------------------------------------------------------------------- +; 固件下载å‚æ•°é…ç½® +;--------------------------------------------------------------------------------------------------- +;*************************************************************************************************** +; mbr的大å°, 以Kbyte为å•ä½ +;*************************************************************************************************** +[mbr] +size = 16384 + +;*************************************************************************************************** +; 分区é…ç½® +; +; +; partition 定义范例: +; [partition] ; //表示是一个分区 +; name = USERFS2 ; //分区å称 +; size = 16384 ; //åˆ†åŒºå¤§å° å•ä½: 扇区.分区表示个数最多2^31 * 512 = 2T +; downloadfile = "123.fex" ; //下载文件的路径和å称,å¯ä»¥ä½¿ç”¨ç›¸å¯¹è·¯å¾„,相对是指相对于image.cfg文件所在分区。也å¯ä»¥ä½¿ç”¨ç»å¯¹è·¯å¾„ +; keydata = 1 ; //ç§æœ‰æ•°æ®åˆ†åŒºï¼Œé‡æ–°é‡äº§æ•°æ®å°†ä¸ä¸¢å¤± +; encrypt = 1 ; //采用加密方å¼çƒ§å½•ï¼Œå°†æ供数æ®åŠ å¯†ï¼Œä½†æŸå¤±çƒ§å½•é€Ÿåº¦ +; user_type = ? ; //ç§æœ‰ç”¨æ³• +; verify = 1 ; //è¦æ±‚é‡äº§å®ŒæˆåŽæ ¡éªŒæ˜¯å¦æ­£ç¡® +; +; 注:1ã€name唯一, ä¸å…许åŒå +; 2ã€name最大12个字符 +; 3ã€size = 0, 将创建一个无大å°çš„空分区 +; 4ã€align to logical block size(504 sectors), leb size = 2*(1 nand phy block size - 1 phy page size) +;*************************************************************************************************** +[partition_start] + +[partition] + name = boot-resource + size = 504 + downloadfile = "boot-resource.fex" + user_type = 0x8000 + + +[partition] + name = env + size = 504 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = env-redund + size = 504 + downloadfile = "env.fex" + user_type = 0x8000 + +[partition] + name = boot + size = 7680 + downloadfile = "boot.fex" + user_type = 0x8000 + +[partition] + name = rootfs + size = 61440 + downloadfile = "rootfs.fex" + user_type = 0x8000 + +;[partition] +; name = dsp0 +; size = 2048 +; downloadfile = "dsp0.fex" +; user_type = 0x8000 + +;[partition] +; name = recovery +; size = 16128 +; ;downloadfile = "recovery.fex" +; user_type = 0x8000 + +[partition] + name = private + size = 10240 + user_type = 0x8000 + +[partition] + name = rootfs_data + size = 10240 + user_type = 0x8000 + +[partition] + name = UDISK + name = rootfs_data + size = 10240 + user_type = 0x8000 + + diff --git a/device/config/chips/t113/configs/evb1/uboot-board.dts b/device/config/chips/t113/configs/evb1/uboot-board.dts new file mode 100755 index 0000000..4d249f3 --- /dev/null +++ b/device/config/chips/t113/configs/evb1/uboot-board.dts @@ -0,0 +1,395 @@ +/* + * Allwinner Technology CO., Ltd. sun8iw20p1 soc board. + * + * soc board support. + */ + +&platform { + eraseflag = <1>; + next_work = <3>; + debug_mode = <1>; +}; + +&target { + boot_clock = <1008>; /*CPU boot frequency, Unit: MHz*/ + storage_type = <0xffffffff>; /*boot medium, 0-nand, 1-card0, 2-card2, -1(defualt)auto scan*/ + burn_key = <1>; /*1:support burn key; 0:not support burn key*/ + dragonboard_test = <0>; /*1:support card boot dragonboard; 0:not support card boot dragonboard*/ +}; + + +&charger0 { + pmu_safe_vol = <3500>; +}; + + +&twi6 { + clock-frequency = <200000>; + pinctrl-0 = <&s_twi0_pins_a>; + no_suspend = <1>; + twi_drv_used = <1>; + status = "okay"; +}; + +&rgb18_pins_a { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \ + "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \ + "PD20", "PD21"; + allwinner,pname = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \ + "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \ + "PD20", "PD21"; + allwinner,function = "rgb18"; + allwinner,muxsel = <2>; + allwinner,drive = <3>; + allwinner,pull = <0>; +}; + +&rgb18_pins_b { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \ + "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \ + "PD20", "PD21"; + allwinner,pname = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \ + "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \ + "PD20", "PD21"; + allwinner,function = "rgb18_suspend"; + allwinner,muxsel = <7>; + allwinner,drive = <1>; + allwinner,pull = <0>; +}; + +&pwm7_pin_a { + pins = "PD22"; + function = "pwm7"; + muxsel = <5>; + drive-strength = <10>; + bias-pull-up; +}; + +&pwm7_pin_b { + pins = "PD22"; + muxsel = <0>; + function = "gpio_in"; +}; + +&pwm7 { + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&pwm7_pin_a>; + pinctrl-1 = <&pwm7_pin_b>; + status = "okay"; +}; + +&sdc0_pins_a { + allwinner,pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + allwinner,function = "sdc0"; + allwinner,muxsel = <2>; + allwinner,drive = <3>; + allwinner,pull = <1>; + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "sdc0"; + drive-strength = <30>; + bias-pull-up; + power-source = <3300>; +}; + +&sdc0_pins_b { + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "sdc0"; + drive-strength = <30>; + bias-pull-up; + power-source = <1800>; +}; + +&sdc0_pins_c { + pins = "PF0", "PF1", "PF2", + "PF3", "PF4", "PF5"; + function = "gpio_in"; + +}; + + +&sdc2_pins_a { + allwinner,pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + allwinner,function = "sdc2"; + allwinner,muxsel = <3>; + allwinner,drive = <3>; + allwinner,pull = <1>; + pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + function = "sdc2"; + drive-strength = <30>; + bias-pull-up; + +}; + +&sdc2_pins_b { + pins = "PC2", "PC3", "PC4", + "PC5", "PC6", "PC7"; + function = "gpio_in"; +}; + + + +&nand0_pins_a { + allwinner,pins = "PC0", "PC1", "PC2", "PC5", + "PC8", "PC9", "PC10", "PC11", + "PC12", "PC13", "PC14", "PC15", + "PC16"; + allwinner,pname= "nand0_we", "nand0_ale","nand0_cle", "nand0_nre", + "nand0_d0", "nand0_d1", "nand0_d2", "nand0_d3", + "nand0_d4", "nand0_d5", "nand0_d6", "nand0_d7", + "nand0_ndqs"; + allwinner,function = "nand0"; + allwinner,muxsel = <2>; + allwinner,drive = <1>; + allwinner,pull = <0>; +}; + +&nand0_pins_b { + allwinner,pins = "PC4", "PC6", "PC03", "PC07"; + allwinner,pname= "nand0_ce0", "nand0_rb0", "nand0_ce1", "nand0_rb1"; + allwinner,function = "nand0"; + allwinner,muxsel = <2>; + allwinner,drive = <1>; + allwinner,pull = <1>; /* only RB&CE should be pulled up */ +}; + +&nand0_pins_c { + allwinner,pins = "PC0", "PC1", "PC2", "PC3", + "PC4", "PC5", "PC6", "PC7", + "PC8", "PC9", "PC10", "PC11", + "PC12", "PC13", "PC14", "PC15", + "PC16"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <7>; + allwinner,drive = <1>; + allwinner,pull = <0>; +}; + +&spi0_pins_a { + allwinner,pins = "PC2", "PC4", "PC5", + "PC7", "PC6"; + allwinner,pname = "spi0_sclk", "spi0_mosi", + "spi0_miso", "spi0_hold", "spi0_wp"; + allwinner,function = "spi0"; + allwinner,muxsel = <2>; + allwinner,drive = <1>; + allwinner,pull = <0>; +}; + +&spi0_pins_b { + allwinner,pins = "PC3"; + allwinner,pname = "spi0_cs0"; + allwinner,function = "spi0"; + allwinner,muxsel = <2>; + allwinner,drive = <1>; + allwinner,pull = <1>; // only CS should be pulled up +}; + +&spi0_pins_c { + allwinner,pins = "PC2", "PC3", "PC4", "PC5", + "PC6", "PC7"; + allwinner,function = "gpio_in"; + allwinner,muxsel = <0>; + allwinner,drive = <1>; + allwinner,pull = <0>; +}; + +&dsi4lane_pins_a { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9"; + allwinner,pname = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9"; + allwinner,function = "dsi4lane"; + allwinner,muxsel = <4>; + allwinner,drive = <3>; + allwinner,pull = <0>; +}; + +&dsi4lane_pins_b { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9"; + allwinner,pname = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9"; + allwinner,function = "dsi4lane_suspend"; + allwinner,muxsel = <7>; + allwinner,drive = <1>; + allwinner,pull = <0>; +}; + + +&card0_boot_para { /* Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value */ + /* reg = <0x0 0x2 0x0 0x0>; [> Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value <] */ + device_type = "card0_boot_para"; + card_ctrl = <0x0>; + card_high_speed = <0x1>; + card_line = <0x4>; + pinctrl-0 = <&sdc0_pins_a>; +}; + +&card2_boot_para { /* Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value */ + /* reg = <0x0 0x3 0x0 0x0>; [> Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value <] */ + device_type = "card2_boot_para"; + card_ctrl = <0x2>; + card_high_speed = <0x1>; + card_line = <0x4>; + pinctrl-0 = <&sdc2_pins_a>; + sdc_ex_dly_used = <0x2>; + sdc_io_1v8 = <0x1>; + sdc_tm4_win_th = <0x08>; + sdc_tm4_hs200_max_freq = <150>; + sdc_tm4_hs400_max_freq = <100>; + sdc_type = "tm4"; +}; +&gpio_bias { /* Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value */ + device_type = "gpio_bias"; + pc_bias = <1800>; +}; + +&nand0 { + compatible = "allwinner,sun8iw20-nand"; + device_type = "nand0"; + //reg = <0x0 0x04011000 0x0 0x1000>;/* nand0 */ + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&nand0_pins_a &nand0_pins_b>; + pinctrl-1 = <&nand0_pins_c>; + nand0_regulator1 = "vcc-nand"; + nand0_regulator2 = "none"; + nand0_cache_level = <0x55aaaa55>; + nand0_flush_cache_num = <0x55aaaa55>; + nand0_capacity_level = <0x55aaaa55>; + nand0_id_number_ctl = <0x55aaaa55>; + nand0_print_level = <0x55aaaa55>; + nand0_p0 = <0x55aaaa55>; + nand0_p1 = <0x55aaaa55>; + nand0_p2 = <0x55aaaa55>; + nand0_p3 = <0x55aaaa55>; + chip_code = "sun8iw20"; + status = "disabled"; +}; + +&spi0 { + clock-frequency = <100000000>; + pinctrl-0 = <&spi0_pins_a &spi0_pins_b>; + pinctrl-1 = <&spi0_pins_c>; + pinctrl-names = "default", "sleep"; + /*spi-supply = <®_dcdc1>;*/ + spi_slave_mode = <0>; + spi0_cs_number = <1>; + spi0_cs_bitmap = <1>; + status = "okay"; + + spi-nand@0 { + compatible = "spi-nand"; + spi-max-frequency=<0x5F5E100>; + reg = <0x0>; + spi-rx-bus-width=<0x01>; + spi-tx-bus-width=<0x01>; + status="okay"; + }; +}; + +&disp { + disp_init_enable = <1>; + disp_mode = <0>; + + screen0_output_type = <1>; + screen0_output_mode = <4>; + + screen1_output_type = <1>; + screen1_output_mode = <4>; + + screen1_output_format = <0>; + screen1_output_bits = <0>; + screen1_output_eotf = <4>; + screen1_output_cs = <257>; + screen1_output_range = <2>; + screen1_output_scan = <0>; + screen1_output_aspect_ratio = <8>; + + dev0_output_type = <1>; + dev0_output_mode = <4>; + dev0_screen_id = <0>; + dev0_do_hpd = <0>; + + dev1_output_type = <4>; + dev1_output_mode = <10>; + dev1_screen_id = <1>; + dev1_do_hpd = <1>; + + def_output_dev = <0>; + + fb0_format = <0>; + fb0_width = <800>; + fb0_height = <480>; + + fb1_format = <0>; + fb1_width = <0>; + fb1_height = <0>; + chn_cfg_mode = <1>; + + disp_para_zone = <1>; + /*VCC-LCD*/ +/* dc1sw-supply = <®_dc1sw>;*/ + /*VCC-DSI*/ +/* eldo3-supply = <®_eldo3>;*/ + /*VCC-PD*/ +/* dcdc1-supply = <®_dcdc1>;*/ +}; +&lcd0 { + lcd_used = <1>; + + lcd_driver_name = "default_lcd"; + lcd_if = <0>; + lcd_x = <800>; + lcd_y = <480>; + lcd_width = <150>; + lcd_height = <94>; + lcd_dclk_freq = <48>; + + lcd_pwm_used = <1>; + lcd_pwm_ch = <7>; + lcd_pwm_freq = <10000>; + lcd_pwm_pol = <1>; + + lcd_hbp = <55>; + lcd_ht = <1240>; + lcd_hspw = <20>; + lcd_vbp = <35>; + lcd_vt = <650>; + lcd_vspw = <10>; + + lcd_lvds_if = <0>; + lcd_lvds_colordepth = <1>; + lcd_lvds_mode = <0>; + lcd_frm = <0>; + lcd_io_phase = <0x0000>; + lcd_gamma_en = <0>; + lcd_bright_curve_en = <0>; + lcd_cmap_en = <0>; + + deu_mode = <0>; + lcdgamma4iep = <22>; + smart_color = <90>; + pinctrl-0 = <&rgb18_pins_a>; + pinctrl-1 = <&rgb18_pins_b>; +}; + +&aliases { + nand0 = &nand0; + twi6 = &twi6; + pwm = &pwm; + pwm0 = &pwm0; + pwm1 = &pwm1; + pwm2 = &pwm2; + pwm3 = &pwm3; + pwm4 = &pwm4; + pwm5 = &pwm5; + pwm6 = &pwm6; + pwm7 = &pwm7; + disp = &disp; + lcd0 = &lcd0; + lcd1 = &lcd1; + eink = &eink; + spi0 = &spi0; + +}; diff --git a/device/config/chips/t113/tools/cardscript.fex b/device/config/chips/t113/tools/cardscript.fex new file mode 100755 index 0000000..881e574 --- /dev/null +++ b/device/config/chips/t113/tools/cardscript.fex @@ -0,0 +1,81 @@ +;------------------------------------------------------------------------------------------------------------- +; +; card_script.cfg +; +; 2009-11-20 11:11:23 +; +;------------------------------------------------------------------------------------------------------------- + +;------------------------------------------------------------------------------- +; 处ç†æ­¥éª¤ +;------------------------------------------------------------------------------- +[process] +version=300 +mode=product +;null éžæ³• 0 +;product å¡é‡äº§ 1 +;bromrun å¡å¯åŠ¨ 2 +;update å¡å‡çº§ 3 +;test å¡æµ‹è¯• 4 + +;null表示跳过 + +;start 起始扇区å·ç  +;sectors 扇区个数,0表示自动根æ®æ–‡ä»¶sizeè¿›è¡Œè‡ªåŠ¨å¤„ç† + +;------------------------------------------------------------------------------- +; +;------------------------------------------------------------------------------- +[boot_0_0] +main=12345678 +sub=1234567890BOOT_0 +start=16 +sectors=0 +type=1 +;0 raw +;1 1层 +;2 2层 +;x 其他 +param0=0 +param1=0 +param2=0 +param3=0 +param4=0 +param5=0 +param6=0 +param7=0 +commen=pheonix card_00 +commchs=烧写第一部分 + +;------------------------------------------------------------------------------- +; +;------------------------------------------------------------------------------- +[boot_1_0] +main=12345678 +sub=BOOTPKG-00000000 +start=32800 +sectors=0 +type=1 +;0 raw +;1 1层 +;2 2层 +;x 其他 +param0=0 +param1=0 +param2=0 +param3=0 +param4=0 +param5=0 +param6=0 +param7=0 +commen=pheonix card_10 +commchs=烧写第五部分 + + +[card_boot] +start = 40960 + + +;------------------------------------------------------------------------------------------------------------- +; ç»“æŸ +;------------------------------------------------------------------------------------------------------------- diff --git a/device/config/common/cert/default.awlic b/device/config/common/cert/default.awlic new file mode 100644 index 0000000..54fb0aa --- /dev/null +++ b/device/config/common/cert/default.awlic @@ -0,0 +1,56 @@ +**å…责声明** + +**全志**æ醒您,本文件夹所æ供的交付件仅供客户开å‘å‚考。在使用本文件夹所æ供的交付件å‰ï¼Œè¯·æ‚¨åŠ¡å¿…仔细阅读并é€å½»ç†è§£æœ¬å£°æ˜Žã€‚您å¯ä»¥é€‰æ‹©ä¸ä½¿ç”¨æœ¬æ–‡ä»¶å¤¹ä¸­çš„交付件,但如果您使用,您的使用行为将被视为对本声明全部内容的认å¯ã€‚ + +本文件夹所æ供的交付件按“现状â€æ供,ä¸é™„有任何ç§ç±»çš„陈述与ä¿è¯ï¼Œåœ¨æ³•å¾‹å…许的最大é™åº¦å†…,全志明确表示ä¸åšå‡ºä»»ä½•æ˜Žç¤ºã€é»˜ç¤ºå’Œå¼ºåˆ¶çš„æ‹…ä¿ï¼ŒåŒ…括但ä¸é™äºŽç‰¹å®šç”¨é€”ã€æ­£ç¡®æ€§ã€æ¡ä»¶æ€§ã€å®Œæ•´æ€§ã€é€‚销性ã€å“质或ä¸ä¾µçŠ¯æ‰€æœ‰æƒçš„æ‹…ä¿ã€‚ + +本交付件所æ供的数æ®åœ¨ä¸åŒçš„测试环境下å¯èƒ½å­˜åœ¨ä¸€å®šçš„å差,因其使用而导致的设计ã€å¼€å‘错误,或å¯èƒ½é­è‡´çš„æ„外ã€ç–忽ã€ä¾µæƒåŠå…¶é€ æˆçš„æŸå¤±ï¼ˆåŒ…括但ä¸é™äºŽç›´æŽ¥çš„ã€é—´æŽ¥çš„ã€åŽæžœæ€§çš„或附带性的æŸå¤±ï¼‰ï¼Œå…¶åŽæžœç”±æ‚¨è‡ªè¡Œæ‰¿æ‹…,全志对其概ä¸è´Ÿè´£ï¼Œäº¦ä¸æ‰¿æ‹…任何法律责任。 + +本交付件所包å«çš„版æƒå£°æ˜Žå’Œè½¯ä»¶è®¸å¯è¯ï¼Œä¸€æ—¦ä½¿ç”¨ï¼Œæ‚¨å¿…须严格éµå®ˆï¼Œå…¨å¿—事先书é¢åŒæ„,您ä¸å¾—删除ã€æŽ©ç›–或更改全志的版æƒå£°æ˜Žæˆ–其它æƒåˆ©å£°æ˜Žã€‚ + +本交付件未ç»å…¨å¿—事先书é¢è®¸å¯ä¸å¾—擅自更改ã€å¤åˆ¶ã€åå‘æ“作ã€é”€å”®ã€æ•£å‘或进行其他商业活动。如您需在本交付件上集æˆç¬¬ä¸‰æ–¹æŠ€æœ¯æ—¶ï¼ˆå¦‚Sonyã€DTSã€æœæ¯”ã€AVSã€MPEGLA等),请自行å‘æƒåˆ©äººèŽ·å–åˆæ³•æŽˆæƒã€‚å…¨ + +å¿—ä¸ä¸ºæ‚¨çš„上述集æˆè¡Œä¸ºæ”¯ä»˜ä»»ä½•è®¸å¯è´¹ç”¨æˆ–æ供任何技术支æŒï¼Œä¹Ÿä¸æ‰¿æ‹…任何ä¿è¯è´£ä»»ã€‚请您自行为其åŽç»­ä½¿ç”¨è¡Œä¸ºè´Ÿè´£ã€‚ + +本声明一ç»å‘布,适用于声明å‰åŽå…¨å¿—通过其å‘放渠é“交付您的所有软件产å“。 + +本声明中英文两个版本,如有ä¸ä¸€è‡´ï¼Œä»¥ä¸­æ–‡ç‰ˆæœ¬ä¸ºå‡†ã€‚ + +``` + +声明å•ä½ï¼šç æµ·å…¨å¿—科技股份有é™å…¬å¸ æ—¥ 期:2018-11-21 + + +``` + +**Disclaimer** + +**Allwinner** here by declares and reminds you that the software(s) or deliverable(s) (“SDKâ€) provided by Allwinner is(are) just as a reference or typical applications only. You acknowledge that you have read, understood and accepted all the Terms and Conditions of this Disclaimer once you voluntarily download, install and use the SDK. You may choose not to use the SDK, however, once you use it, you are deemed to accept and agree to this Disclaimer provided herein. + +The SDK is provided “as is†and to the maximum extent permitted by law, Allwinner expressly disclaims all warranties of any kind, whether express, implied or statutory, including without limitation regarding their title, non-infringement, accuracy, condition, completeness, performance or merchantability and fitness for a particular purpose. +The data or information included in the SDK may be biased in different test environments. In no event shall Allwinner be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of the SDK, even if advised of the possibility of such damage. You are solely responsible for your own usage. + +You shall obey to any applicable Open Source License(s) or any Copyright declaration during your usage of the SDK. Without obtaining (a) prior written consent(s) from Allwinner, you shall not delete, cover or revise any Allwinner’s or any third party’s Declaration(s) of Rights or License Notice(s). + +Without obtaining (a) prior written consent(s) from Allwinner, you shall not modify or reverse engineer the SDK, or sell, copy, distribute the SDK or engage in any other business activities, for any commercial purpose(s). If you need to integrate third party’s technology (Sony, DTS, Dolby, AVS or MPEGLA, etc.) in Allwinners’SDK or products, you shall be solely responsible to obtain all appropriately required third party licences. Allwinner shall not be liable for any licence fee or royalty due in respect of any required third party licence. Allwinner shall have no warranty, indemnity or other obligations with respect to matters covered under any required third party license. You are solely responsible for your usage of third party’s technology. + +This Disclaimer shall applies to all the SDKs that are voluntarily delivered through Allwinner’s distribution channels, whether before or after the issue of this Disclaimer. + +This Disclaimer is available in both Chinese and English. In case of discrepancy between both versions, the Chinese version shall prevail. + +[cert] +MIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQsFADA1MQswCQYDVQQGEwJaRzESMBAGA1UECAwJ +R3VhbmdEb25nMRIwEAYDVQQKDAlBbGx3aW5uZXIwHhcNMjAxMDIwMTE1NDAwWhcNNDAxMDI1MTE1 +NDAwWjA1MQswCQYDVQQGEwJaRzESMBAGA1UECAwJR3VhbmdEb25nMRIwEAYDVQQKDAlBbGx3aW5u +ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDuLq8fZrpCg5bEyI6NjdYx0AuuY5J4 ++tiA35T1J9yDdf9XD5l3NlUsG+tXp0wnFdq7b/NM167b1v3ezwU4/HsrLHBPLvNzEaQnlGqRNiCF +06d77LfDK4DpcI5Q7rwGPkdfRcDu/0Elx3oVnzbFGB+WtEZAbEKD861/csbontApa1jMyqEaQ7RB +SPhCok7Bj+t3q+AYp0RnW+zJD/+7cU0cSdhpje+o54Qukege6HblHwLmMz5koFD8JrIGgvgrVn9F +JN0daWclnJEbPjKd4P8lQ+TG0L+Po3rT2RhvRZBa4qTKjw7r/L6BECd6WLAgjlzlpqmA77OOHaU+ +bEP84+rHAgMBAAGjbjBsMAkGA1UdEwQCMAAwHwYJYIZIAYb4QgENBBIWEEFXbG9uZ2FuU0RLLUZG +RkYwHQYDVR0OBBYEFNxQbke3ASio3dNLgSIVNKRoy8F1MB8GA1UdIwQYMBaAFGgeo3N7eXkVbqtA +8TZPKGVyQjN2MA0GCSqGSIb3DQEBCwUAA4IBAQDfZKu/anT7o0nipL//E2+lDr2l0hxTjYv9hXDQ +RHGXDlSHvGOk0pvezQxQ6fQLhXNPTNIm9l7jfw8obHGpHXSwkFKe3YxNEGFv4yw/6s/xBxzgrU69 +SYJX3C/4WImCJv3CaXto1s0XVjaG5wM6XBhfddsHRVtwUL7uJq2fBM70IeZRg4L9oPRD7s1QuPz+ +uSEw/0mqt3GFVMJpaG7qAD5D5h6edit/qWq8a+aMtQ4Ylp9hoZ5Isk/Na6uEVvi6X3CoCYL5LBhO +q1DoNiAiTJuHDfCuZtJrt8mwbpOX8AEuo4MSH8kQYCTGYks5Z6GFx+E95Z3G8TZlBeoFyaE1QIbr diff --git a/device/config/common/debug/card_debug_pin b/device/config/common/debug/card_debug_pin new file mode 100755 index 0000000..b5fa176 --- /dev/null +++ b/device/config/common/debug/card_debug_pin @@ -0,0 +1,21 @@ +board tx rx port jtag_ms jtag_ck jtag_do jtag_di NO. +sun3iw1p1 port:PA02<3><1><1> port:PA03<3><1><1> 0 port:PH09<3><1><1> port:PH10<3><1><1> port:PH11<3><1><1> port:PH12<3><1><1> 1 +sun8iw5p1 port:PF02<3><1><1> port:PF04<3><1><1> 0 port:PF00<3><1><1> port:PF05<3><1><1> port:PF03<3><1><1> port:PF01<3><1><1> 1 +sun8iw6p1 port:PF02<3><1><1> port:PF04<3><1><1> 0 port:PF00<3><1><1> port:PF05<3><1><1> port:PF03<3><1><1> port:PF01<3><1><1> 1 +sun8iw7p1 port:PF02<3><1><1> port:PF04<3><1><1> 0 port:PF00<3><1><1> port:PF05<3><1><1> port:PF03<3><1><1> port:PF01<3><1><1> 1 +sun8iw8p1 port:PF02<3><1><1> port:PF04<3><1><1> 0 port:PF00<3><1><1> port:PF05<3><1><1> port:PF03<3><1><1> port:PF01<3><1><1> 1 +sun8iw10p1 port:PF02<4><1><1> port:PF04<4><1><1> 0 port:PF00<4><1><1> port:PF05<4><1><1> port:PF03<4><1><1> port:PF01<4><1><1> 1 +sun8iw11p1 port:PF02<4><1><1> port:PF04<4><1><1> 0 port:PF00<4><1><1> port:PF05<4><1><1> port:PF03<4><1><1> port:PF01<4><1><1> 1 +sun8iw12p1 port:PF02<3><1><1> port:PF04<3><1><1> 0 port:PF00<3><1><1> port:PF05<3><1><1> port:PF03<3><1><1> port:PF01<3><1><1> 1 +sun8iw15p1 port:PF02<3><1><1> port:PF04<3><1><1> 0 port:PF00<3><1><1> port:PF05<3><1><1> port:PF03<3><1><1> port:PF01<3><1><1> 1 +sun8iw16p1 port:PF02<3><1><1> port:PF04<3><1><1> 0 port:PF00<3><1><1> port:PF05<3><1><1> port:PF03<3><1><1> port:PF01<3><1><1> 1 +sun8iw17p1 port:PF02<3><1><1> port:PF04<3><1><1> 0 port:PF00<3><1><1> port:PF05<3><1><1> port:PF03<3><1><1> port:PF01<3><1><1> 1 +sun8iw19p1 port:PF02<3><1><1> port:PF04<3><1><1> 0 port:PF00<3><1><1> port:PF05<3><1><1> port:PF03<3><1><1> port:PF01<3><1><1> 1 +sun9iw1p1 port:PF02<4><1><1> port:PF04<4><1><1> 0 port:PF00<4><1><1> port:PF05<4><1><1> port:PF03<4><1><1> port:PF01<4><1><1> 1 +sun50iw1p1 port:PF02<3><1><1> port:PF04<3><1><1> 0 port:PF00<3><1><1> port:PF05<3><1><1> port:PF03<3><1><1> port:PF01<3><1><1> 1 +sun50iw2p1 port:PF02<3><1><1> port:PF04<3><1><1> 0 port:PF00<3><1><1> port:PF05<3><1><1> port:PF03<3><1><1> port:PF01<3><1><1> 1 +sun50iw3p1 port:PF02<3><1><1> port:PF04<3><1><1> 0 port:PF00<3><1><1> port:PF05<3><1><1> port:PF03<3><1><1> port:PF01<3><1><1> 1 +sun50iw6p1 port:PF02<3><1><1> port:PF04<3><1><1> 0 port:PF00<3><1><1> port:PF05<3><1><1> port:PF03<3><1><1> port:PF01<3><1><1> 1 +sun50iw9p1 port:PF02<3><1><1> port:PF04<3><1><1> 0 port:PF00<3><1><1> port:PF05<3><1><1> port:PF03<3><1><1> port:PF01<3><1><1> 1 +sun50iw10p1 port:PF02<3><1><1> port:PF04<3><1><1> 0 port:PF00<3><1><1> port:PF05<3><1><1> port:PF03<3><1><1> port:PF01<3><1><1> 1 +sun50iw12p1 port:PF02<4><1><1> port:PF04<4><1><1> 0 port:PF00<4><1><1> port:PF05<4><1><1> port:PF03<4><1><1> port:PF01<4><1><1> 1 diff --git a/device/config/common/debug/card_debug_string b/device/config/common/debug/card_debug_string new file mode 100755 index 0000000..1950509 --- /dev/null +++ b/device/config/common/debug/card_debug_string @@ -0,0 +1,25 @@ +$1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15 $16 $17 $18 +sun3iw1p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart_used uart_port uart_tx uart_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di mmc0_para sdc_used +sun8iw1p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart_used uart_port uart_tx uart_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di mmc0_para sdc_used +sun8iw2p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart_used uart_port uart_tx uart_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di mmc0_para sdc_used +sun8iw3p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart_used uart_port uart_tx uart_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di mmc0_para sdc_used +sun8iw5p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart_used uart_port uart_tx uart_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di mmc0_para sdc_used +sun8iw6p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart_used uart_port uart_tx uart_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di mmc0_para sdc_used +sun8iw7p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart0_used uart0_port uart0_tx uart0_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di sdc0 sdc0_used +sun8iw8p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart_used uart_port uart_tx uart_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di mmc0_para sdc_used +sun8iw9p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart_used uart_port uart_tx uart_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di mmc0_para sdc_used +sun8iw10p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart0_used uart0_port uart0_tx uart0_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di sdc0 sdc0_used +sun8iw11p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart0_used uart0_port uart0_tx uart0_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di sdc0 sdc0_used +sun8iw12p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart0_used uart0_port uart0_tx uart0_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di sdc0 sdc0_used +sun8iw15p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart0_used uart0_port uart0_tx uart0_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di sdc0 sdc0_used +sun8iw16p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart0_used uart0_port uart0_tx uart0_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di sdc0 sdc0_used +sun8iw17p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart0_used uart0_port uart0_tx uart0_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di sdc0 sdc0_used +sun8iw19p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart0_used uart0_port uart0_tx uart0_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di sdc0 sdc0_used +sun9iw1p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart_used uart_port uart_tx uart_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di mmc0_para sdc_used +sun50iw1p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart0_used uart0_port uart0_tx uart0_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di sdc0 sdc0_used +sun50iw2p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart0_used uart0_port uart0_tx uart0_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di sdc0 sdc0_used +sun50iw3p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart0_used uart0_port uart0_tx uart0_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di sdc0 sdc0_used +sun50iw6p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart0_used uart0_port uart0_tx uart0_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di sdc0 sdc0_used +sun50iw9p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart0_used uart0_port uart0_tx uart0_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di sdc0 sdc0_used +sun50iw10p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart0_used uart0_port uart0_tx uart0_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di sdc0 sdc0_used +sun50iw12p1 uart_para uart_debug_port uart_debug_tx uart_debug_rx uart0 uart0_used uart0_port uart0_tx uart0_rx uart1 jtag_para jtag_ms jtag_ck jtag_do jtag_di sdc0 sdc0_used diff --git a/device/config/common/dtb/sunxi.fex b/device/config/common/dtb/sunxi.fex new file mode 100755 index 0000000..c988419 --- /dev/null +++ b/device/config/common/dtb/sunxi.fex @@ -0,0 +1 @@ +sunxi.fex \ No newline at end of file diff --git a/device/config/common/hdcp/esm.fex b/device/config/common/hdcp/esm.fex new file mode 100755 index 0000000..569fc2d Binary files /dev/null and b/device/config/common/hdcp/esm.fex differ diff --git a/device/config/common/imagecfg/boot_package.cfg b/device/config/common/imagecfg/boot_package.cfg new file mode 100755 index 0000000..fbafb11 --- /dev/null +++ b/device/config/common/imagecfg/boot_package.cfg @@ -0,0 +1,5 @@ +[package] +;item=Item_TOC_name, Item_filename, +item=u-boot, u-boot.fex +item=soc-cfg, config.fex +item=dtb, sunxi.fex diff --git a/device/config/common/imagecfg/boot_package_nor.cfg b/device/config/common/imagecfg/boot_package_nor.cfg new file mode 100755 index 0000000..3d4b64b --- /dev/null +++ b/device/config/common/imagecfg/boot_package_nor.cfg @@ -0,0 +1,5 @@ +[package] +;item=Item_TOC_name, Item_filename, +item=u-boot, u-boot-spinor.fex +item=soc-cfg, config.fex +item=dtb, sunxi.fex diff --git a/device/config/common/imagecfg/env_burn.cfg b/device/config/common/imagecfg/env_burn.cfg new file mode 100644 index 0000000..de40999 --- /dev/null +++ b/device/config/common/imagecfg/env_burn.cfg @@ -0,0 +1,6 @@ +bootdelay=0 +bootcmd=run user_data_burn +user_data_burn=pburn 1 +#kernel command arguments +console=ttyS0,115200 + diff --git a/device/config/common/imagecfg/image_crashdump.cfg b/device/config/common/imagecfg/image_crashdump.cfg new file mode 100755 index 0000000..65a75d6 --- /dev/null +++ b/device/config/common/imagecfg/image_crashdump.cfg @@ -0,0 +1,94 @@ +;/**************************************************************************/ +;2010-06-09 +;Sam +;image>é…置文件内容 +;/**************************************************************************/ + +;主è¦ç±»åž‹ 8字节字符串 +[MAIN_TYPE] +ITEM_COMMON = "COMMON " +ITEM_INFO = "INFO " +ITEM_BOOTROM = "BOOTROM " +ITEM_FES = "FES " +ITEM_FET = "FET " +ITEM_FED = "FED " +ITEM_FEX = "FEX " +ITEM_BOOT = "BOOT " +ITEM_ROOTFSFAT12 = "RFSFAT12" +ITEM_ROOTFSFAT16 = "RFSFAT16" +ITEM_ROOTFSFAT32 = "FFSFAT32" +ITEM_USERFSFAT12 = "UFSFAT12" +ITEM_USERFSFAT16 = "UFSFAT16" +ITEM_USERFSFAT32 = "UFSFAT32" +ITEM_PHOENIX_SCRIPT = "PXSCRIPT" +ITEM_PHOENIX_TOOLS = "PXTOOLS " +ITEM_AUDIO_DSP = "AUDIODSP" +ITEM_VIDEO_DSP = "VIDEODSP" +ITEM_FONT = "FONT " +ITEM_FLASH_DRV = "FLASHDRV" +ITEM_OS_CORE = "OS_CORE " +ITEM_DRIVER = "DRIVER " +ITEM_PIC = "PICTURE " +ITEM_AUDIO = "AUDIO " +ITEM_VIDEO = "VIDEO " +ITEM_APPLICATION = "APP " + +;å­ç±»åž‹æ ¼å¼ï¼Œä¾›å‚考,å¯ä»¥å¦å¤–定义,最大长度必须为16字节 +[SUB_TYPE] +SUBTYPEdemo1 = "071228HWSXXXX100" +;-->071228 2007-12-28 +;-->HWS hardware scan +;-->XXXX 用户定义 +;-->100 version 1.00 + +;路径定义 +[DIR_DEF] +INPUT_DIR = "..\\" + +;文件列表 +[FILELIST] +;----------------------------------------------------maintype与subtypeä¸å¯æ”¹å˜----------------------------------------------; + ;-------------------------------公共部分---------------------------------------; + + ;-->固定ä¸å˜çš„ + {filename = "sys_config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG100000",}, + {filename = "config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG_BIN00",}, + {filename = "board.fex", maintype = ITEM_COMMON, subtype = "BOARD_CONFIG_BIN",}, + {filename = "split_xxxx.fex", maintype = ITEM_COMMON, subtype = "SPLIT_0000000000",}, + {filename = "sys_partition.fex",maintype = ITEM_COMMON, subtype = "SYS_CONFIG000000",}, + {filename = "sunxi.fex", maintype = ITEM_COMMON, subtype = "DTB_CONFIG000000",}, + + ;-->boot文件 + {filename = "u-boot.fex", maintype = "12345678", subtype = "UBOOT_0000000000",}, + {filename = "fes1.fex", maintype = ITEM_FES, subtype = "FES_1-0000000000",}, + + ;-------------------------------usbé‡äº§éƒ¨åˆ†-------------------------------------; + ;-->tools文件 + {filename = "usbtool_crash.fex",maintype = "PXTOOLSB", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultools.fex", maintype = "UPFLYTLS", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultls32.fex", maintype = "UPFLTL32", subtype = "xxxxxxxxxxxxxxxx",}, + + ;-->需è¦çƒ§å†™åˆ°å¡ä¸Šçš„文件 + {filename = "sunxi_mbr.fex", maintype = "12345678", subtype = "1234567890___MBR",}, + {filename = "dlinfo.fex", maintype = "12345678", subtype = "1234567890DLINFO",}, + {filename = "arisc.fex", maintype = "12345678", subtype = "1234567890ARISC" ,}, + + ;-------------------------------其他----------------------------------------------; + {filename = "vmlinux.fex", maintype = "12345678", subtype = "123456789VMLINUX",}, + +;-------------------------------------------maintype与subtypeä¸å¯æ”¹å˜-------------------------------------------------------; + +;é•œåƒé…ç½®ä¿¡æ¯ +[IMAGE_CFG] +version = 0x100234 ;-->Image的版本 +pid = 0x00001234 ;-->产å“ID +vid = 0x00008743 ;-->供应商ID +hardwareid = 0x100 ;-->硬件ID bootrom +firmwareid = 0x100 ;-->固件ID bootrom +bootromconfig = "bootrom_071203_00001234.cfg" +rootfsconfig = "rootfs.cfg" +;;imagename = "ePDKv100_nand.img" +filelist = FILELIST +imagename = ..\sun4i_test_evb.img +encrypt = 0 ;-->如果ä¸éœ€è¦åŠ å¯†å°†æ­¤é¡¹è®¾ç½®ä¸º0 ,å¦åˆ™è®¾ç½®ä¸º1 + diff --git a/device/config/common/imagecfg/image_linux.cfg b/device/config/common/imagecfg/image_linux.cfg new file mode 100755 index 0000000..837d771 --- /dev/null +++ b/device/config/common/imagecfg/image_linux.cfg @@ -0,0 +1,107 @@ +;/**************************************************************************/ +;2010-06-09 +;Sam +;image>é…置文件内容 +;/**************************************************************************/ + +;主è¦ç±»åž‹ 8字节字符串 +[MAIN_TYPE] +ITEM_COMMON = "COMMON " +ITEM_INFO = "INFO " +ITEM_BOOTROM = "BOOTROM " +ITEM_FES = "FES " +ITEM_FET = "FET " +ITEM_FED = "FED " +ITEM_FEX = "FEX " +ITEM_BOOT = "BOOT " +ITEM_ROOTFSFAT12 = "RFSFAT12" +ITEM_ROOTFSFAT16 = "RFSFAT16" +ITEM_ROOTFSFAT32 = "FFSFAT32" +ITEM_USERFSFAT12 = "UFSFAT12" +ITEM_USERFSFAT16 = "UFSFAT16" +ITEM_USERFSFAT32 = "UFSFAT32" +ITEM_PHOENIX_SCRIPT = "PXSCRIPT" +ITEM_PHOENIX_TOOLS = "PXTOOLS " +ITEM_AUDIO_DSP = "AUDIODSP" +ITEM_VIDEO_DSP = "VIDEODSP" +ITEM_FONT = "FONT " +ITEM_FLASH_DRV = "FLASHDRV" +ITEM_OS_CORE = "OS_CORE " +ITEM_DRIVER = "DRIVER " +ITEM_PIC = "PICTURE " +ITEM_AUDIO = "AUDIO " +ITEM_VIDEO = "VIDEO " +ITEM_APPLICATION = "APP " + +;å­ç±»åž‹æ ¼å¼ï¼Œä¾›å‚考,å¯ä»¥å¦å¤–定义,最大长度必须为16字节 +[SUB_TYPE] +SUBTYPEdemo1 = "071228HWSXXXX100" +;-->071228 2007-12-28 +;-->HWS hardware scan +;-->XXXX 用户定义 +;-->100 version 1.00 + +;路径定义 +[DIR_DEF] +INPUT_DIR = "..\\" + +;文件列表 +[FILELIST] +;----------------------------------------------------maintype与subtypeä¸å¯æ”¹å˜----------------------------------------------; + ;-------------------------------公共部分---------------------------------------; + + ;-->固定ä¸å˜çš„ + {filename = "sys_config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG100000",}, + {filename = "config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG_BIN00",}, + {filename = "board.fex", maintype = ITEM_COMMON, subtype = "BOARD_CONFIG_BIN",}, + {filename = "split_xxxx.fex", maintype = ITEM_COMMON, subtype = "SPLIT_0000000000",}, + {filename = "sys_partition.fex",maintype = ITEM_COMMON, subtype = "SYS_CONFIG000000",}, + {filename = "sunxi.fex", maintype = ITEM_COMMON, subtype = "DTB_CONFIG000000",}, + + ;-->boot文件 + {filename = "boot0_nand.fex", maintype = ITEM_BOOT, subtype = "BOOT0_0000000000",}, + {filename = "boot0_sdcard.fex", maintype = "12345678", subtype = "1234567890BOOT_0",}, + {filename = "u-boot.fex", maintype = "12345678", subtype = "UBOOT_0000000000",}, + {filename = "u-boot-crash.fex", maintype = "12345678", subtype = "UBOOT_CRASH_0000",}, + {filename = "toc1.fex", maintype = "12345678", subtype = "TOC1_00000000000",}, + {filename = "toc0.fex", maintype = "12345678", subtype = "TOC0_00000000000",}, + {filename = "fes1.fex", maintype = ITEM_FES, subtype = "FES_1-0000000000",}, + {filename = "boot_package.fex", maintype = "12345678", subtype = "BOOTPKG-00000000",}, + + ;-------------------------------usbé‡äº§éƒ¨åˆ†-------------------------------------; + ;-->tools文件 + {filename = "usbtool.fex", maintype = "PXTOOLSB", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "usbtool_crash.fex",maintype = "PXTOOLCH", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultools.fex", maintype = "UPFLYTLS", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultls32.fex", maintype = "UPFLTL32", subtype = "xxxxxxxxxxxxxxxx",}, + + + ;-------------------------------å¡é‡äº§éƒ¨åˆ†----------------------------------------; + ;-->固定ä¸å˜çš„PC使用 + {filename = "cardtool.fex", maintype = "12345678", subtype = "1234567890cardtl",}, + {filename = "cardscript.fex", maintype = "12345678", subtype = "1234567890script",}, + + ;-->需è¦çƒ§å†™åˆ°å¡ä¸Šçš„文件 + {filename = "sunxi_mbr.fex", maintype = "12345678", subtype = "1234567890___MBR",}, + {filename = "dlinfo.fex", maintype = "12345678", subtype = "1234567890DLINFO",}, + {filename = "arisc.fex", maintype = "12345678", subtype = "1234567890ARISC" ,}, + + ;-------------------------------其他----------------------------------------------; + {filename = "vmlinux.fex", maintype = "12345678", subtype = "123456789VMLINUX",}, + +;-------------------------------------------maintype与subtypeä¸å¯æ”¹å˜-------------------------------------------------------; + +;é•œåƒé…ç½®ä¿¡æ¯ +[IMAGE_CFG] +version = 0x100234 ;-->Image的版本 +pid = 0x00001234 ;-->产å“ID +vid = 0x00008743 ;-->供应商ID +hardwareid = 0x100 ;-->硬件ID bootrom +firmwareid = 0x100 ;-->固件ID bootrom +bootromconfig = "bootrom_071203_00001234.cfg" +rootfsconfig = "rootfs.cfg" +;;imagename = "ePDKv100_nand.img" +filelist = FILELIST +imagename = ..\sun4i_test_evb.img +encrypt = 0 ;-->如果ä¸éœ€è¦åŠ å¯†å°†æ­¤é¡¹è®¾ç½®ä¸º0 ,å¦åˆ™è®¾ç½®ä¸º1 + diff --git a/device/config/common/imagecfg/image_nor.cfg b/device/config/common/imagecfg/image_nor.cfg new file mode 100755 index 0000000..fea96ff --- /dev/null +++ b/device/config/common/imagecfg/image_nor.cfg @@ -0,0 +1,107 @@ +;/**************************************************************************/ +;2010-06-09 +;Sam +;image>é…置文件内容 +;/**************************************************************************/ + +;主è¦ç±»åž‹ 8字节字符串 +[MAIN_TYPE] +ITEM_COMMON = "COMMON " +ITEM_INFO = "INFO " +ITEM_BOOTROM = "BOOTROM " +ITEM_FES = "FES " +ITEM_FET = "FET " +ITEM_FED = "FED " +ITEM_FEX = "FEX " +ITEM_BOOT = "BOOT " +ITEM_ROOTFSFAT12 = "RFSFAT12" +ITEM_ROOTFSFAT16 = "RFSFAT16" +ITEM_ROOTFSFAT32 = "FFSFAT32" +ITEM_USERFSFAT12 = "UFSFAT12" +ITEM_USERFSFAT16 = "UFSFAT16" +ITEM_USERFSFAT32 = "UFSFAT32" +ITEM_PHOENIX_SCRIPT = "PXSCRIPT" +ITEM_PHOENIX_TOOLS = "PXTOOLS " +ITEM_AUDIO_DSP = "AUDIODSP" +ITEM_VIDEO_DSP = "VIDEODSP" +ITEM_FONT = "FONT " +ITEM_FLASH_DRV = "FLASHDRV" +ITEM_OS_CORE = "OS_CORE " +ITEM_DRIVER = "DRIVER " +ITEM_PIC = "PICTURE " +ITEM_AUDIO = "AUDIO " +ITEM_VIDEO = "VIDEO " +ITEM_APPLICATION = "APP " + +;å­ç±»åž‹æ ¼å¼ï¼Œä¾›å‚考,å¯ä»¥å¦å¤–定义,最大长度必须为16字节 +[SUB_TYPE] +SUBTYPEdemo1 = "071228HWSXXXX100" +;-->071228 2007-12-28 +;-->HWS hardware scan +;-->XXXX 用户定义 +;-->100 version 1.00 + +;路径定义 +[DIR_DEF] +INPUT_DIR = "..\\" + +;文件列表 +[FILELIST] +;----------------------------------------------------maintype与subtypeä¸å¯æ”¹å˜----------------------------------------------; + ;-------------------------------公共部分---------------------------------------; + + ;-->固定ä¸å˜çš„ + {filename = "sys_config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG100000",}, + {filename = "config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG_BIN00",}, + {filename = "split_xxxx.fex", maintype = ITEM_COMMON, subtype = "SPLIT_0000000000",}, + {filename = "sys_partition.fex",maintype = ITEM_COMMON, subtype = "SYS_CONFIG000000",}, + {filename = "sunxi.fex", maintype = ITEM_COMMON, subtype = "DTB_CONFIG000000",}, + + ;-->boot文件 + {filename = "boot0_nand.fex", maintype = ITEM_BOOT, subtype = "BOOT0_0000000000",}, + {filename = "boot0_sdcard.fex", maintype = "12345678", subtype = "1234567890BOOT_0",}, + {filename = "boot0_spinor.fex", maintype = "12345678", subtype = "1234567890BNOR_0",}, + {filename = "u-boot.fex", maintype = "12345678", subtype = "UBOOT_0000000000",}, + {filename = "toc1.fex", maintype = "12345678", subtype = "TOC1_00000000000",}, + {filename = "toc0.fex", maintype = "12345678", subtype = "TOC0_00000000000",}, + {filename = "fes1.fex", maintype = ITEM_FES, subtype = "FES_1-0000000000",}, + ;{filename = "boot_package.fex", maintype = "12345678", subtype = "BOOTPKG-00000000",}, + {filename = "boot_package_nor.fex", maintype = "12345678", subtype = "BOOTPKG-NOR00000",}, + ;{filename = "full_img.fex", maintype = "12345678", subtype = "FULLIMG_00000000",}, + + ;-------------------------------usbé‡äº§éƒ¨åˆ†-------------------------------------; + ;-->tools文件 + {filename = "usbtool.fex", maintype = "PXTOOLSB", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultools.fex", maintype = "UPFLYTLS", subtype = "xxxxxxxxxxxxxxxx",}, + {filename = "aultls32.fex", maintype = "UPFLTL32", subtype = "xxxxxxxxxxxxxxxx",}, + + + ;-------------------------------å¡é‡äº§éƒ¨åˆ†----------------------------------------; + ;-->固定ä¸å˜çš„PC使用 + {filename = "cardtool.fex", maintype = "12345678", subtype = "1234567890cardtl",}, + {filename = "cardscript.fex", maintype = "12345678", subtype = "1234567890script",}, + + ;-->需è¦çƒ§å†™åˆ°å¡ä¸Šçš„文件 + ;{filename = "sunxi_mbr.fex", maintype = "12345678", subtype = "1234567890___MBR",}, + {filename = "sunxi_mbr_nor.fex", maintype = "12345678", subtype = "1234567890___MBR",}, + {filename = "dlinfo.fex", maintype = "12345678", subtype = "1234567890DLINFO",}, + {filename = "arisc.fex", maintype = "12345678", subtype = "1234567890ARISC" ,}, + + ;-------------------------------其他----------------------------------------------; + ;{filename = "vmlinux.fex", maintype = "12345678", subtype = "123456789VMLINUX",}, + +;-------------------------------------------maintype与subtypeä¸å¯æ”¹å˜-------------------------------------------------------; + +;é•œåƒé…ç½®ä¿¡æ¯ +[IMAGE_CFG] +version = 0x100234 ;-->Image的版本 +pid = 0x00001234 ;-->产å“ID +vid = 0x00008743 ;-->供应商ID +hardwareid = 0x100 ;-->硬件ID bootrom +firmwareid = 0x100 ;-->固件ID bootrom +bootromconfig = "bootrom_071203_00001234.cfg" +rootfsconfig = "rootfs.cfg" +;;imagename = "ePDKv100_nand.img" +filelist = FILELIST +imagename = ..\sun4i_test_evb.img +encrypt = 0 ;-->如果ä¸éœ€è¦åŠ å¯†å°†æ­¤é¡¹è®¾ç½®ä¸º0 ,å¦åˆ™è®¾ç½®ä¸º1 diff --git a/device/config/common/partition/sys_partition_dump.fex b/device/config/common/partition/sys_partition_dump.fex new file mode 100755 index 0000000..a1d9838 --- /dev/null +++ b/device/config/common/partition/sys_partition_dump.fex @@ -0,0 +1,41 @@ +;--------------------------------------------------------------------------------------------------------- +; ˵Ã÷£º ½Å±¾ÖеÄ×Ö·û´®Çø·Ö´óСд£¬Óû§¿ÉÒÔÐÞ¸Ä"="ºóÃæµÄÊýÖµ£¬µ«ÊDz»ÒªÐÞ¸ÄÇ°ÃæµÄ×Ö·û´® +;--------------------------------------------------------------------------------------------------------- + + +;-------------------------------------------------------------------------------------------------- +; ¹Ì¼þÏÂÔزÎÊýÅäÖà +;-------------------------------------------------------------------------------------------------- +;**************************************************** +; mbrµÄ´óС, ÒÔKbyteΪµ¥Î» +;**************************************************** +[mbr] +size = 16384 + +;******************************************************************************************************** +; ·ÖÇøÅäÖà +; +; +; partition ¶¨Òå·¶Àý: +; [partition] ; //±íʾÊÇÒ»¸ö·ÖÇø +; name = USERFS2 ; //·ÖÇøÃû³Æ +; size = 16384 ; //·ÖÇø´óС µ¥Î»: ÉÈÇø.·ÖÇø±íʾ¸öÊý×î¶à2^31 * 512 = 2T +; downloadfile = "123.fex" ; //ÏÂÔØÎļþµÄ·¾¶ºÍÃû³Æ£¬¿ÉÒÔʹÓÃÏà¶Ô·¾¶£¬Ïà¶ÔÊÇÖ¸Ïà¶ÔÓÚimage.cfgÎļþËùÔÚ·ÖÇø¡£Ò²¿ÉÒÔʹÓþø¶Ô·¾¶ +; keydata = 1 ; //˽ÓÐÊý¾Ý·ÖÇø£¬ÖØÐÂÁ¿²úÊý¾Ý½«²»¶ªÊ§ +; encrypt = 1 ; //²ÉÓüÓÃÜ·½Ê½ÉÕ¼£¬½«ÌṩÊý¾Ý¼ÓÃÜ£¬µ«ËðʧÉÕ¼ËÙ¶È +; = ? ; //˽ÓÐÓ÷¨ +; verify = 1 ; //ÒªÇóÁ¿²úÍê³ÉºóУÑéÊÇ·ñÕýÈ· +; +; ×¢£º1¡¢nameΨһ, ²»ÔÊÐíͬÃû +; 2¡¢name×î´ó12¸ö×Ö·û +; 3¡¢size = 0, ½«´´½¨Ò»¸öÎÞ´óСµÄ¿Õ·ÖÇø +; 4¡¢ÎªÁË°²È«ºÍЧÂÊ¿¼ÂÇ£¬·ÖÇø´óС×îºÃ±£Ö¤Îª16M×Ö½ÚµÄÕûÊý±¶ +;******************************************************************************************************** +[partition_start] + + +[partition] + name = bootloader + size = 32768 + + diff --git a/device/config/common/partition/sys_partition_private.fex b/device/config/common/partition/sys_partition_private.fex new file mode 100755 index 0000000..08cdd0f --- /dev/null +++ b/device/config/common/partition/sys_partition_private.fex @@ -0,0 +1,46 @@ +;--------------------------------------------------------------------------------------------------------- +; ˵Ã÷£º ½Å±¾ÖеÄ×Ö·û´®Çø·Ö´óСд£¬Óû§¿ÉÒÔÐÞ¸Ä"="ºóÃæµÄÊýÖµ£¬µ«ÊDz»ÒªÐÞ¸ÄÇ°ÃæµÄ×Ö·û´® +;--------------------------------------------------------------------------------------------------------- + + +;-------------------------------------------------------------------------------------------------- +; ¹Ì¼þÏÂÔزÎÊýÅäÖà +;-------------------------------------------------------------------------------------------------- +;**************************************************** +; mbrµÄ´óС, ÒÔKbyteΪµ¥Î» +;**************************************************** +[mbr] +size = 16384 + +;******************************************************************************************************** +; ·ÖÇøÅäÖà +; +; +; partition ¶¨Òå·¶Àý: +; [partition] ; //±íʾÊÇÒ»¸ö·ÖÇø +; name = USERFS2 ; //·ÖÇøÃû³Æ +; size = 16384 ; //·ÖÇø´óС µ¥Î»: ÉÈÇø.·ÖÇø±íʾ¸öÊý×î¶à2^31 * 512 = 2T +; downloadfile = "123.fex" ; //ÏÂÔØÎļþµÄ·¾¶ºÍÃû³Æ£¬¿ÉÒÔʹÓÃÏà¶Ô·¾¶£¬Ïà¶ÔÊÇÖ¸Ïà¶ÔÓÚimage.cfgÎļþËùÔÚ·ÖÇø¡£Ò²¿ÉÒÔʹÓþø¶Ô·¾¶ +; keydata = 1 ; //˽ÓÐÊý¾Ý·ÖÇø£¬ÖØÐÂÁ¿²úÊý¾Ý½«²»¶ªÊ§ +; encrypt = 1 ; //²ÉÓüÓÃÜ·½Ê½ÉÕ¼£¬½«ÌṩÊý¾Ý¼ÓÃÜ£¬µ«ËðʧÉÕ¼ËÙ¶È +; = ? ; //˽ÓÐÓ÷¨ +; verify = 1 ; //ÒªÇóÁ¿²úÍê³ÉºóУÑéÊÇ·ñÕýÈ· +; +; ×¢£º1¡¢nameΨһ, ²»ÔÊÐíͬÃû +; 2¡¢name×î´ó12¸ö×Ö·û +; 3¡¢size = 0, ½«´´½¨Ò»¸öÎÞ´óСµÄ¿Õ·ÖÇø +; 4¡¢ÎªÁË°²È«ºÍЧÂÊ¿¼ÂÇ£¬·ÖÇø´óС×îºÃ±£Ö¤Îª16M×Ö½ÚµÄÕûÊý±¶ +;******************************************************************************************************** +[partition_start] + + +[partition] + name = bootloader + size = 32768 + downloadfile = "boot-resource.fex" + +[partition] + name = env + size = 16384 + downloadfile = "env.fex" + diff --git a/device/config/common/sign_config/cnf_base.cnf b/device/config/common/sign_config/cnf_base.cnf new file mode 100755 index 0000000..d6348a4 --- /dev/null +++ b/device/config/common/sign_config/cnf_base.cnf @@ -0,0 +1,294 @@ +# +# OpenSSL example configuration file. +# This is mostly being used for generation of certificate requests. +# + +# This definition stops the following lines choking if HOME isn't +# defined. +HOME = . +RANDFILE = $ENV::HOME/.rnd + +# Extra OBJECT IDENTIFIER info: +#oid_file = $ENV::HOME/.oid +oid_section = new_oids + +# To use this configuration file with the "-extfile" option of the +# "openssl x509" utility, name here the section containing the +# X.509v3 extensions to use: +# extensions = +# (Alternatively, use a configuration file that has only +# X.509v3 extensions in its main [= default] section.) + +[ new_oids ] + +# We can add new OIDs in here for use by 'ca' and 'req'. +# Add a simple OID like this: +# testoid1=1.2.3.4 +# Or use config file substitution like this: +# testoid2=${testoid1}.5.6 + +#################################################################### +[ ca ] +default_ca = CA_default # The default ca section + +#################################################################### +[ CA_default ] + +dir = ./demoCA # Where everything is kept +certs = $dir/certs # Where the issued certs are kept +crl_dir = $dir/crl # Where the issued crl are kept +database = $dir/index.txt # database index file. +#unique_subject = no # Set to 'no' to allow creation of + # several ctificates with same subject. +new_certs_dir = $dir/newcerts # default place for new certs. + +certificate = $dir/cacert.pem # The CA certificate +serial = $dir/serial # The current serial number +crlnumber = $dir/crlnumber # the current crl number + # must be commented out to leave a V1 CRL +crl = $dir/crl.pem # The current CRL +private_key = $dir/private/cakey.pem# The private key +RANDFILE = $dir/private/.rand # private random number file + +x509_extensions = usr_cert # The extentions to add to the cert + +# Comment out the following two lines for the "traditional" +# (and highly broken) format. +name_opt = ca_default # Subject Name options +cert_opt = ca_default # Certificate field options + +# Extension copying option: use with caution. +# copy_extensions = copy + +# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs +# so this is commented out by default to leave a V1 CRL. +# crlnumber must also be commented out to leave a V1 CRL. +# crl_extensions = crl_ext + +default_days = 365 # how long to certify for +default_crl_days= 30 # how long before next CRL +default_md = sha1 # which md to use. +preserve = no # keep passed DN ordering + +# A few difference way of specifying how similar the request should look +# For type CA, the listed attributes must be the same, and the optional +# and supplied fields are just that :-) +policy = policy_match + +# For the CA policy +[ policy_match ] +countryName = match +stateOrProvinceName = match +organizationName = match +organizationalUnitName = optional +commonName = supplied +emailAddress = optional + +# For the 'anything' policy +# At this point in time, you must list all acceptable 'object' +# types. +[ policy_anything ] +countryName = optional +stateOrProvinceName = optional +localityName = optional +organizationName = optional +organizationalUnitName = optional +commonName = supplied +emailAddress = optional + +#################################################################### +[ req ] +default_bits = 1024 +default_keyfile = privkey.pem +distinguished_name = req_distinguished_name +attributes = req_attributes +x509_extensions = v3_ca # The extentions to add to the self signed cert + +# Passwords for private keys if not present they will be prompted for +# input_password = secret +# output_password = secret + +# This sets a mask for permitted string types. There are several options. +# default: PrintableString, T61String, BMPString. +# pkix : PrintableString, BMPString. +# utf8only: only UTF8Strings. +# nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings). +# MASK:XXXX a literal mask value. +# WARNING: current versions of Netscape crash on BMPStrings or UTF8Strings +# so use this option with caution! +string_mask = nombstr + +# req_extensions = v3_req # The extensions to add to a certificate request + +[ req_distinguished_name ] +countryName = Country Name (2 letter code) +countryName_default = CN +countryName_min = 2 +countryName_max = 2 + +stateOrProvinceName = State or Province Name (full name) +stateOrProvinceName_default = guangdong + +localityName = Locality Name (eg, city) + +0.organizationName = Organization Name (eg, company) +0.organizationName_default = AllWinner + +# we can do this but it is not needed normally :-) +#1.organizationName = Second Organization Name (eg, company) +#1.organizationName_default = World Wide Web Pty Ltd + +organizationalUnitName = Organizational Unit Name (eg, section) +#organizationalUnitName_default = + +commonName = Common Name (eg, YOUR name) +commonName_max = 64 + +emailAddress = Email Address +emailAddress_max = 64 + +# SET-ex3 = SET extension number 3 + +[ req_attributes ] +challengePassword = A challenge password +challengePassword_min = 4 +challengePassword_max = 20 + +unstructuredName = An optional company name + +[ usr_cert ] + +TrustedFirmwareNVCounter ="8" +PrimaryDebugCertificatePK ="c79bab3b5194dcb156ddbb065a44e9ec959770a0f1d02a7f09ef95fc8028ed8803794422a2620892083d2cdfee53d43c3ae65f8d1ef31f490567de9c15f23a858409a2944225ffaef01aca94bf2cf3705f54ae5c37195353d8228bac67794b01c40e4a6ec71bb17b6c120f13bcbea5574a30b86ba691173e14fa60abd5a2c1f30ca890732357a377fc77ed7822c1c4b5ed1d8ca02bcffbfa9be11d14bab4ff0b6a17479a98fef715008e9e4bb20e912594b073fb5e57e6ef627f8ee503ce5cae3b3b4a320d7227d97a3655859af3956989696b43d2c6130696a16166ab1aa5d2549e59209b9825ce5fbaf3cb65eec4e261af607417a7d3b5b440f774f6fece1b10001" +NonTrustedWorldPK ="be2878a4730f378686a0c34c61512e111da071a810ccd2f1dae4522784ba95705718b27e4072c3ec918e9eb95dc8b70af59634468aa1dd1608e67adbf7fe76bbdd3339928f023b90e25cfa459d00648659c6356f197efcc4d0e5b8708c30d76cc0037593d9ef50e0d189f12afa4135db206733be2a4926e7cbace02a6336beec471c985b938ab8f3cedd1f30e2248e5cf8580655aba5e46628c0ac70cf213b3bdda7e1c91359cc5e6ece020405ff2465364a8ef3e46bfb535e77dc60056528e1ec55f299cbf6dee6424664c6d4a41d88600b7b0767ed29088b575db63946c33ac58cadb118f20a17d01b70ba3c71150d4d5f1c31976acac797066c1e239e417d10001dbbaa8ff9c32464bb2e39cc2341a9b5d31c7b56cdf1a18434b7b539002670816195c622d126747bb5bf499ceae72857d2e897d4416f604b60f7dde718ebce1f6825895f4cbc59e3d44f14b6b54159fde9561ca905143c21ebba6ec203a1183744f758e8bf1dded1244aed913a51d71189b4a254674274e0d3b656c218a555d96f8d8ee8d29d74129b1091dc98c256744896b1b927cd99609dd2f06dbb5e5eee4e5bc845d543747af2585c2db4cafbba7ccf668607e0dce22ffaf9716b2e949b67f5c0d751e670a5eea1a71819145cf06afc85dfba52ce9dae6f00772f9859a7a804fa1b7f9a6639484d7ceba12dcd57717800ad4bc0b1434475a3f2571433fe110001dbbaa8ff9c32464bb2e39cc2341a9b5d31c7b56cdf1a18434b7b539002670816195c622d126747bb5bf499ceae72857d2e897d4416f604b60f7dde718ebce1f6825895f4cbc59e3d44f14b6b54159fde9561ca905143c21ebba6ec203a1183744f758e8bf1dded1244aed913a51d71189b4a254674274e0d3b656c218a555d96f8d8ee8d29d74129b1091dc98c256744896b1b927cd99609dd2f06dbb5e5eee4e5bc845d543747af2585c2db4cafbba7ccf668607e0dce22ffaf9716b2e949b67f5c0d751e670a5eea1a71819145cf06afc85dfba52ce9dae6f00772f9859a7a804fa1b7f9a6639484d7ceba12dcd57717800ad4bc0b1434475a3f2571433fe110001" +TrustedWorldPK ="dbbaa8ff9c32464bb2e39cc2341a9b5d31c7b56cdf1a18434b7b539002670816195c622d126747bb5bf499ceae72857d2e897d4416f604b60f7dde718ebce1f6825895f4cbc59e3d44f14b6b54159fde9561ca905143c21ebba6ec203a1183744f758e8bf1dded1244aed913a51d71189b4a254674274e0d3b656c218a555d96f8d8ee8d29d74129b1091dc98c256744896b1b927cd99609dd2f06dbb5e5eee4e5bc845d543747af2585c2db4cafbba7ccf668607e0dce22ffaf9716b2e949b67f5c0d751e670a5eea1a71819145cf06afc85dfba52ce9dae6f00772f9859a7a804fa1b7f9a6639484d7ceba12dcd57717800ad4bc0b1434475a3f2571433fe110001" + +#DebugScenario_0130 =1 +#SoCSpecific_0130 =2 +#SecondaryDebugCertPK =3 + +#DebugScenario_0131 =4 +#SoC_ID =5 +#SoCSpecific_0131 =6 + +#TrustedFirmareNVCounter_0220 =7 +#SCPFirmareContentCertPK =8 + +#TrustedFirmareNVCounter_0221 =9 +#SCPRomPatchHash =10 +#SCPFirmwareHash =11 + +#TrustedFirmareNVCounter_0230 =12 +#TrustedOSFirmwareContentCertPK=13 + +#TrustedFirmareNVCounter_0231 =14 +#NonTrustedFirmareNVCounter_0320=16 +#NonTrustedOSFirmwareContentCertPK=17 + +#NonTrustedFirmareNVCounter_0321=18 +#VirtualizationFirmwareHash =19 +#NonTrustedWorldBootloaderHash =20 +[ v3_req ] + +# Extensions to add to a certificate request + +basicConstraints = CA:FALSE +keyUsage = nonRepudiation, digitalSignature, keyEncipherment + +[ v3_ca ] + + +# Extensions for a typical CA + + +# PKIX recommendation. + +subjectKeyIdentifier=hash + +authorityKeyIdentifier=keyid:always,issuer:always + +# This is what PKIX recommends but some broken software chokes on critical +# extensions. +#basicConstraints = critical,CA:true +# So we do this instead. +basicConstraints = CA:true + +# Key usage: this is typical for a CA certificate. However since it will +# prevent it being used as an test self-signed certificate it is best +# left out by default. +# keyUsage = cRLSign, keyCertSign + +# Some might want this also +# nsCertType = sslCA, emailCA + +# Include email address in subject alt name: another PKIX recommendation +# subjectAltName=email:copy +# Copy issuer details +# issuerAltName=issuer:copy + +# DER hex encoding of an extension: beware experts only! +# obj=DER:02:03 +# Where 'obj' is a standard or added object +# You can even override a supported extension: +# basicConstraints= critical, DER:30:03:01:01:FF + +[ crl_ext ] + +# CRL extensions. +# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL. + +# issuerAltName=issuer:copy +authorityKeyIdentifier=keyid:always,issuer:always + +[ proxy_cert_ext ] +# These extensions should be added when creating a proxy certificate + +# This goes against PKIX guidelines but some CAs do it and some software +# requires this to avoid interpreting an end user certificate as a CA. + +basicConstraints=CA:FALSE + +# Here are some examples of the usage of nsCertType. If it is omitted +# the certificate can be used for anything *except* object signing. + +# This is OK for an SSL server. +# nsCertType = server + +# For an object signing certificate this would be used. +# nsCertType = objsign + +# For normal client use this is typical +# nsCertType = client, email + +# and for everything including object signing: +# nsCertType = client, email, objsign + +# This is typical in keyUsage for a client certificate. +# keyUsage = nonRepudiation, digitalSignature, keyEncipherment + +# This will be displayed in Netscape's comment listbox. +nsComment = "OpenSSL Generated Certificate" + +# PKIX recommendations harmless if included in all certificates. +subjectKeyIdentifier=hash +authorityKeyIdentifier=keyid,issuer:always + +# This stuff is for subjectAltName and issuerAltname. +# Import the email address. +# subjectAltName=email:copy +# An alternative to produce certificates that aren't +# deprecated according to PKIX. +# subjectAltName=email:move + +# Copy subject details +# issuerAltName=issuer:copy + +#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem +#nsBaseUrl +#nsRevocationUrl +#nsRenewalUrl +#nsCaPolicyUrl +#nsSslServerName + +# This really needs to be in place for it to be a proxy certificate. +proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo diff --git a/device/config/common/sign_config/dragon_toc.cfg b/device/config/common/sign_config/dragon_toc.cfg new file mode 100755 index 0000000..1ed7d20 --- /dev/null +++ b/device/config/common/sign_config/dragon_toc.cfg @@ -0,0 +1,32 @@ +;///////////////////////////////////////////////////////////////////////////// +;[key_ras] +;key_rasÓÃÀ´ÅäÖÃkeyµÄÉú³É +;///////////////////////////////////////////////////////////////////////////// +[key_rsa] +key=RootKey_Level_0 +key=NOTWORLD_KEY +key=PRIMARY_DEBUG_KEY +key=SCPFirmwareContentCertPK +key=SecondaryDebugCertPK +key=SoCFirmwareContentCert_KEY +key=TrustedFirmwareContentCertPK +key=TWORLD_KEY +key=NonTrustedFirmwareContentCertPK + + +[toc0] +;item=Item_TOC_name, Item_filename, Key_Name +item=toc0, sboot.bin, RootKey_Level_0 +;///////////////////////////////////////////////////////////////////////////// +;tocl_sign +;ÓÃÀ´ÅäÖÃÇ©ÃûÎļþÓëÖ¤ÊéÉú³ÉÒÀÀµ¹Øϵ +;///////////////////////////////////////////////////////////////////////////// +[toc1] +;item=Item_TOC_name, Item_filename, Key_Name +rootkey=rootkey, rootkey.der, RootKey_Level_0 +;item=semelis, semelis.bin, SoCFirmwareContentCert_KEY +onlykey=boot, boot.fex, SCPFirmwareContentCertPK +item=u-boot, u-boot.fex, NonTrustedFirmwareContentCertPK +onlydata=soc-cfg, config.fex NULL +onlydata=dtb, sunxi.fex NULL + diff --git a/device/config/common/sign_config/dragon_toc_a64.cfg b/device/config/common/sign_config/dragon_toc_a64.cfg new file mode 100755 index 0000000..8a10717 --- /dev/null +++ b/device/config/common/sign_config/dragon_toc_a64.cfg @@ -0,0 +1,34 @@ +;///////////////////////////////////////////////////////////////////////////// +;[key_ras] +;///////////////////////////////////////////////////////////////////////////// +[key_rsa] +key=Trustkey +key=NOTWORLD_KEY +key=PRIMARY_DEBUG_KEY +key=SCPFirmwareContentCertPK +key=SecondaryDebugCertPK +key=SoCFirmwareContentCert_KEY +key=TrustedFirmwareContentCertPK +key=TWORLD_KEY +key=NonTrustedFirmwareContentCertPK + + +[toc0] +;item=Item_TOC_name, Item_filename, Key_Name +item=toc0, sboot.bin, Trustkey + +[toc1] +;item=Item_TOC_name, Item_filename, Key_Name +rootkey=rootkey, rootkey.der, Trustkey +item=scp, scp.fex, SCPFirmwareContentCertPK +item=monitor, monitor.fex, TrustedFirmwareContentCertPK +item=optee, optee.fex, SCPFirmwareContentCertPK +onlykey=boot, boot.fex, SCPFirmwareContentCertPK +item=u-boot, u-boot.fex, NonTrustedFirmwareContentCertPK +onlydata=soc-cfg, config.fex NULL +onlydata=dtb, sunxi.fex NULL +onlydata=board-cfg, board.fex NULL +onlylogo=logo, bootlogo.bmp.lzma NULL +onlylogo=shutdowncharge, bempty.bmp.lzma NULL +onlylogo=androidcharge, battery_charge.bmp.lzma NULL + diff --git a/device/config/common/sign_config/dragon_toc_a64_android.cfg b/device/config/common/sign_config/dragon_toc_a64_android.cfg new file mode 100755 index 0000000..1ec407a --- /dev/null +++ b/device/config/common/sign_config/dragon_toc_a64_android.cfg @@ -0,0 +1,35 @@ +;///////////////////////////////////////////////////////////////////////////// +;[key_ras] +;///////////////////////////////////////////////////////////////////////////// +[key_rsa] +key=Trustkey +key=NOTWORLD_KEY +key=PRIMARY_DEBUG_KEY +key=SCPFirmwareContentCertPK +key=SecondaryDebugCertPK +key=SoCFirmwareContentCert_KEY +key=TrustedFirmwareContentCertPK +key=TWORLD_KEY +key=NonTrustedFirmwareContentCertPK + + +[toc0] +;item=Item_TOC_name, Item_filename, Key_Name +item=toc0, sboot.bin, Trustkey + +[toc1] +;item=Item_TOC_name, Item_filename, Key_Name +rootkey=rootkey, rootkey.der, Trustkey +item=scp, scp.fex, SCPFirmwareContentCertPK +item=monitor, monitor.fex, TrustedFirmwareContentCertPK +item=optee, optee.fex, SCPFirmwareContentCertPK +onlykey=boot, boot.fex, SCPFirmwareContentCertPK +onlykey=recovery, recovery.fex, SCPFirmwareContentCertPK +item=u-boot, u-boot.fex, NonTrustedFirmwareContentCertPK +onlydata=soc-cfg, config.fex NULL +onlydata=dtb, sunxi.fex NULL +onlydata=board-cfg, board.fex NULL +onlylogo=logo, bootlogo.bmp.lzma NULL +onlylogo=shutdowncharge, bempty.bmp.lzma NULL +onlylogo=androidcharge, battery_charge.bmp.lzma NULL + diff --git a/device/config/common/sign_config/dragon_toc_a64_no_secureos.cfg b/device/config/common/sign_config/dragon_toc_a64_no_secureos.cfg new file mode 100755 index 0000000..668a6c4 --- /dev/null +++ b/device/config/common/sign_config/dragon_toc_a64_no_secureos.cfg @@ -0,0 +1,31 @@ +;///////////////////////////////////////////////////////////////////////////// +;[key_ras] +;key_ras��������key������ +;///////////////////////////////////////////////////////////////////////////// +[key_rsa] +key=Trustkey +key=NOTWORLD_KEY +key=PRIMARY_DEBUG_KEY +key=SCPFirmwareContentCertPK +key=SecondaryDebugCertPK +key=SoCFirmwareContentCert_KEY +key=TrustedFirmwareContentCertPK +key=TWORLD_KEY +key=NonTrustedFirmwareContentCertPK + + +[toc0] +;item=Item_TOC_name, Item_filename, Key_Name +item=toc0, sboot.bin, Trustkey +;///////////////////////////////////////////////////////////////////////////// +;tocl_sign +;��������ǩ���ļ���֤������������ϵ +;///////////////////////////////////////////////////////////////////////////// +[toc1] +;item=Item_TOC_name, Item_filename, Key_Name +rootkey=rootkey, rootkey.der, Trustkey +item=monitor, monitor.fex, TrustedFirmwareContentCertPK +item=scp, scp.fex SCPFirmwareContentCertPK +onlykey=boot, boot.fex, NonTrustedFirmwareContentCertPK +item=u-boot, u-boot.fex, NonTrustedFirmwareContentCertPK + diff --git a/device/config/common/sign_config/dragon_toc_android.cfg b/device/config/common/sign_config/dragon_toc_android.cfg new file mode 100755 index 0000000..7a882cf --- /dev/null +++ b/device/config/common/sign_config/dragon_toc_android.cfg @@ -0,0 +1,33 @@ +;///////////////////////////////////////////////////////////////////////////// +;[key_ras] +;key_rasÓÃÀ´ÅäÖÃkeyµÄÉú³É +;///////////////////////////////////////////////////////////////////////////// +[key_rsa] +key=RootKey_Level_0 +key=NOTWORLD_KEY +key=PRIMARY_DEBUG_KEY +key=SCPFirmwareContentCertPK +key=SecondaryDebugCertPK +key=SoCFirmwareContentCert_KEY +key=TrustedFirmwareContentCertPK +key=TWORLD_KEY +key=NonTrustedFirmwareContentCertPK + + +[toc0] +;item=Item_TOC_name, Item_filename, Key_Name +item=toc0, sboot.bin, RootKey_Level_0 +;///////////////////////////////////////////////////////////////////////////// +;tocl_sign +;ÓÃÀ´ÅäÖÃÇ©ÃûÎļþÓëÖ¤ÊéÉú³ÉÒÀÀµ¹Øϵ +;///////////////////////////////////////////////////////////////////////////// +[toc1] +;item=Item_TOC_name, Item_filename, Key_Name +rootkey=rootkey, rootkey.der, RootKey_Level_0 +;item=semelis, semelis.bin, SoCFirmwareContentCert_KEY +onlykey=boot, boot.fex, SCPFirmwareContentCertPK +onlykey=recovery, recovery.fex, SCPFirmwareContentCertPK +item=u-boot, u-boot.fex, NonTrustedFirmwareContentCertPK +onlydata=soc-cfg, config.fex NULL +onlydata=dtb, sunxi.fex NULL + diff --git a/device/config/common/sign_config/dragon_toc_no_secureos.cfg b/device/config/common/sign_config/dragon_toc_no_secureos.cfg new file mode 100755 index 0000000..c81ee42 --- /dev/null +++ b/device/config/common/sign_config/dragon_toc_no_secureos.cfg @@ -0,0 +1,29 @@ +;///////////////////////////////////////////////////////////////////////////// +;[key_ras] +;key_ras��������key������ +;///////////////////////////////////////////////////////////////////////////// +[key_rsa] +key=Trustkey +key=NOTWORLD_KEY +key=PRIMARY_DEBUG_KEY +key=SCPFirmwareContentCertPK +key=SecondaryDebugCertPK +key=SoCFirmwareContentCert_KEY +key=TrustedFirmwareContentCertPK +key=TWORLD_KEY +key=NonTrustedFirmwareContentCertPK + + +[toc0] +;item=Item_TOC_name, Item_filename, Key_Name +item=toc0, sboot.bin, Trustkey +;///////////////////////////////////////////////////////////////////////////// +;tocl_sign +;��������ǩ���ļ���֤������������ϵ +;///////////////////////////////////////////////////////////////////////////// +[toc1] +;item=Item_TOC_name, Item_filename, Key_Name +rootkey=rootkey, rootkey.der, Trustkey +onlykey=boot, boot.fex, SCPFirmwareContentCertPK +item=u-boot, u-boot.fex, NonTrustedFirmwareContentCertPK + diff --git a/device/config/common/toc/arisc.fex b/device/config/common/toc/arisc.fex new file mode 100644 index 0000000..628d312 --- /dev/null +++ b/device/config/common/toc/arisc.fex @@ -0,0 +1 @@ +arisc is empty diff --git a/device/config/common/toc/boot_package.fex b/device/config/common/toc/boot_package.fex new file mode 100755 index 0000000..e8752bb --- /dev/null +++ b/device/config/common/toc/boot_package.fex @@ -0,0 +1 @@ +boot_package.fex \ No newline at end of file diff --git a/device/config/common/toc/toc0.fex b/device/config/common/toc/toc0.fex new file mode 100755 index 0000000..b9c1aee --- /dev/null +++ b/device/config/common/toc/toc0.fex @@ -0,0 +1 @@ +toc0.fex \ No newline at end of file diff --git a/device/config/common/toc/toc0_ft.fex b/device/config/common/toc/toc0_ft.fex new file mode 100755 index 0000000..f4345ab --- /dev/null +++ b/device/config/common/toc/toc0_ft.fex @@ -0,0 +1 @@ +toc0_ft.fex \ No newline at end of file diff --git a/device/config/common/toc/toc1.fex b/device/config/common/toc/toc1.fex new file mode 100755 index 0000000..e70ef5b --- /dev/null +++ b/device/config/common/toc/toc1.fex @@ -0,0 +1 @@ +toc1.fex \ No newline at end of file diff --git a/device/config/common/tools/aultls32.fex b/device/config/common/tools/aultls32.fex new file mode 100755 index 0000000..db315b7 Binary files /dev/null and b/device/config/common/tools/aultls32.fex differ diff --git a/device/config/common/tools/aultools.fex b/device/config/common/tools/aultools.fex new file mode 100755 index 0000000..692c941 Binary files /dev/null and b/device/config/common/tools/aultools.fex differ diff --git a/device/config/common/tools/cardscript.fex b/device/config/common/tools/cardscript.fex new file mode 100755 index 0000000..87890f3 --- /dev/null +++ b/device/config/common/tools/cardscript.fex @@ -0,0 +1,81 @@ +;------------------------------------------------------------------------------------------------------------- +; +; card_script.cfg +; +; 2009-11-20 11:11:23 +; +;------------------------------------------------------------------------------------------------------------- + +;------------------------------------------------------------------------------- +; ´¦Àí²½Öè +;------------------------------------------------------------------------------- +[process] +version=300 +mode=product +;null ·Ç·¨ 0 +;product ¿¨Á¿²ú 1 +;bromrun ¿¨Æô¶¯ 2 +;update ¿¨Éý¼¶ 3 +;test ¿¨²âÊÔ 4 + +;null±íʾÌø¹ý + +;start ÆðʼÉÈÇøºÅÂë +;sectors ÉÈÇø¸öÊý£¬0±íʾ×Ô¶¯¸ù¾ÝÎļþsize½øÐÐ×Ô¶¯´¦Àí + +;------------------------------------------------------------------------------- +; +;------------------------------------------------------------------------------- +[boot_0_0] +main=12345678 +sub=1234567890BOOT_0 +start=16 +sectors=0 +type=1 +;0 raw +;1 1²ã +;2 2²ã +;x ÆäËû +param0=0 +param1=0 +param2=0 +param3=0 +param4=0 +param5=0 +param6=0 +param7=0 +commen=pheonix card_00 +commchs=ÉÕдµÚÒ»²¿·Ö + +;------------------------------------------------------------------------------- +; +;------------------------------------------------------------------------------- +[boot_1_0] +main=12345678 +sub=UBOOT_0000000000 +start=38192 +sectors=0 +type=1 +;0 raw +;1 1²ã +;2 2²ã +;x ÆäËû +param0=0 +param1=0 +param2=0 +param3=0 +param4=0 +param5=0 +param6=0 +param7=0 +commen=pheonix card_10 +commchs=ÉÕдµÚÎ岿·Ö + + +[card_boot] +start = 40960 + + +;------------------------------------------------------------------------------------------------------------- +; ½áÊø +;------------------------------------------------------------------------------------------------------------- diff --git a/device/config/common/tools/cardscript_secure.fex b/device/config/common/tools/cardscript_secure.fex new file mode 100644 index 0000000..b04ef53 --- /dev/null +++ b/device/config/common/tools/cardscript_secure.fex @@ -0,0 +1,81 @@ +;------------------------------------------------------------------------------------------------------------- +; +; card_script.cfg +; +; 2009-11-20 11:11:23 +; +;------------------------------------------------------------------------------------------------------------- + +;------------------------------------------------------------------------------- +; 处ç†æ­¥éª¤ +;------------------------------------------------------------------------------- +[process] +version=300 +mode=product +;null éžæ³• 0 +;product å¡é‡äº§ 1 +;bromrun å¡å¯åŠ¨ 2 +;update å¡å‡çº§ 3 +;test å¡æµ‹è¯• 4 + +;null表示跳过 + +;start 起始扇区å·ç  +;sectors 扇区个数,0表示自动根æ®æ–‡ä»¶sizeè¿›è¡Œè‡ªåŠ¨å¤„ç† + +;------------------------------------------------------------------------------- +; +;------------------------------------------------------------------------------- +[boot_0_0] +main=12345678 +sub=TOC0_00000000000 +start=16 +sectors=0 +type=1 +;0 raw +;1 1层 +;2 2层 +;x 其他 +param0=0 +param1=0 +param2=0 +param3=0 +param4=0 +param5=0 +param6=0 +param7=0 +commen=pheonix card_00 +commchs=burn 1st part: toc0 + +;------------------------------------------------------------------------------- +; +;------------------------------------------------------------------------------- +[boot_1_0] +main=12345678 +sub=TOC1_00000000000 +start=32800 +sectors=0 +type=1 +;0 raw +;1 1层 +;2 2层 +;x 其他 +param0=0 +param1=0 +param2=0 +param3=0 +param4=0 +param5=0 +param6=0 +param7=0 +commen=pheonix card_10 +commchs=burn 2nd part: toc1 + + +[card_boot] +start = 40960 + + +;------------------------------------------------------------------------------------------------------------- +; ç»“æŸ +;------------------------------------------------------------------------------------------------------------- diff --git a/device/config/common/tools/cardtool.fex b/device/config/common/tools/cardtool.fex new file mode 100644 index 0000000..72512fd Binary files /dev/null and b/device/config/common/tools/cardtool.fex differ diff --git a/device/config/common/tools/split_xxxx.fex b/device/config/common/tools/split_xxxx.fex new file mode 100755 index 0000000..3f8b8af --- /dev/null +++ b/device/config/common/tools/split_xxxx.fex @@ -0,0 +1 @@ +a1sp9maKde37ee6c-6dc4-4d74-86f0-db32116efb53e0e40ccf-7a66-406b-88c3-415b4a62a8f7777622ab-6bd0-464f-9da5-4cc203e855ea8ce5671f-e8b5-442e-9300-2ee6836c538aabf5f481-c961-4895-8245-631f74851d0c2bbb4229-55a8-4929-a165-3f406f0ee441ab5d09a9-c4dc-44bb-a175-cfb7c978a062329ea51e-1ddc-44ff-ac09-9ef7b64e0c52a712e47d-13f7-4490-9fea-bdcd587b8a4a5ed4d4e6-0ba3-45c5-a778-3232a42d4d960a9b7466-d7b3-4087-b8ff-c51763b852a50cd78bb6-a6d5-43a8-8661-fb91abd346433e8a86ee-711e-49c1-ad54-b59dd01fe513e22b0d8b-647f-4417-a115-9806c5d64eec \ No newline at end of file diff --git a/device/config/common/tools/usbtool.fex b/device/config/common/tools/usbtool.fex new file mode 100755 index 0000000..e53c0b1 Binary files /dev/null and b/device/config/common/tools/usbtool.fex differ diff --git a/device/config/common/tools/usbtool_crash.fex b/device/config/common/tools/usbtool_crash.fex new file mode 100755 index 0000000..0be06ea Binary files /dev/null and b/device/config/common/tools/usbtool_crash.fex differ diff --git a/device/config/common/tools/usbtool_test.fex b/device/config/common/tools/usbtool_test.fex new file mode 100644 index 0000000..6be0011 Binary files /dev/null and b/device/config/common/tools/usbtool_test.fex differ diff --git a/device/config/common/version/version_base.mk b/device/config/common/version/version_base.mk new file mode 100755 index 0000000..94381d6 --- /dev/null +++ b/device/config/common/version/version_base.mk @@ -0,0 +1,11 @@ +# define the verions of the image +# format: main.sub +# such as 1.01, 2.33 +# NOTICE: the range of main version is from 0 to 31, +# the range of sub version is from 0 to 63 +# when you change the version, you must increase one of them or both, and never reduce the versions. +# the default version is 0.0 + +MAIN_VERSION = 0 + + diff --git a/lichee/brandy-2.0/build.sh b/lichee/brandy-2.0/build.sh new file mode 100755 index 0000000..c847f43 --- /dev/null +++ b/lichee/brandy-2.0/build.sh @@ -0,0 +1,332 @@ +#!/bin/bash + +# +#build.sh for uboot/spl +#wangwei@allwinnertech +# + +TOP_DIR=$(cd `dirname $0`;pwd;cd - >/dev/null 2>&1) +BRANDY_SPL_DIR=$TOP_DIR/spl +BRANDY_SPL_PUB_DIR=$TOP_DIR/spl-pub +SPL_OLD=$(grep ".module.common.mk" ${BRANDY_SPL_DIR}/Makefile) +set -e + +get_sys_config_name() +{ + [ -f $TOP_DIR/u-boot-2018/.config ] && \ + awk -F '=' '/CONFIG_SYS_CONFIG_NAME=/{print $2}' $TOP_DIR/u-boot-2018/.config | sed 's|"||g' +} + +show_help() +{ + printf "\nbuild.sh - Top level build scritps\n" + echo "Valid Options:" + echo " -h Show help message" + echo " -t install gcc tools chain" + echo " -o build,e.g. uboot,spl,clean" + echo " -p platform, e.g. sun8iw18p1, sun5i, sun6i, sun8iw1p1, sun8iw3p1, sun9iw1p1" + echo " -m mode,e.g. nand,mmc,nor" + echo " -c copy,e.g. any para" + echo "example:" + echo "./build.sh -o uboot -p sun8iw18p1" + echo "./build.sh -o spl -p sun8iw18p1 -m nand" + echo "./build.sh -o spl -p sun8iw18p1 -m nand -c copy" + printf "\n\n" +} + +prepare_toolchain() +{ + local ARCH="arm"; + local GCC=""; + local GCC_PREFIX=""; + local toolchain_archive_arm="./tools/toolchain/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz"; + local tooldir_arm="./tools/toolchain/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi"; + + echo "Prepare toolchain ..." + + if [ ! -e "${tooldir_arm}/.prepared" ]; then + rm -rf "${toolchain_arm}" + mkdir -p ${tooldir_arm} || exit 1 + tar --strip-components=1 -xf ${toolchain_archive_arm} -C ${tooldir_arm} || exit 1 + touch "${tooldir_arm}/.prepared" + fi +} + +function build_clean() +{ + (cd $TOP_DIR/spl; make distclean) + (cd $TOP_DIR/spl-pub; make distclean) + (cd $TOP_DIR/u-boot-2018; make distclean) +} + +build_uboot_once() +{ + local defconfig=$1 + local CONFIG_SYS_CONFIG_NAME=$(get_sys_config_name) + if [ "x${defconfig}" = "x" ];then + echo "please set defconfig" + exit 1 + fi + echo build for ${defconfig} ... + ( + cd u-boot-2018/ + if [ -f .tmp_defcofig.o.md5sum ];then + last_defconfig_md5sum=$(awk '{printf $1}' ".tmp_defcofig.o.md5sum") + fi + if [ -f .config ];then + cur_defconfig_md5sum=$(md5sum "configs/${defconfig}" | awk '{printf $1}') + if [ "x${CONFIG_SYS_CONFIG_NAME}" != "x${PLATFORM}" ];then + make distclean + make ${defconfig} + elif [ "x${last_defconfig_md5sum}" != "x${cur_defconfig_md5sum}" ];then + make ${defconfig} + fi + else + make distclean + make ${defconfig} + fi + make -j16 + ) +} + +function build_uboot() +{ + if [ "x${PLATFORM}" = "xall" ];then + for defconfig in `ls ${TOP_DIR}/u-boot-2018/configs`;do + if [[ $defconfig =~ .*_defconfig$ ]];then + build_uboot_once $defconfig + fi + done + else + if [ "x${LICHEE_FLASH}" = "x" ];then + for defconfig in `ls ${TOP_DIR}/u-boot-2018/configs/${PLATFORM}_*`;do + if [[ $defconfig =~ .*_defconfig$ ]];then + build_uboot_once ${defconfig##*/} + fi + done + elif [ "x${LICHEE_FLASH}" = "xdefault" ];then + build_uboot_once ${PLATFORM}_defconfig + elif [ "x${LICHEE_FLASH}" = "xnor" ];then + if [ -e ${TOP_DIR}/u-boot-2018/configs/${PLATFORM}_nor_defconfig ]; then + build_uboot_once ${PLATFORM}_defconfig + build_uboot_once ${PLATFORM}_nor_defconfig + else + echo "Cant find ${PLATFORM}_nor_defconfig" + exit 1 + fi + else + echo "unsupport flash mode" + exit 2 + fi + fi +} + +function build_spl-pub_once() +{ + board=$1 + mode=$2 + path=$3 + ( + cd ${path} + + if [ "x${mode}" = "xall" ];then + echo --------build for mode:${mode} board:${board}------------------- + make distclean + make b=${board} ${CP} + make -j ${CP} + else + echo --------build for mode:${mode} board:${board}------------------- + make distclean + make b=${board} m=${mode} ${CP} + case ${mode} in + nand | mmc | spinor) + make boot0 -j ${CP} + ;; + sboot_nor) + echo "Neednot build sboot_nor ..." + ;; + *) + make ${mode} -j ${CP} + ;; + esac + fi + ) +} + + +function build_spl-pub() +{ + if [ "x${BOARD}" = "xall" ];then + for board in `ls $TOP_DIR/$1/board`;do + if [ "x${MODE}" = "xall" ];then + build_spl-pub_once ${board} all $1 + else + build_spl-pub_once ${board} ${MODE} $1 + fi + done + elif [ "x${MODE}" = "xall" ];then + build_spl-pub_once ${BOARD} all $1 + else + build_spl-pub_once ${BOARD} ${MODE} $1 + fi +} + +function build_spl_once() +{ + platform=$1 + mode=$2 + path=$3 + support_board_exit=`cat $TOP_DIR/${path}/board/${platform}/common.mk | grep -w "SUPPORT_BOARD" | awk -F= '{printf $2}'` + if [ "x${BOARD}" != "xall" ];then + suport_board=${BOARD} + elif [ "x${support_board_exit}" = "x" ];then + suport_board=null + else + suport_board=`cat $TOP_DIR/${path}/board/${platform}/common.mk | grep -w "SUPPORT_BOARD" | awk -F= '{printf $2}'` + fi + echo "suport_board:${suport_board}" + ( + cd ${path} + + for board in ${suport_board};do + if [ "x${mode}" = "xall" ];then + echo --------build for platform:${platform} mode:${mode} board:${board}------------------- + make distclean + make p=${platform} b=${board} ${CP} + make -j b=${board} ${CP} + else + echo --------build for platform:${platform} mode:${mode} board:${board}------------------- + make distclean + make p=${platform} m=${mode} b=${board} ${CP} + case ${mode} in + nand | mmc | spinor) + make boot0 -j b=${board} ${CP} + ;; + sboot_nor) + echo "Neednot build sboot_nor ..." + ;; + *) + make ${mode} -j b=${board} ${CP} + ;; + esac + fi + done + ) +} + + +function build_spl() +{ + local CONFIG_SYS_CONFIG_NAME=$(get_sys_config_name) + if [ ! -d $TOP_DIR/$1/board/${PLATFORM} ] && [ "x${PLATFORM}" != "xall" ];then + PLATFORM=${CONFIG_SYS_CONFIG_NAME} + fi + if [ "x${PLATFORM}" = "xall" ];then + for platform in `ls $TOP_DIR/$1/board`;do + if [ "x${MODE}" = "xall" ];then + build_spl_once ${platform} all $1 + else + build_spl_once $platform ${MODE} $1 + fi + done + elif [ "x${MODE}" = "xall" ];then + build_spl_once ${PLATFORM} all $1 + else + build_spl_once ${PLATFORM} ${MODE} $1 + fi +} + +function build_spl_old() +{ + if [ "x${PLATFORM}" = "xall" ];then + for platform in `ls $TOP_DIR/spl/board`;do + if [ "x${MODE}" = "xall" ];then + for mode in `ls ${TOP_DIR}/spl/board/${platform}`;do + if [[ $mode =~ .*\.mk$ ]] \ + && [ "x$mode" != "xcommon.mk" ];then + mode=${mode%%.mk*} + build_spl_once ${platform} ${mode} $1 + fi + done + else + build_spl_once $platform ${MODE} $1 + fi + done + elif [ "x${MODE}" = "xall" ];then + for mode in `ls ${TOP_DIR}/spl/board/${PLATFORM}`;do + if [[ $mode =~ .*\.mk$ ]] \ + && [ "x$mode" != "xcommon.mk" ];then + mode=${mode%%.mk*} + build_spl_once ${PLATFORM} ${mode} $1 + fi + done + else + build_spl_once ${PLATFORM} ${MODE} $1 + fi +} + +function build_all() +{ + build_uboot + + if [ -d ${BRANDY_SPL_DIR} ] && [ "x${SPL_OLD}" != "x" ] ; then + [ "x${LICHEE_BRANDY_SPL}" != "x" ] && build_${LICHEE_BRANDY_SPL} ${LICHEE_BRANDY_SPL} || build_spl spl + elif [ -d ${BRANDY_SPL_DIR} ] && [ "x${SPL_OLD}" = "x" ] ; then + build_spl_old spl + elif [ -d ${BRANDY_SPL_PUB_DIR} ];then + build_spl-pub spl-pub + fi +} + +[ -e ${TOP_DIR}/../../.buildconfig ] && source ${TOP_DIR}/../../.buildconfig + +while getopts to:p:m:c:b: OPTION; do + case $OPTION in + t) + prepare_toolchain + exit $? + ;; + o) + prepare_toolchain + if [ "x${SPL_OLD}" = "x" ] && [ "x$OPTARG" = "xspl" ]; then + command="build_spl_old $OPTARG" + else + command="build_$OPTARG $OPTARG" + fi + ;; + + p) + PLATFORM=$OPTARG + ;; + m) + MODE=$OPTARG + ;; + c) + CP=C\=$OPTION + ;; + b) + BOARD=$OPTARG + ;; + *) + show_help + exit $? + ;; + esac +done +if [ "x${PLATFORM}" = "x" ];then + PLATFORM=all +fi +if [ "x${MODE}" = "x" ];then + MODE=all +fi +if [ "x${BOARD}" = "x" ];then + BOARD=all +fi +# echo "PLATFORM:${PLATFORM} MODE:${MODE} CP:${CP} BOARD:${BOARD} " +if [ "x$command" != "x" ];then + $command +else + build_all +fi +exit $? + diff --git a/lichee/brandy-2.0/spl-pub b/lichee/brandy-2.0/spl-pub new file mode 160000 index 0000000..8f2346a --- /dev/null +++ b/lichee/brandy-2.0/spl-pub @@ -0,0 +1 @@ +Subproject commit 8f2346a53d402e3c5d626d3cc111b12ffb54d8b0 diff --git a/lichee/brandy-2.0/tools/.gitignore b/lichee/brandy-2.0/tools/.gitignore new file mode 100644 index 0000000..cd9fe4d --- /dev/null +++ b/lichee/brandy-2.0/tools/.gitignore @@ -0,0 +1,4 @@ +toolchain/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/* +toolchain/riscv64-linux-x86_64-20200528/* +toolchain/riscv64-glibc-gcc-thead_20200702/* +toolchain/gcc-arm-none-eabi-8-2019-q3-update/* diff --git a/lichee/brandy-2.0/tools/build.sh b/lichee/brandy-2.0/tools/build.sh new file mode 100755 index 0000000..c847f43 --- /dev/null +++ b/lichee/brandy-2.0/tools/build.sh @@ -0,0 +1,332 @@ +#!/bin/bash + +# +#build.sh for uboot/spl +#wangwei@allwinnertech +# + +TOP_DIR=$(cd `dirname $0`;pwd;cd - >/dev/null 2>&1) +BRANDY_SPL_DIR=$TOP_DIR/spl +BRANDY_SPL_PUB_DIR=$TOP_DIR/spl-pub +SPL_OLD=$(grep ".module.common.mk" ${BRANDY_SPL_DIR}/Makefile) +set -e + +get_sys_config_name() +{ + [ -f $TOP_DIR/u-boot-2018/.config ] && \ + awk -F '=' '/CONFIG_SYS_CONFIG_NAME=/{print $2}' $TOP_DIR/u-boot-2018/.config | sed 's|"||g' +} + +show_help() +{ + printf "\nbuild.sh - Top level build scritps\n" + echo "Valid Options:" + echo " -h Show help message" + echo " -t install gcc tools chain" + echo " -o build,e.g. uboot,spl,clean" + echo " -p platform, e.g. sun8iw18p1, sun5i, sun6i, sun8iw1p1, sun8iw3p1, sun9iw1p1" + echo " -m mode,e.g. nand,mmc,nor" + echo " -c copy,e.g. any para" + echo "example:" + echo "./build.sh -o uboot -p sun8iw18p1" + echo "./build.sh -o spl -p sun8iw18p1 -m nand" + echo "./build.sh -o spl -p sun8iw18p1 -m nand -c copy" + printf "\n\n" +} + +prepare_toolchain() +{ + local ARCH="arm"; + local GCC=""; + local GCC_PREFIX=""; + local toolchain_archive_arm="./tools/toolchain/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz"; + local tooldir_arm="./tools/toolchain/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi"; + + echo "Prepare toolchain ..." + + if [ ! -e "${tooldir_arm}/.prepared" ]; then + rm -rf "${toolchain_arm}" + mkdir -p ${tooldir_arm} || exit 1 + tar --strip-components=1 -xf ${toolchain_archive_arm} -C ${tooldir_arm} || exit 1 + touch "${tooldir_arm}/.prepared" + fi +} + +function build_clean() +{ + (cd $TOP_DIR/spl; make distclean) + (cd $TOP_DIR/spl-pub; make distclean) + (cd $TOP_DIR/u-boot-2018; make distclean) +} + +build_uboot_once() +{ + local defconfig=$1 + local CONFIG_SYS_CONFIG_NAME=$(get_sys_config_name) + if [ "x${defconfig}" = "x" ];then + echo "please set defconfig" + exit 1 + fi + echo build for ${defconfig} ... + ( + cd u-boot-2018/ + if [ -f .tmp_defcofig.o.md5sum ];then + last_defconfig_md5sum=$(awk '{printf $1}' ".tmp_defcofig.o.md5sum") + fi + if [ -f .config ];then + cur_defconfig_md5sum=$(md5sum "configs/${defconfig}" | awk '{printf $1}') + if [ "x${CONFIG_SYS_CONFIG_NAME}" != "x${PLATFORM}" ];then + make distclean + make ${defconfig} + elif [ "x${last_defconfig_md5sum}" != "x${cur_defconfig_md5sum}" ];then + make ${defconfig} + fi + else + make distclean + make ${defconfig} + fi + make -j16 + ) +} + +function build_uboot() +{ + if [ "x${PLATFORM}" = "xall" ];then + for defconfig in `ls ${TOP_DIR}/u-boot-2018/configs`;do + if [[ $defconfig =~ .*_defconfig$ ]];then + build_uboot_once $defconfig + fi + done + else + if [ "x${LICHEE_FLASH}" = "x" ];then + for defconfig in `ls ${TOP_DIR}/u-boot-2018/configs/${PLATFORM}_*`;do + if [[ $defconfig =~ .*_defconfig$ ]];then + build_uboot_once ${defconfig##*/} + fi + done + elif [ "x${LICHEE_FLASH}" = "xdefault" ];then + build_uboot_once ${PLATFORM}_defconfig + elif [ "x${LICHEE_FLASH}" = "xnor" ];then + if [ -e ${TOP_DIR}/u-boot-2018/configs/${PLATFORM}_nor_defconfig ]; then + build_uboot_once ${PLATFORM}_defconfig + build_uboot_once ${PLATFORM}_nor_defconfig + else + echo "Cant find ${PLATFORM}_nor_defconfig" + exit 1 + fi + else + echo "unsupport flash mode" + exit 2 + fi + fi +} + +function build_spl-pub_once() +{ + board=$1 + mode=$2 + path=$3 + ( + cd ${path} + + if [ "x${mode}" = "xall" ];then + echo --------build for mode:${mode} board:${board}------------------- + make distclean + make b=${board} ${CP} + make -j ${CP} + else + echo --------build for mode:${mode} board:${board}------------------- + make distclean + make b=${board} m=${mode} ${CP} + case ${mode} in + nand | mmc | spinor) + make boot0 -j ${CP} + ;; + sboot_nor) + echo "Neednot build sboot_nor ..." + ;; + *) + make ${mode} -j ${CP} + ;; + esac + fi + ) +} + + +function build_spl-pub() +{ + if [ "x${BOARD}" = "xall" ];then + for board in `ls $TOP_DIR/$1/board`;do + if [ "x${MODE}" = "xall" ];then + build_spl-pub_once ${board} all $1 + else + build_spl-pub_once ${board} ${MODE} $1 + fi + done + elif [ "x${MODE}" = "xall" ];then + build_spl-pub_once ${BOARD} all $1 + else + build_spl-pub_once ${BOARD} ${MODE} $1 + fi +} + +function build_spl_once() +{ + platform=$1 + mode=$2 + path=$3 + support_board_exit=`cat $TOP_DIR/${path}/board/${platform}/common.mk | grep -w "SUPPORT_BOARD" | awk -F= '{printf $2}'` + if [ "x${BOARD}" != "xall" ];then + suport_board=${BOARD} + elif [ "x${support_board_exit}" = "x" ];then + suport_board=null + else + suport_board=`cat $TOP_DIR/${path}/board/${platform}/common.mk | grep -w "SUPPORT_BOARD" | awk -F= '{printf $2}'` + fi + echo "suport_board:${suport_board}" + ( + cd ${path} + + for board in ${suport_board};do + if [ "x${mode}" = "xall" ];then + echo --------build for platform:${platform} mode:${mode} board:${board}------------------- + make distclean + make p=${platform} b=${board} ${CP} + make -j b=${board} ${CP} + else + echo --------build for platform:${platform} mode:${mode} board:${board}------------------- + make distclean + make p=${platform} m=${mode} b=${board} ${CP} + case ${mode} in + nand | mmc | spinor) + make boot0 -j b=${board} ${CP} + ;; + sboot_nor) + echo "Neednot build sboot_nor ..." + ;; + *) + make ${mode} -j b=${board} ${CP} + ;; + esac + fi + done + ) +} + + +function build_spl() +{ + local CONFIG_SYS_CONFIG_NAME=$(get_sys_config_name) + if [ ! -d $TOP_DIR/$1/board/${PLATFORM} ] && [ "x${PLATFORM}" != "xall" ];then + PLATFORM=${CONFIG_SYS_CONFIG_NAME} + fi + if [ "x${PLATFORM}" = "xall" ];then + for platform in `ls $TOP_DIR/$1/board`;do + if [ "x${MODE}" = "xall" ];then + build_spl_once ${platform} all $1 + else + build_spl_once $platform ${MODE} $1 + fi + done + elif [ "x${MODE}" = "xall" ];then + build_spl_once ${PLATFORM} all $1 + else + build_spl_once ${PLATFORM} ${MODE} $1 + fi +} + +function build_spl_old() +{ + if [ "x${PLATFORM}" = "xall" ];then + for platform in `ls $TOP_DIR/spl/board`;do + if [ "x${MODE}" = "xall" ];then + for mode in `ls ${TOP_DIR}/spl/board/${platform}`;do + if [[ $mode =~ .*\.mk$ ]] \ + && [ "x$mode" != "xcommon.mk" ];then + mode=${mode%%.mk*} + build_spl_once ${platform} ${mode} $1 + fi + done + else + build_spl_once $platform ${MODE} $1 + fi + done + elif [ "x${MODE}" = "xall" ];then + for mode in `ls ${TOP_DIR}/spl/board/${PLATFORM}`;do + if [[ $mode =~ .*\.mk$ ]] \ + && [ "x$mode" != "xcommon.mk" ];then + mode=${mode%%.mk*} + build_spl_once ${PLATFORM} ${mode} $1 + fi + done + else + build_spl_once ${PLATFORM} ${MODE} $1 + fi +} + +function build_all() +{ + build_uboot + + if [ -d ${BRANDY_SPL_DIR} ] && [ "x${SPL_OLD}" != "x" ] ; then + [ "x${LICHEE_BRANDY_SPL}" != "x" ] && build_${LICHEE_BRANDY_SPL} ${LICHEE_BRANDY_SPL} || build_spl spl + elif [ -d ${BRANDY_SPL_DIR} ] && [ "x${SPL_OLD}" = "x" ] ; then + build_spl_old spl + elif [ -d ${BRANDY_SPL_PUB_DIR} ];then + build_spl-pub spl-pub + fi +} + +[ -e ${TOP_DIR}/../../.buildconfig ] && source ${TOP_DIR}/../../.buildconfig + +while getopts to:p:m:c:b: OPTION; do + case $OPTION in + t) + prepare_toolchain + exit $? + ;; + o) + prepare_toolchain + if [ "x${SPL_OLD}" = "x" ] && [ "x$OPTARG" = "xspl" ]; then + command="build_spl_old $OPTARG" + else + command="build_$OPTARG $OPTARG" + fi + ;; + + p) + PLATFORM=$OPTARG + ;; + m) + MODE=$OPTARG + ;; + c) + CP=C\=$OPTION + ;; + b) + BOARD=$OPTARG + ;; + *) + show_help + exit $? + ;; + esac +done +if [ "x${PLATFORM}" = "x" ];then + PLATFORM=all +fi +if [ "x${MODE}" = "x" ];then + MODE=all +fi +if [ "x${BOARD}" = "x" ];then + BOARD=all +fi +# echo "PLATFORM:${PLATFORM} MODE:${MODE} CP:${CP} BOARD:${BOARD} " +if [ "x$command" != "x" ];then + $command +else + build_all +fi +exit $? + diff --git a/lichee/brandy-2.0/tools/create_mbr/crc.c b/lichee/brandy-2.0/tools/create_mbr/crc.c new file mode 100644 index 0000000..469e946 --- /dev/null +++ b/lichee/brandy-2.0/tools/create_mbr/crc.c @@ -0,0 +1,50 @@ +/* +********************************************************************************************************* +* ePDK +* the Easy Portable/Player Develop Kits +* Decompression For Boot +* +* (c) Copyright 2009-2010, Sunny China +* All Rights Reserved +* +* File : calc_crc32.c +* By : sunny +* Version : V2.0 +* Date : 2009-11-4 10:34:26 +********************************************************************************************************* +*/ +#include "crc.h" +#include "types.h" + +__u32 calc_crc32(void * buffer, u32 length) +{ + __u32 i, j; + CRC32_DATA_t crc32; // + __u32 CRC32 = 0xffffffff; //ÉèÖóõʼֵ + + crc32.CRC = 0; + + for( i = 0; i < 256; ++i)//ÓÃ++iÒÔÌá¸ßЧÂÊ + { + crc32.CRC = i; + for( j = 0; j < 8 ; ++j) + { + //Õâ¸öÑ­»·Êµ¼ÊÉϾÍÊÇÓÃ"¼ÆËã·¨"À´ÇóÈ¡CRCµÄУÑéÂë + if(crc32.CRC & 1) + crc32.CRC = (crc32.CRC >> 1) ^ 0xEDB88320; + else //0xEDB88320¾ÍÊÇCRC-32¶àÏî±í´ïʽµÄÖµ + crc32.CRC >>= 1; + } + crc32.CRC_32_Tbl[i] = crc32.CRC; + } + + CRC32 = 0xffffffff; //ÉèÖóõʼֵ + for( i = 0; i < length; ++i) + { + CRC32 = crc32.CRC_32_Tbl[(CRC32^((unsigned char*)buffer)[i]) & 0xff] ^ (CRC32>>8); + } + + //return CRC32; + return CRC32^0xffffffff; +} + diff --git a/lichee/brandy-2.0/tools/create_mbr/crc.h b/lichee/brandy-2.0/tools/create_mbr/crc.h new file mode 100644 index 0000000..46ee219 --- /dev/null +++ b/lichee/brandy-2.0/tools/create_mbr/crc.h @@ -0,0 +1,31 @@ +/* +********************************************************************************************************* +* ePDK +* the Easy Portable/Player Develop Kits +* Decompression For Boot +* +* (c) Copyright 2009-2010, Sunny China +* All Rights Reserved +* +* File : DFB_File.h +* By : sunny +* Version : V2.0 +* Date : 2009-11-4 10:35:33 +********************************************************************************************************* +*/ +#ifndef __CAL_CRC_H__ +#define __CAL_CRC_H__ + + +typedef struct tag_CRC32_DATA +{ + unsigned CRC; //ÔÚWindowsϱà³Ì£¬intµÄ´óСÊÇ32λ + unsigned CRC_32_Tbl[256]; //ÓÃÀ´±£´æÂë±í +}CRC32_DATA_t; + + + +extern unsigned calc_crc32(void * buffer, unsigned length); + + +#endif /* __CAL_CRC_H__ */ diff --git a/lichee/brandy-2.0/tools/create_mbr/gpt.h b/lichee/brandy-2.0/tools/create_mbr/gpt.h new file mode 100644 index 0000000..8e0e254 --- /dev/null +++ b/lichee/brandy-2.0/tools/create_mbr/gpt.h @@ -0,0 +1,146 @@ +/* + * Copyright (C) 2016 Allwinner. + * wangwei + * + * GPT Head.h + * + * SPDX-License-Identifier: GPL-2.0+ + */ + + + +#ifndef _GPT_H +#define _GPT_H + +#define MSDOS_MBR_SIGNATURE 0xAA55 +#define EFI_PMBR_OSTYPE_EFI 0xEF +#define EFI_PMBR_OSTYPE_EFI_GPT 0xEE + +#define GPT_BLOCK_SIZE 512 +#define GPT_RESERVED_SIZE (GPT_BLOCK_SIZE - 92) +#define GPT_HEADER_SIGNATURE_SIZE 8 +//#define GPT_HEADER_SIGNATURE "EFI PART" +#define GPT_HEADER_SIGNATURE 0x5452415020494645ULL +#define GPT_HEADER_REVISION_V1 0x00010000 +#define GPT_HEADER_SIZE 0x5c +#define GPT_PRIMARY_PARTITION_TABLE_LBA 1ULL +#define GPT_ENTRY_NAME "gpt" + +#define GPT_ENTRY_NUMBERS 128 +#define GPT_ENTRY_SIZE 128 +#define GPT_ENTRY_OFFSET 1024 +#define GPT_HAED_OFFSET 512 + + + +#define EFI_GUID(a,b,c,d0,d1,d2,d3,d4,d5,d6,d7) \ + ((efi_guid_t) \ + {{ (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \ + (b) & 0xff, ((b) >> 8) & 0xff, \ + (c) & 0xff, ((c) >> 8) & 0xff, \ + (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }}) + +#define PARTITION_SYSTEM_GUID \ + EFI_GUID( 0xC12A7328, 0xF81F, 0x11d2, \ + 0xBA, 0x4B, 0x00, 0xA0, 0xC9, 0x3E, 0xC9, 0x3B) +#define LEGACY_MBR_PARTITION_GUID \ + EFI_GUID( 0x024DEE41, 0x33E7, 0x11d3, \ + 0x9D, 0x69, 0x00, 0x08, 0xC7, 0x81, 0xF3, 0x9F) +#define PARTITION_MSFT_RESERVED_GUID \ + EFI_GUID( 0xE3C9E316, 0x0B5C, 0x4DB8, \ + 0x81, 0x7D, 0xF9, 0x2D, 0xF0, 0x02, 0x15, 0xAE) +#define PARTITION_BASIC_DATA_GUID \ + EFI_GUID( 0xEBD0A0A2, 0xB9E5, 0x4433, \ + 0x87, 0xC0, 0x68, 0xB6, 0xB7, 0x26, 0x99, 0xC7) +#define PARTITION_LINUX_RAID_GUID \ + EFI_GUID( 0xa19d880f, 0x05fc, 0x4d3b, \ + 0xa0, 0x06, 0x74, 0x3f, 0x0f, 0x84, 0x91, 0x1e) +#define PARTITION_LINUX_SWAP_GUID \ + EFI_GUID( 0x0657fd6d, 0xa4ab, 0x43c4, \ + 0x84, 0xe5, 0x09, 0x33, 0xc8, 0x4b, 0x4f, 0x4f) +#define PARTITION_LINUX_LVM_GUID \ + EFI_GUID( 0xe6d6d379, 0xf507, 0x44c2, \ + 0xa2, 0x3c, 0x23, 0x8f, 0x2a, 0x3d, 0xf9, 0x28) + +/* linux/include/efi.h */ +typedef unsigned short efi_char16_t; + +#pragma pack(1) + +typedef struct { + unsigned char b[16]; +} efi_guid_t; + + +/* based on linux/include/genhd.h */ +struct partition { + unsigned char boot_ind; /* 0x80 - active */ + unsigned char head; /* starting head */ + unsigned char sector; /* starting sector */ + unsigned char cyl; /* starting cylinder */ + unsigned char part_type; /* What partition type */ + unsigned char end_head; /* end head */ + unsigned char end_sector; /* end sector */ + unsigned char end_cyl; /* end cylinder */ + unsigned int start_sect; /* starting sector counting from 0 */ + unsigned int nr_sects; /* nr of sectors in partition */ +}; + +/* based on linux/fs/partitions/efi.h */ +typedef struct _gpt_header { + u64 signature; + u32 revision; + u32 header_size; + u32 header_crc32; + u32 reserved1; + u64 my_lba; + u64 alternate_lba; + u64 first_usable_lba; + u64 last_usable_lba; + efi_guid_t disk_guid; + u64 partition_entry_lba; + u32 num_partition_entries; + u32 sizeof_partition_entry; + u32 partition_entry_array_crc32; +} gpt_header; + +typedef union _gpt_entry_attributes { + struct { + u64 required_to_function:1; + u64 no_block_io_protocol:1; + u64 legacy_bios_bootable:1; + u64 reserved:27; + u64 user_type:16; + u64 ro:1; + u64 keydata:1; + u64 type_guid_specific:16; + } fields; + unsigned long long raw; +} gpt_entry_attributes; + + +#define PARTNAME_SZ (72 / sizeof(efi_char16_t)) + +typedef struct _gpt_entry { + efi_guid_t partition_type_guid; + efi_guid_t unique_partition_guid; + u64 starting_lba; + u64 ending_lba; + gpt_entry_attributes attributes; + efi_char16_t partition_name[PARTNAME_SZ]; +} gpt_entry; + + +typedef struct _legacy_mbr { + unsigned char boot_code[440]; + unsigned char unique_mbr_signature[4]; + unsigned char unknown[2]; + struct partition partition_record[4]; + short end_flag; +} legacy_mbr; +#pragma pack() + +#define GPT_ENTRY_OFFSET 1024 +#define GPT_HEAD_OFFSET 512 + +#endif /* _GPT_H */ diff --git a/lichee/brandy-2.0/tools/create_mbr/makefile b/lichee/brandy-2.0/tools/create_mbr/makefile new file mode 100644 index 0000000..31c7ec6 --- /dev/null +++ b/lichee/brandy-2.0/tools/create_mbr/makefile @@ -0,0 +1,12 @@ + + +objects = crc.o script.o update_mbr.o update_gpt.o + + +edit:$(objects) + gcc -o update_mbr $(objects) -static + rm -rf $(objects) + @cp -v update_mbr ../../../../tools/pack/pctools/linux/mod_update/update_mbr + +clean: + rm -rf update_mbr $(objects) diff --git a/lichee/brandy-2.0/tools/create_mbr/script.c b/lichee/brandy-2.0/tools/create_mbr/script.c new file mode 100644 index 0000000..8e11e0a --- /dev/null +++ b/lichee/brandy-2.0/tools/create_mbr/script.c @@ -0,0 +1,372 @@ +/* +********************************************************************************************************************** +* eGon +* the Embedded System +* script parser sub-system +* +* Copyright(C), 2006-2010, SoftWinners Microelectronic Co., Ltd. +* All Rights Reserved +* +* File : script.c +* +* By : Jerry +* +* Version : V2.00 +* +* Date : +* +* Descript: +********************************************************************************************************************** +*/ +#include +#include "types.h" +#include +#include "script.h" +#include "crc.h" +#include "sunxi_mbr.h" +#include +#include + +static char *script_mod_buf = NULL; //Ö¸ÏòµÚÒ»¸öÖ÷¼ü +static int script_main_key_count = 0; //±£´æÖ÷¼üµÄ¸öÊý + +static int partition_start; +static int partition_next; + +static int _test_str_length(char *str) +{ + int length = 0; + + while(str[length++]) + { + if(length > 32) + { + length = 32; + break; + } + } + + return length; +} +/* +************************************************************************************************************ +* +* script_parser_init +* +* º¯ÊýÃû³Æ£º +* +* ²ÎÊýÁÐ±í£ºscript_buf: ½Å±¾Êý¾Ý³Ø +* +* ·µ»ØÖµ £º +* +* ˵Ã÷ £º +* +* +************************************************************************************************************ +*/ +int script_parser_init(char *script_buf) +{ + script_head_t *script_head; + + if(script_buf) + { + script_mod_buf = script_buf; + script_head = (script_head_t *)script_mod_buf; + + script_main_key_count = script_head->main_key_count; + + return SCRIPT_PARSER_OK; + } + else + { + printf("thi input script data buffer is null\n"); + + return SCRIPT_PARSER_EMPTY_BUFFER; + } +} +/* +************************************************************************************************************ +* +* script_parser_exit +* +* º¯ÊýÃû³Æ£º +* +* ²ÎÊýÁÐ±í£ºNULL +* +* ·µ»ØÖµ £º +* +* ˵Ã÷ £º +* +* +************************************************************************************************************ +*/ +int script_parser_exit(void) +{ + script_mod_buf = NULL; + script_main_key_count = 0; + + return SCRIPT_PARSER_OK; +} + +/* +************************************************************************************************************ +* +* script_parser_fetch +* +* º¯ÊýÃû³Æ£º +* +* ²ÎÊýÁÐ±í£º +* +* ·µ»ØÖµ £º +* +* ˵Ã÷ £º¸ù¾Ý´«½øµÄÖ÷¼ü£¬×Ó¼ü£¬È¡µÃ¶ÔÓ¦µÄÊýÖµ +* +* +************************************************************************************************************ +*/ +int script_parser_fetch(char *main_name, char *sub_name, int value[]) +{ + char main_char[32], sub_char[32]; + script_main_key_t *main_key; + script_sub_key_t *sub_key; + int i, j, k; + int pattern, word_count; + + //¼ì²é½Å±¾bufferÊÇ·ñ´æÔÚ + if(!script_mod_buf) + { + printf("the script data buffer is null, unable to parser\n"); + + return SCRIPT_PARSER_EMPTY_BUFFER; + } + //¼ì²éÖ÷¼üÃû³ÆºÍ×Ó¼üÃû³ÆÊÇ·ñΪ¿Õ + if((main_name == NULL) || (sub_name == NULL)) + { + printf("the input main key name or sub key name is null\n"); + + return SCRIPT_PARSER_KEYNAME_NULL; + } + //¼ì²éÊý¾ÝbufferÊÇ·ñΪ¿Õ + if(value == NULL) + { + printf("the input data value is null\n"); + + return SCRIPT_PARSER_DATA_VALUE_NULL; + } + //±£´æÖ÷¼üÃû³ÆºÍ×Ó¼üÃû³Æ£¬Èç¹û³¬¹ý16×Ö½ÚÔò½ØÈ¡16×Ö½Ú + memset(main_char, 0, sizeof(main_char)); + memset(sub_char, 0, sizeof(sub_char)); + if(_test_str_length(main_name) <= 32) + { + strcpy(main_char, main_name); + } + else + { + strncpy(main_char, main_name, 31); + } + + if(_test_str_length(sub_name) <= 32) + { + strcpy(sub_char, sub_name); + } + else + { + strncpy(sub_char, sub_name, 31); + } + + for(i=0;imain_name, main_char)) //Èç¹ûÖ÷¼ü²»Æ¥Å䣬ѰÕÒÏÂÒ»¸öÖ÷¼ü + { + continue; + } + //Ö÷¼üÆ¥Å䣬ѰÕÒ×Ó¼üÃû³ÆÆ¥Åä + for(j=0;jlenth;j++) + { + sub_key = (script_sub_key_t *)(script_mod_buf + (main_key->offset<<2) + (j * sizeof(script_sub_key_t))); + if(strcmp(sub_key->sub_name, sub_char)) //Èç¹ûÖ÷¼ü²»Æ¥Å䣬ѰÕÒÏÂÒ»¸öÖ÷¼ü + { + continue; + } + pattern = (sub_key->pattern>>16) & 0xffff; //»ñÈ¡Êý¾ÝµÄÀàÐÍ + word_count = (sub_key->pattern>> 0) & 0xffff; //»ñÈ¡ËùÕ¼ÓõÄword¸öÊý + //È¡³öÊý¾Ý + switch(pattern) + { + case DATA_TYPE_SINGLE_WORD: //µ¥wordÊý¾ÝÀàÐÍ + value[0] = *(int *)(script_mod_buf + (sub_key->offset<<2)); + break; + + case DATA_TYPE_STRING: //×Ö·û´®Êý¾ÝÀàÐÍ + memcpy((char *)value, script_mod_buf + (sub_key->offset<<2), word_count << 2); + break; + + case DATA_TYPE_GPIO_WORD: //¶àwordÊý¾ÝÀàÐÍ + k = 0; + while(k < word_count) + { + value[k] = *(int *)(script_mod_buf + (sub_key->offset<<2) + (k<<2)); + k ++; + } + break; + } + + return SCRIPT_PARSER_OK; + } + } + + return SCRIPT_PARSER_KEY_NOT_FIND; +} + +/* +************************************************************************************************************ +* +* script_parser_fetch +* +* º¯ÊýÃû³Æ£º +* +* ²ÎÊýÁÐ±í£º +* +* ·µ»ØÖµ £º +* +* ˵Ã÷ £º¸ù¾Ý´«½øµÄÖ÷¼ü£¬×Ó¼ü£¬È¡µÃ¶ÔÓ¦µÄÊýÖµ +* +* +************************************************************************************************************ +*/ +int script_parser_fetch_partition(void) +{ + script_main_key_t *main_key; + int i; + + //¼ì²é½Å±¾bufferÊÇ·ñ´æÔÚ + if(!partition_start) //ÏÈÕÒpartition_start£¬È»ºóÕÒÆäºóÃæµÄpartition + { + for(i=0;imain_name, "partition_start")) //Èç¹ûÖ÷¼ü²»Æ¥Å䣬ѰÕÒÏÂÒ»¸öÖ÷¼ü + { + continue; + } + else + { + partition_start = i; + partition_next = partition_start; + break; + } + } + if(!partition_start) + { + printf("unable to find key partition_start\n"); + + return -1; + } + } + partition_next ++; + main_key = (script_main_key_t *)(script_mod_buf + (sizeof(script_head_t)) + partition_next * sizeof(script_main_key_t)); + if(strcmp(main_key->main_name, "partition")) + { + printf("this is not a partition key\n"); + + return 0; + } + + return partition_next; +} + + +/* +************************************************************************************************************ +* +* script_parser_fetch +* +* º¯ÊýÃû³Æ£º +* +* ²ÎÊýÁÐ±í£º +* +* ·µ»ØÖµ £º +* +* ˵Ã÷ £º¸ù¾Ý´«½øµÄÖ÷¼ü£¬×Ó¼ü£¬È¡µÃ¶ÔÓ¦µÄÊýÖµ +* +* +************************************************************************************************************ +*/ +int script_parser_fetch_mainkey_sub(char *sub_name, int index, int *value) +{ + char sub_char[32]; + script_main_key_t *main_key; + script_sub_key_t *sub_key; + int j, k; + int pattern, word_count; + + //¼ì²é½Å±¾bufferÊÇ·ñ´æÔÚ + if(!script_mod_buf) + { + printf("the script data buffer is null, unable to parser\n"); + + return SCRIPT_PARSER_EMPTY_BUFFER; + } + //¼ì²éÖ÷¼üÃû³ÆºÍ×Ó¼üÃû³ÆÊÇ·ñΪ¿Õ + if(sub_name == NULL) + { + printf("the input sub key name is null\n"); + + return SCRIPT_PARSER_KEYNAME_NULL; + } + //±£´æÖ÷¼üÃû³ÆºÍ×Ó¼üÃû³Æ£¬Èç¹û³¬¹ý16×Ö½ÚÔò½ØÈ¡16×Ö½Ú + memset(sub_char, 0, sizeof(sub_char)); + if(_test_str_length(sub_name) <= 32) + { + strcpy(sub_char, sub_name); + } + + main_key = (script_main_key_t *)(script_mod_buf + (sizeof(script_head_t)) + index * sizeof(script_main_key_t)); + if(strcmp(main_key->main_name, "partition")) //Èç¹ûÖ÷¼ü²»Æ¥Å䣬ѰÕÒÏÂÒ»¸öÖ÷¼ü + { + printf("this is not a good partition key\n"); + + return -1; + } + //Ö÷¼üÆ¥Å䣬ѰÕÒ×Ó¼üÃû³ÆÆ¥Åä + for(j=0;jlenth;j++) + { + sub_key = (script_sub_key_t *)(script_mod_buf + (main_key->offset<<2) + (j * sizeof(script_sub_key_t))); + if(strcmp(sub_key->sub_name, sub_char)) //Èç¹ûÖ÷¼ü²»Æ¥Å䣬ѰÕÒÏÂÒ»¸öÖ÷¼ü + { + continue; + } + pattern = (sub_key->pattern>>16) & 0xffff; //»ñÈ¡Êý¾ÝµÄÀàÐÍ + word_count = (sub_key->pattern>> 0) & 0xffff; //»ñÈ¡ËùÕ¼ÓõÄword¸öÊý + //È¡³öÊý¾Ý + switch(pattern) + { + case DATA_TYPE_SINGLE_WORD: //µ¥wordÊý¾ÝÀàÐÍ + value[0] = *(int *)(script_mod_buf + (sub_key->offset<<2)); + break; + + case DATA_TYPE_STRING: //×Ö·û´®Êý¾ÝÀàÐÍ + if(!word_count) + { + return 1; + } + memcpy((char *)value, script_mod_buf + (sub_key->offset<<2), word_count << 2); + break; + + case DATA_TYPE_GPIO_WORD: //¶àwordÊý¾ÝÀàÐÍ + k = 0; + while(k < word_count) + { + value[k] = *(int *)(script_mod_buf + (sub_key->offset<<2) + (k<<2)); + k ++; + } + break; + } + + return SCRIPT_PARSER_OK; + } + + return SCRIPT_PARSER_KEY_NOT_FIND; +} + diff --git a/lichee/brandy-2.0/tools/create_mbr/script.h b/lichee/brandy-2.0/tools/create_mbr/script.h new file mode 100644 index 0000000..ef77fe6 --- /dev/null +++ b/lichee/brandy-2.0/tools/create_mbr/script.h @@ -0,0 +1,82 @@ +/* +********************************************************************************************************************** +* eGon +* the Embedded System +* script parser sub-system +* +* Copyright(C), 2006-2010, SoftWinners Microelectronic Co., Ltd. +* All Rights Reserved +* +* File : script.c +* +* By : Jerry +* +* Version : V2.00 +* +* Date : +* +* Descript: +********************************************************************************************************************** +*/ +#ifndef _SCRIPT_H_ +#define _SCRIPT_H_ + +#define DATA_TYPE_SINGLE_WORD (1) +#define DATA_TYPE_STRING (2) +#define DATA_TYPE_MULTI_WORD (3) +#define DATA_TYPE_GPIO_WORD (4) + +#define SCRIPT_PARSER_OK (0) +#define SCRIPT_PARSER_EMPTY_BUFFER (-1) +#define SCRIPT_PARSER_KEYNAME_NULL (-2) +#define SCRIPT_PARSER_DATA_VALUE_NULL (-3) +#define SCRIPT_PARSER_KEY_NOT_FIND (-4) + +typedef struct +{ + int main_key_count; + int version[3]; +} +script_head_t; + +typedef struct +{ + char main_name[32]; + int lenth; + int offset; +} +script_main_key_t; + +typedef struct +{ + char sub_name[32]; + int offset; + int pattern; +} +script_sub_key_t; + +typedef struct +{ + int port; + int port_num; + int mul_sel; + int pull; + int drv_level; + int data; +} +script_gpio_set_t; + +extern int script_parser_init(char *script_buf); +extern int script_parser_exit(void); +extern int script_parser_fetch(char *main_name, char *sub_name, int value[]); +extern int script_parser_subkey_count(char *main_name); +extern int script_parser_mainkey_count(void); +extern int script_parser_mainkey_get_gpio_count(char *main_name); +extern int script_parser_mainkey_get_gpio_cfg(char *main_name, script_gpio_set_t gpio_cfg[], int gpio_count); + +extern int script_parser_fetch_partition(void); +extern int script_parser_fetch_mainkey_sub(char *sub_name, int index, int *value); + +#endif + + diff --git a/lichee/brandy-2.0/tools/create_mbr/sparse_format.h b/lichee/brandy-2.0/tools/create_mbr/sparse_format.h new file mode 100644 index 0000000..1e01aff --- /dev/null +++ b/lichee/brandy-2.0/tools/create_mbr/sparse_format.h @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef __SPARSE_FORMAT_H__ +#define __SPARSE_FORMAT_H__ + + +typedef struct sparse_header { + u32 magic; /* 0xed26ff3a */ + u16 major_version; /* (0x1) - reject images with higher major versions */ + u16 minor_version; /* (0x0) - allow images with higer minor versions */ + u16 file_hdr_sz; /* 28 bytes for first revision of the file format */ + u16 chunk_hdr_sz; /* 12 bytes for first revision of the file format */ + u32 blk_sz; /* block size in bytes, must be a multiple of 4 (4096) */ + u32 total_blks; /* total blocks in the non-sparse output image */ + u32 total_chunks; /* total chunks in the sparse input image */ + u32 image_checksum; /* CRC32 checksum of the original data, counting "don't care" */ + /* as 0. Standard 802.3 polynomial, use a Public Domain */ + /* table implementation */ +} sparse_header_t; + +#define SPARSE_HEADER_MAGIC 0xed26ff3a +#define SPARSE_HEADER_DATA 512 + +#endif + diff --git a/lichee/brandy-2.0/tools/create_mbr/sunxi_mbr.h b/lichee/brandy-2.0/tools/create_mbr/sunxi_mbr.h new file mode 100644 index 0000000..4945228 --- /dev/null +++ b/lichee/brandy-2.0/tools/create_mbr/sunxi_mbr.h @@ -0,0 +1,96 @@ +/* + * (C) Copyright 2012 + * wangflord@allwinnertech.com + * + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; + * + */ +#ifndef __SUNXI_MBR_H__ +#define __SUNXI_MBR_H__ + +#define DOWNLOAD_MAP_NAME "dlinfo.fex" +#define SUNXI_MBR_NAME "sunxi_mbr.fex" +/* MBR */ +#define SUNXI_MBR_SIZE (16 * 1024) +#define SUNXI_DL_SIZE (16 * 1024) +#define SUNXI_MBR_MAGIC "softw411" +#define SUNXI_MBR_MAX_PART_COUNT 120 +#define SUNXI_MBR_COPY_NUM 4 //mbrµÄ±¸·ÝÊýÁ¿ +#define SUNXI_MBR_RESERVED (SUNXI_MBR_SIZE - 32 - (SUNXI_MBR_MAX_PART_COUNT * sizeof(sunxi_partition))) //mbr±£ÁôµÄ¿Õ¼ä +#define SUNXI_DL_RESERVED (SUNXI_DL_SIZE - 32 - (SUNXI_MBR_MAX_PART_COUNT * sizeof(dl_one_part_info))) + +/* partition information */ +typedef struct sunxi_partition_t +{ + unsigned int addrhi; //ÆðʼµØÖ·, ÒÔÉÈÇøΪµ¥Î» + unsigned int addrlo; // + unsigned int lenhi; //³¤¶È + unsigned int lenlo; // + unsigned char classname[16]; //´ÎÉ豸Ãû + unsigned char name[16]; //Ö÷É豸Ãû + unsigned int user_type; //Óû§ÀàÐÍ + unsigned int keydata; //¹Ø¼üÊý¾Ý£¬ÒªÇóÁ¿²ú²»¶ªÊ§ + unsigned int ro; //¶ÁдÊôÐÔ + unsigned int sig_verify; //Ç©ÃûÑéÖ¤ÊôÐÔ + unsigned int sig_erase; //Ç©Ãû²Á³ýÊôÐÔ + unsigned int sig_value[4]; + unsigned int sig_pubkey; + unsigned int sig_pbumode; + unsigned char reserved2[36]; //±£ÁôÊý¾Ý£¬Æ¥Åä·ÖÇøÐÅÏ¢128×Ö½Ú +} //__attribute__ ((packed))sunxi_partition; +sunxi_partition; +/* mbr information */ +typedef struct sunxi_mbr +{ + unsigned int crc32; // crc 1k - 4 + unsigned int version; // °æ±¾ÐÅÏ¢£¬ 0x00000100 + unsigned char magic[8]; /*"softw311"*/ + unsigned int copy; //·ÖÊý + unsigned int index; //µÚ¼¸¸öMBR±¸·Ý + unsigned int PartCount; //·ÖÇø¸öÊý + unsigned int stamp[1]; //¶ÔÆë + sunxi_partition array[SUNXI_MBR_MAX_PART_COUNT]; // + unsigned char res[SUNXI_MBR_RESERVED]; +}//__attribute__ ((packed)) sunxi_mbr_t; +sunxi_mbr_t; + +typedef struct tag_one_part_info +{ + unsigned char name[16]; //ËùÉÕд·ÖÇøµÄÖ÷É豸Ãû + unsigned int addrhi; //ËùÉÕд·ÖÇøµÄ¸ßµØÖ·£¬ÉÈÇøµ¥Î» + unsigned int addrlo; //ËùÉÕд·ÖÇøµÄµÍµØÖ·£¬ÉÈÇøµ¥Î» + unsigned int lenhi; //ËùÉÕд·ÖÇøµÄ³¤¶È£¬¸ß32룬ÉÈÇøµ¥Î» + unsigned int lenlo; //ËùÉÕд·ÖÇøµÄ³¤¶È£¬µÍ32룬ÉÈÇøµ¥Î» + unsigned char dl_filename[16]; //ËùÉÕд·ÖÇøµÄÎļþÃû³Æ£¬³¤¶È¹Ì¶¨16×Ö½Ú + unsigned char vf_filename[16]; //ËùÉÕд·ÖÇøµÄУÑéÎļþÃû³Æ£¬³¤¶È¹Ì¶¨16×Ö½Ú + unsigned int encrypt; //ËùÉÕд·ÖÇøµÄÊý¾ÝÊÇ·ñ½øÐмÓÃÜ 0:¼ÓÃÜ 1£º²»¼ÓÃÜ + unsigned int verify; //ËùÉÕд·ÖÇøµÄÊý¾ÝÊÇ·ñ½øÐÐУÑé 0:²»Ð£Ñé 1£ºÐ£Ñé +}//__attribute__ ((packed)) dl_one_part_info; +dl_one_part_info; +//·ÖÇøÉÕдÐÅÏ¢ +typedef struct tag_download_info +{ + unsigned int crc32; //crc + unsigned int version; //°æ±¾ºÅ 0x00000101 + unsigned char magic[8]; /*"softw311"*/ + unsigned int download_count; //ÐèÒªÉÕдµÄ·ÖÇø¸öÊý + unsigned int stamp[3]; //¶ÔÆë + dl_one_part_info one_part_info[SUNXI_MBR_MAX_PART_COUNT]; //ÉÕд·ÖÇøµÄÐÅÏ¢ + unsigned char res[SUNXI_DL_RESERVED]; +} +//__attribute__ ((packed)) sunxi_download_info; +sunxi_download_info; + +#endif diff --git a/lichee/brandy-2.0/tools/create_mbr/types.h b/lichee/brandy-2.0/tools/create_mbr/types.h new file mode 100644 index 0000000..a8d07c8 --- /dev/null +++ b/lichee/brandy-2.0/tools/create_mbr/types.h @@ -0,0 +1,187 @@ +/* +********************************************************************************************************************** +* eGon +* the Embedded GO-ON Bootloader System +* eGON arm boot sub-system +* +* Copyright(C), 2006-2010, SoftWinners Microelectronic Co., Ltd. +* All Rights Reserved +* +* File : types.h +* +* By : Jerry +* +* Version : V2.00 +* +* Date : +* +* Descript: +********************************************************************************************************************** +*/ +#ifndef __TYPES_H_ +#define __TYPES_H_ 1 + + +//#define NULL 0 /* Ö¸Õë¿Õ */ + +/* +********************************************************************************************************************** +* DATA TYPES +********************************************************************************************************************** +*/ + +//normal typedef +typedef long long __int64; + +typedef unsigned long long __u64; +typedef unsigned long long u64; + +typedef signed long long __s64; +typedef signed long long s64; + +typedef unsigned int __u32; +typedef unsigned int u32; + +typedef signed int __s32; +typedef signed int s32; + +typedef unsigned short __u16; +typedef unsigned short u16; + +typedef signed short __s16; +typedef signed short s16; + +typedef unsigned char __u8; +typedef unsigned char u8; + +typedef signed char __s8; +typedef signed char s8; + + +typedef signed char __bool; +typedef signed char __Bool; + +typedef unsigned int __stk; /* Each stack entry is 32-bit wide */ +typedef unsigned int __cpu_sr; /* Define size of CPU status register (PSR = 32 bits) */ + + +typedef float __fp32; /* Single precision floating point */ +typedef double __fp64; /* Double precision floating point */ + +typedef unsigned int __hdle; + +typedef unsigned int __size; +//typedef unsigned int __size_t; + +typedef unsigned int __sector_t; + +typedef unsigned char u_char; +typedef unsigned short u_short; +typedef unsigned int u_int; +typedef unsigned long u_long; + +/* sysv */ +typedef unsigned char unchar; +typedef unsigned short ushort; +typedef unsigned int uint; +typedef unsigned long ulong; + +typedef __u8 uint8_t; +typedef __u16 uint16_t; +typedef __u32 uint32_t; + +#define eGON2_OK (0) +#define eGON2_FAIL (-1) + +#undef _set_bit +#define _set_bit( value, bit ) ( (x) |= ( 1U << (y) ) ) + +#undef set_bit +#define set_bit( value, bit ) ( (x) |= ( 1U << (y) ) ) + +#undef _clear_bit +#define _clear_bit( value, bit ) ( (x) &= ~( 1U << (y) ) ) + +#undef clear_bit +#define clear_bit( value, bit ) ( (x) &= ~( 1U << (y) ) ) + +#undef _set_bit +#define _set_bit( value, bit ) ( (value) |= ( 1U << (bit) ) ) + +#undef set_bit +#define set_bit( value, bit ) ( (value) |= ( 1U << (bit) ) ) + +#undef _clear_bit +#define _clear_bit( value, bit ) ( (value) &= ~( 1U << (bit) ) ) + +#undef clear_bit +#define clear_bit( value, bit ) ( (value) &= ~( 1U << (bit) ) ) + +#undef _reverse_bit +#define _reverse_bit( value, bit ) ( (value) ^= ( 1U << (bit) ) ) + +#undef reverse_bit +#define reverse_bit( value, bit ) ( (value) ^= ( 1U << (bit) ) ) + +#undef _test_bit +#define _test_bit( value, bit ) ( (value) & ( 1U << (bit) ) ) + +#undef test_bit +#define test_bit( value, bit ) ( (value) & ( 1U << (bit) ) ) + + +#undef _min +#define _min( x, y ) ( (x) < (y) ? (x) : (y) ) + +#undef min +#define min( x, y ) ( (x) < (y) ? (x) : (y) ) + +#undef _max +#define _max( x, y ) ( (x) > (y) ? (x) : (y) ) + +#undef max +#define max( x, y ) ( (x) > (y) ? (x) : (y) ) + +/* È¡¾ø¶ÔÖµ */ +#undef _absolute +#define _absolute(p) ((p) > 0 ? (p) : -(p)) + +#undef absolute +#define absolute(p) ((p) > 0 ? (p) : -(p)) + + +#ifndef SZ_1K +#define SZ_512 0x00000200U +#define SZ_1K 0x00000400U +#define SZ_2K 0x00000800U +#define SZ_4K 0x00001000U +#define SZ_8K 0x00002000U +#define SZ_16K 0x00004000U +#define SZ_32K 0x00008000U +#define SZ_64K 0x00010000U +#define SZ_128K 0x00020000U +#define SZ_256K 0x00040000U +#define SZ_512K 0x00080000U +#define SZ_1M 0x00100000U +#define SZ_2M 0x00200000U +#define SZ_4M 0x00400000U +#define SZ_8M 0x00800000U +#define SZ_16M 0x01000000U +#define SZ_32M 0x02000000U +#define SZ_64M 0x04000000U +#define SZ_128M 0x08000000U +#define SZ_256M 0x10000000U +#define SZ_512M 0x20000000U +#define SZ_1G 0x40000000U +#define SZ_2G 0x80000000U +#define SZ_4G 0x0100000000ULL +#define SZ_8G 0x0200000000ULL +#define SZ_16G 0x0400000000ULL +#define SZ_32G 0x0800000000ULL +#define SZ_64G 0x1000000000ULL +#endif + + +#endif /*#ifndef __TYPES_H_*/ + + diff --git a/lichee/brandy-2.0/tools/create_mbr/update_gpt.c b/lichee/brandy-2.0/tools/create_mbr/update_gpt.c new file mode 100644 index 0000000..8254113 --- /dev/null +++ b/lichee/brandy-2.0/tools/create_mbr/update_gpt.c @@ -0,0 +1,230 @@ +#include +#include "types.h" +#include +#include "crc.h" +#include "sunxi_mbr.h" +#include +#include +#include "gpt.h" + + +#define MAX_PATH 260 +#define CONFIG_MMC_LOGICAL_OFFSET (20 * 1024 * 1024/512) +#define CONFIG_NAND_LOGICAL_OFFSET (0/512) + +int IsFullName(const char *FilePath); + +int create_standard_gpt(sunxi_mbr_t *sunxi_mbr_buf, char* gpt_buf); +__s32 write_gpt_table(sunxi_mbr_t *mbr_info, __s32 mbr_count, FILE *mbr_file); + +extern unsigned int total_sectors; +extern unsigned int logic_offset; +extern int media_type; + +int gpt_main(sunxi_mbr_t *mbr_info, char* gpt_name) +{ + char gpt_file_name[MAX_PATH]; + char *mbr_buff = NULL; + FILE *gpt_file = NULL; + int ret = -1; + + memset(gpt_file_name, 0, MAX_PATH); + GetFullPath(gpt_file_name, gpt_name); + + gpt_file = fopen(gpt_file_name, "wb"); + ret = write_gpt_table(mbr_info, 1, gpt_file); + + fclose(gpt_file); + gpt_file = NULL; + + if (!ret) + printf("update gpt file ok\n"); + else + printf("update gpt file fail\n"); + + if (gpt_file) + fclose(gpt_file); + + return ret; +} + +static int gpt_show_partition_info(char *buf) +{ + int i,j; + + char char8_name[PARTNAME_SZ] = {0}; + gpt_header *gpt_head = (gpt_header*)(buf + GPT_HEAD_OFFSET); + gpt_entry *entry = (gpt_entry*)(buf + GPT_ENTRY_OFFSET); + + + printf("GPT----part num %d---\n", gpt_head->num_partition_entries); + printf("gpt_entry: %ld\n", sizeof(gpt_entry)); + printf("gpt_header: %ld\n", sizeof(gpt_header)); + for(i=0; i < gpt_head->num_partition_entries; i++ ){ + + for(j=0; j < PARTNAME_SZ; j++ ) { + char8_name[j] = (char)(entry[i].partition_name[j]); + } + printf("GPT:%-12s: %-12llx %-12llx\n", char8_name, entry[i].starting_lba, entry[i].ending_lba); + } + + return 0; +} + +__s32 write_gpt_table(sunxi_mbr_t *mbr_info, __s32 mbr_count, FILE *gpt_file) +{ + int i, ret = -1; + unsigned crc32_total; + unsigned gpt_data_len = 0; + char gpt_buf[8*1024] = {0}; + + memset(gpt_buf, 0x0, sizeof(gpt_buf)); + gpt_data_len = create_standard_gpt(mbr_info, gpt_buf); + if(gpt_data_len == 0) + return -1; + if(gpt_data_len > sizeof(gpt_buf)) { + printf("error:too much partition\n"); + return -1; + } + ret = fwrite(gpt_buf, sizeof(gpt_buf), 1, gpt_file); + if ( ret != 1) { + printf("write file fail,ret %d\n", ret); + return -1; + } + gpt_show_partition_info(gpt_buf); + + return 0; +} + +int create_standard_gpt(sunxi_mbr_t *sunxi_mbr_buf, char* gpt_buf) +{ + legacy_mbr *remain_mbr; + sunxi_mbr_t *sunxi_mbr = (sunxi_mbr_t *)sunxi_mbr_buf; + + char *pbuf = gpt_buf; + gpt_header *gpt_head; + gpt_entry *pgpt_entry = NULL; + char *gpt_entry_start = NULL; + u32 data_len = 0; + int i,j = 0; + int max_part = 0; + + unsigned char guid[16] = {0x88, 0x38, 0x6f, 0xab, 0x9a, 0x56, 0x26, 0x49, 0x96, 0x68, + 0x80, 0x94, 0x1d, 0xcb, 0x40, 0xbc}; + unsigned char part_guid[16] = {0x46, 0x55, 0x08, 0xa0, 0x66, 0x41, 0x4a, 0x74, 0xa3, + 0x53, 0xfc, 0xa9, 0x27, 0x2b, 0x8e, 0x45}; + + if (strncmp((const char *)sunxi_mbr->magic, SUNXI_MBR_MAGIC, 8)) { + printf("%s:not sunxi mbr, can't convert to GPT partition\n", __func__); + return 0; + } + + if (calc_crc32(( char *)(sunxi_mbr_buf) + 4, SUNXI_MBR_SIZE - 4) != sunxi_mbr->crc32) { + printf("%s:sunxi mbr crc error, can't convert to GPT partition\n",__func__); + return 0; + } + + /* 1. LBA0: write legacy mbr,part type must be 0xee */ + remain_mbr = (legacy_mbr *)pbuf; + memset(remain_mbr, 0x0, 512); + remain_mbr->partition_record[0].sector = 0x2; + remain_mbr->partition_record[0].cyl = 0x0; + remain_mbr->partition_record[0].part_type = EFI_PMBR_OSTYPE_EFI_GPT; + remain_mbr->partition_record[0].end_head = 0xFF; + remain_mbr->partition_record[0].end_sector = 0xFF; + remain_mbr->partition_record[0].end_cyl = 0xFF; + remain_mbr->partition_record[0].start_sect = 1UL; + remain_mbr->partition_record[0].nr_sects = 0xffffffff; + remain_mbr->end_flag = MSDOS_MBR_SIGNATURE; + data_len += 512; + + /* 2. LBA1: fill primary gpt header */ + gpt_head = (gpt_header *)(pbuf + data_len); + gpt_head->signature= GPT_HEADER_SIGNATURE; + gpt_head->revision = GPT_HEADER_REVISION_V1; + gpt_head->header_size = GPT_HEADER_SIZE; + gpt_head->header_crc32 = 0x00; + gpt_head->reserved1 = 0x0; + gpt_head->my_lba = 0x01; + gpt_head->alternate_lba = total_sectors - 1; + gpt_head->first_usable_lba = sunxi_mbr->array[0].addrlo + logic_offset; + /*spi nor*/ + if (media_type) { + /*1 GPT head*/ + gpt_head->last_usable_lba = total_sectors - 1; + } else { + /*1 GPT head + 32 GPT entry*/ + gpt_head->last_usable_lba = total_sectors - (1 + 32) - 1; + } + + memcpy(gpt_head->disk_guid.b,guid,16); + gpt_head->partition_entry_lba = 2; + gpt_head->num_partition_entries = sunxi_mbr->PartCount; + gpt_head->sizeof_partition_entry = GPT_ENTRY_SIZE; + gpt_head->partition_entry_array_crc32 = 0; + data_len += 512; + + /*to avoid the first boot0(offset is 16 sectors)*/ + max_part = (16-2)*512/GPT_ENTRY_SIZE; + if (sunxi_mbr->PartCount > max_part) { + printf("PartCount is %d, max is %d, is conflict with boot0 offset\n", + sunxi_mbr->PartCount, max_part); + return 0; + } + + /* 3. LBA2~LBAn: fill gpt entry */ + u64 disk_size = 0; + gpt_entry_start = (pbuf + data_len); + for(i=0;iPartCount;i++) { + pgpt_entry = (gpt_entry *)(gpt_entry_start + (i)*GPT_ENTRY_SIZE); + + pgpt_entry->partition_type_guid = PARTITION_BASIC_DATA_GUID; + + memcpy(pgpt_entry->unique_partition_guid.b,part_guid,16); + pgpt_entry->unique_partition_guid.b[15] = part_guid[15]+i; + + pgpt_entry->starting_lba = ((u64)sunxi_mbr->array[i].addrhi<<32) + sunxi_mbr->array[i].addrlo + logic_offset; + //UDISK partition + if(i == sunxi_mbr->PartCount-1) { + pgpt_entry->ending_lba = gpt_head->last_usable_lba; + } + else { + pgpt_entry->ending_lba = pgpt_entry->starting_lba +((u64)sunxi_mbr->array[i].lenhi<<32) + sunxi_mbr->array[i].lenlo-1; + disk_size += ((u64)sunxi_mbr->array[i].lenhi<<32) + sunxi_mbr->array[i].lenlo-1 + logic_offset; + } + + //printf("GPT:%-12s: %-12llx %-12llx\n", sunxi_mbr->array[i].name, pgpt_entry->starting_lba, pgpt_entry->ending_lba); + if(sunxi_mbr->array[i].ro == 1) { + pgpt_entry->attributes.fields.type_guid_specific = 0x6000; + } + else { + pgpt_entry->attributes.fields.type_guid_specific = 0x8000; + } + pgpt_entry->attributes.fields.user_type = sunxi_mbr->array[i].user_type; + pgpt_entry->attributes.fields.keydata = sunxi_mbr->array[i].keydata >0 ? 1: 0; + + + //ASCII to unicode + memset(pgpt_entry->partition_name, 0, (PARTNAME_SZ * sizeof(efi_char16_t)); + for(j=0;j < strlen((const char *)sunxi_mbr->array[i].name);j++ ) { + pgpt_entry->partition_name[j] = (efi_char16_t)sunxi_mbr->array[i].name[j]; + } + data_len += GPT_ENTRY_SIZE; + + } + + /* entry crc */ + gpt_head->partition_entry_array_crc32 = 0; + gpt_head->partition_entry_array_crc32 = calc_crc32((unsigned char *)gpt_entry_start, + (gpt_head->num_partition_entries)*(gpt_head->sizeof_partition_entry)); + + + /* gpt crc */ + gpt_head->header_crc32 =0; + gpt_head->header_crc32 = calc_crc32(( unsigned char *)gpt_head, sizeof(gpt_header)); + printf("gpt_head->header_crc32 = 0x%x\n",gpt_head->header_crc32); + + /* 4. LBA-1: the last sector fill backup gpt header */ + + return data_len; +} diff --git a/lichee/brandy-2.0/tools/create_mbr/update_mbr.c b/lichee/brandy-2.0/tools/create_mbr/update_mbr.c new file mode 100644 index 0000000..7759e64 --- /dev/null +++ b/lichee/brandy-2.0/tools/create_mbr/update_mbr.c @@ -0,0 +1,680 @@ +// update.cpp : Defines the entry point for the console application. +// +#include +#include "types.h" +#include +#include "script.h" +#include "crc.h" +#include "sunxi_mbr.h" +#include +#include +#include "sparse_format.h" + +//#define DEBUG +#ifdef DEBUG +#define DBG(fmt, arg...) printf(fmt, ##arg) +#else +#define DBG(fmt, arg...) do{}while(0) +#endif + +#define ERR(fmt, arg...) printf("ERROR: "fmt, ##arg) + +#define MAX_PATH 260 + +int IsFullName(const char *FilePath); +__s32 update_mbr_crc(sunxi_mbr_t *mbr_info, __s32 mbr_count, FILE *mbr_file); +__s32 update_for_part_info(sunxi_mbr_t *mbr_info, sunxi_download_info *dl_map, __s32 mbr_count, __s32 mbr_total_size); +__s32 update_dl_info_crc(sunxi_download_info *dl_map, FILE *dl_file); +__s32 check_dl_size(char *filename,int part_size); +int gpt_main(sunxi_mbr_t *mbr_info, char* gpt_name); + +unsigned int total_sectors = 0; +unsigned int logic_offset = (20 * 1024 * 1024 / 512); +int media_type = 0; + +int get_file_name(char *path, char *name) +{ + char buffer[MAX_PATH]; + char buffer_cwd[MAX_PATH]; + int i, length; + char *pt; + + memset(buffer, 0, MAX_PATH); + memset(buffer_cwd, 0, MAX_PATH); + if(!IsFullName(path)) + { + if (getcwd(buffer_cwd, MAX_PATH) == NULL) + { + perror( "getcwd error" ); + return -1; + } + sprintf(buffer, "%s/%s", buffer_cwd, path); + } + else + { + strcpy(buffer, path); + } + + length = strlen(buffer); + pt = buffer + length - 1; + + while((*pt != '/') && (*pt != '\\')) + { + pt --; + } + i =0; + pt ++; + while(*pt) + { + if(*pt == '.') + { + name[i++] = '_'; + pt ++; + } + else if((*pt >= 'a') && (*pt <= 'z')) + { + name[i++] = *pt++ - ('a' - 'A'); + } + else + { + name[i++] = *pt ++; + } + if(i>=16) + { + break; + } + } + + return 0; +} + +int IsFullName(const char *FilePath) +{ + if (isalpha(FilePath[0]) && ':' == FilePath[1]) + { + DBG("run on windows\n"); + return 1; + } + else + { + if ('/' == FilePath[0]) { + DBG("run on linux\n"); + return 1; + } + return 0; + } +} + +void GetFullPath(char *dName, const char *sName) +{ + char Buffer[MAX_PATH]; + + if(IsFullName(sName)) + { + strcpy(dName, sName); + return ; + } + + /* Get the current working directory: */ + if(getcwd(Buffer, MAX_PATH ) == NULL) + { + perror( "getcwd error" ); + return ; + } + sprintf(dName, "%s/%s", Buffer, sName); +} + +void Usage(void) +{ + printf("\n"); + printf("Usage:\n"); + printf("1.update_mbr sys_partition.bin\n"); + printf("2.update_mbr sys_partition.bin num\n"); + printf("3.update_mbr sys_partition.bin num flash_size logic_offset\n"); + printf("4.update_mbr sys_partition.bin num mbr_file\n"); + printf("5.update_mbr sys_partition.bin num mbr_file dlinfo_file\n"); + printf("6.update_mbr sys_partition.bin num mbr_file dlinfo_file flash_size logic_offset media_type(0:emmc/nand 1:spinor)\n"); +} + +int main(int argc, char* argv[]) +{ + char source[MAX_PATH]; + char mbr_name[MAX_PATH]; + char dl_name[MAX_PATH]; + FILE *mbr_file = NULL; + FILE *dl_file = NULL; + char *pbuf = NULL; + FILE *source_file = NULL; + int script_len; + int mbr_count = 4, mbr_size; + int ret = -1; + unsigned long long temp; + sunxi_mbr_t mbr_info; + sunxi_download_info dl_info; + + memset(source, 0, MAX_PATH); + memset(mbr_name, 0, MAX_PATH); + memset(dl_name, 0, MAX_PATH); +#if 1 + if(argc == 2) + { + if(argv[1] == NULL) + { + ERR("update mbr error: one of the input file names is empty\n"); + + return __LINE__; + } + + GetFullPath(source, argv[1]); + GetFullPath(mbr_name, SUNXI_MBR_NAME); + GetFullPath(dl_name, DOWNLOAD_MAP_NAME); +// GetFullPath(mbr_name, argv[2]); + + mbr_count = 4; + + } + else if (argc == 3) + { + if(argv[1] == NULL) + { + DBG("update mbr error: one of the input file names is empty\n"); + + return __LINE__; + } + + GetFullPath(source, argv[1]); + GetFullPath(mbr_name, SUNXI_MBR_NAME); + GetFullPath(dl_name, DOWNLOAD_MAP_NAME); + mbr_count = atoi(argv[2]); + DBG("mbr count = %d\n", mbr_count); + + } + else if (argc == 4) //update_mbr sys_partition.bin n mbr_file + { + if((argv[1] == NULL)||(argv[3] == NULL)) + { + ERR("update mbr error: one of the file names is empty\n"); + + return __LINE__; + } + + GetFullPath(source, argv[1]); + GetFullPath(mbr_name, argv[3]); + GetFullPath(dl_name, DOWNLOAD_MAP_NAME); + mbr_count = atoi(argv[2]); + DBG("mbr count = %d\n", mbr_count); + + } + else if (argc == 5) //update_mbr sys_partition.bin n mbr_file dlinfo_file + { + if((argv[1] == NULL)||(argv[3] == NULL)||(argv[4] == NULL)) + { + ERR("update mbr error: one of the file names is empty\n"); + + return __LINE__; + } + + GetFullPath(source, argv[1]); + GetFullPath(mbr_name, argv[3]); + GetFullPath(dl_name, argv[4]); + mbr_count = atoi(argv[2]); + DBG("mbr count = %d\n", mbr_count); + } else if (argc == 8) { + /*update_mbr sys_partition.bin n mbr_file dlinfo_file flash_size logic_offset media_type*/ + if ((argv[1] == NULL) || (argv[3] == NULL) || (argv[4] == NULL)) { + ERR("update mbr error: one of the file names is empty\n"); + return __LINE__; + } + GetFullPath(source, argv[1]); + GetFullPath(mbr_name, argv[3]); + GetFullPath(dl_name, argv[4]); + mbr_count = atoi(argv[2]); + total_sectors = atoi(argv[5]); + temp = atoi(argv[6]); + DBG("temp = %lld\n", temp); + logic_offset = (temp * 1024 * 1024) / 512; + media_type = atoi(argv[7]); + DBG("mbr count = %d total_sectors = %d logic_offset = %d media = %d\n", + mbr_count, total_sectors, logic_offset, media_type); + } + else + { + ERR("parameters is invalid\n"); + Usage(); + + return __LINE__; + } +#else + mbr_count = 4; + GetFullPath(source, str1); +// GetFullPath(mbr_name, str2); +#endif + +// if(Change_Path_File(mbr_name, dl_name, DOWNLOAD_MAP_NAME)) +// { +// ERR("update mbr error: unable to get download file\n"); +// +// return __LINE__; +// } + + DBG("\n"); + DBG("partitation file Path=%s\n", source); + DBG("mbr_name file Path=%s\n", mbr_name); + DBG("download_name file Path=%s\n", dl_name); + DBG("\n"); + //°ÑÎļþ´ò³ÉÒ»¸öini½Å±¾ + source_file = fopen(source, "rb"); + if(!source_file) + { + ERR("unable to open script file\n"); + + goto _err_out; + } + //¶Á³ö½Å±¾µÄÊý¾Ý + //Ê×ÏÈ»ñÈ¡½Å±¾µÄ³¤¶È + fseek(source_file, 0, SEEK_END); + script_len = ftell(source_file); + fseek(source_file, 0, SEEK_SET); + //¶Á³ö½Å±¾ËùÓеÄÄÚÈÝ + pbuf = (char *)malloc(script_len); + if(!pbuf) + { + ERR("unable to malloc memory for script\n"); + + goto _err_out; + } + memset(pbuf, 0, script_len); + fread(pbuf, 1, script_len, source_file); + fclose(source_file); + source_file = NULL; + //scriptʹÓóõʼ»¯ + if(SCRIPT_PARSER_OK != script_parser_init(pbuf)) + { + goto _err_out; + } + if(script_parser_fetch("mbr", "size", &mbr_size) || (!mbr_size)) + { + mbr_size = 16384; + } + DBG("mbr size = %d\n", mbr_size); + mbr_size = mbr_size * 1024/512; + //µ÷Óà script_parser_fetchº¯ÊýÈ¡µÃÈÎÒâÊý¾ÝÏî + ret = update_for_part_info(&mbr_info, &dl_info, mbr_count, mbr_size); + DBG("update_for_part_info %d\n", ret); + if(!ret) + { + mbr_file = fopen(mbr_name, "wb"); + if(!mbr_file) + { + ret = -1; + ERR("update mbr fail: unable to create file %s\n", mbr_name); + } + else + { + ret = update_mbr_crc(&mbr_info, mbr_count, mbr_file); + if(ret >= 0) + dl_file = fopen(dl_name, "wb"); + if(!dl_file) + { + ret = -1; + ERR("update mbr fail: unable to create download map %s\n", dl_name); + } + else + { + ret = update_dl_info_crc(&dl_info, dl_file); + } + } + } + // scriptʹÓÃÍê³É£¬¹Ø±ÕÍ˳ö + script_parser_exit(); + //´òÓ¡½á¹û + if(!ret) + printf("update mbr file ok\n"); + else + ERR("update mbr file fail\n"); + +_err_out: + if(pbuf) + { + free(pbuf); + } + if(source_file) + { + fclose(source_file); + } + if(mbr_file) + { + fclose(mbr_file); + } + if(dl_file) + { + fclose(dl_file); + } + + return ret; +} + + +__s32 update_for_part_info(sunxi_mbr_t *mbr_info, sunxi_download_info *dl_map, __s32 mbr_count, __s32 mbr_size) +{ + int value[8]; + char fullname[260]; + char filename[32]; + int part_index; + int part_handle; + int down_index, down_flag; + int udisk_exist, is_udisk; + __int64 start_sector; + int ret; + + part_index = 0; + down_index = 0; + //³õʼ»¯MBR + memset(mbr_info, 0, sizeof(sunxi_mbr_t)); + memset(dl_map, 0, sizeof(sunxi_download_info)); + //¹Ì¶¨²»±äµÄÐÅÏ¢ + mbr_info->version = 0x00000200; + memcpy(mbr_info->magic, SUNXI_MBR_MAGIC, 8); + DBG("mbr magic %s\n", mbr_info->magic); + mbr_info->copy = mbr_count; + if(!mbr_count) + { + mbr_info->copy = SUNXI_MBR_COPY_NUM; + } + dl_map->version = 0x00000200; + memcpy(dl_map->magic, SUNXI_MBR_MAGIC, 8); + //¸ù¾Ý·ÖÇøÇé¿ö»áÓб仯µÄÐÅÏ¢ + udisk_exist = 0; + while(1) + { + down_flag = 0; + is_udisk = 0; + part_handle = script_parser_fetch_partition(); + if(part_handle <= 0) + { + break; + } + strcpy((char *)mbr_info->array[part_index].classname, "DISK"); + //»ñÈ¡·ÖÇø name + memset(value, 0, 8 * sizeof(int)); + if(!script_parser_fetch_mainkey_sub("name", part_handle, value)) + { + DBG("disk name=%s\n", (char *)value); + if(!strcmp((char *)value, "UDISK")) + { + udisk_exist = 1; + is_udisk = 1; + } + strcpy((char *)mbr_info->array[part_index].name, (char *)value); + memset(fullname, 0, 260); + ret = script_parser_fetch_mainkey_sub("downloadfile", part_handle, (int *)fullname); + if(!ret) + { + down_flag = 1; + memset(filename, '0', 16); + memset(filename + 16, 0, 16); + get_file_name(fullname, filename); + strcpy((char *)dl_map->one_part_info[down_index].name, (char *)value); + memcpy((char *)dl_map->one_part_info[down_index].dl_filename, filename, 16); + } + } + else + { + ERR("MBR Create FAIL: Unable to find partition name in partition index %d\n", part_index); + + return -1; + } + //»ñÈ¡·ÖÇø Óû§ÀàÐÍ + if(!script_parser_fetch_mainkey_sub("user_type", part_handle, value)) + { + mbr_info->array[part_index].user_type = value[0]; + } + //»ñÈ¡·ÖÇø ¶ÁдÊôÐÔ + if(!script_parser_fetch_mainkey_sub("ro", part_handle, value)) + { + mbr_info->array[part_index].ro = value[0]; + } + //»ñÈ¡·ÖÇø д±£»¤ÊôÐÔ + if(!script_parser_fetch_mainkey_sub("keydata", part_handle, value)) + { + mbr_info->array[part_index].keydata = value[0]; + } + //»ñÈ¡·ÖÇø Ç©ÃûÊÇ·ñÐèҪУÑé + if(!script_parser_fetch_mainkey_sub("sig_verify", part_handle, value)) + { + mbr_info->array[part_index].sig_verify = value[0]; + } + //»ñÈ¡·ÖÇø Ç©Ãûʧ°ÜÊÇ·ñÐèÒª²Á³ý + if(!script_parser_fetch_mainkey_sub("sig_erase", part_handle, value)) + { + mbr_info->array[part_index].sig_erase = value[0]; + } + //ÐÞÕýУÑéÐÅÏ¢£¬Èç¹ûÊÇboot,system£¬Ä¬ÈÏÐÞ¸ÄΪ0x8000£¬±íʾÐèÒª½øÐÐУÑé + //recovery·ÖÇøÓÉÓû§×Ô¼ºÖ¸¶¨ + //ÐÞÕý²Á³ýÐÅÏ¢£¬Èç¹ûÊÇdata/cache/UDISK/drm/private£¬Ä¬ÈÏΪ0x8000£¬±íʾУÑé²»¹ýÐèÒª²Á³ý + if(!strcmp((char *)mbr_info->array[part_index].name, "boot")) + { + if(mbr_info->array[part_index].sig_verify == 0) + { + mbr_info->array[part_index].sig_verify = 0x8000; + } + } + else if(!strcmp((char *)mbr_info->array[part_index].name, "system")) + { + if(mbr_info->array[part_index].sig_verify == 0) + { + mbr_info->array[part_index].sig_verify = 0x8000; + } + } + else if(!strcmp((char *)mbr_info->array[part_index].name, "data")) + { + if(mbr_info->array[part_index].sig_erase == 0) + { + mbr_info->array[part_index].sig_erase = 0x8000; + } + } + else if(!strcmp((char *)mbr_info->array[part_index].name, "cache")) + { + if(mbr_info->array[part_index].sig_erase == 0) + { + mbr_info->array[part_index].sig_erase = 0x8000; + } + } + else if(!strcmp((char *)mbr_info->array[part_index].name, "private")) + { + if(mbr_info->array[part_index].sig_erase == 0) + { + mbr_info->array[part_index].sig_erase = 0x8000; + } + } + else if(!strcmp((char *)mbr_info->array[part_index].name, "drm")) + { + if(mbr_info->array[part_index].sig_erase == 0) + { + mbr_info->array[part_index].sig_erase = 0x8000; + } + } + + //»ñÈ¡·ÖÇø ÊÇ·ñÐèҪУÑé + if(down_flag) + { + value[0] = 1; + ret = script_parser_fetch_mainkey_sub("verify", part_handle, value); + if((!ret) && (!value[0])) + { + dl_map->one_part_info[down_index].verify = 0; + } + else + { + dl_map->one_part_info[down_index].verify = value[0]; + memset((char *)dl_map->one_part_info[down_index].vf_filename, '0', 16); + dl_map->one_part_info[down_index].vf_filename[0] = 'V'; + memcpy((char *)dl_map->one_part_info[down_index].vf_filename + 1, filename, 15); + } + } + //»ñÈ¡·ÖÇø ¼ÓÃÜÊôÐÔ + if(down_flag) + { + if(!script_parser_fetch_mainkey_sub("encrypt", part_handle, value)) + { + dl_map->one_part_info[down_index].encrypt = value[0]; + } + } + if(!is_udisk) + { + //»ñÈ¡·ÖÇø ´óСµÍλ + if(!script_parser_fetch_mainkey_sub( "size", part_handle, value)) + { + mbr_info->array[part_index].lenlo = value[0]; + if(down_flag) + { + dl_map->one_part_info[down_index].lenlo = value[0]; + if (check_dl_size(fullname,value[0])) + return -1; + } + } + else + { + ERR("MBR Create FAIL: Unable to find partition size in partition %d\n", part_index); + + return -1; + } + } + //Éú³É·ÖÇø ÆðʼµØÖ· + if(!part_index) + { + mbr_info->array[part_index].addrhi = 0; + mbr_info->array[part_index].addrlo = mbr_size; + if(down_flag) + { + dl_map->one_part_info[down_index].addrhi = 0; + dl_map->one_part_info[down_index].addrlo = mbr_size; + } + } + else + { + start_sector = mbr_info->array[part_index-1].addrlo; + start_sector |= (__int64)mbr_info->array[part_index-1].addrhi << 32; + start_sector += mbr_info->array[part_index-1].lenlo; + + mbr_info->array[part_index].addrlo = (__u32)(start_sector & 0xffffffff); + mbr_info->array[part_index].addrhi = (__u32)((start_sector >>32) & 0xffffffff); + + if(down_flag) + { + dl_map->one_part_info[down_index].addrlo = mbr_info->array[part_index].addrlo; + dl_map->one_part_info[down_index].addrhi = mbr_info->array[part_index].addrhi; + } + } + + part_index ++; + if(down_flag) + { + down_index ++; + } + } + + if(part_handle < 0) + { + return -1; + } + + if(!udisk_exist) + { + start_sector = mbr_info->array[part_index-1].addrlo; + start_sector |= (__int64)mbr_info->array[part_index-1].addrhi << 32; + start_sector += mbr_info->array[part_index-1].lenlo; + + mbr_info->array[part_index].addrlo = (__u32)(start_sector & 0xffffffff); + mbr_info->array[part_index].addrhi = (__u32)((start_sector >>32) & 0xffffffff); + + strcpy((char *)mbr_info->array[part_index].classname, "DISK"); + strcpy((char *)mbr_info->array[part_index].name, "UDISK"); + + mbr_info->array[part_index].sig_erase = 0x8000; + + mbr_info->PartCount = part_index + 1; + } + else + { + if(mbr_info->array[part_index-1].sig_erase == 0) + { + mbr_info->array[part_index-1].sig_erase = 0x8000; + } + + mbr_info->PartCount = part_index; + } + + dl_map->download_count = down_index; + + + return 0; +} + + +__s32 update_mbr_crc(sunxi_mbr_t *mbr_info, __s32 mbr_count, FILE *mbr_file) +{ + int i; + unsigned crc32_total; + + for(i=0;iindex = i; + crc32_total = calc_crc32((void *)&(mbr_info->version), (sizeof(sunxi_mbr_t) - 4)); + mbr_info->crc32 = crc32_total; + DBG("crc %d = %x\n", i, crc32_total); + fwrite(mbr_info, sizeof(sunxi_mbr_t), 1, mbr_file); + } + gpt_main(mbr_info, "sunxi_gpt.fex"); + + return 0; +} + + +__s32 update_dl_info_crc(sunxi_download_info *dl_map, FILE *dl_file) +{ + __u32 crc32_total; + + crc32_total = calc_crc32((void *)&(dl_map->version), (sizeof(sunxi_download_info) - 4)); + dl_map->crc32 = crc32_total; + fwrite(dl_map, sizeof(sunxi_download_info), 1, dl_file); + + return 0; +} + +__s32 check_dl_size(char *filename,int part_size) +{ + FILE *dl_file = NULL; + uint dl_file_size = 0; + char pbuf[SPARSE_HEADER_DATA] = {0}; + sparse_header_t *sparse_buf = NULL; + + if (filename == NULL || part_size == 0) + return -1; + dl_file = fopen(filename, "rb"); + if(!dl_file) + { + ERR(" unable to open file %s\n", filename); + return -1; + } + fseek(dl_file, 0, SEEK_END); + dl_file_size = (ftell(dl_file) + 511)/512; + fseek(dl_file, 0, SEEK_SET); + + fread(pbuf, 1, SPARSE_HEADER_DATA, dl_file); + sparse_buf = (sparse_header_t *)pbuf; + if (sparse_buf->magic == SPARSE_HEADER_MAGIC) { + dl_file_size = ((sparse_buf->blk_sz*sparse_buf->total_blks) + 511)/512; + } + fclose(dl_file); + if (dl_file_size > part_size ) + { + ERR("dl file %s size too large\n",filename); + ERR("filename = %s \n",filename ); + ERR("dl_file_size = %u sector\n", dl_file_size); + ERR("part_size = %d sector\n",part_size ); + return -1; + } + return 0; +} + diff --git a/lichee/brandy-2.0/tools/test.txt b/lichee/brandy-2.0/tools/test.txt new file mode 100644 index 0000000..6bb7e3d --- /dev/null +++ b/lichee/brandy-2.0/tools/test.txt @@ -0,0 +1 @@ +ssss diff --git a/lichee/brandy-2.0/u-boot-2018 b/lichee/brandy-2.0/u-boot-2018 new file mode 160000 index 0000000..f29fd5e --- /dev/null +++ b/lichee/brandy-2.0/u-boot-2018 @@ -0,0 +1 @@ +Subproject commit f29fd5e80e6306ca5c52765ccc6e2168d3e284b1 diff --git a/lichee/linux-5.4 b/lichee/linux-5.4 new file mode 160000 index 0000000..bdc3fd4 --- /dev/null +++ b/lichee/linux-5.4 @@ -0,0 +1 @@ +Subproject commit bdc3fd4ff88a40baa3a112dc8bf7e82ff896edc4 diff --git a/package b/package new file mode 160000 index 0000000..8cd1f96 --- /dev/null +++ b/package @@ -0,0 +1 @@ +Subproject commit 8cd1f964b361c06de31801bdacf208dd0ba06895 diff --git a/rules.mk b/rules.mk new file mode 100755 index 0000000..7142383 --- /dev/null +++ b/rules.mk @@ -0,0 +1,523 @@ +# +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2016-2016 tracewong +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifneq ($(__rules_inc),1) +__rules_inc=1 + +ifeq ($(DUMP),) + -include $(TOPDIR)/.config +endif +include $(TOPDIR)/build/board.mk +include $(TOPDIR)/build/debug.mk +include $(TOPDIR)/build/verbose.mk + +export TMP_DIR:=$(TOPDIR)/tmp + +qstrip=$(strip $(subst ",,$(1))) +#")) + +empty:= +space:= $(empty) $(empty) +comma:=, +merge=$(subst $(space),,$(1)) +confvar=$(call merge,$(foreach v,$(1),$(if $($(v)),y,n))) +detectfile=$(call merge,$(foreach v,$(1),$(if $(filter $(v),$(wildcard $(v))),y,))) +detectfile_y=$(call merge,$(foreach v,$(1),y)) +strip_last=$(patsubst %.$(lastword $(subst .,$(space),$(1))),%,$(1)) + +paren_left = ( +paren_right = ) +chars_lower = a b c d e f g h i j k l m n o p q r s t u v w x y z +chars_upper = A B C D E F G H I J K L M N O P Q R S T U V W X Y Z + +define sep + +endef + +define newline + + +endef + +__tr_list = $(join $(join $(1),$(foreach char,$(1),$(comma))),$(2)) +__tr_head_stripped = $(subst $(space),,$(foreach cv,$(call __tr_list,$(1),$(2)),$$$(paren_left)subst$(cv)$(comma))) +__tr_head = $(subst $(paren_left)subst,$(paren_left)subst$(space),$(__tr_head_stripped)) +__tr_tail = $(subst $(space),,$(foreach cv,$(1),$(paren_right))) +__tr_template = $(__tr_head)$$(1)$(__tr_tail) + +$(eval toupper = $(call __tr_template,$(chars_lower),$(chars_upper))) +$(eval tolower = $(call __tr_template,$(chars_upper),$(chars_lower))) + +_SINGLE=export MAKEFLAGS=$(space); +CFLAGS:= +ARCH:=$(call qstrip,$(TARGET_ARCH)) +ARCH_PACKAGES:=$(call qstrip,$(TARGET_ARCH_PACKAGES)) +BOARD:=$(call qstrip,$(TARGET_BOARD)) +TARGET_OPTIMIZATION:=$(call qstrip,$(CONFIG_TARGET_OPTIMIZATION)) +export EXTRA_OPTIMIZATION:=$(filter-out -fno-plt,$(call qstrip,$(CONFIG_EXTRA_OPTIMIZATION))) +TARGET_SUFFIX=$(call qstrip,$(CONFIG_TARGET_SUFFIX)) +TOOLCHAIN_LIBC=$(call qstrip,$(CONFIG_TOOLCHAIN_LIBC)) +BUILD_SUFFIX:=$(call qstrip,$(CONFIG_BUILD_SUFFIX)) +SUBDIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR}) +BUILD_SUBDIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR}) +export SHELL:=/usr/bin/env bash +IS_PACKAGE_BUILD := $(if $(filter package/%,$(BUILD_SUBDIR)),1) + +OPTIMIZE_FOR_CPU=$(subst i386,i486,$(ARCH)) + +ifeq ($(ARCH),powerpc) + FPIC:=-fPIC +else + FPIC:=-fpic +endif + +HOST_FPIC:=-fPIC + +ARCH_SUFFIX:=$(call qstrip,$(CONFIG_CPU_TYPE)) +GCC_ARCH:= + +ifneq ($(ARCH_SUFFIX),) + ARCH_SUFFIX:=_$(ARCH_SUFFIX) +endif +ifneq ($(filter -march=armv%,$(TARGET_OPTIMIZATION)),) + GCC_ARCH:=$(patsubst -march=%,%,$(filter -march=armv%,$(TARGET_OPTIMIZATION))) +endif +ifdef CONFIG_HAS_SPE_FPU + TARGET_SUFFIX:=$(TARGET_SUFFIX)spe +endif +ifdef CONFIG_MIPS64_ABI + ifneq ($(CONFIG_MIPS64_ABI_O32),y) + ARCH_SUFFIX:=$(ARCH_SUFFIX)_$(call qstrip,$(CONFIG_MIPS64_ABI)) + endif +endif + +DL_DIR:=$(TOPDIR)/dl +OUT_DIR:=$(TOPDIR)/out +TARGET_OUT_DIR:=$(TOPDIR)/out/$(BOARD) +BUILD_DIR:=$(TOPDIR)/build +SCRIPT_DIR:=$(TOPDIR)/scripts +COMPILE_DIR_BASE:=$(TARGET_OUT_DIR)/compile_dir +TARGET_CFLAGS:=$(TARGET_OPTIMIZATION)$(if $(CONFIG_DEBUG), -g3) $(call qstrip,$(CONFIG_EXTRA_OPTIMIZATION)) + +ifeq ($(CONFIG_UPDATE_TOOLCHAIN), ) + ifeq ($(ARCH), arm) + CONFIG_TOOLCHAIN_PREFIX=$(ARCH)-openwrt-linux-$(TARGET_SUFFIX)- + CONFIG_TARGET_NAME=$(ARCH)-openwrt-linux + else + ifeq ($(ARCH), riscv) + ifeq ($(CONFIG_EXT_TOOLCHAIN_LIBC_USE_GLIBC),y) + CONFIG_TOOLCHAIN_PREFIX=riscv64-unknown-linux-gnu- + CONFIG_TARGET_NAME=riscv64-unknown-linux-gnu + endif + else + ifeq ($(CONFIG_COMPLILE_KERNEL64_USER32),y) + ifeq ($(CONFIG_EXT_TOOLCHAIN_LIBC_USE_GLIBC),y) + CONFIG_TOOLCHAIN_PREFIX=arm-openwrt-linux-gnueabi- + CONFIG_TARGET_NAME=arm-openwrt-linux + else + CONFIG_TOOLCHAIN_PREFIX=arm-openwrt-linux-muslgnueabi- + CONFIG_TARGET_NAME=arm-openwrt-linux + endif + else + # use aarch64 toolchain + CONFIG_TOOLCHAIN_PREFIX=$(ARCH)-openwrt-linux-$(TARGET_SUFFIX)- + CONFIG_TARGET_NAME=$(ARCH)-openwrt-linux + endif + endif + endif + + ifeq ($(ARCH), arm) + ifeq ($(TARGET_CPU_VARIANT),arm926ej-s) + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/$(ARCH)/toolchain-sunxi-arm9-$(TOOLCHAIN_LIBC)/toolchain + TARGET_CFLAGS+=-Wno-unused-result + else + # use arm toolchain + ifeq ($(CONFIG_EXT_TOOLCHAIN_GCC_5_3_1),y) + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/$(ARCH)/toolchain-sunxi-$(TOOLCHAIN_LIBC)-gcc-531/toolchain + TARGET_CFLAGS+= + else + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/$(ARCH)/toolchain-sunxi-$(TOOLCHAIN_LIBC)/toolchain + TARGET_CFLAGS+= + endif + endif + else + ifeq ($(ARCH), riscv) + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/$(ARCH)/toolchain-thead-$(TOOLCHAIN_LIBC)/riscv64-glibc-gcc-thead_20200702 + TARGET_CFLAGS+=-Wno-format-truncation + else + ifeq ($(CONFIG_COMPLILE_KERNEL64_USER32),y) + ifeq ($(CONFIG_EXT_TOOLCHAIN_GCC_5_3_1),y) + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-$(TOOLCHAIN_LIBC)-gcc-531/toolchain + TARGET_CFLAGS+= + else + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-$(TOOLCHAIN_LIBC)/toolchain + TARGET_CFLAGS+= + endif + else + # use aarch64 toolchain + ifeq ($(CONFIG_EXT_TOOLCHAIN_GCC_8_3_0),y) + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/$(ARCH)/toolchain-sunxi-$(TOOLCHAIN_LIBC)-gcc-830/toolchain + TARGET_CFLAGS+= + else + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/$(ARCH)/toolchain-sunxi-$(TOOLCHAIN_LIBC)/toolchain + TARGET_CFLAGS+= + endif + endif + endif + endif + + CONFIG_TOOLCHAIN_BIN_PATH="./usr/bin ./bin" + CONFIG_TOOLCHAIN_LIB_PATH="./usr/lib ./lib" + CONFIG_LIBATOMIC_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + CONFIG_LIBC_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + CONFIG_LIBGCC_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + CONFIG_LIBPTHREAD_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + CONFIG_LIBRT_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + CONFIG_LIBSSP_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + CONFIG_LIBSTDCPP_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + CONFIG_LIBASAN_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + + ifneq ($(ARCH), riscv) + CONFIG_LIBATOMIC_FILE_SPEC="./lib/libatomic.so.*" + CONFIG_LIBGCC_FILE_SPEC="./lib/libgcc_s.so.*" + CONFIG_LIBPTHREAD_FILE_SPEC="./lib/libpthread{-*.so,.so.*}" + CONFIG_LIBRT_FILE_SPEC="./lib/librt{-*.so,.so.*}" + CONFIG_LIBSSP_FILE_SPEC="./lib/libssp.so.*" + CONFIG_LIBSTDCPP_FILE_SPEC="./lib/libstdc++.so.*" + CONFIG_LIBASAN_FILE_SPEC="./lib/libasan.so.*" + else + CONFIG_LIBC_ROOT_DIR="$(CONFIG_TOOLCHAIN_ROOT)/sysroot/" + CONFIG_LIBGCC_ROOT_DIR="$(CONFIG_TOOLCHAIN_ROOT)/riscv64-unknown-linux-gnu/" + CONFIG_LIBPTHREAD_ROOT_DIR="$(CONFIG_TOOLCHAIN_ROOT)/sysroot/" + CONFIG_LIBRT_ROOT_DIR="$(CONFIG_TOOLCHAIN_ROOT)/sysroot/" + CONFIG_LIBSSP_ROOT_DIR="$(CONFIG_TOOLCHAIN_ROOT)/sysroot/" + CONFIG_LIBSTDCPP_ROOT_DIR="$(CONFIG_TOOLCHAIN_ROOT)/riscv64-unknown-linux-gnu/" + endif + + ifeq ($(CONFIG_TOOLCHAIN_LIBC), "musl") + CONFIG_TOOLCHAIN_INC_PATH="./usr/include ./include ./include/fortify" + ifneq ($(ARCH), riscv) + CONFIG_LIBC_FILE_SPEC="./lib/ld-musl-*.so* ./lib/lib{anl,c,gomp,cidn,crypt,dl,m,nsl,nss_dns,nss_files,resolv,util}{-*.so,.so*}" + endif + else ifeq ($(CONFIG_TOOLCHAIN_LIBC), "glibc") + CONFIG_TOOLCHAIN_INC_PATH="./usr/include ./include" + ifneq ($(ARCH), riscv) + CONFIG_LIBC_FILE_SPEC="./lib/ld-{*.so,linux*.so.*} ./lib/lib{anl,c,cidn,gomp,crypt,dl,m,nsl,nss_dns,nss_files,resolv,util}{-*.so,.so*}" + endif + CONFIG_LDD_ROOT_DIR=$(CONFIG_TOOLCHAIN_ROOT) + CONFIG_LDD_FILE_SPEC="./usr/bin/ldd" + endif +else + CONFIG_MAKE_TOOLCHAIN:=y + CONFIG_TOOLCHAIN_ROOT=$(TOPDIR)/prebuilt/gcc/linux-x86/$(ARCH) +endif + +ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) + GCCV:=$(call qstrip,$(CONFIG_GCC_VERSION)) + LIBC:=$(call qstrip,$(CONFIG_LIBC)) + LIBCV:=$(call qstrip,$(CONFIG_LIBC_VERSION)) + REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-openwrt-linux$(if $(TARGET_SUFFIX),-$(TARGET_SUFFIX)) + GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-openwrt-linux + DIR_SUFFIX:=_$(LIBC)-$(LIBCV)$(if $(CONFIG_arm),_eabi) + TARGET_DIR_NAME = target + TOOLCHAIN_DIR_NAME = toolchain +else + ifeq ($(CONFIG_NATIVE_TOOLCHAIN),) + GNU_TARGET_NAME=$(call qstrip,$(CONFIG_TARGET_NAME)) + else + GNU_TARGET_NAME=$(shell gcc -dumpmachine) + endif + REAL_GNU_TARGET_NAME=$(GNU_TARGET_NAME) + TARGET_DIR_NAME:=target + TOOLCHAIN_DIR_NAME:=toolchain +endif + +ifeq ($(or $(CONFIG_EXTERNAL_TOOLCHAIN),$(CONFIG_GCC_VERSION_8_3_0),$(CONFIG_GCC_VERSION_4_8),$(CONFIG_GCC_VERSION_4_8_3),$(CONFIG_GCC_VERSION_4_5_1),$(CONFIG_TARGET_uml),$(CONFIG_EXT_TOOLCHAIN_GCC_5_3_1)),) + iremap = -iremap $(1):$(2) +endif + +PACKAGE_DIR:=$(TARGET_OUT_DIR)/packages +COMPILE_DIR:=$(COMPILE_DIR_BASE)/$(TARGET_DIR_NAME) +STAGING_DIR:=$(TARGET_OUT_DIR)/staging_dir/$(TARGET_DIR_NAME) +COMPILE_DIR_TOOLCHAIN:=$(COMPILE_DIR_BASE)/$(TOOLCHAIN_DIR_NAME) +TOOLCHAIN_DIR:=$(TARGET_OUT_DIR)/staging_dir/$(TOOLCHAIN_DIR_NAME) +STAMP_DIR:=$(COMPILE_DIR)/stamp +STAMP_DIR_HOST=$(COMPILE_DIR_HOST)/stamp +TARGET_ROOTFS_DIR?=$(if $(call qstrip,$(CONFIG_TARGET_ROOTFS_DIR)),$(call qstrip,$(CONFIG_TARGET_ROOTFS_DIR)),$(COMPILE_DIR)) +TARGET_DIR:=$(TARGET_ROOTFS_DIR)/rootfs +STAGING_DIR_ROOT:=$(STAGING_DIR)/rootfs +BUILD_LOG_DIR:=$(TOPDIR)/logs +PKG_INFO_DIR := $(STAGING_DIR)/pkginfo + +COMPILE_DIR_HOST:=$(if $(IS_PACKAGE_BUILD),$(COMPILE_DIR)/host,$(COMPILE_DIR_BASE)/host) +STAGING_DIR_HOST:=$(TOPDIR)/out/host + +TARGET_PATH:=$(subst $(space),:,$(filter-out .,$(filter-out ./,$(subst :,$(space),$(PATH))))) +TARGET_INIT_PATH:=$(call qstrip,$(CONFIG_TARGET_INIT_PATH)) +TARGET_INIT_PATH:=$(if $(TARGET_INIT_PATH),$(TARGET_INIT_PATH),/usr/sbin:/sbin:/usr/bin:/bin) +ifndef ($(or $(CONFIG_GCC_VERSION_4_5_1),$(CONFIG_GCC_VERSION_4_8_3)),) + TARGET_CFLAGS:=$(filter-out -fno-plt,$(call qstrip,$(TARGET_CFLAGS))) + TARGET_CFLAGS+=-Wno-unused-result +endif +TARGET_CXXFLAGS = $(TARGET_CFLAGS) +TARGET_ASFLAGS_DEFAULT = $(TARGET_CFLAGS) +TARGET_ASFLAGS = $(TARGET_ASFLAGS_DEFAULT) +TARGET_CPPFLAGS:=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include +TARGET_LDFLAGS:=-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib +ifneq ($(CONFIG_EXTERNAL_TOOLCHAIN),) +LIBGCC_S_PATH=$(realpath $(wildcard $(call qstrip,$(CONFIG_LIBGCC_ROOT_DIR))/$(call qstrip,$(CONFIG_LIBGCC_FILE_SPEC)))) +LIBGCC_S=$(if $(LIBGCC_S_PATH),-L$(dir $(LIBGCC_S_PATH)) -lgcc_s) +LIBGCC_A=$(realpath $(lastword $(wildcard $(dir $(LIBGCC_S_PATH))/gcc/*/*/libgcc.a))) +else +LIBGCC_A=$(lastword $(wildcard $(TOOLCHAIN_DIR)/lib/gcc/*/*/libgcc.a)) +LIBGCC_S=$(if $(wildcard $(TOOLCHAIN_DIR)/lib/libgcc_s.so),-L$(TOOLCHAIN_DIR)/lib -lgcc_s,$(LIBGCC_A)) +endif +LIBRPC=-lrpc +LIBRPC_DEPENDS=+librpc + +ifeq ($(CONFIG_ARCH_64BIT),y) + LIB_SUFFIX:=64 +endif + +ifndef DUMP + ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) + -include $(TOOLCHAIN_DIR)/info.mk + export GCC_HONOUR_COPTS:=0 + TARGET_CROSS:=$(if $(TARGET_CROSS),$(TARGET_CROSS),$(OPTIMIZE_FOR_CPU)-openwrt-linux$(if $(TARGET_SUFFIX),-$(TARGET_SUFFIX))-) + ifdef ($(or $(CONFIG_GCC_VERSION_4_5_1),$(CONFIG_GCC_VERSION_4_8_3)),) + TARGET_CFLAGS+= -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result + endif + TARGET_CPPFLAGS+= -I$(TOOLCHAIN_DIR)/usr/include + ifeq ($(CONFIG_USE_MUSL),y) + TARGET_CPPFLAGS+= -I$(TOOLCHAIN_DIR)/include/fortify + endif + TARGET_CPPFLAGS+= -I$(TOOLCHAIN_DIR)/include + TARGET_LDFLAGS+= -L$(TOOLCHAIN_DIR)/usr/lib -L$(TOOLCHAIN_DIR)/lib + TARGET_PATH:=$(TOOLCHAIN_DIR)/bin:$(TARGET_PATH) + else + ifeq ($(CONFIG_NATIVE_TOOLCHAIN),) + TARGET_CROSS:=$(call qstrip,$(CONFIG_TOOLCHAIN_PREFIX)) + TOOLCHAIN_ROOT_DIR:=$(call qstrip,$(CONFIG_TOOLCHAIN_ROOT)) + TOOLCHAIN_BIN_DIRS:=$(patsubst ./%,$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_BIN_PATH))) + TOOLCHAIN_INC_DIRS:=$(patsubst ./%,$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_INC_PATH))) + TOOLCHAIN_LIB_DIRS:=$(patsubst ./%,$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_LIB_PATH))) + ifneq ($(TOOLCHAIN_BIN_DIRS),) + TARGET_PATH:=$(subst $(space),:,$(TOOLCHAIN_BIN_DIRS)):$(TARGET_PATH) + endif + ifneq ($(TOOLCHAIN_INC_DIRS),) + TARGET_CPPFLAGS+= $(patsubst %,-I%,$(TOOLCHAIN_INC_DIRS)) + endif + ifneq ($(TOOLCHAIN_LIB_DIRS),) + TARGET_LDFLAGS+= $(patsubst %,-L%,$(TOOLCHAIN_LIB_DIRS)) + endif + TARGET_CXXFLAGS+=-Wno-virtual-dtor + ifeq ($(CONFIG_COMPLILE_KERNEL64_USER32),y) + ARCH64PATH:=$(TOPDIR)/prebuilt/gcc/linux-x86/aarch64/toolchain-sunxi-$(TOOLCHAIN_LIBC)/toolchain + TARGET_PATH:=$(TOOLCHAIN_DIR)/bin:$(TARGET_PATH):$(ARCH64PATH)/bin + else + TARGET_PATH:=$(TOOLCHAIN_DIR)/bin:$(TARGET_PATH) + endif + endif + endif +endif +TARGET_PATH_PKG:=$(STAGING_DIR)/host/bin:$(TARGET_PATH) + +ifeq ($(CONFIG_SOFT_FLOAT),y) + SOFT_FLOAT_CONFIG_OPTION:=--with-float=soft + ifeq ($(CONFIG_arm),y) + TARGET_CFLAGS+= -mfloat-abi=soft + else + TARGET_CFLAGS+= -msoft-float + endif +else + SOFT_FLOAT_CONFIG_OPTION:= + ifeq ($(or $(CONFIG_arm),$(CONFIG_COMPLILE_KERNEL64_USER32)),y) + ifeq ($(CONFIG_COMPLILE_KERNEL64_USER32),y) + TARGET_CFLAGS +=-Os -pipe -march=armv8-a -mtune=cortex-a53 -mfpu=neon + endif + TARGET_CFLAGS+= -mfloat-abi=hard + endif +endif + +export PATH:=$(TARGET_PATH) +export STAGING_DIR STAGING_DIR_HOST +export SH_FUNC:=. $(BUILD_DIR)/shell.sh; + +PKG_CONFIG:=$(STAGING_DIR_HOST)/bin/pkg-config + +export PKG_CONFIG + +HOSTCC:=gcc +HOSTCXX:=g++ +HOST_CPPFLAGS:=-I$(STAGING_DIR_HOST)/include -I$(STAGING_DIR_HOST)/usr/include $(if $(IS_PACKAGE_BUILD),-I$(STAGING_DIR)/host/include) +HOST_CFLAGS:=-O2 $(HOST_CPPFLAGS) +HOST_LDFLAGS:=-L$(STAGING_DIR_HOST)/lib -L$(STAGING_DIR_HOST)/usr/lib $(if $(IS_PACKAGE_BUILD),-L$(STAGING_DIR)/host/lib) + +ifeq ($(or $(CONFIG_EXTERNAL_TOOLCHAIN),$(CONFIG_GCC_VERSION_4_5_1),$(CONFIG_GCC_VERSION_4_8_3)),) + TARGET_AR:=$(TARGET_CROSS)gcc-ar + TARGET_RANLIB:=$(TARGET_CROSS)gcc-ranlib + TARGET_NM:=$(TARGET_CROSS)gcc-nm +else + TARGET_AR:=$(TARGET_CROSS)ar + TARGET_RANLIB:=$(TARGET_CROSS)ranlib + TARGET_NM:=$(TARGET_CROSS)nm +endif + +BUILD_KEY=$(TOPDIR)/key-build + +TARGET_CC:=$(TARGET_CROSS)gcc +TARGET_CXX:=$(TARGET_CROSS)g++ +KPATCH:=$(SCRIPT_DIR)/patch-kernel.sh +SED:=$(STAGING_DIR_HOST)/bin/sed -i -e +CP:=cp -fpR +LN:=ln -sf +XARGS:=xargs -r + +BASH:=bash +TAR:=tar +FIND:=find +PATCH:=patch +PYTHON:=python + +INSTALL_BIN:=install -m0755 +INSTALL_DIR:=install -d -m0755 +INSTALL_DATA:=install -m0644 +INSTALL_CONF:=install -m0600 + +TARGET_CC_NOCACHE:=$(TARGET_CC) +TARGET_CXX_NOCACHE:=$(TARGET_CXX) +HOSTCC_NOCACHE:=$(HOSTCC) +HOSTCXX_NOCACHE:=$(HOSTCXX) +export TARGET_CC_NOCACHE +export TARGET_CXX_NOCACHE +export HOSTCC_NOCACHE + +ifneq ($(CONFIG_CCACHE),) + TARGET_CC:= ccache_cc + TARGET_CXX:= ccache_cxx + HOSTCC:= ccache $(HOSTCC) + HOSTCXX:= ccache $(HOSTCXX) +endif + +TARGET_CONFIGURE_OPTS = \ + AR="$(TARGET_AR)" \ + AS="$(TARGET_CC) -c $(TARGET_ASFLAGS)" \ + LD=$(TARGET_CROSS)ld \ + NM="$(TARGET_NM)" \ + CC="$(TARGET_CC)" \ + GCC="$(TARGET_CC)" \ + CXX="$(TARGET_CXX)" \ + RANLIB="$(TARGET_RANLIB)" \ + STRIP=$(TARGET_CROSS)strip \ + OBJCOPY=$(TARGET_CROSS)objcopy \ + OBJDUMP=$(TARGET_CROSS)objdump \ + SIZE=$(TARGET_CROSS)size + +# strip an entire directory +ifneq ($(CONFIG_NO_STRIP),) + RSTRIP:=: + STRIP:=: +else + ifneq ($(CONFIG_USE_STRIP),) + STRIP:=$(TARGET_CROSS)strip $(call qstrip,$(CONFIG_STRIP_ARGS)) + else + ifneq ($(CONFIG_USE_SSTRIP),) + STRIP:=$(STAGING_DIR_HOST)/bin/sstrip + endif + endif + RSTRIP= \ + export CROSS="$(TARGET_CROSS)" \ + $(if $(PKG_BUILD_ID),KEEP_BUILD_ID=1) \ + $(if $(CONFIG_KERNEL_KALLSYMS),NO_RENAME=1) \ + $(if $(CONFIG_KERNEL_PROFILING),KEEP_SYMBOLS=1); \ + NM="$(TARGET_CROSS)nm" \ + STRIP="$(STRIP)" \ + STRIP_KMOD="$(SCRIPT_DIR)/strip-kmod.sh" \ + PATCHELF="$(STAGING_DIR_HOST)/bin/patchelf" \ + $(SCRIPT_DIR)/rstrip.sh +endif + +ifeq ($(CONFIG_IPV6),y) + DISABLE_IPV6:= +else + DISABLE_IPV6:=--disable-ipv6 +endif + +TAR_OPTIONS:=-xf - + +ifeq ($(CONFIG_BUILD_LOG),y) + BUILD_LOG:=1 +endif + +export BISON_PKGDATADIR:=$(STAGING_DIR_HOST)/share/bison +export M4:=$(STAGING_DIR_HOST)/bin/m4 + +define shvar +V_$(subst .,_,$(subst -,_,$(subst /,_,$(1)))) +endef + +define shexport +export $(call shvar,$(1))=$$(call $(1)) +endef + +define include_mk +$(eval -include $(if $(DUMP),,$(STAGING_DIR)/mk/$(strip $(1)))) +endef + +# Execute commands under flock +# $(1) => The shell expression. +# $(2) => The lock name. If not given, the global lock will be used. +ifneq ($(wildcard $(STAGING_DIR_HOST)/bin/flock),) + define locked + SHELL= \ + flock \ + $(TMP_DIR)/.$(if $(2),$(strip $(2)),global).flock \ + -c '$(subst ','\'',$(1))' + endef +else + locked=$(1) +endif + +# Recursively copy paths into another directory, purge dangling +# symlinks before. +# $(1) => File glob expression +# $(2) => Destination directory +define file_copy + for src_dir in $(sort $(foreach d,$(wildcard $(1)),$(dir $(d)))); do \ + ( cd $$src_dir; find -type f -or -type d ) | \ + ( cd $(2); while :; do \ + read FILE; \ + [ -z "$$FILE" ] && break; \ + [ -L "$$FILE" ] || continue; \ + echo "Removing symlink $(2)/$$FILE"; \ + rm -f "$$FILE"; \ + done; ); \ + done; \ + $(CP) $(1) $(2) +endef + +# file extension +ext=$(word $(words $(subst ., ,$(1))),$(subst ., ,$(1))) + +all: +FORCE: ; +.PHONY: FORCE + +val.%: + @$(if $(filter undefined,$(origin $*)),\ + echo "$* undefined" >&2, \ + echo '$(subst ','"'"',$($*))' \ + ) + +var.%: + @$(if $(filter undefined,$(origin $*)),\ + echo "$* undefined" >&2, \ + echo "$*='"'$(subst ','"'\"'\"'"',$($*))'"'" \ + ) + +endif #__rules_inc diff --git a/scripts/add_initramfs.sh b/scripts/add_initramfs.sh new file mode 100755 index 0000000..fa6859f --- /dev/null +++ b/scripts/add_initramfs.sh @@ -0,0 +1,128 @@ +#!/bin/bash + +############################################################### +# step: +# 1. extract rootfs_tina_xxbit.cpio.gz +# 2. add packages to initramfs dir +# 3. remove unused libraries and resources in initramfs +# 4. generate new rootfs_tina_xxbit.cpio.gz +############################################################### + +help_info() +{ + # get the basename of this scripts + local shell_name=`basename $SH_NAME` + + echo -e "v1.0\n" + echo -e "This script will add some packages to tina/lichee/linux-x.x/rootfs.cpio.gz\n" + echo -e "\033[32mUsage:\n\t./$shell_name ...\033[0m\n" + echo -e "\t means the packages directory, like:" + echo -e "\t\t tina/out/xxx-xxx/compile_dir/target/xxxx/\n" +} + +build_rootfs() +{ + cd $KERN_DIR + ./scripts/build_rootfs.sh $1 $2 + cd - +} + +add_packages() +{ + # install packages to initramfs dir + for i in $@ + do + # rm '/' at the end of of a directory path if it has. + pkg_dir=${i%/} + + sub_dir=`ls $pkg_dir/ipkg-sunxi/` + + if [ -z "$sub_dir" ]; then + echo -e "\033[33m==WARNING==\033[0m $sub_dir does not exist!" + continue + fi + + for j in $sub_dir + do + cp -rf $pkg_dir/ipkg-sunxi/$j/* $KERN_DIR/skel/ + rm -rf $KERN_DIR/skel/CONTROL + + pkg_libs=`cat $pkg_dir/../../../staging_dir/target/pkginfo/$j.provides` + copy_libs="$pkg_libs $copy_libs" + done + done + + # keep each lib one + copy_libs=`echo $copy_libs | sed 's/ /\n/g' | sort -u` + + # copy libs to initramfs + for k in $copy_libs + do + if [ -f "$ROOTFS_DIR/lib/$k" ]; then + cp -rf $ROOTFS_DIR/lib/$k $KERN_DIR/skel/lib + elif [ -f "$ROOTFS_DIR/usr/lib/$k" ]; then + cp -rf $ROOTFS_DIR/usr/lib/$k $KERN_DIR/skel/usr/lib + else + echo -e "\033[33m==WARNING==\033[0m No such library: $k in $ROOTFS_DIR" + fi + done +} + + +################################################################################ +SH_NAME=`readlink -f $0` + +# check param +if [ $# -lt 1 ]; then + help_info + exit +fi + +# get linux version +TMP=`readlink -f $1` +case $TMP in + *"r16"* | *"r11"* | *"r7"*) + KERNEL_VERSION=linux-3.4 + ;; + *"r6"* | *"r40"*) + KERNEL_VERSION=linux-3.10 + ;; + *"r18"*) + KERNEL_VERSION=linux-4.4 + ;; + *) + exit 1 + echo "ERROR: $1" + ;; +esac + +TINA_DIR=`dirname $SH_NAME`/.. +KERN_DIR=$TINA_DIR/lichee/${KERNEL_VERSION} +ROOTFS_DIR=${1%/}/../rootfs + +# get arch information +file $ROOTFS_DIR/lib/libc.so | grep 64-bit > /dev/null + +if [ $? -eq 0 ]; then + BIT=64bit +else + BIT=32bit + + grep 'r6' $TMP > /dev/null + if [ $? -eq 0 ]; then + BIT=arm9 + fi +fi + +# 1. extract rootfs_tina_xxbit.cpio.gz +build_rootfs e rootfs_tina_${BIT}.cpio.gz + +# 2. add packages to initramfs dir +add_packages $@ + +# 3. remove unused libraries and resources in initramfs +$TINA_DIR/scripts/reduce-rootfs-size.sh d $KERN_DIR/skel +$TINA_DIR/scripts/reduce-rootfs-size.sh c $KERN_DIR/skel + +# 4. generate new rootfs_tina_xxbit.cpio.gz +build_rootfs c rootfs_tina_${BIT}.cpio.gz diff --git a/scripts/arm-magic.sh b/scripts/arm-magic.sh new file mode 100755 index 0000000..46862cb --- /dev/null +++ b/scripts/arm-magic.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +# +# Empty/wrong machtype-workaround generator +# +# Copyright (C) 2006-2012 Imre Kaloz +# based on linux/arch/arm/boot/compressed/head-xscale.S +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +# NOTE: for now it's for only IXP4xx in big endian mode + +# list of supported boards, in "boardname machtypeid" format +for board in "avila 526" "gateway7001 731" "nslu2 597" "nas100d 865" "wg302v1 889" "wg302v2 890" "pronghorn 928" "pronghornmetro 1040" "compex 1273" "wrt300nv2 1077" "loft 849" "dsmg600 964" "fsg3 1091" "ap1000 1543" "tw2662 1658" "tw5334 1664" "ixdpg425 604" "cambria 1468" "sidewinder 1041" "ap42x 4418" +do + set -- $board + hexid=$(printf %x\\n $2) + if [ "$2" -lt "256" ]; then + # we have a low machtypeid, we just need a "mov" (e3a) + printf "\xe3\xa0\x10\x$hexid" > $TARGET_OUT_DIR/$IMG_PREFIX-$1-zImage + else + # we have a high machtypeid, we need a "mov" (e3a) and an "orr" (e38) + if [ "$2" -lt "4096" ]; then + printf "\xe3\xa0\x10\x$(echo $hexid|cut -b "2 3")\xe3\x81\x1c\x$(echo $hexid|cut -b 1)" > $TARGET_OUT_DIR/$IMG_PREFIX-$1-zImage + else + printf "\xe3\xa0\x10\x$(echo $hexid|cut -b "3 4")\xe3\x81\x1c\x$(echo $hexid|cut -b "1 2")" > $TARGET_OUT_DIR/$IMG_PREFIX-$1-zImage + fi + fi + # generate the image + cat $TARGET_OUT_DIR/$IMG_PREFIX-zImage >> $TARGET_OUT_DIR/$IMG_PREFIX-$1-zImage +done diff --git a/scripts/brcmImage.pl b/scripts/brcmImage.pl new file mode 100755 index 0000000..9a3acb4 --- /dev/null +++ b/scripts/brcmImage.pl @@ -0,0 +1,162 @@ +#!/usr/bin/perl +# +# Copyright (C) 2009 Henk Vergonet +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# + +# Description: +# Replacement for brcmImagebuilder +# +# Disclaimer: +# Use this software at your own risk. +# +# Changelog: +# 2009-01-01 Henk.Vergonet at gmail.com +# +use strict; +use Getopt::Std; +use Compress::Zlib; + +my $version = "0.1"; +my %arg = ( + o => 'bcm963xx_fs_kernel', + b => 'OpenWrt', + c => '6348', + s => 64, + f => 0xbfc00000, + x => 0x00010000, + a => 0x80010000, + e => 0x80010000, + i => 2, +); +my $prog = $0; +$prog =~ s/^.*\///; +getopts("r:k:o:lc:b:s:f:i:a:e:tpvh", \%arg); + +die "usage: $prog ~opts~ + + -r : input rootfs file + -k : input kernel file + -o : output image file, default $arg{o} + -l : littleendian system, default ".($arg{l} ? 'yes' : 'no')." + -c : default $arg{c} + -b : default $arg{b} + -s : erase sise flash, default $arg{s} + -f : flash base, default ".sprintf('0x%x', $arg{f})." + -x : length of cfe, default ".sprintf('0x%x', $arg{x})." + -i : 2=dual image, default $arg{i} + + -a : Kernel load address, default ".sprintf('0x%x', $arg{a})." + -e : Kernel entry address, default ".sprintf('0x%x', $arg{e})." + -t : Prefix kernel with load,entry,size + + -p : Add a 'gOtO' partition + + -v : be more verbose + -h : help, version $version + +EXAMPLES: + $prog -k kern -r rootfs +" if $arg{h} || !$arg{k} || !$arg{r}; + +sub Read_Image +{ + open my $fh, $_[0] or die "open $_[0]: $!"; + local $/; # Set input to "slurp" mode. + my $buf = <$fh>; + close $fh; + return $buf; +} + +sub Padlen +{ + my $p = $_[0] % $_[1]; + return ($p ? $_[1] - $p : 0); +} + +sub Pad +{ + my ($buf, $off, $bs) = @_[0..2]; + $buf .= chr(255) x Padlen(length($buf) + $off, $bs); + return $buf; +} + +sub bcmImage +{ + my ($k, $f) = @_[0..1]; + my $tmp = $arg{x} + 0x100 + $arg{f}; + + # regular: rootfs+kernel + my ($img, $fa, $ka) = ( $f.$k, $tmp, $tmp + length($f) ); + + # test: kernel+rootfs +# my ($img, $fa, $ka) = ( $k.$f, $tmp + length($k), $tmp ); + + $fa = 0 unless length($f); + + my $hdr = pack("a4a20a14a6a16a2a10a12a10a12a10a12a10a2a2a74Na16", + '6', + 'LinuxInside', + 'ver. 2.0', + $arg{c}, + $arg{b}, + ($arg{l} ? '0' : '1'), + length($img), + '0', + '0', + $fa, + length($f), + $ka, + length($k), + ($arg{i}==2 ? '1' : '0'), + '', # if 1, the image is INACTIVE; if 0, active + '', + ~crc32($k, crc32($f)), + ''); + $hdr .= pack('Na16', ~crc32($hdr), ''); + + printf "kernel at 0x%x length 0x%x(%u)\n", $ka, length($k), length($k) + if $arg{v}; + printf "rootfs at 0x%x length 0x%x(%u)\n", $fa, length($f), length($f) + if $arg{v}; + + open(FO, ">$arg{o}"); + print FO $hdr; + print FO $img; + close FO; +} + +# MAIN + +my $kern = Read_Image $arg{k}; +my $root = Read_Image $arg{r}; + +$kern = pack('NNN', $arg{a}, $arg{e}, length($kern)).$kern if $arg{t}; + +# specific fixup for the CFE that expects rootfs-kernel order +if ($arg{p}) { + $kern = Pad($kern, 0x10c, $arg{s} * 1024); + my $dummy_root = pack('a4NN', + 'gOtO', + length($kern)+12, + length($root)+Padlen(length($root), $arg{s} * 1024) + ); + $kern .= $root; + $root = $dummy_root; +} + +bcmImage($kern, $root); + diff --git a/scripts/build_rootfs.sh b/scripts/build_rootfs.sh new file mode 100755 index 0000000..666de2e --- /dev/null +++ b/scripts/build_rootfs.sh @@ -0,0 +1,74 @@ +#!/bin/bash + +set -e + +if [[ "$2" =~ xz$ ]];then + echo "file end with xz" + export RAMFS_COMPRESS_METHOD="xz" +elif [[ "$2" =~ gz$ ]];then + echo "file end with gz" + export RAMFS_COMPRESS_METHOD="gz" +elif [[ "$2" =~ none$ ]];then + echo "file end with none" + export RAMFS_COMPRESS_METHOD="none" +else + echo "error format,file shoule end with gz or xz or none" + exit 1 +fi + +generate_rootfs() +{ + if [ -d skel ] ; then + if [ "x${RAMFS_COMPRESS_METHOD}" = "xxz" ] ; then + echo "compress ramfs for xz format" + (cd skel; find . | fakeroot cpio -o -Hnewc | xz -c -k --format=lzma > ../"$1") + elif [ "x${RAMFS_COMPRESS_METHOD}" = "xgz" ] ; then + echo "compress ramfs for gzip format" + (cd skel; find . | fakeroot cpio -o -Hnewc | gzip > ../"$1") + elif [ "x${RAMFS_COMPRESS_METHOD}" = "xnone" ] ; then + echo "compress ramfs for none format" + (cd skel; find . | fakeroot cpio -o -Hnewc > ../"$1") + fi + else + echo "skel not exist" + exit 1 + fi +} + +extract_rootfs() +{ + if [ -f "$1" ] ; then + rm -rf skel && mkdir skel + if [ "x${RAMFS_COMPRESS_METHOD}" = "xxz" ] ; then + echo "decompress ramfs for xz format" + xz -d -c -k $1 | (cd skel; fakeroot cpio -i) + elif [ "x${RAMFS_COMPRESS_METHOD}" = "xgz" ] ; then + echo "decompress ramfs for gzip format" + gzip -dc $1 | (cd skel; fakeroot cpio -i) + elif [ "x${RAMFS_COMPRESS_METHOD}" = "xnone" ] ; then + echo "decompress ramfs for none format" + (cd skel;fakeroot cpio -i -Hnewc < ../"$1") + fi + else + echo "$1 not exist" + exit 1 + fi +} + +if [ $# -ne 2 ]; then + echo -e "please input correct parameters" + echo -e "\t[build.sh e rootf.cpio.gz] to extract the rootfs template to skel folder" + echo -e "\tthen make some changes in the skel folder" + echo -e "\t[build.sh c rootf.cpio.gz] to create the rootfs from the skel folder" + exit 1 +fi + +if [ "$1" = "e" ] ; then + extract_rootfs $2 +elif [ "$1" = "c" ] ; then + generate_rootfs $2 +else + echo "Wrong arguments" + exit 1 +fi + diff --git a/scripts/bundle-libraries.sh b/scripts/bundle-libraries.sh new file mode 100755 index 0000000..508fe78 --- /dev/null +++ b/scripts/bundle-libraries.sh @@ -0,0 +1,110 @@ +#!/usr/bin/env bash +# +# Script to install host system binaries along with required libraries. +# +# Copyright (C) 2012-2013 Jo-Philipp Wich +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +DIR="$1"; shift + +_cp() { + cp ${VERBOSE:+-v} -L "$1" "$2" || { + echo "cp($1 $2) failed" >&2 + exit 1 + } +} + +_md() { + mkdir ${VERBOSE:+-v} -p "$1" || { + echo "mkdir($1) failed" >&2 + exit 2 + } +} + +_ln() { + ln ${VERBOSE:+-v} -sf "$1" "$2" || { + echo "ln($1 $2) failed" >&2 + exit 3 + } +} + +for LDD in ${PATH//://ldd }/ldd; do + "$LDD" --version >/dev/null 2>/dev/null && break + LDD="" +done + +[ -n "$LDD" -a -x "$LDD" ] || LDD= + +for BIN in "$@"; do + [ -n "$BIN" -a -x "$BIN" -a -n "$DIR" ] || { + echo "Usage: $0 ..." >&2 + exit 1 + } + + [ ! -d "$DIR/bundled/lib" ] && { + _md "$DIR/bundled/lib" + _md "$DIR/bundled/usr" + _ln "../lib" "$DIR/bundled/usr/lib" + } + + LDSO="" + + echo "Bundling ${BIN##*/}" + [ -n "$LDD" ] && { + for token in $("$LDD" "$BIN" 2>/dev/null); do + case "$token" in */*.so*) + case "$token" in + *ld-*.so*) LDSO="${token##*/}" ;; + *) echo " * lib: ${token##*/}" ;; + esac + + dest="$DIR/bundled/lib/${token##*/}" + ddir="${dest%/*}" + + [ -f "$token" -a ! -f "$dest" ] && { + _md "$ddir" + _cp "$token" "$dest" + } + ;; esac + done + } + + _md "$DIR" + + # is a dynamically linked executable + if [ -n "$LDSO" ]; then + _cp "$BIN" "$DIR/bundled/${BIN##*/}" + + RUN="${LDSO#ld-}"; RUN="run-${RUN%%.so*}.sh" + + [ -x "$DIR/bundled/$RUN" ] || { + cat <<-EOF > "$DIR/bundled/$RUN" + #!/usr/bin/env bash + dir="\$(dirname "\$0")" + bin="\$(basename "\$0")" + exec -a "\$0" "\$dir/bundled/lib/$LDSO" --library-path "\$dir/bundled/lib" "\$dir/bundled/\$bin" "\$@" + EOF + chmod ${VERBOSE:+-v} 0755 "$DIR/bundled/$RUN" + } + + _ln "./bundled/$RUN" "$DIR/${BIN##*/}" + + # is a static executable or non-elf binary + else + [ -n "$LDD" ] && echo " * not dynamically linked" + _cp "$BIN" "$DIR/${BIN##*/}" + fi +done diff --git a/scripts/cdirs/cdirs.sh b/scripts/cdirs/cdirs.sh new file mode 100755 index 0000000..82ead84 --- /dev/null +++ b/scripts/cdirs/cdirs.sh @@ -0,0 +1,1123 @@ +#!/bin/bash + +# config file +gmpy_cdirs_config="$(gettop)/scripts/cdirs/cdirsrc.tina" + +cdir_options_list="hn:l:p:k:t:f:F:" +lsdir_options_list="hp:" +cldir_options_list="gha" +setdir_options_list="hg" + +cdir_options_list_full="reload,reset,num:,label:,path:,help,key:tag:,find:,Find:,default-key:,find-maxdepth:" +lsdir_options_list_full="path:,help" +cldir_options_list_full="all,reset,help,reload,global" +setdir_options_list_full="global,help" +init_options_list_full="replace-cd,help" + +cdir() { + local flag word opts key f_dirname F_dirname find_maxdepth + + opts="$(getopt -l "${cdir_options_list_full}" -o "${cdir_options_list}" -- $@)" || return 1 + eval set -- "${opts}" + while true + do + case "$1" in + -h|--help) + gmpy_cdirs_print_help "cdir" + return 0 + ;; + -l|--label) + flag="label" + shift + word="$1" + shift + break + ;; + -n|--num) + flag="num" + shift + word="$1" + shift + break + ;; + -p|--path) + flag="path" + shift + word="$1" + shift + break + ;; + --reload) + gmpy_cdirs_load_config + gmpy_cdirs_load_global_labels + return 0 + ;; + --reset) + gmpy_cdirs_reset + return 0 + ;; + -k|--key|-t|--tag) + shift + gmpy_cdirs_check_key "${1}" || { + echo "$1: No this key" + return 1 + } + key="$1" + shift + ;; + -f|--find) + shift + f_dirname="$1" + shift + ;; + -F|--Find) + shift + F_dirname="$1" + shift + ;; + --default-key) + shift + gmpy_cdirs_set_default_key "$1" || { + echo "$1: No This Key" + return 1 + } + return 0 + ;; + --find-maxdepth) + shift + gmpy_cdirs_check_whether_num "$1" \ + && find_maxdepth="$1" \ + || { + echo "$1: Invaild Input - Not Num" + return 1 + } + shift + ;; + --) + shift + break + esac + done + + [ -n "${find_maxdepth}" ] && { + [ "$#" -eq 0 -a -z "${f_dirname}" -a -z "${F_dirname}" ] && { + gmpy_cdirs_set_find_maxdepth "${find_maxdepth}" + return 0 + } + } + + # -f|--find|-F|--Find + if [ -n "${f_dirname}" ]; then + key=${key:-${gmpy_cdirs_default_key}} + [ -z "${key}" ] && return 0 + gmpy_cdirs_cd_find_process "${f_dirname}" "${key}" "${find_maxdepth}" + return 0 + elif [ -n "${F_dirname}" ]; then + gmpy_cdirs_cd_find_process "${F_dirname}" "${find_maxdepth}" + return 0 + fi + + if [ -n "${flag}" ]; then + gmpy_cdirs_replace_cd "$(_cdir "${word}" "${flag}")" + elif [ "$#" -gt "1" ]; then #for path with space + gmpy_cdirs_replace_cd "$*" + elif [ "$#" -eq "0" ]; then + gmpy_cdirs_replace_cd + elif [ "$#" -eq "1" ] && ([ "$1" = "," ] || [ "$1" = '0' ]); then + local path="$(gmpy_cdirs_get_path_from_num "0")" + [ -z "${path}" ] && return 0 + gmpy_cdirs_replace_cd "${path}" + else + gmpy_cdirs_replace_cd "$(_cdir "$1")" + fi +} + +setdir() { + local flag opts + + flag="no_global" + opts="$(getopt -l "${setdir_options_list_full}" -o "${setdir_options_list}" -- $@)" || return 1 + eval set -- "${opts}" + while true + do + case "$1" in + -h|--help) + gmpy_cdirs_print_help "setdir" + return 0 + ;; + -g|--global) + flag="global" + shift + ;; + --) + shift + break + esac + done + + if [ "$#" -lt "2" ]; then + if [ "$1" = ',' ]; then + gmpy_cdirs_set_mark + else + gmpy_cdirs_print_help "setdir" + fi + elif [ "$#" -eq "2" ]; then + _setdir $@ "${flag}" + elif [ "$#" -gt "2" ]; then + _setdir "$1" "$(shift;echo "$*")" "${flag}" + fi +} + +lsdir() { + local opts word + local flag="not_only_path" + + opts=`getopt -o "${lsdir_options_list}" -l "${lsdir_options_list_full}" -- $@` || return 1 + eval set -- "${opts}" + while true + do + case "$1" in + -h|--help) + gmpy_cdirs_print_help "lsdir" + return 0 + ;; + -p|--path) + flag="only_path" + shift + word="$1" + shift + ;; + --) + shift + break + ;; + esac + done + + [ -n "${word}" -a "${flag}" = "only_path" ] \ + && _lsdir "${flag}" "${word}" \ + || _lsdir "${flag}" $@ +} + +cldir() { + local opts all_flag + local global_flag="no_global" + + opts="$(getopt -l "${cldir_options_list_full}" -o "${cldir_options_list}" -- $@)" || return 1 + eval set -- "${opts}" + while true + do + case "$1" in + -h|--help) + gmpy_cdirs_print_help "cldir" + return 0 + ;; + --reset) + gmpy_cdirs_reset + return 0 + ;; + --reload) + gmpy_cdirs_load_global_labels + return 0 + ;; + -a|--all) + shift + all_flag="all" + ;; + -g|--global) + shift + global_flag="global" + ;; + --) + shift + break + ;; + esac + done + + if [ "${all_flag}" = "all" ]; then + local res="n" + while true + do + read -n 1 -p "Are you sure to clear all labels$([ "${global_flag}" = "global" ] \ + && echo " but also global labels")? [y/n] " res + echo + case "${res}" in + y|Y) + break + ;; + n|N) + return 0 + ;; + *) + continue + ;; + esac + done + gmpy_cdirs_clear_all "${global_flag}" + return 0 + fi + + if [ $# -lt 1 ]; then + gmpy_cdirs_print_help "cldir" + return 1 + fi + _cldir "${global_flag}" $@ +} + +# _cdir [num|label|path](point out the type) +_cdir() { + [ -f "$1" -a ! "$2" = "num" -a ! "$2" = "label" ] && { + echo "$1" + return 0 + } + echo "$(gmpy_cdirs_get_path "$1" "$2")" +} + +# _lsdir [num1|label1|path1] [num2|label2|path2] ... +_lsdir() { + local path_flag="$1" && shift + [ "${path_flag}" = "not_only_path" ] && { + printf '\033[32m%s\t%-16s\t%s\033[0m\n' "num" "label" "path" + printf '\033[32m%s\t%-16s\t%s\033[0m\n' "---" "-----" "----" + } + if [ "$#" -gt 0 ]; then + for para in $@ + do + if [ "${para}" = "," ]; then + if [ "${path_flag}" = "not_only_path" ]; then + gmpy_cdirs_list_mark + else + gmpy_cdirs_get_path "0" "num" + fi + else + if [ "${path_flag}" = "not_only_path" ]; then + gmpy_cdirs_ls_one_dir "${para}" + else + gmpy_cdirs_get_path "${para}" + fi + fi + done + else + gmpy_cdirs_ls_all_dirs + fi +} + +# _setdir